通过Timestamp Option字段的时间戳去区别 。由于最近生效的时间戳都超500了 。所以比这个时间戳前的字段都视为过期字段,PAWS机制将其丢弃 。
- 注意理解这句话 。窗口1GB,说明没有收到确认的数据后面最多能发送不超过1GB的数据 。看上表,时间点5都已经接收完毕了,说明时间点5之前的数据都已经全部接收完了 。后面重传只会出现在[5G:6G]中间 。如果这里收到的数据的时间戳比时间点5的时间戳500还要少,说明是过期重传的数据,我们不需要 。
- 最近有效的时间戳:参考下图理解 。所以只要收到的数据的时间戳少于有效时间戳,就视为过期数据 。

文章插图
12.10.5 UTOUTO:User Timeout (UTO) Option
UserTimeout值表明了TCP发送者等待ACK的时间,如果在指定时间内没收到ACK,就会认为对端挂掉 。
对于传统TCP(RFC 793)而言,UserTimeout是本地配置的 。
RFC 1122建议,当TCP重传3次后,应该通知应用程序,100s后 , 应该删除连接 。
通过UTO,可以让TCP将UserTimeout值“告知”给对端,UTO格式如下所示:
Kind(28)Length(4)G bit(Granularity bit)UserTimeout
- G bit = 1 , 表示UserTimeout的单位为分钟;G bit = 0 , 表示UserTimeout的单位为秒 。
- 通过UTO,TCP接收者可以根据“对端的UserTimeout”来调整自己的行为 。UserTimeout建议取值为:min(U_Limit,max(Adv_UTO,Remot_UTO,L_Limit)) 。
- U_Limit是本地UserTimeout的最高限制;
- Adv_UTO是通告出去的UserTimeout;
- Remot_UTO是对端的UserTimeout;
- L_Limit是本地UserTimeout的最低限制 。
- 要注意的是,UTO只是用于“告知”,TCP接收者却不一定要根据对端的UTO值来调整自己的行为 。
- 此外,NAT设备也可以根据UTO来调整连接保活计时器 。
- 若使用 = min(U_LIMIT, max(ADV_UTO, REMOTE_UTO, L_LIMIT)) 。
TCP-MD5和TCP-AO主要用于防止TCP欺骗攻击(TCP Spoofing Attacks) 。
TCP-MD5是旧标准(RFC 2385),例如BGP、LDP等协议就是以TCP-MD5作为认证手段的 。2010年后 , IETF建议使用TCP-AO去取代TCP-MD5,然而TCP-AO当前的普及率还很低 。
TCP-MD5和TCP-AO的格式如下:

文章插图
TCP-MD5 Option的MD5 Hash根据以下信息计算:
- TCP伪头部 。
- TCP头部(包括Option , checksum设为0) 。
- TCP Segment Data 。
- 密钥 。
- 支持多种MAC算法
- 支持带内的密钥变更操作
推荐阅读
- vulnhub靶场之DOUBLETROUBLE: 1
- 亚索怎么玩呢(亚索大招怎么才能释放)
- 如何打好亚索(亚索的打法技巧)
- 无期迷途钻石获取途径有哪些
- 传奇九层妖塔祖玛阁怎么走(传奇祖玛阁攻略)
- 【深入浅出 Yarn 架构与实现】2-4 Yarn 基础库 - 状态机库
- 【Azure API 管理】Azure APIM服务集成在内部虚拟网络后,在内部环境中打开APIM门户使用APIs中的TEST功能失败
- DNF里浓缩的异界精髓怎么获得(浓缩的异界精髓作用)
- 小孩沉迷手机网络游戏怎么办(儿童玩手机游戏沉迷怎么办)
- 带你了解NLP的词嵌入