48小时系统班试听入口

网络掩码那些事儿

发布作者:新盟教育 发布日期:2022-12-07 浏览人数:1402人

网工技术点

资源放送 

↓ 扫一扫 

领取网络掩码录屏资

网页同步文章.png

运营商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


1671585dc74035d34ac554d5f2ae42fc.jpg

推荐阅读

>>>【独家首发】新版HCIE考试解读直播回顾
>>> 重磅!华为HCIE认证改版升级通知!
>>>【命令解析】Linux用户行为的常用命令
>>> 网工必备通信基础知识,还不知道你就out了?
>>>【必备干货】网工入门必会桥接教程,外网+GNS3+Vmware
>>>【技术指南】5分钟搞清楚OSPF链路状态路由协议

客服电话 15822722968 邮箱 799830458@qq.com 地址 天津市红桥区光荣道157号宝能创业中心2号楼-1、2门-907号
官方公众号
商务合作