网工技术点
网工技术点
资源放送
↓ 扫一扫 ↓
领取网络掩码录屏资料
运营商PE路由器,是拥有全球路由表的,大约在700000+条以上,这个数字一直处于上升的趋势。
PE(Provider Edge)路由器
E是Edge的缩写,PE翻译成中文就是 “边界路由器“,边界路由器通常位于运营商的边界,和其它的运营商物理连接。
PE路由器和其它的运营商的PE路由器,通过BGP路由协议交换路由:
(1)学习其它运营商的路由表 (incoming);(2)通告自己的路由表 (outgoing)。
通过以上双向的路由交换,本地的PE就拥有全球路由表了。
全球可用IP地址不应该是20亿+的吗?
IP地址一共32位,理论上有232= 42.9亿个IP地址,去除组播、私有、测试、保留IP,可用的IP地址有20多亿+。
路由器当前内存,能够容纳20亿+海量的路由条目吗?
在Cisco的路由器上,保存一条BGP路由条目,大约花费100字节,那么保存20亿条路由条目,需要多少字节呢?
2*109*100=2*1011=200G字节。
这个海量的内存需求,连最高端的路由器都难以满足。
既然路由器无法容纳一个个IP地址,那能否将具有统一前缀的IP地址归纳起来,这样就大大减少路由表的条目了,接下来就再次介绍网络掩码的神奇效果。
最短的网络掩码长度是多少?
0
掩码长度“0”用在何处?
比如 0.0.0.0/0。
地球上亿万万用户的电脑、智能手机,只需要拥有这一条0.0.0.0/0路由,就可以访问互联网所有的IP地址资源。简而言之,0.0.0.0/0代表着Internet上的所有路由条目。
最长的网络掩码是多少?
32
掩码长度“32”用在什么地方?
比如1.1.1.1/32,就表示1.1.1.1这一个IP地址。
用户通过PPPoE拨号,PPPoE服务器给用户PPPoE客户端分配的就是32位掩码的IP地址,假设为 1.1.1.1/32。
来总结一下,掩码长度0代表全球所有的IP地址,但掩码长度0只有一个使用场合,那就是0.0.0.0/0。除此之外,没有了,1.1.1.1/0这样的组合是错误的!
掩码长度32只代表一个IP地址,比如1.1.1.1/32和1.1.1.1是一个意思,代表一个IP地址个体。
掩码长度“31”:代表一个网段有2个IP地址。
计算公式:网段IP地址数目 = 2^(32-31)= 2。
1.1.1.0/31,这条路由其实代表着两个IP地址:1.1.1.0, 1.1.1.1。
那1.1.1.2/31呢?这条路由代表两个IP地址:1.1.1.2,1.1.1.3。
以此类推...
所谓31位掩码,就是说,IP地址第32位(从左到右数),可以是0,也可以是1。凡是掩码没有覆盖的地方,可以是0、1任意组合。
由于31位掩码只能容纳2个IP地址,通常用在点对点链路上,一边一个IP地址,不会浪费IP地址!
如果在点对点链路上使用30位掩码,将浪费2个IP地址。
掩码长度“30”,按照计算公式,网段IP地址数目 = 2^(32-30)=4,掩码长度为30的路由代表4个IP地址。
掩码长度“29”,按照计算公式,网段IP地址数目 = 2^(32-29)=8,掩码长度为29的路由代表8个IP地址。
以此类推...
掩码长度“8”,按照计算公式,网段IP地址数目 = 2^(32-8)=224= 16777216,掩码长度为8的路由代表16777216个IP地址。
1.0.0.0/8与1.1.1.1/8的区别:
1.0.0.0/8是前缀为1的所有IP地址集合体,如果写成1.x.x.x/8更好理解,其中的x可以为0-255任意值,这个集合体一共有16777216个IP地址。
1.0.0.0/8是一个包含16777216个IP地址的路由条目,通常出现在路由器的路由表里,由路由器自动归纳或手工归纳。
1.1.1.1/8则是一个个体,这个个体的IP地址为1.1.1.1,很显然它属于1.0.0.0/8大集合体,因为它属于1.x.x.x这个集合体,不是吗?
1.1.1.1/8通常配置在主机得接口上,供主机使用。
上文的阐述其实已经回答了关于路由归纳的问题了,使用网络掩码来将具有相同的前缀的IP地址,归纳成一个集合体,这样全球路由表将大大减少。
既然越短的网络掩码,归纳的IP地址越多,那能否使用长度为8的网络掩码来归纳路由?
比如:
1.0.0.0/8 2.0.0.0/8 3.0.0.0/8 。。。 221.0.0.0/8 222.0.0.0/8 223.0.0.0/8
那么全球路由表除了私有IP(10.x.x.x)、保留IP(169.x.x.x)、本机IP(127.x.x.x),那么只需要200多条路由条目就可以表示了,对吗?
不对,因为一个IP地址前缀不一定属于一个运营商,所以不能归纳在一起。
举例:
比如1.x.x.x这个地址前缀,不可能属于一个运营商,假设1.1.x.x完全属于一个美国运营商,而1.2.x.x属于一个欧洲运营商,那么这些IP地址就不能归纳在一起。
如果归纳在一起,1.0.0.0/8这条路由,是通向美国还是欧洲?
很好办啊,用1.1.0.0/16归纳属于美国的运营商,1.2.0.0/16归纳属于欧洲的运营商。
①一个目的IP=1.1.1.1的报文,匹配到1.1.0.0/16这条路由,发给美国运营商;
② 一个目的IP=1.2.1.1的报文,匹配到1.2.0.0/16这条路由,发给欧洲运营商。
在互联网发展初期,由于路由器的内存限制,以及网络带宽小,所以BGP对于路由的掩码长度有一个严格的规定,需要≤19。
最长19位掩码,将全球路由表限制在多少以内?
219= 524288
后来随着路由器的性能不断提升、内存的提升,以及IP地址越来越不连续,使用19位的网络掩码越来越不现实,后来BGP放松了对网络掩码长度的限制,只要不大于21就好。
21位的掩码长度,将全球路由表限制在多少以内呢?
221= 2097152
推荐阅读
>>>【独家首发】新版HCIE考试解读直播回顾
>>> 重磅!华为HCIE认证改版升级通知!
>>>【命令解析】Linux用户行为的常用命令
>>> 网工必备通信基础知识,还不知道你就out了?
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
>>>【技术指南】5分钟搞清楚OSPF链路状态路由协议