網路請求如何識別地理位置

網路請求如何識別地理位置

我已經閱讀了大量有關互聯網層的文章,但尚未找到答案。假設您位於 x 城市,伺服器位於 y 城市。在綿延數英里的佈線中,誰控制以及他們如何控制資料採取的路徑?此外,一旦到達城市 y,他們如何將資料沿著正確的路徑發送到房屋或伺服器的特定位置。

我有一個關於手機的非常類似的問題,但如果這不是正確的論壇,那麼請忽略問題的這一部分並專注於上面的問題:當電話號碼 xxx-xxxx 撥打電話時,號碼 xxx- xxxy 聽到請求並直接忽略它?

答案1

你真的在這裡問兩個問題。了解您在世界上的實體位置與實際將流量路由給您不同。諷刺的是,網站根本不需要知道您在哪裡,並且知道您在哪裡並不能幫助他們將流量路由到您。

辨別您的地理位置:
在典型的家庭網路設定中,您的路由器有一個由 ISP 分配給世界上其他人都可以看到的公共 IP 位址。您的 ISP 已由某個地區機構分配了一個地址區塊,該地址區塊因國家/地區而異,但最終源自互聯網號碼分配機構 (IANA)。

IANA 保留了一個資料庫,其中包含網路上所有 IP 區塊、它們的分配者以及它們所在的位置。 IANA 也在世界各地維護一個伺服器網絡,其中也保存了互聯網上所有網域的清單。這些資料庫是公共記錄;互聯網上的任何人都可以找到其中包含的資訊。

當您發出網路請求時,該伺服器就會知道您的公用 IP 位址。找出你在世界上的哪個位置並不涉及魔法或回溯。由於 IP 位址區塊被分配給地理區域,因此網站可以簡單地找到您並知道(至少到城市)您的實體位置。

資料如何路由給您:
除了 ISP 提供的公用 IP 位址之外,您的路由器還有一個私人 IP 位址,該位址僅對網路上的電腦可見。您的路由器將成為您的預設網關

假設您造訪 Google 的網站,其網址為 173.194.33.112。您的電腦不知道如何到達該位址,因此它將請求發送到您的預設網關(您的路由器)並相信它知道如何到達那裡。

問題是您的路由器也不知道如何到達該位址,因此它將請求轉發到信任該位址的預設閘道(這是您的 ISP 擁有的某個路由器)知道如何到達該地址。

ISP 的路由器可能也不知道如何到達該位址,因此它將您的要求轉發到另一個網關(可能是其他網路供應商的路由器),並相信 IT 知道如何到達該位址。

這個過程根據需要一遍又一遍地重複,直到最終世界上某個網路上的某個路由器知道如何到達谷歌的路由器之一,谷歌的路由器可以從那裡獲取它。

沿途的每個「躍點」不攜帶任何關於其他躍點的資訊。從 A 點到 B 點的流量唯一需要的是目標位址(您想要前往的位置)和電腦的來源位址(以便目標可以回覆您)。就是這樣。回覆會經過同樣的多跳旅程回傳給您。

每個資料包都會發生這種情況。每秒數百萬次。坦白說,它的效果如此之好,真是令人驚訝。網路上的任何路由器都無法了解整個網路的全貌。這是不可能的;網路太大了。

正如你所看到的,知道在哪裡你是,並且知道如何與您聯繫是兩件截然不同的事情,一件事情不需要另一件事。

答案2

簡而言之,每個設備都有足夠的資訊來確定將資訊傳遞給下一個設備。該資訊要么包含在它接收的資訊中,要么本地儲存在該設備中(通常是某種組合)。

例如,我的電腦有足夠的資訊來確定是否應將封包傳送到 LAN 上的另一台電腦或路由器。這就是它所需要的。每個封包都包含目標 IP 位址,電腦知道哪些目標 IP 位址屬於我的 LAN,如果 IP 位址超出該範圍,電腦也知道如何將封包轉送到我的路由器。

同樣,我的路由器有足夠的資訊來知道資料是否應該發送到我的 LAN 上的裝置或我的 ISP。這就是它所需要的。我的路由器連接到的設備有足夠的資訊來判斷流量是否應該流向直接連接到它的客戶之一,這就是它所需要的一切。

最終,您將到達「核心」路由器,該路由器確定流量需要發送到哪個提供者,並找到「通往」該提供者的路由。這些也強制執行策略並確保從 A 到 C 的流量僅在 B 同意承載該流量的情況下才經過 B。互聯網的全球路由結構是透過核心路由器之間使用稱為邊界網關協議

您的手機問題的答案取決於所使用的特定技術。可能會,也可能不會,但在幾乎所有方案中,流量都是加密的,其他裝置不會有金鑰。通常,設備確實會接收發送到其他設備的流量的某些子集,但很少會接收全部流量。

相關內容