了解IP地址,子网,和CIDR符号联网

IP地址,网络,submasks和CIDR标记是很困难的概念理解。在本指南中,我们将介绍一些背后的这些系统如何协同工作的基本思路,以允许计算机通过互联网进行通信。

介绍

了解网络是在互联网上配置复杂环境的基本部分。 这在尝试有效地在服务器之间通信,开发安全网络策略以及保持节点组织时具有影响。

在先前的指导,我们去了一些基本的网络术语 您应该查看该指南,以确保您熟悉这里提出的概念。

在本文中,我们将讨论与联网计算机的设计或交互相关的一些更具体的概念。 具体来说,我们将覆盖网络类,子网和用于分组IP地址的CIDR符号。

了解IP地址

网络上的每个位置或设备必须是可寻址的 这只是一个术语,意味着可以通过在预定义的地址系统下引用它的名称来达到它。 在网络分层的普通TCP / IP模型中,这是在几个不同的层上处理的,但通常当我们提到网络上的地址时,我们正在谈论一个IP地址。

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

每个IP地址在其自己的网络上必须是唯一的。 网络可以彼此隔离,并且它们可以被桥接和转换以提供不同网络之间的接入。 称为网络地址转换的系统,允许在分组穿越网络边界,允许他们继续在自己的正确的目的地被重写的地址。 这允许在多个隔离网络上使用相同的IP地址,同时仍然允许它们在正确配置的情况下彼此通信。

IPv4和IPv6之间的区别

有两个修订的IP协议在今天的系统上广泛实施。 IPv4,这是协议的第四个版本,目前是大多数系统支持的。 由于协议的改进和IPv4地址空间的限制,更新的第六版(称为IPv6)正在更频繁地推出。 简单地说,现在世界上有太多互联网连接的设备,通过IPv4可用的地址量。

IPv4地址是32位地址。 每个字节或地址的8位段被一个周期除,通常表示为数字0-255。 即使这些数字是十进制在人的理解,以帮助通常表示,每个段通常被称为一个八位字节来表达的事实,它是8位的表示。

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

192.168.0.5

每个八位字节中的最低值为0,最高值为255。

我们也可以用二进制表示这个,以更好地了解四个八位字节的外观。 我们将每个4位由一个空格分隔以便于阅读,并用点划线替换点:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0101

认识到这两种格式代表相同的数字对于以后理解概念将是重要的。

虽然IPv4和IPv6的协议和后台功能有一些其他差异,但最显着的区别是地址空间。 IPv6表示地址为128位数字。 把该成角度来看,这意味着该IPv6具有IPv4地址超过7.9×10 28倍量的空间。

为了表达这个扩展地址范围,IPv6通常写成四个十六进制数字的八个段。 十六进制数字通过使用数字0-9表示数字0-15,以及数字af表示较高的值。 典型的IPv6地址可能如下所示:

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

您还可以看到这些地址以紧凑格式写入。 IPv6的规则允许您从每个八位字节中删除任何前导零,并用双冒号(::)替换单个零组的范围。

例如,如果您在IPv6地址中有一个组,如下所示:

...:00bc:...

您可以直接输入:

...:bc:...

要演示第二种情况,如果您在IPv6地址中有多个组为零的范围,如下所示:

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

你可以这样压缩(也删除组的前导零,就像我们上面做的):

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

每个地址只能执行一次,否则完整地址将无法重新构建。

虽然IPv6每天变得越来越普遍,但在本指南中,我们将探讨使用IPv4地址的其余概念,因为使用较小的地址空间更容易讨论。

IPv4地址类和保留的范围

IP地址通常由两个单独的组件组成。 地址的第一部分用于标识地址是其中的一部分的网络。 后面的部分用于指定该网络中的特定主机。

网络规范结束并且主机规范开始的地方取决于网络的配置。 我们将暂时讨论这一点。

IPv4地址传统上分为五个不同的“类”,命名为A到E,意在区分可用的可寻址IPv4空间的段。 这些由每个地址的前四个位定义。 您可以通过查看这些位来识别IP地址属于什么类。

这里有一个翻译表,根据它们的前导位来定义地址:

  • A类

    • 0 ---:如果IPv4地址的第一位是“0”,这意味着该地址是类A的一部分这意味着从0.0.0.0至127.255.255.255任何地址在A级
  • B类

    • 10--:B类包括从128.0.0.0到191.255.255.255的任何地址。 这表示对于它们的第一位具有“1”,但对于它们的第二位不具有“1”的地址。
  • C类

    • 110-:C级定义为地址范围从192.0.0.0到223.255.255.255。 这表示对于它们的前两位具有“1”的所有地址,但对于它们的第三位没有“1”。
  • D类

    • 1110:该组包括具有“111”作为第一个三比特地址,而是一个“0”,为下一个位。 这个地址范围包括从224.0.0.0到239.255.255.255地址。
  • E类

    • 1111:这个类定义240.0.0.0和255.255.255.255之间的地址。 任何以四个“1”位开始的地址都包含在此类中。

D类地址保留用于多播协议,允许在一个运动中将分组发送到一组主机。 E类地址保留用于未来和实验性使用,并且大部分未使用。

传统上,每个规则类别(AC)不同地划分地址的网络和主机部分以适应不同大小的网络。 A类地址使用第一个八位字节的其余部分表示网络,其余地址用于定义主机。 这对于定义具有多个主机的几个网络是有益的。

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

将大部分IP空间划分为类现在几乎是一个遗留的概念。 最初,这是为快速耗尽IPv4地址的问题(您可以有多台计算机与同一台主机,如果他们在不同的网络)的一个障碍。 这在很大程度上被后面的计划所取代,我们将在下面讨论。

保留的专用范围

还有一些为特定用途保留的IPv4空间部分。

最有用的保留范围之一是由127.0.0.0到127.255.255.255的地址指定的回送范围。 此范围由每个主机使用,以测试与其自身的网络。 通常,这由此范围中的第一个地址表示:127.0.0.1。

每个正常类中还具有用于指定专用网络地址的范围。 例如,对于A类地址,从10.0.0.0到10.255.255.255的地址被保留用于专用网络分配。 对于B类,此范围为172.16.0.0至172.31.255.255。 对于C类,192.168.0.0到192.168.255.255的范围保留供私人使用。

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

还有为特定用例保留的其他地址范围。 你可以找到一个保留地址的总结在这里。

网络掩码和子网

将一个网络成较小的网络段的过程称为子网 这可以用于许多不同的目的,并帮助孤立的主机在一起,很容易处理。

如上所述,每个地址空间被分成网络部分和主机部分。 每个地址占用的地址数量取决于地址所属的类别。 例如,对于C类地址,前3个字节用于描述网络。 为地址192.168.0.15192.168.0部分描述在网络和15描述的主机。

默认情况下,每个网络只有一个子网,其中包含在其中定义的所有主机地址。 网络掩码基本上是用于网络部分的地址位的量的规范。 子网掩码是用于进一步划分网络的另一个网络掩码。

被认为对描述网络有意义的地址的每一位在网络掩码中应被表示为“1”。

比如我们上面讨论的地址192.168.0.15可以这样表示,二进制:

1100 0000 - 1010 1000 - 0000 0000 - 0000 1111

如上所述,C类地址的网络部分是前3个字节或前24个比特。 由于这些是我们要保留的有效位,网络掩码将是:

1111 1111 - 1111 1111 - 1111 1111 - 0000 0000

这可以写成在正常的IPv4格式255.255.255.0 在网络掩码的二进制表示中为“0”的任何位被认为是地址的主机部分的一部分,并且可以是可变的。 然而,对于正在讨论的网络或子网络,“1”的位是静态的。

我们通过在地址和网络掩码之间应用按位AND运算来确定地址的网络部分。 逐位AND操作将基本上保存地址的联网部分并丢弃主机部分。 在我们上面的代表我们网络的例子中的结果是:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0000

这可以表示为192.168.0.0 主机规范然后是这些原始值和主机部分之间的差。 在我们的例子中,主机是“ 0000 1111 ”,或15

子网划分的想法是占用地址的主机空间的一部分,并将其用作额外的网络规范来再次划分地址空间。

例如,网络掩码255.255.255.0正如我们所看到上面留给我们的网络中的254台主机(你不能在0或255结束,因为这些保留)。 如果我们想将它分成两个子网络,我们可以使用地址的常规主机部分的一个位作为子网掩码。

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

1100 0000 - 1010 1000 - 0000 0000

主机部分是:

0000 1111

我们可以使用主机的第一位来指定一个子网。 我们可以通过调整子网掩码从这里:

1111 1111 - 1111 1111 - 1111 1111 - 0000 0000

对此:

1111 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表示法

所谓无类别域间路由 ,或CIDR的系统,被开发为一种替代传统的子网。 这个想法是,您可以在IP地址本身中添加一个关于构成路由或网络部分的有效位数的规范。

例如,我们可以表达的IP地址的想法192.168.0.15与网络掩码相关255.255.255.0使用的CIDR标记192.168.0.15/24 这意味着给定的IP地址的前24位被认为对于网络路由是重要的。

这使我们有一些有趣的可能性。 我们可以使用这些来引用“超空间”。 在这种情况下,我们的意思是一个更具包容性的地址范围,这是传统的子网掩码不可能。 例如,在一个C类网络,像上面,我们无法从网络相结合的地址192.168.0.0192.168.1.0 ,因为C类地址的子网掩码为255.255.255.0

但是,使用CIDR符号,我们可以通过引用这个块作为组合这些块192.168.0.0/23 这指定有23位用于我们所指的网络部分。

所以第一个网络(192.168.0.0)可以这样表示为二进制:

1100 0000 - 1010 1000 - 0000 0000 - 0000 0000

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

1100 0000 - 1010 1000 - 0000 0001 - 0000 0000

我们指定的CIDR地址指示前23位用于我们引用的网络块。 这相当于一个掩码255.255.254.0 ,或:

1111 1111 - 1111 1111 - 1111 1110 - 0000 0000

可以看到,对于这个块,第24位可以是0或1,它仍然匹配,因为网络块只关心前23个数字。

基本上,CIDR允许我们更多地控制寻址连续的IP地址块。 这比我们最初讨论的子网更有用。

结论

希望现在,您应该对IP协议的一些网络影响有一个工作的了解。 虽然处理这种类型的网络并不总是直观的,并且可能很难与有时工作,重要的是要了解正在发生什么,以正确配置您的软件和组件。

有各种计算器和工具在线,将帮助您了解这些概念,并获得您需要通过键入某些信息正确的地址和范围。 在这里,你可以找到一个子网计算器 ,一个CIDR测距仪和一个IP地址八位字节的二进制转换器 使用这些工具帮助您做出网络决策。

作者:Justin Ellingwood