计网Lesson16 - TCP选择重传和流量控制



1. 选择性确认(SACK)

TCP通信中,发送序列中的某一包丢失(1,2,3,4,5 中 3 丢失),如果全部重传消耗太大,接收方会确认 2 ,然后窗口划过去,将3,4,5重传,但是由于4,5传过了,造成重复。

  • 创立SACK(Selective acknowledgment,选择性确认)技术
    • 告知发送方哪些数据收到,哪些数据丢失。
    • 不用重复传输。
  • SACK是TCP协议头中选项的一部分
    • Kind:1字节。kind == 5 代表这是SACK选项。
    • Length:1字节。代表SACK选项长度(字节)。
    • Left Edge:4字节。左边界。
    • Right Edge:4字节。右边界。
    • 区间左闭右开[…, …)
  • SACK选项
    • 最多携带4组边界信息。
    • 最大占用字节数:4 * 8 + 2 = 34B
  • 但是我们会发现问题:选项长度最大为40字节,左右边界占8字节,那么最多可以表示的区间只有4个,如果不止要重传4个区间怎么办呢?
    • 如果需要重传的区间超过4个,TCP协议的SACK(Selective Acknowledgment)选项可能无法完全表示所有的区间。在这种情况下,S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值