NAT區域網對映公網原理簡述

2021-08-28 04:50:19 字數 960 閱讀 5361

這裡不討論繁瑣的概念,主要討論一下,乙個區域網怎樣利用乙個ip位址和公網互聯。

涉及兩個難點問題:

1.區域網中的一台主機 a(192.168.1.110)如何與外網伺服器(20.173.12.22)通訊?

2.伺服器的返回資料報,是如何找到內網的客戶端電腦a,並將資料傳給電腦a上執行的程式p呢?

區域網中的主機a,想要訪問外網伺服器時,是通過nat,將位址轉換成外網位址。然後與伺服器通訊的。

這樣問題自然就來了

答案:通過埠來區分。

埠號是從0~65535的乙個數字,每個區域網內的電腦在發出請求時,要帶上自己的埠號,這樣就可以區分了。帶自己的埠,就是為了伺服器在返回訊息時,知道要給誰。

問題又來了:

答案:會重複。允許重複。

答案:區域網內的電腦發的請求,帶的是區域網內部的"ip+埠號",在向外發請求時,nat會重新給乙個ip和埠號。這個ip就是整個區域網共用的ip,而埠則是臨時生成乙個,給這個請求。nat裝置內部,記錄這個轉換的對映表。到時候,可以根據這張表,來倒推原來的請求的內網ip和埠。雖然埠一樣,但是ip不一樣,是可以區分清楚的。

比如用谷歌瀏覽器,和ie瀏覽器訪問同乙個**?

區域網內的主機發請求時,會帶上自己的 ip+埠,走到nat時,會將ip替換成公網ip,並重新分配乙個埠給這個請求。當有了這個新的ip+埠之後,就可以訪問外網伺服器。伺服器返回訊息時,返回到nat,nat根據ip+埠找到當時區域網內的ip和埠,併發送到區域網內的目標機器上,並發給對應的程式。

比如,區域網內有70000臺電腦,大於65535了。

答:不錯。這個時候,埠就不夠了。一般情況下,是需要另乙個公網ip的。這個時候,如果電腦的同乙個程式,比方說大家都登陸qq,傳送請求時,源埠都是4000,傳送到nat時,大家都用同乙個ip,埠都一樣,需要重新給埠時,就不夠用了。

不過,如果可以實現分時復用的話,應該還是可以的。

區域網對映到公網 natapp實現

在開發時可能會有這樣的需求 需要將自己開發的機器上的應用提供到公網上進行訪問,但是並不想通過註冊網域名稱 搭建伺服器等等一系列繁瑣的操作來實現。到註冊頁面 註冊步驟很簡單,只需要填該填的資訊就對了,要記住使用的手機號和密碼,方便下次使用。2 實名制 實名認證後的介面如下 3 購買免費隧道 這裡寫的是...

Linux將公網ip對映到區域網ip

測試環境如下 monitor msc1 公網ip 103.6.164.128 eth0 內網ip 192.168.0.57 eth0 內網ip 192.168.0.16 eth1 通過訪問monitor的外網位址的20003埠,訪問到msc1的20003埠 1.設定monitor伺服器允許ip ec...

從區域網獲取公網IP的實現

從區域網獲取公網ip的實現 從區域網獲取公網ip,應該有很多種方法,比如直接進路由器看,開花生殼這樣的服務,或者有一些 提供測試你公網ip位址等等很多,但是去獲取這個ip,都需要你手動去獲取這個ip,這樣很麻煩,我就在想,有沒有用程式的方法去從內網獲取公網ip?我是乙個新手,所以首選就是google...