码迷,mamicode.com
首页 > 其他好文 > 详细

TCP/IP的一些需要理解的点(一)

时间:2020-04-26 01:51:22      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:长度   有序性   连接   大小   提醒   三次握手   需要   就是   建立   

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,提醒它重传这个包。

 

TCP/IP的一些需要理解的点(一)

标签:长度   有序性   连接   大小   提醒   三次握手   需要   就是   建立   

原文地址:https://www.cnblogs.com/HankTown/p/12776300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!