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

【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 划分子网、构造超网

目录

  • 一、概述
  • 二、分类IP地址不合理的地方
  • 三、划分子网
  • 四、无分类编址方法


在这里插入图片描述

一、概述

前面的文章介绍了网络层的网际协议IP,介绍了IP地址的定义,知道了IP地址分为网络标识(网络地址)、主机标识(主机地址)两部分,也清楚了最初IP地址是按照分类被划分为A、B、C、D、E 五类。但是这样的分类却存在不合理的地方,这篇文章的内容之一就是要谈谈这些不合理的地方,以及解决的办法。首先,我们要清楚IP地址编制方法经历的三个阶段,本文也是根据这几个阶段去展开的。

  • 分类的IP地址。最基本的编址方法,于 1981 年通过相应的标准协议。
  • 子网的划分。对分类的IP地址进行改进,其标准 RFC9501985 年通过。
  • 构造超网。比较新的无分类编址方法,1993 年提出后很快就得到推广应用。

在这里插入图片描述

二、分类IP地址不合理的地方

第一,IP地址空间利用率有时很低。
A类地址网络可连接的主机数超过1000万个( 2 24 2^{24} 224-2),而B类地址也有6万多个( 2 16 2^{16} 216-2),C类地址却只有250多个( 2 8 2^{8} 28-2)。有些公司申请了B类地址,但又用不到那么多个,但是又不愿意申请数量太少的C类地址。这一就会导致IP地址的浪费,也会使IP地址空间的资源过早地被用完。
在这里插入图片描述

第二,使路由表变得太大,降低网络性能
路由器都需要从它的路由表去查询怎样达到其他网络的下一跳路由器。因此,互联网中网络数越多,路由器的路由表的项目数就越多。这不仅增加了路由器的成本(需要更多存储空间),而且使查询路由表的时间延长,降低了网络性能。

第三,分类的IP地址不够灵活
分类的IP地址,在申请到一个新的IP之前,新增的网络是没法连接到互联网的。但现实中更多的情况是,一个单位能够随时灵活地增加本单位地网络,而不必事先到互联网管理机构去申请新的网络地址。

在这里插入图片描述

三、划分子网

1985年,在IP地址中增加了一个子网号字段,使二级地址变成了三级地址,能够很好解决分类地址不合理的问题,使用也更灵活。这种做法叫做划分子网(subnetting)[RFC 950],划分子网已经称为互联网的正式标准。其基本思路如下:

  • 划分子网纯属是单位内部的事情。一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网。单位对外表现仍然是一个网络,单位以外的网络不知道这个单位由多少个子网组成。
  • 划分子网的方法,是从IP地址的主机标识(主机地址)借用若干位作为子网号,借用后主机标识(主机地址)也减少同样位数,于是IP地址在本单位内部就变成三级IP地址:网络标识(网络地址)、子网号、主机标识(主机地址),也可以用以下记法来标识;
    在这里插入图片描述
  • 其他网络发给本单位某主机的IP数据报,仍然是根据IP数据报的目的网络地址找到连接在本网络上的路由器,路由器再根据目的网络地址和子网号找到目的子网,最后讲IP数据报交付到目的主机。

🌰举例子
假设现在某个单位申请到一个B类地址,它的网络标识(网络地址)是145.13.0.0,也就只要是目的地址为145.13.x.x的IP数据报都会被送到这个单位的路由器。现在这个单位想划分三个子网:

  • 假设从主机标识拿出8位来做子网号,子网号分别为3、7、21,则三个子网分别为:145.13.3.0145.13.7.0145.13.21.0
  • 划分后,网络对外的网络地址仍旧是145.13.0.0,但路由器收到IP数据报后,再按照IP数据报的目的地址转发到对应子网。
    在这里插入图片描述

子网掩码
上面的例子中,虽然内部划分了子网,但路由器并不知道内部划分了三个子网,怎么把IP数据报转发到对应子网的呢?
答案是使用 子网掩码,子网掩码用二进制方式表示的话, 也是一个32位的数字。虽然RFC文档中并没有规定必须使用连续的1,但还是极力推荐使用连续的 1 ,以免出现可能的差错。
子网掩码 与 收到的数据报的目的IP地址进行逐位的 与运算,就可能得出对应的子网。假设目的IP地址位145.13.3.10,路由器的子网掩码位255.255.255.0,将 目的IP子网掩码 逐个进行 与运算,可以得到子网的网络地址:145.13.3.0
在这里插入图片描述
默认子网掩码:网络没划分子网,则会提供一个默认的子网掩码,默认的子网掩码与IP地址的网络标识正好对应:

  • A类地址默认子网掩码:255.0.0.0
  • B类地址默认子网掩码:255.255.0.0
  • C类地址默认子网掩码:255.255.255.0

在这里插入图片描述

四、无分类编址方法

划分子网在一定程度上缓解了互联网在发展中遇到地困难,但B类地址在1992年已经分配了一半了,眼看很快就要全部分配完毕,而且互联网主干网上地路由表中地项目数急剧增长(从几千个增长到几万个)。预计这两个问题在1994年将变得非常严重,因此,IETF很快就研究出 无分类编址 来解决这两个问题。

可变长子网掩码 VLSM(Variable Length Subnet Mask),早在1987年,RFC1009 就指明在一个划分子网的网络中可同时使用几个不同的子网掩码。使用VLSM可以进一步IP地址的资源利用率。在 VLSM 的基础又研究出 无分类编址 方法,正式名称是 无分类域间路由选择 CIDR(Classless Inter-Domain Routing,CIDR 的读音是sider)。
CIDR 的两个主要特点:

  • 消除了A类、B类、C类地址以及划分子网的概念,可以更有效地分配 IPv4 的地址空间。把32位的IP地址分为两部分,前面部分位 网络前缀,用来指明网络,后面部分指明主机。
    CIDR 还使用 斜线记法,或称为 CIDR记法,在IP地址后面加上斜线 / ,然后再写上网络前缀所占的位数,如:145.13.3.10/24
    在这里插入图片描述
  • CIDR 把网络前缀都相同的连续的IP地址组成一个 CIDR地址块,只要知道这个地址块中的任何一个地址,就可以知道整个地址块的起始地址、最大地址 以及 地址块的地址个数。主机号全0或全1的一般不使用。路由表中就利用 CIDR 地址块来查询目的网络。

参考资料:
《计算机网络》第7版 - 第四章 谢希仁 编著
《图解TCP/IP》第5版
在这里插入图片描述

如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

相关文章:

【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 划分子网、构造超网

目录 一、概述二、分类IP地址不合理的地方三、划分子网四、无分类编址方法 一、概述 前面的文章介绍了网络层的网际协议IP,介绍了IP地址的定义,知道了IP地址分为网络标识(网络地址)、主机标识(主机地址)两部分,也清楚了最初IP地址是按照分类被…...

1-网络初识——网络发展史

目录 1.独立模式 2.网络互联 2.1.局域网(Local Area Network,简称LAN) ①基于网线直连 ②基于集线器组建 ③基于交换机组建 ④基于交换机(网口很多)和路由器组建 2.2.广域网(Wide Area Network&…...

《Spring Guides系列学习》guide35 - guide40

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…...

《算法导论》拓展之 一维二维最近点对问题

一维点对问题 描述:一维最近点对问题是指在给定的一维点集中找到距离最近的两个点。具体来说,给定一维坐标轴上的 n 个点,要找出其中的两个点,使它们的距离最小。 解决办法:解决这个问题的一种常见方法是使用排序和线…...

【C++】动态存储分配

动态存储分配是指在程序运行时根据需要动态地分配和释放内存空间。 C中提供了两个关键的运算符用于动态存储分配:new和delete。 使用new运算符可以在堆(heap)上动态地分配内存空间,并返回所分配内存的首地址。语法如下&#xff1…...

小狗避障-第14届蓝桥杯省赛Scratch中级组真题第4题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第139讲。 小狗避障,本题是2023年5月7日举行的第14届蓝桥杯省赛Scratch图形化编程中级组编程第4题&#xf…...

GPT学习笔记-Embedding的降维与2D,3D可视化

嵌入(Embedding)在机器学习和自然语言处理中是一种表示离散变量(如单词、句子或整个文档)的方式,通常是作为高维向量或者矩阵。嵌入的目标是捕捉到输入数据中的语义信息,使得语义相近的元素在嵌入空间中的距…...

Nautilus Chain上线主网,为DeFi和流支付的未来构建基础

近日,加密行业权威平台 Coinmarketcap 发表了一篇名为“Zebec 模块化 Layer3 链 Nautilus Chain上线主网,为 DeFi 和流支付的未来构建基础”的文章,文中对 Zebec 生态公链 Nautilus Chain 的生态进展进行了简要的报道,并对其进行了…...

java设计模式之命令设计模式的前世今生

命令设计模式是什么? 命令设计模式是一种行为型设计模式,它允许将请求封装为对象,并将其传递给调用者,从而使调用者可以在不知道请求具体细节的情况下进行操作。命令模式的主要目的是解耦请求的发送者和接收者,以及通…...

离散系统函数零积点分析

离散系统函数零积点分析 在 Matlab中,系统函数的零极点就可以通过函数 roots 得到。 函数的零极点也可以通过函数 tf2zp 获得,其调用格式为:[Z, P, K] tf2zp(B, A),函数 tf2zp 可以将H(z)的有理分式转换为零极点增益形式&#…...

Karl Guttag:苹果VST MR头显也无法突破AR的物理局限

据近期的爆料、传闻显示,苹果将6月份的WWDC2023上首次公布AR/VR头显。对此,AR/VR光学专家Karl Guttag持怀疑态度,他此前在DisplayDaily的文章中写道,苹果研发AR/VR头显更像是担心错过新技术趋势。回顾过去的一些关键的AR产品&…...

mysql倒库操作遇到的问题

背景:本地windows 10安装了mysql数据库后,需要把远程库的表结构和数据全部导入进来。 操作:导出数据库,导入数据库。 第一步:导出数据库 使用dump命令即可。 登陆mysql数据库 mysql -hhost --default-character-s…...

ELK企业级日志分析系统

ELK概述 为什么要使用 ELK 日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。 …...

华为OD机试真题 Java 实现【基站维修工程师】【2023Q1 200分】,附详细解题思路

一、题目描述 小王是一名基站维护工程师,负责某区域的基站维护。 某地方有n个基站(1<n<10),已知各基站之间的距离s(0<s<500),并且基站x到基站y的距离,与基站y到基站x的距离并不一定会相同。 小王从基站1出发,途径每个基站1次,然后返回基站1,需要请你…...

SSM 如何使用 TCC 机制实现分布式事务?

SSM 如何使用 TCC 机制实现分布式事务&#xff1f; 分布式事务是现代分布式系统中必不可少的一部分&#xff0c;而 TCC 机制&#xff08;Try-Confirm-Cancel&#xff09;是一种常用的分布式事务处理方式。在 SSM 框架中&#xff0c;我们可以使用 TCC 机制来管理分布式事务。本…...

如何在上架App之前设置证书并上传应用

App上架教程 在上架App之前想要进行真机测试的同学&#xff0c;请查看《iOS- 最全的真机测试教程》&#xff0c;里面包含如何让多台电脑同时上架App和真机调试。 P12文件的使用详解 注意&#xff1a; 同样可以在Build Setting 的sign中设置证书&#xff0c;但是有点麻烦&…...

华清远见 day04

break 打破循环,再也不执行 continue 跳出本次循环,继续执行下一次循环; ​ 常量 字面常量 宏常量 #define A 100 //定义一个宏常量, 名为:A 值为:100 位置 在 头文件 下面 ,文件开头 ​ ​ 输入时间秒 得到 小时 分钟 秒的时间输出 用到 三运算符; 宏常量 Mi 是60 t1 /Mi>6…...

如何处理Vue应用程序中的错误和异常情况?

处理Vue应用程序中的错误和异常情况是开发中非常重要的一环&#xff0c;但是对于新手来说&#xff0c;这往往是一个比较棘手的问题。不过别担心&#xff0c;下面我将为大家详细解答。 首先&#xff0c;我们需要知道的是&#xff0c;在Vue中&#xff0c;错误和异常情况是两个不…...

javascript基础十六:Ajax 原理是什么?如何实现?

一、是什么 AJAX全称(Async Javascript and XML) 即异步的JavaScript 和XML&#xff0c;是一种创建交互式网页应用的网页开发技术&#xff0c;可以在不重新加载整个网页的情况下&#xff0c;与服务器交换数据&#xff0c;并且更新部分网页 Ajax的原理简单来说通过XmlHttpRequ…...

大话手游原始服务端搭建教程Centos

大话手游原始服务端搭建教程Centos 大家好&#xff0c;我是艾西&#xff0c;今天给大家分享一款回合制的ARPG大话手游搭建教程。游戏场景、精美的画面以及多元的人物做的非常棒。在游戏中可以穿越神话世界&#xff0c;同时也可以结交好友&#xff0c;加入团队&#xff0c;共同…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

网站指纹识别

网站指纹识别 网站的最基本组成&#xff1a;服务器&#xff08;操作系统&#xff09;、中间件&#xff08;web容器&#xff09;、脚本语言、数据厍 为什么要了解这些&#xff1f;举个例子&#xff1a;发现了一个文件读取漏洞&#xff0c;我们需要读/etc/passwd&#xff0c;如…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...