1、我们先来理解以下概念:子网:IP 地址均分为网络位和主机位两段,假设一个网络中的主机为 450 台,那么分配一个 C 类地址不够用,分配一个 B 类地址又显得太浪费,在这种情况下,就提出了子网化的概念,子网的定义就是把主机地址中的一部分主机位借用为网络位。如在一个 B 类地址 172.16/16,可以借用 7 位做为网络地址,一个形如 172.16.2/23 的地址段就可以满足该网络的需求。其中 172.16/16 称为主网,172.16.2/23 称为子网。超网:子网化一定程度上减轻了 IP 地址空间紧张的压力,但是由于在 IP 地址分配初期的考虑不周全,导致 A 类、B 类地址在初其大量分
2、配,资源相当紧张,而一些中型网络又需要超过一个 C 的地址,这进只能分配几个连续的 C 类地址块。为了减小 Internet 路由表的数量,就提出了超网的概念,超网和子网的定义刚好相反,就是借用一部网络位作为主机位。从而达到减小 Internet 路由表的目的。如 192.168.0/24-192.168.3/24 四个 C 类地址段,就是可超网化为192.168.0/22 这样一个超网。 CIDR(无类型域间路由):随着子网和超网概念的深入,IANA 在分配 IP 地址过程中类别的概念越来越淡化,一般情况下就直接以地址块的形式分配地址段,配合路由设备的支持,就出现了无类型域间路由的概念。它是
3、一种工业标准,与 IP 地址一起使用的,用来显示子网位数。例如,172.16.10.1/24 就表示 32位子网掩码中有 24 个 1。简单的说凡是借了位就用到了 CIDR,借少了位叫超网,比如:192.168.1.0/22借多了位叫 VLSM,比如:192.168.1.0/28回头来看例子:一个网络中的主机为 450 台如何使用合适的子网掩码呢?求解:计算出主机位取多少位合适(设主机位位数为 n)2 的 n 次方-2 大于或等于 450 得出 n 取 9 2 的 9 次方是 512,当然大于 450,这里为什么还要减 2 呢?因为,还要去掉一个网络网络地址(头)和一个广播地址(尾)(当然,有
4、些东西要死记,比如 2 的一次方直到 2 的 10 次方是多少)那子网掩码即是 11111111.11111111.11111110.00000000 换成十进制是 255.255.254.0这样说不难看懂吧?让我们多做些题加深印象!下面就开始说说 VLSM 题的类型:第一类题的类型基本:A已知网络地址,求主机地址。B已知主机地址,求网络地址。衍生:C已知主机地址,求主机地址D已知网络地址,求广播地址。记住了 VLSM 的类型题,挺有用的。A 类例题:已知网络地址,求主机地址。Which two of the addresses below are available for host add
5、resses on the subnet 192.168.15.19/28? (Select two answer choices)A. 192.168.15.17B. 192.168.15.14C 192.168.15.29D. 192.168.15.16E. 192.168.15.31F. None of the aboveAnswer: A, C解析:题的要求是哪两个可用的主机地址是在子网 192.168.15.19/28 中的。这道题的 CIDR 是 /28 ,一个标准的 C 类子网掩码是 /24,所以对于/24 来说,/28 是借了 4 位主机位给网络位,借出来的网络位就叫做子网了。
6、大家想想,借了 4 位子网,写成二进制为 11111111. 11111111. 11111111.11110000,那么对于二进制来说,红色标识的 4 个 1 加起来得多少呢,是 128+64+32+16=240。所以/28 的子网掩码是 255.255.255.240。其实你要看的是最后一个数, 255.255.255.x这前三个 255 都不用去看,重点是最后一个数 240,这才是解题要的信息。第二步,现在引入一个新的数字 256,用 256 减去我们在第一步求得的 240,得多少呢,是 16。呵呵,能算出 16 就离答案不远,解题的关键就出来了。(这一方法是我从CCNA 学习指南第 5
7、 版的第三章学到的,让我可以一看到VLSM 的题就信心大增,希望此方法你能理解,学会,相信会受益匪浅的)第三步,16 是什么意思呢,这么说吧,首先我们先明白, 对于 C 类的网段,都是一个网段有 255 个 IP 地址的,(如果不理解,可以想想你是如何配置自己电脑的 IP 地址。)那么这个 16 就把 255 划分成每 16 为一块,0、16、32、48、64、80、96、112、128、240,这些数又是什么呢,我可以告诉你,他们就是网络地址,能知道网络地址是十分有用的,网络地址是用来标识一个网段的。比如说 192.168.15.0/28,这个网段是从 192.168.15.0 到192.1
8、68.15.15 的,简化来说就是从 015。在一个网段中我们要考虑的是哪个是网络地址、哪个是广播地址,那么剩余的就是我们经常要去求的主机地址。正如我前面所说的 0、16、32、48、64、80、96、112、128、240,这些数就是网络地址,那么广播地址是哪些呢,其实就是该网段的最后一个 IP 地址。举个例子,32 网段的广播地址是 47,48 网段的广播地址是 63。这里再说一句,32 网段的下一个网段是 48 号网段,相信这个大家都没有问题,我想说的是求该网段的广播地址其实就是下一个网段的网络地址的前一个地址,这里举个地址,我要求 32 网段的广播地址,其实就是 32 网段的下一个网段
9、的前一个地址,即 48 减一,即 47。所以说知道了网络地址后,广播地址也会相应的出现,对于/28 划分的网段来说,广播地址是:15、31、47、63、79、95、111、127、239、255。说到这里才终于可以对题讲解了,192.168.15.19/28 这个地址,我们可以知道 19 这个主机号是归属于 16 这个网络地址的,而 16 这个网络地址的范围是 1631,但 16 是网络号、31 是广播地址,所以可用主机的范围是1730。所以 A 选项正确;B 选项不在范围内,排除;C 选项正确:D 选项是网络地址,不可以选;E 选项是广播地址,不可以选;所以答案选择 A、C 。这就是对 VL
10、SM 解题的方法,这里总结一些对 VLSM 的解题步骤:1. 要敏感的看到/? ,然后展开成子网。比如 C 类的/27 ,借了 3 位,即 192+64+32=224。2. 用 256 做减法。比如 256 减 224,得“块数”32。解题的关键点就出来了。3. 有了块后,解题就开始了。现在你试试做下面的这道题,方法一样:Your ISP has assigned you the following IP address and subnet mask:IP address: 199.141.27.0Subnet mask: 255.255.255.240Which of the follow
11、ing addresses can be allocated to hosts on the resulting subnet? (Select all that apply)A. 199.141.27.2B. 199.141.27.175C. 199.141.27.13D. 199.141.27.11E. 199.141.27.208F. 199.141.27.112Answer: A, C, D做出来了么,如果觉得自己还有可能做出来就不要看我的解释先。通过自己的努力自己的双手做出来的题是十分兴奋,高兴的不知道你是否有同感呢。好了,下面讲这道题的解析:看到 Subnet mask: 255.
12、255.255.240 这句话没,这个子网的关键词是 240。(这就是上面讲的步骤的第一步),然后用 256 减 240,得【块】16,第二步出来,解题的插入点就出来了。第三步,有了块后,解题开始,看到 IP address: 199.141.27.0 这句话没,通过块 16,可以推出 0 网段的范围是 015,所以A、C、D 都是正确的,而 B、D、E、F 都不在 0 网段的 015 这个范围内。到这里,解题就算结束了。B 类例题 : 已知主机地址,求网络地址。What is the subnet for the host IP address 201.100.5.68/28?A. 201.
13、100.5.0B. 201.100.5.32C. 201.100.5.64D. 201.100.5.65E. 201.100.5.31F. 201.100.5.1Answer: C解析:这道题是已知可用的 IP 地址来求出该地址的网络地址。这种题的解法同A 类题正好相反,但解题的步骤是一样的。1.首先进入你眼帘的应该是/28,按照 VLSM 的解题步骤,第一步可以知道,借 4 位可以算出 240。2.用 256 减 240,得“块数”16。解题的插入点就出来了。3.解题开始:看看下面的这个表,可以直观的知道 68 这个主机是在 64 这个网段内的,所以答案就出来了,选 C。下面的这道题,是一道
14、 B 类地址的题,我想有必要讲讲: A TestKing PC has the IP address 172.16.209.10 /22. What is the subnet of this address?A. 172.16.42.0B. 172.16.107.0C. 172.16.208.0D. 172.16.252.0E. 172.16.254.0Answer: C不知道你有没有注意到,前面的题都是 C 类的,并且我也在每道题上声明清楚了。而现在摆在我们面前的是一道 B 类地址的题,怎么知道这是一个 B 类的地址呢,你注意到题中的 IP 地址 172.16.209.10 /22 的头,
15、172 没有,就是由它来决定是不是 B 类地址的。那前面的 C 类呢,呵呵,其实就是192、199、201,这是头来确定它是 C 类的。那么我现在知道 172 是一个 B 类的地址后,又有什么用呢,这里先需要你记住 B 类默认的子网掩码是/16。所以本题中/22 对于/16 来说,借了 6 位。(PS :在本题的最后,我会拓展整理 A 类、B 类、 C 类地址的范围给大家看。)那么现在要做的是用 VLSM 三步解题法来解这道题。第一步,要继续敏感的看到/22,知道了是借 6 位,即128+64+32+16+8+4=252第二步,用 256 来减 252,得出“块数”4。解题的插入点就出来了。第
16、三步,解题开始:我们得出以 4 为一个网段,即:0.0、4.0、8.0、12.0、16.0、200.0、204.0、208.0、212.0、240.0从这些数中你应该能发现:209.10 是归宿于 208.0 网段的。所以,答案选择 C。自己仔细比较 B 类和 C 类的需别。当你能了解 172.16.208.255/22 是一个主机地址而不是广播地址时,就证明你对 B 类的 VLSM 没有问题了。【扩展】:A 类地址范围:0126 ,例如: 1.1.1.1, 10.1.1.2B 类地址范围:127191,例如:172.16.0.1,191.2.2.1C 类地址范围:192223,例如:192.
17、168.0.1,202.111.222.1D 类和 E 类的可以不用管。注意到没有,是哪一类地址是由头来决定的,别的都不用管。知道了是哪一类地址就可以知道该 IP 地址的默认子网掩码。 A 类默认的子网掩码是/8 ,B类默认的子网掩码是/16,而 C 类默认的子网掩码是 /24,这样我们就可以根据题来知道是借了多少位,VLSM 三步解题法的第一步就有保障了。If a host on a network has the address 172.16.45.14/30, what is the address of the subnetwork to which this host belongs
18、?A. 172.16.45.0B. 172.16.45.4C. 172.16.45.8D. 172.16.45.12E. 172.16.45.18Answer: D解析:这道题做出来了么,如果觉得自己还有可能做出来我建议还是就不要看我的解释先。下面是我的快速用 VLSM 三步解题法的思路:1. /30,借 14 位,得 255.252。 2.神奇的 256 一减 252 得“块数”4,解题的插入点就出来了。3.解题开始,具体问题具体分析:题的要求是已知主机地址求该主机地址的子网地址。那么最接近 14 的这个主机地址的子网是什么呢,0、4、8、12、,其实就是 12。所以答案是选择 D。C 类型
19、题:已知主机地址,求主机地址Of the following choices, which IP address should be assigned to the PC host?A. 192.168.5.5B. 192.168.5.32C. 192.168.5.40D. 192.168.5.63E. 192.168.5.75Answer: C.解析:这种题就是比较实际的题了,运用前面所讲的知识和 VLSM 三步解题法就可以求出答案。这种题一定要会,一定要理解,现实中会遇到。路由器的接口地址是:192.168.5.33/27VLSM 三步解题法:1. 依然要敏感的看到/27,得出掩码 224
20、。2. 用 256 减 224,得出“块数”32。解题的插入点就出来了。3. 解题开始:题的要求是配置一个 IP 地址给 PC 机。大家想想, PC 机是和路由器直连的,你要让 PC 机能够访问到路由器,即 192.168.5.33 这个 IP 地址,那就要让 PC 机的 IP 地址和路由器的 IP 地址 192.168.5.33 在同一网段内。这点很重要,很需要理解的。(如果还是不理解,可以想想你在宿舍是如何连接起局域网的,很重要的一点就是要让每台机子的 IP 地址都在同一网段内。)所以最接近 33 这个地址的网络地址是块数 32,即网络地址为192.168.5.32/27,这个网络地址的范围是 3263。其中 32 是网络地址,63 是广播地址,3362 是主机地址。 所以说答案就从 3362 里找吧,当然,33 这个主机已经给路由器的接口用了,所以应该是从 3462 这些地址里找,答案选 C。A 选项不在范围内;B 选项是网络地址;D 选项是广播地址;而 E 选项不在范围内。相信现在解 VLSM 的题已经难不倒你了吧!