网络层——可变长子网掩码(VLSM)和无类域间路由(CIDR)技术

一、基本演化过程

标准子网掩码分类——子网划分——可变长子网掩码——CIDR——超网(将小的网络组成大的网络)

二、可变长的子网掩码(VLSM)
问题1:
在传统的子网掩码中,子网掩码一致,主机数量平均分布,子网号不能全为0或全为1,这样会导致浪费一些IP,并且有时不能很好满足主机分配数量的需求

此时需要用到可变长的子网掩码(VLSM)

VLSM(Variable Length Subnet masks)
在传统的子网掩码中,子网掩码一致,主机数量平均分布,子网号不能全为0或全为1,这样会导致浪费一些IP,并且有时不能很好满足主机分配数量的需求

子网掩码的另一种表示方法(斜线记法)
IP为:200.19.90.128/25
表示前25用来表示子网掩码,也就是11111111 11111111 11111111 10000000

假设有一种情况
某单位的IP为 : 200.19.90.128/25,要求分为3个子网,其中子网1有52台计算机,子网2和子网3有23台计算机。

很容易判断最后一段为关键
最后一段的子网掩码为:1000 0000
按照之前的想法,如果子网号不能全1的话,又要分成3个子网,那么应该是1001 0000、1010 0000、1100 0000三种情况

也就是将前三位作为子网掩码,那么主机号就有2^5-2=30个主机号可以用,很明显不满足题目要求
此时就*需要掩码往右移了,即可变长的子网掩码。

VLSM操作步骤

可变长掩码操作步骤:
原始掩码向右增加一个掩码位,相当于将原始ip划分两半,其中一半可以用来给有52台计算机的地方
再将另一半划分两半,每一半包含30个主机位,可以用在有23台计算机的地方

三、无类域间路由选择(CIDR)
问题2:
如果每个C类网络都需要在Internet上的核心路由器上占用一个路由表项,那么核心路由器会越来越庞大,如>何解决?

问题3:
一个机构30000台主机,且只能申请C类地址,如何配置?

此时需要用到CIDR)无类域间路由选择技术

CIDR(Classless Inter-Domain Routing,无类域间路由选择)它消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。它可以将好几个IP网络结合在一起,使用一种无类别的域际路由选择算法,使它们合并成一条路由从而较少路由表中的路由条目减轻路由器的负担。

假设有一种情况
某单位有8个C类网络210.31.224.0/24~210.31.231.0/24,这个单位电脑比较多,要将所有网络连在一起。

如果没有CIDR技术,路由器可能要这8个IP转换的路由表,延迟就会比较大

CIDR聚合
关键为第三段
224的二进制:1110 0000
231的二进制:1110 0111
224~231的8个IP地址是连续的
可以发现这8个C类网络在第三段中前5位一样,可以聚合为210.31.224.0/21将这一个存在路由表里,前21位表示网络号,路由表的表项就减少了。

另一个例子
一个机构有500台机器,2个C类IP:202.119.36.0和202.119.37.0,可以用路由聚合成一个超网:
220.119.36.0/23将第24个比特变为主机号

CIDR 最主要的特点
CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
IP 地址从三层编址(使用子网掩码)又回到了两层编址。
CIDR 使用“斜线记法” ,它又称为CIDR记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三层编址中子网掩码中 1 的个数)。
CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。
CIDR 地址块

128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
这个地址块的起始地址是 128.14.32.0。
在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。
128.14.32.0/20 地址块的最小地址:128.14.32.0
128.14.32.0/20 地址块的最大地址:128.14.47.255
全 0 和全 1 的主机号地址一般不使用。
举个栗子
128.14.32.0/20 表示的地址(2^12 个地址)

路由聚合(route aggregation)
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
路由聚合也称为构成超网(supernetting)。
CIDR 地址块划分举例
一个大学把c类地址分配给各个系

这个 ISP (互联网服务提供商)共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

构成超网
前缀长度不超过 23 位的 CIDR 地址块都包含了多个 C 类地址。
这些 C 类地址合起来就构成了超网。
网络前缀越短,其地址块所包含的地址数就越多。而在三层结构的IP地址中,划分子网是使网络前缀变长。
四、CIDR与VLSM的区别:
CIDR是把几个标准网络合成一个大的网络
VLSM是把一个标准网络分成几个小型网络(子网)
CIDR是子网掩码往左边移了,VLSM是子网掩码往右边移了
————————————————
原文链接:https://blog.csdn.net/qq_33414271/article/details/78636303

原文地址:https://www.cnblogs.com/jiucai/p/12200442.html

时间: 2024-10-27 14:33:50

网络层——可变长子网掩码(VLSM)和无类域间路由(CIDR)技术的相关文章

可变长度子网掩码和无类域间路由

VLSM (Variable Length Subnet Mask:可变长子网掩码) VLSM的定义:为了有效的使用无类别域间路由(CIDR)和路由汇总来控制路由表的大小,网络管理员使用先进的IP寻址技术,VLSM就是其中的常用方式. VLSM的作用:在类的IP地址的基础上,从主机号部分借出相应的位数来做网络号,也就是增加网络号的位数.使用可变长度子网掩码的目的,就是在每个子网上保留足够的主机数的同时,把一个网再分成多个子网.这是一种产生不同大小子网的网络分配机制,开发可变长度子网掩码的想法就是

子网、超网和无类域间路由

需要注意的是,不要以为同一网络的计算机分配不同的IP地址,就可以提高网络传输效率.事实上,同一网络内的计算机仍然处于同一广播域,广播包的数量不会由于IP地址的不同而减少,所以,仅仅是为计算机指定不同网段,并不能实现划分广播域的目的.若欲减少广播域,最根本的解决办法就是划分VLAN,然后为每个VLAN分别指定不同的IP网段. 传统IP地址分类的缺点是不能在网络内部使用路由,这样一来,对于比较大的网络,例如一个A类网络,会由于网络中主机数量太多而变得难以管理.为此,引入子网掩码(NetMask),从

可变长子网掩码 VLSM

2014-05-05 17:26:08 标签:IP地址 路由器 技术部 路由表 长子 VLSM的介绍: VLSM(VLSM(Variable Length Subnetwork Mask,可变长子网掩码) 是为了有效的使用CIDR(无类别域间路由)和路由汇总来控制路由表的大小,并可以对子网进行层次化编址,以便最有效的利用现有的地址空间.在使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIPv2,OSPF,EIGRP,IS-IS和BGPv4:如果在一个运行RIPv1或IGRP的网

VLSM(可变长子网掩码)

http://blog.sina.com.cn/s/blog_635e1a9e0100yk51.html(转载) VLSM的介绍: VLSM(VLSM(Variable Length Subnetwork Mask,可变长子网掩码) 是为了有效的使用CIDR(无类别域间路由)和路由汇总来控制路由表的大小,并可以对子网进行层次化编址,以便最有效的利用现有的地址空间.在使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括RIPv2,OSPF,EIGRP,IS-IS和BGPv4:如果在一个

划分子网,变长子网掩码VLSM,路由汇总CIDR

IP基础:32位地址长度,4个八位位组即4个字节,使用点分十进制表示,标准网络分类A.B.C类,D类组播和E类科研,固定网络位和主机位,掩码-标识对应IP地址的网络位和主机位,详细介绍ABC类地址,及私有IP地址[需补充] ###################### 划分子网的好处:缩减网络流量,优化网络性能,简化管理,更灵活的组建网络 划分子网的基础就是借位,借用主机位来作为网络位,注意划分的子网越多,则每个子网内的主机数就越少,反之亦然.IP地址=网络号+子网号+主机号.要根据情况选择合适

子网划分精讲和可变长子网(VLSM)划分实例分析

一.子网划分的目的: 满足不同网络对IP地址的需求 实现网络的层次性 节省IP地址二. 子网划分的思路:#1.步骤:我们创建/划分子网的时候,一定是根据一定的要求创建的,这个要求就是我们实际的网络需求.一般我们按如下步骤来明确我们的网络需求: (1).确定每个子网所需的主机数:每个主机一个;每个路由器接口一个.(2).确定需要的网络ID数:(网段)每个LAN子网一个;每条广域网连接一个.(3).根据上述需求,确定如下内容:一个用于整个网络的子网掩码;每个物理网段的唯一子网ID;每个子网的主机范围

C 可变长参数运用-----编写Lua的通用调用函数

1.C可变长参数 printf这个使用频繁的C语言函数的参数列表包含一个const char*的描述串,还有一个可变长参数(...) ,如下为printf的函数声明. int printf(const char * __restrict, ...) 在stdarg.h这个头文件中包含着对可变长参数进行操作的一些宏(x86平台为例): #define va_start(ap,v)( ap = (va_list)&v + _INTSIZEOF(v) ) #define va_arg(ap,t) ( 

第九章 C99可变长数组VLA详解

C90及C++的数组对象定义是静态联编的,在编译期就必须给定对象的完整信息.但在程序设计过程中,我们常常遇到需要根据上下文环境来定义数组的情况,在运行期才能确知数组的长度.对于这种情况,C90及C++没有什么很好的办法去解决(STL的方法除外),只能在堆中创建一个内存映像与需求数组一样的替代品,这种替代品不具有数组类型,这是一个遗憾.C99的可变长数组为这个问题提供了一个部分解决方案. 可变长数组(variable length array,简称VLA)中的可变长指的是编译期可变,数组定义时其长

Java中可变长参数的使用及注意事项

在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print("hello","lisi");print("hello","张三", "alexia");下面介绍如何定义可变长参数 以及如何使用可变长参数. 1. 可变长参数的定义 使用...表示可变长参数,例如 prin