TCP首部格式

源端口号(16位) 目 的 端 口 号(16位)
序列号(32位)
确认应答号(32位)
偏移保留控 制 位 窗 口 大 小
校验和紧急指针
选项(长度可变)填充
数据部分

这里面没有TCP的包长度和数据长度的字段,这俩可以通过IP层推算出来。

  • 源端口号
  • 目的端口号
  • 序列号
    每发送一次数据,就累加一次数据的大小。
  • 确认应答号
    是指下一次该收到的数据的序列号。发送端接收到这个之和,就知道之前的数据发送完成了。
  • 数据偏移
    如果不包含选项字段,TCP的首部长度是20字节,那么偏移可以为5。同样的道理,如果这个字段是5,那么说明前面20个字节都是TCP首部,余下都是TCP数据。
  • 保留
    长度为4位,一般设置为0,扩展使用。
  • 控制位
    • CWR(Congestion Window Reduced) 与后面的ECE都用于IP首部的ECN字段,为1时,通知对方已将拥塞窗口缩小。
    • ECE ECN-echo,为1会通知对方,从对方到这边有网络拥塞。
    • URG 为1,代表有紧急处理的数据,和后面的紧急指针关联。
    • ACK 为1,TCP中除了第一次请求建立链接时,SYN为1之外,这个都需要置1
    • PSH 为0,表示不需要将收到的数据马上传给上层协议。为1,表示可先缓存。
    • RST 为1,表示TCP出现异常,必须强制断开连接。
    • SYN 用于建立连接,SYN为1代表请求建立连接
    • FIN 为1表示今后不再有数据发送,断开连接。
  • 窗口大小
    该字段长16位。和ack配合使用
  • 校验和 和UDP校验和相似,不同之处在于TCP中强制打开
  • 紧急指针,和URG配合使用,如果为60,表示TCP首部之后的60个字节需要紧急处理。
  • 选项(可选) 为了提高TCP的传输性能。
    MSS 建立连接时决定最大段长度的情况
    SACK 选择确认应答
    时间戳 数据量大,传输不稳定的网络环境下,保证可靠传输。
  • 填充
最大吞吐量

Tmax = W / RTT
W 窗口大小
RTT 返回时间

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值