瞭解網際網路通訊協定

一般而言,通訊協定 是一種規則系統,容許通訊系統的兩個以上實體傳輸資訊。 網際網路有大量的通訊協定來涵蓋許多狀況。 在建立 Web 型應用程式及程式設計介面時,軟體開發人員通常會使用下列三種通訊協定來說明網路的狀態,以及資料封包在網路中移動的方式:

  • ICMP(網際通訊協定訊息 Internet Control Message Protocol ),是RFC 792所定義之網際網路協定套件的一部分。
  • TCP, Transmission Control Protocol
  • UDP, User Datagram Protocol
  • TCP-UDP-ICMP,全部 IPv4 IANA 中列出的通訊協定

用於特定實作 (例如,API 呼叫) 的通訊協定可以影響網路的整體行為。 因此,他們之間的基本差異是值得理解的。 如果您需要更多資訊,可以在網際網路上取得許多好文章,其中包含通訊協定的詳細說明。

ICMP

ICMP 是 控制通訊協定,表示它設計用來攜帶網路本身狀態的相關資訊。 基本上它是網路的 網路層 (OSI 第 3 層) 錯誤報告及錯誤控制通訊協定。 實際上最著名的 ICMP 範例是 pingtraceroute 公用程式。 ping 公用程式會使用 ICMP 來探測遠端主機,以取得探測訊息的回應性及整體來回轉換時間。 traceroute 公用程式使用 ICMP 來探索及追蹤 ICMP 封包在傳送至其目的地時所採用的網路路徑。

開發人員需要知道的是,ICMP 封包沒有與之相關的 TCP 或 UDP 連接埠號碼,因為連接埠號碼是第 4 層 (傳輸層 )的建構。

TCP 和 UDP

Transmission Control Protocol ( TCP ) 和 User Datagram Protocol ( UDP ) 都是 OSI 第 4 層傳輸通訊協定。 這些通訊協定用來傳遞實際資料。 從開發人員的角度來看,TCP 和 UDP 的主要差異在於它們如何處理封包順序。

TCP 是一個面向連線的通訊協定,它保證所有傳送的封包都以正確的順序到達目的地。

另外,UDP 是一種無連線通訊協定。 通訊以資料為導向,因此僅在單一資料封包上保證完整性。 資料封包到達目的地且可能無法正常抵達,或可能根本無法抵達。

通常,UDP 用於即時通訊,在這種情況下,少許百分比的封包遺失率比 TCP 連線的開銷更為可取。

ANY

現在可將IANA所列的任何 IPv4 協定套用至網路存取控制清單(NACL)及安全群組規則。 這可讓您利用 TCP、UDP 和 ICMP 以外的通訊協定,從內部部署、多雲和經典基礎架構中引入自訂拓樸和使用個案。