什麼是網路協議?
在網路中,協議是一套用於格式化和處理資料的規則。網路協議就像計算機的一種共同語言。一個網路中的計算機可能會使用截然不同的軟體和硬體,然而,協議的使用使它們能夠相互通訊。
標準化協議就像計算機可以使用的共同語言,類似於來自世界不同地區的兩個人可能不理解對方的母語,但他們可以使用共同的第三語言進行交流。如果一臺計算機使用網際網路協議 (IP),而第二臺計算機也使用該協議,它們將能夠進行通訊——就像聯合國依靠其 6 種官方語言在全球各地的代表之間進行交流一樣。但是,如果一臺電腦使用 IP,而另一臺電腦不知道該協議,則它們將無法通訊。
在網際網路上,不同型別的程序有不同的協議。協議通常與程序在 OSI 模型中所屬的層相關。
OSI 模型有哪些層?
開放系統互連 (OSI) 模型是網際網路工作原理的抽象表示。它包含 7 層,每層代表不同類別的網路功能。
協議使這些網路功能成為可能。例如,網際網路協議 (IP) 透過表明資料包*的來源和目的地,對資料進行路由。IP 使網路到網路的通訊成為可能。因此,IP 被認為是一個網路層(第 3 層)協議。
再比如,傳輸控制協議 (TCP) 用於確保資料包在網路上的運輸順利進行。因此,TCP 被認為是一個傳輸層(第 4 層)協議。
*資料包是一個小的資料段,所有透過網路傳送的資料都被分成多個資料包。
哪些協議在網路層執行?
如上所述,IP 是一個負責路由的網路層協議,但它不是唯一的網路層協議。
IPsec:網際網路協議安全性 (IPsec) 透過虛擬專用網路 (VPN) 建立加密、認證的 IP 連線。從技術上講,IPsec 不是一個協議,而是一個協議的集合,包括封裝安全協議 (ESP)、身份驗證頭 (AH) 和安全關聯 (SA)。
ICMP:網際網路控制資訊協議 (ICMP) 報告錯誤並提供狀態更新。例如,如果一個路由器無法傳送一個資料包,它將傳回一個 ICMP 訊息到資料包的來源。
IGMP:網際網路組管理協議 (IGMP) 建立一對多的網路連線。IGMP 有助於設定多播,這意味著多臺計算機可以接收指向一個 IP 地址的資料包。
網際網路上還使用哪些協議?
需要了解的一些重要協議包括:
TCP:前面講過,TCP 是一個傳輸層協議,用於確保可靠的資料傳輸。TCP 與 IP 一起使用,這兩個協議經常被合稱為 TCP/IP。
HTTP: 超文字傳輸協議 (HTTP) 是全球資訊網(大多數使用者與之互動的網際網路)的基礎,用於在裝置之間傳輸資料。HTTP 屬於應用程式層(第 7 層),因為它將資料轉換成應用程式(如瀏覽器)無需進一步解釋即可直接使用的格式。OSI 模型的較低層由計算機的作業系統處理,而非應用程式。
HTTPS:HTTP 的問題是它沒有加密,任何截獲 HTTP 資訊的攻擊者都可以讀取它。HTTPS(HTTP 安全)透過加密 HTTP 資訊修復了此問題。
TLS/SSL:傳輸層安全性 (TLS) 是 HTTPS 用於加密的協議。TLS 曾被稱為安全套接字層 (SSL)。
UDP:User Datagram Protocol (UDP) 是傳輸層中 TCP 的一個替代品,速度更快,但沒那麼可靠。它經常被用於影片流和遊戲等服務,在這些服務中,快速的資料傳輸最為重要。
路由器使用什麼協議?
網路路由器使用某些協議來發現通往其他路由器的最有效網路路徑。這些協議不用於傳輸使用者資料。重要的網路路由協議包括:
BGP:邊界閘道器協議 (BGP) 是一個應用程式層協議,網路使用該協議來廣播它們控制的 IP 地址。該資訊可讓路由器決定資料包在前往目的地的途中應經過哪些網路。
EIGRP:增強型內部閘道器路由協議 (EIGRP) 用於識別路由器之間的距離。EIGRP 自動更新每個路由器的最佳路由記錄(稱為路由表),並將這些更新廣播給網路內的其他路由器。
OSPF:開放式最短路徑優先 (OSPF) 協議根據各種因素(包括距離和頻寬)計算最有效的網路路線。
RIP:路由資訊協議 (RIP) 是一個較早的路由協議,用於識別路由器之間的距離。RIP 是一個應用程式層協議。
網路攻擊中如何使用協議?
就像計算的任何方面一樣,攻擊者可以利用網路協議的運作方式來入侵或擊垮系統。許多此類協議被用於分散式拒絕服務 (DDoS) 攻擊。例如,在 SYN 洪水攻擊中,攻擊者利用了 TCP 協議的工作原理。它們傳送 SYN 資料包,反覆啟動與伺服器的 TCP 握手,直到伺服器資源被所有虛假的 TCP 連線佔用,導致伺服器無法為合法使用者提供服務。
Cloudflare 提供了許多解決方案來阻止這些和其他網路攻擊。Cloudflare Magic Transit 能夠緩解 OSI 模型第 3 層、第 4 層和第 7 層的攻擊。在 SYN 洪水攻擊的示例中,Cloudflare 代表伺服器處理 TCP 握手過程,因此伺服器的資源永遠不會被開放式 TCP 連線所淹沒。