你知道*一共有多少IPv4地址吗?

你知道*一共有多少IPv4地址吗?

344514560个。占全球可用IPv4地址数量超过8%。

如果加上香港的12614144个,也仅仅是8.3%。

这是目前*申请到的所有IP地址数量,包含网络地址(网段内第一个地址,如192.168.1.0/24网络中的192.168.1.0)和广播地址(网段内最后一个地址,如192.168.1.0/24网络中的192.168.1.255),这两个地址无法使用,但是是占了IP地址的数量的。实际上无法使用的IP地址数量远不止于此,中国共申请了8616个网段,掩码长度从10-24位不等,实际使用中掩码大多是22-30位不等,大量地址无法实际使用。

如果从**访问境内,只需要添加8616条路由就好了,是不是很简单?那我今天就用模拟器搭一套小网络,把这些路由都放进来。

你知道*一共有多少IPv4地址吗?

 

首先想一个网络,能容纳8000多条路由,路由的源就用设备的环回口代替,每个环回口配置一个.1的IP地址(第一个主机地址),掩码长度和网段长度相对应。每个设备的环回口数量为1024个(0-1023),一共8616条CN路由,需要11台设备发布路由表,一台路由器来学习。

你知道*一共有多少IPv4地址吗?

 

三个AS区域中,通过OSPF在区域内部一共发布8616条路由,RT1、RT2、RT3通过BGP发布给RT-ISP,RT-C将RT-ISP作为网关并配置默认路由。

AS 100通过192.168.11.0/24发布OSPF;

AS 200通过192.168.12.0/24发布OSPF;

AS 300通过192.168.13.0/24发布OSPF;

BGP通过192.168.10.0/24网段互相发布。

RT-C和RT-ISP通过192.168.20.0/24互联,RT-ISP为网关,RT-C配置NAT。

接下来就是想办法配上这8616条路由,也就是环回口地址。

首先了解到APNIC是全球5个地区级的Internet注册机构(RIR)之一,负责亚太地区的以下事务:

1、分配IPv4和IPv6地址空间,AS号;

2、为亚太地区维护Whois数据库;

3、反向DNS指派;

4、在全球范围内作为亚太地区的Internet社区的代表。

所以,*境内的地址都会登记在APNIC的地址库内。地址库获取方式:

http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest

例如在Linux系统中,使用wget命令可以拉取文件。

你知道*一共有多少IPv4地址吗?

 

文件内容条目参考如下:

apnic|JP|asn|173|1|20020801|allocated

apnic|ID|ipv4|43.240.228.0|1024|20140818|allocated

apnic|HK|ipv6|2001:df5:b800::|48|20140514|assigned

条目格式如下:

注册机构|国家代码|类型|起始位|长度|分配日期|状态

注册机构:亚太地区一般为apnic

国家代码:ISO-3166定义的两位国家或地区代码,如中国为CN

类型:asn(Autonomous System Number,自治系统编号),也就是BGP的AS编号;ipv4,IPv4地址;ipv6,IPv6地址

起始位:第一个ASN编号或IP地址

长度:从第一个起始位开始,申请分配多少的编号或地址

分配日期:国家或地区向APNIC申请的日期

状态:allocated和assigned,都是已分配

所以,需要将delegated-apnic-latest文件中所有国家为CN、且类型为ipv4的条目导出,并转换为静态路由格式。

例如使用命令将符合条件的条目导入到china文件中。

你知道*一共有多少IPv4地址吗?

 

可以查看文件行数,代表有多少条明细条目。

你知道*一共有多少IPv4地址吗?

 

然后根据起始位和长度,转换出静态路由所需的目的地址和掩码即可。在excel中通过对长度进行函数运算,可以得到掩码长度,如:=32-LOG(E2,2),代入2048的话,可得到掩码长度为21。操作后得到类似下图的表格:

你知道*一共有多少IPv4地址吗?

 

先将表格内容复制到记事本中,再从记事本粘贴到Word中,即可得到带有内容字段、tab制表符和段落标记的内容。如下:

1.0.1.0 CN 24 apnic

1.0.2.0 CN 23 apnic

1.0.8.0 CN 21 apnic

这就简单了,使用Word的替换功能,对对应字段进行替换就可以得到形如下文的配置:

int loop 1

ip add 1.12.0.1 14

int loop 2

ip add 1.24.0.1 13

int loop 3

ip add 1.48.0.1 15

int loop 4

ip add 1.56.0.1 13

int loop 5

ip add 1.68.0.1 14

再把配置分别刷入到11台设备当中,配置好OSPF和BGP就可以了。

你知道*一共有多少IPv4地址吗?

 

从PC测试连通性。齐活!

你知道*一共有多少IPv4地址吗?

 

运行有风险,我16核32G内存的服务器主机,内存占用不高,只有4G多,但是CPU利用率一直很高,操作请谨慎!

你知道*一共有多少IPv4地址吗?

 

原文:https://www.toutiao.com/i6964732337124966924/

上一篇:oracle


下一篇:架构师的成长之路初片~nginx优化篇