03.04 服務器是如何把數據包發回到內網設備上的?

這城市那麼空氵


“我是喲喲吼說科技,專注於數據網絡的回答,歡迎大家與我交流數據網絡的問題”

如題,服務器將數據包發送到內網的設備,這需要介紹一下很重要的一個技術---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和端口。


分享到:


相關文章: