UDP與TCP

1.UDP用戶數據協議緩存

  • UDP是無鏈接的,在發送數據以前無需創建鏈接
  • UDP使用盡最大努力交付,即不保證可靠交付
  • UDP是面向報文的,既不合並也拆分報文,而是保留報文的邊界
  • UDP沒有擁塞控制,網絡出現擁塞不影響發送速度,沒有太大延遲。
  • UDP支持一對1、一對多、多對1、多對多的交互通訊
  • UDP的首部開銷小

傳輸控制協議TCP網絡

  • TCP是面向鏈接的運輸層協議
  • TCP只能點對點(一對一)鏈接
  • TCP提供可靠交付
  • TCP提供全雙工通訊,容許通訊雙方任什麼時候候發送或接收數據,同時TCP鏈接的兩端都設有發送/接收緩存
  • 面向字節流,TCP中的「流」指的是流入到進程或從進程中流出的字節序列,TCP鏈接是一條虛鏈接(邏輯鏈接)

2.TCP鏈接socket

    TCP鏈接的端口是套接字(socket)或插口,由IP地址和端口號組成。設計

   套接字={IP地址:端口號}3d

   

3.可靠傳輸的工做原理blog

理想的傳輸條件有如下兩點:進程

  1. 傳輸信道不產生差錯
  2. 無論發送方以多快的速度發送數據,接收方老是來得及處理收到的數據

因爲傳輸層如下沒法提供可靠的傳輸,不具備以上兩點。原理

  3.1 中止等待協議定時器

   1.無差錯狀況請求

2.出現差錯

對於這兩種狀況,B都不會發送任何信息:

  • B收到M1時檢測出了差錯,就丟失M1
  • M1在傳輸過程丟失

可靠性傳輸協議這樣設計:

    超時重傳:A只要超過一段時間仍然沒有收到確認,就認爲丟失了該分組,重傳該分組。

    實現超時重傳,經過爲發送的分組設置定時器,在計時器收到對方的確認,就撤銷已經設置的定時器。這裏須要注意的有三點:

  1.     A在發送完一個分組後,必須暫時保留該分組的副本(在發生超時重傳時使用),只有收到確認後才清除該副本。
  2.     分組和確認分組都必須進行編號(明確哪一個分組發送失敗)
  3.     超市計時器設置的重傳時間應當比數據在分組傳輸的平均往返時間更長一些。

3.確認丟失和確認遲到

B收到M1分組,關於收到M1分組的確認丟失,所以A將重傳M1分組,B經採起如下行動:

  1. 丟失這個重複的分組M1
  2. 向A發送確認

在傳輸過程沒有出現差錯,但B對分組M1的確認遲到了。A收到重複確認,收下後丟失,B收到重複分組,一樣丟失重複分組。

        上述的這種可靠傳輸協議常稱爲自動重傳請求ARQ。

連續ARQ協議

         圖(b)表示發送方收到了對第一個分組的確認發送窗口向前地洞一個分組。若是原來已經發送了前5個分組,如今就能夠發送窗口內的第6個分組。

        接收方通常採用累積確認方式,也就是,接收方不對每一個分組逐一發送確認,在收到幾個分組後,對按序到達的最後一個分組發送確認,這就表示:到這個分組爲止的全部分組都以正確收到了。

相關文章
相關標籤/搜索