阅读:3536回复:5
NDIS层中抓住的TCP数据包如何识别是重发包?
我发现用NDIS层抓住的数据包中,有好多数据包都是因为底层的TCP协议重发的数据包。但是我又不知道如何识别这些数据包,请问是否有方法可以很简单的就能识别出哪些数据包是正常发送的?哪些数据包是重发的? 谢谢
|
|
沙发#
发布于:2010-06-04 17:57
鼎一下
|
|
板凳#
发布于:2010-05-25 09:59
谢谢楼主, 我看过那个 TCP 协议的 RFC793中文翻译文档,但是没有找到哪一段是描述的。
根据我一开始做的是根据 Sequence number 和 Next expected Seq number 来识别的。即把前面一个数据包的 Next expected Seq number 号码记录下来。然后在把 后一个数据包的 Sequence number 和前面那个记录下来的进行对比。如果一样则证明是正确的包,否则就当重发包。但是这样的判断机制好像有问题。大部分情况下是对的,但是有不对的时候。所以我搞不太清楚了。 能说一下,我这个还欠缺了什么判断机制吗,谢谢! |
|
地板#
发布于:2010-05-23 12:24
温习tcp的重发机制就可以知道如何识别,重点是id
|
|
|
地下室#
发布于:2010-05-22 22:03
TCP传输中一般都会有重发包的,如果发送出去的TCP包超时了,就会自动重新发送了。除非网路状况相当好,也会有,只是发生的频率高低而已。
|
|
5楼#
发布于:2010-05-20 05:45
为什么会有重发包,是你抛弃了别人的连接,TCP过几秒的不断尝试?
如果上那样,那你要和对方4次握手结束或者发重置包即OK断掉. |
|