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和端口。


分享到:


相關文章: