计算机网络&子网&超网

本来给每个host都要分配一个IP,但这样的话很快就会用完所有的IP address。
于是引入了subnet技术,把一个IP分给几个physical network,用不同的subnet mask来区分每一个physical network。
这样一来,分配一个B类IP可以accommodate 65534个network,一个C类IP可以accommodate 254个network。
但如果客户需要的network数量比较尴尬,比如256个,分一个C类不够,分一个B类又太浪费。
一个解决的办法是分他两个C类,这样利用率起码有50% (256/508)。

但这样的坏处是,如果他需要的是十几个,几十个这样的C类网络,那远端的骨干路由(backbone router)就要存储对应数量的条目,

这真的很浪费路由器的存储空间!(假想每个客户存十几条,百万客户加起来就很夸张了)

这些条目互异,却指向同一片区域(比如一个公司),如果我只分他一个B类IP的话,他肯定够用,而且路由里只需存一个条目,就会省空间,但是这样太浪费IP资源。

于是就有了supernetting技术(也叫CIDR),我们的目标是分他很多C类IP,却只需要存一个条目,怎么做到呢?

就像印钞机会引出连号的钞票,我们给客户分发“连号”的IP,比如从192.168.16到192.168.31这16个连续的IP都分给他

注意到这些IP的高20位相同all prefixes start with the same 20 bits),

这些IP前缀的共享段这样表示:192.168.16/20,类似地表示其中一个IP:192.168.16/24

(因为C类IP的prefix长度是24位,前20位一样,余下的4位对应IP个数16。)

然后这个客户对外可以Advertise他公司共享的prefix是:192.168.16/20,

这样一来,虽然这家公司有很多C类IP,外面的router只需要存一个条目——这些IP prefix的共享段(the common 20-bit prefix they share),就可以找到他了!成功地减少了骨干路由的存储负担~

猜你喜欢

转载自blog.csdn.net/weixin_42095500/article/details/80130890