簡介
本文說明設定路由器所需的基本資訊,例如位址劃分方式和子網路的運作方式。
必要條件
需求
思科建議您基本瞭解二進位制和十進位制數字。
採用元件
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
其他資訊
如果定義對您有幫助,請使用以下辭彙術語開始使用:
位址:指派給網路中某一主機或介面的專屬 ID 號碼。
子網 — 共用特定子網地址的網路的一部分。
子網掩碼 — 一種32位組合,用於描述地址的哪一部分是指子網,哪一部分是指主機。
介面 — 網路連線。
如果您已從網際網路網路資訊中心(InterNIC)收到合法位址,便可開始使用。如果您不打算連上網際網路,思科強烈建議您使用 RFC 1918 的保留位址。
瞭解如何為路由器上的每個介面,指派具有唯一子網路的 IP 位址。本文提供範例,以協助您整合所有內容。
瞭解IP地址
IP 位址是用來識別 IP 網路裝置的位址,各裝置的位址不會重複。位址由 32 個二進位位元組成,可透過子網路遮罩分成網路部分和主機部分。32個二進位制位被分為四個八位組(1個八位組= 8位)。 每個八位元組都會轉換為十進位,並以英文句點(點)區隔。 因此,IP 位址通常是以加上英文句點的十進位格式表示(例如 172.16.81.100)。 每個二進位制八位數的值範圍是0到255十進位制,或00000000 - 11111111二進位制。
以下是二進位制八位數轉換為十進位制的方式:八位元的最右側位元或最不重要位元具有數值 20。 該數值正左側的位元具有數值 21。 如此會持續到最左側位元或最重要位元具有數值 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 個主機(其實最多可達 16,777,214 個主機!)的網路。
在 B 級位址中,前兩個八位元為網路部分,因此圖 1 中的 B 級範例具有主要的網路位址 128.0.0.x - 191.255.255.x。二進位制八位數3和4(16位)用於本地子網和主機。B 類位址可用於具有 256 到 65,534 個主機的網路。
在 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,您從地址的原始主機部分提取了3位(由子地址表示),並使用它們來生成子網。使用這三個位,可以建立8個子網。使用其他五個主機 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 個子網路 (25)。 使用 5 位元進行子網路劃分時,賸下 11 位元用於主機位址。如此可讓每個子網路具有 2048 個主機位址 (211),其中的 2046 個位址可指派至裝置。
附註:過去,使用子網0(所有子網位都設定為零)和所有1個子網(所有子網位都設定為一)都受到限制。 某些裝置不允許使用這些子網。Cisco Systems 裝置允許在設定 指令的情況下使用這些子網路。ip subnet-zero
範例
示例練習1
既然您已瞭解子網路劃分,可以開始實際運用這些知識。在本例中,為您提供了兩個地址/掩碼組合,它們使用字首/長度標籤法編寫,已分配給兩台裝置。您的任務是確定這些裝置是位於同一子網還是不同子網中。您可以使用每個裝置的地址和掩碼來確定每個地址屬於哪個子網。
DeviceA: 172.16.17.30/20
DeviceB: 172.16.28.15/20
判斷 DeviceA 的子網路:
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 的位址位元,並將其他所有位址位元設為 0(相當於在遮罩和位址之間執行邏輯「AND」), 它會向您顯示此地址屬於哪個子網。在此情況下,裝置 A 屬於子網路 172.16.16.0。
判斷 DeviceB 的子網路:
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 級主機位元中的三個位元。兩個位元僅可讓您擁有四個子網路 (22)。
由於您需要三個子網路位元,因此剩下五個位元可用於位址的主機部分。這些位元可以支援幾個主機?25 = 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 位址和遮罩長度的相關指示。長度表示最左側設為 1 的連續遮罩位元數。因此,網路 172.16.0.0 255.255.0.0 可以表示為 172.16.0.0/16。 CIDR(無類別網域間路由)亦描繪更加階層式的網際網路結構,其中每個網域皆會從更高層級取得其 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.
相關資訊