内网IP、外网IP、NAT转换

398 阅读2分钟

什么是IP

IP是每台计算机在网络中的地址,通过该地址可以定位到所需资源所在的服务器,我们可以通过IP来访问服务器上的资源。

为什么手机用流量时无法访问电脑上部署的服务?

根本原因是手机和电脑不在一个网关(局域网)下导致的,生活在虽然每台手机、电脑都用有自己的IP,但是IP大多数都是内网IP,处于不同的局域网下的设备是不能互相访问的。

内网IP:内网 IP 是用户在使用局域网时,由局域网的网关所分配的 IP 地址,每一个内网 IP 实际上都可以映射到当前所在局域网网关的某一端口,拥有内网 IP 可以被同一局域网下的其他设备所访问到; 处于内网的计算机可以通过网关(公网IP)向Internet上的其它设备发起连接,但是反过来则不行。

外网IP:公网 IP是由互联网服务商提供的最原始的IP,处于公网中的计算机设备可以互相访问,公网也称为广域网,其链接着不同的国家、地区,提供远距离通信。

IPV4和IPV6

IPV4 由 32 位二进制数组成,一共有 2^32 个不同的 IPV4 地址

IPV6 由 128 位二进制数组成,理论上共有 2^128 个不同的 IPV6 地址

从内网IP和公网IP的概念可以看出,公网IP比内网IP的优势更为突出,但是为什么不每个人或者每台设备分配一个公网IP呐,其实主要原因是IPV4的IP地址不够,全球的设备(手机、电脑、摄像头等等)数量远大于2^32。

正因为IPV4数量不够,所以前几年IPV6被提出,但是现在还不够普及,我们大多数公网IP还是IPV4。

IPV4公网IP数量不够,为什么我们还能每天上网?

NAT(网络地址转换)实现内容IP访问公网内容

12.png

  • 处于内网的设备都拥有一个唯一的内网IP
  • 假如现在客户端A要访问百度,其直接访问肯定是行不通的,因为其只具备内网IP,无法直接访问公网中的内容,而网关具备公网IP,其拥有访问公网其它设备的能力,所有其需要让网关(NAT路由器)帮忙去访问百度,然后将访问到的内容返回给客户端A,
  • 在NAT路由器那会维护一个内网IP和公网IP不同端口的映射,例如客户端A访问百度,NAT路由器会利用12.34.56.78:80作为源地址去访问百度,请求到内容后根据映射返回到响应的设备