TCP RST 数据包详细信息 [英] TCP RST packet details

查看:45
本文介绍了TCP RST 数据包详细信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么 TCP RST 数据包不需要确认?是不是因为RST的发送方每次收到对方的另一个数据包都会继续发送RST?

Why does a TCP RST packet not need an acknowledgement? Is it because the sender of RST will continue to send RSTs every time it receives another packet from the other side?

在相关说明中,有效 RST 数据包中的确认编号如何为 0?

On a related note, how can the acknowledgement number in a valid RST packet be 0?

推荐答案

在相关说明中,RST 数据包中的确认号如何是 0?

On a related note, how can the acknowledgement number in a RST packet be 0?

因为设置了 RST 位的段应该终止连接,仅此而已.只有在建立连接并且在段中设置了 ACK 位时,确认编号才有意义.RST 段的接收者还应该考虑另一端的应用协议客户端突然终止并且没有机会处理发送给它的未确认数据的可能性.

Because the segment with the RST bit set is supposed to terminate the connection, nothing more. Acknowledgement number only makes sense when the connection is established and the ACK bit is set in the segement. The receiver of a RST segment should also consider the possibility that the application protocol client at the other end was abruptly terminated and did not have a chance to process the unacknowledged data that was sent to it.

请参阅 RFC 793,第 15 页:

See RFC 793, page 15:

Acknowledgment Number:  32 bits

  If the ACK control bit is set this field contains the value of the
  next sequence number the sender of the segment is expecting to
  receive.  Once a connection is established this is always sent.

这篇关于TCP RST 数据包详细信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆