實例解析:搭建IPv6網絡環境
原創從事計算機網絡工作,是萬萬不能少了各種各樣的實踐操作。但現實中真實網絡環境的稀缺,限制了很多想深入學習網絡知識的同志。更別說在現實的IPv6網絡環境中學習IPv6知識了。本文就是通過使用DynamipsGUI和VMware兩個軟件,為那些想深入學習IPv6知識的同志,搭建起幾乎和現實IPv6網絡一樣的實驗環境。可以隨意大膽的在搭建起來的網絡環境中進行各種各樣的測試和操作,能夠很好的提高學習IPv6知識的效率。而且本文中使用的軟件在網上都可以找到,在電腦上安裝完軟件后,完全可以對照下面的步驟一步一步把IPv6的網絡環境搭建成功。
一、網絡結構拓撲圖和所使用的軟件。
1、網絡拓撲介紹。如圖1所示,是搭建的純IPv6網絡環境。最終要實現的功能是從電腦PC上,通過路由器,能ping通服務器Server。反之,也要實現從Server上ping通電腦PC。關于圖1中具體的參數配置,會在下面進行詳細的介紹。
2、使用軟件介紹。圖1網絡環境的搭建都是在一臺裝有Win 7操作系統電腦上完成的。也就是說在單臺電腦上,通過使用軟件搭建起了和現實IPv6環境一樣的網絡。在Win 7操作系統中主要安裝了兩個軟件,一個是小凡的DynamipsGUI,版本為2.8;另一個軟件為VMware,版本為7.1.3 build-324285,而且在VMware的虛擬機中安裝的還是Win 7的操作系統。因為Win7對IPv6的支持比較好,所以就沒有選擇在VMware中安裝Windows XP系統。
3、有關上面兩個軟件的安裝和使用,在網上有很多相關的文章,在此就不再一一介紹。只是在虛擬機VMware中安裝Win 7系統時可能要注意的事項多一些。
#p#
二、DynamipsGUI中的配置步驟。
1、在VMware中安裝完Win 7操作系統后,就會在本地電腦(也就是圖1中的PC)的"控制面板"---->"網絡和Internet"---->"網絡連接"中出現兩個VMware Network Adapter連接,"VMnet1"和"VMnet8"。因為本實例中只會用到"VMnet1"和"本地連接",所以就在網絡連接"VMnet8"上點擊右鍵,選擇"禁用"后就變成了如圖2所示的灰色的不可用狀態。
圖3 DynamipsGUI設備選型界面
2、打開DynamipsGUI 2.8,對照圖3所示,選擇好各個參數:
在"路由器個數"中選擇1;
在"設備類型"中選擇2600;在"2600"一欄中的各個參數對照圖3選擇。
在"IOS文件"中使用的是c2600-ik9o3s3-mz.123-13a.BIN,當然也可以使用其它的IOS,只要能保證它支持IPv6的各個功能即可。此處還有一個"idle-pc值",只要選擇好IOS,點擊"計算idle"就可以計算出它的值,具體的方法網上都有,不再一一陳述。
在"PC橋接參數配置"中,要計算"VMnet1"和"本地連接"二者的橋接參數。點擊"計算橋接參數"按鈕,就可得出兩個網絡連接的橋接參數:
NIC_0(對應圖2中的"本地連接")的橋接參數為"\Device\NPF_{093B5BB6-F57D-4210-8BAF-6F98D3237BA5}"。
NIC_1(對應圖2中的"VMware Network Adapter VMnet1")的橋接參數為"\Device\NPF_{A0002202-4768-4522-91CF-455D8AFB68A3}"。選擇好兩個橋接參數后點擊"確定橋接參數"。
3、在圖3中設置好各個參數后,點擊"下一步"進入到圖4所示的界面。這里主要是選擇路由器2621使用的模塊類型,對照圖4所示選擇好后點擊"確定Router1配置",再點擊"下一步"。
圖5 DynamipsGUI連接設置界面
4、進入到"Dynamips-連接設置"界面,如圖5所示。在此要建立了兩個連接,"Router1 F0/0 <----> XPC P0/1"和"Router1 F1/0 <----> XPC P0/0"。這里有幾個關鍵點:兩個連接中的Router1 F0/0端口和F1/0端口,就是圖1所示的兩個路由器端口;XPC P0/0接口就是圖1中的"本地連接"的接口,也就是圖2中的"本地連接";XPC P0/1接口就是圖1中的"PC(VMnet1)"的接口,也就是圖2中的"VMware Network Adapter VMnet1"網絡連接。
在圖5中建立好連接后,再點擊"生成.BAT文件"(此按鈕在圖5中沒有截出,位于右下方)按鈕,即可在設定好的目錄下生成可執行文件"Router1.bat"。在文件"Router1.bat"上點擊右鍵選擇"編輯",就會顯示出文件的內容,如下所示:
REM ----------Created by Xiaofan----------
@echo off
title Router1-----Created by Xiaofan
mkdir Router1
cd Router1
:reload
..\dynamips-wxp.exe -T 2001 -P 2600 -r 128 -t 2621 -c 0x2102 -p 0:CISCO2600-MB-2FE -p 1:NM-1FE-TX -s 0:0:gen_eth:"\Device\NPF_{A0002202-4768-4522-91CF-455D8AFB68A3}" -s 1:0:gen_eth:"\Device\NPF_{093B5BB6-F57D-4210-8BAF-6F98D3237BA5}" ..\c2600-ik9o3s3-mz.123-13a.BIN --idle-pc=0x80394bfc
goto reload
綜上所述,圖1中所示拓撲圖的內部連接情況為:
Router F0/0<---->VMnet1<---->{A0002202-4768-4522-91CF-455D8AFB68A3}(圖3中計算得出的橋接參數)<---->NIC_1(圖3中所示的參數)<---->XPC P0/1(圖5中所示的設備接口);
Router F1/0<---->本地連接<---->{093B5BB6-F57D-4210-8BAF-6F98D3237BA5}<---->NIC_0<---->XPC P0/0。
圖6 VMware網絡適配器設置界面
#p#
三、在VMware虛擬機中的配置。
打開VMware虛擬機后,再啟動其中的Win 7操作系統,啟動完成后,選擇"VM"菜單中的"Settings"選項,就會出現如圖6所示的配置界面。在"Hardware"頁面中,選擇"Network Adapter"選項,然后在頁面右邊的"Network connection"中選擇"Bridged"選項。最后點擊"OK"按鈕。然后,在VMware虛擬機中再重新啟動Win 7操作系統。
虛擬機中的Win 7操作系統,就相當于圖1中的"Server"服務器。在虛擬機中安裝完Win 7系統后,在其中的"控制面板"---->"網絡和Internet"---->"網絡連接"中會自動生成一個虛擬的網絡連接。
在圖6中,選擇"Bridged"橋接模式后,就相當于把圖1中的"本地連接"網卡,和"Server(VMware)"上自動生成的虛擬網卡連接到了同一個網段中。這樣圖1中的"Server(VMware)"也就和路由器Router的F1/0位于同一個網段中。
#p#
四、終端和路由器上網絡參數配置。
要實現圖1中PC和Server之見的互聯互通,就必須在路由器、PC和Server上進行相應的網絡配置。
圖7 在VMware的Win 7系統中配置IPv6地址
1、終端網絡參數配置。其中Server上IPv6地址的配置,如圖7所示,直接在虛擬機的Win7操作系統中的"Internet協議版本6(TCP/IPv6)屬性"配置,地址為2000::2/64。同理,圖2中"VMware Network Adapter VMnet1"和"本地連接"兩個連接的IPv6參數配置,也和在圖7中配置的類似。PC(VMnet1)的IPv6地址為2001::1/64,"本地連接"的IPv6地址為2000::1/64。
2、路由器上網絡參數配置。主要包括三個方面的配置:一是啟用Router的IPv6路由,命令為"Router(config)#ipv6 unicast-routing";二是在接口F0/0上配置IPv6地址,命令如下所示:
interface FastEthernet0/0
no ip address
duplex auto
speed auto
ipv6 address 2001::2/64
上面的命令也表示端口FastEthernet0/0位于IPv6的子網2001::/64中。三是在接口F1/0上配置IPv6地址,命令如下所示:
interface FastEthernet1/0
no ip address
duplex auto
speed auto
ipv6 address 2000::3/64
同樣,上面的命令也表示端口FastEthernet1/0位于IPv6的子網2000::/64中。配置完成后可以使用如下所示命令查看配置結果:
Router#show ipv6 interface brief
FastEthernet0/0 [up/up]
FE80::CA00:17FF:FE94:0
2001::2
FastEthernet1/0 [up/up]
FE80::CA00:17FF:FE94:10
2000::3
上面輸出中的"[up/up]"表示端口的物理狀態和協議狀態都是打開的。同時,在每個端口上都會自動生成一個"本地鏈路"地址,如FastEthernet 0/0端口上的"FE80::CA00:17FF:FE94:0"地址。
#p#
五、網絡環境運行和測試。
1、在PC(VMnet1)端測試。在圖1的PC本機的Win 7系統中打開一"命令行CMD"窗口。在其中執行命令"ping -S 2001::1 2000::2"得到如下所示的輸出結果:
C:\Users\Administrator>ping -S 2001::1 2000::2
正在 Ping 2000::2 從 2001::1 具有 32 字節的數據:
來自 2000::2 的回復: 時間=371ms
來自 2000::2 的回復: 時間=5ms
來自 2000::2 的回復: 時間=215ms
來自 2000::2 的回復: 時間=5ms
2000::2 的 Ping 統計信息:
數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 5ms,最長 = 371ms,平均 = 149ms
注意,上面的ping命令中使用了一個"-S"的參數,后面緊跟的"2001::1"的地址,是VMnet1的IPv6地址,命令最后一個地址"2000::2"才是要ping的目標地址。Win 7系統對ping命令中"-S"參數的解釋為"要使用的源地址",也就是指定ping的數據包從網卡VMnet1發送出去,而不是從其它的網卡把數據傳輸出去。為了追蹤ping數據包的路徑,再在"命令行CMD"中執行命令"tracert -S 2001::1 2000::2",得到如下所示的輸出結果:
C:\Users\Administrator>tracert -S 2001::1 2000::2
通過最多 30 個躍點跟蹤
到 Server [2000::2] 的路由:
1 5 ms 2 ms 2 ms 2001::2
2 4 ms 4 ms 5 ms Server [2000::2]
跟蹤完成。
從上面的輸出結果可以看出,命令"ping -S 2001::1 2000::2"的數據包的傳輸路徑確實是通過路由器Router,再到達Server的。其中,Win 7系統對tracert命令中"-S"參數的解釋為"要使用的源地址(僅適用于 IPv6)"。若是在ping的命令中不使用"-S"的參數,ping命令也能執行成功,但它傳輸的路徑就不通過路由器,而是從"本地連接"的網卡上直接把數據包發送出去,然后到達Server。
為了驗證上面的推斷,在"命令行CMD"中執行命令"tracert 2000::2",它的輸出和執行命令"tracert -S 2001::1 2000::2"的輸出結果是不一致的,這也就進一步說明了參數"-S"的用途,如下所示:
C:\Users\Administrator>tracert 2000::2
通過最多 30 個躍點跟蹤
到 Server [2000::2] 的路由:
1 <1 毫秒 <1 毫秒 <1 毫秒 Server [2000::2]
跟蹤完成。
2、在Server(VMware)端測試。同樣也可以在服務器端進行測試,在虛擬機VMware中的Win 7系統的"命令行CMD"中,執行如下命令:
C:\Users\Server>ping 2001::1
正在 Ping 2001::1 具有 32 字節的數據:
來自 2001::1 的回復: 時間=255ms
來自 2001::1 的回復: 時間=5ms
來自 2001::1 的回復: 時間=5ms
來自 2001::1 的回復: 時間=4ms
2001::1 的 Ping 統計信息:
數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 4ms,最長 = 255ms,平均 = 67ms
從上面的的輸出結果可以看出,從服務器端到PC端的網絡是通的。為了進一步驗證ping數據包的傳輸路徑,再在"命令行CMD"中執行如下命令:
C:\Users\Server>tracert 2001::1
通過最多 30 個躍點跟蹤到 2001::1 的路由
1 2 ms 2 ms 1 ms 2000::3
2 7 ms 94 ms 20 ms 2001::1
跟蹤完成。
從上面的輸出結果可以看出,從Server端發出的ping數據包確實是通過路由器Router,最后再到達PC的。
圖8 XAMPP控制面板圖
3、在Web服務器中的測試。為了進一步驗證網絡環境的可用性,在圖1的PC(VMnet1)端的Win 7系統中安裝了Xampp軟件包,此軟件中包含有Tomcat的Web服務器,在XAMPP的控制面板中可以直接啟用Web服務器,如圖8所示,是在控制面板中啟用了Tomcat服務器的狀態。其中Tomcat使用的端口號共有三個:8005、8009和8080。啟用Web服務器后在PC(VMnet1)端的Win 7系統中的瀏覽器地址欄中輸入地址"http://[2001::1]:8080"就可以進入到Tomcat服務器的歡迎界面。
圖9 在VMware的Win 7系統中訪問本機PC上的IPv6 Web服務器
為了驗證圖1中的IPv6的網絡狀況,可以在圖1中的Server端,也就是在虛擬機VMware中的Win 7系統的瀏覽器地址欄中輸入地址"http://[2001::1]:8080",回車后也能進入到Tomcat服務器的歡迎界面,如圖9所示。注意圖9中瀏覽器地址欄中的地址為IPv6的地址。
在IPv4中,對于一個URL地址,當需要通過直接使用"IP地址+端口號"的方式來訪問時,可以表示成"http://202.121.23.11:8080"。但是如果IPv6地址中含有":",為了避免歧義,在URL地址含有IPv6地址時,用"[]"將IPv6地址包含起來。
#p#
六、總結。
1、如圖1所示的IPv6的網絡環境,只是一個非常簡單的網絡。讀者可以根據自己的實際情況把它復雜化,以滿足各種各樣的網絡測試需求。利用DynamipsGUI軟件是可以很方便的把幾臺或多臺路由器、交換機和防火墻互聯起來,但要用它模擬現實網絡中復雜的客戶端和服務器端就有些難度。圖1網絡結構雖然簡單,也只是把基本的框架搭建起來,但它搭建的客戶端和服務器端已經很接近現實了,實現了在上面"五"的第3點中進行Web服務測試的需求。另外,也可以把圖1中的一臺路由器變成三臺、五臺,或更多的路由器互聯,在它們上面運行RIP、OSPF或者EIGRP協議,以便進行更復雜的網絡實驗。
2、本例中各個設備之間的內在邏輯連接關系比較復雜,但只要對照步驟一步步做下來就能明白其中的原理。主要是因為DynamipsGUI和VMware兩個軟件和本地電腦建立的連接都是虛擬連接,不像現實中電腦都是通過網線連接到交換機上,看得見摸得著比較容易理解。所以一定要搞清楚兩個軟件具備的功能和使用方法,這樣才好理解使用它們搭建起來的網絡環境。
3、實踐是檢驗網絡搭建和配置是否正確的唯一標準。從我自己開始參加CCNA培訓,到后期的CCIE的培訓,幾乎每一堂課都有實踐操作,都有實驗。甚至在CCIE的培訓中,絕大部分的時間和精力放在"CCIE集訓營"、"CCIE LAB實驗室"等這些實實在在的實驗上。這是因為我們學到的每一個知識點,最終都要在實踐中驗證,通過做實驗來說明它是正確的還是錯誤的。
包括平時在書本上,或網上看到一些知識點,可能在原理上都能明白,知道它們運行的機制和過程。但即使是這樣,也只有通過把這些知識點涉及到的一些命令在交換機、路由器等設備上操作一遍,看看它們到底符合不符合書上所講的結果。這樣心底才能"踏實"的接受這個知識點,因為它經過了實踐的檢驗!
所有從事網絡工作者,一定要不斷的給自己創造參與實踐的機會。如果在工作中能接觸到現成的網絡設備更好,這樣學習起來更方便。要是達不到這種條件的話,可以參加一些培訓班,它們多多少少都能提供一些操作實驗。實在不行,就使用一些模擬器。它們所搭建起來的實驗環境也很接近真實的網絡環境。總之,一切網絡知識,只有經過實踐的檢驗,才能算它是正確的,也才能算自己真正掌握了它。