可变长度子网掩码(VLSM)在子网划分中的应用

在学习可变长度子网掩码时,必须先熟练掌握二进制与十进制的转化、计算机中数据的单位(字节、位)等知识。

一、什么是可变长度子网掩码?

要理解可变长度子网掩码,先要理解子网掩码;要理解子网掩码,先要理解IP地址的组成。

在互联网上,每台计算机必须有一个唯一的IP地址作用这台计算机在身份标志,可以将IP地址理解成一台计算机的×××号码。在互联网上不允许出现相同的IP地址(NAT技术另论,它是一种IP地址共享技术,用于解决IP地址资源不足的问题)。×××的编号要按照一定的规则进行,同样,IP地址的编号也要按照一定的规则进行。

IP地址(本文的IP指的都是IP v4)编号规则或特征:

  1. 一个IP地址由4个字节组成,采用点分十进制方式表示

例如,一个4个字节的IP地址的二进制形式是:11000000 10101000 11000111 00000001,其点分十进制表示就是将每个字节依次转化为十进制并用点分隔开,即:192.168.199.1。

在全国计算机等级考试一级中常会出现一道这样的题目:

判读以下IP地址哪个是正确的IP地址()

(A)192.256.4.4 (B)124.45.2.3.3 (C)45.21.4.3 (D)78.4.5

很明显正确答案是C。

A错在点分十进制表示的IP地址中,每个点分隔开的数值不能大于255,因为一个字节转化为十进制最大为255;B、D错在IP使用点分十制表示是4段(三个点分隔开4个十进制数)。

2. IP地址的分类


IP地址的分类

IP地址以第一个字节进行分类的,可分为五类:A、B、C、D、E。

D类地址用于多点广播,E类地址用于科研、保留(目前找不到具体的应用资料),这两类地址不在本文中讨论。

3.各类IP地址的特征及判断依据

A类地址:第一个字节第一位二进制位为0,第一个字节十进制值为[1,126];

B类地址:第一个字节前两位二进制位为10,第一个字节十进制值为[128,191];

C类地址:第一个字节前三位二进制位为110,第一个字节十进制值为[192,223];

D类地址:第一个字节前四位二进制位为1110,第一个字节十进制值为[224,239]

E类地址:第一个字节前五位二进制位为11110,第一个字节十进制值为[240,254]。

在全国计算机计算机等级考试一级中,经常给出多个IP地址,判断这些IP地址所属的类别,判断的方法就是根据第一个字节的前几位二进制值或第一个字节的十进制进行判断的。

  1. IP地址由两部分组成:网络号与主机号

×××号前两位表示省代码,3、4位表示市代码,5、6位表示区代码……通过每位赋予不同的意义可以分解出×××的信息。IP地址也一样,一个IP地址包含两部分信息,一部分代表IP地址属于哪个网络的,另一部分代表IP地址在这网络中的编号是多少。IP地址属于哪个网络称之为该IP地址的网络号,IP地址在其网络中的编号称之为该IP地址的主机号,而且,网络号在前,主机号在后。(备注:D、E两类地址不区分网络号与主机号)

5. 通过子网掩码计算网络号与主机号

子网掩码与IP地址的表示类似,也是使用4个字节(32bit)表示,也可以用点分十进制表示。只是子网掩码没有网络号、主机号之分了,而且它只有与IP地址一起合用,用于计算IP地址的网络号与主机号才有意义。

4个字节32位bit位的子网掩码组成:N个1后面跟着M个0(N+M=32)。

A类地址,子网掩码为11111111 00000000 00000000 00000000(二进制),即255.0.0.0。

B类地址,子网掩码为11111111 11111111 00000000 00000000(二进制),即255.255.0.0。

C类地址,子网掩码为11111111 11111111 11111111 00000000(二进制),即255.255.255.0。

通过子网掩码计算网络号与主机号的方法是:将IP地址转化为二进制数,再与其对应的子网掩码(二进制数)进行与运算,得到的是网络号,剩下的是主机号。

例如:


备注:将点分十进制的IP地址转化为二进制时,如果转化后不足8位,要在前面补0,补到8位满为止。

通过上面的计算,可以观察到,对于有类地址:A类IP的网络号就是前面一个字节(或者前面8个bit位),B类IP的网络号就是前面二个字节(或者前面16个bit位),C类IP的网络号就是前面三个字节(或者前面18个bit位),剩余部分就是其主机号。

6. IP地址中的保留地址

IP地址中有一些是保留地址,不能在公网中使用的。

[图片上传中...(image.png-6abb35-1581412499346-0)]

每个网络中还有两个地址不能使用:一个是主机位全为0,用于表示这个网络使用,另一个是主机位全为1,用于这个网络的广播使用。

例如:A类12.5.4.3/8(通常在IP地址后面加上/N用于表示子网掩码的位数),其IP地址的二进制表示是00001100 00000101 00000100 00000011,子网掩码的二进制是1111111100000000 00000000 00000000,其网络号00001100 00000000 00000000 00000000(12.0.0.0),后面三个字节用于表示主机号。主机号上的二进制全为0时,即00001100 00000000 00000000 00000000(12.0.0.0),这个地址不能用于表示主机;当主机号全为1时,即00001100 11111111 11111111 11111111(12.255.255.255),这个地址也不能用于表示主机(它用于12.0.0.0这个网络的广播使用)。

7. 三类网络的数量与每个网络的主机数


二、可变长度子网掩码能干什么?

在现实中,如果将一个A类网络分配给一个组织使用,但是这个组织内部的计算机又没有16777214台,这就会造成大量的IP地址闲置与浪费。因此,需要有一种更加灵活的方式根据网络规模的大小来划分网络。思路就是将一个网络再划分为更小的多个子网供不同组织使用。这种划分网络的方式使用的技术就是可变长度子网掩码(VLSM)。可变长度子网掩码在公网与企业内部中都可以使用。

采用可变长度子网掩码,网络的类别已不重要了,网络中主机的数量也不是固定的而是依据实际需要定。为了实现灵活的网络大小规划,在网络号与主机号中间增加了一个概念——子网。子网概念的增加并没有改变IP v4中IP地址的实际长度,而是采用:从表示主机的二进制位位数中借用一定的位数来表示子网的方法实现(网络中主机数会减少)。同时,子网掩码也不再是8位、16、24位这些8的倍数了,它会根据实际需要使用不同的位数来表示网络号。

例如:146.45.182.6/20

表示IP地址是146.45.182.6,子网掩码是20位,即:255.255.240.0

子网掩码二进制的表示是11111111 11111111 11110000 00000000

                                                      20位

该地址如果按类分是个B类地址,子网掩码应该是255.255.0.0,即16位,主机数应该可达65534。而采用可变长度子网掩码后,子网掩码是255.255.240.0,即20位,主机数减少了(用于表示主机的二进制位拿出4位,表示子网)。

计算该IP的网络号、主机数的方法如下:

146.45.182.6 转为二进制表示 10010010 00101101 10110110 00000110

255.255.240.0 转为二进制表示 11111111 11111111 11110000 00000000

两者进行与运算得 10010010 00101101 10110000 00000000

10010010 00101101 10110000 00000000转为十进制146.45.176.0,即为网络号

主机数=232-20-2=4094,前20位二进制位表示网络号(含子网),剩下12位二进制位表示主机号,可表示212-2个(要扣掉全0,和全1两个IP)。

网络中可用的IP地址从:10010010 00101101 10110000 00000001(146.45.176.1)

               到:10010010   00101101  10111111   11111110(146.45.191.254)

该IP地址的网络号:146.45.176.0,广播地址:146.45.191.255,子网掩码:255.255.240.0

三、怎么确定可变子网掩码的长度?

确定可变子网掩码长度的过程其实就是划分子网的过程。

当从主机位中借1位二进制位时,当前网络可划分出2个子网,每个子网主机数是原来的1/2-2;当从主机位中借2位二进制位时,当前网络可划分出4个子网,每个子网主机数是原来的1/4-2……当从主机位中借N位二进制位时,当前网络可划分为2N个子网,每个子网主机数是原来的2-N-2。

例如:192.168.10.0/24这个C类网络要划分出2个相等主机数的子网,则

1.网络号与子网掩码转为二进制

网络号 192.168.10.0 转为二进制 11000000 10101000 00001010 00000000

子网掩码 255.255.255.0 转为二进制 11111111 11111111 11111111 00000000

2.要把一个网络划分成两个相等子网,子网掩码要加1位,变成

11111111 11111111 11111111 10000000

3.网络号从主机位借一位用于子网11000000 10101000 00001010 XYYYYYYY

X位代表借入的,用于表示子网号,7个Y代表剩余主机位,X有两个值0和1。

1)为0时:

11000000 10101000 00001010 0YYYYYYY

当Y全为0,表示划分出的这个子网的网络号,为11000000 10101000 00001010 00000000

    其主机可用IP地址范围是:

    11000000  10101000  00001010  0 0000001(192.168.10.1,掩码:255.255.255.128)

11000000 10101000 00001010 0 1111110(192.168.10.126,掩码:255.255.255.128)

2)为1时

11000000 10101000 00001010 1YYYYYYY

当Y全为0,表示划分出的这个子网的网络号,为11000000 10101000 00001010 10000000

其主机可用IP地址范围是:

11000000 10101000 00001010 1 0000001(192.168.10.129,掩码:255.255.255.128)

11000000 10101000 00001010 1 1111110(192.168.10.254,掩码:255.255.255.128)

综述,192.168.10.0/24要划分成两个相等主机数的子网,子网掩码要改为25位,划分出的两个子网情况是:

子网1:

网络号:192.168.10.0 子网掩码:255.255.255.128 广播地址:192.168.10.127

主机IP地址范围:192.168.10.1至192.168.10.126

子网2:

网络号:192.168.10.128       子网掩码:255.255.255.128       广播地址:192.168.10.255

主机IP地址范围:192.168.10.129至192.168.10.254

在子网划分的实际应用中,制定子网划分的方案,要首先确定子网的规模,即子网包含的主机数是多少,再根据主机数的确定要借用多少主机位用于表示子网。

例如:某学校有个部门获得一个C类网络(地址段)的独立使用权,该网络(网段)为192.168.20.0。该部门有三间机房和一间办公室,每间机房有51台计算机,办公室有10台计算机,机房和办公室都需要使用该网络(网段)。请为该部门做一份子网规划方案以满足这个部门的需要,要求每间机房、办公室的主机在各自的一个子网中。

对一个网络进行子网划分,根据其每个子网需要容纳的主机数来确定需要从主机位中借几位的二进制位用于表示子网。假设一个子网的主机数有51台,则主机位最少要使用6个二进制位才能满足主机的编号,即2n-2>51(n就是二进制的位数)。

在现实应用中,对C类网络划分子网的应用明显比A、B两类多得多。对于一个C类的网络进行子网划分,可以参照下面总结的这张表:


(备注:有些教科书中把划分出的子网再减2,即借来的二进制位全0和全1代表的子网不使用,个人实践验证,使用也没有问题)

通过对上面表格的参照,每间机房51台主机,如果加上网关就是52个IP,30<52<62,为最大化利用IP地址,应采用向主机位借2位的。即:

机房一:子网络为192.168.20.0,掩码为255.255.255.192,IP范围为192.168.20.1至192.168.20.62,广播地址192.168.20.63;

机房二:子网络为192.168.20.64,掩码为255.255.255.192,IP范围为192.168.20.65至192.168.20.126,广播地址192.168.20.127;

机房三:子网络为192.168.20.128,掩码为255.255.255.192,IP范围为192.168.20.129至192.168.20.190,广播地址192.168.20.191;

办公室10台,如果加上网关是11个IP,6<11<14,为最大化利用IP地址,可采用向主机位借4位。其中借两位的00、01、10(二进制代码)的子网已在三个机房中使用,可以从11开始再借2位。即:

子网络为192.168.20.192,掩码为255.255.255.240,IP范围为192.168.20.193至192.168.20.206,广播地址192.168.20.207。

(备注:如果上面的表述看不清,就把点分十进制转化为二进制表示会有助于理解)

四、PacketTracer模拟器中模拟

拓扑图:

在三层交换机Multilayer Switch0上做如下配置:

Switch>enable

Switch#configure terminal

Switch(config)#interface f0/1

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.20.1 255.255.255.192

Switch(config-if)#no shutdown

Switch(config-if)#interface f0/2

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.20.65255.255.255.192

Switch(config-if)#no shutdown

Switch(config-if)#interface f0/3

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.20.129255.255.255.192

Switch(config-if)#no shutdown

Switch(config-if)#interface f0/4

Switch(config-if)#no switchport

Switch(config-if)#ip address 192.168.20.193255.255.255.240

Switch(config-if)#no shutdown

Switch(config-if)#interface f0/5

Switch(config-if)#no switchport

Switch(config-if)#ip address 172.16.0.1 255.255.255.252

Switch(config-if)#no shutdown

Switch(config-if)#exit

Switch(config)#ip routing

Switch(config)#ip route 0.0.0.0 0.0.0.0 172.16.0.2

在Router0上做如下配置:

Router>enable

Router#configure terminal

Router(config)#interface f0/0

Router(config-if)#ip address 172.16.0.2 255.255.255.252

Router(config-if)#no shutdown

Router(config-if)#interface f0/1

Router(config-if)#ip address 192.168.30.1 255.255.255.0

Router(config-if)#no shutdown

Router(config-if)#exit

Router(config)#ip route192.168.20.0 255.255.255.0 172.16.0.1

在Router0上做回程路由时,采用路由汇聚将到达4个子网的4条路由汇聚成一条,这也是采用VLSM划分子网带来的一个好处,减少了路由条目。

原文地址:https://blog.51cto.com/mmanong/1945144

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349