《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 核心交換機嵌入式重啟裝置研究與設計
核心交換機嵌入式重啟裝置研究與設計
來源:電子技術應用2010年第11期
劉振海
揚州廣播電視大學 邗江分校, 江蘇 揚州225009
摘要: 介紹了SNMP協(xié)議及獲取核心交換機信息的方法,給出了具體的系統(tǒng)設計方案。應用ARM+Linux構成嵌入式系統(tǒng),通過帶外管理方法,實現(xiàn)了在核心交換機死機等異常情況下自動對其進行重啟的功能,大大減輕了網(wǎng)絡管理員的負擔。
中圖分類號: TP393.1
文獻標識碼: A
文章編號: 0258-7998(2010)10-0141-04
Research and design of core switch embedded restart device
LIU Zhen Hai
Hanjiang Branch, Yangzhou Radio and TV University, Yangzhou 225009, China
Abstract: In this paper, the SNMP protocol and the method to obtain information of core switch are introduced in detail, simultaneously a specific system design scheme is proposed. Based on the ARM+Linux, the embedded system is designed. Furthermore, by using out-of-band management methods, the automated restart function of the core switch is achieved when it is in abnormal situations such as system halted, and the burden of network administrators is greatly reduced.
Key words : SNMP protocol; core switch; embedded; restart

    交換機是局域網(wǎng)中用來交換、傳輸數(shù)據(jù)信息的樞紐,其工作狀態(tài)的好壞直接關聯(lián)著局域網(wǎng)網(wǎng)絡的數(shù)據(jù)傳輸穩(wěn)定性。特別是作為整個局域網(wǎng)中心的核心交換機,一旦出現(xiàn)問題,則意味著整個網(wǎng)絡癱瘓。因此,保障核心交換機的穩(wěn)定運行是網(wǎng)絡管理的一項重要工作。
    實踐表明,核心交換機出現(xiàn)硬件故障的概率極少,但交換機在長時間工作過程中,很容易出現(xiàn)一些軟件故障,如死機、緩存溢出、交換機端口“假死”等情況,解決這類問題的簡單方法就是重啟機器。所以重啟交換機是網(wǎng)絡管理員經(jīng)常做的工作。而管理員的辦公地點有時距離交換機很遠,而且很多核心交換機沒有開關,只能通過拔插電源的方法進行重啟,這種方法對機器會造成不良影響。通過超級終端與交換機連接,用命令進行重啟,也不太方便。
    雖然遠程監(jiān)控已很普遍,但遠程監(jiān)控基于網(wǎng)絡和交換機端口,一旦網(wǎng)絡堵塞或交換機死機就無法實現(xiàn)信息的監(jiān)測和控制。而基于SNMP嵌入式重啟裝置可以解決這一問題,它不需人工干預,便可在特殊情況下自動實現(xiàn)對交換機的重啟工作。
1 設計思路
    所設計的嵌入式系統(tǒng)應具備:RJ-45口和RS-232接口,RJ-45口與交換機的一個Ethernet口相連,通過SNMP協(xié)議獲取交換機管理對象庫MIB信息[1],檢測交換機是否正常;RS-232接口與交換機的Console口相連,通過帶外管理方式實現(xiàn)異常情況下對交換機重啟功能。
2 硬件實現(xiàn)
    嵌入式裝置的硬件結構框圖如圖1所示。

2.1微處理器選擇
    傳統(tǒng)的8位/16位微控制器由于速度慢、功耗大,并且實現(xiàn)網(wǎng)絡協(xié)議困難,已越來越不能滿足高速發(fā)展的網(wǎng)絡管理需要,隨著ARM(Advanced RISC Machine)RISC處理器的不斷成熟和嵌入式Linux的不斷完善,ARM+Linux嵌入式解決方案日益流行,因此,本系統(tǒng)微處理器選用ARM920T。ARM920T具有5級指令流水線,采用哈佛結構,具有16/32位RISC體系結構和ARM指令集,處理速度為1.1 MIPS/MHz,內置MMU、獨立的16 KB數(shù)據(jù)Cache、16 KB指令Cache和高速AMBA(Advanced Microcon-troller Bus Architecture)總線接口等功能[2]。
2.2 網(wǎng)卡接口設計
    該系統(tǒng)需要連接交換機以太網(wǎng)端口,通過SNMP協(xié)議獲取交換機管理對象庫MIB信息。系統(tǒng)采用DAVICOM公司的DM9000AEP作為以太網(wǎng)MAC控制器與處理接口。該器件具有10 Mb/s和100 Mb/s的自適應物理層收發(fā)器,支持802.3x全雙工控制流標準,具有4 KB的雙字SRAM,可以減輕CPU的負擔,因此使系統(tǒng)更穩(wěn)定,處理和傳輸數(shù)據(jù)速度更快。RJ-45插座采用HanRun公司的內置網(wǎng)絡變壓器、狀態(tài)顯示燈和電阻網(wǎng)絡的HR911105A,具有信號耦合、電氣隔離、阻抗匹配、抑制干擾等優(yōu)點。
    ARM920T網(wǎng)絡接口設計電路如圖2所示。DM9000AEP芯片的SD0~SD15為16根數(shù)據(jù)線,與ARM920T數(shù)據(jù)線相連;命令選擇引腳CMD為高電平,訪問數(shù)據(jù)端口,CMD為低電平,訪問地址端口;IOR#為讀信號引腳,與ARM920T的讀信號LnOE引腳相連;IOW#為寫信號引腳,與ARM920T的寫信號LnWE引腳相連;CS#為片選信號,與ARM920T的片選信號nGCS3引腳相連;INT為中斷請求信號,高電平有效,與ARM920T的IRQ-LAN相連;發(fā)送端TX+、TX-和接收端RX+、RX-分別連接到HR911105A的發(fā)送端和接收端。

2.3 串口接口設計
    該系統(tǒng)用帶外管理方式對交換機實現(xiàn)重啟操作,需要RS-232接口與交換機Console口相連。ARM920T本身就具有串行通信接口,只需將TTL電平轉化為RS-232電平即可。Sipex公司的SP3232芯片可以實現(xiàn)這一功能,而且SP3232芯片所需的供電電壓低,適合嵌入式系統(tǒng)應用,其外圍電路連接簡單,僅需幾個0.1 μF的電容即可。串口接口設計如圖3所示。圖3中TXD表示接收數(shù)據(jù),RXD表示發(fā)送數(shù)據(jù),RTS表示請求發(fā)送,CTS表示清除發(fā)送。當RTS請求發(fā)送數(shù)據(jù)時,需經(jīng)CTS信號檢測,只有CTS信號允許才能發(fā)送數(shù)據(jù)。

2.4 存儲器設計
 存儲器由SDRAM和Flash構成。SDRAM存儲器用來存放操作系統(tǒng)(從Flash解壓縮拷入)以及存放各類動態(tài)數(shù)據(jù)。設計中系統(tǒng)采用SAMSUNG公司的K4S561632,容量為32 MB。用2片K4S561632實現(xiàn)位擴展,使數(shù)據(jù)總線寬度達到32 bit,總容量達到64 MB,將其地址空間映射在ARM920T的bank6;Flash存儲器有NOR和NAND兩種,用來存放Linux引導加載程序(BootLoader)。NOR Flash的特點是芯片內執(zhí)行(Execute In Place),即程序可直接在Flash閃存內運行,不必把代碼讀到系統(tǒng)RAM中。NOR Flash的傳輸效率很高,在1~4 MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。NAND Flash結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快,應用NAND Flash的困難在于Flash的管理和需要特殊的系統(tǒng)接口。本系統(tǒng)采用Intel公司的NOR Flash 28F640芯片,其容量為8 MB,將其地址空間映射在ARM920T的bank0。
3 軟件實現(xiàn)
3.1操作系統(tǒng)

    ARM芯片獲得了許多實時操作系統(tǒng)供應商的支持,有:Windows CE、Linux、Palm OS、VxWorks、pSOS、 Nucleus等。因Linux源代碼的公開特性,Linux系統(tǒng)的應用越來越廣泛。將Linux應用于ARM芯片,可以采用一些現(xiàn)成的針對ARM芯片的嵌入式Linux系統(tǒng),也可根據(jù)需要自行對Linux內核進行裁剪。本系統(tǒng)采用自行裁剪的方法,使用make menuconfig命令對Linux內核進行配置,整個配置以維持系統(tǒng)運行的最小化為原則。需要注意的是內核應支持proc、ext2文件系統(tǒng)、UNIX domain sockets、TCP/IP networking、UART等選項,以保證系統(tǒng)能實現(xiàn)RJ-45口和RS-232接口對外通信。實現(xiàn)這些功能的內核靜態(tài)壓縮映像大約為500 KB[3]。為了實現(xiàn)系統(tǒng)功能,還需編寫相應的網(wǎng)絡接口和串口驅動程序,建立根文件系統(tǒng)。
3.2 引導加載程序
    操作系統(tǒng)的啟動離不開引導程序,Linux引導加載程序(BootLoader)由NOR Flash的地址0x0處開始執(zhí)行,完成存儲設備初始化、堆棧初始化、用戶環(huán)境初始化等,最終BootLoader把操作系統(tǒng)內核映像加載到RAM中。本系統(tǒng)引導加載程序采用ARM-BOOT修改而成。
3.3主程序
    主程序每次在設備開機后自動運行,在交換機上先配置一個VLAN接口用于與嵌入式設備通信。嵌入式設備的網(wǎng)絡接口IP地址應與交換機的這個VLAN接口IP處于同一網(wǎng)段。為避免與常用私網(wǎng)地址沖突,可以將VLAN接口IP設為192.168.255.1,將嵌入式設備的網(wǎng)絡接口IP地址設為192.168.255.2。定時器時間設為1 min,每隔1 min對交換機發(fā)送1次SNMP報文,獲取交換機狀態(tài)進行分析,如連續(xù)3次(3 min)發(fā)現(xiàn)通信失敗或判定交換機狀態(tài)異常,則對交換機進行重啟。主程序流程圖如圖4所示。

3.4 交換機狀態(tài)監(jiān)測程序
    簡單網(wǎng)絡管理協(xié)議(SNMP)是Internet組織用來管理Internet的網(wǎng)絡協(xié)議,其定義了傳送管理信息的協(xié)議消息格式及管理者和設備代理相互之間進行消息傳送的規(guī)程。在SNMP管理模型中有三個基本組成部分:管理者(Manager),被管代理(Agent)和管理信息庫(MIB)。管理者的管理工作是通過輪詢代理來完成的,管理者可以通過SNMP 操作直接與被管代理通信,獲得即時的設備信息,對網(wǎng)絡設備進行遠程配置管理或者操作,也可以通過對數(shù)據(jù)庫的訪問獲得網(wǎng)絡設備的歷史信息,以決定網(wǎng)絡配置變化等操作。SNMP被管代理是指用于跟蹤監(jiān)測被管理設備狀態(tài)的特殊軟件或硬件,每個代理都擁有自己本地的MIB。MIB信息即被管資源,而網(wǎng)絡管理中的資源是以對象表示的,每個對象表示被管資源的某方面屬性,這些對象形成了MIB庫。MIB是一個樹形結構,SNMP協(xié)議消息通過遍歷MIB樹形目錄中的節(jié)點來訪問網(wǎng)絡中的設備。網(wǎng)絡管理者通過對MIB庫的存取訪問實現(xiàn)配置管理、性能管理、故障管理、安全管理、計費管理等五大管理功能。SNMP提供有三類操作:Get、Set和Trap。Get操作實現(xiàn)對被管理對象所表示的管理信息的讀操作,Set操作實現(xiàn)對被管理對象的管理信息進行寫操作,Trap 操作實現(xiàn)被管理設備向管理工作站報告設備出現(xiàn)的異常事件。
    交換機狀態(tài)異?;蛩罊C的原因主要有:散熱不好致溫度過高;病毒攻擊;交換機背板帶寬過低;負荷過大等。交換機狀態(tài)異常或死機最終表現(xiàn)為:CPU利用率和內存利用率過高、端口丟包率過大、與交換機端口連接不通等。因此,需要對交換機的CPU利用率、內存利用率、端口丟包率等進行監(jiān)測,同時依據(jù)與交換機的SNMP通信是否正常來判斷交換機是否出現(xiàn)異?;蛩罊C。本系統(tǒng)通過SNMP協(xié)議與交換機的SNMP被管代理通信,讀取(Get)相應MIB節(jié)點數(shù)據(jù),獲知CPU利用率、內存利用率、端口丟包率等信息。
    下面以華為3com公司的S7500系列交換機為例,說明本系統(tǒng)需要使用的MIB節(jié)點,如表1所示。

    狀態(tài)監(jiān)測程序的流程圖如圖5所示。

3.5 交換機重啟程序
    遠程監(jiān)控一般是通過網(wǎng)絡經(jīng)交換機以太網(wǎng)口對交換機實行控制,大多數(shù)情況下是可行的,但在交換機死機時,所有端口都不通,無法通過以太網(wǎng)口對交換機發(fā)送命令,對交換機實行帶內管理。對這種特殊情況,帶外管理是唯一可行的方法。
    帶外管理是通過RS232總線與交換機的Console口進行串行通信,給交換機下達命令。一般波特率為9 600 b/s,無流控,每幀包括8位數(shù)據(jù)、1位起始位、1位停止位共計10 bit,無奇偶校驗位。
    需要注意的是,不同交換機要實現(xiàn)重啟,發(fā)送的指令字符可能不一樣,要根據(jù)具體交換機型號而定。以華為3com公司的S7500系列交換機為例,重啟程序的流程圖如圖6所示。

    本嵌入式系統(tǒng)實現(xiàn)了在核心交換機死機等特殊情況下自動對其進行重啟的功能,大大減輕了網(wǎng)絡管理員的負擔。將本系統(tǒng)進行擴展,可以根據(jù)需要實現(xiàn)對交換機特定方面的本地監(jiān)測和控制功能。特別是該系統(tǒng)將來可以與核心交換機融為一體,有效增強核心交換設備的智能化和自我修復能力。
參考文獻
[1]  MCCLOGHRIE K, ROSE M. Management information base  for network management of TCP/IP-based internets [DB/OL] [M]. http://www.rfc-editor.org/rfc/rfc1066.txt; August    1988.
[2]  曲鵬,嚴勝剛,李博丞.基于嵌入式Web服務器的智能家居主控制系統(tǒng)[J/OL].http://www.21ic.com/app/embed/200907/45684.htm. 2009-07-30.
[3]  劉振海.基于軟盤的Linux系統(tǒng)的制作[J].微計算機應用,2004,25(6):700-710.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。