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

计算机网络:网络层 —— IPv4 协议的表示方法及其编址方法

文章目录

      • IPv4
        • IPv4的表示方法
        • IPv4的编址方法
          • 分类编址
            • A类地址
            • B类地址
            • C类地址
            • 可指派的地址数量
            • 一般不使用的特殊IPv4地址
          • 划分子网编址
            • 子网掩码
            • 默认子网掩码
          • 无分类编址方法
            • 地址掩码
            • 斜线记法
            • 无分类域间路由选择 CIDR

IPv4

IPv4(Internet Protocol version 4)是互联网上最常用的 IP 协议版本。是给因特网(Intemnet)上的每一个主机(或路由器)的每一个接口分配的一个在全世界范围内唯一的32比特的标识符。它是互联网传输层协议栈中的网络层协议,用于为网络中的设备分配唯一的 IP 地址,并在网络上传输数据

![[IPv4地址.png]]

IPv4 地址空间的有限性导致了 IP 地址短缺问题。IPv4 地址共有约 42 亿个,但是随着互联网的快速发展,这个数量已经远远不够。2011年2月3日,因特网号码分配管理局(Internet Assigned Numbers Authority,IANA)(由 ICANN 行使职能)宣布,IPv4 地址已经分配完毕。

IPv4的表示方法

IPv4 地址是由 32位二进制数 表示,通常以“点分十进制”(dotted decimal)的形式呈现,如 192.168.0.1。IPv4 地址由两部分组成,网络部分主机部分

  • 网络部分用来标识网络
  • 主机部分用来标识网络中的具体设备

![[IPv4的表示方法.png]]

IPv4的编址方法

IPv4地址的编址方法经历了三个历史阶段:

![[IPv4的编址方法发展.png]]

分类编址

IPv4 的分类编址方法将 32 比特的 IPv4 的地址划分为网络号部分主机号部分

  • 网络号:标志主机(或路由器)的接口所连接到的网络。同一个网络中,不同主机(或路由器)的接口的IPv4地址的网络号必须相同,表示它们属于同一个网络。

  • 主机号:标志主机(或路由器)的接口。同一个网络中,不同主机(或路由器)的接口的IPv4地址的主机号必须各不相同,以便区分各主机(或路由器)的接口

![[IPv4的分类编址.png]]

IPv4 的分类编址方法将 IPv4 地址分为了五类:

![[IPv4的分类编址类别.png]]

  • A类、B类和C类地址都是单播地址,只有单播地址可以分配给网络中的主机(或路由器)的各接口

  • 主机号为“全0”的地址是网络地址,不能分配给主机(或路由器)的各接口

  • 主机号为“全1”的地址是广播地址,不能分配给主机(或路由器)的各接口

A类地址

![[A类地址.png]]

本地环回测试地址,也被称为环回地址或本地回环地址,是一组特殊的IP地址,主要用于测试本机的网络配置和模拟网络通信。当需要测试本机上的网络应用程序或服务时,可以使用环回地址进行通信,数据报由本机进行接收和处理,不会发送到其他主机。

B类地址

![[B类地址.png]]

C类地址

![[C类地址.png]]

可指派的地址数量

![[可指派的地址数量.png]]

一般不使用的特殊IPv4地址

如下地址一般在特殊情况下使用

![[一般不使用的特殊IPv4地址.png]]

划分子网编址

随着更多的中小网络加入因特网,IPv4 分类编址方法不够灵活、容易造成大量IPv4地址资源浪费的缺点就暴露出来了,剩余的大量地址只能由该单位的同一个网络使用,而其他单位的网络不能使用。

![[申请新的网络号.png]]

申请新的网络号存在以下弊端

  • 需要等待很长的时间,并且要花费更多的费用
  • 即便申请到了两个新的网络号,其他路由器的路由表还需要新增针对这两个新的网络的路由条目。
  • 浪费原来已申请到的网络中剩余的大量地址

因此,划分子网编址方法对其进行改进(“打补丁”)

如果可以从 IPv4 地址的主机号部分借用一些比特作为子网号来区分不同的子网,就可以利用原有网络中剩余的大量 IPv4 地址,而不用申请新的网络地址了。

![[借用一些比特作为子网号.png]]

子网掩码

IPv4 地址的主机号部分借用一些比特作为子网号来区分不同的子网,就引入了一个新的概念:子网掩码,可以表明分类 IPv4 地址的主机号部分被借用了几个比特作为子网号。

IPv4 地址类似,子网掩码也是由 32比特 构成的。

  • 用左起多个连续的比特1对应 IPv4 地址中的网络号和子网号
  • 之后的多个连续的比特0对应 IPv4 地址中的主机号

将划分子网的IPv4地址与相应的子网掩码进行逐比特的逻辑与运算,就可得到该 IPv4 地址所在子网的网络地址。

![[IPv4地址与相应的子网掩码.png]]

只要给定了一个分类的 IPv4 地址及其相应的子网掩码就可以得出子网划分的全部细节

![[IPv4地址与相应的子网掩码划分.png]]

子网划分:

![[子网划分.png]]

默认子网掩码

默认子网掩码是指在未划分子网的情况下使用的子网掩码

![[默认子网掩码.png]]

无分类编址方法

IPv4 地址的划分子网编址方法在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网( 2 24 − 3 = 2097152 2^{24-3}= 2097152 2243=2097152)由于其每个网络所包含的地址数量太小( 2 8 = 256 2^8=256 28=256),因此并没有得到充分使用,而因特网的 IPv4 地址仍在加速消耗,整个 IPv4 地址空间面临全部耗尽的威胁。

为此,因特网工程任务组IETF又提出了采用无分类编址的方法,来解决IPv4地址资源紧张的问题,同时还专门成立IPv6工作组负责研究新版本的IP,以切底解决IPv4地址耗尽问题。

1993年,因特网工程任务组IETF发布了无分类域间路由选择(Classless Inter-Domain Routing,CIDR)的 RFC 文档 [RFC1517~1519,RFC1520].

  • CIDR 消除了传统A类、B类和C类地址以及划分子网的概念
  • CIDR 可以更加有效地分配 IPv4 地址资源,且可以在 IPv6 使用之前允许因特网的规模继续增长。

![[无分类编址方法发展.png]]

地址掩码

无分类编址方法使用的地址掩码与划分子网使用的子网掩码类似,由32比特构成。

  • 用左起多个连续的比特1对应IPv4地址中的网络前缀

  • 之后的多个连续的比特0对应IPv4地址中的主机号

  • 对于无分类编址的 IPv4 地址,仅从地址自身无法看出网络前缀和主机号各自的长度

无分类编址方法示例:
![[无分类编址方法.png]]

斜线记法

为了简便起见,可以不明确给出配套的地址掩码的点分十进制形式,而是在无分类编址的IPv4地址后面,加上斜线 "/" 在斜线,之后写上网络前缀所占的比特数量(也就是地址掩码中左起连续比特1的数量),这种记法称为斜线记法

如:128.14.35.7/20网络前缀20比特,主机号为 12比特(32-20)

无分类域间路由选择 CIDR

实际上,无分类域间路由选择 CIDR 是将网络前缀都相同的、连续的多个无分类IPv4地址,组成一个CIDR地址块,只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的以下全部细节:

  • 地址块中的最小地址
  • 地址块中的最大地址
  • 地址块中的地址数量
  • 地址块中聚合某类网络(A类、B类、C类)的数量
  • 地址掩码

****![[无分类域间路由选择 CIDR.png]]****

分类编址方法只能以 /8(A类网络)/16(B类网络)/24(C类网络) 为单位来分配,既不灵活,也容易造成 IPv4 地址的浪费。而使用 CIDR 的一个好处是,可以根据客户的需要分配适当大小的CIDR地址块,因此可以更加有效地分配 IPv4 的地址空间。

![[CIDR的好处1.png]]

使用 CIDR 的另一个好处是路由聚合(也称为构造超网

在如下图的例子中,我们对 R2 的路由表进行了聚合操作。具体来说,我们将五个子网的路由条目合并为一个单一的聚合路由条目
![[路由聚合.png]]

  1. 确定公共前缀:首先,我们需要找到这些子网地址的公共前缀。观察这些子网地址,我们可以看到它们的前缀都是 172.1。这意味着它们共享了前 16 位。

  2. 计算最长公共前缀:接下来,我们需要找出这些子网地址中最长的公共前缀。在这种情况下,最长公共前缀是 172.1.4,对应于前 22 位。

  3. 创建聚合路由:根据最长公共前缀,我们可以创建一个新的聚合路由条目。该条目的地址范围覆盖了所有的原始子网地址。在这个例子中,聚合后的路由条目是 172.1.4.0/22

最终,R2 的路由表中只有一个聚合路由条目 172.1.4.0/22,而不是原来的五个具体路由条目。这种聚合方式大大减小了路由表的规模,同时也降低了路由查找的时间复杂度。

  • 网络前缀越长,地址块越小,路由越具体

  • 若路由器查表转发分组时发现有多条路由条目匹配,则选择网络前缀最长的那条路由条目,这称为最长前缀匹配,因为这样的路由更具体。


http://www.mrgr.cn/news/58587.html

相关文章:

  • 探索AI人工智能机器学习:解锁未来科技的钥匙
  • 多层感知机从零开始实现
  • 2024最新pycharm安装教程及基本使用(超详细,新手小白必看)
  • 我的创作纪念日(Echarts x轴文字过长导致重叠的另一种优化方案)
  • 设置K8s管理节点异常容忍时间
  • 并查集(Union-Find)
  • python 线程间通信用什么手段
  • 微软投资比特币:将总资产1%投资于BTC?股东投票决定最终结果!
  • 洛谷 P1060 [NOIP2006 普及组] 开心的金明
  • C++ 移动语义
  • Vue学习记录之二十 postcss自定义插件及Unocss的使用
  • 遇到这3种接口测试问题,其实,你可以这么办~
  • 混个1024勋章
  • 2023年12月中国电子学会青少年软件编程(图形化)等级考试试卷(二级)答案 + 解析
  • CMU生成式人工智能大模型:从入门到放弃(九)
  • CMU生成式人工智能大模型:从入门到放弃(八)
  • 电机的旋转原理和发电原理!
  • 永恒之蓝漏洞利用复现
  • Oracle故障诊断(一线DBA必备技能)之ADRCI(一)
  • 大数据新视界 -- 大数据大厂之大数据与虚拟现实的深度融合之旅
  • Centos如何卸载docker
  • 论文学习 | 《电动汽车锂离子电池健康状态估计及寿命预测方法研究》
  • 面向对象进阶(下)(JAVA笔记第二十二期)
  • 海外著名新闻门户媒体软文发稿之华盛顿独立报-大舍传媒
  • Ubuntu 安装php7.3 nginx mysql
  • 基于PyQT+FaceNet卷积神经网络实现的学生人脸识别考勤系统