首页 > 编程知识 正文

计算机网络子网地址,一个网段怎么划分多个子网

时间:2023-05-04 03:09:36 阅读:135296 作者:2343

划分子网

从二级IP地址到三级IP地址

早期(ARPANET早期) IP地址设计问题:

)1) IP地址空间利用率可能较低。

)如果为每个物理网络分配网络号,路由表将变得太大,从而降低网络性能。

)3)二级IP地址不灵活。

三级IP地址从1985年开始在IP地址中添加“子网号字段”,将二级IP地址更改为三级IP地址。

这种方法称为划分子网(subnetting )。

划分子网已成为互联网的正式标准协议。

划分子网的基本思路划分子网完全是一个单位内部的事情。 对外仍然表现为没有划分子网的网络。

从主机编号中借用一些位作为子网编号subnet-id,主机编号host-id也会相应地减少一些位。

从其他网络发送到本站某个主机的IP数据报还是基于IP数据报的目的地网络号net-id来找到与本站网络连接的路由器。

然后,该路由器收到IP数据报后,将在目标网络号net-id和子网号subnet-id中找到目标子网。

最后,将IP数据报直接提供给目标主机。

实例

非子网化b类网络145.13.0.0

分成三个子网后也对外是一个网络

特点:划分子网完全是一个单位内部的事情,表现为对外部网络透明,对外仍然没有划分子网的一个网络。

划分子网后形成了三级结构。 如果没有分割子网,IP地址将分为两个阶段。

划分子网后,IP地址分为三个阶段结构。

划分子网只是重新划分IP地址的主机号host-id的部分,而不更改IP地址的原始网络号net-id。

优点:

1 .减少了IP地址的浪费

2 .使网络组织更加灵活

3 .便于维护和管理

子网掩码

问:如果目标地址为145.13.3.10的数据报到达路由器R1,路由器将如何转发到子网145.13.3.0? (IP数据报无法识别源主机或目标主机所连接的网络是否为子网。)

要解决这个问题,请使用子网掩码。 可以使用子网掩码(subnet mask )找到IP地址的子网部分

规则:子网掩码长度=32位

子网掩码左部分的一系列1对应于网络号和子网号

子网掩码右侧部分的一系列0对应于主机编号

使用子网掩码的好处:

无论网络是否划分了子网,只要按位对子网掩码和IP地址进行and运算,即可立即获得网络地址。 这使得路由器能够在处理到达的包时采用类似的算法。

运算过程:

默认子网掩码

子网掩码是网络或子网的重要属性

路由器在与相邻路由器交换路由信息时,必须向相邻路由器传递其所在网络(或子网)的子网掩码。

的路由表中的每个项目除了指定目标网络地址外,还必须指定该网络的子网掩码。

如果路由器连接到两个子网,则它有两个网络地址和两个子网掩码。

子网划分方法有固定长度子网和可变长度子网两种子网划分方法。

使用固定长度的子网时,划分的所有子网的子网掩码都是相同的。

根据已成为互联网标准协议的RFC 950文档,子网号不能为全1或全0,但随着非分类域间路由CIDR的普及,现在也可以使用全1和全0的子网号请谨慎使用,以确保路由器上使用的路由软件支持完整0或完整1的子网号。

划分子网可以提高灵活性,但会减少可连接到网络的主机总数。

b类地址的子网划分选择(使用固定长度子网) ) )。

使用子网传输数据包时,在不划分子网的两个阶段的IP地址下,从IP地址中导出网络地址是很简单的事情。

但是,如果划分了子网,则无法根据IP地址唯一求出网络地址。 这是因为网络地址取决于该网络使用的子网掩码,但数据报的开头没有子网掩码信息。

因此,数据包转发的算法也必须相应地改变。

在划分子网的情况下,路由器传送分组的算法从接收分组的开头提取目的地IP地址d。

首先,按位对各网络的子网掩码和d进行“与”,以确认是否与相应的网络地址一致。 如果匹配,则直接传递组。 否则,就是间接交付,执行(3)。

如果路由表中包含目标地址为d的特定主机路由,则将包转发到指定的下一跳路由器。 否则,执行(4)。

对于路由表中的每一行,按位“与”子网掩码和d。 如果结果是

与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)。

若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)。

报告转发分组出错。

无分类编址CIDR(构成超网)

背景(产生的问题):B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕!

互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。

整个 IPv4 的地址空间最终将全部耗尽。

解决方案:1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。

使用变长子网掩码 VLSM (Variable Length Subnet Mask)可进一步提高 IP 地址资源的利用率。

在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

CIDR 最主要的特点CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。

CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。

IP 地址从三级编址(使用子网掩码)又回到了两级编址。

无分类的两级编址

无分类的两级编址的记法:

CIDR 使用“斜线记法”(slash notation),它又称为 CIDR 记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。例如: 220.78.168.0/24

CIDR 地址块CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。

128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。这个地址块的起始地址是 128.14.32.0。

在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。

128.14.32.0/20 地址块的最小地址:128.14.32.0

128.14.32.0/20 地址块的最大地址:128.14.47.255

全 0 和全 1 的主机号地址一般不使用。

如:128.14.32.0/20 表示的地址(212 个地址)

路由聚合 (route aggregation)一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。

路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。

路由聚合也称为构成超网 (supernetting)。

CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。

对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。

CIDR 记法的其他形式10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。

10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是 255.192.0.0。此掩码可表示为:

网络前缀的后面加一个星号 * 的表示方法,如 00001010 00*,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值。

常用的 CIDR 地址块

构成超网前缀长度不超过 23 位的 CIDR 地址块都包含了多个 C 类地址。

这些 C 类地址合起来就构成了超网。

CIDR 地址块中的地址数一定是 2 的整数次幂。

网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。

CIDR 的一个好处是:可以更加有效地分配 IPv4 的地址空间,可根据客户的需要分配适当大小的 CIDR 地址块。

CIDR 地址块划分举例

最长前缀匹配使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。

应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配 (longest-prefix matching)。

网络前缀越长,其地址块就越小,因而路由就越具体 (more specific) 。

最长前缀匹配又称为最长匹配或最佳匹配。

举例:

使用二叉线索查找路由表当路由表的项目数很大时,怎样设法减小路由表的查找时间就成为一个非常重要的问题。

为了进行更加有效的查找,通常是将无分类编址的路由表存放在一种层次的数据结构中,然后自上而下地按层次进行查找。这里最常用的就是二叉线索 (binary trie)。

IP 地址中从左到右的比特值决定了从根结点逐层向下层延伸的路径,而二叉线索中的各个路径就代表路由表中存放的各个地址。

为了提高二叉线索的查找速度,广泛使用了各种压缩技术。

用 5 个前缀构成的二叉线索

从二叉线索的根节点自顶向下的深度最多有 32 层,每一层对应于IP地址中的一位。一个IP地址存入二叉线索的规则很简单。先检查IP地址左边的第一位,如为 0,则第一层的节点就在根节点的左下方;如为 1,则在右下方。然后再检查地址的第二位,构造出第二层的节点。依此类推,直到唯一前缀的最后一位。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。