畢業(yè)論文-基于無線控制器的接口管理_第1頁
已閱讀1頁,還剩80頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  摘要</b></p><p>  隨著無線網(wǎng)絡的不斷發(fā)展,有線網(wǎng)絡和無線網(wǎng)絡的融合必將成為一種趨勢,新型的網(wǎng)絡設備的產生也將成為一種必然,有線無線一體化交換機就是這種設想的實現(xiàn)。接口管理作為交換機設計中的重要軟件組成部分,它在交換機中抽象底層的硬件驅動,定義完備的接口,給上層管理提供接口,是交換機軟件開發(fā)的主要內容,對于交換機的軟硬件的管理和交換性能具有十分重要

2、的意義。</p><p>  本文以某公司的AX7000有線無線一體化企業(yè)級交換機項目為背景,深入研究了Cisco、Juniper等公司的接口管理設計模式,提出了自己的設計方案?;诮粨Q機的PORT和VLAN實現(xiàn)交換機的二層接口、三層接口、協(xié)議接口以及各種特性接口的定義,運用Port和VLAN之間的關系使接口之間相關聯(lián)。實現(xiàn)虛擬網(wǎng)卡驅動以支持三層接口,完成交換機網(wǎng)關功能。添加ARP和路由信息學習管理模塊,保證網(wǎng)絡

3、安全和數(shù)據(jù)轉發(fā)的高效、暢通。最終根據(jù)定義的接口實現(xiàn)命令行的配置功能。</p><p>  關鍵詞:接口管理 無線控制器 網(wǎng)絡</p><p><b>  Abstract</b></p><p>  With the continuous development of wireless networks, the amalgamation of

4、 cable and wireless networks will definitely become a trend, and it is inevitable that a late-model network apparatus, such as the Wire and Wireless Integration Switch, will come into being. As an important software comp

5、onents of the Integration Switch, Interface management which abstracts the underlying hardware drive, defines the whole Interface and provides interface for the superior management, has great significance fo</p>&

6、lt;p>  This thesis, via a AX7000 Wire and Wireless integration Enterprise-class Switch project and thoroughly studying on Cisco’s, Juniper’s and some other company’s Interface Management design pattern, puts forward m

7、y own design pattern in which I educed the definability of Ethernet Interface, Layer 3 Interface, Protocol Interface and a variety of some special interface and identified their relations via the Port and VLAN of intrefa

8、ce, and achieved the virtual network card driving which gives support </p><p>  Keyword:Interface Management Wireless Controller Network</p><p><b>  目錄</b></p><p><

9、b>  第一章 緒論1</b></p><p>  1.1 項目背景1</p><p>  1.2 項目來源2</p><p>  1.3 項目其間主要完成任務的工作4</p><p>  1.4 章節(jié)安排4</p><p>  第二章 相關技術背景7</p><p&g

10、t;  2.1 TCP/IP及Linux TCP/IP協(xié)議棧7</p><p>  2.2 Linux驅動9</p><p>  2.3 Linux開源項目13</p><p>  2.3.1 路由管理之Quagga13</p><p>  2.3.2 Linux邏輯總線之D-Bus14</p><p>  

11、第三章 無線控制器體系結構17</p><p>  3.1 無線控制器的功能17</p><p>  3.2 無線控制器的體系結構18</p><p>  3.2.1 功能體系結構模塊18</p><p>  3.2.2 物理體系結構模塊20</p><p>  第四章 接口管理需求分析23</p&g

12、t;<p>  4.1 接口管理概念23</p><p>  4.2 接口管理需求24</p><p>  4.3 接口管理建模27</p><p>  第五章 接口管理設計實現(xiàn)31</p><p>  5.1 軟件模塊設計實現(xiàn)31</p><p>  5.2 基于接口的應用層設計實現(xiàn)34&l

13、t;/p><p>  5.2.1 命令行模塊設計實現(xiàn)34</p><p>  5.2.2 協(xié)議模塊設計實現(xiàn)36</p><p>  5.3 接口底層驅動模塊設計實現(xiàn)39</p><p>  5.3.1 虛擬網(wǎng)卡驅動模塊設計實現(xiàn)39</p><p>  5.3.2 交換芯片驅動模塊設計實現(xiàn)47</p>

14、<p>  5.4 接口管理設計實現(xiàn)48</p><p>  5.4.1 Port接口48</p><p>  5.4.2 VLAN接口55</p><p>  5.4.3 基于接口的ARP、Route學習60</p><p>  5.5 接口管理測試63</p><p>  第六章 結束語67

15、</p><p>  6.1 全文總結67</p><p>  6.2 工作展望67</p><p><b>  致謝69</b></p><p><b>  參考文獻71</b></p><p><b>  第一章 緒論</b></p&g

16、t;<p><b>  1.1 項目背景</b></p><p>  上世紀九十年代以來,網(wǎng)絡建設突飛猛進。我國的網(wǎng)絡建設,包括企業(yè)網(wǎng)和廣域網(wǎng)絡,都實現(xiàn)質的飛躍。無線網(wǎng)絡同期也得到廣泛應用和發(fā)展。近兩年來,無線網(wǎng)絡有越來越加快發(fā)展的趨勢。</p><p>  無線網(wǎng)絡自誕生以來,表現(xiàn)了其獨特靈活性、便利性及高效率的特點。無線網(wǎng)絡的初步應用,可以追溯到第二

17、次世界大戰(zhàn)期間,美國陸軍采用無線電信號作資料傳輸。1971年,夏威夷大學的研究員創(chuàng)造了第一個被稱作ALOHNET的無線電通信網(wǎng)絡。無線局域網(wǎng)(WLAN,Wireless Local Area Network)采用無線通信技術代替?zhèn)鹘y(tǒng)電纜網(wǎng)絡。上世紀90年代初,無限局域網(wǎng)絡設備相繼出現(xiàn)。以900MHz、2.4MHz 和5GHz為主要頻率。1997年6月,第一個無線局域網(wǎng)標準IEEE802.11正試頒布實施。1999年9月802.11b技術

18、標準正式發(fā)布,802.11帶來了網(wǎng)絡建設的一場“革命”[1]。為無線局域網(wǎng)的物理層和MAC層提供了統(tǒng)一的標準,為無線網(wǎng)絡市場迅速發(fā)展奠定基礎。</p><p>  近年來,國際無線網(wǎng)絡市場發(fā)展迅速。據(jù)市場調查,1998年美國無線網(wǎng)絡服務的收入為300億美元,收入主要還是來源于移動電話的無線語音服務。到1999年美國無線網(wǎng)絡數(shù)據(jù)服務的收入達到6億美元。預計 2003年美國無線網(wǎng)絡數(shù)據(jù)服務的收入可以達到40億美元。到

19、了2005年美國的無線服務收入將達到600億美元,其中無線數(shù)據(jù)通信的收入達到84億美元,將增長14倍。到2006年,全球無線網(wǎng)絡設備的市場銷售額將達到103億美元。2001年全球無線上網(wǎng)人口總數(shù)已達3900萬人,預計到2005年底可達到7.29億人,并且全球將有36%的上網(wǎng)人口通過無線電子設備上網(wǎng)。無線網(wǎng)絡的應用將持續(xù)高速發(fā)展。人們已經不滿足原來的移動電話服務的內容,無線網(wǎng)絡的語音服務必然向數(shù)據(jù)服務發(fā)展。特別是信息技術的廣泛應用,移動辦

20、公和移動商務的要求,也必然推動無線網(wǎng)絡應用的發(fā)展。無線網(wǎng)絡補充延伸了有線網(wǎng)絡,擴大了網(wǎng)絡的覆蓋率和提高了網(wǎng)絡的應用范圍[2]。</p><p>  到現(xiàn)在為止,無線局域網(wǎng)一般是由連接到接入點的客戶機構成,而接入點要提供安全功能、管理功能和其他控制網(wǎng)絡無線部分所需的智能性。由此帶來的問題是,管理多個接入點,對于可能涉及幾百或幾千個接入點的網(wǎng)絡來說是一種無法應付的局面。在這種情況下,一種新的產品——WLAN交換機應運

21、而生。許多資深研究以太網(wǎng)技術及交換機技術的網(wǎng)絡公司正投入大量研究力量從事無線交換機的研發(fā),例如Cisco,H3C等等,這兩家公司都已有自己成熟的產品,Cisco的Cisco 4400系列,H3C的WX5002系列,但這些都只停留在無線控制這一塊,而沒有把有線和無線完整的融合起來。無線交換所帶來的,不僅是提升無線網(wǎng)絡的可管理性、安全性和部署能力,還降低了組網(wǎng)成本,由此成為無線局域網(wǎng)領域一種新的發(fā)展趨勢。</p><p&

22、gt;  傳統(tǒng)的企業(yè)級無線局域網(wǎng)采用的是以太網(wǎng)交換機+企業(yè)級AP的2級模式,由AP來實現(xiàn)無線局域網(wǎng)和有線網(wǎng)絡之間的橋接工作。整個網(wǎng)絡的無線部分, 是以AP為中心的一片片覆蓋區(qū)域組合而成的。這些區(qū)域各自獨立工作,AP作為該區(qū)域的中心節(jié)點,承擔著數(shù)據(jù)的接收、轉發(fā)、過濾、加密,客戶端的接入、斷開、認證等任務。所有的管理工作,比如channel管理和安全性設置,都必須針對每一臺AP單獨進行。當企業(yè)的無線局域網(wǎng)規(guī)模較大時,這就成了網(wǎng)絡管理員相當繁

23、重的負擔。</p><p>  新出現(xiàn)的無線交換機通過集中管理、簡化AP來解決這個問題。在這種構架中,無線交換機替代了原來二層交換機的位置,輕量級AP(Light-Weight  AP)(也稱智能天線)取代了原有的企業(yè)級AP[3]。通過這種方式,就可以在整個企業(yè)范圍內把安全性、移動性、QoS和其他特性集中起來管理。</p><p>  雖然無線交換機采用和普通交換機類似的方式與A

24、P實現(xiàn)連接。但在802.11幀處理上與傳統(tǒng)方式不同:它不將802.11幀轉換為以太幀,而是將其封裝進 802.3幀當中,然后通過專用隧道傳輸?shù)綗o線交換機。從有線網(wǎng)的角度看,無線交換機加輕量級AP更像是一臺伸展出很多外接天線的增強型AP。無線交換機的優(yōu)勢,在于三個主要方面:更高的安全性,更低的TCO,更有效率的管理。</p><p>  在新的AP與交換機之間的通信的隧道協(xié)議和管理協(xié)議(LWAPP)標準定制以后,不

25、同廠家的無線交換機和AP不能通信的時代已成為過去,LWAPP 在市場中得到廣泛接受,減少了被迫鎖定于一個廠商,即只有將接入點與同一廠商的WLAN系統(tǒng)設備共用,才能獲得最優(yōu)運行效果的現(xiàn)象。LWAPP還提供了一個開放標準解決方案,可在多廠商集中WLAN架構上提供安全的第二層和第三層網(wǎng)絡服務。此外,憑借LWAPP,第三方廠商也可擁有一個用于部署應用的通用架構。無線交換機將會成為網(wǎng)絡設備發(fā)展的主流。</p><p>&l

26、t;b>  1.2 項目來源</b></p><p>  本文作者實習公司是業(yè)界唯一一個有線無線一體化寬帶網(wǎng)絡解決方案提供商。依托它們的產品,用戶可以基于單一平臺部署有線網(wǎng)絡、WLAN網(wǎng)絡及企業(yè)統(tǒng)一安全策略。</p><p>  傳統(tǒng)企業(yè)網(wǎng)絡中,有線網(wǎng)絡設備及管理系統(tǒng)、無線網(wǎng)絡設備及管理系統(tǒng)、安全策略管理系統(tǒng)各自獨立,分別維護,不但增加了IT人員的負擔,而且大大增加了企業(yè)

27、的 IT基礎設施投資。傲天動聯(lián)提供單一的有線無線一體化產品平臺和管理平臺,用戶可以基于同一設備進行WLAN數(shù)據(jù)和有線數(shù)據(jù)的轉發(fā)策略控制以及進行第七層安全策略部署,極大的簡化了網(wǎng)絡的部署和管理并大幅度節(jié)約網(wǎng)絡基礎設施投資。</p><p>  基于以上的市場需求,公司率先推出了業(yè)界領先、完全自主知識產權的有線無線一體化解決方案,包括業(yè)界最高轉發(fā)性能和最具安全性的AX7000系列高端一體化安全交換機、適用于中小型企業(yè)

28、的AX5000/3000系列一體化安全交換機、具有零配置自愈合功能的室外型無線接入點、基于開放式安全平臺的AUTEWARE操作系統(tǒng)等,為客戶提供安全、高速、統(tǒng)一管理、易于部署的整網(wǎng)多業(yè)務解決方案。</p><p>  而接口管理正是交換機的核心功能,同樣有線無線一體化交換機也不例外。在現(xiàn)有的網(wǎng)絡設備生產公司中,接口都沒有十分統(tǒng)一的清晰定義,各有巧妙。但是從總體上說,其內容涵蓋了系統(tǒng)中所有底層硬件驅動、上層應用,是

29、軟件層面上的一系列核心結構體,主要目的是為了高效合理的管理交換機,并且以它為核心進行軟件開發(fā),擴展功能,版本的移植。因此接口管理邏輯關系復雜,與系統(tǒng)軟硬件功能模塊緊密相關,也是中高端交換機管理方式的定義。不同的設計最終呈現(xiàn)給用戶的時候,有很大的差別,從Cisco和Juniper設備配置文檔中就可見一斑。</p><p>  從Cisco的配置手冊[4]上可以看出,Cisco對接口定義最廣泛,因此也最混亂,接口太多

30、。在Cisco的8540配置文檔中可以看出,接口與路由有很大的關系,路由是把包從一個鏈路傳送到另外一個鏈路,而為了實現(xiàn)這個過程,就要定義數(shù)據(jù)包從接受到發(fā)送這一過程的接口特征。接口特征包括IP地址,端口地址,數(shù)據(jù)封裝方法和介質類型,這些所說的只是其中的一部分。可以看出Cisco的接口定義更像一個面向對象程序中的類,當然把它們定義成可以獨立出來的模式,可以很方便的把它們組織成一個樹形結構,加快了包在三層交換機中的轉發(fā)速度。</p>

31、;<p>  Juniper公司的接口管理[5]相對要清晰一點,把接口的概念分層了,從物理層到鏈路層到網(wǎng)絡層,邏輯上的可以有好幾層接口,類似一個接口棧,完整的接口棧實現(xiàn)完整的報文從網(wǎng)絡協(xié)議棧最底層到頂層的處理過程。例如:用戶可以根據(jù)自己的需求配置T3和T1鏈路的物理和邏輯特征或根據(jù)中心交換機和OC3鏈路的物理和邏輯特點從網(wǎng)絡的下層核心傳出,這些物理和邏輯的特點就定義了一個接口。而接口的配置應該從低到高合理的配置,比如:原來

32、的配置是IP 運行在ATM上,現(xiàn)在想改變原來的模式,IP 要運行在PPP上,PPP運行在ATM 上,則就要先刪除IP,再配置PPP,然后重新配置IP,才能正確的運行。從這些可以看出Juniper公司對接口定義比較嚴格。而接口的管理也更加的靈活。</p><p>  在作者實習公司的有線無線一體化交換機中,接口管理吸收了Cisco和Juniper的優(yōu)點,提出了自己相對簡單但功能全面、靈活的接口管理方案。把接口管理規(guī)

33、劃入兩個主要的邏輯結構中——Port、VLAN中,用這兩個數(shù)據(jù)結構去定義各個接口功能。</p><p>  1.3 項目其間的主要工作</p><p>  本次課題開發(fā)的內容是根據(jù)作者實習公司的產品AX7000和AX5000有限線無線一體化交換機的研發(fā)而來。這兩款新產品給用戶提供了無線網(wǎng)絡管理和有線網(wǎng)絡管理的一體化解決方案,最大化的減小了用戶的投資,并使用戶長期受益。新產品在設計研發(fā)過程中

34、遵守IEEE的802等標準。系統(tǒng)采用MIPS架構,LINUX服務器平臺,進行基于高速交換芯片的嵌入式開發(fā)。將優(yōu)化過的一些相關理論方法應用到實際開發(fā)過程中去,保障了系統(tǒng)性能、特性的安全穩(wěn)定。</p><p>  本論文的研究內容是實習公司AX7000和AX5000有線無線一體化交換機的核心功能接口管理模塊,本文作者主要完成以下幾個方面的工作:</p><p>  項目開始前期。閱讀有關TCP

35、/IP協(xié)議書籍、Socket編程書籍、線程管理和內存管理書籍,硬件芯片文檔,產品設計架構文檔,了解國內三層交換機框架的一些情況。閱讀交換芯片的驅動源代碼。</p><p>  對產品硬件結構進行培訓,與硬件工程師一起對交換芯片的硬件轉發(fā)能力進行測試驗證。</p><p>  與交換項目組的開發(fā)人員和軟件架構工程師進行接口管理方面的設計。</p><p>  完成接口

36、管理的基礎,Linux虛擬網(wǎng)卡驅動的設計、編碼、測試。</p><p>  完成RSTP和MSTP的融合,為上層管理提供相應的接口。</p><p>  實現(xiàn)ARP,路由學習的軟硬件控制,以及一些特色功能接口。</p><p>  調試報文收發(fā)流程的性能。</p><p><b>  1.4 章節(jié)安排</b></p

37、><p>  論文主要介紹了研究和實現(xiàn)基于無線控制器的接口管理。</p><p><b>  第一章:緒論</b></p><p>  本章介紹了論文研究背景、來源和組織安排。</p><p>  第二章:相關技術背景</p><p>  本章介紹了交換機軟件開發(fā)中與接口管理相關關鍵技術。首先介紹了T

38、CP/IP協(xié)議的基本信息,緊接著對Linux驅動做了總結,最后對公司使用的兩個開源軟件Quagga,D-Bus進行簡單的介紹。</p><p>  第三章:無線控制器體系結構</p><p>  本章對實習公司的產品AX7000的各個功能做了概述,并從本產品的硬件架構和邏輯功能模塊詳細介紹它的軟件結構和設計理念。</p><p>  第四章:接口管理的需求分析<

39、;/p><p>  本章論述了接口管理的概念,并分析了接口管理的需求,最終對系統(tǒng)和接口管理進行了功能建模。</p><p>  第五章:接口管理的設計實現(xiàn)</p><p>  本章詳細論述了AX7000的軟件總體設計以及各個模塊的功能,然后對接口管理的上層應用命令行模塊和協(xié)議模塊和底層驅動模塊的設計實現(xiàn)進行了詳細闡述,最后具體的論述了接口管理的設計與實現(xiàn),并且列出了測試

40、結果。</p><p><b>  第六章:結束語</b></p><p>  本章主要總結了本篇論文的主要內容,介紹了AX7000投入市場后情況,展望了未來的工作。</p><p>  第二章 相關技術背景</p><p>  2.1 TCP/IP及Linux TCP/IP協(xié)議棧</p><p>

41、;  網(wǎng)絡發(fā)展最初可以追溯到20世紀50年代,當時人們嘗試把分別獨立發(fā)展的通信技術和計算機技術聯(lián)系起來,使得在技術上為今后的計算機網(wǎng)絡的出現(xiàn)做好了準備。同時建立了一些基礎的理論性的概念。1983年出現(xiàn)了可用于異構網(wǎng)絡的TCP/IP協(xié)議,并作為BSD UNIX操作系統(tǒng)的一部分,TCP/IP協(xié)議得到了認可,逐步流行起。從此真正意義上的Internet誕生了[6]。1991年,internet開始用于商業(yè)用途,internet的商業(yè)化,成為i

42、nternet發(fā)展的催化劑,使得它以空前的速度迅速發(fā)展。</p><p>  Linux 正是一個誕生于網(wǎng)絡、成長于網(wǎng)絡且成熟于網(wǎng)絡的奇特的操作系統(tǒng)。1991年,芬蘭大學生Linus Torvalds把自己開發(fā)了基于UNIX的開源操作系統(tǒng)Linux,為了不讓這個羽毛未豐的操作系統(tǒng)矢折,Linus將自已的作品Linux通過Internet發(fā)布。從此一大批知名的、不知名的電腦黑客、編程人員加入到開發(fā)過程中來,Linu

43、x逐漸成長起來。 </p><p>  現(xiàn)在Linux已經是一種自由的UNIX類多用戶、多任務的操作系統(tǒng),可運行在多種計算機平臺,已成為應用廣泛、可靠性高、功能強大的計算機操作系統(tǒng)。Linux 具有內核小、效率高、源代碼開放等優(yōu)點,還內含了TCP/IP網(wǎng)絡協(xié)議,很適合在服務器領域和嵌入式領域使用。而這兩個領域主要用途之一就是進行網(wǎng)絡通信。</p><p>  Linux支持TCP/IP,I

44、PX,X.25,AppleTalk等協(xié)議,各種具體協(xié)議實現(xiàn)的源碼見linux/net/目錄下相應的名稱[7]。與本文構件化相關的TCP/IP協(xié)議棧相關內容在linux/net/ipv4目錄下,其中l(wèi)inux/net/ipv4/af_inet.c是主要的管理文件。 </p><p>  與OSI模型一樣,Linux的TCP/IP協(xié)議棧也是典型的層次架構,如圖2.1所示。網(wǎng)卡驅動程序提供的I/O之上是地址解析協(xié)議和反

45、向地址解析協(xié)議(ARP/RARP),主要功能為將網(wǎng)卡硬件設備號(MAC地址)與分配的IP地址連接起來,在Linux kernel源碼中的實現(xiàn)文件是arp.c及rarp.c。再向上是IP協(xié)議、ICMP協(xié)議和IGMP協(xié)議,該層實際完成功能與OSI模型中的網(wǎng)絡層相似,其中以IP協(xié)議為核心,ICMP協(xié)議及IGMP協(xié)議協(xié)助IP協(xié)議以共同完成IP尋址、路由轉發(fā)及簡單的錯誤回報、流量控制等功能,在內核源碼中的實現(xiàn)文件包含了以ip_為前綴的一系列文件及

46、icmp.c、igmp.c。再上是兩個傳輸層的協(xié)議,包括面向連接的TCP協(xié)議和無連接的UDP協(xié)議,在內核源碼中的實現(xiàn)文件是以tcp_為前綴的一系列文件及udp.c。最上層是豐富的應用層協(xié)議,內核源碼中并不包含此部</p><p>  圖 2.1 TCP/IP協(xié)議棧</p><p>  分內容的具體實現(xiàn)文件,而是由具體的應用程序根據(jù)RFC標準對其加以實現(xiàn)。所以對TCP/IP協(xié)議棧按層次構件化

47、的任務主要集中在三層上:ARP/RARP層,IP/ICMP/IGMP層,TCP/UDP層。圖2.2描述了Linux對TCP/IP協(xié)議族的實現(xiàn)機制。</p><p>  圖2.2 Linux 對TCP/IP協(xié)議族實現(xiàn)</p><p>  Linux支持BSD的套接字和全部的TCP/IP協(xié)議,是通過網(wǎng)絡協(xié)議將其視為一組相連的軟件層來實現(xiàn)的,BSD套接字(BSD Socket)由通用的套接字管理

48、軟件支持,該軟件是INET套接字層,用來管理基于IP的TCP與UDP端口到端口的互聯(lián)問題[8]。從協(xié)議分層來看,IP是網(wǎng)絡層協(xié)議,TCP是一個可靠的端口到端口的傳輸層協(xié)議,它是利用IP層進行傳接報文的,同時也是面向連接的,通過建立一條虛擬電路在不同的網(wǎng)路間傳輸報文,保證所傳輸報文的無丟失性和無重復性。用戶數(shù)據(jù)報文協(xié)議(User Datagram Protocol,UDP)也是利用IP層傳輸報文,但它是一個非面向連接的傳輸層協(xié)議,利用IP

49、層傳輸報文時,當目的方網(wǎng)際協(xié)議層收到IP報文后,必須識別出該報文所使用的上層協(xié)議(即傳輸層協(xié)議),因此,在IP報頭上中,設有一個“協(xié)議”域(Protocol)。通過該域的值,即可判別其上層協(xié)議類型。</p><p>  對于TCP傳輸,傳輸節(jié)點間先要建立連接,然后通過該連接傳輸已排好序的報文,以保證傳輸?shù)恼_性,IP層中的代碼用于實現(xiàn)網(wǎng)際協(xié)議,這些代碼將IP頭增加到傳輸數(shù)據(jù)中,同時也把收到的IP報文正確的傳送到T

50、CP層或UDP層。TCP是一個面向連接協(xié)議,而UDP則是一個非面向連接協(xié)議,當一個UDP報文發(fā)送出去后,Linux并不知道也不去關心它是否成功地到達了目的主機。IP層之下,是支持所有Linux網(wǎng)絡應用的網(wǎng)絡設備層,例如點到點協(xié)議 (Point to Point Protocol,PPP)和以太網(wǎng)層。網(wǎng)絡設備并非總代表物理設備,其中有一些(例如回送設備)則是純粹的軟件設備,網(wǎng)絡設備與標準的Linux設備不同,它們不是通過mknod命令創(chuàng)建

51、的,必須是底層軟件找到并進行了初始化之后,這些設備才被創(chuàng)建并可用。因此只有當啟動了正確設置的以太網(wǎng)設備驅動程序的內核后,才會有/dev/eth0文件,ARP協(xié)議位于IP層和支持地址解析的協(xié)議層之間。</p><p>  2.2 Linux驅動</p><p>  Linux設備驅動程序在 Linux的內核源代碼中占有很大的比例,源代碼的長度日益增加,主要是驅動程序的增加。在Linux內核的

52、不斷升級過程中,驅動程序的結構還是相對穩(wěn)定。在2.4.xx到2.6.xx的變動里,驅動程序的編寫做了一些改變,但是從2.4.xx的驅動到2.6.xx的移植只需做少量的工作。 </p><p>  Linux 系統(tǒng)的設備分為字符設備(char device),塊設備(block device)和網(wǎng)絡設備(network device)三種。字符設備是指存取時沒有緩存的設備。塊設備的讀寫都有緩存來支持,并且塊設備必須

53、能夠隨機存取(random access),字符設備則沒有這個要求。典型的字符設備包括鼠標、鍵盤、串行口等。塊設備主要包括硬盤軟盤設備,CD-ROM等。一個文件系統(tǒng)要安裝進入操作系統(tǒng)必須在塊設備上[9]。</p><p>  每個設備文件都有其文件屬性(c/b),表示是字符設備還是塊設備。另外每個文件都有2個設備號,第一個是主設備號,標識驅動程序;第二個是從設備號,標識使用同一個設備驅動程序的、不同的硬件設備。設

54、備文件的主設備號必須與設備驅動程序在登記時申請的主設備號一致,否則用戶進程將無法訪問驅動程序。</p><p>  系統(tǒng)調用時是操作系統(tǒng)內核與應用程序之間的接口,設備驅動程序是操作系統(tǒng)內核與機器硬件之間的接口[10]。設備驅動程序是內核的一部分,它完成以下功能:</p><p><b>  對設備初始化和釋放</b></p><p>  把數(shù)據(jù)

55、從內核傳送到硬件和從硬件讀取數(shù)據(jù)</p><p>  讀取應用程序傳送給設備文件的數(shù)據(jù)和回送應用程序請求的數(shù)據(jù)</p><p>  檢測和處理設備出現(xiàn)的錯誤</p><p>  圖2.3完整地表現(xiàn)了Linux驅動和系統(tǒng)之間的關系。</p><p>  圖 2.3 Linux 設備驅動模塊圖</p><p>  Linu

56、x的設備驅動程序可以分為3個主要組成部分[11]:</p><p>  自動配置和初始化子程序,負責監(jiān)測所有驅動的硬件設備是否存在和能否正常工作。如果該設備正常,則對這個設備及其相關的設備驅動程序需要的軟件狀態(tài)進行初始化。這部分驅動程序僅在初始化時被調用一次。</p><p>  服務于I/O請求的子程序,又稱為驅動程序的上半部分。調用這部分程序是由于系統(tǒng)調用的結果。這部分程序在執(zhí)行時,系

57、統(tǒng)仍認為是與進行調用的進程屬于同一個進程,只是由用戶態(tài)變成了核心態(tài),具有進行此系統(tǒng)調用的用戶程序的運行環(huán)境,因而可以在其中調用sleep()等與進程運行環(huán)境有關的函數(shù)。</p><p>  中斷服務子程序,又稱為驅動程序的下半部分。在Linux系統(tǒng)中,并不是直接從中斷向量表中調用設備驅動程序的中斷服務子程序,而是由Linux系統(tǒng)來接收硬件中斷,再由系統(tǒng)調用中斷服務子程序。中斷可以在任何一個進程運行時產生,因而在中

58、斷服務程序被調用時,不能依賴于任何進程的狀態(tài),也就不能調用任何與進程運行環(huán)境有關的函數(shù)。因為設備驅動程序一般支持同一類型的若干設備,所以一般在系統(tǒng)調用中斷服務子程序時,都帶有一個或多個參數(shù),以唯一標識請求服務的設備。</p><p>  在Linux中,幾乎所有的內容都是文件,對設備驅動的訪問也是以文件操作的方式實現(xiàn)[12]。無論是字符設備還是塊設備,用戶對設備的操作都是通過虛擬文件系統(tǒng)(VFS)轉化為設備驅動與

59、硬件操作程序的交互。即使是訪問網(wǎng)絡設備的socket接口,也是通過VFS實現(xiàn)的。Linux通過VFS為用戶提供了一個統(tǒng)一的設備訪問接口,使用戶能夠透明地訪問設備驅動程序。所有的硬件設備都可以使用和操作系統(tǒng)調用接口來打開、關閉、讀寫和I/O控制,而驅動程序的主要任務就是實現(xiàn)這些系統(tǒng)調用函數(shù)。Linux系統(tǒng)中的所有硬件設備都使用一種特殊的設備文件來表示。每個設備文件都有兩個設備號:一個是主設備號,它用來標識該設備的種類,也標識該設備使用的驅

60、動程序;另一個是次設備號,用來標識使用同一設備驅動程序的不同硬件設備。</p><p>  實現(xiàn)一個嵌入式Linux設備驅動的大致流程如下: </p><p>  定義主、次設備號,也可以動態(tài)獲取。</p><p>  實現(xiàn)驅動初始化和清除函數(shù),如果驅動程序采用模塊方式,則要實現(xiàn)模塊初始化和清除函數(shù)。</p><p>  設計所要實現(xiàn)的文件操

61、作,定義file_operations結構。</p><p>  實現(xiàn)所需的文件操作調用,如read、write等。</p><p>  實現(xiàn)中斷服務函數(shù),并用request_irq向內核注冊。中斷并不是每個設備驅動所需要。</p><p>  將驅動編譯到內核或編譯成模塊,用insmod命令加載。 </p><p><b>  生

62、成設備節(jié)點文件。</b></p><p>  file_operation結構中的成員幾乎全部是函數(shù)指針,它們是系統(tǒng)調用函數(shù)的真正處理函數(shù),所以實質上就是函數(shù)跳轉表。每個進程對設備的操作都會根據(jù)major、minor設備號,轉換成對file_operation結構的訪問。常用的操作包括以下幾種:</p><p>  lseek,移動文件指針的位置,只能用于可以隨機存取的設備。&

63、lt;/p><p>  read,進行讀操作,參數(shù)buf為存放讀取結果的緩沖區(qū),count為所要讀取的數(shù)據(jù)長度。返回值為負表示讀取操作發(fā)生錯誤;否則,返回實際讀取的字節(jié)數(shù)。對于字符型,要求讀取的字節(jié)數(shù)和返回的實際讀取字節(jié)數(shù)都必須是inodei_blksize的倍數(shù)。</p><p>  write,進行寫操作,與read類似。</p><p>  readdir,取得下

64、一個目錄入口點,只有與文件系統(tǒng)相關的設備程序才使用。</p><p>  select,進行選擇操作。如果驅動程序沒有提供select入口,select操作會認為設備已經準備好進行任何I/O操作。</p><p>  ioctl,進行讀、寫以外的其他操作,參數(shù)cmd為自定義的命令。</p><p>  mmap,用于把設備的內容映射到地址空間,一般只有塊設備驅動程序

65、使用。</p><p>  open,打開設備準備進行I/O操作。返回0表示打開成功,返回負數(shù)表示失敗。如果驅動程序沒有提供open入口,則只要/dev/driver文件存在就認為打開成功。</p><p>  release,即close操作。</p><p>  在用戶自己的驅動程序中,首先要根據(jù)驅動程序的功能,完成file_operation結構中函數(shù)實現(xiàn)。不

66、需要的函數(shù)接口可以直接在 file_operation結構中初始化為NULL。file_operation變量會在驅動程序初始化時注冊到系統(tǒng)內部。當操作系統(tǒng)對設備操作時,會調用驅動程序注冊的file_operation結構中的函數(shù)指針。</p><p>  對于網(wǎng)絡設備來說在Linux里有專門的處理。Linux的網(wǎng)絡系統(tǒng)主要是基于BSD unix的socket 機制。在系統(tǒng)和驅動程序之間定義有專門的數(shù)據(jù)結構(sk

67、_buff)進行數(shù)據(jù)的傳遞。系統(tǒng)里支持對發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的緩存,提供流量控制機制,提供對多協(xié)議的支持。</p><p>  所有的Linux網(wǎng)絡驅動程序都遵循通用的接口。設計時采用的是面向對象的方法。一個設備就是一個對象(device結構),它內部有自己的數(shù)據(jù)和方法。每一個設備的方法被調用時的第一個參數(shù)都是這個設備對象本身。這樣這個方法就可以存取自身的數(shù)據(jù)(類似面向對象程序設計時的this引用)。 一個網(wǎng)絡設備

68、最基本的方法有初始化、發(fā)送和接收。網(wǎng)絡驅動的收發(fā)報文流程圖如圖2.4。</p><p>  圖 2.4 網(wǎng)絡驅動收發(fā)報文流程圖</p><p>  初始化程序完成硬件的初始化,完成device中變量的初始化和系統(tǒng)資源的申請。發(fā)送程序是在驅動程序的上層協(xié)議層有數(shù)據(jù)要發(fā)送時自動調用的。一般驅動程序中不對發(fā)送數(shù)據(jù)進行緩存,而是直接使用硬件的發(fā)送功能把數(shù)據(jù)發(fā)送出去。接收數(shù)據(jù)一般是通過硬件中斷來通知

69、的。在中斷處理程序里,把硬件幀信息填入一個skbuff 結構中,然后調用netif_rx()傳遞給上層處理。</p><p>  2.3 Linux開源項目</p><p>  1998年4月7日,由Tim O`Reilly出面,組織并主持了一次“自由軟件峰會”,討論“自由軟件”的稱謂問題。最終使用“Open Source”(“開源”)這個詞。2008年Gartner發(fā)表一份研究報告,認為

70、在未來幾年,幾乎所有企業(yè)都將使用開源軟件。 Gartner集團在一份名為“The State of Open Source 2008”的研究報告中預測:到2012年,(全球)90%以上的企業(yè)都將使用開源軟件[13]。</p><p>  2.3.1 路由管理之Quagga</p><p>  Quagga[14]是開源的路由軟件,為Linux平臺上實現(xiàn)了OSPF版本2,OSPF本版3,RI

71、P版本1和版本2,RIPng以及BGP-4等路由協(xié)議。Quagga是由Kunihiro Ishiguro開發(fā)的GNU Zebra的衍生而來。Quagga樹的目標是建立很多緊密聯(lián)系在Quagga周圍的組織,而不是像GNU Zebra現(xiàn)在的集中控制處理一樣。Quagga體系結構包括兩個功能模塊,一個是Vtysh,一個是Zebra。</p><p>  Zebra[15]。Zebra是一種TCP/IP路由軟件,它支持B

72、GP-4、BGP-4+、OSPFv2、OSPFv3、RIPv1、RIPv2和RIPng。它符合 GNU的GPL標準,可以運行在Linux和其它Unix變體系統(tǒng)上。Zebra是最先進的路由軟件之一,最新版本可以從GUN Zebra Web站點上下載。</p><p>  Zebra可以利用模塊法對各種協(xié)議進行管理,這種設計是獨一無二的。它可以根據(jù)用戶的需要激活或者停止協(xié)議。</p><p>

73、  除此以外,Quagga體系結構擁有豐富的庫文件來支持協(xié)議的實現(xiàn)和客戶端守護進程的開發(fā),明確的配置和管理。Quaaga的守護進程都是可配置的,可利用Vtysh——Quagga的CLI。Vtysh作為所有守護進程的終端,組織對Quagga所有的命令節(jié)點。</p><p>  Quagga體系結構如下圖所示[16]:</p><p>  圖 2.5 Quagga結構圖</p>

74、<p>  2.3.2 Linux邏輯總線之D-Bus</p><p>  D-Bus[17](其中D原先是代表桌面“Desktop”的意思)是一個提供簡單的應用程序互通訊的自由軟件,它是作為freedesktop.org項目的一部分開發(fā)的。D-Bus深深地受到了DCOP系統(tǒng)的影響而且將在KDE 4版本的release中取代DCOP。它已經被應用在Qt4,GNOME,WINDOWS以及Maemo等系統(tǒng)中

75、。GNOME也逐漸用它來取代了大部分早期的Bonobo機制。</p><p>  D-Bus是相對來講比較新的進程間通信(IPC)機制。在桌面操作系統(tǒng)中,扮演著一個統(tǒng)一中間層的一個角色。有很多的項目都用了D-Bus,比如:GNOME、Hildon等。 相對于其它的IPC,D-Bus丟掉了一些不必要的、復雜的東西,也正是因為這個原因,D-Bus比較快、簡單。</p><p>  D-Bus不

76、和低層的IPC直接競爭,比如sockets, shared memory or message queues。D-Bus的主要目的是提供如下的一些更高層的功能:</p><p><b>  結構化的名字空間</b></p><p>  獨立于架構的數(shù)據(jù)格式</p><p>  支持消息中的大部分通用數(shù)據(jù)元素</p><p&g

77、t;  帶有異常處理的通用遠程調用接口</p><p><b>  支持廣播類型的通信</b></p><p>  在系統(tǒng)和用戶之間有明確的區(qū)分,這對于處理多用戶系統(tǒng)非常重要不局限于任何特定的編程語言,同時提供了語言綁定方法,來和一些通用的高級語言綁定,比如C, C++, Python等。D-Bus的設計得益于在桌面系統(tǒng)中其它IPC的長期經驗總結,正是有了這些豐富的經

78、驗,才使得D-Bus的設計得以優(yōu)化。同時D-Bus也不會受累于緩慢的功能改進(creeping featurism)。</p><p>  D-Bus的架構以及一些術語[18]:在D-Bus中,“bus”是核心的概念,它是一個通道,不同的程序可以通過這個通道做些操作,比如方法調用、發(fā)送信號和監(jiān)聽特定的信號。通常情況下,只會存在一個系統(tǒng)通道,但是可以有不同的會話通道(每人一個桌面會話)。</p>&l

79、t;p>  通過D-Bus發(fā)送消息通常包含如下步驟:創(chuàng)建和發(fā)送消息給后臺bus daemon進程,這個過程中會有兩個上下文的切換,后臺bus daemon進程會處理該消息,并轉發(fā)給目標進程。這也會引起上下文的切換目標程序接收到消息,然后根據(jù)消息的種類做不同的響應,要么給個確認、要么應答、還有就是忽略它。最后一種情況對于“通知”類型的消息而言,前兩種都會引起進一步的上下文切換。</p><p>  如果準備使

80、用D-Bus在不同的進程之間傳遞大量的數(shù)據(jù),D-Bus可能不是最有效的方法,最有效的方法是使用共享內存,但是對共享內存的管理也是相當復雜的。D-Bus的地址和名字是為了把消息正確的送給接收者[19],IPC機制需要具有某種或某些尋址能力。D-Bus所設計的尋址方案是非常靈活和高效的。每個通道(bus)都有它私人的名字空間,和別的通道區(qū)分開來。</p><p>  第三章 無線控制器體系結構</p>

81、<p>  3.1 無線控制器的功能</p><p>  無線控制器從根本上說是一種企業(yè)級交換機。企業(yè)級交換機屬于高端交換機,一般采用模塊化的結構,可作為企業(yè)網(wǎng)絡骨干構建高速局域網(wǎng),所以它通常用于企業(yè)網(wǎng)絡的最頂層。</p><p>  企業(yè)級交換機可以提供用戶化定制、優(yōu)先級隊列服務和網(wǎng)絡安全控制,并能很快適應數(shù)據(jù)增長和改變的需要,從而滿足用戶的需求。對于有更高需求的網(wǎng)絡,企業(yè)級交

82、換機不僅能傳送海量數(shù)據(jù)和控制信息,更具有硬件冗余和軟件可伸縮性特點,保證網(wǎng)絡的可靠運行。從它所處的位置可以清楚地看出它自身的要求非同一般,起碼在帶寬、傳輸速率以背板容量上要比一般交換機要高出許多,所以企業(yè)級交換機一般都是千兆以上以太網(wǎng)交換機。企業(yè)級交換機所采用的端口一般都為光纖接口,這主要是為了保證交換機高的傳輸速率?,F(xiàn)在通常這么認為,如果是作為企業(yè)的骨干交換機時,能支持500個信息點以上大型企業(yè)應用的交換機為企業(yè)級交換機[20]。&l

83、t;/p><p>  無線控制器是對傳統(tǒng)的企業(yè)級交換機的新的擴展,綜合了無線交換與有線交換的兩種功能。通過實現(xiàn)WLAN,無線控制器既提供有線用戶的大量接入,同時又可提供多個AP及大量無線用戶接入。</p><p>  無線控制器通過集中管理簡化AP來解決無線網(wǎng)絡和有線網(wǎng)絡的無縫接入[21]。在這種構架中,無線交換機替代了原來二層交換機的位置,輕量級AP(Light-Weight  A

84、P)(也稱智能天線Intelligent Antenna)取代了原有的企業(yè)級AP。通過這種方式,就可以在整個企業(yè)范圍內把安全性、移動性、QoS和其他特性集中起來管理。</p><p>  無線交換機的應用使網(wǎng)絡管理員在混合和匹配用戶安全性能時變得更加靈活,無須再升級或重新配置AP。安全性能包括802.1x、WEP、TKI協(xié)議和AES等等[22],囊括了從第2層驗證和加密到第3層VPN安全機制。</p>

85、<p>  無線LAN交換技術也可防止非法接入點的入侵。傳統(tǒng)的交換機加企業(yè)級AP的做法是無法控制非法AP接入的,而且檢查非法AP的接入也非常麻煩。而采用無線交換機時,當非法接入點連接到網(wǎng)絡,WLAN交換機會驗證它是否是被允許的設備或用戶。如果交換機確定該設備是非法的,它將關閉非法接入點并自動告警。并且由于對于無線信號的調制、數(shù)據(jù)的轉發(fā)、安全性控制和遠程管理處理都是分布式的,每臺AP都需要相當強的處理能力;而對于無線交換機加

86、輕量級AP的方案,由于所有的處理能力都集中在一臺無線交換機上,分布的輕量級AP只是非常簡單的受控設備,只負責發(fā)送接收無線信號,因此無需很強的處理能力,也就大幅降低了成本,這樣整個無線局域網(wǎng)的成本就大大降低了[23]。</p><p>  另一方面,無線交換機可以在輕量級AP開啟的時候,自動給輕量級AP升級固件或更新配置,而不像普通的AP那樣,需要由管理員來一臺一臺的進行固件升級或更新配置,大大減小了管理的重復勞動

87、強度,減小了管理開支。</p><p>  無線交換機通過實時監(jiān)控空間、網(wǎng)絡增長和用戶密度等,動態(tài)地調整帶寬、接入控制、QoS和移動用戶等參數(shù),因而成為WLAN系統(tǒng)的大腦。</p><p>  無線交換機可以動態(tài)地智能地調整輕量級AP的信道和功率,這項突破性的技術是獨一無二的。例如,當某個輕量級AP失效時,WLAN交換機將自動探測失敗點,指導附近的輕量級AP調整功率和信道設置來進行補償。當

88、一個新的AP加入,無線交換機可自動探測,上載適當?shù)墓β屎托诺涝O置,并調整附近AP的信道和減小其功率,以免發(fā)生沖突。由于無線交換機是一種專用系統(tǒng),AP和交換機之間需要專用的隧道協(xié)議和管理協(xié)議,無線交換機的標準化協(xié)議正在草擬之中,其核心是輕量接入點協(xié)議(LWAPP, Light-weight Access Point Protocol),專門規(guī)范交換機和AP間的配置信息,以實現(xiàn)不同廠家WLAN交換機和AP之間的互聯(lián)。</p>

89、<p>  3.2 無線控制器的體系結構</p><p>  本文作者在實習中所參與的項目是公司開發(fā)的有線無線一體化交換機AX7000和AX5000的研發(fā)。</p><p>  這兩款網(wǎng)絡設備都是基于MIPS架構,使用Marvell公司的高速轉發(fā)芯片,基于Linux的開發(fā)。此產品是市場上第一款集無線和有線一體化的企業(yè)級交換機,現(xiàn)已在很多單位使用,并獲得了客戶的好評。下面將以AX7

90、000為主詳細論述交換機的接口管理設計與實現(xiàn)。</p><p>  3.2.1 功能體系結構模塊</p><p>  首先是三層交換的概念。三層交換(也稱多層交換技術,或IP交換技術)是相對于傳統(tǒng)交換概念而提出的。眾所周知,傳統(tǒng)的交換技術是在OSI 網(wǎng)絡標準模型中的第二層――數(shù)據(jù)鏈路層進行操作的,而三層交換技術在網(wǎng)絡模型中的第三層實現(xiàn)了分組的高速轉發(fā)。簡單的說,三層交換技術就是“二層交換技

91、術加三層轉發(fā)”。但它不是簡單的二層交換設備硬件和三層路由交換硬件的疊加[24]。三層交換技術的出現(xiàn),解決了局域網(wǎng)中網(wǎng)段劃分之后網(wǎng)段中的子網(wǎng)必須依賴路由器進行管理的局面,解決了傳統(tǒng)路由器低速、復雜所造成的網(wǎng)絡瓶頸問題。</p><p>  從硬件的實現(xiàn)上看,目前第二層交換機的接口模塊都是通過高速背板/總線交換數(shù)據(jù)的。在第三層交換機中,與路由器有關的第三層路由硬件模塊也插接在高速背板/總線上,這種方式使得路由模塊可以

92、與需要路由的其他模塊間高速地交換數(shù)據(jù),從而突破了傳統(tǒng)的外接路由器接口速率的限制(10Mbit/s---100Mbit/s)。在軟件方面,第三層交換機將傳統(tǒng)的基于軟件的路由器重新進行了界定:</p><p>  數(shù)據(jù)封包的轉發(fā):如IP封包的轉發(fā),這些有規(guī)律的過程通過硬件高速實現(xiàn); </p><p>  第三層路由軟件:如路由信息的更新、路由表維護、路由計算、路由的確定等功能,用優(yōu)化、高效的軟

93、件實現(xiàn)。</p><p>  AX7000是實習公司研發(fā)的高端產品,在有線網(wǎng)絡的基礎上實現(xiàn)WLAN,通過AP和交換機的Capwap隧道協(xié)議實現(xiàn)無線網(wǎng)絡的轉發(fā)、控制、管理。當然此產品也可只用于有線網(wǎng)絡就如同其他的高端三層交換機一樣。</p><p>  AX7000的體系結構如下圖所示:</p><p>  圖 3.1 AX7000系統(tǒng)結構圖</p>&

94、lt;p>  如圖3.1所示,AX7000功能模塊主要有以下模塊,</p><p>  硬件模塊;硬件主要是指Marvell高速ASIC轉發(fā)芯片和多核并行CPU。</p><p>  操作系統(tǒng);使用Linux2.6內核。</p><p>  芯片驅動模塊;使芯片在Linux系統(tǒng)上可正常運轉。</p><p>  接口管理;管理Marve

95、ll高層驅動SDK,控制交換芯片,給用戶交互的命令行,給應用層的協(xié)議提供接口函數(shù)。</p><p>  應用層;主要分為無線網(wǎng)絡的協(xié)議和有線網(wǎng)絡的橋協(xié)議和路由協(xié)議以及配置命令行。這些協(xié)議維持自己的狀態(tài)機,處理分流給自己的報文,命令行模塊則提供給用戶對交換機進行配置的功能。</p><p>  針對AX7000的設計,對這些功能模塊的抽象可以很好理解網(wǎng)絡報文在AX7000中的處理流程。當報文

96、通過硬件接口進入交換機,首先它被存儲在交換芯片的存儲單元中,然后報文根據(jù)硬件芯片中的表項,進行轉發(fā)。如果是可以二層轉發(fā),則直接被交換芯片轉發(fā)出去,這個報文的處理流程結束。如果報文要進行IP轉發(fā),則報文根據(jù)自己的目的IP在路由表中查找,如果找到本身對應的路由表項,則根據(jù)路由的下一條轉發(fā),報文到此處理結束。如果報文是特殊報文比如是CAPWAP或RIP或其他特殊報文,則報文通過接口管理模塊分流到相應的應用協(xié)議處理,報文到此處理結束。當交換機處

97、于不同的網(wǎng)絡中時,給交換機配置VLAN、IP、QoS等等其他功能,則通過命令行功能來實現(xiàn),而這些的設置最終都通過接口管理提供的函數(shù),設置到硬件的相應寄存器中。</p><p>  3.2.2 物理體系結構模塊</p><p>  AX7000交換機CPU采用Cavium network 公司的CN38XX,這是一款多MIPS64核、集成多I/O,硬件加速器等功能的網(wǎng)絡處理器。該處理器特點如

98、下[25]:</p><p>  單芯片多核:最多16 MIPS64 cores/芯片。</p><p>  集成高性能網(wǎng)絡接口:最大4×10/100/1000 ethernet MACs(RGMII) 或者SPI4.2接口。</p><p>  集成64bit 133M PCI/PCI-X接口。</p><p>  數(shù)據(jù)加控制雙平

99、面支持。</p><p>  最多可處理30milion 個包每秒。</p><p><b>  硬件包處理。</b></p><p>  硬件工作隊列,調度,排序和同步。</p><p>  硬件TCP加速器,包括校驗和和計數(shù)器。</p><p>  高帶寬的L2 catch。</p>

100、;<p>  充分連貫的內存系統(tǒng)。</p><p>  72/144bit DDR2 DRAM接口,最大800MHz。</p><p>  AX7000高速ASIC芯片采用Marvell公司的DX家族的275和804兩塊芯片。此類芯片為用戶提供1G加密吞吐率和最多24GE/4SPF/2*10GE個端口,適用于部署中型企業(yè)。除普通的交換管理功能外,該處芯片有特點如下:</

101、p><p>  無阻塞,全線速性能;</p><p>  最優(yōu)的MAC地址配置空間;</p><p>  通過PCI或MII/RGMII管理;</p><p>  先進的QoS,提供4到8個優(yōu)先級隊列;</p><p>  PCL實現(xiàn)QoS和安全管理;</p><p>  動態(tài)管理片上存儲單元。&l

102、t;/p><p>  AX7000內存采用2-4G DDR667,使用冗余電源,支持業(yè)務板、風扇熱插拔。AX7000的硬件架構圖[26]如下:</p><p>  圖 3.2 AX7000硬件架構圖</p><p>  如上圖所顯示,AX7000的兩塊交換芯片引出了四個插槽。芯片作為CPU的外設,以兩種方式連到CPU,一種是直接掛到PCI總線上,一種是通過MV82210

103、芯片用SPI通道相連。CPU的板載網(wǎng)卡也提供4*GE/SPF口,這些口是通過CPU來進行轉發(fā),轉發(fā)主要是通過Linux內核提供的Linux TCP/IP協(xié)議棧來進行轉發(fā)。這樣就可以把CPU模塊抽象為一個高速的與804、275級聯(lián)的第三塊交換芯片來看待,相應的通過一些特定的虛擬技術對CPU模塊做一些性能的軟件支持,就可以為整個系統(tǒng)提供統(tǒng)一的操作,而不是同一個系統(tǒng)上跑兩套用戶交互命令結構。這就是接口管理所要做的的一部分工作。</p&g

104、t;<p>  最終AX7000所成型的產品如下圖形所示。</p><p>  圖 3.3 AX7000實圖</p><p>  AX7000有線無線一體化交換機具有的特點:</p><p>  高度集成的有線無線一體化設計;</p><p>  靈活,強大的混合組網(wǎng)能力;</p><p>  集中式WL

105、AN交換和智能RF管理;</p><p>  Triple-play(數(shù)據(jù)/音頻/視頻)實時支持;</p><p>  高達88G的數(shù)據(jù)交換。</p><p>  AX7000的各個物理硬件模塊從底層對以上的特點進行了有力的支撐。而另一方面的主要支撐就是基于這些硬件的軟件結構,接口管理就是這個架構中的核心。因此接口的定義、組織以及提供的操作函數(shù)都是這個軟件設計中的重

106、中之重。</p><p>  第四章 接口管理需求分析</p><p>  接口管理是交換機的核心軟件模塊。接口管理涉及到底層驅動和上層對用戶交互的作用,同時要對TCP/IP各層的功能協(xié)議的控制提供接口。接口管理在交換機軟件中與其他模塊有很強的聯(lián)系,所以對于接口管理的設計需要很好的包容性和穩(wěn)定性。</p><p>  4.1 接口管理概念</p>&l

107、t;p>  接口模型體現(xiàn)了在許多工程設計中都具有的結構化思想。接口管理即對接口的管理,它包括了接口的定義,接口的組織,接口的操作等等。如第一章中所述接口管理從總體上說,其內容涵蓋了系統(tǒng)中所有底層硬件驅動、上層應用,是軟件層面上對系統(tǒng)的Port、VLAN兩個核心結構體的操作,主要目的是為了高效合理的管理交換機,并且以它為核心進行軟件開發(fā),容易擴展功能,便于版本的移植。因此接口管理邏輯關系復雜,與系統(tǒng)軟硬件功能模塊緊密相關,也是中高端

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論