我不明白為什麼用「隧道」比喻來描述網路隧道。
起初我認為原因是因為發送的資料是加密的,因此竊聽者將無法看到資料(他看到的是包裹在隧道中的資料!)。
但是不使用加密的隧道協定呢,為什麼也被稱為「隧道」呢!
答案1
就道路而言,現實世界中的隧道是一條人工建造的通道,可讓您直接從 A 點到達 B 點,而不是走一條更長和/或有更多東西讓您減速的路線。例如,您可能必須繞過山脈中的隧道,讓您無需步行即可到達道路另一邊的地下通道,以及讓火車在城市中移動而不會與道路和建築物發生衝突的地鐵隧道。
在每種情況下,隧道都提供了一條直接路徑,可以避免您必須處理的某些類型的複雜性。在網路中它以同樣的方式使用。
IPv4 over IPv6 隧道允許 IPv4 透過 IPv6 網路進入另一個 IPv4 網絡,如果原始電腦不了解 IPv6 網絡,這是不可能實現的。
VPN 是專門用於連接兩個專用網路的隧道,無需在每一端的專用位址和公用位址之間轉換 IP 位址的開銷。
將兩者結合起來的一個例子是像 Hamachi 這樣的遊戲 VPN 軟體,它可以用來玩使用 IPX 等舊協定或依靠本地發現來尋找其他玩家的網路遊戲。
答案2
隧道為什麼叫「隧道」?
該短語首次使用(據我所知)是在RFC 1075 距離向量組播路由協定,其中它的定義如下:
此外,為了允許實驗穿越不支援多播的網絡,開發了一種稱為「隧道」的機制。
…
- 隧道
隧道是一種在由不支援多重播送路由的網關分隔的路由器之間傳送資料封包的方法。它充當兩個路由器之間的虛擬網路。例如,在史丹佛大學運行的路由器和在 BBN 運行的路由器可能與隧道連接,以允許多播資料封包穿越 Internet。我們認為隧道是一種過渡駭客。
隧道是透過弱封裝的普通多播資料封包完成的。弱封裝使用特殊的二元IP鬆散來源路由[5]。 (這種形式的封裝優於「強」封裝,即預先添加一個全新的 IP 標頭,因為它不需要隧道端點知道彼此的最大重組緩衝區大小。它還具有正確行為的優點發起者的生存時間值和任何其他存在的IP 選項。
隧道具有與其關聯的本地端點、遠端端點、度量和閾值。隧道每一端的路由器只需要就本機和遠端端點達成協議。有關如何設定隧道的信息,請參閱第 8 節。由於隧道端點之間的中間網關的數量未知,因此需要進行額外的研究來確定適當的指標和閾值。
儘管上面指出「我們認為隧道是一種過渡性駭客」。隧道技術至今仍在使用,本質上具有相同的含義 - 透過隧道發送的資料被封裝,以便可以透過否則不支援傳輸的協定進行傳輸:
隧道是一種用於在通常不支援外部協定的網路上傳輸外部協定的機制。例如,隧道協定可讓您使用 IP 在 IP 資料封包的「資料」部分中傳送另一個協定。大多數隧道協定在第 4 層運行,這意味著它們作為替代 TCP 或 UDP 等協定的協定來實現。
答案3
因為無論你在隧道一端放入什麼,都會從另一端出來。