【计算机网络】网络层 : 无分类编址 CIDR ( 编址发展 | CIDR 优点 | CIDR 相关计算 | 构成超网 | 最长前缀匹配 | 计算示例 )★
文章目录
一、无分类编址 CIDR 发展
无分类编址 CIDR 发展 : “无分类编址” 又称为 “无分类域间路由选择” ;
① 分类 IP 地址 : 原来的 分类 IP 地址 , A 类 , B 类 , C 类 , IP 地址组成 : 网络号 + 主机号 ;
② 子网划分 IP 地址 : 在 分类 IP 地址基础上 , 划分子网 , IP 地址组成 : 网络号 + 子网号 + 主机号 ;
③ 无分类编址法 : 由 网络前缀 + 主机号 组成 ;
二、无分类编址 CIDR 优点
无分类编址 CIDR 优点 :
① 消除分类划分 : 消除了 网络地址分类概念 ( ABC ) , 消除了划分子网概念 ; 网络地址分类会限制网络的发展 , 导致网络 IP 地址用尽的情况 , 子网划分也是此类弊端 ;
② 方便子网划分 : 将 子网地址 与 子网掩码 融合 , 子网划分更容易 ;
三、无分类编址 CIDR 记法
无分类域间路由选择 CIDR 记法 : IP 地址后面加上 “/” , 表示网络前缀的长度 ;
如 :
, 表示该 IP 地址 , 前
位 是网络前缀 ;
CIDR 地址块 : CIDR 将 网络前缀 相同的 , 连续的 , IP 地址 , 组成一个 “CIDR 地址块” ;
CIDR 地址块相关计算 : 上述示例中 ,
地址 , 是某个 CIDR 地址块中的地址 , 根据该地址可以得到该 CIDR 地址块 , 以及计算出该地址块的 最大地址 和 最小地址 ;
① 先将
地址转为 二进制 形式 ;
前
位是 网络前缀 , 为 :
② 地址块地址 : 二进制形式如下 :
转为十进制为 :
③ 最小地址 : 最小地址就是 主机号 全
; 也就是地址块地址 ;
④ 最大地址 : 最大地址就是 主机号 全
;
⑤ 子网掩码 : 又称为 “地址掩码” , 网络前缀对应的前
位 为
, 主机号对应的位数为
;
转为十进制为 :
四、构成超网
构成超网 : 将 多个 CIDR 编址的 子网 聚合成一个较大的子网 , 又称为 “路由聚合” ;
方法 : 缩短网络前缀 ;
构成超网示例 :
- 子网块
:
;
- 子网块
:
;
上述网络前缀都是
位 , 将网络前缀缩短
位 , 即可构成一个新的超网 , 网络前缀为
位 ;
新的超网为 :
五、最长前缀匹配
最长前缀匹配 : 使用 CIDR 编址时 , 路由查找时 , 将可能得到的几个匹配结果 , 选择 符合 网络前缀 的 , 具有最长网络前缀 的路由 ;
原理 : 因为 前缀越长 , 主机号选择性就越小 , 越容易找到对应的主机 ;
计算示例 :
路由表如下 :
- 目的网络
:
, 下一跳路由
;
- 目的网络
:
, 下一跳路由
;
- 目的网络
:
, 下一跳路由
;
- 目的网络
:
, 下一跳路由
;
分析 :
- 其中 目的网络
是 默认路由 , 如果上述
个都不符合 , 就选择默认路由 ;
- 目的网络
的 网络前缀 符合要求 , 网络前缀长度为
, 该路由选择 比 默认路由 要好 ;
- 目的网络
的 网络前缀 符合要求 , 网络前缀长度为
, 该路由选择 比 目标网络
要好 ;
- 目的网络
的网络前缀是
, 该网络前缀不符合要求 , 必须不能选择 ;
因此这里选择 目的网络
, 作为 下一跳路由 ;
六、计算示例
某网络 IP 地址为
, 采用 定长子网划分 , 子网掩码为
, 求网络中的最大子网个数 , 每个子网的最大可分配地址个数 ?
网络地址是
, 前
位 是网络前缀 ;
在 CIDR 基础之上 , 进行定长子网划分 , 后面
位 , 一部分作为 子网号 , 一部分作为主机号 ;
子网掩码为
, 转为二进制是 :
由上面的子网掩码可得 , 子网号 占
位 , 主机号 占
位 ;
最大子网个数是
个 , 在 CIDR 子网中 , 子网号可以全
, 全
;
每个子网的最大主机个数是 :
, 要减去 全
和 全
两种情况 ;
相关文章
- 数字城市+物联网+云计算+人工智能,打造智慧城市
- 虚拟化与云计算硬核技术内幕 (26) —— 塑料姐妹花和塌房的爱豆
- 大数据,云计算和物联网的关系图_大数据和物联网的关系
- hive、maxcompute计算当月累计、当年累计值示例
- React源码分析7-state计算流程和优先级_2023-02-21
- 【计算理论】自动机设计 ( 设计自动机 | 确定性自动机设计示例 | 确定性与非确定性 | 自动机中的不确定性 )
- 【计算理论】Pumping 引理 ( 四个等价概念 | 自动机界限 | Pumping 引理简介 | Pumping 引理证明正则表达式 | Pumping 引理示例分析 )
- 【计算理论】图灵机 ( 非确定性图灵机 -> 确定性图灵机 | 模仿过程示例 | 算法的数学模型 )
- 【计算理论】计算理论总结 ( 正则表达式转为非确定性有限自动机 NFA | 示例 ) ★★
- 【Android UI】贝塞尔曲线 ⑦ ( 使用 德卡斯特里奥算法 公式计算的 方法绘制三阶贝塞尔曲线示例 )
- VR要成为下一代计算平台还得靠手势识别? | 雷锋网公开课
- 使用Oracle天数函数计算日期差值(oracle 天数函数)
- Linux遥控器:掌控跨越计算的新世界(linux 遥控器)
- Redis浮点计算引发的异常处理(redis运行浮点例外)
- C语言小程序计算第二天日期示例代码
- linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)
- javascript计算当月剩余天数(天数计算器)示例代码
- python根据经纬度计算距离示例
- java计算任意位水仙花数示例(回文数)