标签:长度 有序性 连接 大小 提醒 三次握手 需要 就是 建立
1、TCP协议位于网络通信的传输层,与它同在传输层的是UDP协议,TCP是有连接的,UDP是无连接的。传输层其上的应用层协议要么基于TCP要么基于UDP,或二者都有(DNS)。
2、因为网络对包的大小是有限制的,其最大值称为MTU(最大传输单元),大多数网络的MTU为1500字节,有的网络启用了巨帧,能达到9000字节,假如发送方和接收方处于不同大小的网络,TCP在建立连接(三次握手)时,双方都会把自己的MSS(Maximum Segment Size) 告诉对方,MSS加上TCP头和IP头的长度就得到MTU了,TCP选择发送方和接收方中MTU小的值作为通信时的MTU,若一个包的大小超过MTU,TCP层会把包分成几个包来传输。
3、通信双方在用TCP协议进行网络通信时,需要先进行3次“握手”(具体过程课百度),这些建立连接的包的TCP头中用“SYN”标记。建立连接后,双方可互相发送数据包,发送方和接收方各自维护一个Seq值,举个例子发送方发送的一个包是Seq=2532,Len=1238,下一次发的包的Seq就是2532+1238=3770。再来看看接收方,接收方有可能收到2个包是:Seq:3770,Len=1320;Seq=885,Len=1647,那么会发给发送方一个包是:Seq:9952,Len:0,Ack:2532。这里可以看到维护Seq的好处:(1)有序性:包到的时间是无序的,TCP根据Seq可以把包重新排序。(2)可靠性:比如例子中,接收方根据接受到的两个包计算(885+1647)!=3770,所以可以判断网络丢失了(Seq=2532,Len=1238)这个包,于是它发回给接收方一个包,带有Ack=2532,提醒它重传这个包。
标签:长度 有序性 连接 大小 提醒 三次握手 需要 就是 建立
原文地址:https://www.cnblogs.com/HankTown/p/12776300.html