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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章