Networking TCP重复确认是否确认接收到正确的数据包?
如下所示,在步骤7,当接收器向发送器发送ACK(16)而正确的ACK为(18)时,发送器是否将其作为分组(17)的ACK?如果没有,我们是否需要将SEQ:17重新传输到SEQ:19Networking TCP重复确认是否确认接收到正确的数据包?,networking,tcp,Networking,Tcp,如下所示,在步骤7,当接收器向发送器发送ACK(16)而正确的ACK为(18)时,发送器是否将其作为分组(17)的ACK?如果没有,我们是否需要将SEQ:17重新传输到SEQ:19 Sender Receiver 1: SEQ:15 -> 2: SEQ:16 -> (dropped) 3: SEQ:17 -> 4: SEQ:18 -> 5: SEQ:19 -> 6:
Sender Receiver
1: SEQ:15 ->
2: SEQ:16 -> (dropped)
3: SEQ:17 ->
4: SEQ:18 ->
5: SEQ:19 ->
6: <- ACK:16 (for SEQ:15 packet)
7: <- ACK:16 (for SEQ:17 packet)
8: <- ACK:16
9: <- ACK:16
10: SEQ:16 ->
发送方-接收方
1:SEQ:15->
2:SEQ:16->(已删除)
3:SEQ:17->
4:SEQ:18->
5:SEQ:19->
6:当然不是。它把它作为16岁及之前的所有人的确认
把它当作是对某件事的确认,在确认之后再确认是没有意义的
任何未确认的数据都应该重新传输。那么,从SEQ:17到SEQ:19也应该重新传输吗?这似乎不对。据我所知,在SEQ:16重传之后,接收器将确认保存的最高SEQ,在这种情况下,它将是ACK:20(对于SEQ:19数据包)。我说得对吗?