網路是如何運作的

網路是如何運作的

我不太明白互聯網如何與 IP 位址一起工作。
例如,我家有一個路由器。有了這個路由器,我就擁有了一個區域網路。另外,我可以連接網路。我的問題是:這裡的網路到底是什麼?
在我看來,還有另一個更高層級的路由器,來自某個提供網路服務的公司,為我的路由器分配IP位址。從上層路由器的角度來看,所有的路由器,像是我的路由器,形成了一個更大的「區域網路」。
如果是這樣,我不知道伺服器是如何工作的。例如,每個人都可以登入google的伺服器,因為我們知道它的IP位址。但是誰把這個IP位址提供給Google呢?路由器?如果有路由器這樣做,我們如何識別它?
例如,A公司的路由器將IP位址提供給google,而我正在使用B公司的路由器上網。在這種情況下,似乎有兩個區域網路:我的區域網路和Google的區域網路。兩個不同區域網路中的兩台機器如何通訊?

答案1

讓我們用一個現實生活中的例子來簡單說明:

(Everything in this example is based on IPv4)
  1. 任何人都可以在家庭/辦公室/公司等處建立 LAN。RFC1918。這避免了在世界不同地方擁有相同 IP 位址的非常可能的衝突。

  2. 您的私人 LAN 可以連接到民眾透過路由器上網。路由器通常有一個私人的連接到 LAN 的 IP 和民眾IP 連接到本地ISP。路由器使用一個翻譯服務調用網路位址轉換讓你的私人的IP 連接到民眾網際網路.

  3. 本地 ISP 使用一系列民眾IP 位址由稱為區域網路註冊機構阿林適用於美國、加拿大、加勒比海地區的部分地區以及南極洲。成熟歐洲、俄羅斯、中東、中亞等

  4. 本地ISP使用其公共 IP 位址範圍將其分配給其用戶端的路由器,並用於與另一個 ISP(通常是連接到國際 ISP 的較大 ISP)的互連。存在由下列規則調節的大互連網(網路)路由協定計算出最快的路由器和其他路由器之間的路徑。

  5. 每個 ISP 必須有兩個或多個 DNS 伺服器,其中儲存關係IP address - domain name並可供任何人查閱。這些 DNS 伺服器更新其訊息往返其他高層 DNS 伺服器,因此變更可以複製到世界上的每個 DNS 伺服器。

  6. 什麼時候從您的 LAN 想要連接到http://www.google.com,您的PC/平板/手機/向DNS伺服器詢問該名稱對應的IP位址(本例中216.58.210.164)。然後您的網路瀏覽器向該 IP 位址發送請求,您的本機路由器執行以下操作:網路位址轉換轉換,將請求的資料包發送到 ISP 路由器,ISP 路由器將其發送到更高級別的 ISP 路由器,依此類推,直到資料包到達Google通過最快或最短的路徑(路由協定)。

  7. Google 回答將頁面(HTML+CSS+圖像+cookies)傳送到您的路由器(同樣,該套件將通過最快/最短的路徑),您的路由器進行相反的操作網路位址轉換翻譯並將其放在 LAN 上並傳輸到您的 PC/平板電腦/手機。

顯然,發生了很多技術性的、更複雜的事情,但這只是一個基本的解釋。

由於IP是無連接協議,因此從你的路由器到谷歌可能與來自的路徑不同谷歌到你的路由器,這取決於決策者的決定路由協定這就是 IP/互聯網的美妙之處。如果在檔案傳輸過程中某個中間路由器發生故障,流量將使用另一個路由器重新路由,最終使用者不會注意到這一點。

如果您使用的是 Windows,請打開指令然後寫下ipconfig /all,你就會看到你的IP,私人的你的路由器的IP,路由器的IP位址DNS伺服器您正在使用的資訊和其他資訊。

另外,從那裡寫入tracert www.google.com,您可以看到來自 PC 的請求包如何從一個路由器傳輸到另一個路由器,從一個 ISP 跳到另一個 ISP,直到到達 google。

由於全球互聯網上伺服器和服務的大幅擴展,IPv4 位址已經耗盡。 ISP 必須實施 IPv6,因為它解決了問題並消除了對 IPv6 的需求。網路位址轉換翻譯,使得區域網路使用成為可能公共地址

答案2

兩個不同區域網路中的兩台機器如何通訊?

恕我直言,如果您先忘記了例外情況,那麼會更容易理解一般規則。

首先,考慮數百個封閉的 LAN(例如由家庭路由器創建的 LAN)是一種事後的想法,由於 IPv4 位址短缺而變得普遍。

在更高級別,除了家庭路由器之外,“LAN”和“WAN”之間沒有如此嚴格的分離。相反,將互聯網視為一個單一的全球網絡,可能有點像電話或郵政網絡。 ISP 有多個“層級”,但如果您遵循足夠高的層級,您將找不到單一中央樞紐以 ISP 作為輻條;相反,你會發現一個互連網絡,如下圖所示。

如果您的 ISP 夠大,則可能有多個通往更高層網路的連結,以及通往同一區域中其他 ISP 的直接路由;他們都使用BGP協定交換有關透過哪個 ISP 可以到達的資訊。因此,如果較短的路徑因某種原因中斷,一切都會經過較長的路徑。(這似乎正在我的 ISP 和維基百科之間發生。Grmh。)

事實上,像谷歌或Netflix這樣的一些企業本身就足夠大,甚至可以擁有多個連接到一級網絡的鏈接,這幾乎拋棄了任何剩餘的層次結構。


但是誰把這個IP位址提供給Google呢?

IP 位址本身在層次結構中分配,從網路號碼分配機構分配大地址範圍給地區登記處,而這些註冊機構又向 ISP 和其他企業提供較小的範圍。

但這些任務只是允許使用地址;他們有與實際路由器的設定方式的關係。相反,每個網路的運營商將直接配置自己的路由器以使用他們擁有的位址範圍。

(通常是伺服器他們自己為了可靠性,將在每台伺服器上手動設定它們的位址。但這不是必需的 - 我見過伺服器使用 DHCP 從路由器獲取位址的地方,就像個人電腦一樣。

簡而言之,IANA 授予 Google 使用該位址的權限,而全球其他 ISP 則確保該位址路由至 Google 的網路。剩下的就取決於谷歌的網路營運商了。


因此,考慮到上述情況,您的家庭路由器和 Google 的網路伺服器幾乎是一樣的互聯網的平等成員。每個都有一個全域 IP 位址,可以透過遵循路由表從網路上的任何其他位置存取該位址。

  • 您的電腦有一個非常簡單的路由表,它只表示同一子網路以外的所有內容都可以透過「預設閘道」(您的路由器)存取。

  • 同樣,您的家庭路由器只是表示「LAN」IP 位址可以直接在 LAN 連接埠上訪問,而其他所有內容都必須傳送到 ISP 的路由器。

  • 在工作中,我們最終有五個這樣的路由器,每棟建築都有一個。因此,除了基本的「同一子網路」和「其他所有」路由之外,它們的路由表還具有到其他所有建築物的路由器的直接路徑。

  • 一個 ISP 將有多個路由器,其中一些將具有通往客戶的路由,其中​​一些將了解其他 ISP 的連結。例如,「外部」路由器可能具有以下資訊:

    • 36.56.xx 可以透過 ISP 自己的「客戶」路由器到達;
    • 212.xxx可以透過NORDUnet的109.105.98.126路由器到達;
    • 212.162.xx 可以透過 GÉANT 的 62.40.98.13 路由器到達;
    • (等等)
    • 最後,一切都可以透過Level3達到。

    “客戶”路由器可以說:

    • 36.56.1.1 可以透過連接埠 #3 到達;
    • 可以透過連接埠#4到達36.56.1.2;
    • (等等)

每當您的電腦向 Google 發送封包時,或者相反,每個路由器都會檢查它可以到達的內容,並將封包轉發給下一個路由器。您甚至可以在終端機上使用TRACERT或命令查看完整路徑。traceroute


這些是基礎知識。

是的,您的家庭路由器還需要額外的技巧 - 網路位址轉換或 NAT - 以確保您的整個家庭網路可以隱藏在一個 IP 位址後面。這是相當一般現象:只有像麻省理工學院這樣的長輩才有足夠的 IPv4 位址,可以為每個人分配一個。幾乎所有其他網路都必須使用 NAT。 (我的工作場所擁有 64 個地址的區塊,但有數百個工作站學生在手機上使用 WiFi,因此大多數人也位於 NAT 後面。

但是,無論 NAT 有多普遍,它仍然是一個例外,是一種讓舊事物繼續運轉的駭客手段(直到 IPv6 在 2100 年代變得更加普遍)。大多數伺服器都有自己的全球IP位址,您可以直接存取它們;您不需要任何魔法即可進入 Google 網路。

事實上,如果你必須聯絡某個人在像您這樣的 NAT 後面,它可能會變得非常煩人 - 許多遊戲要求您為此配置“端口轉發”,並且點對點程序必須訴諸各種“打洞”技巧才能通過NAT。

隨著 ISP 開始使用“運營商級 NAT”,情況會變得更糟,其中


此外,當基於路由的轉送變得更加複雜時,大型 ISP 有時確實具有更複雜的內部結構,例如策略路由或 MPLS慢,但這些又只是添加到基本 IP 之上,應該單獨研究 - 我實際上還沒有工作過在 ISP 處。

相關內容