1. 程式人生 > >計算機網路第二次課上作業

計算機網路第二次課上作業

題目一

解答

題目二

解答

題目三

解答


題目一

簡要說明運輸層為了保證高吞吐量以及可靠傳輸的機制有哪一些?

解答

  • 高吞吐量的機制
    • 流水線技術
  • 可靠資料傳輸機制:rdt
    • 檢驗和
    • 定時器(超時機制)
    • 序號
    • 確認ACK
    • 否定確認NAK
    • 視窗、流水線
    • 重傳(GBN與SR)
  • 附:

題目二

TCP如何控制流傳輸

解答

  • 通過讓傳送方維護一個稱為接收視窗的變數來提供流量控制。通俗的說,接收視窗用於給傳送方一個只是---該接收方還有多少的可用的快取空間,因為TCP是全雙工通訊。
  • 同時當主機B的接受視窗為0是,主機A繼續傳送只有一個位元組資料的報文段,這些報文段將會被接收方確認。最終快取將開始清空,並且確認報文裡將包含一個非0的rwnd值。

 其中還有兩個變數為:

  1. LastByteRead:主機B上的應用從快取中讀取的資料流的最後一個位元組的編號
  2. LastByteRevd:從網路中到達的並且已經放入煮機B接收快取中的資料流的最後一個位元組的編號

題目三

TCP如何實現阻塞控制

解答

  • TCP連線的每一端都是由一個接收快取、一個傳送快取和幾個變數組成。執行在傳送方的TCP擁塞控制機制跟蹤一個額外的變數,即擁塞視窗,表示為cwnd
  • 所以由下式:
    • LastByteSend - LastByteAcked <= min{cwnd, rwnd}
  • 擁塞控制:加性增、乘性減(忽略慢啟動的階段)
  • 控制模式:
    • 慢啟動:
      • 在慢啟動狀態時,cwnd的值以一個MSS開始並且每當傳輸的報文段首次被確認時就進行翻倍
      • 慢啟動的結束事件有三個:
        • 存在潮實指示的丟包事件,TCP傳送方將cwnd設定為1並重新開始慢啟動的過程
        • 狀態變數 ssthresh 慢啟動閾值,當檢測到擁塞是,ssthresh設定為cwnd的一半,進入擁塞避免
        • 當檢測到3個冗餘的ACK的時候進行快速重傳並進入快速恢復狀態
    • 擁塞避免:
      • 一旦進入擁塞避免,cwnd的值大約是上次遇到擁塞時的值的一半,然後呈小於等於線性增長
      • 結束時間跟慢啟動是一樣的
    • 快速恢復:
      • 在快速恢復中,對因其TCP進入快速恢復的缺失報文段,對收到的每一個冗餘的ACK,cwnd的值增加一個MSS。
      • 最終當對丟失報文段的一個ACK到達時,TCP在降低cwnd後進入擁塞避免狀態。
      • 兩個不同的TCP版本:
        • TCP Tahoe: 不管發生超時指示的丟包事件,還是3個冗餘ACK指示的丟包事件,都無條件的將其擁塞視窗減至1個MSS,並進入慢啟動階段
        • TCP Reno:綜合了快速恢復
  • 附: