我求求你们能别抄来抄去的吗?每次搜个问题全是重复的博客!
参考:
- http://m.blog.chinaunix.net/uid-24683784-id-5746959.html
- https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/description-tcp-features
简介
这篇笔记记录了TCP如何处理序列号回绕问题。
措施
主要有两种措施用于解决序列号回绕问题:
- 限制TCP窗口大小
- 时间戳机制
限制TCP窗口大小
处理回绕问题的关键在于,在回绕发生时,如何判断两个序列号的先后关系。
在内核中,判断先后关系的代码如下:(代码在Linux源码的include/net/tcp.h
)
266 /*
267 * The next routines deal with comparing 32 bit unsigned ints
268 * and worry about wraparound (automatic with unsigned arithmetic).
269 */
270
271 stati