子網路切割、變動長度的子網路遮罩 (VLSM) 與 TCP / IP 的檢修 第 3 章 子網路切割、變動長度的子網路遮罩 (VLSM) 與 TCP / IP 的檢修
子網路切割 從一個較大的網路切割成幾個較小的網路 子網路切割的好處: 減少網路交通 最佳化網路效能 簡化管理比較容易發現與隔離網路問題 有利於跨越長遠的地理距離
IP Subnet-Zero IP subnet-zero 命令讓您在進行網路設計時, 可以利用到第一個與最後一個子網路 例如, 192 的 C 級遮罩提供 64 與 128 子網路, 但如果有 ip subnet-zero 命令, 那麼就會有 0, 64, 128, 與 192 的子網路可用 Cisco 從 Cisco IOS 12.x 版開始, 預設上就已經把這個命令打開了
如何產生子網路 決定所需之網路 ID 個數 決定每個子網路所需之主機 ID 個數 根據以上的需求來產生如下的資訊 每個子網路一個 每條廣域網路連線一個 決定每個子網路所需之主機 ID 個數 每部 TCP / IP 主機一個 每個路由器界面一個 根據以上的需求來產生如下的資訊 為整個網路產生一個子網路遮罩 為每個實體網段產生一個唯一的子網路 ID 產生每個子網路的主機 ID 範圍
網路遮罩的計算 IP位址經過遮罩過濾之後,剩下來的部分就是網路號碼 192.168.100.123 AND邏輯運算 ---------------- 1 AND 1 = 1 1 AND 0 = 0 0 AND 0 = 0 速記法: 只有兩個1相遇 才會成1,其他 情況都是0 先轉成二進位數字來看 11000000 10101000 01100100 01111011 跟遮罩 255.255.255.0 做 AND 邏輯運算 11111111 11111111 11111111 00000000 結果就是 Network-ID 網路位址 11000000 10101000 01100100 00000000 轉回十進位數字來看 192.168.100.0
網路遮罩的計算(續) 可以把遮罩想像成一個洞洞濾網,1的位置就是有開洞,0的位置就是封住沒開洞,所以經過1的會無條件通過,遇到0的就全部歸零 1 重要原則: 遮罩只能左邊1、右邊0﹐ 不能有任何一個1在0的右邊 X X X X 1 1
網路遮罩的計算(續) 網路遮罩兩種表示法:例:255.255.255.128 X.X.X.X:將4個Byte各別算成十進位數字來表示 11111111.11111111.11111111.10000000 ----255---.----255----.----255---.----128---- /數字:在正斜線後面寫十進位數字,表示位元為1的個數 例如 /25 ------------共有 25 個 1 ---------
子網路切割 要讓子網路位址的結構能運作, 網路上的每部機器必須知道主機位址的哪一部份是要用來當作子網路位址, 這要藉由指定一個稱為子網路遮罩的資訊給每部機器﹐子網路遮罩中的 1 表示該位置參考到的是網路或子網路位址 例如若要將192.192.192.0/24網路再切分八份,就將遮罩增加3位元成 192.192.192.0/27,也就是說,原本為0的遮罩部分左邊將被搶走三個位元改成1 1 可以分成幾個子網段? 3個位元表示2的3次方 也就是2^3=8 可切成8個網段 每個子網段能有幾個IP? 5個位元表示2的5次方 也就是2^5=32 每個子網段可配得32個IP 但是……
子網路切割(續) 每個子網路都有兩個IP必須保留不可給任何設備使用: 因此每個子網路的有效主機位址得扣掉以上2個 第一個IP:做為網路位址(NetworkID)的代表 例:192.168.100.0/24 的 192.168.100.0 最後一個IP:做為廣播位址(Broadcast) 例:192.168.100.0/24 的 192.168.100.255 因此每個子網路的有效主機位址得扣掉以上2個
預設子網路遮罩 這些預設遮罩是不能更改的。亦即對於 A 級網路而言, 您不可以更改子網路遮罩中的第 1 個位元組, 它至少必須是 255.0.0.0。同樣地, B 級位址必須從 255.255.0.0 開始, 而 C 級則必須從 255.255.255.0 開始
無級別之跨網域遶送 (CIDR) 基本上這是 ISP 用來配置某個數量的位址給其客戶的方法 表示方式類似這樣:192.168.10.32 / 28, 最後面的數字其實已經告訴您子網路遮罩了, 斜線表示有多少位元的值是 1 最大可行的子網路遮罩只能是/30, 因為至少得留下 2 個位元當作主機位元 /8 到 /15 只能給 A 級網路位址使用, /16 到 /23 可以給 A 級或 B 級網路位址使用, 而 /24 到 /30 可以給 A、B、C 級的網路位址使用
切割 C 級位址之子網路 C 級的子網路遮罩只可能有以下幾種 因為使用 ip subnet-zero 命令的 緣故, 1 個子網路位元也可行
切割 C 級位址之子網路:快速法! 當您已經選好一個可能的子網路遮罩, 而且需要決定該遮罩所提供之子網路號碼、有效主機、與子網路的廣播位址時, 您所要做的就是回答以下 5 個簡單的問題: 所選的子網路遮罩可產生多少子網路? 2x = 子網路數目;x 是子網路遮罩中值為 1 的位元個數 每個子網路有多少可用的有效主機? 2y – 2 = 每個子網路中的主機數目;y 是子網路遮罩中值為 0 的位元個數 有效的子網路為何? 256 – 子網路遮罩 = 區塊大小。子網路就是從 0 開始, 以區塊大小遞增, 直到抵達遮罩的值為止 每個子網路的廣播位址為何? 廣播位址總是次個子網路的前一個號碼 每個子網路的有效主機為何? 有效主機是子網路之間的號碼, 扣掉全部為 0 與全部為 1 的部份
切割 C 級位址之子網路範例:255.255.255.240 (/ 28) 子網路? 240 = 11110000, 24 = 16。 主機? 4 個主機位元或 24 – 2 = 14。 有效的子網路? 256 – 240 = 16, 從 0 開始, 0 + 16 = 16, 16 + 16 = 32, 32 + 16 = 48, 48 + 16 = 64 , 64 + 16 = 80, 80 + 16 = 96, 96 + 16 = 112, 112 + 16 = 128, 128 + 16 = 144, 144 + 16 = 160, 160 + 16 = 176, 176 + 16 = 192, 192 + 16 = 208, 108 + 16 = 224, 224 + 16 =240 每個子網路的廣播位址? 有效主機? 要回答最後兩個問題, 只要檢查下表即可。它列出了子網路、有效主機、及每個子網路之廣播位址。首先找出每個子網路之廣播位址 (它一定是下個子網路的前一個號碼), 然再填入主機位址即可。
在心裡切割子網路:C 級位址 範例: 首先, 算出這個 IP 位址的子網路與廣播位址 您可藉由回答 5 大問題中的第 3 題來算出這個答案:256 – 224 = 32。 0, 32, 64。33 落在 32 與 64 這 2 個子網路之間, 所以它必定是 192.168.10.32 子網路的一部份。下個子網路是 64, 所以 32 子網路的廣播位址是 63 (子網路的廣播位址一定是下個子網路的前一個號碼) 有效的主機範圍是 33-62 (介於子網路與廣播位址之間的數字)
所有可能的 B 級子網路遮罩 B 級網路位址有 16 個位元可供主機位址使用, 這表示我們最多有 14 個位元可用來進行子網路切割
切割 B 級位址之子網路 在 B 級位址之第 3 個位元組使用與 C 級位址之第 4 個位元組一樣的子網路號碼, 但要在第 4 個位元組補 0 給網路位址, 補 255 給廣播位址 下表顯示在 B 級 240 (/ 20) 子網路遮罩所用之 3 個子網路的主機範圍: 只要在數字之間增加有效的主機, 就OK啦!
切割 B級位址之子網路範例:255.255.192.0 (/18) 子網路? 22 = 4 主機? 214 – 2 = 16, 382 (第 3 個位元組的 6 個位元, 再加上第 4 個位元組的 8 個位元) 有效的子網路? 256–192 = 64。0, 64, 128, 192。子網路切割要在第 3 個位元組上進行﹐因此子網路號碼是 0.0, 64.0, 128.0, 以及 192.0
切割 B級位址子網路範例:255.255.255.128 (/25) 子網路? 29 = 512 主機? 27 – 2 = 126 有效的子網路?針對第 3 個位元組, 256 – 255 = 1, 所以是 0, 1, 2, 3 ...。但您不可以忘記第 4 個位元組也用了一個子網路位元。對於每個第 3 位元組的值都會有 2 個子網路, 例如, 如果第 3 個位元組的子網路位址是 3, 則這 2 個子網路實際上是 3.0 與 3.128 下表列出前 8 個與最後 2 個子網路, 以及他們的有效主機與廣播位址:
在心裡切割B 級子網路位址 問題:IP 位址 172.16.10.33 255.255.255.224 (/ 27) 所屬的子網路與廣播位址為何? 答案:焦點位元組是第 4 個位元組。256 – 224 = 32, 32 + 32 = 64。33 剛好就介於 32 與 64 之間, 不過您要記得第 3 個位元組只是子網路的一部份, 所以子網路的答案應該是 10.32, 而因為下個子網路是 10.64, 所以廣播位址是 10.63 問題:IP 位址 172.16.66.10 255.255.192.0 (/18) 所屬的子網路與廣播位址為何? 答案:這題的焦點位元組是第 3 個位元組。256–192 = 64。0, 64, 128。所以子網路的答案應該是 172.16.64.0, 而因為下個子網路是 128.0, 所以廣播位址是 172.16.127.255 問題:如果路由器從界面收到一個目的 IP 位址為 172.16.46.191 / 26 的封包, 路由器要如何處理這個封包呢? 答案:丟棄!為什麼呢?172.16.46.191 / 26 的網路遮罩是 255.255.255.192, 所以區塊大小是 64, 子網路是 0, 64, 128, 192。因此, 191 是 128 子網路的廣播位址, 而路由器的預設會丟棄廣播封包
切割 A 級位址之子網路 A 級位址的子網路切割與 B、C 級位址的切割沒什麼不同, 只是它有 24 個位元的空間﹐同樣地至少得留 2 個位元給主機用 做法跟 B 或 C 級子網路的做法一樣﹐只是這裡從第 2 個位元組開始
切割 A級位址子網路範例:255.255.0.0 (/16) 以A級私有位址10.0.0.0為例 子網路?28 = 256 主機?216 – 2 = 65, 534 有效的子網路?焦點位元組在哪裡呢?256 – 255 = 1, 所以是 0, 1, 2, 3, ... 等 (第 2 個位元組的全部)。所以子網路是 10.0.0.0, 10.1.0.0, 10.2.0.0, 10.3.0.0 ... 等等, 直到 10.255.0.0 下表是 A 級私有網路 10.0.0.0 的前 2 個及最後 2 個子網路, 以及他們的有效主機與廣播位址:
切割 A級位址子網路範例:255.255.240.0 (/20) 以A級私有位址10.0.0.0為例 子網路? 212 = 4096 主機? 212 – 2 = 4094 有效的子網路?焦點位元組在哪裡呢?256–240 = 16。第 2 個位元組之子網路的區塊大小是 1, 而第 3 個位元組之子網路則為 0, 16, 32 等 下表列出前 3 個及最後一個子網路, 以及他們的有效主機與廣播位址:
切割 A級位址子網路範例:255.255.255.192 (/26) 以A級私有位址10.0.0.0為例 子網路?218 = 262,144 主機?26–2 = 62 有效的子網路?第 2 與第 3 個位元組的區塊大小是 1, 而第 4 個位元組的區塊大小是 64 下表列出前 4 個子網路, 以及他們的有效主機與廣播位址: 下表列出最後 4 個子網路, 以及他們的有效主機與廣播位址:
在心裡切割子網路:A 級位址 關鍵:只要關心區塊大小最大的那個位元組即可 (一般我們稱之為焦點位元組, 也就是異於 0 或 255 的位元組) 範例: A 級網路的 255.255.240.0 (/ 20) 遮罩 它的第 2 個位元組的區塊大小是 1, 所以該位元組中的任何號碼都是子網路。第 3 個位元組的遮罩是 240, 這表示其區塊大小是 16 如果主機 ID 是 10.20.80.30, 那麼它的子網路、廣播位址、有效的主機範圍為何呢? 第 2 個位元組的子網路是 20, 其區塊大小是 1, 但第 3 個位元組的區塊大小是 16, 所以我們只要計算:0, 16, 32, 48, 80, 96 ..., 找到了。子網路的答案就是 10.20.80.0, 因為下個子網路是 10.20.96.0, 所以廣播位址是 10.20.95.255。有效的主機範圍則是 10.20.80.1 到 10.20.95.254
Classful與Classless網路 有級別的遶送 RIPv1 與 IGRP 等遶送協定都沒有欄位可記載子網路的資訊, 如果一部執行 RIP 的路由器有特定值的子網路遮罩, 它會假設該有級別位址空間的所有界面都有相同的子網路遮罩 如果在執行 RIP 或 IGRP等有級別遶送的網路中要求比對子網路遮罩的長度, 則該網路將無法正常運作 無級別的遶送 無級別的遶送協定則支援子網路資訊的宣傳, 因此可以在 RIPv2、EIGRP、或 OSPF 等遶送協定的環境中使用變動長度之子網路遮罩(VLSM)﹐這種網路的優點是可以節省不少的 IP 位址空間 VLSM 可讓我們在不同的路由器界面設定不同的子網路遮罩
有級別的網路設計(有問題) 浪費了寶貴的 IP 位址 IP位址不夠用
修正成無級別的網路設計
為什麼要費心使用 VLSM 設計? 假如在公司的環境中使用 A 級的私有網路位址 10.0.0.0, IP 位址根本就不會不夠, 為什麼還會想要費心地進行 VLSM 的設計程序呢? 藉由在網路的特定區域產生連續區塊的位址, 就可以很容易地總結那些網路, 讓遶送協定的route update維持在最小的量 summarization又稱為supernetting, 藉由在一個宣傳訊息中宣傳許多路徑, 而非一個一個地個別宣傳每條路徑, 於是能以最有效率的方式來提供路徑的更新。這會節省不少頻寬, 而且最小化路由器的處理工作 但網路須經過特意的設計, 總結才有可能行得通
實作 VLSM 網路步驟一 瞭解區塊大小, 產生 VLSM 遮罩 例如下表是產生 C 級網路之 VLSM 時所用的區塊大小 如果您需要 25 部主機, 那麼就需要 32 的區塊。如果需要 11 部主機, 就需要 16 的區塊。但如果需要 40 部主機呢?答案是 64 的區塊
實作 VLSM 網路步驟二 產生 VLSM 表格﹐填好工作單的左下角, 將子網路加到工作單 使用這個表格的理由是, 這樣就不會不小心地讓網路重疊
VLSM 網路實作範例(網路圖)
VLSM 網路實作範例(VLSM表格)
另一個 VLSM 網路範例
實作 VLSM 網路練習一
實作 VLSM 網路練習一解答
實作 VLSM 網路練習二
實作 VLSM 網路練習二解答
路徑總結 summarization又稱為route aggregation, 這讓遶送協定能夠以一個位址來宣傳多個網路﹐目的是為了縮減路由器的路徑表大小, 以節省記憶體, 同時縮短 IP 程式分析路徑表以找尋抵達遠端網路之路徑的時間 下圖顯示如何在互連網路中使用總結位址:
如何進行路徑總結 如果想要將多個網路總結成一個網路, 只要先找出區塊大小,例如: 它們的區塊大小為何?剛好有 16 個 C 級網路, 所以恰好可以用大小為 16 的區塊 用來宣傳總結位址所用的網路位址一定是區塊中的第一個網路位址 : 192.168.16.0 接下來, 計算總結遮罩。用什麼遮罩可以得到 16 的區塊大小呢:240 將 240 放在第 3 個位元組 - 也就是我們進行總結的位元組, 所以這個問題的遮罩就是 255.255.240.0
路徑總結範例:172.16.32.0到172.16.50.0的網路 這個例子的網路從 32 開始, 區塊大小的選項為 4, 8, 16, 32, 64...等, 我們選 16 與 32, 因為它們都可能可以當作這個總結位址 答案 #1:如果使用區塊大小 16, 則網路位址是 172.16.32.0, 而遮罩為 255.255.240.0 (240 提供區塊大小 16)。但這只能總結 32 到 47, 這表示 48 到 50 的網路必須個別宣傳。 答案 #2:如果使用區塊大小 32, 則總結位址仍然是 172.16.32.0, 不過遮罩是 255.255.224.0 (224 提供區塊大小 32)。這個答案的可能問題是它會總結 32 到 63 的網路, 但我們只有 32 到 50 的網路。如果您的規劃是以後也要將 51 到 63 的網路加到相同的網路上, 那麼別擔心。但如果不知道什麼原因出現了 51 到 63 的網路, 而且是從您網路的其他地方宣傳出來的, 那麼您的互連網路可能就會有嚴重的問題了!
路徑總結範例 / 20 是 255.255.240.0, 這表示第 3 個位元組的區塊大小為 16。從 144 開始 (這也在題目中), 大小為 16 的下個區塊是 160, 所以第 3 個位元組不能超過 159 因此, 會被轉送的 IP 位址為 192.168.144.1 到 192.168.159.255 (是的, 廣播位址也會轉送)
路徑總結範例 先寫下所有的網路, 並且看看是否能在這 6 個網路中找到什麼共同的部分: 172.1.4.128 / 25 172.1.7.0 / 24 172.1.6.0 / 24 172.1.5.0 / 24 172.1.4.0 / 25 是的, 它的區塊大小為 4。所以您可以使用遮罩 255.255.252.0 (這表示您會在第 3 個位元組使用大小為 4 的區塊) 來總結 172.1.4.0
Cisco 建議的 4 個檢修步驟 打開 DOS 視窗, 並且 ping 127.0.0.1 如果可以 ping 成功, 表示您的 IP 堆疊已初始化成功;否則, 這意味著您的 IP 堆疊根本沒有正常運作, 這時您需要重新在這部主機上安裝 TCP / IP 從 DOS 視窗 ping 本地主機的 IP 位址 如果成功, 表示您的網路界面卡 可正常運作;否則表示網路界面卡有問題。 從 DOS 視窗 ping 預設閘道 如果成功, 表示網路界面卡已經連到網路, 而且可以與本地網路通訊;否則, 從網路界面卡到路由器之間的任何地方可能有本地的實體網路問題 如果步驟 1 到步驟 3 都成功, 請試著 ping 遠端的伺服器 如果成功, 表示本地主機與遠端伺服器可以進行 IP 通訊, 而且您也因此知道遠端的實體網路目前乃正常地運作 如果這 4 個步驟都成功, 而用戶仍然無法與遠端伺服器通訊, 那麼也許您有某類的名稱解析問題, 必須檢查您的 DNS 設定 但如果無法 ping 遠端伺服器, 那麼您知道存在某種遠端實體網路問題, 這時就必須到伺服器上進行步驟 1 到步驟 3 的檢修, 直到找到問題為止
基本的檢修命令 Packet InterNet Groper (ping) 使用 ICMP 回聲請求和回覆, 以測試某個網點的 IP 堆疊是否已經開啟, 並且還活在網路上 traceroute 使用 TTL 逾時和 ICMP 錯誤訊息, 列出通往網路目的地所經過之路線上的路由器清單 tracert 跟 traceroute 相同功能的命令, 但這是微軟 Windows 的命令, 並且無法在 Cisco 路由器上運作 arp –a 在 Windows PC 上顯示 IP 對 MAC 的位址對應 show ip arp 跟 arp – a 相同功能的命令, Cisco 路由器用它來顯示 ARP 表格。就像 traceroute 和 tracert 命令一樣, 它們無法在 DOS 和 Cisco 之間交換使用 ipconfig / all 只能在 DOS 命令提示下使用, 用來顯示 PC 的網路設定
找出 IP 位址的問題一 這是此子網路的廣播位址!!! 問題:業務部門的PC 無法連到行銷部的 B伺服器? 使用子網路64 使用子網路32 使用子網路96
找出 IP 位址的問題二 這是此子網路的廣播位址! 問題: 業務部區域網路 上的一個用戶 無法抵達 B 伺服器 使用子網路80 使用子網路24 使用子網路40
尋找有效的主機一
尋找有效的主機二 請問 HostA 與 HostB 主機的主機位址與子網路遮罩應該為何?
尋找有效的主機三 可以指定什麼 IP 位址給 RouterB 的 S0/0 界面