yangsirgo / softwareTest

软件设计师考试
6 stars 2 forks source link

子网划分 #2

Closed yangsirgo closed 3 years ago

yangsirgo commented 4 years ago

IPV4 分为 A,B,C,D,E五类。分配的主机地址是固定的。 A类地址 前 8位bit位是网络号,后面 24 位 bit位是 主机号,所以包含的主机地址数量是Math.pow(2,24)-2。备注:为什么要减2?一个是0.0.0.0 地址(初始主机地址),一个是255.255.255.255(广播地址)特定功能的地址。 B类地址 前16位bit位是网络号,后面 16 位bit位 是 主机号。Math.pow(2,16)-2 C类地址 前24位bit位是网络号,后面 8 位bit位 是 主机号。Math.pow(2,8)-2

一个网络地址32位,根据网络号和地址号的分法,分成了A ,B,C,类型共用32位,而不是几个类型的和。

因为 A类B类地址太多,而C类地址太少了,所以有了子网划分技术。 想着把小的网络分成更多大的网络,所以有了无分类编址(无类间路由):172.18.129.0/24 斜杠24是什么意思呢?从左边第一个开始,直到数到24位 都是网络号,其余的是主机号。也就是能容纳254(Math.pow(2,8)-2)台主机号。 172.18.129.0/20 斜杠20是只有 (Math.pow(2,32-20)-2),发展到无分类地址时,就没有类别的概念了。

yangsirgo commented 4 years ago

子网掩码:子网掩码是用来区别网络号和主机号。用1表示网络位,用1表示主机位。 A类IP地址的掩码:二进制表示:11111111.00000000.00000000.00000000,十进制表示:255.0.0.0,也可以用/8 表示,表示前八位是网络号,例如:10.3.3.3/8 B类IP地址的掩码:二进制表示:11111111.11111111.00000000.00000000,十进制表示:255.255.0.0,也可以用/16 表示,表示前16位是网络号,10.12.13.0/16 C类IP地址的掩码:二进制表示:11111111.11111111.11111111.00000000,十进制表示:255.255.255.0,也可以用/16 表示,表示前24位是网络号,10.12.13.0/24 子网掩码为255.255.255.255表示本网段只有1个IP地址

yangsirgo commented 4 years ago

https://www.jianshu.com/p/66bd9c1e08d8 子网划分的链接

yangsirgo commented 4 years ago

子网例题 答案解析:c类总共24位,掩码占了20位,所以只有剩余4位可以自己分配子网,2的4次幂=16

yangsirgo commented 3 years ago

路由聚合

超网

超网(supernetting)是与子网类似的概念——IP地址根据子网掩码被分为独立的网络地址和主机地址。但是,与子网把大网络分成若干小网络相反,它是把一些小网络组合成一个大网络——超网。

超网的功能是将多个连续的C类的网络地址聚合起来映射到一个物理网络上。这样,这个物理网络就可以使用这个聚合起来的C类地址的共同地址前缀作为其网络号。 超网创建用来解决路由列表超出现有软件和管理人力的问题以及提供B类网络地址空间耗尽的解决办法。超网允许一个路由列表入口表示一个网络集合,就如一个区域代码表示一个区域的电话号码的集合一样。 超网(路由聚合)技术是为了解决路由表的内容冗余问题,使用路由聚合能够缩小路由表的规模,减少路由表的内存。 子网划分是为了让我们拥有更小的网络,每个网络的主机数可以放得少一些。超网则是让我们把这些单块儿的小网络聚合,让一个网段儿能放更多的主机数。

例题

假设下面有4个网络: 172.18.129.0/24 172.18.130.0/24 172.18.132.0/24 172.18.133.0/24 如果这四个进行路由汇聚,能覆盖这四个网络的汇总地址是多少?

解答:

1)将各子网地址的网段以二进制写出。 129的二进制代码是10000001 130的二进制代码是10000010 132的二进制代码是10000100 133的二进制代码是10000101 2)比较,从第1位比特开始进行比较,将从开始不相同的比特到末尾位填充为0。由此得到的地址为汇总后的网段的网络地址,其网络位为连续的相同的比特的位数。 3) 这四个数的前五位相同都是10000,所以加上前面的172.18这两部分相同的位数,网络号就是10000000,而10000000的十进制数是128,所以,路由汇聚的Ip地址就是172.18.128.0。所以最终答案就是172.18.128.0/21。