徐 翔 徐 皓
(中國船舶重工集團公司第722研究所 武漢 430079)
隨著通信網絡的快速發展,人們對通信的需求由原來的語音變為結合數據、圖像、語音等的綜合通信需求。大規模、高流量的綜合通信業務,對網絡交換技術的要求持續提高,數據交換的設計將直接決定網絡的整體性能。因此設計出高效、穩定的數據交換平臺就顯得尤為重要。
現有基于電路業務的艦船內部通信系統仍然由TDM網絡承載,帶寬窄,信號傳輸速率一般為E1(2.048Mb/s)或E3(34.368Mb/s)。網絡拓撲多為環形結構,如圖1所示。由于網速較低,信號傳輸時延大。而且TDM格式的數據包對時鐘變化范圍有嚴格的要求,失幀的幾率大。由于信號傳輸通道的冗余只有1個,網絡的整體可靠性較低。當網絡中出現一處電纜故障時,網元間可以采用迂回傳輸模式保障通信的正常傳輸;但當出現第二處電纜故障時,通信傳輸將中斷,網元降級使用。
隨著裝備信息化水平的不斷提升,上述艦船內部通信系統多采用的窄帶TDM(Time Division Multiplexing,時分復用)格式環形傳輸網絡已經越來越不適應未來信息化戰爭的需要。網絡技術的飛速發展,使得IP技術的主導地位日益明晰,未來網絡的主體架構必定是IP,也就是說IP將是無所不在的[1]。本文通過對IP交換技術的研究,提出了一種基于IP(Internet Protocol,互聯網協議)格式的寬帶綜合業務傳輸網絡,以滿足日益增長的對綜合通信業務的需求。
基于IP的寬帶綜合業務網絡以IP為技術基礎,網絡拓撲采用網狀結構,如圖2所示。

該網絡系統由IP網絡承載,以 IP交換為依托,帶寬寬,信號傳輸速率高達1Gb/s,信號傳輸時延小。IP格式的數據包對時鐘變化范圍的要求比TDM數據包低,失幀的幾率小。網絡內各個網元間關聯緊密,信號傳輸通路的冗余數量大大增多,中斷傳輸或網元降級使用的幾率極大降低,網絡的整體可靠性極大提高。網元單端口吞吐量高達1Gb,可以流暢的承載各種語音、數據和視頻等綜合寬帶業務。
交換是按照通信兩端傳輸信息的要求,用人工或設備自動完成的方法,動態地把要傳輸的信息送到符合要求的相應路由上的技術的統稱。交換的方式經歷了電路交換、數據交換和IP交換三個主要階段,其間實現了從模擬信號到數字信號,從窄帶到寬帶的跨越[2]。
從傳統意義上講,真正的交換是在第二層(數據鏈路層)實現的,俗稱第二層交換。由于第二層交換技術不處理網絡層的IP地址,不處理高層協議的端口地址,它只需要數據包的物理地址即MAC地址??梢哉f,直接面向用戶的第二層交換已得到了令人滿意的答案。
IP交換也稱為第三層交換,顧名思義,就是在OSI的第三層(網絡層)實現數據的交換。更確切的說,第三層交換就是利用第三層協議中的信息來加強第二層交換功能,在網絡模型的第三層實現了數據包的高速轉發。用一個公式來表示為:
第三層交換=第二層交換+第三層轉發
IP交換技術可以操作在網絡協議的第三層,作為一種路由設備并起到路由作用。它的速度極快,不僅解決了局域網中網段劃分后子網必須以來路由器進行管理的局面,而且解決了由于傳統路由器低速復雜造成的網絡瓶頸問題[3]。
IP交換分為純硬件和純軟件兩種方式。純硬件的IP交換相對來說技術復雜、成本高,但是速度快、性能好、帶負載能力強。其原理是采用ASIC(Application Specific Integrated Circuit,專業集成電路)芯片,用硬件的方式進行路由表的查找和刷新。純軟件的IP交換技術較簡單,但速度較慢,不適合作為主干。其原理是采用CPU用軟件的方式查找路由表[4]。基于上述兩種IP交換的實現方式各有不足,我們提出了基于ASIC硬件芯片與CPU控制交換軟件相結合的方式,實現對第三層表格進行查找和刷新。
具體表現為:當IP數據包由端口接收進來以后,ASIC交換器芯片首先在第二層表格中查找相應的目的MAC地址,如果查到就進行第二層轉發,否則將IP數據包發送至第三層引擎。在第三層引擎中,CPU運行軟件查找相應的第三層表格信息,與IP數據包的目的IP地址比較,然后發送ARP(Address Resolution Protocol,地址解析協議)到目的主機,得到該目的主機的MAC地址,接著將MAC地址發送到第二層引擎,由第二層引擎轉發該IP數據包。
交換平臺為用戶提供交換功能。可以將多個端口的數據連接到一起,完成多端口轉發過來的網絡層數據包格式轉換與轉發。也可同時提供網絡層接入,向網絡提供高帶寬的網絡接口。IP交換平臺功能框圖如圖3所示。

圖3 IP交換平臺功能框圖
硬件設計包含控制模塊、交換模塊和接口模塊設計3個部分。
1)控制模塊:主要負責系統的初始化、配置、管理以及運行上層協議等。采用PowerPC系列通信處理器(CPU)為控制核心,輔以外圍器件,構成PowerPC最小系統,并經PCI橋通過PCI(Peripheral Component Interconnect,外部器件互連)[5]總線實現對交換模塊進行訪問和控制。控制模塊框圖如圖4所示。
IP交換平臺要使用通信處理器來運行路由協議,通信處理器選用MPC866,它是一款性能穩定的CPU[6]。其核心頻率達到133MHz,與133MHz的PCI總線相匹配。
這樣控制模塊中的CPU將只完成控制面的路由功能,而不參與數據面的轉發,使得數據轉發實現了線速(Wire-Speed)。
2)交換模塊:主要負責第二層交換、第三層交換和其他一些功能。使用第三層ASIC芯片為交換器,負責IP數據包的交換,實現IP交換的功能。
交換器選用Broadcom的BCM56224,它集成了24個1GbE,4個1/2.5Gb復用接口,最大吞吐量高達34Gb。同時支持IPv4和IPv6協議;支持硬件處理的第二層交換,第三層路由及數據包的分類和過濾功能,內部集成數據包緩沖內存[7]。系統設計中通常使用CPU通過PCI總線對交換器進行初始化、配置管理和實現第三層交換功能。每個交換器的4個復用接口可以與相鄰的交換器按圖2所示組成網狀拓撲,滿足了組網需要。
3)接口模塊:分為PCI接口、SERDES(Serialization-Deserialization,串行-解串行)接口和SGMII(Gb Media-Independent Interface,千兆介質無關)接口。
(1)PCI接口為控制模塊與交換模塊的信號交互通道,如圖4所示,主要器件為一片PCI橋芯片;

圖4 控制模塊框圖
(2)SERDES接口為1GbE的光接口,可以直接與光模塊SFP連接;
(3)SGMII接口為1GbE的電接口,經PHY(Physics,物理層)芯片連接到銅線。
IP交換平臺的軟件設計包含交換模塊的硬件初始化和軟件啟動過程。交換平臺采用VxWorks操作系統。在PowerPC最小系統完成啟動后,需要通過PCI總線對交換模塊的交換部分進行初始化,主要步驟如下:
?對交換器和CPU的頭模式進行設置;
?根據硬件連接選擇PCI設備的設備號,配置交換器的PCI基地址和窗口大小;
?通過PCI總線使用交換器的CPU管理接口確定交換器的型號,然后根據不同的芯片類型進行初始化和DMA通道的配置;
?掛接交換器的驅動程序和各種API,完成交換器的初始化。
最后兩步需要Broadcom的軟件開發包支持,直接從程序中調用初始化程序,保證完成初始化和加載驅動。
對于PCI驅動部分,我們直接調用VxWorks系統中的標準PCI驅動程序。對于交換器的PCI掛接過程,主要步驟如下:
?在bootROM中用sysHwInit()調用 sysP-ciAutoConfig(),對PCI_SYSTEM結構進行實例化;
?在sysHwInit()中,使用pciConfigOutLong()對交換器的基地址和窗口大小進行配置,然后使用pciConfigOutBite()掛接交換器的中斷到CPU的外部中斷向量表;
?到此,PCI配置完成。通過交換器的 S_Channel可以配置交換器中的各個寄存器和表項。S_Channel的信息傳輸有特殊的格式和規范,一般通過Broadcom提供的軟件開發包(SDK)中自帶的標準函數來配置。
交換器初始化結束后,進入正常的工作模式。依據IP交換的原理設計的交換軟件流程圖如圖5所示。

圖5 交換軟件流程圖
基于IP的艦船通信交換平臺以IP網絡為依托,以IP交換技術為支撐,迎合了未來網絡的發展方向,滿足了未來信息化戰爭條件下對艦船綜合通信業務提出的種種需求。該平臺把IP硬交換與軟交換,第二層交換和第三層轉發的優勢結合為一個有機的整體來完成IP交換,并提出了該平臺的具體實施內容。IP交換技術具有以當前系統1/10的代價獲得傳輸性能于過去10倍的能力,隨著IP交換技術在未來艦船通信系統中的應用,必將使網絡的整體性能得到大幅度的提升。
[1]Mark Weiser.The Computer for the 21st Century[J].Scientific American,1991(9):94~100
[2]謝希仁.計算機網絡[M].北京:電子工業出版社.2003
[3]M etzler J,DeNoia.L.第三層交換[M].盧澤新,周榕,譯.北京:機械工業出版社,2000
[4]溫鈺,等.三層交換技術的原理及應用[J].網絡安全,2007(7):43~46
[5]PCI Special Interest Group.PCI LocalBus Specification Revision 2.1.1995
[6]MPC866 PowerQUICCTM Family Reference Manual[R].Freescale Semiconductor,2004
[7]BCM56220 DataSheet.Broadcom Corporation,2007