李雙梅
(南京工業大學浦江學院計算機與通信工程學院,江蘇南京211222)
IPv4的最大問題是其地址資源不足,早在2011年初ICANN 就公開表示,全球IPv4 地址已分配完畢[1]。隨著移動互聯網、物聯網等的快速發展,IPv4 地址緊缺問題日益嚴重,我國大力推進IPv6 的發展和部署。2019年4月16日,工業和信息化部發布《關于開展2019 年IPv6 網絡就緒專項行動的通知》,業界將2019年稱為IPv6元年。在政府、運營商、設備制造商以及其他相關企業的共同努力下,IPv6建設取得了顯著成效。但是在當前計算機網絡相關課程的本科教學中,針對IPv6的教學內容稍顯不足,特別是在實踐應用方面,由于實驗設備受限等因素無法滿足網絡課程對于實踐教學的需求。文章結合學校實際情況,引入華為模擬器eNSP 進行實踐教學,設計IPv6 相關實驗供學生學習和實踐。本文主要介紹其中的IPv6動態路由協議OSPFv3實驗的設計和實現。
eNSP(Enterprise Network Simulation Platform)是華為公司研發的一款具備極高仿真度的數通設備模擬器,界面操作簡單。使用eNSP進行實驗,不受實驗室物理環境的限制,學生只要擁有一臺電腦就可以安裝該軟件并且使用,方便了實驗的開展。這款仿真軟件運行的是物理設備VRP 操作系統,最大限度地模擬真實設備環境,并且支持對接真實設備,以及數據包的實時抓取,可以幫助學習者深刻理解網絡協議的運行原理,進一步地探索和專研網絡技術,近年來eNSP在高校教學中的應用也越來越廣泛[2-4]。
開放最短路徑優先(Open Shortest Path First,OSPF)是一個基于鏈路狀態的內部網關協議,它可以層次化地設計網絡,具有適應范圍廣、收斂速度快、無自環等優點。OSPFv2 在IPv4 網絡中得到了廣泛的應用。
OSPFv3 是IETF 在保留OSPFv2 優點的基礎上針對IPv6網絡設計的。它主要在IPv6網絡中提供路由功能,是IPv6網絡中的主流路由協議,保留了OSPFv2中的大部分算法,從IPv4到IPv6,基本的OSPF機制保持不變。
兩者也有一些區別,如OSPFv3 是基于鏈路的,OSPFv2是基于子網的;兩者LSA類型的異同;協議報文格式變化等,這些具體內容可參閱相關資料。
文章設計兩個實驗,分別討論OSPFv3 單區域和多區域的配置,通過該實驗,掌握OSPFv3的基本配置方法。
3.1.1 仿真配置拓撲圖及地址劃分
單區域OSPFv3如圖1所示。
3.1.2 配置過程
通過以下5個步驟來配置和驗證OSPFv3單區域功能。
(1)首先在R1、R2 和R3 路由器上全局使能IPv6功能;然后在接口上使能IPv6,并配置IPv6 地址。以R1 的配置為例,R2 和R3 進行類似的配置即可。

圖1 單區域OSPFv3拓撲
[HuaWei]sysname R1//修改設備名稱
[R1]ipv6//全局使能IPv6功能
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ipv6 enable//接口下使能IPv6功能
[R1- GigabitEthernet0/0/0]ipv6 address 2001::1/64//配置IPv6地址
[R1-GigabitEthernet0/0/0]quit//退出當前視圖
[R1]interface GigabitEthernet 0/0/1//進入接口GE0/0/1視圖
[R1-GigabitEthernet0/0/0]ipv6 enable
[R1- GigabitEthernet0/0/0]ipv6 address 2002::1/64
(2)配置OSPFv3。
[R1]ospfv3 1//啟動ospfv3協議,1 為進程號
[R1-ospfv3-1]router-id 1.1.1.1//配置route ID
注意Router ID 是一個32 位的無符號整數,采用IPv4 地址形式,是一臺路由器在自治系統中的唯一標識。這里OSPFv3的Router ID 必須手工配置,如果沒有配置ID 號,OSPFv3 無法正常運行,這一點與OSPFv2不同。
(3)將接口加入OSPFv3 的區域0中,與OSPFv2 一致,對于單區域一般配置為area 0。
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ospfv3 1 area 0 //將接口g0/0/0加入區域0中
(4)配置PC1 和PC2 的IPv6 地址,分別為2001::2/64和2004::2/64。
(5)驗證配置,確認設備間能正常建立鄰居,路由器上路由正常,PC1 能ping 通PC2。
完成以上R1 和PC1、PC2 的配置后,再相應地完成R2和R3的配置。
在每個路由器上通過以下命令驗證配置的正確性。
①display ospfv3 peer //查看路由器的OSPFv3鄰居狀態。
②display ospfv3 lsdb //查看路由器的OSPFv3鏈路狀態數據庫。
相比于OSPFv2 版本,OSPFv3 新增了兩種LSA:Link LSA(鏈路LSA)和Intra Area Prefix LSA(區域內前綴LSA)。
③display ospfv3 routing //查看OSPFv3 生成的路由信息。
可以看到通過OSPFv3學習到了全網的路由。在PC2 上執行命令:ping 2001::2,可以發現PC2 能夠和PC1正常通信,且各路由器之間通信也正常。
3.2.1 仿真配置拓撲圖
OSPFv3的區域劃分與OSPFv2類似,骨干區域配置為area 0,用來連接其他區域。非骨干區域之間的OSPFv3 路由更新需要通過骨干區域來完成。因此,OSPFv3也要求所有非骨干區域都必須直接與骨干區域相連。但在實際應用中有時因環境限制不能滿足要求,這時可使用虛連接解決。關于虛連接的問題這里不深入討論,本拓撲中所有非骨干區域都直接與骨干區域相連。拓撲如圖2所示。
3.2.2 配置及驗證
本拓撲在上面單區域的拓撲上進行了區域的劃分,分為3個區域(0、1、2),其中area 0 為骨干區域,所以基本配置與上面單區域配置相同。需要修改的只是在第3 步,在單區域中將所有接口加入OSPFv3 的區域0 中。對于多區域則根據需求將接口加入不同的區域中。具體配置只需在以上單區域的基礎上進行修改。
以路由器R1 的配置修改為例(R2 和R3 根據拓撲對應修改)。

圖2 多區域OSPFv3
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]undo ospfv3 1 area 0 //將接口gi0/0/0從區域0中去除
[R1-GigabitEthernet0/0/0]ospfv3 1 area 1 //將接口gi0/0/0加入區域1中
以上配置完成,即實現了多區域的OSPFv3配置,可通過命令display ospfv3 routeing 查看OSPFv3 路由正常(路由前面的字段IA 表示該路由為區域間路由),并且通過ping測試pc1可以與pc2正常通信。圖3為路由器R1中OSPFv3生成的路由。

圖3 路由器R1中OSPFv3生成的路由
本文描述了基于華為模擬器eNSP來構建OSPFv3動態路由的實驗環境,通過該實驗學習者可以直觀地了解OSPFv3協議的基本應用,為進一步學習OSPFv3協議內容以及其他網絡知識打下了基礎。