概观
在上一章中,我们研究了网络层及其在通信中的作用。在本章中,我们将介绍ipv4寻址。这是网络中最重要的概念之一,对于您在网络中的整体成功至关重要。理解本章对其他学习至关重要。本章分为两部分,以便更好地理解。在第一部分中,我们将看二进制与十进制,然后我们将介绍子网划分。然后我们将通过划分几个地址来完成。
十进制与二进制
我们习惯于小数。今天到处使用的数字系统大多是二进制的。基数为10。
10 ^ 0 = 1
10 ^ 1 = 10
10 ^ 2 = 100
这就是我们在日常活动中使用的内容。但是,计算机仅限于2位数。“1”和“0”,表示“ON”和“OFF”。我们使用的ip寻址系统基于这个概念。我们使用的所有ipv4地址都是计算机知道的二进制形式的十进制表示。
下表显示了十进制和二进制内涵之间的差异。
在本章和其他章节中,您将更频繁地看到二进制表。
如何解决网络问题
我相信大多数人都看过ip地址。使用的ip寻址方案包含两部分。
- 网络部分 - 从左侧开始
- 主持人部分 - 从右侧开始
在IPv4地址中,高位(从左侧开始的位)表示网络地址,低位(右侧的位)表示主机部分。在IPv4寻址中,具有匹配的高位比特的主机被称为在同一网络中。
网络部分或主机部分的每一侧中的比特数分别确定网络和主机的数量。
要了解网络如何工作,我们需要了解二进制到十进制和十进制到二进制的转换。
以192.168.1.0作为ip地址示例。我们需要将其转换为二进制。下图显示了如何完成此操作。
下图显示了如何做到这一点。
请记住以下步骤:
- 将32位分成4个八位字节。
- 将每个八位字节转换为十进制。
- 在每个小数之间添加一个“点”
注意:您需要练习将十进制格式地址转换为二进制格式,以便您了解IPv4寻址,因此,练习至关重要。
现在我们已经学会了这个概念,下表显示了一种可以轻松地将每个数字转换为二进制的方法。
基于此表,您可以轻松地将任意数字转换为二进制或十进制。
例如,如果我们想将255转换为二进制,我们将采取以下步骤。
取255,将其与128进行比较,如果较大,则减去128得127
如果是,则127大于64,然后减去64得到63
是大于32的63,如果是,则减去32得到31
是大于16的31,如果是,则减去16给15
是大于8的15,如果是,则减去8给7,
是大于4的7,如果是,则减去4给3
是大于2的3,如果是,则减去2得1
是1大于或等于1,是的。这是该过程的最后一步。
这可以在下面显示的流程图中总结。
现在,如果上面示例中的数字大于或等于二进制等价,则二进制数将为1,如果小于该值,则二进制数将为0。
因此,255的二进制转换将是11111111。
现在基于这两种形式,您可以将以下内容转换为二进制吗?
178,168,150,10,4。
这些顺序步骤将有助于了解如何子网。
因为我们的地址表示仅限于单个八位字节的十进制值,所以我们只检查将8位二进制转换为0到255的十进制值的过程。
地址类型
在任何IPv4网络地址范围内,我们有3种主要类型的地址:
- 网络地址 - 这是我们用来命名网络的地址。
- 广播地址 - 这是一种特殊类型的IPv4地址,用于将数据包发送到特定网络中的所有主机
- 主机地址 - 这些地址可以分配给我们网络中的主机或设备,如PC,笔记本电脑,IP电话等。
网络地址
网络地址是我们为网络提供的名称,例如,具有下面显示的地址的网络称为“10.0.0.0”网络。此网络中的所有主机都属于10.0.0.0网络。这些主机的网络部分都是相同的。
在网络中,网络中的第一个IPv4地址通常是网络地址。
广播地址
IPv4中的广播地址是一个特殊地址,用于向网络中的所有主机发送信息。广播地址始终是网络中的最高或最后一个地址。在下面的示例中,广播地址是主机区域中全1的地址。
任何网络中的最后一个地址始终是广播地址。
前三个八位字节代表网络部分,第三个八位字节代表广播地址。
主机地址
如前所述,我们网络中的主机需要分配IPv4地址。可以分配给这些主机的地址是介于网络IP地址和广播IP地址之间的任何IP地址。
注意:您无法将网络和广播地址分配给主机,这些都是保留的。
从上面我们可以问自己,我们怎么知道有多少位代表网络和主机部分?那么,为此,我们使用前缀长度。这是通过计算网络部分中的位数来完成的。当我们以十进制形式表示地址时,我们使用反斜杠“/”后跟高位的数量,如下表所示。
在这种情况下,网络172.16.1.0具有24个高阶位,因此表示为172.16.1.0/24
网络上的主机数或网络位数决定了要使用的前缀号。
注意:当高位的数量增加时,低位的数量减少,因此hsots的地址减少。
获取每个前缀的主机数的公式是
2 ^ n-2 =主机地址,其中n是主机位数。
因此对于192.168.3.0/28,网络位数是28,因为ipv4地址有32位,4位将构成主机部分。
根据以上公式,该网络中的主机将是:
2 ^ n-2 =网络中的主机
2 ^ 4-2 = 14
因此将有14个主机IP地址。
子网掩码
如前所述,IPv4地址分为网络部分和主机部分。我们还说过,前缀长度是网络部分中的比特数或高阶比特。它告诉我们主机IP地址和网络的数量。
网络中的路由器和其他设备也需要知道高阶位和低阶位的数量,为此它们使用子网掩码,它表示十进制的前缀长度。如前所述,前缀长度是左侧的1的数字,它表示网络和主机部分。
要表示网络设备中的前缀长度,请使用称为子网掩码的特殊类型的IPv4地址。它由32位组成,就像在常规IPv4地址中一样。通过在网络部分中放置1并在主机部分中放置0来显示子网掩码。例如,/ 24前缀表示为子网掩码为255.255.255.0(11111111.11111111.11111111.00000000)。子网掩码的其余位(低位)为零,表示网络中的主机地址。
当我们在网络设备上配置IP地址时,它必须伴随子网掩码。
二进制ANDing
所以问题是,在做出转发决定时,路由器如何知道它刚收到的数据包中的IP地址属于哪个网络?
IPv4主机地址与其子网掩码进行逻辑AND运算,以确定与主机关联的网络地址。当执行地址和子网掩码之间的AND运算时,结果将产生网络地址。
AND操作
ANDing是一个逻辑操作,ANDing过程用于计算网络地址,给定子网掩码和IP地址。当对IP地址和子网掩码位进行比较时,逻辑AND操作会给出以下结果。
- 1和1 = 1
- 1 AND 0 = 0
- 0和1 = 0
- 0和0 = 0
二进制ANDing的原因是:
- 一个网络中的网络设备可以决定该数据包是属于本地网络还是应该转发到远程网络
- 路由器根据二进制ANDing过程的结果做出转发决策。
下表显示了网络192.168.2.45/24的ANDing过程
因此,IP地址192.168.2.45/24的网络地址为192.168.2.0
你应该通过练习来学习二元ANDing。下面显示的IP地址将是一个很好的起点。
您认为可以确定以下IP地址的网络地址吗?
- 192.168.1.35/27
- 10.10.10.23/14
- 172.16.3.134/19
所有关于子网划分
现在我们已经了解了如何将ip地址从十进制转换为二进制,现在是时候引入子网了。
子网划分允许我们从单个IP地址块创建更多网络。这些网络使用路由器互连,因此路由器上的每个接口必须位于不同的网络上。
注意:我们将通过子网创建的网络将称为子网。因此,当您看到单词subnet而不是network时,不应该感到困惑。
子网划分是一个简单的过程,我们从主机部分借位以创建新网络。以下图所示为例。地址192.168.1.0/24是主要类,如果我们从主机部分借用2比特,则新的前缀长度将为26.因此,2比特将被分配给网络部分。
当我们借用主机位时,新的二进制地址将是相同的,但是,显示网络部分的子网掩码将不同,如下所示:
当我们通过借用主机部分中的位来扩展子网掩码时,我们基本上将网络数量增加了一倍。但是,我们从主机部分借用的位越多,每个创建的子网可用的主机IP地址数就越少。
每当我们借用主机位时计算创建了多少子网的公式是:
2 ^ n =新网络的数量。
要计算每个网络的主机数,我们使用公式
2 ^ n - 2其中n =主机剩余的位数。
以网络172.16.1.0/24的下面示例为例,如果我们想要将该网络子网化为2个网络,我们需要从主机端借用1个主机位并将它们添加到网络部分。
从第四个八位字节借用两个主机位后,新网络将如下所示。
子网掩码还有1个1位。
因此,在借用1个主机位后,我们将创建2个以上的网络但我们将减少主机数量。
现在新的子网将如下所示172.16.1.0/25
172.16.1.128/25
子网掩码为255.255.255.128
注意:每当我们划分子网时,最后一个子网将始终与新子网掩码的最后一个八位字节具有相同的位。
以下面显示的示例为例。
如果我们将172.16.1.0/24子网分配给8个新网络。
步骤1.我们需要从主机段借多少位?
2 ^ N = 8
2 ^ 3 = 8
因此我们需要借用3个主机位。
新的子网掩码 - 255.255.255.224
前2个和最后一个子网将是:
172.16.1.0/27
172.16.1.32/27
最后一个子网 - 172.16.1.224
增量号通常是最后借用的主机位。在上面的场景中,这是32。
在子网划分到/ 27后,172.16.1.0 / 24的子网将是:
为什么子网
在我们的网络中,IP地址要求可能会有所不同。我们可能需要很少的IP地址用于点对点等连接,我们可能有一个部门有200个用户,而另一个只有20个用户。
子网划分允许我们划分网络,以便最佳地使用IP地址。如果我们为只需要20个的网络分配了200个ip地址,那么我们就会浪费很多地址。
如果我们使用电话服务提供商的类比,那么没有子网就像给客户100个电话号码,而他们只需要1个。
划分子网时,我们应该仔细考虑扩展计划,因为我们的网络可能会因需求而增长。
在下面显示的场景中,我们将根据HOSTS的数量进行子网划分。这是理解子网划分的关键因素。
场景
在下面的场景中,我们需要划分三个网络地址:
192.168.1.0/24用于wan连接LINK A和LINK B.
172.16.1.0/24用于LAN A.
LAN B为172.16.2.0/24
LAN C为192.168.2.0/24
所以我们将从WAN链接开始。
WAN链接
对于这样的链接,我们每个链路只需要2个ip地址,因此,我们需要询问哪个子网掩码只允许2个主机地址。
我们需要计算我们需要的右侧比特数,然后将其余部分分配给网络部分。
2 ^ n = 2 - 2
2 ^ 2 = 4
4-2 = 2
因此,我们只需要2个主机位。6位将在网络部分中。
我们向网络部分添加6位后的新子网掩码将是:
192.168.1.0/30
因此,增量将为4.在这种情况下,第一个网络将是192.168.1.0/30
第二个网络将是192.168.1.4/30,如下所示
这些将为WAN链路提供足够的主机IP地址。
羊毛
对于第2部分,我们需要为LAN A提供足够的主机IP地址。
LAN A需要40个IP地址。
因此,我们需要计算我们需要容纳多少个主机位。
2 ^ n-2 = 40
2 ^ 5 2 = 30,这小于40因此不够。
2 ^ 6-2 = 62.因此,这对于LAN A中的主机来说已经足够了。
主机位为6,我们将借用2个主机位来获得这些新网络。
子网划分后172.16.1.0/24网络的新子网掩码将是:
255.255.255.192
增量编号为64,因此四个网络将是:
LAN B
在网络172.16.2.0/24的情况下,我们需要65个主机IP地址
首先,我们需要确定主机部分中需要多少主机位。
2 ^ n-2 = 65
2 ^ 6-2 = 62,这还不够。
2 ^ 7-2 = 126,这将足够并允许扩展。
因此,主机部分将具有7位,并且网络部分将从第四个八位位组借位1位。
网络172.16.2.0的新子网掩码如下所示。
这是255.255.255.128
因此,增量将为128。
第一个网络如下图所示。172.16.2.0/25
第二个也是最后一个网络将是172.16.2.128/25
LAN C
在LAN C中,我们需要使用网络192.168.2.0/24的子网,每个子网可容纳12个主机。
首先,我们确定需要多少主机IP地址位。
2 ^ N-2 = 12
2 ^ 4-2 = 14就足够了。
因此,主机部分将具有4位,而网段将借4位。
网络192.168.2.0的新子网掩码将是。
子网掩码是:255.255.255.240
该网络的增量为16。
第一和第二网络分别为192.168.2.0/28和192.168.2.16/28。
摘要
这标志着ipv4寻址的第一部分结束。在第2部分中,我们将深入研究子网划分,并探索其他概念,如超级网络。