当前位置: 首页 > news >正文

计算机网络:网络层(无分类编址CIDR、计算题讲解)

带你快速通关期末

文章目录
  • 前言
  • 一、无分类编址CIDR简介
  • 二、构成超网
  • 三、最长前缀匹配
  • 总结


前言

我们在前面知道了分类地址,但是分类地址又有很多缺陷:

  • B类地址很快将分配完毕!
  • 路由表中的项目急剧增长!

一、无分类编址CIDR简介

无分类域间路由选择CIDR:

  • 1.消除了传统的A类,B类和c类地址以及划分子网的概念。
  • 2.融合子网地址与子网掩码,方便子网划分。

CIDR记法:IP地址后加上“/”,然后写上网络前缀(可以任意长度)的位数。e.g.128.14.32.0/20

CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”。

例如:
128.14.35.7/20是某CIDR地址块中的一个地址
二进制:10000000 00001110 00100011 00000111

最小地址:10000000 00001110 00100000 00000000
128.14.32.0

最大地址:10000000 00001110 00101111 11111111
128.14.47.255

地址块:128.14.32.0/20 (选用最小地址)

地址掩码(子网掩码):11111111 11111111 11110000 00000000

例题1:
192.199.170.82/27

解答:
因为地址后面有/27,所以是采用无分类编址CIDR方法,所以网络号占27位,主机号占5位(总和依旧为32位)。
前三位不看,只看最后一位,即82
82的二进制是:01010010,前三位还是网络号,所以
最小地址是:01000000 =>64
192.199.170.64

最大地址是:01011111 =>95
192.199.170.95

地址块:192.199.170.64

地址掩码(子网掩码):11111111 11111111 11111111 11100000

二、构成超网

将多个子网聚合成一个较大的子网,叫做构成超网,或路由聚合。
方法:将网络前缀缩短(所有网络地址取交集) 。


要想让他们两个网络聚合,那么就需要取两个网络地址的交集。


206.1.0.0/17与206.1.128.0/17取交集是206.1.0.0/16

例题:
某路由表中有转发接口相同的4条路由表项,其目的网络地址分别为35.230.32.0/21、35.230.40.0/21、35.230.48.0/21、35.230.56.0/21,将该4条路由聚合后的目的网络地址为(C) 。
A.35.230.0.0/19
B.35.230.0.0/20
C.35.230.32.0/19
D.35.230.32.0/20

解答:
根据题给的四个网络地址,我们只需要看第三位就行了。
35.230.32.0/21 00100000
35.230.40.0/21 00101000
35.230.48.0/21 00110000
35.230.56.0/21 00111000

我们看到前三位是相同的,所以取交集时就取到前三位,所以聚合后的网络前缀应该就是19位,聚合后的主机号应该全为0,所以后面的所有都是0,答案应该是35.230.32.0/19

三、最长前缀匹配

使用CIDR时,查找路由表可能得到几个匹配结果(跟网络掩码按位相与),应选择具有最长网络前缀的路由。前缀越长,地址块越小,路由越具体。

例题:
路由器RO的路由表见下表:若进入路由器RO的分组的目的地址为132.19.237.5,请问该分组应该被转发到哪一个下一跳路由器()
A. R1
B. R2
C. R3
D. R4


解答:
让目的地址132.19.237.5分别与四个目的网络相与,找到最长的网络前缀。其中有一个全0的目的网络——0.0.0.0/0,这个是默认网关,只有在所有的路由表的目的网络当中没用任何一个目的网络与分组的目的网络想匹配的情况下,才会使用默认网关。

132.0.0.0/8与132.19.237.5相与为132.0.0.0/8(匹配)
132.19.237.5 => 10000100 00010011 11101101 00000101
132.0.0.0/8 => 11111111 00000000 00000000 00000000
相与为:10000100 00000000 00000000 00000000 => 132.0.0.0/8

132.0.0.0/11与132.19.237.5相与为132.0.0.0/11(匹配)
132.19.237.5 => 10000100 00010011 11101101 00000101
132.0.0.0/11 => 11111111 11100000 00000000 00000000
相与为:10000100 00000000 00000000 00000000 => 132.0.0.0/11

132.19.232.0/22与132.19.237.5相与为132.19.236.0/22(不匹配)
132.19.237.5 => 10000100 00010011 11101101 00000101
132.19.232.0/22 => 11111111 11111111 11111100 00000000
相与为:10000100 00010011 11101100 00000000 => 132.19.236.0/22

所以选B(选最长的)


总结

以上就是网络层之无分类编址CIDR(内涵计算例题)的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

相关文章:

  • 亿赛通电子文档安全管理系统 SQL注入漏洞复现
  • 分布式块存储 ZBS 的自主研发之旅|元数据管理
  • 深度学习项目部署:解析 NVIDIA Docker 中的 CUDA 镜像版本:base 版本、 runtime 版本、devel 版本
  • 基于linux系统的Tomcat+Mysql+Jdk环境搭建(二)jdk1.8 linux 上传到MobaXterm 工具的已有session里
  • 基于YOLOv8深度学习的吸烟/抽烟行为检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战
  • 我的NPI项目之Android 安全系列 -- EMVCo
  • 从零开始搭建Go语言开发环境
  • 13.Spring 整合 Kafka + 发送系统通知 + 显示系统通知
  • 全球汽车行业的数字化转型:产品和后端的渐进之旅
  • WPF里面的Dispatcher详解
  • 记一次挖矿病毒的溯源
  • 基于ssm日用品网站设计论文
  • 深度剖析JavaScript中冒泡和捕获机制、事件代理
  • 升级Xcode15,iOS17后问题解决
  • FFmpeg的AVcodecParser
  • 分享一款快速APP功能测试工具
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Javascript 原型链
  • JavaScript实现分页效果
  • Laravel Mix运行时关于es2015报错解决方案
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Python_OOP
  • Python实现BT种子转化为磁力链接【实战】
  • Python学习之路16-使用API
  • React组件设计模式(一)
  • select2 取值 遍历 设置默认值
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Vue2.x学习三:事件处理生命周期钩子
  • Vue--数据传输
  • WebSocket使用
  • 官方解决所有 npm 全局安装权限问题
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 聚簇索引和非聚簇索引
  • 那些被忽略的 JavaScript 数组方法细节
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 用jquery写贪吃蛇
  • MyCAT水平分库
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • (10)STL算法之搜索(二) 二分查找
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)shell中括号的特殊用法 linux if多条件判断
  • ******之网络***——物理***
  • ***通过什么方式***网吧
  • .describe() python_Python-Win32com-Excel
  • .NET 5种线程安全集合
  • .Net FrameWork总结
  • .NetCore部署微服务(二)
  • .netcore如何运行环境安装到Linux服务器