我知道 LAN 中的電腦如何相互通訊(所有乙太網路/MAC 位址/NAT 等),但我想知道網路路由器如何通訊?它們是否連接到某種巨型 LAN 中?使用什麼協定來傳送封包(例如 IP 和 BGP 封包)?
答案1
路由器形成某種網格。每個連接都連接到其他幾個(可以想像在LAN 上,但通常只是直接連接,可能是長距離連接,如海底電纜、T 載波或光纖鏈路),每個連接都知道它連接到哪一個。每個路由器通常有許多 IP 位址,每個連結都有一個 IP 位址到它所擁有的另一個路由器。
路由器通常運行路由協議,使它們能夠發現其鄰居(它們直接連接的路由器)所連接的內容。它們是 IS-IS、BGP、EIGRP、RIP、OSPF 等。路由協定是一種節省勞動力的設備,可讓網路管理員在發生變更(有意或由於故障)時自動維護路由表。因此,每個路由器都連接到其他幾個路由器,並且或多或少知道什麼在哪裡。該資訊可允許透過互聯網進行過濾;路由器也會互相通知鄰居的鄰居,因此可以建立每個方向(大約)可到達的所有內容的視圖。路由器還會追蹤事物的距離(之間有多少個路由器,以及路徑的速度可能有多快),以方便將封包有效地傳送到目的地。
某些路由器(例如您的LAN 閘道或某些ISP 的路由器)只有幾條路由:它們作為網關的LAN,通常還有一條用於Internet 其餘部分的預設路由(在IPv4 網路中,這是0.0.0.0 )。因此,他們知道前往 LAN 的封包沿著一個方向(從 LAN 介面發出),而前往其他地方的封包沿著另一個方向(從 WAN 介面發出)。
其他具有更多鏈路和兩側更多網路的路由器在某種程度上擴展了這一概念。它們將知道各個方向的前綴(正式的 IP 位址的網路號碼部分),並沿著該路由發送封包(因此得名)。它們以這種方式相互轉發資料包,直到資料包到達目的地;如果這是不可能的,有幾種機制可以刪除它並表明它已被刪除。
因此,您的封包可能從您的 LAN 路由器到達您的 ISP,該路由器知道互聯網所在的介面並以這種方式發送。每個連續的路由器都會查看目標位址並根據其路由表確定它屬於哪個網路以及它的方向;它會知道以某個數字開頭的位址位於另一個特定 ISP 的“方向”,並以這種方式發送(為了做到這一點,在每一跳更改第 2 層信息,因此 MAC 位址將發生變化)在每一跳)。最終,它到達與您嘗試存取的主機位於同一網路上的路由器,並到達該目的地。
每個中繼步驟稱為一跳。您可以使用該traceroute
實用程式(tracert
在 Windows 上)查看此工作,但由於 ICMP 過濾非常普遍,您可能看不到所有躍點。
答案2
答案3
是的,BGP 用於在 AS 之間交換路由資訊。從而實現互聯網上的成功路由。這種情況使用 TCP(當然還有 IP)發生,然後您在 AS 內使用 IGRP 和 OSPF。
答案4
協定是 TCP/IP,它們透過 WAN 連線而不是 LAN 連線。路由協定只是路由器所說的「語言」。在基本網路中,您配置相同的路由協議,以便路由器可以相互理解,這些路由協議稱為內部網關協議。在網際網路中使用的「語言」稱為 BGP,稱為外部網關協定。