如何计算前缀,网络,子网和主机号?

您所在的位置:网站首页 华为matepad报价 如何计算前缀,网络,子网和主机号?

如何计算前缀,网络,子网和主机号?

2023-04-20 16:43| 来源: 网络整理| 查看: 265

接上一个答案 ...

2之2 选择IPv4网络网关(路由器)地址

网关是网络上的主机,它知道如何将数据包转发到其他网络,并且可以为其分配任何可用的网络主机地址。有些人只是将网关地址随机分配给任何可用的网络主机地址,有些人总是将第一个可用的网络主机地址分配给网关,而有些人总是将最后一个可用的网络主机地址分配给网关。分配给网关的哪个可用主机网络地址实际上并不重要,但是您应该尽量保持一致。

IPv4 /31(网络掩码255.255.255.254)网络

最初,/31(网络掩码255.255.255.254)网络不可用,因为只有一个主机位,从而为您提供了两个网络主机地址,但是可用的网络主机地址数是网络主机地址总数减去2(2 total host addresses - 2 = 0 usable host addresses)。

点对点链接仅需要两个主机地址(链接的每一端一个)。传统的分配IPv4网络的方法要求将/30(网络掩码255.255.255.252)网络用于点对点链接,但是这浪费了一半的网络主机地址,因为一个/30网络总共有四个网络主机地址,但是只有两个是可用的网络主机地址。 (2^2 – 2 = 2)。

由于严重的IPv4地址短缺,创建了一个标准,以允许将/31网络用于点对点链接。这是有道理的,因为不需要在此类网络上进行广播:网络上主机发送的任何数据包都将发往网络上唯一的其他主机,从而有效地进行广播。在/31网络上,网络地址是第一个可用的主机地址,广播地址是最后一个可用的主机地址。

不幸的是,并非所有供应商(尤其是Microsoft)都支持在/31点对点链接上使用网络的标准,并且您最经常会看到使用/30网络的点对点链接。

IPv4 /32(网络掩码255.255.255.255)网络

甲/32(网络掩码255.255.255.255)网络既是没有主机地址网络,和一个主机地址,本身。网络中只有一个地址,即网络地址。由于网络上没有其他主机,因此必须将流量路由到网络地址和从网络地址路由。

这些地址通常用于设备内部定义的虚拟网络接口上,该设备可以在其虚拟接口和物理接口之间路由数据包。这样的一个示例是在网络设备中创建虚拟接口,以用作设备本身的源或目标。由于物理问题(例如拔下电缆),虚拟接口无法断开,并且如果设备具有多条路径,当设备的物理接口由于某种原因无法操作时,其他设备仍可以使用虚拟接口地址与该设备通信。

子网划分IPv4网络

子网划分网络是根据网络地址和掩码创建多个更长的网络。基本思想是从原始网络的主机部分借用高阶位。假设您想从我们的原始198.51.96.0/21网络中创建14个大小相等的子网。由于您是从原始网络的主机部分借用高阶位,因此您将获得一个数字,该数字是的幂2,但14不是的幂2,因此您必须获得的下一个更高的幂2,恰好是16(16 = 2^4)。的功率2,在这种情况下4,是高阶主机的比特数需要借用要创建的子网的数量。您还可以使用数学公式来确定所需的位数:Log2(X subnets) = Y borrowed bits,四舍五入到下一个整数值:

Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits

对于我们需要原始198.51.96.0/21网络的14个相等大小的子网的示例,从0第一个子网的所有s * 开始,将其添加1到子网部分以获取下一个子网:

---------------------------------------------- Original: | 21 network bits | 11 host bits | ---------------------------------------------- Network: | 110001100011001101100 | 0000 | 0000000 | = 198.51.96.0/21 Subnet 1: | 110001100011001101100 | 0000 | 0000000 | = 198.51.96.0/25 Subnet 2: | 110001100011001101100 | 0001 | 0000000 | = 198.51.96.128/25 Subnet 3: | 110001100011001101100 | 0010 | 0000000 | = 198.51.97.0/25 Subnet 4: | 110001100011001101100 | 0011 | 0000000 | = 198.51.97.128/25 Subnet 5: | 110001100011001101100 | 0100 | 0000000 | = 198.51.97.128/25 Subnet 6: | 110001100011001101100 | 0101 | 0000000 | = 198.51.98.128/25 Subnet 7: | 110001100011001101100 | 0110 | 0000000 | = 198.51.99.0/25 Subnet 8: | 110001100011001101100 | 0111 | 0000000 | = 198.51.99.128/25 Subnet 9: | 110001100011001101100 | 1000 | 0000000 | = 198.51.100.0/25 Subnet 10: | 110001100011001101100 | 1001 | 0000000 | = 198.51.100.128/25 Subnet 11: | 110001100011001101100 | 1010 | 0000000 | = 198.51.101.0/25 Subnet 12: | 110001100011001101100 | 1011 | 0000000 | = 198.51.101.128/25 Subnet 13: | 110001100011001101100 | 1100 | 0000000 | = 198.51.102.0/25 Subnet 14: | 110001100011001101100 | 1101 | 0000000 | = 198.51.102.128/25 ---------------------------------------------- Subnetted: | 25 network bits | 7 host bits | ---------------------------------------------- ---------------------------------------------- Unused: | 110001100011001101100 | 111 | 00000000 | = 198.51.103.0/24 ----------------------------------------------

*一直存在一个神话,即对于子网和主机地址,不能使用全零和全一子网,但是很多年前标准已明确消除了这一神话。不幸的是,这个神话扩展到某些网络教育班级,而那些(不正确的)班级的正确答案是使用第二到第十五子网。

可以将网络划分为各种大小的子网(每个IPv4网络都是该0.0.0.0/0网络地址的子网),如上面的示例所示,未使用的子网是一个/24子网,但是这需要仔细计划,以便最终的子网开始正确的位。

例如,假设我们需要网络中的一个/26和一个/27子网198.51.96.0/21。有两种方法可以执行此操作:从/26子网开始,或从/27子网开始。

从/26子网开始:

Original: | 110001100011001101100 | 00000000000 | /21 Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26

添加1到子网部分以获取下一个子网的起始位置:

Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

然后将第二个子网扩展到/27:

Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27

请注意,我们实际上是将第二个/26子网划分为一个/27子网,并且效果很好,因为27它大于26。

从/27子网开始:

Original: | 110001100011001101100 | 00000000000 | /21 Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27

添加1到子网部分以获取下一个子网的起始位置:

Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27

请注意,主机部分中剩余的位(五个主机位)不足以支持/26需要六个主机位(32 address bits – 26 network bits = 6 host bits)的网络。如果将其用作/26子网的起始位置,则实际上将与之前和之后的/26网络重叠。我们需要为/27网络的起始位置留出一定的网络大小/26:

Original: | 110001100011001101100 | 00000000000 | /21 Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27 Unused: | 110001100011001101100 | 000001 | 00000 | /27 Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26

一个/26子网必须总是在启动/26边界:每2 /27子网边界,每4个/28边界,每8个/29边界,等等。这个规则为任何规模的子网:子网必须启动一个较长的子网的边界等于上2至电源较长的子网大小减去子网大小。例如,/23子网必须在每第四个/25网络(2^(25 - 23) = 2^2 = 4)上启动。

尝试使用从错误的位边界开始的网络地址配置设备,可能会导致奇怪的问题,难以解决问题,或者该设备会给您有关网络重叠的错误。某些人尝试使用点分十进制来执行此操作,这可能会导致错误。例如,198.51.96.0/27网络主机地址是198.51.96.0通过198.51.96.31。如果知道这一点并尝试使用198.51.96.32/26网络,则会遇到问题,因为该网络从错误的位边界开始并且与/27网络重叠(请通过按位查看AND地址和网络掩码来进行检查)。它在二进制中很明显,但在点分十进制中却不太明显。您可以了解到/26网络必须以十进制的倍数开头64 边界,但是以二进制形式查看它可以肯定地告诉您您是否犯了错误。

基于主机数的子网大小

常见的考试问题将为您提供一个网络,并要求您根据每个子网的主机数量提出几个大小不同的子网。如果可以,您需要澄清主机数是基于网络上的主机地址总数,还是基于网络上可用的主机数。(例如,如果问题要求一个包含256或255主机的子网,则/24网络将为您提供256总的主机地址,但仅提供254可用的主机地址。这样的问题可能是一个棘手的问题,正确的答案取决于是否问题表示主机总地址或可用主机地址。)

示例问题:

Given the 198.51.96.0/21 network, subnet it for the following departments: Department 1: 500 hosts Department 2: 100 hosts Department 3: 200 hosts Department 4: 1000 hosts

正如我们在“子网划分IPv4网络”部分中所看到的,最简单的方法是首先按主机数量的最大到最小对部门进行排序,因为我们不需要处理网络缺口:

Department 4: 1000 hosts Department 1: 500 hosts Department 3: 200 hosts Department 2: 100 hosts

您可以将每个值四舍五入到下一个高幂2,以获取每个子网所需的总主机地址数,然后从以下幂的指数中得出所需的主机位数2:

Department 4: 1024 total host addresses = 2^10 = 10 host bits Department 1: 512 total host addresses = 2^9 = 9 host bits Department 3: 256 total host addresses = 2^8 = 8 host bits Department 2: 128 total host addresses = 2^7 = 7 host bits

您还可以修改前面的公式,以找到特定数量的相等大小的子网所需的位数,以确定每个子网所需的主机位数:Log2(X hosts) = Y host bits,四舍五入到下一个整数值:

Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up = 9 host bits Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up = 8 host bits Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up = 7 host bits

获得每个子网所需的主机位数后,请执行二进制数学运算以获取每个部门的特定子网。记住要添加1到子网中以获得下一个子网的起始地址:

Original: | 110001100011001101100 | 00000000000 | = 198.51.96.0/21 Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22 Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23 Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24 Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25 Unused: | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25 查找特定子网

可能会要求您提供给定网络的特定子网的网络信息。例如,可能会要求您提供网络第23个/26子网的198.51.96.0/21网络信息。由于需要第23个子网,因此可以转换22(记住0是第一个子网,所以第23个子网将是22*)转换为binary:Decimal 22= Binary 10110。在地址的子网部分中使用转换后的二进制数:

Original: | 110001100011001101100 | 00000000000 | = 198.51.96.0/21 Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26

一旦确定了第23个网络地址,198.51.101.128/26就可以计算其他网络信息(如前几节所述):

Network address: 198.51.101.128 Network mask length: 26 Network mask: 255.255.255.192 Host mask length: 6 Host mask: 0.0.0.63 First usable network host address: 198.51.101.1 Last usable network host address: 198.51.101.62 Broadcast address: 198.51.101.63 Total network host addresses: 64 Usable network host addresses: 62

*一直存在一个神话,即对于子网和主机地址,不能使用全零和全一子网,但是很多年前标准已明确消除了这一神话。不幸的是,这个神话扩展到某些网络教育班级,对于那些(错误的)班级来说,正确的答案是在我们等大小子网的示例中使用第24个(23十进制,10111二进制)子网,而不是实际的第23个(22十进制,10110二进制)子网。

查找特定的网络主机

可能会要求您找到给定网络的特定主机的主机地址。例如,可能会要求您提供198.51.96.0/21网络的第923位主机的主机地址。由于您需要923rd主机,因此可以转换923为二进制:Decimal 923= Binary 1110011011。将转换后的二进制数添加到网络地址:

Binary network: | 110001100011001101100 | 00000000000 | Binary 923: | 000000000000000000000 | 01110011011 | + ----------------------------------- Host address: | 110001100011001101100 | 01110011011 | = 198.51.99.155 两台主机的最大公共网络*

可能会给您两个(或更多个)不同的主机地址,并要求提供包含两个主机地址的最大网络(最少数量的主机)。例如,发现的最大的公共网络198.51.100.223和198.51.101.76。

首先,将点分十进制地址转换为二进制:

198.51.100.223 = 11000110001100110110010011011111 198.51.101.76 = 11000110001100110110010101001100

接下来,从最高位(最左侧)开始,比较每个位位置的二进制地址,直到同一位置的位不匹配为止:

198.51.100.223 = | 11000110001100110110010 | 011011111 | 198.51.101.76 = | 11000110001100110110010 | 101001100 |

23在这种情况下,请计算匹配位数,以获取掩码长度。然后,您可以选择其中一个地址,并AND使用网络掩码按位执行操作以获取公共网络。在两个地址上都执行此操作将导致一个相同的网络,如果不相同,则可能会计数错误,或者错过了不匹配的位位置。

198.51.100.223 = 11000110001100110110010011011111 /23 mask length = 11111111111111111111111000000000 AND -------------------------------- Binary network: 11000110001100110110010000000000 = 198.51.100.0/23 198.51.101.76 = 11000110001100110110010111011111 /23 mask length = 11111111111111111111111000000000 AND -------------------------------- Binary network: 11000110001100110110010000000000 = 198.51.100.0/23

请注意,两个网络地址匹配。这意味着两个主机地址的最大公共网络是198.51.100.0/23(CIDR表示法)或(传统)198.51.100.0掩码为255.255.254.0。

* 您可能会看到这称为最小的公共网络(或某些变体,例如最小网络或掩码)。最小的网络实际上是0.0.0.0/0(0网络位),它是所有IPv4地址的公用网络,因此它是任何IPv4地址之间的最小公用网络。之所以会出现这种混乱,是因为许多人都在查看地址的主机部分,并将其大小视为网络大小,而不是地址的网络部分大小。

公开与私有寻址

IPv4本身不具有公共寻址和专用寻址的概念,也没有区别。IPv4专用寻址是任意选择的,根据协议,ISP不会使用专用地址空间中的地址在公共Internet上转发数据包,但是网络设备和主机不知道地址是公用还是专用。

定义了IPv4专用寻址的三个地址范围:

10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 分类网络寻址

最初,IPv4地址被分为网络类别。几十年来,不推荐使用类寻址,现代网络基于CIDR(无类域间路由),但是不幸的是,许多网络教育课程和认证考试都坚持测试您的类寻址知识。在学习类寻址之前,请学习并熟悉本文档中所有以前的IPv4数学。

IPv4地址类别均基于地址的前几位:

Class Address Starts With Address Range Default Size* A First one bit = 0 0.0.0.0 to 127.255.255.255 /8 B First two bits = 10 128.0.0.0 to 191.255.255.255 /16 C First three bits = 110 192.0.0.0 to 223.255.255.255 /24 D First four bits = 1110 224.0.0.0 to 239.255.255.255 N/A E First four bits = 1111 240.0.0.0 to 255.255.255.255 N/A A类网络的默认网络掩码为255.0.0.0(/8),默认的主机掩码为0.255.255.255,为您提供16,777,216每个网络的总主机地址。 B类网络的默认网络掩码为255.255.0.0(/16),默认的主机掩码为0.0.255.255,为您提供65,536每个网络的总主机地址。 C类网络的默认网络掩码为255.255.255.0(/24),默认的主机掩码为0.0.0.255,为您提供256每个网络的总主机地址。 D类地址用于多播,其中每个地址分别用于表示订阅多播地址的一组主机。这意味着D类地址通常不具有网络掩码的概念。 E类地址是保留的,不能用于任何用途。对此有一个例外,那就是的受限广播地址255.255.255.255,它是网络上每个主机都将视为自己的地址。这意味着发送到的任何内容都255.255.255.255将被网络上的每个主机接收和处理。

由于每个类别都有默认的网络大小,因此某些问题会假定给定地址的默认掩码,因此需要根据默认的网络掩码进行任何计算。对于我们的示例地址,198.51.100.223:

Binary: 11000110 00110011 01100100 11011111

请注意,前三个地址位是110,这意味着这是C类地址,并且没有任何掩码或掩码长度,因此网络掩码被假定为255.255.255.0(/24),即网络地址198.51.100.0。

* 不要误以为网络掩码决定了网络类别,这是相反的做法。例如,许多人认为任何/24网络都属于C类网络,但事实并非如此。例如,在给定10.11.12.0/24网络的情况下,即使地址的第一位是0,它也会由于网络掩码错误地将其称为C类网络,即使它的网络掩码比默认值更长,也使其成为A类网络。 A类网络掩码,表示它是A类网络的子网,而不是C类网络的子网。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3