目錄

簡介

必要條件

需求

採用元件

慣例

背景資訊

零子網

全一子網

零子網和全一子網的問題

Subnet-Zero問題

全一子網問題

使用零子網和全一子網

相關資訊

簡介

本文檔介紹零子網和全1子網的使用。

必要條件

需求

本文件沒有特定需求。

採用元件

本文件所述內容不限於特定軟體和硬體版本。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

慣例

如需檔案慣例的詳細資訊，請參閱技術提示和其他內容的使用格式慣例。

背景資訊

子網劃分將給定網路地址劃分為更小的子網。與網路地址轉換(NAT)和埠地址轉換(PAT)等其他技術相結合，它可以更有效地利用可用的IP地址空間，並大大緩解地址耗盡的問題。子網劃分的准則涵蓋第一個和最後一個子網的使用，分別稱為子網0和全1子網。

零子網

如果對網路地址劃分子網，對網路地址劃分子網後獲得的第一個子網稱為子網零。

考慮B類地址172.16.0.0。預設情況下，B類地址172.16.0.0保留了16位來表示主機部分，因此允許65534(216-2)有效主機地址。如果網路172.16.0.0/16由於從主機部分借用了3位而劃分子網，則會獲得八(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位）都是零。零子網也稱為全零子網。

全一子網

對網路地址劃分子網後，最後獲得的子網稱為全1子網。

參考前面的示例，對網路172.16.0.0(子網172.16.224.0/19)劃分子網時獲得的最後一個子網稱為全一子網。

劃分子網的網路類別和劃分子網後獲得的子網數量並不決定全一子網。此外，當您寫入相當於子網零地址的二進位制位時，所有子網位（在本例中為17、18和19位）都是1，因此名稱也是1。

零子網和全一子網的問題

傳統上，強烈建議不要將零子網和全1子網用於IP地址。 根據RFC 950，「在劃分子網的網路中保留和擴展這些特殊（網路和廣播）地址的解釋非常有用。這意味著不能將子網欄位中的所有零和全部一的值分配給實際（物理）子網。 這就是網路工程師需要計算借用3個位時獲得的子網數量會計算23-2(6)而不是23(8)的原因。-2知道子網0和全1子網不是傳統使用的子網。

Subnet-Zero問題

不建議使用IP地址為零的子網，因為網路與地址不可區分的子網之間存在著固有的混亂。

參考前面的示例，考慮IP地址172.16.1.10。如果計算與此IP地址關聯的子網地址，則答案為子網172.16.0.0（子網為零）。請注意，此子網地址與最初劃分子網的網路地址172.16.0.0相同，因此當您執行劃分子網時，您將獲得一個網路和一個地址無法區分的子網（零子網）。這曾經是引起巨大混亂的根源。

在Cisco IOS®軟體版本12.0之前，預設情況下，Cisco路由器不允許在介面上配置屬於子網0的IP地址。但是，如果使用低於12.0的Cisco IOS軟體版本的網路工程師發現使用零子網是安全的，則可以在全域性配置模式下使用ip subnet-zero命令來克服此限制。自Cisco IOS軟體版本12.0起，Cisco路由器現在已預設啟用ip subnet-zero，但如果網路工程師認為使用子網零不安全，則可使用no ip subnet-zero指令來限制使用子網零位址。

在Cisco IOS軟體版本8.3之前的版本中，使用的是service subnet-zerocommand。

全一子網問題

過去，由於網路與廣播地址相同的子網存在固有混淆，因此不鼓勵使用全1子網進行IP編址。

參考前面的示例，最後一個子網(子網172.16.224.0/19)的廣播地址為172.16.255.255，與網路172.16.0.0的廣播地址相同，而網路首先對其劃分子網，因此當您執行子網劃分時，您將獲得具有相同廣播地址的網路和子網（全一子網）。換句話說，網路工程師可以在路由器上配置地址172.16.230.1/19，但如果這樣做，他就無法再區分本地子網廣播(172.16.255.255(/19))和完整的B類廣播(172.16.255.255(/16))。

雖然現在可以使用全1子網，但配置錯誤可能會造成問題。

注意：有關詳細資訊，請參閱主機和子網數量。

為了讓您瞭解會發生什麼，請考慮以下事項：

配置錯誤的一體化子網

路由器2至5是接入路由器，每個接入路由器都有多個傳入非同步（或ISDN）連線。這些傳入使用者的網路(192.168.1.0/24)被分為四個部分。每個部分都分配給其中一台接入路由器。此外，非同步線路是configuredip unnum e0。路由器1的靜態路由指向正確的接入路由器，而每台接入路由器在路由器1都有預設路由點。

Router 1的路由表如下所示：

C  192.168.2.0/24   E0

S  192.168.1.0/26   192.168.2.2

S  192.168.1.64/26  192.168.2.3

S  192.168.1.128/26 192.168.2.4

S  192.168.1.192/26 192.168.2.5

存取路由器具有相同的乙太網路連線路由、相同的預設路由，以及適用於其非同步線路的若干主機路由(由點對點通訊協定(PPP)提供)。

Router 2 routing table:                  Router 3 routing table:

C  192.168.2.0/24   E0                       C  192.168.2.0/24   E0

S  10.0.0.0/0      192.168.2.1               S  10.0.0.0/0      192.168.2.1

C  192.168.1.2/32   async1                   C  192.168.1.65/32   async1

C  192.168.1.5/32   async2                   C  192.168.1.68/32   async2

C  192.168.1.8/32   async3                   C  192.168.1.74/32   async3

C  192.168.1.13/32   async4                  C  192.168.1.87/32   async4

C  192.168.1.24/32   async6                  C  192.168.1.88/32   async6

C  192.168.1.31/32   async8                  C  192.168.1.95/32   async8

C  192.168.1.32/32   async12                 C  192.168.1.104/32   async12

C  192.168.1.48/32   async15                 C  192.168.1.112/32   async15

C  192.168.1.62/32   async18                 C  192.168.1.126/32   async18

Router 4 routing table:                  Router 5 routing table:

C  192.168.2.0/24   E0                       C  192.168.2.0/24   E0

S  10.0.0.0/0      192.168.2.1               S  10.0.0.0/0      192.168.2.1

C  192.168.1.129/32   async1                 C  192.168.1.193/32   async1

C  192.168.1.132/32   async2                 C  192.168.1.197/32   async2

C  192.168.1.136/32   async3                 C  192.168.1.200/32   async3

C  192.168.1.141/32   async4                 C  192.168.1.205/32   async4

C  192.168.1.152/32   async6                 C  192.168.1.216/32   async6

C  192.168.1.159/32   async8                 C  192.168.1.223/32   async8

C  192.168.1.160/32   async12                C  192.168.1.224/32   async12

C  192.168.1.176/32   async15                C  192.168.1.240/32   async15

C  192.168.1.190/32   async18                C  192.168.1.252/32   async18

如果非同步線路上的主機配置不正確，改為使用255.255.255.0掩碼而不是255.255.255.192掩碼，該怎麼辦？一切正常？

瞭解當其中一個主機(192.168.1.24)執行本地廣播(NetBIOS、WINS)時發生的情況。封包如下所示：

s: 192.168.1.24 d: 192.168.1.255

Router 2會收到封包。Router 2將其傳送到Router 1，而Router 1將其傳送到Router 5，而Router 5會將其傳送到Router 1，而Router 1會將其傳送到Router 5，以此類推，直到Time To Live(TTL)到期。

以下是另一個範例（主機192.168.1.240）：

s: 192.168.1.240  d: 192.168.1.255

此封包由Router 5接收。Router 5將其傳送到Router 1,Router 1將其傳送到Router 5,Router 5將其傳送到Router 1,Router 1將其傳送到Router 5，以此類推，直到TTL到期為止。如果發生這種情況，您可能會認為自己受到資料包攻擊。考慮到Router 5上的負載，這不是一個不合理的假設。

在此範例中，已建立路由回圈。因為Router 5會處理全1子網，所以它會遭到破壞。路由器2到路由器4只看到「廣播」資料包一次。路由器1也命中，但如果是Cisco 7513，該路由器可以處理這種情況，該怎麼辦？在這種情況下，您需要使用正確的子網掩碼配置主機。

要防止未正確配置的主機，請在每台接入路由器上建立一個環回介面，該介面具有到環回地址的靜態路由192.168.1.255。您可以使用Null0介面，但這會導致路由器產生網際網路控制訊息通訊協定(ICMP)「無法連線」訊息。

使用零子網和全一子網

必須注意的是，即使不鼓勵使用，包含子網0和全1子網的整個地址空間始終都是可用的。自Cisco IOS軟體版本12.0起，明確允許使用全一子網且明確允許使用零子網。即使在Cisco IOS軟體版本12.0之前，如果輸入ip subnet-zero全域性配置命令，也可以使用零子網

有關子網零和全1子網使用情況的問題，請參閱RFC 1878。目前，零子網和全一子網的使用被普遍接受，大多數供應商都支援使用。但是，在某些網路（尤其是使用傳統軟體的網路）中，使用零子網和全一子網會導致問題。

注意：只有註冊的思科使用者才能訪問內部思科工具和資訊。

相關資訊

- IP路由通訊協定技術支援頁面

- 思科技術支援與下載