无分类域间路由选择CIDR【与子网掩码有关的简单算法】
子网掩码快速算法及可变长掩码

子网掩码快速算法及可变长掩码子网掩码快速算法及可变长掩码(VLSM)(有资料均从网络上摘抄汇总,有耐心看下去就能明白,CIDR部分看起来比较费劲如果你希望每个子网中只有5个ip地址可以给机器用,那么你就最少需要准备给每个子网7个ip地址,因为需要加上两头的不可用的网络和广播ip,所以你需要选比7多的最近的那位,也就是8,为什么比7多的是8,不是9,10或者其它的呢?这是因为只能选择2的N次方,也就是0,2,4,8,16,32,64,128这几个数,就是说选每个子网8个ip。
好,到这一步,你就可以算掩码了,这个方法就是:最后一位掩码就是256减去你每个子网所需要的ip地址的数量,那么这个例子就是256-8=248,那么算出这个,你就可以知道那些ip是不能用的了,看:0-7,8-15,16-23,24-31依此类推,写在上面的0、7、8、15、16、23、24、31(依此类推)都是不能用的,你应该用某两个数字之间的IP,那个就是一个子网可用的IP。
再拿200台机器分成4个子网来做例子吧。
200台机器,4个子网,那么就是每个子网50台机器,设定为192.168.10.0,C类的IP,大子网掩码应为255.255.255.0,对巴,但是我们要分子网,所以按照上面的,我们用32个IP一个子网内不够,应该每个子网用64个IP(其中62位可用,足够了吧),然后用我的办法:子网掩码应该是256-64=192,那么总的子网掩码应该为:255.255.255.192。
不相信?算算:0-63,64-127,128-191,192-255,这样你就可以把四个区域分别设定到四个子网的机器上了。
(256-掩码)就是分段后每段中的ip数,再计算已知IP在哪个段就可以了。
其中段里面的IP第一个IP是网络地址,最后一个是广播地址。
比如100.100.100.100 255.255.255.240这个ip的网络号和广播地址,以及这个段中的其它地址的计算方法如下:256-240=16,说明分成了几个段以后,每段中的IP地址数量是16个,其中第一个是网络号,最后一个是广播地址100/16=6.x说明100在16x6和16x7之间16x6=96,16x7=112说明100所在的段中第一个地址是96,最后一个是111那就是100.100.100.100 255.255.255.240这个ip所在的网段的网络地址是100.100.100.96,广播地址是100.100.100.111可用的IP是100.100.100.97到100.100.100.110如果是一个无类地址172.38.3.40/25的话25是255.255.255.128256-128=128,每段128个,分别是0-127,128-25540是属于第一段,所以网络位是172.38.3.0,广播是172.38.3.127,ip范围是172.38.3.1-172.38.3.126。
网络工程师CIDR详解--划分子网构成超网和无分类编址资料

netid + subnetid hostid
255.255.255.11111000 X. Y. Z. 00000000子网地址 X. Y. Z. 00001000子网地址 X. Y. Z. 00001111 子网广播地址 X. Y. Z. 00011111 子网广播地址 X. Y. Z. 01100000子网地址
• 主机号 vs. 主机地址
– 主机号(Host id):IP地址的一个组成部分 – 主机地址(Host address):一个IP地址
12
特定: 不为全0或全1术语 Nhomakorabea• 网络地址(Net address)
– Net id 特定
– Subnet id + Host id 全0 全1 网络广播地址
19
• X.Y.Z.0, X.Y.Z.8, X.Y.Z.15, X.Y.Z.31, X.Y.Z.96
00000000 00001000 00001111 00011111 01100000
• 255.255.255.224
– 224: 11100000 子网中IP地址个数 = 25 = 32 – 子网地址: X.Y.Z.0, X.Y.Z.96 0 = 0 x 32, 96 = 3 x 32 – 子网广播地址: X.Y.Z.31 – 主机地址: X.Y.Z.8, X.Y.Z.15 31 = 1 x 32 – 1
Net id Subnet id
– 更适合于物理网的实际大小
• 不能再用首字节判定网络大小 • 字节边界没有意义,仅用在点分十进制表示法中
Host id
• Mask
– 表示网络或子网的大小
– 32 bits 二进制数
• 1:网络(Netid)或子网(Netid + Subnetid)部分 • 0:主机部分(Hostid)
无分类编址CIDR介绍

CIDR 地址块
CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。 128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网
络前缀的位数,所以这个地址的主机号是 12 位)。 1. 这个地址块的起始地址是 128.14.32.0。 2. 在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地
个)。 整个 IPv4 的地址空间最终将全部耗尽。
IP 编址问题的演进
1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用 几个不同的子网掩码。
使用变长子网掩码 VLSM (Variable Length Subnet Mask)可进一 步提高 IP 地址资源的利用率。
在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字 是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。
M = 11111111 11111111 11111100 00000000
AND D = 206.
0.
01000111. 130
206.
0.
01000100. 0
与 206.0.68.0/22 匹配!
最长前缀匹配举例
收到的分组的目的地址 D = 206.0.71.130
路由表中的项目:206.0.68.0/22
= 206.0.71.128/25
匹配
选择两个匹配的地址中更具体的一个,即选择 最长前缀的地址。
3. 使用二叉线索查找路由表
当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一 个非常重要的问题。
为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种 层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的 就是二叉线索 (binary trie)。
细述无类别域间路由(CIDR)技术

细述无类别域间路由(CIDR)技术细述无类别域间路由(CIDR)技术(CCNP)细述无类别域间路由(CIDR)技术CIDR (Classless Inter-Domain Routing)无级内部域路由CIDR 是一种比IP地址方法更加灵活的分配和指定Internet地址的方法,这样一来,可用的Internet地址数目就大大增加了。
在Internet 主干网上,CIDR是现在正由所有的网关主机使用的路由系统。
Internet的规划者现在正希望所有的网络服务提供商使用这种路由方式。
原来的IP规定IP地址为四级结构,也就是A到D级。
每一级的地址分配一部分32位地址格式到一个网络地址上,而其它用来指定在这个网络内的主机地址。
最常用的IP地址类是B类地址,它可以分配65,533个主机地址空间。
如果一个公司需要的地址数在254到65,533之间,那么一大部的地址就被浪费了。
正是基于这个原因,直到CIDR出来时, Internet地址不必要的被浪费得不够使用了。
CIDR有效地提供了一种更为灵活的在路由器中指定网络地址的方法。
(在新的IP 中,将使用128位地址,这将大大扩展可用的地址数,但是新的IP6距离广泛使用还有一定的时日)。
使用CIDR时,每个IP地址都有网络前缀,它标识了网络的总数或单独一个网络,这个前缀也被指定为IP地址的一部分,而且还因为需要不同这个地址的长短也会有所不同(这一点不同于过去的IP地址分配方法)。
比较短的目标IP地址或路径是不精确的。
比较长的比较精确,路由器也需要在路由表中使用更精确或更长的网络前缀来指定目标地址。
一个CIDR 网络地址看起来就象下面的样子:192.30.250.00/18"192.30.250.00" 是网络地址本身,而"18"表明头18位是地址的网络部分,而其它14位代表主机。
CIDR使一个路由表项代表前面要经过网络,好象公共电话系统中的区号的功能一样,让不同的信号到不同的网络中去,在这样一个地址中集合一些网络的方法被称为超级网方法。
cidr划分区间

cidr划分区间【实用版】目录1.CIDR 的定义和作用2.CIDR 划分区间的方法3.CIDR 划分区间的优点4.实际应用案例正文一、CIDR 的定义和作用CIDR(无类别域间路由)是一种用于在互联网中分配 IP 地址的方法。
它通过将 IP 地址分为网络地址和主机地址两部分,有效地解决了 IP 地址耗尽的问题。
CIDR 技术的出现,使得网络管理员可以更加灵活地管理和分配 IP 地址资源。
二、CIDR 划分区间的方法CIDR 的划分区间主要通过两个参数来实现:网络前缀和子网掩码。
网络前缀用于表示网络地址,而子网掩码则用于表示主机地址。
在划分区间时,我们需要将 IP 地址的二进制表示与子网掩码进行按位与操作,得到的结果即为网络地址。
举个例子,假设我们有一个 CIDR 地址块:192.168.1.0/24,其中“/24”表示子网掩码为 255.255.255.0。
通过对 IP 地址和子网掩码进行按位与操作,我们可以得到网络地址:192.168.1.0。
三、CIDR 划分区间的优点1.节约 IP 地址资源:CIDR 技术通过灵活地划分网络地址和主机地址,有效地提高了 IP 地址的利用率。
2.简化路由:CIDR 划分区间使得网络管理员可以按照需求灵活地划分子网,从而简化了路由器的路由操作。
3.提高网络安全性:通过划分子网,可以限制网络中的主机数量,从而降低网络攻击的风险。
四、实际应用案例在我国,CIDR 技术已经被广泛应用于互联网、企业内部网络等领域。
例如,中国电信、中国联通等运营商在分配 IP 地址时,都会采用 CIDR 技术进行划分区间,以提高 IP 地址资源的利用率和网络管理效率。
cidr 合并 算法 -回复

cidr 合并算法-回复什么是CIDR?CIDR是“无类域间路由选择”(Classless Inter-Domain Routing)的缩写。
CIDR是一种网络地址分配的方法,它通过对IP地址进行划分和汇总来提高IP地址的使用效率。
在传统的IP地址分配方案中,IP地址使用三个类别:A类、B类和C类。
每个类别有固定的网络位和主机位。
这种分配方式导致了IP地址的大量浪费。
CIDR通过使用可变长度子网掩码(Variable Length Subnet Mask,VLSM)的方式,将IP地址划分成更小的子网,从而更有效地分配IP地址。
CIDR的好处是什么?CIDR具有多种好处。
首先,它可以解决IP地址浪费的问题。
传统的IP地址分配方式限制了每个网络的主机数量,并且往往会有大量未被使用的IP地址。
通过CIDR,网络管理员可以更灵活地划分子网,从而避免了IP地址的浪费。
其次,CIDR可以提高路由表的效率。
在传统的IP地址分配方式中,路由器需要保存大量的路由表项以识别各个子网的路径。
而CIDR可以将多个子网合并成一个更大的网络块,从而大大减少了路由表的大小,提高了路由器的效率。
另外,CIDR还可以提高网络的安全性。
通过CIDR,网络管理员可以更精确地控制对不同子网的访问权限,减少网络攻击的风险。
CIDR合并是什么?CIDR合并是将多个CIDR网络块合并成一个更大的网络块的过程。
合并后的网络块可以被用于更高效的IP地址分配和路由。
CIDR合并算法是如何工作的?CIDR合并算法通常使用Trie数据结构(也称为前缀树)来实现。
下面是CIDR合并算法的一般步骤:步骤1:将所有待合并的CIDR网络块按照网络长度(子网掩码位数)进行排序。
步骤2:从第一个CIDR网络块开始,将其插入到Trie树中。
步骤3:对于每个后续的CIDR网络块,判断是否可以与Trie树中的已有网络块合并。
合并条件是:合并后的网络块的网络长度与原有的网络块相同,并且网络块的前缀部分相同。
CIDR无类别域间路由选择解析

CIDR无类别域间路由选择解析本文为大家讲解CIDR无类别域间路由选择解析,希望能帮到大家。
可能大家平时经常看到类似下面的IP地址:192.168.0.0/24很多人对后面的/24不是很明白。
其实这个就是CIDR,中文是无类别域间路由选择(CIDR:Classless and Subnet Address Extensions and Supernetting); 无类别域间路由选择(CIDR),有时又称之为超网(Supernetting),是互联网中一种新的址方式,与传统的 A 类、B 类和 C 类寻址模式相比,CIDR 在 IP 地址分配方面更为高效。
通常认为,互联网是 CIDR-ized 地址和传统的 A 类、B 类和 C 类地址的集合。
基本上所有最新的路由器都极力支持CIDR 和互联网权威机构,以鼓励所有用户采用CIDR 模式。
目前很多Linux下面的程序、系统、路由都使用这种方式来划分IP。
比如BIND就用的这种方式。
因为老忘记这个东西,所以这里做个备忘。
CIDR : netmask缩短VLSM: netmask增长使用CIDR聚合地址的方法与使用VLSM划分子网的方法类似。
在使用VLSM划分子网时,将原来分类IP地址中的主机位按照需要划出一部分作为网络位使用;而在使用CIDR聚合地址时,则是将原来分类IP地址中的网络位划出一部分作为主机位使用。
什么是VLSM? VLSM提出供了在一个主类(A、B、C类)网络内包含多个子网掩码的能力,以及对一个子网的再进行子网划分的能力。
它的优点如下:1:对IP地址更为有效的使用-如果不采用VLSM,公司将被限制为在一个A、B、C类网络号内只能使用一个子网掩码;2:路由归纳的能力更强-VLSM允许在编址计划中有更多的体系分层,因此可以在路由表内进行更好的路由归纳。
变长子网掩码(VLSM)的作用:节约IP地址空间;减少路由表大小。
使用VLSM时,所采用的路由协议必须能够支持它。
CIDR子网划分

CIDR子网划分CIDR子网划分实例1 C :255.255.255.192 (/26)这个例如跟前面那个二进制的例如是一样的,我们来看看到底谁快。
这里将对网络192.168.10.0 进行子网划分,所使用的子网掩码是255.255.255.192192.168.10.0 = 网络地址255.255.255.192 = 子网掩码下面我们就来回答一下这5个问题子网数?192 = 11000000 即 2 ^ 2 = 4 个子网每个子网中有主机数? 2 ^ 6 - 2 =62 个主机哪些是合法的子网?256 - 192 = 64 (块大小,很重要的),记住,我们是从0开始递增的,即0 64 128 192每个子网的广播地址?哪些是合法主机?子网号0 64 128 192第一个主机号 1 65 129 193最后一个主机号 62 126 190 254广播地址 63 127 191 255结果是一样的,但是我们这个方法要比刚才那个二进制的快的多。
但是我们应该记住,我们追求的目标是,能够在头脑里划分子网。
而做到这一点,你需要做的事情就是练习!实例2 C 255.255.255.224 (/27)192.168.10.0 = 网络地址255.255.255.224 = 子网掩码子网数? 224 = 11100000 即 2 ^ 3= 8个子网每个子网中有主机数? 2 ^ 5 - 2 =30 个主机哪些是合法的子网?256 - 224 = 32 (块大小),记住,我们是从0开始递增的,即0 32 64 96 128 160 192 224每个子网的广播地址?哪些是合法主机?子网号0 32 64 96 128 160 192 224第一个主机号 1 33 65 97 129 161 193 225最后一个主机号 30 62 94 126 158 190 222 254广播地址 31 63 95 127 159 192 2 23 255实例6 B 255.255.192.0 (/18)172.16.0.0 = 网络地址255.255.192.0 = 子网掩码子网数?192 = 11000000 我们现在看的是第3个8位 2 ^ 2 = 4 个子网每个子网中有主机数? 2 ^ 14 - 2 =16382个主机哪些是合法的子网?第3个8位的块大小是256 - 192= 64 ,记住,我们是从0开始递增的,即0.0 64.0 128.0 192.0每个子网的广播地址?哪些是合法主机?子网号0.0 64.0 128.0 192.0第一个主机号 0.1 64.1 128.1 192.1最后一个主机号63.254 127.254 191.254 255.254广播地址 63.255 127.255 191.255 255.255实例7 B 255.255.240.0 (/20)172.16.0.0 = 网络地址255.255.240.0 = 子网掩码子网数? 240 = 11110000 我们现在看的是第3个8位 2 ^ 4= 16个子网每个子网中有主机数? 2 ^ 12 - 2 =4094个主机哪些是合法的子网?第3个8位的块大小是256 - 240= 16 ,记住,我们是从0开始递增的,即0.0 16.0 32.0 48.0 ……一直到240.0 每个子网的广播地址?哪些是合法主机?子网号0.0 16.0 32.0 48.0 ……240.0第一个主机号0.1 16.1 32.1 48.1 …… 240.1最后一个主机号15.254 31.254 47.254 63.254 …… 255.254广播地址15.255 31.255 47.255 63.255 ……255.255实例12 A 255.255.0.0 (/16)10.0.0.0 = 网络地址255.255.0.0 = 子网掩码子网数? 11111111 00000000 00000000 2 ^ 8= 256个子网每个子网中有主机数? 2 ^ 16 - 2 =65534个主机哪些是合法的子网?第2个8位的块大小是256- 255= 1 即0.0.0 1.0.0 2.0.0 3.0.0 4.0.0 ……一直到255.0.0每个子网的广播地址?哪些是合法主机?子网号0.0.0 1.0.0 2.0.0 …… 254.0.0 255.0.0第一个主机号0.0.1 1.0.1 2.0.1 …… 254.0.1 255.0.1最后一个主机号0.255.254 1.255.254 2.255.254 …… 254.255.254 255.255.254 广播地址0.255.255 1.255.255 2.255.255 …… 254.255.255 255.255.255实例13 A 255.255.240.0 (/20)10.0.0.0 = 网络地址255.255.240.0 = 子网掩码子网数? 11111111 11110000 00000000 2 ^ 12= 4096个子网每个子网中有主机数? 2 ^ 12 - 2 =4094个主机哪些是合法的子网?第2个8位的块大小是256 - 255= 1 第3个8位的块大小是256 - 240 =16 即0.0.0 0.16.0 0.32.0 0.48.0 0.64.0 …… 一直到255.240.0每个子网的广播地址?哪些是合法主机?子网号0.0.0 0.16.0 0.32.0 0.48.0 ……255.224.0 255.240.0 第一个主机号0.0.1 0.16.1 0.32.1 0.48.1 …… 255.224.1 255.240.1最后一个主机号0.15.254 0.31.254 0.47.254 0.63.254 …… 255.239.254 255.255.254 广播地址0.15.255 0.31.255 0.47.255 0.63.255 …… 255.239.255 255.255.255实例:子网划分【内容摘要】子网划分的两个例子例1:本例通过子网数来划分子网,未考虑主机数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
之前看到过许多与子网掩码的算法,今天在书上找到了一种简单的算法例如一个C类IP
由--->该网络的地址掩码为255.255.255.224(其主机位数为:32-27=52的5
次方32个主机地址)
可以知道应该网络最多有255-224+1=32个网络地址可以使用,但全0,全1情况我们一般保留。
有一种简单算法可以得出该网络地址段内的最小地址与最大地址
算法简单实现如下
1、找出地址掩码中的0和1的交界处,也即192.199.170.82的第四字节"010010(十进制82)"--->取其前3位"010"
注:
【这里的主机位有5位(32-27=5);82=26+24+21故取第四
字节的后五位】
2、将其后5位置0--->"01000(十进制64)"--->192.199.170.
643、将其后5位置1--->"0111(十进制95)"--->192.199.170.95因此该网络地址段内最大的IP为192.199.170.95,最小IP为
192.199.170.64,从这里得到的该网络段内
可以供使用的地址数95-64+1=32与上述255-224+1=32是一致的。
子网掩码常用算法:
一、利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
1)将子网数目转化为二进制来表示
2)取得该二进制的位数,为N
3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。
如欲将B类IP地址168.195.0.0划分成27个子网:
1)27=11011
2)该二进制为五位数,N = 5
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1,得到
255.255.248.0,即为划分成27个子网的B类IP地址168.195.0.0的子网掩码。
二、利用主机数来计算
1)将主机数目转化为二进制来表示
2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定N<8。
如果大于254,则N>8,这就是说主机地址将占据不止8位。
3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为0,即为子网掩码值。
如欲将B(c)类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台
(17):
1) 700=101100
2)该二进制为十位数,N = 10
(1001)
3)将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到
255.255.255.255,然后再从后向前将后10位置0,即
为:1111.1111.11100.0000,即255.255.252.0。
这就是该欲划分成主机为700台的B类IP地址168.195.0.0的子网掩码。
子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。
就这么简单。
请看以下示例:
运算演示之一:
IP 地址192.168.0.1
子网掩码255.255.255.0
转化为二进制进行运算:
IP 地址110000.101000.0000.00001
子网掩码1111.1111.1111.0000
AND运算
11000.101000.0000.0000
转化为十进制后为:
192.168.0.0
运算演示之二:
IP 地址192.168.0.254
子网掩码255.255.255.0
转化为二进制进行运算:
IP 地址110000.101000.0000.11110
子网掩码1111.1111.1111.0000
AND运算
11000.101000.0000.0000
转化为十进制后为:
192.168.0.0
运算演示之三:
IP 地址192.168.0.4子网掩码255.255.255.0
转化为二进制进行运算:
IP 地址110000.101000.0000.000100
子网掩码1111.1111.1111.0000
AND运算
11000.101000.0000.0000
转化为十进制后为:
192.168.0.0
也许你又要问,这样的子网掩码究竟有多少了IP地址可以用呢?你可以这样算。
根据上面我们可以看出,局域网部的ip地址是我们自己规定的(当然和其他的ip地址是一样的),这个是由子网掩码决定的通过对255.255.255.0的分析。
可得出:
前三位IP码由分配下来的数字就只能固定为192.168.0所以就只剩下了最后的一位了,那么显而易见了,ip地址只能有(2的8次方-1),即256-1=255一般末位为0或者是255的都有其特殊的作用。
那么你可能要问了:
如果我的子网掩码不是255.255.255.0呢?你也可以这样做啊假设你的子网掩码是255.255.128.0那么你的局域网内的ip地址的前两位肯定是固定的了。
这样,你就可以按照下边的计算来看看同一个子网内到底能有多少台机器
1、十进制128 =二进制1000 00
2、IP码要和子网掩码进行AND运算
3、IP 地址000100.01001.1*******.********
子网掩码1111.1111.10000.0000
AND运算
000100.01001.10000.0000
转化为十进制后为:
16.73.128.0
4、可知我们内部网可用的IP地址为:
000100.01001.10000.0000到
000100.01001.1111.1111
5、转化为十进制:
16.73.128.0到16.73.255.255
6、0和255通常作为网络的内部特殊用途。
通常不使用。
7、于是最后的结果如下:
我们单位所有可用的IP地址为:
192.168.128.1-192.168.128.254
192.168.129.1-192.168.129.254
192.168.130.1-192.168.130.254
192.168.131.1-192.168.131.254
. . . . . . . . . . . . .
192.168.139.1-192.168.139.254
192.168.140.1-192.168.140.254
192.168.141.1-192.168.141.254
192.168.142.1-192.168.142.254
192.168.143.1-192.168.143.254
. . . . . . . . . . . . .
192.168.254.1-192.168.254.254
192.168.255.1-192.168.255.254
8、总数为(255-128+1)*(254-1+1) =128 * 254 = 32512 现在你就可以看你的子网中能有多少台机器了255.255.255.128
分解:
1111.1111.1111.1000
所以你的内部网络的ip地址只能是
xxxx.xxxx.xxxx.0???????到xxxx.xxxx.xxxx.01111。