IPv6的位址習慣上用16進位數字來書寫. 但是即使用16進位, 還是非常冗長. 而且中間通常都會有很多"0". 因此大家都知道可以縮寫. 例如:
0002:0000:0000:0100:00F0:000A:0000:0000
可以縮寫成:
2::100:F0:A:0:0
可是練習的時候如果想要驗算, 有沒有甚麼簡單的方法? 其實手邊的 Packet Tracer 就很好用!
這個技巧簡單地說, 就是將要驗算的未縮寫IPv6位址設定到網路卡中, 然後 "show run" 來看 IOS (嚴格說起來, Packet Tracer) 幫我們計算縮寫的結果.
以下畫面使用 Packet Tracer 5.2示範.
1. 打開 Packet Tracer, 新增一台 Router.
2. 點開步驟一的 Router 進入CLI設定模式.
3. 進到某張網路卡中, 將未縮寫的 IPv6 位址輸入在 "ipv6 address XXX/64" 中. 以開頭的例子來說, 我們原來想縮寫的是 "0002:0000:0000:0100:00F0:000A:0000:0000", 所以我們就打這個命令:
ipv6 address 0002:0000:0000:0100:00F0:000A:0000:0000/64
其中, "/64" 代表 Prefix 長度, 一定要加, 但不一定非 64 不可.
4. 這時候再來 show run, 找到剛才 "ipv6 address" 命令所對應的 running-config, 就可以看到縮寫的結果.
結果看得出來就是 2::100:F0:A:0:0.
如果答案不一樣怎麼辦?
以本例來說, 剛好兩種答案都對:0002:0000:0000:0100:00F0:000A:0000:0000
既可以縮寫成:
2::100:F0:A:0:0
也可以縮寫成:
2:0:0:100:F0:A::
如果你算的結果就是"2:0:0:100:F0:A::" 的話, 要驗算時請再新增一台 Router, 將你的答案, 重覆前四個步驟再做一次. 如果兩者結果相同, 那你算出的答案就是正確的!
Router(config-if)#ipv6 addr 2:0:0:100:F0:A::/64 Router(config-if)#do show run Building configuration... Current configuration : 483 bytes ! version 12.4 ..... ! interface FastEthernet0/0 no ip address duplex auto speed auto ipv6 address 2::100:F0:A:0:0/64 shutdown !兩者算出的結果都是: "2::100:F0:A:0:0". 所以答案是對的!
當然, 兩者如果不一致, 那答案就是錯的.
另外, 如果答案格式錯得很離譜, 那命令根本就打不進去.
結論
各位會發現, 使用真實的 IOS Router 也可以適用以上技巧. 只不過 Packet Tracer 更方便, 只需要 PC 就可以練習!我將IPv6位址書寫的縮寫規則整理在下面:
1. 用":"號分開的每一節當中, 開頭的 "0" 都可以去掉. 但是至少要留一個 "0". 所以:
0002:0000:0000:0100:00F0:000A:0000:0000
可以縮寫成:
2:0:0:100:F0:A:0:0
2. 然後, 如果連續有好幾節都是 ":0:", 可以一口氣合成一個 "::", 但是只能縮一次. 所以:
2:0:0:100:F0:A:0:0
可以再度縮寫成:
2::100:F0:A:0:0
或是, 也可以縮寫成:
2:0:0:100:F0:A::
網誌管理員已經移除這則留言。
回覆刪除您好!因為留言內容可能涉及非授權軟體下載,即將被刪除。
刪除