CIDR和VLSM的介绍
CIDR
- CIDR(Classless Inter-Domain Routing,无类域间路由)是一种用于对互联网协议(IP)地址进行聚合和分配的标准。CIDR的引入旨在解决IPv4地址空间的不足和低效分配的问题。
- 在传统的IP地址规划中,IP地址空间被划分为不同的类别,如A类、B类和C类。这种划分方式在地址分配-方面存在很多浪费,因为每个类别都有固定数量的地址,不一定适用于所有的网络规模。CIDR的出现消除了这种固定类别的限制,允许更灵活和高效地分配IP地址。
- CIDR采用了"前缀长度表示法",将IP地址表示为"IP地址/前缀长度",例如,192.168.1.0/24。这表示IP地址的前24位是网络部分,而剩余的8位是主机部分。CIDR允许更灵活地分配不同大小的地址块给不同规模的网络,从而更好地支持互联网的增长和地址资源的合理利用。
- CIDR的使用使得路由表的管理更为简单和高效,减小了路由表的规模,提高了路由器的性能。CIDR是互联网工程任务组(IETF)制定的标准之一,广泛应用于互联网中的路由和地址分配。
VLSM
- VLSM(Variable Length Subnet Mask,可变长度子网掩码)是一种网络设计技术,用于更有效地分配IP地址,并允许在网络中使用不同大小的子网。传统的子网划分方法中,所有子网都具有相同数量的主机,这可能导致地址浪费。VLSM允许网络管理员根据每个子网的需求分配不同数量的IP地址。
- 在VLSM中,子网掩码的长度(即网络部分的位数)可以根据每个子网的需求而变化。这使得更大的子网可以用于拥有更多主机的区域,而较小的子网则可以用于拥有较少主机的区域,从而更灵活地利用IP地址空间。
- 例如,考虑一个拥有地址范围192.168.1.0的网络,使用VLSM可以创建不同大小的子网,如:
子网A:192.168.1.0/26,可容纳64个主机
子网B:192.168.1.64/28,可容纳16个主机
子网C:192.168.1.80/29,可容纳8个主机
这种方法有效地减少了IP地址的浪费,因为每个子网的大小可以根据实际需求进行调整。 - VLSM在大型网络中特别有用,因为它允许网络管理员更精细地规划和分配IP地址,确保网络的可扩展性和资源利用率。
区别
-
定义和应用范围:
CIDR: 是一种广泛用于互联网路由的技术,它允许对IP地址进行聚合和汇总,以减小路由表的规模,提高路由器性能。
VLSM: 主要应用于内部网络设计,特别是在大型组织或企业中。VLSM允许在一个网络中使用不同大小的子网,以更灵活地利用IP地址。
-
关注点:
CIDR: 主要关注在互联网上对大量网络进行聚合和路由汇总,以减小路由表的大小。
VLSM: 主要关注在局域网(LAN)内部,允许对内部网络进行更灵活的子网划分,以满足各个子网的不同需求。
-
应用领域:
CIDR: 主要用于全球互联网的路由表优化,以提高整体网络的效率。
VLSM: 主要用于内部网络的设计和管理,以确保有效地使用IP地址,满足不同子网对IP地址的需求。
-
灵活性:
CIDR: 主要关注对大范围IP地址块的聚合和汇总,提高路由的聚合性。
VLSM: 主要关注在小范围内灵活地划分IP地址,以满足各个子网的具体需求。
综上所述,CIDR和VLSM都是与IP地址规划和子网划分有关的技术,但它们的应用场景和关注点不同。CIDR主要用于全球互联网路由表的优化,而VLSM主要用于内部网络的设计和管理,以提高内部子网的效率和资源利用率。
例题
应用类型:VLSM子网划分
如果将172.0.35.128/25划分3个子网,其中第一个子网能容纳55台主机,另外两个子网分别能容纳25台主机,要求网络地址从小到大依次分配给3个子网,这3个子网的掩码分别为255.255.255.192、255.255.255.224和255.255.255.224,可用的IP地址段分别为172.0.35.129 - 172.0.35.190、172.0.35.193 - 172.0.35.222和172.0.35.225 - 172.0.35.254。
- 确定主机位的位数
第一个子网: 2 n − 2 ≥ 55 2^n-2≥55 2n−2≥55,得 n = 6 n=6 n=6(此时可容纳62台主机,题目只需55台)
第二个和第三个子网: 2 n − 2 ≥ 25 2^n-2≥25 2n−2≥25,得 n = 5 n=5 n=5(此时可容纳30台主机,题目只需25台)
-
确定掩码
将C类IP地址写成点分十进制:172.0.35.128->10101100.00000000.00100011.10000000
掩码:11111111.11111111.11111111.10000000(点分十进制表示:255.255.255.128)
-
确定子网的IP地址范围
第一个子网:网络位24位,子网位2位,主机位6位
10101100.00000000.00100011.10000001~10101100.00000000.00100011.10111110(172.0.35.129 - 172.0.35.190)
子网掩码:11111111.11111111.11111111.11000000(点分十进制表示:255.255.255.192)
第二个子网:网络位24位,子网位3位,主机位5位10101100.00000000.00100011.11000001~10101100.00000000.00100011.11011110(172.0.35.193 - 172.0.35.222)
子网掩码:11111111.11111111.11111111.11100000(点分十进制表示:255.255.255.224)
第三个子网:网络位24位,子网位3位,主机位5位10101100.00000000.00100011.11100001~10101100.00000000.00100011.11111110(172.0.35.225- 172.0.35.254)
子网掩码:11111111.11111111.11111111.11100000(点分十进制表示:255.255.255.224)
应用类型:CIDR路由聚合
目的网络(注:掩码长度选可用最大值) | 输出端口 |
---|---|
【61】10.15.0.80/30 | S0(直接连接) |
【62】10.15.0.52/30 | S1(直接连接) |
【63】10.15.0.72/29 | S0 |
【64】10.15.0.64/29 | S1 |
【65】10.15.32.0/22 | S0 |
【66】10.15.16.0/22 | S1 |
①路由器RG的S0端口是由IP地址10.15.0.81,10.15.0.82组成的微型网络,求网络号的方法是将两个IP地址转换成二进制,然后找相同位。不同位取0与相同的位一起组成的IP地址即为网络号。
10.15.0.81转换成二进制:00001010.00001111.00000000.01010001
10.15.0.82转换成二进制:00001010.00001111.00000000.01010010
------------------>得网络号: 00001010.00001111.00000000.01010000
转换成十进制得:10.15.0.80,相同位有30位,因此子网掩码是/30。故【61】处应填入:10.15.0.80/30
②路由器RG的S1端口是由IP地址10.15.0.53,10.15.0.54组成的微型网络,求网络号的方法是将两个IP地址转换成二进制,然后找相同位。不同位取0与相同的位一起组成的IP地址即为网络号。
10.15.0.53转换成二进制:00001010.00001111.00000000.00110101
10.15.0.54转换成二进制:00001010.00001111.00000000.00110110
------------------>得网络号: 00001010.00001111.00000000.00110100
转换成十进制得:10.15.0.52,相同位有30位,因此子网掩码是/30。故【62】处应填入:10.15.0.52/30
③第3行S0的网络应由IP地址10.15.0.73,10.15.0.74,10.15.0.75组成的微型网络,求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.0.73转换成二进制:00001010.00001111.00000000.01001001
10.15.0.74转换成二进制:00001010.00001111.00000000.01001010
10.15.0.75转换成二进制:00001010.00001111.00000000.01001011
------------------>得网络号: 00001010.00001111.00000000.01001000
转换成十进制得:10.15.0.72。该网络有3个IP地址,2^n-2≥3,n的最小取值为3,即子网掩码最少是29(32-3=29)位才能满足该网络的最少需求。故【63】处应填入:10.15.0.72/29
④第4行S1的网络应由IP地址10.15.0.65,10.15.0.66,10.15.0.67组成的微型网络,求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.0.65转换成二进制:00001010.00001111.00000000.01000001
10.15.0.66转换成二进制:00001010.00001111.00000000.01000010
10.15.0.67转换成二进制:00001010.00001111.00000000.01000011
------------------>得网络号: 00001010.00000011.00000000.01000000
转换成十进制得:10.15.0.64。该网络有3个IP地址,2^n-2≥3,n的最小取值为3,即子网掩码最少是29(32-3=29)位才能满足该网络的最少需求。故【64】处应应填入:10.15.0.64/29
⑤第5行的S0的网络应由RC的E0、E1端口所在的网络10.15.32.0/24、10.15.33.0/24与RD的E0、E1端口所在的网络10.15.34.0/24、10.15.35.0/24组成的微型网络。求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.32.0转换成二进制:00001010.00001111.00100000.00000000
10.15.33.0转换成二进制:00001010.00001111.00100001.00000000
10.15.34.0转换成二进制:00001010.00001111.00100010.00000000
10.15.35.0转换成二进制:00001010.00001111.00100011.00000000
------------------>得网络号: 00001010.00000011.00000000.01000000
转换成十进制得:10.15.32.0,相同位有22,因此子网掩码是/22。故【65】处应填入:10.15.32.0/22
⑥第6行的S1的网络应由RA的E0、E1端口所在的网络10.15.17.0/24、10.15.16.0/24与RB的E0、E1端口所在的网络10.15.19.0/24、10.3.18.0/24组成的微型网络。求网络号的方法是将三个IP地址转换成二进制,然后找相同位。不同位取0与相同位一起组成的IP地址即为网络号。
10.15.16.0转换成二进制:00001010.00001111.00010000.00000000
10.15.17.0转换成二进制:00001010.00001111.00010001.00000000
10.15.18.0转换成二进制:00001010.00001111.00010010.00000000
10.15.19.0转换成二进制:00001010.00001111.00010011.00000000
------------------>得网络号: 00001010.00000011.00000000.01000000
转换成十进制得:10.15.16.0,相同位有22,因此子网掩码是/22。故【66】处应填入:10.15.16.0/22