公网IP和私有IP

目录

一、公网IP和私有IP

二、局域网主机访问公网IP

1、路由器

2、局域网访问公网的过程

(1) 错误认识

(2) 修正认识


IP地址是有数量限制的,如果全世界每一台通信设备都分配一个IP,现有的IP地址很显然不够。有一些IP地址仅仅只是用于一个局域网内的通信,不会访问其他网段的主机,那么这个局域网可以看作是一个独立的区域,外界用啥IP与我无关。

因此RFC 1918 划定了一部分IP来专门用于局域网通信,这些IP我们称为私有IP。不同局域网之间的IP是可以重复的,这就一定程度上提升了IP地址的利用率。示意图如下:

公网IP和私有IP_第1张图片

一、公网IP和私有IP

RFC 1918规定了用于组建局域网的私有IP地址:

  • 10.*,前8位是网络号,共16777216个地址
  • 172.16.* 到 172.31.*,前12位是网络号,共1048576个地址
  • 192.168.*,前16位是网络号,共65,536个地址

该范围内的都是私有IP,其余的则称为公网IP(全局IP)。私有IP是一个局域网内所使用的IP,公网IP则是,无论在哪里都可以被访问到的IP。最典型的例子就是,我们熟知的网站所使用的IP就是公网IP,比如百度(39.156.66.10)、淘宝(140.205.220.96)。

二、局域网主机访问公网IP

那么问题来了,如果局域网里的主机想要访问公网IP,应该如何实现呢??答案是路由器给我们提供了跨网络传输的方案。

1、路由器

路由器可以看作是一个封闭局域网的一扇门。每个局域网至少存在一个路由器,一个路由器配备了两个IP地址,因为路由器也看作一台设备,对内提供一个IP地址,允许局域网内的设备可以访问自己,这个IP我们称为LAN口IP(子网IP);对外提供一个IP地址,以便于该局域网可以访问其他局域网,对外的IP我们称为WAN口IP

公网IP和私有IP_第2张图片

注意:一般每个局域网的路由器使用的 LAN口 IP的主机号是1。

2、局域网访问公网的过程

假设子网B中IP为192.168.1.113的主机想要访问baidu.com(IP地址为39.156.66.10),其实就是向百度的服务器发送一个请求。

(1) 错误认识

主机A发送一个报文,报文携带的源IP地址是192.168.1.113,目标IP地址是39.156.66.10,报文先发送给路由,经过路由层层转发到广域网中,最终在广域网中匹配到了百度服务器的IP,此时百度服务器也就收到你的报文。

但正当百度服务器准备给你发响应的时候,发现你的源IP地址是192.168.1.113,这是一个局域网地址,百度服务器无法定位到这个IP地址,很显然这个过程是不对的。

(2) 修正认识

第一步,主机A发送一个报文,一开始报文携带的源IP地址是192.168.1.113,目标地址是39.156.66.10。报文先转交给第一个路由,一般是家用路由器,此时路由器会将报文的源IP地址替换为WAN口IP,也就是10.1.1.2。

第二步,现在就可以看作是IP地址为 10.1.1.2的局域网要发送一个报文,源IP地址是 10.1.1.2,目标IP地址是39.156.66.10。报文然后继续转交给下一个路由,假设是一个运营商路由器,这个路由器也会将源IP地址替换为WAN口IP,即39.156.66.25。

第三步,现在就可以看作是IP地址为 39.156.66.25 的局域网要发送一个报文。路由器在广域网中找到了百度服务器的IP地址并把报文交给百度服务器。百度服务器收到了你的请求,然后构建响应发送到IP为39.156.66.25。

这种IP地址替换技术就是 NAT技术,至于这个响应是怎么发回给源主机的,后面再另外做介绍。

公网IP和私有IP_第3张图片

你可能感兴趣的:(Linux,网络基础,tcp/ip,网络,服务器)