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

MPLS VPN功能的微碼設計與實現

2008-12-31 00:00:00杜秀娟金志剛
計算機應用研究 2008年12期

(1.天津大學 a.計算機科學與技術學院; b.電子信息工程學院 天津 300072; 2.青海師范大學 網絡信息中心, 西寧 810008)

摘 要:

IXP2400網絡處理器提供了強大的處理能力,使得實現MPLS和MPLS VPN成為可能。給出了實現MPLS VPN的關鍵技術與微碼實現方法。本設計通過對微引擎的作業分配和對數據包的靈活處理實現低成本、高效率與高靈活性的MPLS VPN。其主要特點是同時支持L2 VPN與L3 VPN,并且微碼實現簡潔。實驗表明該實現可以正常工作并且與主流網絡設備兼容。

關鍵詞:網絡處理器;MPLS;虛擬專用網; 微碼設計

中圖分類號:TP393 文獻標志碼:A

文章編號:10013695(2008)12377003

Design and realization of microcode for MPLS VPN

DU Xiujuan1a,2 , JIN Zhigang1b

(1. a.School of Computer Science Technology, b.School of Electronics Information Engineering, Tianjin University, Tianjin 300072, China; 2. Network Information Center, Qinghai Normal University, Xining 810008, China)

Abstract:The IXP2400 network processor with powerful comuting ability made MPLS and MPLS VPN possible. The paper provided the key technology and microcode of MPLS VPN, and achieved flexible and effcient MPLS VPN with low cost by dispatching task to micro engines and processing flexibly the data packets. The primary characteristic of the design is that it supports L2 and L3 VPN at the same time and the microcode is very concise. The experiments show the MPLS VPN works properly and are compatible with mainstream network devices.

Key words:network processor; MPLS; VPN; microcode design



0 引言

縱觀網絡處理技術的發展,大致可分為三個階段。發展初期,傳輸速率低,網絡設備基于通用CPU,稱為軟件轉發處理。優點是靈活性高,缺點是處理速度慢、吞吐率低。隨著傳輸技術的進步,網絡帶寬的增長速度超過了CPU處理能力的增長速度,使得基于軟件的節點設備變成了網絡的瓶頸。因此,網絡設備開始采用ASIC技術,稱為硬件轉發處理。ASIC技術最大的缺點是缺乏靈活性,而且,設計和制造復雜的ASIC一般需要花費12~18個月的時間,使得ASIC的研發費用一般比較高。此外,當前網絡的應用范圍在不斷擴大,新的業務不斷涌現,網絡的發展也不僅僅是帶寬的不斷提高,而更多地表現為對智能化處理的要求,如服務質量、安全等服務均需要分組分類和深層數據處理。而這些服務功能既要求處理的高速度,又要求實現的靈活性,因此網絡設備需要能夠靈活地滿足各種服務和應用的不同需求,這一點卻是ASIC技術也難以滿足的。正是在通用CPU和ASIC技術均無法滿足的這種雙重要求下,出現了網絡處理器技術。網絡處理器通過良好的體系結構設計和專門針對網絡處理優化的部件,為上層提供了一個可編程控制的環境,可以很好地解決硬件加速和軟件可擴展的折中問題。首先,在基于NP的硬件平臺中,各種算法可以通過硬件實現。其次,由于NP可以支持編程,一旦有新的技術或者需求出現,可以很方便地通過微碼編程進行實現,既可以通過模塊刪減開發能滿足不同用戶需求的產品,又縮短了新產品的開發周期,提供了更快的技術、功能先進和更加靈活的擴展能力[1,2]。

目前,網絡處理器已受到國內外許多公司、大學的普遍關注,其產品已有上百種。國內外一些網絡設備生產商也相應地將NP處理器應用于其產品中,如國外Cisco的Cisco7200系列路由器使用NPE400網絡處理器。國內一些大的生產廠商,如華為、港灣等也紛紛將NP技術應用于其高端交換、路由產品中。

MPLS是處于L2與L3之間的多協議標簽交換技術,它改變了傳統IP網絡中路由器根據數據包的目的地址轉發的工作方式。MPLS在每個數據包的二層幀頭與三層包頭插入一個標簽,支持MPLS的路由器根據標簽按照轉發表就可以轉發了。標準的MPLS技術可以支持多個三層協議。普通的路由器增加了MPLS軟件后,可以起到標簽交換路由器的作用。對于目前的網絡,可以通過這種方式將MPLS的顯式路由引入到純IP網絡中,從而實現VPN功能。

MPLS VPN是一種基于MPLS的IP VPN,它使用方便,擴展性好。本文將給出基于Intel IXP2400的MPLS VPN設計與實現,著重解決微碼實現問題[3]。

1 Intel IXP2400網絡處理器

1. 1 芯片總體架構

Intel IXP2400芯片是當前較為流行的網絡處理器,是通用處理器與專用處理器結合的多處理器系統[4]。芯片主要包括以下功能單元:

a)Intel_XScaleTM_core_processor。32位RISC通用處理器,主要用于初始化和管理整個芯片所有功能單元,也能夠用于處理一些網絡高層協議報文。

b)Microengines_(MEs)。8個32位微引擎,每個微引擎支持8個線程,大部分數據報文均通過這些微引擎進行快速、高效的存儲轉發,每個微引擎擁有各自單獨的指令空間。

c)提供兩通道QDR SRAM控制器和一通道DDR DRAM控制器,用于與芯片外部擴展存儲單元連接。

d)Media_and_switch_fabric_interface_(MSF)。與外部交換網連接的專用數據接口,能夠支持多種接口規范,如UTOPIA 1/2/3、POS2、SPI3、CSIX等規范。

e)Scratchpad memory。片上16 KB高速RAM可以存儲一些芯片工作時的重要中間數據。

f)其他片上外圍單元,包括hash unit(硬件hash單元,可提供快速哈希查找)、PCI controller(提供芯片與外部其他設備的PCI通信)、CAP(提供芯片內部各微引擎與core通用處理器間的通信機制)。

1. 2 微引擎工作機制

在IXP2400芯片內部,各微引擎之間的基本工作機制分為兩種,即串行工作(稱為context pipeline)和并行工作(稱為function pipeline)。前者是指類似一種管道的處理方式,為了提高數據報文的處理速度,將一項復雜的工作分成幾個部分,由多個微引擎分別完成其中一個部分的工作方式。后者是指多個微引擎互不相關,并發地執行一項任務,這樣每個數據報文只用經過一個微引擎就可以完成一項任務。

在正常數據處理過程中,為了保證有效的線程切換,每個線程均被分配了獨立的寄存器、計數器等運算單元,避免了線程切換期間必需的現場保存機制,大大提高了處理能力。

2 MPLS VPN實現原理

2. 1 MPLS 工作原理

MPLS引入了基于標記的機制,它將選路和轉發分開,由標記來確定一個分組通過網絡的路徑。MPLS網絡由核心部分的標記交換路由器(LSR)、邊緣部分的標記邊緣路由器(LER)組成。其中,LER的作用是分析IP分組報頭,用于決定相應標記交換路徑(LSP)和傳送級別,而LSR主要完成標記的交換,并根據標記所指定的方向沿LSP轉發標記分組。MPLS網絡如圖1所示。由于通過LDP協議預先為LER建立了標記交換路徑,中間的LSR根據標記路由表只作二層交換功能。這一方面保證了從入端到出端的QoS,從而實現端到端的服務質量保證;另一方面因使用固定長度的標記表查找路由,大大減輕了路由器的處理負擔。IP分組在LSR上進行轉發時只作第二層交換,因而加快了分組轉發速度,減少時延和時延抖動,增加了網絡的吞吐能力。

2. 2 MPLS VPN

VPN由公共網絡上經過認證和加密的隧道組成,隧道在網絡訪問點與目標網絡的隧道終端設備之間建立。網絡訪問點的作用是封裝由遠端/移動用戶發來的包,使得數據能夠安全地通過公共網絡。VPN隧道中的分組是IP分組,基于逐跳轉發。若在VPN中使用MPLS,要求為VPN數據建立MPLS隧道(即標記轉發路徑LSP)。因此經過VPN隧道的數據便基于MPLS標記轉發,而不是逐跳路由。網絡訪問點設備(VPN隧道的初始點)維護VPN隧道標志與LSP入口標記之間的映射,并按標記對分組進行轉發至隧道。

MPLS允許ISP通過提供簡單、靈活、有力的隧道機制來提供VPN服務。通過提供一組LSP來建立VPN,以在VPN內提供不同站點之間的鏈接。每個VPN站點廣播一組本地站點可以到達的報頭。ISP的路由系統通過將標記附在路由協議上或使用標記分配協議發布這些信息。VPN識別器允許單個路由系統支持具有內部地址空間的多條VPN。最后,每個入口LSR基于包的目的地址和VPN關系信息將業務分配到LSP中。

3 基于IXP2400實現MPLS VPN

在對MPLS工作原理分析并參考其他MPLS VPN設備的實現后,為了同時支持L2與L3 VPN,并以低成本實現,本研究著重在微碼實現角度進行了優化。通過對主流網絡處理器的性能與價格和硬件特性分析后,選擇了Intel IXP2400芯片。

3. 1 系統硬件結構

整體硬件架構是由一片IXP2400網絡處理器芯片作為主交換芯片構成雙向全雙工1.25G處理能力,通過FPGA的接口粘連邏輯,該處理模塊交換網絡無縫地連接在一起。從其他二層交換芯片上來的包,送到IXP2400,IXP2400可以對其進行更高層的處理和路由。整體硬件邏輯框圖如圖2所示。對于需要處理的數據報文,會由BCM5690端進入,BCM5690芯片會對輸入的報文進行分類,普通的二層轉發報文會由該芯片進行相應的二層處理。對于需要進行復雜處理的二層報文和所有需要三層處理的報文,均會通過BCM5671和FPGA送到IXP2400芯片,進行高層報文分析和處理,再通過BCM5671和FPGA由BCM5690發送出去。這些送到IXP2400處理的報文中就包括MPLS報文、L2VPN報文和L3VPN報文。

3. 2 IXP2400軟件微碼結構

為了進行高速的報文處理,充分發揮IXP2400芯片的自身特點,對于進入的各種數據報文,均使用各微引擎進行存儲轉發,而芯片內置的XCALE處理器由于處理速度較慢,只完成芯片初始化、各轉發表項的下發和維護等工作。

對于數據報文,IXP2400的接收邏輯將MAC傳來的數據放入硬件接收緩存單元RBUF中的element(128 Byte);微引擎以element的形式將數據從RBUF中接收入在DRAM中預先分配好的各buffer中進行緩存,每個buffer大小為2 KB; 根據報文長度不同,將一個報文緩存在一個或若干個buffer中,并對報文進行相應的處理和封裝;最后,將緩存在DRAM中的報文數據寫入硬件發送單元的RBUF,以element形式向FPGA發送。整體微碼軟件模塊劃分及引擎分配如圖3所示。

其中,報文接收模塊(RX,receive)占用一個微引擎;處理模塊(PM,process module)占用四個微引擎,包括包頭解封裝處理子模塊、各功能實現子模塊、報文封裝子模塊等;分片模塊(fragment)占用一個微引擎,完成對可能出現的超大IP報文分片工作;發送模塊(TX,transmit)占用一個微引擎。除此之外,還保留一個微引擎,作為今后進一步擴展使用[5,6]。

3. 3 MPLS轉發的微碼實現

由于IXP2400 NP芯片本身的硬件特點,為了提供高效的轉發性能,在實現中,本文將整個轉發過程分開,將相對復雜的建立隧道、關閉隧道以及轉發表項的維護等工作交給上層XScal_core 處理器完成,而微引擎只需將各種目的IP為本路由器IP的協議報文均交由上層XScal_core進行處理就可以了。

MPLS報文單從轉發方法上來看分為兩種,即標簽交換路由(LSR)和標簽邊界路由(LER)。前者指一個MPLS數據報文在MPLS網絡中的各MPLS節點上通過標簽交換確定下一跳轉發;而后者指 MPLS數據報文到達MPLS網絡與IP網絡邊界時進行的轉發。每一個MPLS報文的轉發均會由LSR和LER組成,因此,在MPLS轉發實現中,必須同時考慮這兩種轉發的實現,缺一不可。但由于微引擎特殊的4KB指令空間相對狹小,不能使用通用處理器MPLS實現方法,即針對LSR和LER進行獨立的轉發流程,必須在保證功能實現的基礎上,將LSR、LER和IPv4轉發有效地結合起來,使大部分代碼能被各轉發處理所共用,盡量增加微碼的利用率,同時必須考慮從軟件上提高數據報文處理速度,這也是微碼編寫與其他代碼編寫最大的不同[7,8]。

實現MPLS轉發,這里沒有根據LSR和LER不同處理方法進行劃分模塊,而是將整個轉發流程分為ILM和NHLFE_Marker兩個模塊。ILM模塊主要完成標簽的剝離,而NHLFE_Marker模塊完成標簽的插入等功能,這樣就可以將LSR與LER有效地整合在一起。模塊間結構如圖4所示。由于篇幅的原因,每個模塊的具體實現,本文不再詳述。

由于2400芯片和微碼其本身的特點決定,一種復雜的軟件調度和管理算法可能并不適用于微引擎的數據轉發,如何提供一種簡單的調度管理算法并將其與2400芯片硬件結構更好地結合起來共同優化報文處理能力,這將是下一步微碼開發的目標所在。

在編碼后,進行了MPLS實驗并設置了MPLS VPN。將本設備作為LSR在網絡中工作并與Cisco和華為的相關產品進行了兼容性測試。結果表明,本方案可以正常工作,并且兼容性良好。

4 結束語

通過以上的分析及實驗,最終使MPLS報文的數據交換處理功能得以在網絡處理器上通過微碼實現,并在此基礎上提供了MPLS L2VPN和MPLS L3VPN的多業務支持。同時,針對網絡處理器芯片(IXP2400)的軟、硬件結構的學習和深入研究,進一步對VPN業務的轉發處理流程進行改進,使其更適應于網絡處理器的需要,更適應于微碼的發展。這些研究和實驗將加快網絡處理器在當前網絡設備上的應用和發展趨勢,使快速的、高性能的網絡處理器逐步替代慢速的、低性能的傳統通用處理器,成為社會上網絡設備的主流,為用戶提供一個更快速、多業務的網絡世界,這是有著重大意義的。

參考文獻:

[1]王圣,蘇全樹,鄧宇.網絡處理器體系結構的比較與分析[J].計算機工程,2003,29(17):5355.

[2]譚章熹,林闖,任豐源.網絡處理器的分析與研究[J].軟件學報, 2003,14(2):253267.

[3]RICCIATO F, MONACO U. Routing demands with timevarying bandwidth profiles on an MPLS network[J]. Computer Networks, 2005, 47(14): 4761.

[4]Intel Corp. IXP2400 network processor hardware reference manual[K]. 2003.

[5]Intel Corp. IXP2400 network processor software reference manual[K]. 2003.

[6]黃祚.基于IXP2400網絡處理器的發包機的設計與實現[D].武漢:華中科技大學, 2006.

[7]Intel Corp. IXP2400 network processor programmer’s reference manual[K]. 2003.

[8]WANG Yongjun, Huang Qingyuan. Research and implementation of MPLS VPN protocol based on network[C]//Proc of the 2nd International Conference on Web Information Systems and Technologies. 2006:1113.

主站蜘蛛池模板: 青草视频网站在线观看| 欧美乱妇高清无乱码免费| 一区二区三区四区精品视频| 久久精品人人做人人爽电影蜜月| 91毛片网| 亚洲a免费| 欧美午夜理伦三级在线观看| 91精品久久久久久无码人妻| 日本a级免费| 国产不卡一级毛片视频| 国产精品午夜福利麻豆| 国产中文一区二区苍井空| 国产原创第一页在线观看| 亚洲无码高清免费视频亚洲| 狠狠综合久久久久综| 亚洲综合婷婷激情| av天堂最新版在线| 99精品国产电影| a色毛片免费视频| 欧美三级自拍| 日韩视频精品在线| 国产凹凸一区在线观看视频| 久久午夜夜伦鲁鲁片无码免费| 日韩欧美国产综合| 久久毛片网| 人妻中文字幕无码久久一区| 亚洲娇小与黑人巨大交| 九九热免费在线视频| 97精品国产高清久久久久蜜芽| 亚洲黄色成人| 天堂成人在线| 日韩黄色大片免费看| 欧美中文字幕无线码视频| 久久精品最新免费国产成人| 久久国产黑丝袜视频| 国产精品无码久久久久久| 日韩欧美国产三级| 国产亚洲精| 国产区在线看| 国产精品欧美在线观看| 亚洲午夜天堂| 国产精品片在线观看手机版 | 在线观看国产小视频| 国产在线观看99| 亚洲嫩模喷白浆| 亚洲色中色| 999在线免费视频| 国产精品永久不卡免费视频| 亚洲一区二区三区国产精华液| 在线色国产| 色综合久久88色综合天天提莫| 国产在线八区| 免费人成视网站在线不卡| 99久久精品免费看国产免费软件 | 久草青青在线视频| 国产91精品久久| 欧美在线黄| 午夜视频www| YW尤物AV无码国产在线观看| 日韩欧美国产精品| 国产乱子伦无码精品小说| 久久频这里精品99香蕉久网址| 国产成人精品高清不卡在线| 欧美激情福利| 在线视频亚洲欧美| 九九免费观看全部免费视频| 国产无码精品在线| 四虎国产精品永久一区| 国产午夜福利片在线观看| 亚洲欧美天堂网| 免费人成在线观看视频色| 久久综合九九亚洲一区| 91精品国产一区自在线拍| 亚洲男人的天堂在线| 亚洲中文字幕手机在线第一页| 精品福利国产| 国产精品视频猛进猛出| 亚洲国产亚洲综合在线尤物| 波多野结衣一区二区三区四区视频 | 超清人妻系列无码专区| 精品91在线| 亚洲男人在线|