目錄

簡介

必要條件

需求

採用元件

其他資訊

瞭解IP地址

網路掩碼

瞭解子網劃分

範例

示例練習1

示例練習2

VLSM

VLSM示例

CIDR

特殊子網路

31 位元子網路

32 位元子網路

附錄

示例配置

路由器A

路由器B

主機/子網數量表

相關資訊

簡介

本檔案將說明設定路由器所需的基本資訊，例如位址分解的方式和子網路劃分的運作方式。

必要條件

需求

思科建議您基本瞭解二進位制和十進位制數字。

採用元件

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

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

其他資訊

如果定義對您有幫助，請使用以下辭彙術語開始使用：

地址 — 分配給網路中一台主機或介面的唯一編號ID。

子網 — 共用特定子網地址的網路的一部分。

子網掩碼 — 一種32位組合，用於描述地址的哪一部分是指子網，哪一部分是指主機。

介面 — 網路連線。

如果您已經從Internet網路資訊中心(InterNIC)收到合法地址，則可以開始使用。如果您不計畫連線到網際網路，思科強烈建議您使用RFC 1918 中的保留位址。

瞭解如何為路由器上的每個介面，指派具有唯一子網路的 IP 位址。本文提供範例，以協助您整合所有內容。

瞭解IP地址

IP地址是用於唯一標識IP網路上的裝置的地址。該地址由32個二進位制位組成，借助於子網掩碼，這些位可以劃分為網路部分和主機部分。32個二進位制位被分為四個八位組（1個八位組= 8個位）。每個八位元都轉換為十進位制並以句點（點）分隔。因此，IP位址據說是以點分十進位制格式表示（例如172.16.81.100）。每個二進位制八位數的值範圍是0到255十進位制，或00000000 - 11111111二進位制。

以下是二進位八位元轉換為十進位數的方法：八位元的最右端位元（或最低有效位元）的值為^20。位於其左側的位值是2^1。此過程會一直持續到最左邊的位，或最高有效位，其值為^27。因此，如果所有二進位制位都為1，則十進位制等效值將為255，如下所示：

1  1  1  1 1 1 1 1

128 64 32 16 8 4 2 1 (128+64+32+16+8+4+2+1=255)

以下是並未將所有位都設為1時的八位元轉換範例。

0  1 0 0 0 0 0 1

0 64 0 0 0 0 0 1 (0+64+0+0+0+0+0+1=65)

此範例顯示以二進位制和十進位制表示的IP地址。

10.       1.      23.      19 (decimal)

00001010.00000001.00010111.00010011 (binary)

這些八位元被細分，以提供可容納大型和小型網路的定址方案。有五種不同的網路，A到E。本文檔重點介紹類A至C，因為類D和E是保留的，因此對這些類的討論不在本文檔的範圍之內。

註：另請注意，本文檔中使用了術語A類、B類等，以便於理解IP編址和子網劃分。由於引入了無類域間路由(CIDR)，這些術語在業界已很少使用。

給定IP位址時，其類別可由三個高位元（第一個八位元中最左邊的三個位元）來確定。圖1顯示了三個高位元的重要性以及屬於每個類別的地址範圍。為了便於參考，還顯示了D類和E類地址。

圖1

在 A 級位址中，第一個八位元為網路部分，因此圖 1 中的 A 級範例具有主要的網路位址 1.0.0.x - 127.255.255.x（其中 x 可能介於 0 和 255 之間）。二進位制八位數2、3和4（接下來的24位）可供網路管理員根據需要劃分到子網和主機中。A類地址用於主機數超過65,536的網路(實際上最多為16777214台主機！)。

在 B 級位址中，前兩個八位元為網路部分，因此圖 1 中的 B 級範例具有主要的網路位址 128.0.0.x - 191.255.255.x。二進位制八位數3和4（16位）用於本地子網和主機。B類地址用於主機數在256到65534之間的網路。

在C類地址中，前三個八位組是網路部分。圖 1 中的 C 級範例具有主要網路地址 192.0.0.x - 223.255.255.x.二進位制八位數4（8位）用於本地子網和主機，非常適合主機數少於254的網路。

網路掩碼

網路掩碼可幫助您瞭解地址的哪一部分標識網路，哪一部分標識節點。A類、B類和C類網路具有預設掩碼（也稱為自然掩碼），如下所示：

Class A: 255.0.0.0

Class B: 255.255.0.0

Class C: 255.255.255.0

未劃分子網的A類網路上的IP地址具有類似以下內容的地址/掩碼對：10.20.15.1 255.0.0.0。若要瞭解掩碼如何幫助您識別地址的網路部分和節點部分，請將地址和掩碼轉換為二進位制數字。

10.20.15.1 = 00001010.00010100.00001111.00000001

255.0.0.0  = 11111111.00000000.00000000.00000000

一旦您擁有以二進位制形式表示的地址和掩碼，則網路和主機ID的識別就更加容易。將相應的掩碼位設定為1的任何地址位表示網路ID。將相應的掩碼位設定為0的任何地址位都表示節點ID。

10.20.15.1 = 00001010.00010100.00001111.00000001

255.0.0.0  = 11111111.00000000.00000000.00000000

-----------------------------------

net id |      host id

netid =  00001010 = 10

hostid = 00010100.00001111.00000001 = 20.15.1

瞭解子網劃分

子網劃分允許您建立存在於單個A類、B類或C類網路中的多個邏輯網路。如果不劃分子網，則只能使用A類、B類或C類網路中的一個網路，這是不現實的。

網路上的每個資料連結都必須具有唯一的網路 ID，且該連結上的每個節點都是相同網路的成員。如果將主網路（A類、B類或C類）劃分為更小的子網，則允許建立互連子網路的網路。然後，此網路上的每個資料鏈路將具有唯一的網路/子網ID。任何連接 n 個網路/子網路的裝置或閘道具有 n 個獨特的 IP 位址，每個互連的網路/子網路都具有一個位址。

若要為網路劃分子網路，請從地址的主機 ID 部分延伸具有部分位元的自然遮罩。舉例來說，如果類別 C 網路 192.168.5.0 具有自然遮罩 255.255.255.0，您可以此方式建立子網路：

192.168.5.0     - 11000000.10101000.00000101.00000000

255.255.255.224 - 11111111.11111111.11111111.11100000

--------------------------|sub|----

通過將掩碼擴展為255.255.255.224，您從地址的原始主機部分提取了三個位（由子節點指示）並用它們建立子網。利用這三個位，可以建立八個子網。使用其他五個主機 ID 位元，每個子網路最多可以有 32 個主機位址，實際上其中 30 個可以指派給一部裝置，因為不允許使用全零或全一的主機 ID（請務必記住這一點）。因此，考慮到這一點，這些子網就建立好了。

192.168.5.0 255.255.255.224     host address range 1 to 30

192.168.5.32 255.255.255.224    host address range 33 to 62

192.168.5.64 255.255.255.224    host address range 65 to 94

192.168.5.96 255.255.255.224    host address range 97 to 126

192.168.5.128 255.255.255.224   host address range 129 to 158

192.168.5.160 255.255.255.224   host address range 161 to 190

192.168.5.192 255.255.255.224   host address range 193 to 222

192.168.5.224 255.255.255.224   host address range 225 to 254

註：有兩種方法可以表示這些掩碼。首先，由於您使用的子網掩碼比自然的C類掩碼多三位，因此您可以將這些地址表示為3位子網掩碼。其次，掩碼255.255.255.224也可以表示為/27，因為掩碼中設定了27位。第二種方法用於CIDR。使用此方法，可以使用符號字首/長度來描述其中一個網路。例如，192.168.5.32/27表示網路192.168.5.32 255.255.255.224。適當時，會使用首碼/長度標籤法來表示本檔案其餘部分的遮罩。

本節中的網路子網路劃分配置允許八個子網路，網路可顯示如下：

圖2

請注意，圖2中的每台路由器都連線到四個子網，而兩個路由器共用一個子網。此外，每台路由器都有一個與其連線的每個子網的IP地址。每個子網可能最多支援30個主機地址。

這就引出了一個有趣的問題。用作子網掩碼的主機位越多，可用的子網就越多。但是，可用的子網越多，每個子網可用的主機地址就越少。例如，C 級網路 192.168.5.0 和遮罩 255.255.255.224 (/27)，允許您擁有八個子網路，每個子網路有 32 個主機位址（其中 30 個可以指派給裝置）。若使用 255.255.255.240 (/28) 的遮罩，細項將如下所示：

192.168.5.0     - 11000000.10101000.00000101.00000000

255.255.255.240 - 11111111.11111111.11111111.11110000

--------------------------|sub |---

由於現在有四個位可用於建立子網，因此只剩下四個位用於主機地址。因此在這種情況下，您最多可以擁有16個子網，每個子網最多可以擁有16個主機地址（其中14個地址可以分配給裝置）。

看看如何對 B 級網路進行子網路劃分。如果您有網路172.16.0.0，就會知道其自然遮罩是255.255.0.0或172.16.0.0/16。將遮罩擴展到超過255.255.0.0的任何內容意味著您正在進行子網劃分。您很快就會看到，您能夠建立比使用C類網路多得多的子網。如果使用掩碼255.255.248.0(/21)，則每個子網允許多少個子網和主機？

172.16.0.0  -   10101100.00010000.00000000.00000000

255.255.248.0 - 11111111.11111111.11111000.00000000

-----------------| sub |-----------

您將原始主機位中的五個位用於子網。這樣您就可以擁有32個子網(2個5)。使用 5 位元進行子網路劃分時，賸下 11 位元用於主機位址。這樣每個子網就有2048個主機地址(2^11)，其中2046個可以分配給裝置。

註：過去，使用子網0（所有子網位都設定為零）和所有1個子網（所有子網位都設定為一）都受到限制。某些裝置不允許使用這些子網。Cisco Systems裝置允許在 ip subnet-zero 命令已配置。

範例

示例練習1

既然您已瞭解子網路劃分，可以開始實際運用這些知識。在本例中，為您提供了兩個地址/掩碼組合，它們使用字首/長度標籤法編寫，已分配給兩台裝置。您的任務是確定這些裝置是位於同一子網還是不同子網中。您可以使用每個裝置的地址和掩碼來確定每個地址屬於哪個子網。

DeviceA: 172.16.17.30/20

DeviceB: 172.16.28.15/20

確定裝置A的子網：

172.16.17.30  -   10101100.00010000.00010001.00011110

255.255.240.0 -   11111111.11111111.11110000.00000000

-----------------| sub|------------

subnet =          10101100.00010000.00010000.00000000 = 172.16.16.0

檢視相應掩碼位設定為1的地址位，並將所有其他地址位設定為零（這等效於在掩碼和地址之間執行邏輯AND運算）。它會向您顯示此地址屬於哪個子網。在此情況下，裝置 A 屬於子網路 172.16.16.0。

確定裝置B的子網：

172.16.28.15  -   10101100.00010000.00011100.00001111

255.255.240.0 -   11111111.11111111.11110000.00000000

-----------------| sub|------------

subnet =          10101100.00010000.00010000.00000000 = 172.16.16.0

根據這些判斷，裝置 A 和裝置 B 具有屬於同一子網路的位址。

示例練習2

假設 C 級網路為 192.168.5.0/24，對網路進行子網路劃分以建立圖 3 中所顯示符合主機要求的網路。

圖3

當您檢視圖3中所示的網路時，可以看到您需要建立五個子網。最大的子網必須支援28個主機地址。使用C類網路是否可能實現此功能？如果是，又如何呢？

若要開始，請檢視子網要求。為了建立五個所需的子網路，您需要使用 C 級主機位元中的三個位元。兩個位將僅允許您四個子網(2^2)。

由於需要三個子網位，因此地址的主機部分將剩下五個位。這支援多少台主機？2^5 = 32（30個可用）。這符合要求。

因此，您已確定可以使用 C 級網路建立此網路。如何指派子網路的範例如下：

netA: 192.168.5.0/27      host address range 1 to 30

netB: 192.168.5.32/27     host address range 33 to 62

netC: 192.168.5.64/27     host address range 65 to 94

netD: 192.168.5.96/27     host address range 97 to 126

netE: 192.168.5.128/27    host address range 129 to 158

VLSM

在前面所有子網劃分示例中，請注意所有子網都應用了相同的子網掩碼。這意味著每個子網具有相同數量的可用主機地址。在某些情況下，您需要這樣做；但是，在大多數情況下，當所有子網都有相同的子網掩碼時，這會浪費地址空間。例如，在示例練習2部分中，將C類網路拆分為八個大小相等的子網；但是，每個子網未利用所有可用主機地址，從而導致地址空間浪費。圖4顯示了地址空間的浪費。

圖4

圖4說明瞭使用了哪些子網。NetA、NetC和NetD有大量未使用的主機地址空間。這可能是為了將來擴展而故意設計，但在許多情況下，因為所有子網路都使用了相同的子網路遮罩，這種作法只會浪費位址空間。

可變長子網掩碼(VLSM)允許對每個子網使用不同的掩碼，因此可以有效地使用地址空間。

VLSM示例

假設與示例練習2中的網路和要求相同，使用VLSM開發子網劃分方案，則認為：

netA: must support 14 hosts

netB: must support 28 hosts

netC: must support 2 hosts

netD: must support 7 hosts

netE: must support 28 host

確定允許所需主機數量的掩碼。

netA: requires a /28 (255.255.255.240) mask to support 14 hosts

netB: requires a /27 (255.255.255.224) mask to support 28 hosts

netC: requires a /30 (255.255.255.252) mask to support 2 hosts

netD*: requires a /28 (255.255.255.240) mask to support 7 hosts

netE: requires a /27 (255.255.255.224) mask to support 28 hosts

* a /29 (255.255.255.248) would only allow 6 usable host addresses

therefore netD requires a /28 mask.

分配子網的最簡單方法是首先分配最大的子網。例如，可以按以下方式分配：

netB: 192.168.5.0/27  host address range 1 to 30

netE: 192.168.5.32/27 host address range 33 to 62

netA: 192.168.5.64/28 host address range 65 to 78

netD: 192.168.5.80/28 host address range 81 to 94

netC: 192.168.5.96/30 host address range 97 to 98

如圖5所示：

圖5

圖 5 說明 VLSM 如何協助您節省一半以上的位址空間。

CIDR

引入無類域間路由(CIDR)是為了提高地址空間利用率和Internet中的路由可擴充性。由於Internet的迅速增長和Internet路由器中儲存的IP路由表的增長，所以需要這種方法。

CIDR 擺脫了傳統的 IP 類別（A 類、B 類、C 類等）。在CIDR中，IP網路由字首表示，字首是IP地址以及掩碼長度的某些指示。長度表示設定為一的最左側連續掩碼位的數量。因此，網路172.16.0.0 255.255.0.0可以表示為172.16.0.0/16。CIDR還描述了更分層的Internet架構，其中每個域從更高層獲取其IP地址。這樣，就可以在更高級別完成域彙總。例如，如果ISP擁有網路172.16.0.0/16，則ISP可以向客戶提供網路172.16.1.0/24、172.16.2.0/24等。但是，當向其他提供商進行廣告時，ISP只需要通告172.16.0.0/16。

有關CIDR的詳細資訊，請參閱RFC 1518 和RFC 1519 。

特殊子網路

31 位元子網路

30位子網掩碼允許四個IPv4地址：兩個主機地址、一個全零網路和一個全一廣播地址。點對點連結只能有兩個主機位址。點對點連結不一定需要廣播和全零位址。31 位元的子網路遮罩只允許兩個主機位址，並消除了廣播位址和全零位址，因此節省使用 IP 位址，只使用最低限度的點對點連結。

請參閱 RFC 3021 - 在 IPv4 點對點連結使用 31 位元首碼。

遮罩為 255.255.255.254 或 /31。

/31 子網路可用於真正的點對點連結，例如序列或 POS 介面。然而，此類子網路也能用於廣播介面類型，例如乙太網路介面。在此類情況下，請確保該乙太網路區段只需要兩個 IPv4 位址。

範例

192.168.1.0 和 192.168.1.1 在子網路 192.168.1.0/31 上。

R1(config)#interface gigabitEthernet 0/1

R1(config-if)#ip address 192.168.1.0 255.255.255.254

% Warning: use /31 mask on non point-to-point interface cautiously

由於 GigabitEthernet 屬於廣播區段，因此列印警告。

32 位元子網路

255.255.255.255 的子網路遮罩（/32 子網路）描述只有一個 IPv4 主機位址的子網路。這些子網不能用於為網路鏈路分配地址，因為它們每條鏈路始終需要多個地址。/32 必須嚴格限制用於只能擁有一個位址的連結。思科路由器的範例為回送介面。此類介面屬於內部介面，無法連結到其他裝置。因此此類介面可使用 /32 子網路。

範例

interface Loopback0

ip address 192.168.2.1 255.255.255.255

附錄

示例配置

路由器A和B通過串列介面連線。

路由器A

hostname routera

!

ip routing

!

int e 0

ip address 172.16.50.1 255.255.255.0

!(subnet 50)

int e 1 ip address 172.16.55.1 255.255.255.0

!(subnet 55)

int s 0 ip address 172.16.60.1 255.255.255.0

!(subnet 60) int s 0

ip address 172.16.65.1 255.255.255.0 (subnet 65)

!S 0 connects to router B

router rip

network 172.16.0.0

路由器B

hostname routerb

!

ip routing

!

int e 0

ip address 192.168.10.200 255.255.255.240

!(subnet 192)

int e 1

ip address 192.168.10.66 255.255.255.240

!(subnet 64)

int s 0

ip address 172.16.65.2 (same subnet as router A's s 0)

!Int s 0 connects to router A

router rip

network 192.168.10.0

network 172.16.0.0

主機/子網數量表

Class B                   Effective  Effective

# bits        Mask         Subnets     Hosts

-------  ---------------  ---------  ---------

1      255.255.128.0           2     32766

2      255.255.192.0           4     16382

3      255.255.224.0           8      8190

4      255.255.240.0          16      4094

5      255.255.248.0          32      2046

6      255.255.252.0          64      1022

7      255.255.254.0         128       510

8      255.255.255.0         256       254

9      255.255.255.128       512       126

10     255.255.255.192      1024        62

11     255.255.255.224      2048        30

12     255.255.255.240      4096        14

13     255.255.255.248      8192         6

14     255.255.255.252     16384         2

Class C                   Effective  Effective

# bits        Mask         Subnets     Hosts

-------  ---------------  ---------  ---------

1      255.255.255.128      2        126

2      255.255.255.192      4         62

3      255.255.255.224      8         30

4      255.255.255.240     16         14

5      255.255.255.248     32          6

6      255.255.255.252     64          2

*Subnet all zeroes and all ones included. These

may not be supported on some legacy systems.

*Host all zeroes and all ones excluded.

相關資訊

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

- 零子網和全一子網

- 主機和子網路數量

- 技術支援與文件 - Cisco Systems