什么是外网IP、内网IP? (续)

来自:车小胖谈网络 (微信号:chexiaopangnetwork),作者:车小胖谈网络

接上文。友情提醒,没有阅读上文的二级编码,可能无法理解本文的三级编码!

 

地球很快转到了21世纪,第一批富起来的地主,发现互联网是尚未开采的金矿。于是几个地主在一起碰个头,决定在网上开个超市。由于地球村的村民一时没有习惯网上购物,所以网上超市生意一直不温不火。

 

烧钱补贴吸引客户流,这一招很管用,于是越来越多的村民开始网上购物。当村民的购物习惯慢慢养成时,再悄悄地抬高商品价格,很快网上超时赚取了源源不断的财富。

 

地主一夜之间变成了超级大亨,网上超市的基础网络硬件资源远远得不到充分利用,怎么办?

 

大亨们一合计,将这些多余的硬件资源租给一些村民,同时租给他们全球IP,客户就可以面向互联网提供在线服务了,云计算就是从这个服务模型演变而来。

 

随着全球IP在云计算中的消耗,运营商的全球IP越来越稀有了。为了充分发挥摇钱树的功效,村长、小队长们决定采用三级编码。

 

举个例子

 

1.1.1.1100.64.100.10010.1.1.1

 

以上就是三级编码的例子,其中:

 

1.1.1.1”为全球IP,可以以“1.1.1.1”为目的地在互联网上导航。

100.64.100.100”为运营商分配给四合院的门牌号码,门牌号码无法在互联网上导航。

10.1.1.1”为四合院内部使用的门牌编号,也无法在互联网上导航,但可以在四合院的小院子里导航。


3.0版本

三级编码形式,就是本文的3.0版本。

其中位于最中间的“100.64.100.100”是运营商专用号段。这个号段从100.64.0.0开始,到100.127.255.255结束,一共有4194304个可用地址,用掩码的表示为100.64.0.0/10

 

有读者可能会说,400多万个地址也不多啊。但是想过没有,不仅北京可用使用100.64.0.0/10,上海也可以使用,广州也可以使用。

 

上海的三级编码为:

 

2.2.2.2100.64.100.10010.1.1.1

 

广州的三级编码为:

 

3.3.3.3100.64.100.10010.1.1.1

 

而且国外的城市一样可以使用:

 

a.b.c.d100.64.100.10010.1.1.1

 

大家发现没有,尽管后两项本地编码在四个城市可以完全相同,但是第一项全球IP一定不能相同。

 

全球IP,其本质就是提供互联网上唯一性标识,如果唯一性无法保证,互联网就彻底乱套了。

 

在上一篇文章我们提到,IPv4报文头用于容纳IP地址的空间只有4个字节,这三级编码需要12个字节,这意味着在任何时候只可能有一个IP地址在IP报文头里出现。

 

  • 全球IP

  • 运营商保留IP

  • 本地IP

 

怎么办呢?

 

村长严肃地颁布了以下规则:

 

规则1主机可以使用本地IP,比如“10.1.1.1”与院子里的主机通信。

规则2与互联网上的主机通信时,门神需要将四合院内部的编号“10.1.1.1”替换成四合院的编号“100.64.100.100”。

规则3运营商互联网出口路由器,负责将四合院的门牌号码“100.64.100.100”替换成全球门牌号码 1.1.1.1”。

规则42次替换过程中,辅以源端口号的替换,并将替换关系临时缓存起来。

规则5当返程流量归来时,查询缓存替换关系,完成两次IP地址的反向替换,同时完成两次端口号的反向替换。

 

其实无论是2级编码“1.1.1.1x.x.x.x”,还是3级编码“1.1.1.1100.64.0.0:x.x.x.x-1.1.1.1100.127.255.255:x.x.x.x”,其实都是IP地址长度的扩长技术,用以缓解全球IP枯竭的现状。

 

IPv6

IPv6采用128个二进制编码,或者说16个字节的编码,理论上可以有2128个地址,这个数字非常庞大,庞大到可以给地球上每一粒沙子编码都用不完。

 

谈完以上背景知识,再来回答标题里的问题。

 

什么是内网IP

问大家一个问题,你们现在是静止的还是运动的?

这个问题很难回答,需要选择参照物。你在高速运动的火车上,如果选择地面做参考物,那么你是运动的,而选择火车做参考物,你是静止的。而如果选择太阳做参考物,你永远都是运动的,因为地球一直在转。



同样,内网IP也是一个相对的概念,而不是一个绝对的概念。

 

站在四合院里

如果你站在四合院(家庭局域网)里,10.1.1.1就是一个内网IP,英文为“Inside IP”还有很多名称描述它“Local IP”、“Private IP”。

 

运营商的保留IP 100.64.100.100”就是一个外网IPOutside IP,运营商这段IP还有一个专属名称“Carrier NAT IP”。

 

全球IP同样也是外网IPOutside IP)。

 

站在四合院门外

运营商的保留IP 100.64.100.100”就是一个内网IPInside IP)。

全球IP是外网IPOutside IP)。

 

那四合院的IP呢?

四合院外看不到四合院内部的IP啊,所以此处不适用(Not Applied)。

 

如果运营商内部也使用类似“10.1.1.1”可以吗?

当然可以,那么“10.1.1.1”同样也是内网IP

推荐↓↓↓
程序员的那点事
上一篇:什么是泛播技术? 下一篇:BGP路由泄露:互联网全球性灾难的元凶