了解网络的 IP 地址、子网和 CIDR 符号

介绍

了解网络是配置互联网上的复杂环境的一个基本部分,这在尝试高效地在服务器之间进行通信、制定安全网络策略和保持节点组织时会产生影响。

在以前的指南中,我们讨论了一些基本的网络术语(LINK0)。

在本文中,我们将讨论一些涉及设计或与网络计算机互动的更具体的概念,具体来说,我们将涵盖网络类,子网和CIDR标记,用于组合IP地址。

了解IP地址

网络上的每一个位置或设备都必须是 addressable. 这意味着它可以通过在预定义的地址系统中引用其指定来达到。

IP 地址允许通过网络接口访问网络资源.如果一台计算机想与另一台计算机通信,它可以将信息发送到远程计算机的 IP 地址.假设两台计算机在同一网络上,或者不同计算机和设备之间可以跨网络翻译请求,计算机应该能够互相访问并发送信息。

每个IP地址必须在自己的网络中是独一无二的。网络可以彼此隔离,并且可以相互连接和翻译,以便在不同的网络之间提供访问。一个名为网络地址翻译的系统允许地址在数据包跨越网络边界时重写,以便它们能够继续到正确的目的地。

IPv4 和 IPv6 的区别

目前在系统上广泛实施的IP协议有两种修订:IPv4和IPv6.IPv6因协议的改进和IPv4地址空间的局限性而慢慢取代IPv4。

IPv4 地址是 32 位地址. 每个字节,或地址的 8 位段,被划分为一个期限,通常以 0 至 255 的数字表示。

一个典型的IPv4地址看起来像这样:

1192.168.0.5

每个 octet 中的最低值为 0 和最高值为 255。

我们还可以用二进制来表达这一点,以便更好地了解四个字节的外观。

11100 0000 - 1010 1000 - 0000 0000 - 0000 0101

认识到这两个格式代表同一个数字对以后理解概念很重要。

虽然IPv4和IPv6的协议和背景功能存在一些其他差异,但最明显的差异是地址空间。IPv6以128位数表达地址。

为了表达这个扩展的地址范围,IPv6 通常被写成四个六十位数的八个段,六十位数代表数字 0-15 使用数字 0-9 以及数字 a-f 来表达更高的值。

11203:8fe0:fe80:b897:8990:8a7c:99bf:323d

IPv6 的规则允许您从每个字节中删除任何领先的零,并用双(::)取代一个零组的单一范围。

例如,如果您在 IPv6 地址中有一个类似于此的组:

1...:00bc:...

相反,你可以只打字:

1...:bc:...

为了展示第二个案例,如果您在 IPv6 地址中具有多个组为零的范围,如下:

1...:18bc:0000:0000:0000:00ff:...

你可以这样压缩(也像我们在上面一样删除组中的主要零):

1...:18bc::ff...

您可以每個地址只做一次,否則無法重建完整的地址。

虽然IPv6每天都在变得越来越常见,但在本指南中,我们将使用IPv4地址来探索剩余的概念,因为它更容易与较小的地址空间进行讨论。

IPv4 地址类和保留范围

IP 地址通常由两个单独的组件组成,地址的第一部分用于识别该地址是其中的一部分的网络,接下来出现的部分用于指定该网络中的特定主机。

网络规格的结束和主机规格的开始取决于网络是如何配置的。

传统上,IPv4地址被分为五个不同的,名为A到E,旨在区分可用IPv4地址空间的部分。

下面是一个翻译表,根据其主要位定义了地址:

  • A
  • 0-: 如果IPv4地址的第一个位点是"0",这意味着地址是A类的一部分. 这意味着从--0.0.0.0到---127.255.255-------的任何地址都属于A. *。 ** 分类B** ---------: B类包括QQ128.0.0至191.255.255.255`*的任何地址。 这代表了他们的第一位有"1"的地址,但第二位没有"1"的地址. (_) ( ) 页:1 C类的定义是,地址范围为:___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 这代表了他们前两个比特带有"1"的所有地址,但第三个比特没有"1".
  • ** D**级
  • XQ1110**: 本类包括了以"111"为前三个位的地址,但下个位的"0". 这一地址范围包括从224.0.0 ' 到239.255.255'的地址 *。 ** E**级 ---------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 本类将地址定义为: **240.0.0.0 " 至"255.255.255.255". 任何以四个"1"位元开头的地址都包含在本类中. (_) (英语)

类 D 地址仅限于多发送协议,这些协议允许在一次移动中将包发送给一组主机,类 E 地址仅限于未来的实验用途,并且在很大程度上不使用。

传统上,每一个常规类(A-C)都将地址的网络和主机部分分为不同的部分,以适应不同大小的网络。

类 B 地址使用前两个字节(第一个字节的剩余部分和第二个字节的剩余部分)来定义网络,其余部分用于定义每个网络上的主机,而类 C 地址则使用前三个字节来定义网络,最后一个字节用于定义该网络中的主机。

最初,这被实施为快速耗尽IPv4地址的问题(如果它们在单独的网络中,你可以拥有多个计算机,如果它们在单独的网络中),这在很大程度上被以后的方案所取代。

保留私人级别

IPv4 空间的某些部分也被保留给特定用途。

最有用的保留范围之一是由从127.0.0.0127.255.255.255的地址指定的循环回归范围。

例如,对于A类地址,从10.0.0.010.255.255.255的地址被保留为私人网络分配。对于B类,此范围为172.16.0.0172.31.255.255。对于C类,从192.168.0.0192.168.255.255的范围被保留为私人使用。

任何不直接连接到互联网的计算机(任何通过路由器或其他NAT系统的计算机)都可以随意使用这些地址。

有额外的地址范围是专门用于特定用例的,您可以在这里找到一份(https://en.wikipedia.org/wiki/Reserved_IP_addresses)保留地址的摘要。

网络和子网

将网络划分为较小的网络部分的过程称为 subnetting. 这可以用于许多不同的目的,并有助于将主机组隔离到彼此之间,以便更容易处理它们。

如上所述,每个地址空间分为一个网络部分和一个主机部分,每个地址的数量取决于该地址所属的类别,例如,对于C类地址,最初的3个 octet被用来描述网络,而对于地址192.168.0.15,192.168.0部分描述网络,而15部分描述主机。

默认情况下,每个网络只有一个子网,其中包含内部定义的所有主机地址. netmask 基本上是用于网络部分的地址位数的规格。

被认为对网络描述具有重要意义的每个地址位都应在网面中表示为1

例如,我们上面讨论的地址,‘192.168.0.15’可以用二进制表达如下:

11100 0000 - 1010 1000 - 0000 0000 - 0000 1111

正如我们上面所描述的那样,C类地址的网络部分是前3个 octet,或者是前24位。

11111 1111 - 1111 1111 - 1111 1111 - 0000 0000

这可以在正常的IPv4格式中写作为255.255.255.0。在netmask的二进制表示中,任何是0的比特都被认为是地址的主机部分的一部分,并且可以变量。

我们通过将位式AND操作应用于地址与网面之间,来确定地址的网络部分,位式AND操作将保存地址的网络部分,并丢弃主机部分。

11100 0000 - 1010 1000 - 0000 0000 - 0000 0000

这可以表示为 192.168.0.0. 主机规格是这些原始值和主机部分之间的差异. 在我们的情况下,主机是 0000 111115

子网的想法是采取一个地址的主机空间的一部分,并将其用作额外的网络规格,以再次分割地址空间。

例如,如我们所看到的255.255.255.0的网面让我们在网络中有254个主机(你不能在0或255中结束,因为这些是保留的)。

所以,继续我们的例子,网络部分是:

11100 0000 - 1010 1000 - 0000 0000

主持人部分是:

10000 1111

我们可以使用我们的主机的第一个比特来指定子网络,我们可以通过从这里调整子网络面具来做到这一点:

11111 1111 - 1111 1111 - 1111 1111 - 0000 0000

至此:

11111 1111 - 1111 1111 - 1111 1111 - 1000 0000

在传统的IPv4标注中,这将被表达为192.168.0.128。我们在这里所做的就是将最后一个八分之一的第一个比特指定为对网络的重要地址,这实际上产生了两个子网络,第一个子网络是从192.168.0.1192.168.0.127。第二个子网络包含主机192.168.0.129192.168.0.255。传统上,子网络本身不应该被用作地址。

如果我们在网络中使用更多主机空间的比特,我们可以获得越来越多的子网络。

CIDR 评级

一个名为 Classless Inter-Domain Routing的系统,或CIDR,被开发为替代传统的子网。

例如,我们可以通过使用192.168.0.15/24的 CIDR 标注来表达 IP 地址192.168.0.15与网络面具255.255.255.0相关的想法。

例如,在类 C 网络中,如上所述,我们无法将来自网络的地址组合起来,192.168.0 和192.168.1.0,因为类 C 地址的网面为 255.255.255.0。

然而,使用CIDR符号,我们可以将这些块结合起来,将这个块引用为192.168.0.0/23

因此,第一个网络(192.168.0.0)可以在二进制中如下表示:

11100 0000 - 1010 1000 - 0000 0000 - 0000 0000

而第二个网络(192.168.1.0)将是这样的:

11100 0000 - 1010 1000 - 0000 0001 - 0000 0000

我们指定的 CIDR 地址表明,第一个 23 位用于我们正在参考的网络块,这相当于一个 netmask 的 255.255.254.0,或:

11111 1111 - 1111 1111 - 1111 1110 - 0000 0000

正如你所看到的,在这个区块中,第24位可以是0或1,它仍然会匹配,因为网络区块只关心前23位数字。

CIDR 允许我们对 IP 地址的连续块的处理更有控制权,这比我们最初谈论的子网更有用。

结论

希望到目前为止,你应该对IP协议的一些网络影响有积极的了解,虽然处理这种类型的网络并不总是直观的,有时很难工作,但重要的是要了解发生了什么,以便正确配置您的软件和组件。

在线有各种计算器和工具,可以帮助您理解一些这些概念,并通过输入某些信息来获取所需的正确地址和范围。

Published At
Categories with 技术
comments powered by Disqus