可靠性 (電腦網絡)

電腦網絡中,可靠的協定是一種通訊協定。這種協定由接受方通知傳送方數據是否成功接收。可靠性是保證的代名詞,是國際電聯和ATM討論區使用的術語。

可靠的協定通常會比不可靠的協定產生更多的開銷,因此,執行速度較慢且可伸縮性較低。對於單播協定,這通常不是問題,但對於可靠的多播協定,則可能成為問題。

傳輸控制協定(TCP)是Internet上使用的主要協定,是一種可靠的單播協定。 UDP是一種不可靠的協定,通常用於電腦遊戲,串流媒體或其他由於速度問題而可能會容忍某些數據遺失的場景。

通常,可靠的單播協定也是面向連接的。例如,TCP是面向連接的,虛電路ID由源IP位址和目標IP位址以及埠號組成。但是,某些不可靠的協定是面向連接的,例如非同步傳輸模式和幀中繼。此外,某些無連接協定(例如IEEE 802.11)是可靠的。

歷史

在Donald Davies提出的包交換概念的基礎上,ARPANET上的第一個通訊協定是一種經由1822介面連接主機的可靠的封包傳送機制。[1][2]源主機簡單地以正確的包格式排列數據,插入目的主機的地址,然後通過介面將訊息傳送到其連接的介面訊息處理器(IMP)。將訊息傳遞到目的主機後,將確認數據傳回源主機。如果網絡無法傳遞訊息,則IMP會將錯誤訊息傳送回源主機。

同時,CYCLADES和ALOHAnet的開發人員證明,有可能在不提供可靠的封包傳輸的情況下構建有效的電腦網絡。後來,這個研究被乙太網路的設計者採納。

如果網絡不能保證封包的傳遞,則主機有責任通過檢測和重新傳輸遺失的封包來提供可靠性。隨後在ARPANET上的經驗表明,網絡本身無法可靠地檢測到所有封包傳遞失敗,這在任何情況下都將錯誤檢測的責任推到了傳送主機上。這導致了端到端原則的發展,端到端是Internet的基本設計原則之一。

屬性

可靠訊息傳遞是在不可靠的基礎結構上載遞訊息的概念,同時能夠對訊息的成功傳輸做出某些保證。[3]例如,如果訊息已成功傳遞,則它最多只能傳遞一次,或者所有成功傳遞的訊息都以特定順序到達。

實現

可靠的傳輸協定能夠建立在不可靠的協定之上。一個非常常見的例子是傳輸控制協定(TCP)。

WS-ReliableMessaging是實現可靠訊息傳遞的一種協定,它處理SOAP訊息的可靠傳遞。[4]

IEEE 802.11嘗試為所有流量提供可靠的服務。如果傳送方在預定時間段內未收到ACK幀,則傳送方將重新傳送幀。

參考文獻

  1. ^ Gillies, J.; Cailliau, R. How the Web was Born: The Story of the World Wide Web. Oxford University Press. 2000: 23–25 [2021-03-14]. ISBN 0192862073. (原始內容存檔於2021-04-14). 
  2. ^ Roberts, Dr. Lawrence G. The Evolution of Packet Switching (PDF). IEEE Invited Paper. November 1978 [September 10, 2017]. (原始內容存檔 (PDF)於2018-12-31). In nearly all respects, Davies』 original proposal, developed in late 1965, was similar to the actual networks being built today. 
  3. ^ W3C paper on reliable messaging. [2021-03-14]. (原始內容存檔於2021-05-10). 
  4. ^ WS-ReliableMessaging specification (PDF) (PDF). [2021-03-14]. (原始內容存檔 (PDF)於2009-05-21).