有类与无类寻址2025年03月17日 | 阅读 9 分钟 本文讨论了IPV4地址、有类寻址、无类寻址以及有类寻址与无类寻址的区别。 首先,让我们讨论IPV4地址。 IPV4地址IP地址,也常被称为互联网地址,是TCP/IP协议栈IP层用于标识互联网上每个设备连接的唯一标识符。主机的IP地址是一个32位的值,用于唯一标识连接到Internet的主机或路由器。由于IP地址标识的是连接而不是主机或路由器本身(因为在设备移动到不同网络时,IP地址可能会改变),因此,它是对连接的定义。 IPv4地址是唯一的。每个地址都指定了与Internet的一个且仅一个连接。如果一台设备通过两个网络连接到Internet,则它有两个IPv4地址。由于每个希望连接到Internet的主机都必须使用IPv4寻址方案,因此IPv4地址被认为是通用的。 寻址中的层级结构在所有需要进行路由的通信网络中,如电话和邮政网络,寻址系统都是分层的。 32位的IPv4地址也具有层级结构,但它被分为两部分。地址的第一部分称为网络前缀,用于定义网络;第二部分称为主机后缀(用于连接设备到Internet)。下图中展示了一个32位IPv4地址的网络前缀和主机后缀。网络前缀的长度是n位,主机后缀的长度是(32-n)位。 ![]() 网络前缀的长度可以是可变的,也可以是固定的。IPv4网络标识最初是为了使用固定长度的网络前缀而设计的。这种过时的系统被称为有类寻址。一种新的寻址方法,称为无类寻址,使用可变长度的网络前缀。 在深入讨论无类寻址之前,我们将简要回顾一下有类寻址。 1. 有类寻址IPv4地址最初具有固定长度的网络前缀,但为了支持小型和大型网络,创建了三种固定长度的网络前缀(n = 8、n = 16 和 n = 24)。整个地址空间被划分为五个类(A类、B类、C类、D类和E类),如下图所示。这种系统被称为有类寻址。尽管它已经过时,但有类寻址有助于理解无类寻址,后者将在后面的部分介绍。 ![]() A类 - 尽管网络长度为8位,但由于第一位(0)用于指示类别,因此我们只能使用七位作为网络标识符。这意味着全球范围内只有 27 = 128 个网络可以拥有A类地址。
B类 - 尽管B类网络的最初两位(二进制为10,或写作 (10)2)用于指示类别,但由于B类的网络长度为16位,我们只能使用14位作为网络标识符。因此,全球范围内只有 214 = 16,384 个网络能够使用B类地址。
C类 - 所有以 (110)2 开头的地址都属于C类。C类网络长度为24位,但由于类别由三位定义,网络标识符只能是21位长。因此,全球有 221 = 2,097,152 个网络能够使用C类地址。
快速测验 - *在 IPv4 寻址格式中,最多可以使用 C 类地址的网络数量是 __________*
答案. (c) D类 - D类不存在网络前缀和主机后缀的概念。它用于多播地址。
E类 - 所有以1111网络前缀开头的二进制地址都属于E类。E类与D类一样,既没有网络前缀也没有主机后缀,用作保留。
2. 无类寻址有类寻址的子网划分和超网划分技术并未完全解决地址耗尽的问题。随着互联网的扩展,人们意识到需要更大的地址空间作为长期解决方案。然而,扩大的地址空间意味着IP地址也需要更长,这需要改变IP数据包的语法。尽管已经开发了长期解决方案(称为IPv6),但仍然开发了短期解决方案,该方案使用相同的地址空间,但修改了地址的分配方式,为每个组织提供公平的份额。无类寻址是一种临时解决方案,但它仍然使用IPv4地址。 为了弥补地址耗尽,在地址分配中取消了类别的特权。 在无类寻址中,整个地址空间被划分为不同长度的块。地址的网络前缀用于指定块(网络);其主机后缀用于指定节点(设备)。理论上,我们可以拥有220、221、222...到 232 个地址的块。一个限制是地址块必须是2的幂。一个地址块可以分配给一个组织。下图显示了整个地址空间的非重叠块划分。 ![]() 与有类寻址不同,无类寻址允许可变的网络前缀长度。网络前缀长度可以从0到32不等。网络前缀的长度与网络大小成反比。较小的网络具有较大的网络前缀;较大的网络具有较小的网络前缀。 我们必须强调,有类寻址的概念可以很容易地适应无类寻址。可以将A类地址视为网络前缀长度为8的无类地址。B类地址可以看作是网络前缀为16的无类地址,依此类推。换句话说,无类寻址是有类寻址的一个特例。 网络前缀长度 - 斜杠表示法 在无类寻址中,首先需要解决的问题是如何确定给定地址的网络前缀长度。我们必须单独提供网络前缀长度,因为它不是地址的属性。在这种情况下,我们将地址插入,后跟一个斜杠,然后是网络前缀长度n。斜杠表示法是这个记法的俗称,而无类域间路由(Classless Interdomain Routing),或CIDR(发音为“cider”)方法,是官方名称。因此,无类寻址中的地址可以表示为下图所示。 ![]() 换句话说,在无类寻址中,我们还必须提供网络前缀长度,因为地址本身不能自动定义它所属的块或网络。 从地址中提取信息 对于块中的任何给定地址,我们通常希望知道三件事:块中的地址数、块的起始地址和块的结束地址。这三条信息,如图所示,很容易找到,因为我们已知网络前缀长度 n。
![]() 例如 - 地址 167.199.170.82/27 是一个无类地址。以下是我们找到上述三条信息的位置。网络中总共有 232-n = 25 = 32 个地址。 为了确定第一个地址,保留前 27 位,并将剩余位设为0。 ![]() 通过保留前 27 位并将剩余位设置为 1,可以确定最后一个地址。 ![]() 快速测验 - *在网络 200.10.11.144/27 中,该网络可分配给主机的最后一个IP地址的第四个八位字节(十进制)是 _____ ( GATE 2015,2分)* 答。 ![]() 这里,最后一个八位字节的最大可能值为十进制的159。因此,可分配给主机的最后一个IP地址的第四个八位字节是二进制的10011110,即十进制的158。因此,问题的答案是158。 有类寻址与无类寻址的区别
结论IP寻址包含两种类型:有类和无类。无类寻址提供了比有类寻址更有效的IP地址分配方法,这是两者之间的主要区别。简而言之,无类寻址可以防止有类寻址可能出现的IP地址耗尽问题。 |
我们请求您订阅我们的新闻通讯以获取最新更新。