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

2023-12-18 04:45

本文主要是介绍计算机网络:网络层(无分类编址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(内涵计算例题)的相关知识点,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!

这篇关于计算机网络:网络层(无分类编址CIDR、计算题讲解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/507085

相关文章

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

javascript fetch 用法讲解

《javascriptfetch用法讲解》fetch是一个现代化的JavaScriptAPI,用于发送网络请求并获取资源,它是浏览器提供的全局方法,可以替代传统的XMLHttpRequest,这篇... 目录1. 基本语法1.1 语法1.2 示例:简单 GET 请求2. Response 对象3. 配置请求

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模