其他分享
首页 > 其他分享> > 计算机网络(19)——IPv4 编址(分类编址、CIDR)

计算机网络(19)——IPv4 编址(分类编址、CIDR)

作者:互联网

文章目录

IPv4 编址

接口指主机 / 路由器与物理链路之间的边界,一个 IP 地址技术上是与一个接口相关联的,而不是与包括该接口的主机或路由器相关联的。由于路由器的任务是从链路上接收数据报并从某些其他链路转发出去,路由器通常有多个接口,主机通常只有一个或两个接口(如有线的以太网接口,无线的 802.11 接口)。

IP 地址(IPv4):32比特(即四个字节)编号标识主机、路由器的接口。一般按点分十进制记法书写,即地址中的每个字节用它的十进制形式书写。IP 地址是以网络号(NetID)主机号(HostID)来表示网络上的主机的

IP地址 ::= {<网络号>, <主机号>},将主机号置 0,就可以得到网络地址。

下图中左上侧部分的三台主机以及它们连接的路由器接口,都有一个形如 223.1.1.xxx的 IP 地址,也就是说,在它们的 IP 地址中,最左侧的 24 比特是相同的。这 4 个接口也通过一个不包含路由器的网络互联起来,该网络就是一个 IP 子网(Subnet)。IP 编址为这个子网分配一个地址:223.1.1.0/24,其中的 /24 记法有时称为子网掩码,指示了 32 比特中最左侧 24 比特为子网地址(在下面子网划分中介绍子网掩码,分类编址中不需要子网掩码)。

在这里插入图片描述

特殊 IP 地址

有一些特殊的 IP 地址,是不能分配给网络接口使用的

有类 IP 地址(分类编址)

因特网的地址分配策略被称为无类别域间路由选择(CIDR,在 CIDR 被采用之前,IP 地址的网络号部分只能是8、16、24比特,这就是我们这里所说的分类编址(classful addressing)的编制方案(目前已不采用):

在这里插入图片描述

A 类、B 类、C 类地址占整个 IPv4 地址空间的 87.5%,它们中的大部分可以用于标识公共网络上的网络接口(除去特殊的 IP 地址私有 IP 地址),都按照 IP 编址策略明确了网络号和主机号分别占用多少位

D 类、E 类地址不区分网络号和主机号,也不用来标识网络中的接口

私有的 IP 地址包括:A 类网络 NetID 为 10 的这一个地址块、B 类网络 NetID 为 172.16 ~ 172.31 的这 16 个地址块、C 类网络 NetID 为 192.168.0 ~ 192.168.255 的这 256 个地址块。这些 IP 地址只能在组织的内部网络使用,不能标识公共互联网上的接口。

基本的 IP 子网划分方法

在介绍 CIDR 之前,先简单看一下基本的 IP 子网划分方法。

在实际网络中 A 类这种庞大的 IP 子网显然是不可能的,因为所有主机处于同一广播域,而在同一广播域中有这么多节点网络会因为广播通信而饱和,结果造成地址大部分没有分配出去。因此需要将一个 IP 子网划分为更小范围的子网,这就是子网划分(Subnetting)

将 IP 编址中的主机号(HostID)进一步划分为子网号(SubID)和主机号。子网划分实际上就是将原来的两级 IP 地址转变为三级 IP 地址,表示如下:

 IP地址 ::= {<网络号>, <子网号>, <主机号>}

划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,只有该网络内部才可以看到其进行了子网划分,这就是子网掩码(network mask)子网掩码的形式形如 IP 地址,其 NetID、SubID 全部取 1,HostID 位全部取 0。例如,A 类网络的子网掩码为 255.0.0.0,B 类网络的子网掩码为 255.255.0.0,C 类网络的子网掩码为 255.255.255.0,借用 3 比特划分子网的 B 类网络的子网掩码为:255.255.224.0

在这里插入图片描述

在 Internet 中,通过子网地址+子网掩码才可以准确确定子网大小。路由器在转发表中存储子网地址的同时,还将存储子网掩码。将 IP 分组的目的地址与子网掩码按位与运算,便可以提取目的子网地址

虽然说子网划分后,每个子网主机号全0(子网地址)和全1(广播地址) 的 IP 地址均不能分配给网络接口,这带来了一定的 IP 地址的浪费,但带来了网络性能的极大改进。

最后,我们需要注意的是,在之前基本的子网划分中,借走主机号两位,只能划分 4 - 2 = 2 个子网,这是因为全0和全1不使用,一般至少借走两位,其他位数的划分是一样的,都需要减去2,但是CIDR表示法中的子网划分就不用减2,因为其也使用全0和全1。

CIDR 与路由聚合

分类编址已经被淘汰了,因特网的地址分配策略被称为无类别域间路由CIDR:Classless Inter Domain Routing),它真正消除了传统的 A 类、B 类、C 类地址以及划分子网的概念。CIDR 将 NetID 和 SubID 统一使用网络前缀(Prefix)来表示,IP 地址的形式为:a.b.c.d/x,其中地址的 x 最高比特构成了 IP 地址的网络号部分(即网络前缀),所以 IP 地址由前缀和主机号构成x 为前缀长度

从下面的例子中可以看出,CIDR 地址分配与分类编址有很大的区别:如果按分类编址,这是一个 C 类地址,那么其网络号为 24 位,可能还包括子网号;但按照 CIDR,其网络前缀只有 23 位。
在这里插入图片描述

采用 CIDR,极大提高了 IPv4 地址空间分配效率及利用率,而且提高了路由效率(在路由表中将多个子网络聚合为一个较大的子网,即路由聚合)。下面是一个 ISP 将 8 个组织连接到因特网的例子,假设该 ISP(我们称之为 Fly-By-Night-ISP)向外界通告,它接收所有目的 IP 地址的前 20 比特与 200.23.16.0/20 相符的数据报,外界的其他部分不需要知道在地址块 200.23.16.0/20 内实际上还存在 8 个其他组织,每个组织有自己的子网。这种使用单个网络前缀通告多个网络的能力通常称为路由聚合

在这里插入图片描述

然而,当地址不是按上面这样的层次方式分配时,如下图组织 1 的地址块 200.23.18.0/23 属于 ISPs-R-Us,组织 1 无疑可以将其所有的路由器和主机重新编号,使得地址在 ISPs-R-Us 的地址块内,但这是一种代价很高的方案,而且组织 1 将来也许还会更换到另一个 ISP。通常采用的做法是,组织 1 保持其 IP 地址在 200.23.18.0/23内,Fly-By-Night-ISP 继续通告地址块 200.23.16.0/20,并且 ISPs-R-Us 也继续通告地址块 199.31.0.0/16。然而,ISPs-R-Us 现在还要通告组织 1 的地址块 200.23.18.0/23。当在更大的因特网上的其他路由器想路由选择到在地址块 200.23.18.0/23 内的一个地址时,他们将使用最长前缀匹配原则朝着 ISPs-R-Us 路由,因为它通告了与目的地址相匹配的最长的地址前缀。

在这里插入图片描述

标签:编址,子网,19,IP,网络,地址,IPv4,主机
来源: https://blog.csdn.net/qq_39583450/article/details/113728278