999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NetFPGA虛擬路由器的路由表下發與更新機制研究

2014-12-13 22:12:15龔珊珊
數字技術與應用 2014年8期

龔珊珊

摘要:基于NetFPGA硬件平臺設計的可編程虛擬化路由器,為提高其可編程性和靈活性將控制平面與數據平面進行分離,導致二個平面難以正常進行數據傳輸。通過對控制平面的接口進行設置,對OpenVZ虛擬路由實例中Zebra路由協議軟件計算出來的路由表進行提取,并下發給底層NetFPGA來完成交互。本文就如何將路由表提取出來進行了研究,提出了對Zebra路由協議軟件進行二次開發,增加路由表定時更新輸出的功能解決方案。該方案基于Zebra面向對象設計思想,復用其通用接口,設計相應數據結構和函數,增加線程來處理通過Rip、Ospf或Bgp計算得到的路由表。

關鍵詞:NetFPGA 控制平面 數據平面 Zebra

中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2014)08-0043-02

1 前言

隨著互聯網規模日益的擴大,用戶的增長,應用和業務的多樣化,使得TCP/IP網絡體系結構在可擴展性、移動性、安全可控性方面存在巨大的挑戰[1],為應對這些挑戰,科研人員提出了未來網絡這一概念。未來網絡[2]旨在設計全新的網絡體系結構和新的網絡協議滿足當前復雜網絡。然而未來網絡新的體系結構、協議、算法等在實際應用之前需要進行大量的理論分析與仿真實驗,更需要在試驗網絡中進行評估與驗證。

作為連接網絡的核心設備,路由器必須要滿足未來網絡需求。然而考慮到傳統路由器封閉性以及網絡試驗對正常業務產生一定影響,導致在部署、實現和驗證的體系結構、算法和協議會非常困難,嚴重制約了互聯網體系結構的研究發展和創新。

為了解決這些問題,研究人員提出了一種新型的路由器—可編程虛擬化路由器[3]。它將可編程性和虛擬化都融合于路由器中,既解決了由于封閉性對新型業務的影響,也滿足了在多種業務的并行運行。可編程虛擬化路由器采用分層思想[4](如圖1):控制平面和數據平面。控制平面負責路由器的虛擬化以及路由協議的運行和維護,得到路由表、ARP表和端口表;數據平面負責路由信息的查找與轉發。將控制引擎與數據平面分離導致二者不能正常交互,需要對控制平面與數據平面進行接口設置,并將VR(虛擬路由器)中路由表下發給轉發模塊。本文基于NetFPGA硬件平臺對路由表提取技術進行了研究。

2 控制平面的虛擬化研究與實現

科研人員把虛擬化技術主要分為:全虛擬化、半虛擬化、系統級虛擬化。全虛擬化技術最大的特點是無需任何修改客戶操作系統就可以直接在虛擬化平臺上運行;半虛擬化技術最大優點是需要改變客戶操作系統內核;系統級虛擬化采用共享操作系統內核手段,是基于操作系統本身之上實現的服務器的虛擬化。綜合比較,采用系統級虛擬化具有其他虛擬技術所沒有的高性能、高效率和高密度特性。其代表技術有:SWsoft公司的開源OpenVZ項目。

在Centos6.0操作系統中安裝OpenVZ內核、OpenVZ用戶管理工具(vzctl和vzquato)并重新啟動OpenVZ。下載需要安裝的模板(centos)到vz/template/cache目錄下,并用vzctl指令創建4個VE分別表示為:VR1、VR2 … VRn(VR表示為虛擬路由器),每個VR中創建4個虛擬網絡接口(對應NetFPGA的4個物理端口),然后下載Zebra軟件包,安裝源碼包,修改配置文件并配置接口IP。

3 虛擬路由器路由表的下發與更新研究與實現

Zebra系統體系結構圖如2所示。

整個系統主要分為三大部分:Zebra交互模塊、路由協議模塊和VTY顯示配置模塊。Zebra模塊負責與路由協議進行交互,將路由協議計算得到的路由表存儲在Rib結構體中;Zebra模塊與Linux內核交互,將進入到Linux中的數據包傳送到路由協議模塊。路由協議模塊負責路由協議計算,主要有三種路由協議RIP、OSPF和BGP并包含IPv6版本。VTY模塊主要方便用戶進行路由協議配置,起人機交互的作用。

通過對Zebra模塊的分析,可以將模塊分為兩個部分:模塊交互部分、路由表管理部分。

模塊交互部分負責與協議模塊進行交互,獲取通過路由協議計算的到得路由表,并交由路由表管理模塊進行管理。

(1)路由表的提取。首先,在../zebra目錄下創建Gtroutertable.h、Gtroutertable.c兩個文件,負責路由提取的功能,在Gtroutertable.c中編寫獲取路由表函數void *Get(…)。在zebra模塊主線程中創建一個新的子線程,當獲取到了路由表的時候,執行該子線程,調用獲取路由表函數,從而提取出所需的路由表。

其次,重新修改Makefile文件,執行make指令進行重新編譯。

(2)路由表的更新。當鏈路發生變化后,通過RIP或OSPF計算出來的路由表也發生了變化,但由于直接從zebra模塊中提取的路由表變化時間較長,不能滿足實時性更新。Zebra中主要包含3種定時器,分別為:update_time、timeout_time、garbage_time。通過在zebra主線程上設置定時器update_time,當路由表發生變化后,立即調用Get(…)獲取路由表函數。從而達到定時更新提取出的路由表的目的。

4 實驗驗證與分析

該實驗基于NetFPGA硬件設計的可編程路由器如下:在每個VR中安裝zebra路由協議軟件,開啟zebra守護進程,運行Rip路由協議。得到的路由表信息分別是圖3、圖4所示。

其中C代表是connect,R代表是運行RIP路由協議。

二者對比,明顯發現隨著鏈路發生變化,所提取的路由表也隨著發生了變化,并且和鏈路變化一致,說明路由表提取是有效的,并是實時更新的。

5 結語

本文針對基于NetFPGA硬件的可編程虛擬化路由器由于采用控制與轉發分離,而導致無法正常交互問題,做了一些分析研究,通過對路由協議軟件的研究與分析,通過對zebra路由協議軟件進行二次開發,添加了路由提取功能和定時更新功能,通過實驗驗證分析,提取的路由表隨著路由信息的改變而更新,并恢復了控制平面與數據平面的正常交互。

參考文獻

[1]Xie Gao-Gang, Zhang Yu-Jun,Li Zhen-Yu,et al.A survey on future Internet architecture[J].Chinese Journal of Computers, 2012,35(6):1109-1119(in Chinese).

[2]Paul S,Pan Jianli,Jain R.Architectures for the future networks and the next generation Internet:a survey[C].Computer Communications.2011.34(1):2-42.

[3]Feldmann Anja.Internet clean-slate design:what and why?[C]ACM SIGCOMM Computer Communication Review.2007.37(3):59-64.

[4]楊懋,劉中金,李勇,曾烈光,金德鵬,蘇厲.基于可編程硬件的虛擬路由器控制平面.清華大學學報(自然科學版)[J].2012,52(5):586-591.

摘要:基于NetFPGA硬件平臺設計的可編程虛擬化路由器,為提高其可編程性和靈活性將控制平面與數據平面進行分離,導致二個平面難以正常進行數據傳輸。通過對控制平面的接口進行設置,對OpenVZ虛擬路由實例中Zebra路由協議軟件計算出來的路由表進行提取,并下發給底層NetFPGA來完成交互。本文就如何將路由表提取出來進行了研究,提出了對Zebra路由協議軟件進行二次開發,增加路由表定時更新輸出的功能解決方案。該方案基于Zebra面向對象設計思想,復用其通用接口,設計相應數據結構和函數,增加線程來處理通過Rip、Ospf或Bgp計算得到的路由表。

關鍵詞:NetFPGA 控制平面 數據平面 Zebra

中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2014)08-0043-02

1 前言

隨著互聯網規模日益的擴大,用戶的增長,應用和業務的多樣化,使得TCP/IP網絡體系結構在可擴展性、移動性、安全可控性方面存在巨大的挑戰[1],為應對這些挑戰,科研人員提出了未來網絡這一概念。未來網絡[2]旨在設計全新的網絡體系結構和新的網絡協議滿足當前復雜網絡。然而未來網絡新的體系結構、協議、算法等在實際應用之前需要進行大量的理論分析與仿真實驗,更需要在試驗網絡中進行評估與驗證。

作為連接網絡的核心設備,路由器必須要滿足未來網絡需求。然而考慮到傳統路由器封閉性以及網絡試驗對正常業務產生一定影響,導致在部署、實現和驗證的體系結構、算法和協議會非常困難,嚴重制約了互聯網體系結構的研究發展和創新。

為了解決這些問題,研究人員提出了一種新型的路由器—可編程虛擬化路由器[3]。它將可編程性和虛擬化都融合于路由器中,既解決了由于封閉性對新型業務的影響,也滿足了在多種業務的并行運行。可編程虛擬化路由器采用分層思想[4](如圖1):控制平面和數據平面。控制平面負責路由器的虛擬化以及路由協議的運行和維護,得到路由表、ARP表和端口表;數據平面負責路由信息的查找與轉發。將控制引擎與數據平面分離導致二者不能正常交互,需要對控制平面與數據平面進行接口設置,并將VR(虛擬路由器)中路由表下發給轉發模塊。本文基于NetFPGA硬件平臺對路由表提取技術進行了研究。

2 控制平面的虛擬化研究與實現

科研人員把虛擬化技術主要分為:全虛擬化、半虛擬化、系統級虛擬化。全虛擬化技術最大的特點是無需任何修改客戶操作系統就可以直接在虛擬化平臺上運行;半虛擬化技術最大優點是需要改變客戶操作系統內核;系統級虛擬化采用共享操作系統內核手段,是基于操作系統本身之上實現的服務器的虛擬化。綜合比較,采用系統級虛擬化具有其他虛擬技術所沒有的高性能、高效率和高密度特性。其代表技術有:SWsoft公司的開源OpenVZ項目。

在Centos6.0操作系統中安裝OpenVZ內核、OpenVZ用戶管理工具(vzctl和vzquato)并重新啟動OpenVZ。下載需要安裝的模板(centos)到vz/template/cache目錄下,并用vzctl指令創建4個VE分別表示為:VR1、VR2 … VRn(VR表示為虛擬路由器),每個VR中創建4個虛擬網絡接口(對應NetFPGA的4個物理端口),然后下載Zebra軟件包,安裝源碼包,修改配置文件并配置接口IP。

3 虛擬路由器路由表的下發與更新研究與實現

Zebra系統體系結構圖如2所示。

整個系統主要分為三大部分:Zebra交互模塊、路由協議模塊和VTY顯示配置模塊。Zebra模塊負責與路由協議進行交互,將路由協議計算得到的路由表存儲在Rib結構體中;Zebra模塊與Linux內核交互,將進入到Linux中的數據包傳送到路由協議模塊。路由協議模塊負責路由協議計算,主要有三種路由協議RIP、OSPF和BGP并包含IPv6版本。VTY模塊主要方便用戶進行路由協議配置,起人機交互的作用。

通過對Zebra模塊的分析,可以將模塊分為兩個部分:模塊交互部分、路由表管理部分。

模塊交互部分負責與協議模塊進行交互,獲取通過路由協議計算的到得路由表,并交由路由表管理模塊進行管理。

(1)路由表的提取。首先,在../zebra目錄下創建Gtroutertable.h、Gtroutertable.c兩個文件,負責路由提取的功能,在Gtroutertable.c中編寫獲取路由表函數void *Get(…)。在zebra模塊主線程中創建一個新的子線程,當獲取到了路由表的時候,執行該子線程,調用獲取路由表函數,從而提取出所需的路由表。

其次,重新修改Makefile文件,執行make指令進行重新編譯。

(2)路由表的更新。當鏈路發生變化后,通過RIP或OSPF計算出來的路由表也發生了變化,但由于直接從zebra模塊中提取的路由表變化時間較長,不能滿足實時性更新。Zebra中主要包含3種定時器,分別為:update_time、timeout_time、garbage_time。通過在zebra主線程上設置定時器update_time,當路由表發生變化后,立即調用Get(…)獲取路由表函數。從而達到定時更新提取出的路由表的目的。

4 實驗驗證與分析

該實驗基于NetFPGA硬件設計的可編程路由器如下:在每個VR中安裝zebra路由協議軟件,開啟zebra守護進程,運行Rip路由協議。得到的路由表信息分別是圖3、圖4所示。

其中C代表是connect,R代表是運行RIP路由協議。

二者對比,明顯發現隨著鏈路發生變化,所提取的路由表也隨著發生了變化,并且和鏈路變化一致,說明路由表提取是有效的,并是實時更新的。

5 結語

本文針對基于NetFPGA硬件的可編程虛擬化路由器由于采用控制與轉發分離,而導致無法正常交互問題,做了一些分析研究,通過對路由協議軟件的研究與分析,通過對zebra路由協議軟件進行二次開發,添加了路由提取功能和定時更新功能,通過實驗驗證分析,提取的路由表隨著路由信息的改變而更新,并恢復了控制平面與數據平面的正常交互。

參考文獻

[1]Xie Gao-Gang, Zhang Yu-Jun,Li Zhen-Yu,et al.A survey on future Internet architecture[J].Chinese Journal of Computers, 2012,35(6):1109-1119(in Chinese).

[2]Paul S,Pan Jianli,Jain R.Architectures for the future networks and the next generation Internet:a survey[C].Computer Communications.2011.34(1):2-42.

[3]Feldmann Anja.Internet clean-slate design:what and why?[C]ACM SIGCOMM Computer Communication Review.2007.37(3):59-64.

[4]楊懋,劉中金,李勇,曾烈光,金德鵬,蘇厲.基于可編程硬件的虛擬路由器控制平面.清華大學學報(自然科學版)[J].2012,52(5):586-591.

摘要:基于NetFPGA硬件平臺設計的可編程虛擬化路由器,為提高其可編程性和靈活性將控制平面與數據平面進行分離,導致二個平面難以正常進行數據傳輸。通過對控制平面的接口進行設置,對OpenVZ虛擬路由實例中Zebra路由協議軟件計算出來的路由表進行提取,并下發給底層NetFPGA來完成交互。本文就如何將路由表提取出來進行了研究,提出了對Zebra路由協議軟件進行二次開發,增加路由表定時更新輸出的功能解決方案。該方案基于Zebra面向對象設計思想,復用其通用接口,設計相應數據結構和函數,增加線程來處理通過Rip、Ospf或Bgp計算得到的路由表。

關鍵詞:NetFPGA 控制平面 數據平面 Zebra

中圖分類號:TP393 文獻標識碼:A 文章編號:1007-9416(2014)08-0043-02

1 前言

隨著互聯網規模日益的擴大,用戶的增長,應用和業務的多樣化,使得TCP/IP網絡體系結構在可擴展性、移動性、安全可控性方面存在巨大的挑戰[1],為應對這些挑戰,科研人員提出了未來網絡這一概念。未來網絡[2]旨在設計全新的網絡體系結構和新的網絡協議滿足當前復雜網絡。然而未來網絡新的體系結構、協議、算法等在實際應用之前需要進行大量的理論分析與仿真實驗,更需要在試驗網絡中進行評估與驗證。

作為連接網絡的核心設備,路由器必須要滿足未來網絡需求。然而考慮到傳統路由器封閉性以及網絡試驗對正常業務產生一定影響,導致在部署、實現和驗證的體系結構、算法和協議會非常困難,嚴重制約了互聯網體系結構的研究發展和創新。

為了解決這些問題,研究人員提出了一種新型的路由器—可編程虛擬化路由器[3]。它將可編程性和虛擬化都融合于路由器中,既解決了由于封閉性對新型業務的影響,也滿足了在多種業務的并行運行。可編程虛擬化路由器采用分層思想[4](如圖1):控制平面和數據平面。控制平面負責路由器的虛擬化以及路由協議的運行和維護,得到路由表、ARP表和端口表;數據平面負責路由信息的查找與轉發。將控制引擎與數據平面分離導致二者不能正常交互,需要對控制平面與數據平面進行接口設置,并將VR(虛擬路由器)中路由表下發給轉發模塊。本文基于NetFPGA硬件平臺對路由表提取技術進行了研究。

2 控制平面的虛擬化研究與實現

科研人員把虛擬化技術主要分為:全虛擬化、半虛擬化、系統級虛擬化。全虛擬化技術最大的特點是無需任何修改客戶操作系統就可以直接在虛擬化平臺上運行;半虛擬化技術最大優點是需要改變客戶操作系統內核;系統級虛擬化采用共享操作系統內核手段,是基于操作系統本身之上實現的服務器的虛擬化。綜合比較,采用系統級虛擬化具有其他虛擬技術所沒有的高性能、高效率和高密度特性。其代表技術有:SWsoft公司的開源OpenVZ項目。

在Centos6.0操作系統中安裝OpenVZ內核、OpenVZ用戶管理工具(vzctl和vzquato)并重新啟動OpenVZ。下載需要安裝的模板(centos)到vz/template/cache目錄下,并用vzctl指令創建4個VE分別表示為:VR1、VR2 … VRn(VR表示為虛擬路由器),每個VR中創建4個虛擬網絡接口(對應NetFPGA的4個物理端口),然后下載Zebra軟件包,安裝源碼包,修改配置文件并配置接口IP。

3 虛擬路由器路由表的下發與更新研究與實現

Zebra系統體系結構圖如2所示。

整個系統主要分為三大部分:Zebra交互模塊、路由協議模塊和VTY顯示配置模塊。Zebra模塊負責與路由協議進行交互,將路由協議計算得到的路由表存儲在Rib結構體中;Zebra模塊與Linux內核交互,將進入到Linux中的數據包傳送到路由協議模塊。路由協議模塊負責路由協議計算,主要有三種路由協議RIP、OSPF和BGP并包含IPv6版本。VTY模塊主要方便用戶進行路由協議配置,起人機交互的作用。

通過對Zebra模塊的分析,可以將模塊分為兩個部分:模塊交互部分、路由表管理部分。

模塊交互部分負責與協議模塊進行交互,獲取通過路由協議計算的到得路由表,并交由路由表管理模塊進行管理。

(1)路由表的提取。首先,在../zebra目錄下創建Gtroutertable.h、Gtroutertable.c兩個文件,負責路由提取的功能,在Gtroutertable.c中編寫獲取路由表函數void *Get(…)。在zebra模塊主線程中創建一個新的子線程,當獲取到了路由表的時候,執行該子線程,調用獲取路由表函數,從而提取出所需的路由表。

其次,重新修改Makefile文件,執行make指令進行重新編譯。

(2)路由表的更新。當鏈路發生變化后,通過RIP或OSPF計算出來的路由表也發生了變化,但由于直接從zebra模塊中提取的路由表變化時間較長,不能滿足實時性更新。Zebra中主要包含3種定時器,分別為:update_time、timeout_time、garbage_time。通過在zebra主線程上設置定時器update_time,當路由表發生變化后,立即調用Get(…)獲取路由表函數。從而達到定時更新提取出的路由表的目的。

4 實驗驗證與分析

該實驗基于NetFPGA硬件設計的可編程路由器如下:在每個VR中安裝zebra路由協議軟件,開啟zebra守護進程,運行Rip路由協議。得到的路由表信息分別是圖3、圖4所示。

其中C代表是connect,R代表是運行RIP路由協議。

二者對比,明顯發現隨著鏈路發生變化,所提取的路由表也隨著發生了變化,并且和鏈路變化一致,說明路由表提取是有效的,并是實時更新的。

5 結語

本文針對基于NetFPGA硬件的可編程虛擬化路由器由于采用控制與轉發分離,而導致無法正常交互問題,做了一些分析研究,通過對路由協議軟件的研究與分析,通過對zebra路由協議軟件進行二次開發,添加了路由提取功能和定時更新功能,通過實驗驗證分析,提取的路由表隨著路由信息的改變而更新,并恢復了控制平面與數據平面的正常交互。

參考文獻

[1]Xie Gao-Gang, Zhang Yu-Jun,Li Zhen-Yu,et al.A survey on future Internet architecture[J].Chinese Journal of Computers, 2012,35(6):1109-1119(in Chinese).

[2]Paul S,Pan Jianli,Jain R.Architectures for the future networks and the next generation Internet:a survey[C].Computer Communications.2011.34(1):2-42.

[3]Feldmann Anja.Internet clean-slate design:what and why?[C]ACM SIGCOMM Computer Communication Review.2007.37(3):59-64.

[4]楊懋,劉中金,李勇,曾烈光,金德鵬,蘇厲.基于可編程硬件的虛擬路由器控制平面.清華大學學報(自然科學版)[J].2012,52(5):586-591.

主站蜘蛛池模板: 欧美怡红院视频一区二区三区| 国产成人精品综合| 成人午夜精品一级毛片 | 911亚洲精品| 美女被操91视频| 熟妇丰满人妻av无码区| 丝袜无码一区二区三区| 国产精品人成在线播放| 制服丝袜在线视频香蕉| 玖玖免费视频在线观看| 日韩高清成人| 亚洲人成色77777在线观看| 亚洲国产精品无码AV| 亚洲成AV人手机在线观看网站| 凹凸国产熟女精品视频| 欧美性天天| 天堂av综合网| 免费看美女自慰的网站| 亚洲国产成人精品一二区| 在线观看国产网址你懂的| 日韩AV手机在线观看蜜芽| 国产成人无码综合亚洲日韩不卡| 色香蕉影院| 国产91成人| 国产成人91精品免费网址在线| 日本黄色a视频| 91福利片| 欧美不卡视频一区发布| 日本国产在线| 国内精品伊人久久久久7777人| 午夜三级在线| 国产内射一区亚洲| 亚洲丝袜中文字幕| 婷婷99视频精品全部在线观看| 日韩欧美国产综合| 极品尤物av美乳在线观看| 亚洲系列无码专区偷窥无码| 亚洲综合色区在线播放2019 | 91国语视频| 国产乱人伦AV在线A| 成人午夜视频免费看欧美| 日韩国产综合精选| 国产v精品成人免费视频71pao| 午夜欧美理论2019理论| 国产精品任我爽爆在线播放6080| 国产精品主播| 国内精品自在自线视频香蕉| 国产波多野结衣中文在线播放| 都市激情亚洲综合久久| 99re这里只有国产中文精品国产精品 | 国产精品福利导航| 高清乱码精品福利在线视频| 伊人丁香五月天久久综合| 亚洲国产欧美自拍| 国产在线拍偷自揄拍精品| 国产在线一区视频| 亚洲黄网视频| 福利视频99| 亚洲第一精品福利| 色成人亚洲| 久久久久亚洲AV成人人电影软件| 亚洲av综合网| 国产噜噜噜视频在线观看 | 五月婷婷丁香综合| 国精品91人妻无码一区二区三区| 色婷婷在线影院| 国内精品小视频福利网址| 国产精品女主播| 97视频在线精品国自产拍| 91最新精品视频发布页| 天天综合色网| 国产精品手机在线播放| 国产丝袜精品| 亚洲三级成人| 色综合综合网| 精品国产免费观看| 亚洲精品桃花岛av在线| 欧美日韩一区二区在线免费观看| 激情视频综合网| 国产乱论视频| 亚洲 成人国产| 乱码国产乱码精品精在线播放|