如何在uc上发表文章:关于tcp ip 的一道题

来源:百度文库 编辑:神马品牌网 时间:2024/05/04 23:59:13
4个报文段,编号为 1、2、3和4。
1)假设接收的顺序是 1、3、2和4,接收者产生的 确认将是怎样的?
2)如果接收的顺序是 1、3、4和2,接收者产生的确认将是怎样的?

1.接收到1,给个确认ACK=2,期望收到第2个报文,接受到3,不确认,等待报文2,接收到2,给个确认ACK=4(因为已经接受到了3),接受4,确认ACK=5,期望接到报文5
2。接收到1,给个确认ACK=2,期望收到第2个报文,接受到3,不确认,等待报文2,接受到4,不确认,继续等2,接受2,确认ACK=5。期望接到报文5

上面这个题目不是很严密,没有考虑到滑动窗口和重传计时器,是楼主自己想出来的吗?呵呵,想的很不错哦~~
因为TCP是个面向连接的可靠的协议,所以每次接收到数据都要进行确认的,我们知道TCP建立连接的时候也3次传送(我们叫3次握手,断开的时候要经过4次,我们叫4次断开)才能建立起连接,开始传送数据,接到1个(或者多个)就会给一个ACK确认,当然因为数据是被分成多个IP报文段进行传输的,经过的路径不一样,到达的先后顺序也就不一样,因此,它收到后面段的时候会不给确认,直到前面的顺序接上为止,可是,在TCP里有个重传记时器的概念(一共是4个记时器,重传,保活,坚持,时间等待),如果在规定时间还没收到前面的数据(既是重传记时器时间为0时),就认为丢失了,要重传数据

呵呵,希望能帮的上你~~~~如果还有什么不懂的,可以摆渡消息我,能帮的上你我很高兴