内网IP是如何访问公网IP的?

一、什么是内网IP和公网IP?

内网IP

首先介绍一下动态主机配置协议(Dynamic Host Configuration,DHCP),DHCP允许主机自动获取(被分配)一个P地址。网络管理员能够配置DHCP,以使某给定主机每次与网络连接时能得到一个相同的P地址,或者某主机将被分配一个临时的IP地址(temporary IP address),每次与网络连接时该地址也许是不同的。

当电脑和手机连上网后都会获得一个IP,这个IP是由DHCP服务器分配的,并且这个IP地址会发生变化,这种IP就是内网IP。

平常用到的私网IP地址有三种:

10.0.0.0~10.255.255.255

172.16.0.0 ~172.31.255.255

192.168.0.0~192.168.255.255

在不同子网的一个设备可以被分配以上三种IP,因此处于不同子网的两个设备可能具有相同的IP地址。

公网IP

可以与Internet上的其他计算机随意互相访问。我们通常所说的IP地址,其实就是指的公网 IP。互联网上的每台计算机都有一个独立的IP地址,该IP地址唯一确定互联网上的一台计算机。

为什么要有内网IP?

因为IPv4没有足够多的地址,来给每一台电脑都分配一个自己的地址

二、内网IP如何访问公网IP?

要想知道这个答案,首先要知道网络地址转换(Network Address Transla-tion,NAT)。

具备NAT功能的路由器存在NAT转换表,NAT转换表里面存放着 [ 内网IP+端口 ]:[ 公网IP+端口 ] 的对应关系。

数据包在内网中传输的过程中,源IP和目的IP不会发生变化,MAC地址在不断变化。但当数据包要从内网传输到公网时,NAT路由器会把数据包中的[ 内网IP+端口 ]修改成[ 公网IP+端口 ]。反之,当数据包从公网传到内网时,则把[ 公网IP+端口 ]修改成[ 内网IP+端口 ]。