计算机网络 —— 网络层(CIDR)

计算机网络 —— 网络层(CIDR)

  • CIDR的提出背景
  • 什么是CIDR
      • 基本概念
      • 划分示例
      • 应用优势
  • 举个例子
  • 路由聚合
  • 常用数字

我们今天来看IPv4地址划分的另一种方法 —— CIDR

CIDR的提出背景

CIDR(无类域间路由,Classless Inter-Domain Routing)的提出背景主要源自于两个关键问题:IP地址空间的迅速消耗和互联网路由表的爆炸性增长。

  1. IP地址耗尽:早期的互联网采用的是分类的IP地址系统(A类、B类、C类等),这种分配方式固定且僵化,导致大量IP地址分配不均和浪费。特别是随着互联网的迅速普及,可用的IPv4地址开始面临严重的短缺问题。A类地址块过大,适合大型网络,但数量稀少;B类地址虽较适中,但也造成浪费;而C类地址虽小,却无法满足大规模网络的需求。因此,需要一种更高效、灵活的地址分配策略来缓解地址空间的紧张状况。
  1. 路由表膨胀:每个互联网服务提供商(ISP)和大型网络都需要维护路由表来指导数据包的转发。在传统的分类地址体系下,随着互联网的扩展,独立的网络数量急剧增加,导致全球路由器的路由表项数目激增。这不仅消耗了更多的硬件资源,也降低了路由查找的速度,影响了网络性能和稳定性。

为了应对这些挑战,CIDR于1993年被引入。它打破了传统分类地址的限制,引入了可变长度子网掩码(VLSM),允许网络管理员根据实际需求自由划分和分配IP地址,既有效利用了稀缺的地址资源,又通过路由聚合减少了路由表的大小,提高了网络路由的效率和可扩展性。CIDR的实施是互联网架构史上的一个重要里程碑,它延长了IPv4的使用寿命,并为后来IPv6的设计和过渡提供了宝贵经验。

什么是CIDR

CIDR(无类域间路由)地址划分是一种改进的IP地址分配方式,它摒弃了传统的A类、B类、C类等分类地址的划分,转而使用可变长度子网掩码(VLSM)的概念。在CIDR中,IP地址被表示为一个地址和一个网络前缀的组合,例如192.0.2.0/24。这里的/24表示前24位是网络部分,剩余的8位用于主机地址。

基本概念

  1. 网络前缀(Prefix):指定了IP地址中用作网络部分的位数。例如,在/24中,前24位代表网络部分。
  2. 块大小(Block Size):根据前缀确定的地址块的大小,如/24块包含2(32-24)=28=256个地址。
  3. 聚合(Aggregation):CIDR允许将多个连续的网络块聚合为一个更大的网络块,减少路由表条目,提高路由效率。
  4. 子网划分:在CIDR框架下,可以根据需要灵活地从大块地址中划分出小的子网,每个子网可以有不同的主机数。

划分示例

假设有一个地址块10.0.0.0/16,表示有2^16(即65,536)个地址。如果要从中划分出几个不同大小的子网,可以这样操作:

  • 子网1:10.0.0.0/18,前18位为网络部分,剩下14位为主机部分,此子网有2^14=16,384个地址。
  • 子网2:10.0.128.0/18,同样有16,384个地址,但与子网1是不重叠的独立地址块。
  • 子网3:10.0.64.0/20,前20位为网络部分,剩下12位为主机部分,包含2^12=4,096个地址。

应用优势

  • 高效地址分配:CIDR减少了地址浪费,使得IP地址分配更加适应实际网络规模。
  • 简化路由:通过路由聚合,大幅度减小了Internet骨干路由器中的路由表条目数量,提高了路由效率。
  • 灵活性:网络管理员可以根据实际需求动态调整网络大小和结构。

在这里插入图片描述在这里插入图片描述

CIDR是现代互联网基础设施中不可或缺的一部分,对于理解和管理复杂的网络环境至关重要。

举个例子

在这里插入图片描述

在这里插入图片描述

路由聚合

路由聚合,也称为路由汇总或CIDR(无类域间路由)路由聚合,是网络工程中一项关键技术,其目的是优化IP网络中的路由选择过程,提高网络效率和可管理性。以下是路由聚合的一些关键点:

  1. 基本原理:路由聚合通过将多个具有连续网络前缀的路由条目合并为一个更概括的路由条目来工作。例如,如果有多个路由分别指向10.0.1.0/2410.0.2.0/2410.0.3.0/24,它们可以被聚合为一个10.0.0.0/22的路由条目。这样做是因为所有这些网络的前22位是相同的,因此可以用一个更宽泛的前缀来代表它们。
  1. 作用
  • 减小路由表大小:通过减少路由表中的条目数量,路由聚合可以降低对路由器内存的需求,加快路由表查询速度,从而提高整体网络性能。
  • 优化路由通告:在Internet的层级结构中,服务提供商可以向其对等体或客户通告更少的聚合路由,而不是每个具体网络的路由,减少了网络间的路由信息交换量。
  • 增强网络稳定性:当网络发生局部变化时,聚合路由可以保持不变,避免因个别路由变化而引起的全局路由振荡。
  • 提高安全性:对外部隐藏具体的网络拓扑细节,增加网络的防御能力。
  1. 实施考虑
  • 连续性:只有连续的、具有相同前缀的网络才能被有效聚合。
  • 重叠问题:确保聚合后的路由不会与现有的其他路由条目产生冲突或重叠。
  • 配置与协议支持:路由聚合通常在边界网关协议(如BGP)中配置,并依赖于协议的支持来传播聚合信息。
  1. 与带宽聚合的区别:需要注意的是,虽然都叫做“聚合”,路由聚合与带宽聚合(也称链路聚合或多线路负载均衡)是两个不同的概念。带宽聚合是指将多条物理链路合并为一个逻辑链路,以增加带宽和提高连接可靠性,而路由聚合则是关于路由表条目的优化和简化。

在这里插入图片描述在这里插入图片描述

常用数字

这里大家要记一下常用的数字的二进制:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/25145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大众汽车裁员加速,38万元遣散费起步

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 几周前,大众汽车宣布了一项新的裁员计划。 一、裁员行动与额外福利并行 大众汽车近期在裁员行动上取得了显著进展,其遣散…

深度解析:AI Prompt 提示词工程的兴起、争议与未来发展

PART1: 提示词工程的兴起 在人工智能领域中,一个新的领域——提示词工程(prompt engineering)——开始显露头角。 这个领域的核心在于精心设计输入,以引导AI模型产生特定的、期望的输出。 随着AI技术的飞速发展,特别…

Spark MLlib 机器学习

Spark MLlib是一个在Apache Spark上构建的机器学习库,用于解决大规模数据集上的机器学习问题。它提供了一组丰富的机器学习算法和工具,可以用于分类、回归、聚类、推荐和协同过滤等任务。同时,它还提供了一些特征提取、特征转换和特征选择的工…

无头+单向+非循环链表的实现

这里写目录标题 1. 链表1.1 链表的概念及结构1.2 链表的分类 2. 接口实现3. 链表的实现3.1 打印链表3.2 头插3.3 尾插3.4 头删3.5 尾删3.6 单链表查找3.7 在pos之前插入3.8 在pos之后插入3.9 删除pos位置的值3.10 删除pos位置之后的值3.11 链表的释放3.12 动态申请一个节点 4. …

《精通ChatGPT:从入门到大师的Prompt指南》第11章:Prompt与AI的未来

第11章:Prompt与AI的未来 11.1 技术发展的新方向 在迅速发展的人工智能领域,Prompt工程作为与AI模型交互的核心方式,正处于技术创新的前沿。未来几年,Prompt工程将沿着多个新方向发展,这些方向不仅会改变我们与AI互动…

Golang 高级面试题

在准备 Golang 高级面试时,通常会涉及到多种关键领域。本文将涵盖各个领域的具体问题示例和实现代码。 数据结构与算法 实现堆、链表、栈、队列、哈希表 1.最小堆: 最小堆是一种完全二叉树,树中每个节点的值都小于等于其子节点的值。常用于实现优先队列。 package main…

Spring AI 第三讲Embeddings(嵌入式) Model API 第一讲OpenAI 嵌入

Spring AI 支持 OpenAI 的文本嵌入模型。OpenAI 的文本嵌入测量文本字符串的相关性。嵌入是一个浮点数向量(列表)。两个向量之间的距离可以衡量它们之间的相关性。距离小表示关联度高,距离大表示关联度低。 先决条件 您需要与 OpenAI 创建一…

Python怎么降雪:一场编程的奇幻之旅

Python怎么降雪:一场编程的奇幻之旅 在编程的世界里,我们通常与数字、逻辑和算法打交道,但今天,让我们打破常规,走进一个更加奇幻的领域——使用Python来模拟降雪的场景。这不仅是一场编程的挑战,更是一次…

idm究竟有哪些优势

IDM,即Internet Download Manager,是一款功能强大的下载管理软件,具有许多优势。以下是IDM的主要优势: 加快下载速度:IDM采用多线程技术下载文件,能够同时分割文件并使用多个连接下载,从而大大提…

【Linux】rsync远程数据同步工具使用

一、rsync工具介绍 rsync是一个用于在本地或远程系统之间同步文件和目录的工具。它通过比较源和目标文件的元数据(例如修改时间和大小)来确定需要同步的内容,然后仅传输必要的数据进行更新,从而实现高效的同步操作。 rsync有如下特…

Transformer学习之SwinTransformer

1.算法简介 本文主要参考自以下链接,整理成线上的形式用于备忘,排版太麻烦了直接贴图,参考的朋友慎重,不如直接看参考链接,后期有了新的理解继续更正。 参考链接1:Swin-Transformer网络结构详解_swin tran…

程序员如何转行成为一个漫画自媒体-连载2

仿写关于如何撰写文案的内容如下: 如何编写文案? 从零开始自己创作显然效率过低,初期阶段还是需要从其他漫画公众号中学习技巧,然而只能看到最终成品,却无法获得他们的实际文案。 不过,通过广泛的阅读&…

【文件导出2】导出html文件数据

导出html文件数据 文章目录 导出html文件数据前言一、实现代码1.controller层2.接口层3.接口实现类4.FileUtil 工具类 二、文件导出效果总结 前言 springBoot项目实现在线导出html文件数据的功能。 一、实现代码 1.controller层 GetMapping("/record/_export") Ap…

.NET4.8安装失败解决办法

在windows 2008 r2 安装.net 4.8 ,一开始下载 .net 4.8 的web 安装包,链接如下: https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/9b7b8746971ed51a1770ae4293618187/ndp48-web.exe 安装过…

Flutter中同步与异步

一,同步/异步的理解 1,await:同步机制 同步操作会阻止其他操作执行,直到完成为止。同步就好比打电话一样,打电话时都是一个人在说另一个人听,一个人在说的时候另一个人等待,等另一个人说完后再…

【Git】远程操作 -- 详解

一、理解分布式版本控制系统 我们目前所说的所有内容(工作区、暂存区、版本库等等)都是在本地,也就是在我们的笔记本或者计算机上。而我们的 Git 其实是分布式版本控制系统。 上面这段话是什么意思呢? 可以简单理解为&#xff1…

java算法篇之二分查找的公共函数

Arrays.binarySearch 方法的底层实现是使用经过优化的二分查找算法。以下是大致的二分查找算法实现步骤: 首先,确定搜索范围的起始索引 low 和结束索引 high,它们分别初始化为数组的起始位置和结束位置。在每一轮循环中,计算中间…

node-mysql中占位符?的使用

要mysql执行的命令串如果是固定的,那么不需要使用占位符,如果其中的一些参数允许在执行前可自由设定,那么使用占位符就很必要,这样你可以不需要由自己来拼接出一个完整的执行串,只需要在执行串模板上将占位符的参数设置…

新型数据库技术一览

新型数据库技术是信息技术领域中不断发展和创新的一部分,它们旨在解决传统数据库系统面临的挑战,如大数据量的处理、实时分析、云服务集成、数据安全性和多模型支持等。以下是一些当前备受关注的新型数据库技术: NoSQL数据库: 非…

USB (2)

USB transaction 以2.0的枚举过程为例。 首先是TOKEN TRANSACTION,其次是DATA TRANSACTION,再次是Handshake Transaction。 上面的SETUP TRANSACTION是TOKEN TRANSACTION的一种。另外三种是OUT, IN, SOF。 在每个TRANSACTION中又包含了3个STAGE&#x…