2017-02-10 可靠数据传输原理简介

2017-02-10 可靠数据传输原理简介

3.4 可靠数据传输原理

    可靠数据传输协议(reliable data transfer protocol)

    单向数据传输(unidirectional data transfer)

    双向数据传输(bidirectional data transfer)(即全双工数据传输)


3.4.1 构造可靠数据传输协议

1.经完全可靠信道的可靠数据传输:rdt 1.0

    有限状态机(Finite-State Machine,FSM)

Pasted Graphic.tiff


Pasted Graphic 1.tiff


    注意到上述协议假定使用的是一个完全可靠的信道,所以接收端也不需要提供任何反馈信息给发送方。


2.经具有比特差错信道的可靠数据传输:rdt 2.0

    肯定确认(positive acknowledgment)

    否定确认(negative acknowledgment)

    这些控制报文使得接收方可以让发送方知道哪些内容被正确接收,那些内容接收有误并因此需要重复。在计算机网络环境中,基于这种重传机制的可靠数据传输协议称为自动重传请求(Automatic Repeat reQuest,ARQ)协议。

    ARQ协议还需要另外三种协议来处理比特差错的情况:差错检测、接收方反馈、重传。接收方收到有差错的分组时,发送方将重传分组文。

Pasted Graphic 2.tiff


Pasted Graphic 3.tiff


    当发送方处于等待ACK或NAK的状态时,他不能从上层获得更多的数据;这就是说,rdt_send()事件不可能出现;仅当接收到ACK并离开该状态时才能发生这样的事件。因此,发送方将不会发送一块新数据,除非发送方确认接收方已正确接收当前分组。rdt2.0也被称为停等(stop-and-wait)协议。

    他有一个致命错误就是ACK或NAK分组受损时如何。

    一种方法就是,当发送方收到含糊不清的ACK或NAK分组时,只需重传当前数组分组即可。这种方法在发送方到接收方的信道中引入了冗余分组(duplicate packet)但这还要解决一个问题,即一个分组是新的分组呢还是重发的冗余分组。

    解决这个问题的办法是添加分组的序号(sequence number)


Pasted Graphic 4.tiff



Pasted Graphic 5.tiff


Pasted Graphic 6.tiff


Pasted Graphic 7.tiff



3.经具有比特差错的丢包信道的可靠数据传输:rdt 3.0

    如果一个分组经历了一个特别大的时延,发送方可能会重传该分组,即使改数据分组及其ACK都没有丢失。这就在发送方到接收方的信道中引入了冗余数据分组(duplicate data packet)的可能性。

    为了实现基于时间的重传机制,需要一个倒计数定时器(countdown timer),rdt3.0有时被称为比特交替协议(alternating-bit protocol)

Pasted Graphic 8.tiff


3.4.2 流水线可靠数据传输协议

    停等方式导致发送方(或信道)的利用率(utilization)非常低,因此引入了流水线(pipelining)。


3.4.3 回退N步(Go-Back-N,GBN)

    在回退N步(GBN)协议中,基序号(base)定义为最早的未确认分组的序号,将下一个序号(nextseqnum)定义为最小的未使用序号,则可以将序号范围分割成4段。


Pasted Graphic 9.tiff


    N常被称为窗口长度(window size),GBN协议也常被称为滑动窗口协议(sliding-window protocol)。


1:可靠数据传输协议(reliable data transfer protocol)、2:单向数据传输(unidirectional data transfer)、3:双向数据传输(bidirectional data transfer)、4:全双工数据传输、5:有限状态机(Finite-State Machine,FSM)、6:肯定确认(positive acknowledgment)、7:否定确认(negative acknowledgment)、8:自动重传请求(Automatic Repeat reQuest,ARQ)协议、9:停等(stop-and-wait)协议、10:比特交替协议(alternating-bit protocol)、11:滑动窗口协议(sliding-window protocol)

猜你喜欢

转载自blog.csdn.net/u014222687/article/details/55001921