Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为什么TCP 三向握手在初始握手期间 acking 时会碰撞序列号?这有什么比让确认号等于序列号更好的呢?
建立连接
Client sends SYN,A Server responds with SYN-ACK,A+1,B Client confirms with ACK,B+1
怎么比
Client sends SYN,A Server responds with SYN-ACK,A,B Client confirms with ACK,B
这是因为该ACK字段在ACK设置标志时意味着:
ACK
确认号(32 位)——如果设置了 ACK 标志,则该字段的值是接收器期望的下一个序列号。
如果它没有设置为(初始序列号+1),这将不一致地意味着既确认SYN(必须在此数据包中设置SYN和ACK标志)并说它再次期待该序列号(即尚未收到它)。
SYN