内网 IP ,我们也可以把它称之为专用 IP 地址、私有 IP 地址,假如单位 A 有一个网络,通过路由器跟因特网连接,在单位 A 的网络内部,主机之间相互通信是没问题的,一般情况下,外部网络上的机器,是不允许访问单位 A 网络内部的主机的,一是没必要,二是基于安全考虑。如果其他网络的主机不需要访问单位内部的主机,那么单位内部的主机 IP 就不需要有网络寻址功能,我们就可以给单位内部的每一台机器,分配一个私有 IP 或内网 IP ,内网和外网是区分开的,但是有的时候,我们在单位里面要上网,去访问因特网上的某一台主机,这是允许的,可以通过 NAT 转换技术解决。
因为内网 IP 不需要有网络,没有网络寻址的功能,即外网访问不了这些私有的 IP ,这可以使得不同的网络中私有 IP 可以相同,比如,单位 A 和单位 B 有自己的网络,可以给内部的主机分配私有 IP ,而且单位 A 里面的私有 IP 和单位 B 里面的私有 IP 是可以一样的,这样可以节约宝贵的全球 IP 地址资源,当我们往单位 A 添加主机,我们只需要给它分配私有的 IP 地址,不用分配公网 IP 地址。
哪一些 IP 地址,可以用于私有 IP 呢?
在 RFC1918 标准里面指明了一些专用地址,这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。用于私有的 IP 地址有:
- 10.0.0.0 到 10.255.255.255 ,或记为 10.0.0.0.0/8 ,前 8 位是网络号,后面的 24 位是主机号,这是一个 A 类网络。
- 172.16.0.0 到 172.31.255.255 ,或记为 172.16.0.0/12 ,它聚合了 16 个连续的 B 类网络。
- 192.168.0.0 到 192.168.255.255 ,或记为 192.168.0.0/16 ,它聚合了 256 个连续的 C 类网络。
这三类地址都是用于私有 IP ,采用这样的专用 IP 地址的互联网络称为专用互联网、本地互联网、专用网,全世界可能有很多的专用互联网,具有相同的专用 IP 地址,内网 IP 地址是可以相同的,因为内网 IP 地址外网是访问不到的,内网 IP 主要用于一个单位里面内部的通信,专用 IP 地址也叫做可重用地址,在 A 单位可以用,在 B 单位也可以用,有了这种地址后,大部分主机就不需要用全球的公网 IP 地址了,这样可以节约公网 IP 地址。
这样会有什么问题吗?
假如有个公司在杭州和上海都有一个分公司,这两个分公司内部采用专用网,在杭州专用网的网络地址是 10.1.0.0 ,在上海的专用网的网络地址是 10.2.0.0 ,这时,杭州分公司里面的一台主机 A ,跟上海分公司里面的一台主机 B ,应该如何通信呢? 10.1.0.0 和 10.2.0.0 都是专用网,用的是私网 IP ,公网、外网访问不到。两个专网中间隔的是因特网,私网 IP 也不能被因特网访问。
有两种方法,第一种直接租用电信公司的通信线路,为本单位专用,将这两个专用网连在一起,这样是可以的,虽然说简单方便,但是成本很高,并不是常用的方法。第二种是使用因特网作为本单位各专用网之间的通信载体,把杭州分公司的网络,通过一个路由器,跟因特网连在一起,把上海分公司的网络,也通过一个路由器,跟因特网连在一起,然后在路由器连接专用网的接口使用专用地址,路由器跟因特网连在一起的两个接口,使用两个公网 IP 地址,我们使用因特网作为桥梁,使得这两个专用网之间可以通信。
这时,我们主机 A 发送一个消息给主机 B ,这个 IP 分组,假设源 IP 是杭州专用网里的 10.1.0.1,目的 IP 是上海专用网里的 10.2.0.3 ,这个分组传输到路由器默认网关后,会做一些额外的处理,首先对数据进行加密,然后再添加一个新的首部,新的首部的目的 IP 地址,就变成了另外一个专用网的,和路由器相连的那个公网 IP 地址,也就是194.2.3.5,源 IP 地址,就变成了当前这个路由器的公网 IP 地址 125.1.2.3 ,之后,把这个数据,经过因特网,传输到另外一个路由器,在另外这个路由器里面,它首先把首部去掉,再解密,解密完了之后,我们才知道,目的 IP 地址是 10.2.0.3 ,在这个路由器里面,会有一个路由表,查到 10.2.0.3 ,是从 10.2.1.34 这个接口出去,然后把数据传输到上海专用网的主机 B 上,完成了两个专用网之间的主机相互通信。这样,我们使用了因特网作为专用网之间的通信载体,在某一个专用网内部的通信是不走因特网的,比如说在杭州专用网里面,一台主机访问杭州专用网里面另一台主机,是不需要走因特网的。使用这种方式,给我们的感觉就是在这两个专用网之间加了一条隧道,实际上并没有加,我们称之为 VPN (虚拟的专用网),这两个网络有逻辑上的连接,不过,它使用的是因特网作为桥梁。
微信公众号「padluo」,分享数据科学家的自我修养,既然遇见,不如一起成长。关注【老罗说AI】公众号,后台回复【文章】,获得整理好的【老罗说AI】文章全集。