IP : 动态地址分配和解析

全0 子网和全 1 子网

2015 年 8 月 28 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 4 月 22 日) | 反馈


目录


简介

子网划分可以将给定的网络地址分解为更小的子网。结合其它技术,例如网络地址转换(NAT)和端口地址转换(PAT) ,它使您能够更加有效地使用可用的IP地址空间,从而在很大程度上解决地址耗尽的问题。子网划分具有第一个和最后一个子网的使用指南,第一个和最后一个子网分别称为零子网和全1子网。本文档讨论零子网和全 1 子网以及它们的用途。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

全 0 子网

如果网络地址分为子网,在对网络地址划分后获得的第一个分支子网称为全零子网。

请考虑一个 B 类地址,172.16.0.0。因而默认情况下B类地址172.16.0.0有为代表主机部分保留的16个位,允许65534个(216-2)有效主机地址。如果网络172.16.0.0/16通过借用三个位分支子网从主机部分,八(23)子网获取。下表是一个示例,显示了通过子网划分172.16.0.0获得的子网、产生的子网掩码、对应的广播地址、有效主机地址的范围。

子网地址 子网掩码 广播地址 有效主机范围
172.16.0.0 255.255.224.0 172.16.31.255 172.16.0.1 到 172.16.31.254
172.16.32.0 255.255.224.0 172.16.63.255 172.16.32.1 到 172.16.63.254
172.16.64.0 255.255.224.0 172.16.95.255 172.16.64.1 到 172.16.95.254
172.16.96.0 255.255.224.0 172.16.127.255 172.16.96.1 到 172.16.127.254
172.16.128.0 255.255.224.0 172.16.159.255 172.16.128.1 到 172.16.159.254
172.16.160.0 255.255.224.0 172.16.191.255 172.16.160.1 到 172.16.191.254
172.16.192.0 255.255.224.0 172.16.223.255 172.16.192.1 到 172.16.223.254
172.16.224.0 255.255.224.0 172.16.255.255 172.16.224.1 到 172.16.255.254

在以上示例中,第一个子网(子网 172.16.0.0/19)被称为零子网。

子网划分后,获得的子网类型和子网数量对确定零子网不起任何作用。它是对网络地址进行子网划分时获得的第一个子网。此外,在您写零子网地址的二进制等值时,所有子网位(在当前情况下为17、18和19)为零。零子网也称为全 0 子网。

全 1 子网

对网络地址进行子网划分时,获得的最后一个子网被称为全 1 子网。

在参考上面的例子后,当子网划分网络172.16.0.0 (子网172.16.224.0/19)称为全1子网时,可以获得最后的子网。

子网划分后,获得的子网类型和子网数量对确定全1子网不起任何作用。此外,在您写零子网地址的二进制等值时,所有的子网位(在当前情况下为17、18和19)都为一,因次而得名。

全 0 子网与全 1 子网的问题

通常强烈建议不要在编址时使用零子网和全 1 子网。如 RFC 950 中所述:“在经过子网划分处理的网络中保留并扩充这些特殊(网络和广播)地址的解释非常有用。leavingcisco.com 这意味着不应当将子网字段中的全 0 和全 1 值分配给实际(物理)子网。”这是原因为什么网络工程师要求计算借用获取的子网数量三个位会计算23-2 (6)和没有23 (8)。-2 是考虑到通常不使用零子网和全 1 子网。

全 0 子网

由于网络和子网使用不易区分的地址,导致内部混乱,编址失败,可以使用subnet zero。

对于上面的示例,可以考虑使用 IP 地址 172.16.1.10。如果您计算与此IP地址对应的子网地址,您得到的结果将是子网172.16.0.0 (零子网)。请注意,此子网地址与网址172.16.0.0(首先划分子网)是相同的。因此,在任何时候,当您进行子网划分时,您都会获得一个网络和一个子网(subnet zero),它们的地址难以区分。这以前是造成极大混乱的原因。

默认情况下,在Cisco IOS�软件版本12.0之前, Cisco路由器不允许属于subnet zero的IP地址将配置在接口。然而,如果使用 Cisco IOS 软件 12.0 版本以前版本的网络工程师发现使用全 0 子网很安全,全局配置模式 的ip subnet-zero 命令可以用来克服此限制。时至 Cisco IOS 软件版本 12.0 的推出,Cisco 路由器现在可以默认启用 ip subnet-zero,但是如果网络工程师认为使用零子网不安全,no ip subnet-zero 命令则可以用来限制子网零地址的使用。

在 Cisco IOS 软件版本 8.3 之前的版本中,使用了 service subnet-zero 命令。

全 1 子网

由于网络和子网使用相同的广播地址,导致内部混乱,编址失败,可以使用全1子网。

参考以上示例,最后一个子网的广播地址(子网172.16.224.0/19)为172.16.255.255,与网络172.16.0.0(首先进行子网划分)的广播地址相同。在任何时候,当您进行子网划分时,您都可以获得广播地址相同的网络和子网(全1子网)。换句话说,网络工程师可以在路由器上配置地址172.16.230.1/19,但如果这样做,他将无法区分本地子网广播(172.16.255.255(/19))和完整的 B 类广播 (172.16.255.255(/16))。

尽管现在可以使用全 1 子网,配置错误还是会引起问题。为了让您了解会发生什么问题,请参考下图:

/image/gif/paws/13711/40a.gif

注意: 有关详细信息,请参阅主机和子网数量

路由器2至5是接入路由器,每一台路由器具有几条流入异步(或ISDN)连接。我们已经决定将网络(195.1.1.0/24)分成4个部分,提供给这些流入用户。为每个接入路由器都分配一个部分。并且,为异步线路配置了 ip unnum e0。路由器1具有指向正确接入路由器的静态路由,并且每个接入路由器具有指向路由器1的默认路由。

路由器 1 的路由表如下所示:

C  195.1.2.0/24   E0
      S  195.1.1.0/26   195.1.2.2
      S  195.1.1.64/26  195.1.2.3
      S  195.1.1.128/26 195.1.2.4
      S  195.1.1.192/26 195.1.2.5

接入路由器以太网有相同的连接的路由,异步线路有相同的默认路由和几个主机路由。(点对点协议(PPP)规范)

Router 2 routing table:                  Router 3 routing table:                    
                                                                                
      C  195.1.2.0/24   E0                       C  195.1.2.0/24   E0           
      S  0.0.0.0/0      195.1.2.1                S  0.0.0.0/0      195.1.2.1    
      C  195.1.1.2/32   async1                   C  195.1.1.65/32   async1      
      C  195.1.1.5/32   async2                   C  195.1.1.68/32   async2      
      C  195.1.1.8/32   async3                   C  195.1.1.74/32   async3      
      C  195.1.1.13/32   async4                  C  195.1.1.87/32   async4      
      C  195.1.1.24/32   async6                  C  195.1.1.88/32   async6      
      C  195.1.1.31/32   async8                  C  195.1.1.95/32   async8      
      C  195.1.1.32/32   async12                 C  195.1.1.104/32   async12    
      C  195.1.1.48/32   async15                 C  195.1.1.112/32   async15    
      C  195.1.1.62/32   async18                 C  195.1.1.126/32   async18    
          
  Router 4 routing table:                  Router 5 routing table:                    
                                                                               
      C  195.1.2.0/24   E0                       C  195.1.2.0/24   E0          
      S  0.0.0.0/0      195.1.2.1                S  0.0.0.0/0      195.1.2.1   
      C  195.1.1.129/32   async1                 C  195.1.1.193/32   async1    
      C  195.1.1.132/32   async2                 C  195.1.1.197/32   async2    
      C  195.1.1.136/32   async3                 C  195.1.1.200/32   async3    
      C  195.1.1.141/32   async4                 C  195.1.1.205/32   async4    
      C  195.1.1.152/32   async6                 C  195.1.1.216/32   async6    
      C  195.1.1.159/32   async8                 C  195.1.1.223/32   async8    
      C  195.1.1.160/32   async12                C  195.1.1.224/32   async12   
      C  195.1.1.176/32   async15                C  195.1.1.240/32   async15   
      C  195.1.1.190/32   async18                C  195.1.1.252/32   async18

如果我们在异步线路上错误地配置了主机,将掩码配置成255.255.255.0而不是255.255.255.192,会出现什么情况?一切都很正常。

看一看,当这些主机(195.1.1.24)进行本地广播(NetBIOS,WINS)时,会发生什么情况。数据包如下所示:

s: 195.1.1.24 d: 195.1.1.255

路由器 2 接收数据包,然后将其发送给路由器 1,路由器 1 随即将其发送给路由器 5,路由器 5 接着将其发送给路由器 1,路由器 1 再将其发送给路由器 5,如此往复,直到存活时间 (TTL) 到期。

以下是另一个示例(主机 195.1.1.240):

s: 195.1.1.240  d: 195.1.1.255

路由器 5 接收数据包,然后将其发送给路由器 1,路由器 1 随即将其发送给路由器 5,路由器 5 接着将其发送给路由器 1,路由器 1 再将其发送给路由器 5,如此往复,直到 TTL 到期。如果发生这种情况,您可能会认为受到了数据包攻击。根据路由器 5 上的负载来推断,这是一个合理的假设。

在本示例中,创建了一个路由环路。由于路由器 5 处理全 1 子网,因此它被破坏。路由器 2 至路由器 4 只看到过一次“广播”数据包。路由器1也被击中,但如若是Cisco 7513能够处理这种情况呢?在这种情况下,您需要使用正确的子网掩码来配置您的主机。

要防止不正确配置主机,需要使用到回环地址的静态路由195.1.1.255,在每个接入路由器上创建一个回环接口。"您可以使用Null0接口,但这会造成路由器生成互联网控制消息协议(ICMP)""不能到达""消息。"

使用零 子网与全 1 子网

值得注意的是,即使不鼓励使用,包括零子网和全1子网的整个地址空间也永远有用。由于使用的是Cisco IOS软件版本12.0,所以使用全部为1的子网和为0的子网都可以。早在 Cisco IOS 软件版本 12.0 之前,就可以通过输入 ip subnet-zero 全局配置命令来使用零子网。

在使用零子网和全 1 子网的问题上,RFC 1878 中提到:“此实践(排除全零子网和全 1 子网)已过时。leavingcisco.com 现代软件将能够使用所有可定义的网络。”如今使用子网零和全1子网已被广泛接收,大多数供应商都支持它们的应用。然而,在某些网络上,特别是在使用传统软件的网络上,使用全0子网和全1子网可能导致问题。

相关的思科支持社区讨论

思科支持社区是您提问、解答问题、分享建议以及与工作伙伴协作的论坛。


相关信息


Document ID: 13711