TCP报文首部各参数简介

本系列文章是博主学习TCP协议以来的个人笔记。博主不能保证本文所述内容绝对正确,所

以请读者抱着怀疑的态度阅读本博客内的文字。如果读者因本博客内的文字造成损失,本人

无力负责。如果有任何谬误或者问题,希望读者不吝赐教。

TCP报文段首部格式如下图所示:

 
常用的选项段包括:1.窗口扩大选项  2.时间戳选项  3.MMS选项等

需要注意的事:
1.序号是以字节为单位,因此最多可以表示2^32-1个字节,到达最大值以后从0开始 
2.并不是每一个报文段都携带数据 
3.TCP的源地址和目的地址包含在其外部的IP首部中,所以TCP首部
只有源端口和目的端口信息
4.校验和覆盖了整个TCP报文段,包括TCP首部和TCP数据

TCP的首部格式为其面向连接的可靠传输提供了保证。
1.地址/端口二元组确定了报文发往的主机(地址)及应用程序(端口)。
2.每一个报文段都有一个校验和,这可以保证被传输层接受的数据的正
确性。如果校验失败,则该报文段会被丢弃。接收端不进行确认,发送
端待重传定时器超时时进行重传
3.每个TCP报文段都有一个32位的序号,它标识本报文段的第一个字节。
为每一个字节编号可以解决报文因延时而乱序到达的问题,保证了被传
输层上传给应用程序的数据都有一个正确顺序。一般而言如果乱序的报
文段到达接收端,接收端会先缓存这个报文段,但是不会确认它。当它
编号之前的数据正确到达后,接受端才会确认这个乱序的报文段。
4.每个TCP报文段中都有一个确认号。确认序号包含发送确认的一端所
期望收到的下一个序号。因此确认序号是上一次已成功收到数据字节序
号加1.只有ACK标志为1时,确认序号字段才有效。
5.首部长度即TCP首部的长度,20-60字节不等。一般情况下长度是20字节
6.16字节窗口大小是为进行流量控制所设置的。如果不进行流量控制,一旦
发送端和接收端数据发送速率存在很大差异,那么很有可能一方的接受缓
冲已经被填满,而另一端毫无所知,仍在不停发送数据,显然这种情况下
会大量丢包,重传,进而造成网络拥塞。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值