作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
为什么 the TCP three-way handshake在初始握手期间 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
标志时意味着:
Acknowledgment number (32 bits) – if the ACK flag is set then the value of this field is the next sequence number that the receiver is expecting.
如果未设置为(初始序列号+1),则表示同时确认SYN
(SYN
和ACK)是不一致的
必须在此数据包中设置标志)并表示它再次期待该序列号(即尚未收到)。
关于tcp - 为什么 TCP 的三向握手在确认时会撞到序列号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6804979/
我是一名优秀的程序员,十分优秀!