Windows Winsock TCP重传/重置协议详细信息
首先是一点背景: 我目前有一个通过TCP与服务器对话的客户端。客户端和服务器都运行Windows并使用WinSocks。我向服务器发送各种消息,并且每秒至少发送一条消息。几乎每10分钟,我就会发现服务器似乎停止回复我的客户机。然后,我看到来自客户端的5次重新传输,每次使用加倍的超时时间,最后在客户端上从服务器接收到一个RST包。这将重置我的客户端套接字,分配一个新的端口号,然后通信继续正常进行10分钟 下面是一些数据: 我正在使用wireshark分析这个问题。所有数据都是在连接的客户端(192.168.110.1)捕获的,因为服务器不容易访问。下面是相关数据(很抱歉格式太糟糕了。这是我唯一能在这里找到数据的方法): 1-6-原始和重新传输的数据包Windows Winsock TCP重传/重置协议详细信息,windows,sockets,networking,tcp,winsock,Windows,Sockets,Networking,Tcp,Winsock,首先是一点背景: 我目前有一个通过TCP与服务器对话的客户端。客户端和服务器都运行Windows并使用WinSocks。我向服务器发送各种消息,并且每秒至少发送一条消息。几乎每10分钟,我就会发现服务器似乎停止回复我的客户机。然后,我看到来自客户端的5次重新传输,每次使用加倍的超时时间,最后在客户端上从服务器接收到一个RST包。这将重置我的客户端套接字,分配一个新的端口号,然后通信继续正常进行10分钟 下面是一些数据: 我正在使用wireshark分析这个问题。所有数据都是在连接的客户端(192
7-从服务器接收到重置
8-10-使用新的客户端端口号在客户端和服务器之间进行新的握手
11-12-第一条新消息和带有新客户端端口号的响应 最后,有几个问题: 现在很可能很明显,我不是TCP大师(甚至不是很亲密)。我认为谷歌对我很强大,但我似乎无法找到以下问题的答案:
提前感谢您的时间。对您的问题的回答:
RefNum|Source|Destination|Length|Packet Info
1 | 192.168.110.1 | 192.168.110.22 | 61 | 62314 > 7074 [PSH, ACK] Seq=693 Ack=8483 Win=63303 Len=7
2 | 192.168.110.1 | 192.168.110.22 | 75 | [TCP Retransmission] 62314 > 7074 [PSH, ACK] Seq=693 Ack=8483 Win=63303 Len=21
3 | 192.168.110.1 | 192.168.110.22 | 75 | [TCP Retransmission] 62314 > 7074 [PSH, ACK] Seq=693 Ack=8483 Win=63303 Len=21
4 | 192.168.110.1 | 192.168.110.22 | 89 | [TCP Retransmission] 62314 > 7074 [PSH, ACK] Seq=693 Ack=8483 Win=63303 Len=35
5 | 192.168.110.1 | 192.168.110.22 | 113 | [TCP Retransmission] 62314 > 7074 [PSH, ACK] Seq=693 Ack=8483 Win=63303 Len=59
6 | 192.168.110.1 | 192.168.110.22 | 135 | [TCP Retransmission] 62314 > 7074 [PSH, ACK] Seq=693 Ack=8483 Win=63303 Len=81
7 | 192.168.110.22 | 192.168.110.1 | 64 | 7074 > 62314 [RST] Seq=8483 Win=0 Len=0 [ETHERNET FRAME CHECK SEQUENCE INCORRECT]
8 | 192.168.110.1 | 192.168.110.22 | 66 | 62348 > 7074 [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=256 SACK_PERM=1
9 | 192.168.110.22 | 192.168.110.1 | 64 | 7074 > 62348 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 [ETHERNET FRAME CHECK SEQUENCE INCORRECT]
10 | 192.168.110.1 | 192.168.110.22 | 54 | 62348 > 7074 [ACK] Seq=1 Ack=1 Win=64240 Len=0
11 | 192.168.110.1 | 192.168.110.22 | 56 | 62348 > 7074 [PSH, ACK] Seq=1 Ack=1 Win=64240 Len=2
12 | 192.168.110.22 | 192.168.110.1 | 72 | 7074 > 62348 [PSH, ACK] Seq=1 Ack=3 Win=5838 Len=18