回覆列表
-
1 # 聖湖茶哆哆
-
2 # 喲喲吼說科技
如題,伺服器將資料包傳送到內網的裝置,這需要介紹一下很重要的一個技術---NAT。
NAT(Network Address Translation)是將內部私有地址轉換成公網地址進行Internet訪問。具體網路透過NAT後是如何進行通訊的,下面喲喲舉個例子來說明:
假設IP地址為192.168.1.100的主機去訪問地址為2.2.2.2的伺服器,那麼具體的通訊過程如下:
1、PC機去訪問伺服器,那麼源地址為192.168.1.100,埠號為8888,目的地址為2.2.2.2,埠號為8989;
2、經過路由器NAT後,那麼源地址為1.1.1.1,埠號為9999,目的地址為2.2.2.2,埠號為8989;
3、在伺服器接收到資料包後,傳送迴應資料包,源地址為2.2.2.2,埠號為8989,目的地址為1.1.1.1,埠號為9999;
4、經過路由器NAT後,那麼源地址為2.2.2.2,埠號8989,目的地址為192.168.1.100,埠號為8888;
透過例項就可以看出來具體的通訊過程是怎樣的,伺服器就是透過這種方式傳送到內網裝置上。
出口路由器開NAT,路由器會保持一個nat session的會話列表,這個列表簡單點說就包括內網IP,內網埠,網路IP,網路埠這樣的資訊,當資料包從網路回來後會匹配到對應的列表條目,然後就能找到對應的內網IP和埠。