TCP首部和TCP的特性
来源:小编 时间:2021-09-11 21:13:36阅读:0
TCP的特性
-
TCP提供面向连接的、可靠的字节流服务
-
上层应用数据被TCP分割为TCP认为合适的报文段
-
TCP使用超时重传机制,而接收到一个TCP数据后需要发送一个确认
-
TCP使用包含了首部和数据的校验和来检查数据是否在传输过程中发生了差错
-
TCP可以将失序的报文重新排序
-
TCP连接的每一端都有固定大小的缓冲区,只允许另一端发送发送接收缓冲区所能接纳的数据
-
TCP提供面向字节流的服务,不在字节流中插入记录标识符,也不对字节流的内容作任何解释(由上层应用解释)
TCP首部
TCP数据也是封装在IP数据报中,TCP首部格式如下图所示:
其中,
-
序列号:用于对报文进行计数(注SYN和FIN都会消耗一个序列号),TCP为应用层提供全双工服务,连接的每一端都要保持每个方向上的传输序列号;
-
SYN:用来发起一个连接,当新建一个链接时,SYN变为1;
-
ACK:确认序号有效,其序列号为上次接收的序号加1;
-
首部长度:首部中32bit的长度(最多60字节),如果没有任选字段,长度为20字节;
-
URG:标志紧急指针有效;
-
PSH:接收方应该尽快将这个报文交给应用层;
-
RST:重建连接;
-
FIN:发端完成发送任务;
-
窗口大小:用于TCP的流量控制,最大65535字节;
-
检验和:覆盖首部和数据,由发端计算和存储,接收端验证;
-
紧急指针:只有当URG为1时才有效,用于发送紧急数据;
-
数据部分是可选的,在连接建立和终止时,双方交换的报文中只有TCP首部。
TCP可以表述为一个没有选择确认或否认的滑动窗口协议(滑动窗口协议用于数据传输)。
我们说TCP缺少选择确认是因为TCP首部中的确认序号表示发方已成功收到字节,但还不包含确认序号所指的字节。当前还无法对数据流中选定的部分进行确认。
例如,如果1~1024字节已经成功收到,下一报文段中包含序号从2049~3072的字节,收端并不能确认这个新的报文段。它所能做的就是发回一个确认序号为1025的ACK。它也无法对一个报文段进行否认。
例如,如果收到包含1025~2048字节的报文段,但它的检验和错,TCP接收端所能做的就是发回一个确认序号为1025的ACK。
微云网络&网络综合解决方案提供商,助力企业信息化建设、数字化转型、以及全球化互联。SD-WAN方案可实现全球访问加速、SaaS访问加速、海外视频加速、海外分支组网,有效提升国际间沟通效率,助力中国企业开拓国际市场。服务热线:400-028-9798,欢迎来电咨询。声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
本站原创内容未经允许不得转载,或转载时需注明出处:https://news.kd010.com/hlw/2823.html
TAG标签:TCP