TCP常见问题总结

TCP协议和UDP协议的区别是什么

TCP协议是有连接的,有连接的意思是开始传输实际数据之前TCP的客户端和服务器端必须通过三次握手建立连接,会话结束之后也要结束连接。而UDP是无连接的

TCP协议保证数据按序发送,按序到达,提供超时重传来保证可靠性,但是UDP不保证按序到达,甚至不保证到达,只是努力交付,即便是按序发送的序列,也不保证按序送到。

TCP协议所需资源多,TCP首部需20个字节(不算可选项),UDP首部字段只需8个字节。

TCP有流量控制和拥塞控制,UDP没有,网络拥堵不会影响发送端的发送速率

TCP是一对一的连接,而UDP则可以支持一对一,多对多,一对多的通信。

TCP面向的是字节流的服务,UDP面向的是报文的服

建立连接:三次握手

TCP常见问题总结 

关闭连接:四次挥手

TCP常见问题总结 

三次握手建立连接时,发送方再次发送确认的必要性?

要是为了防止已失效的连接请求报文段突然又传到了B,因而产生错误。假定出现一种异常情况,即A发出的第一个连接请求报文段并没有丢失,而是在某些网络结 点长时间滞留了,一直延迟到连接释放以后的某个时间才到达B,本来这是一个早已失效的报文段。但B收到此失效的连接请求报文段后,就误认为是A又发出一次 新的连接请求,于是就向A发出确认报文段,同意建立连接。假定不采用三次握手,那么只要B发出确认,新的连接就建立了,这样一直等待A发来数据,B的许多 资源就这样白白浪费了。

四次挥手释放连接时,等待2MSL的意义?

一,为了保证A发送的最有一个ACK报文段能够到达B。这个ACK报文段有可能丢失,因而使处在LAST-ACK状态的B收不到对已发送的FIN和ACK 报文段的确认。B会超时重传这个FIN和ACK报文段,而A就能在2MSL时间内收到这个重传的ACK+FIN报文段。接着A重传一次确认。

第二,就是防止上面提到的已失效的连接请求报文段出现在本连接中,A在发送完最有一个ACK报文段后,再经过2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。

 

原创文章,作者:15893442518,如若转载,请注明出处:http://www.178linux.com/85879

(2)
1589344251815893442518
上一篇 2017-09-02 11:41
下一篇 2017-09-02 15:33

相关推荐

  • N26-博客作业-week5

    1、显示当前系统上root、fedora或user1用户的默认shell; ~]# grep -E “^((root|fedora|user1)\>)” /etc/passwd | cut -d: -f7 2、找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如:hello(); ~]#…

    Linux干货 2017-03-05
  • Linux基础之LVM

    一.LVM介绍 LVM(Logic Volume Management)逻辑卷管理器,其基本原理就是将多个磁盘的分区在逻辑上进行组合,使之成为一个大容量的磁盘进行使用,可以实现动态的分配存储空间。 LVM基本模型以及基本术语,如下图所示: PV:物理卷,从逻辑上与磁盘分区具有同样功能的设备 VG:卷组,由一个或多个物理卷组成 LV:逻辑卷,具有逻辑边界的存储…

    Linux干货 2016-11-09
  • Linux文件管理及bash特性详解

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。  文件管理工具:cp,mv,rm       cp命令:copy       源文件:目标文件  单源复制:cp [OPTION]… [-T] SOURCE DEST  多源复制:…

    Linux干货 2016-11-06
  • 逻辑卷的创建与移除

    一、弹性控制磁盘大小的lvm:     假如有这样一个场景,在初始安装linux系统时给 /home分区设置了一定大小,但是过了一段时间后,你发现初始分配的大小远不能满足公司的扩大,员工增加,需要分配的账号的磁盘空间也变大,这时你应该怎么办?是挂载一块更大的硬盘,将原来的小硬盘拆除掉吗?其实在linux中有lvm可动态增大文件系…

    Linux干货 2016-08-30
  • iptables介绍和使用

    iptables/netfilter:    Packets Filter Firewall:          包过滤型防火墙:  Firewall:隔离工具,工作于主机或网络的边缘处,对经由的报文根据预先定义的规则(识别标准)进行检测,对于能够被规则匹配到的报文实行…

    Linux干货 2017-04-29
  • 简述一些基础指令

    tree命令 tree -L 1 -d /用来查看目录结构 -L 指定层数 -d 只查看目录 /boot 跟内核有关的文件 grub 内核和BootLoader ├── bin 存放用户使用的基本命令(可执行程序,二进制文件) 不能单独分区的 ├── boot 跟内核有关的文件 grub 内核和BootLoader&n…

    Linux干货 2017-04-03