内网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+端口 ]。