交換機是局域網中用來交換、傳輸數據信息的樞紐,其工作狀態的好壞直接關聯著局域網網絡的數據傳輸穩定性。特別是作為整個局域網中心的核心交換機,一旦出現問題,則意味著整個網絡癱瘓。因此,保障核心交換機的穩定運行是網絡管理的一項重要工作。
實踐表明,核心交換機出現硬件故障的概率極少,但交換機在長時間工作過程中,很容易出現一些軟件故障,如死機、緩存溢出、交換機端口“假死”等情況,解決這類問題的簡單方法就是重啟機器。所以重啟交換機是網絡管理員經常做的工作。而管理員的辦公地點有時距離交換機很遠,而且很多核心交換機沒有開關,只能通過拔插電源的方法進行重啟,這種方法對機器會造成不良影響。通過超級終端與交換機連接,用命令進行重啟,也不太方便。
雖然遠程監控已很普遍,但遠程監控基于網絡和交換機端口,一旦網絡堵塞或交換機死機就無法實現信息的監測和控制。而基于SNMP的嵌入式重啟裝置可以解決這一問題,它不需人工干預,便可在特殊情況下自動實現對交換機的重啟工作。
1 、設計思路
所設計的嵌入式系統應具備:RJ-45口和RS-232接口,RJ-45口與交換機的一個Ethernet口相連,通過SNMP協議獲取交換機管理對象庫MIB信息,檢測交換機是否正常;RS-232接口與交換機的Console口相連,通過帶外管理方式實現異常情況下對交換機重啟功能。
2 、硬件實現
嵌入式裝置的硬件結構框圖如圖1所示。
2.1微處理器選擇
傳統的8位/16位微控制器由于速度慢、功耗大,并且實現網絡協議困難,已越來越不能滿足高速發展的網絡管理需要,隨著ARM(Advanced RISC Machine)RISC處理器的不斷成熟和嵌入式Linux的不斷完善,ARM+Linux嵌入式解決方案日益流行,因此,本系統微處理器選用ARM920T。ARM920T具有5級指令流水線,采用哈佛結構,具有16/32位RISC體系結構和ARM指令集,處理速度為1.1 MIPS/MHz,內置MMU、獨立的16 KB數據Cache、16 KB指令Cache和高速AMBA(Advanced Microcon-troller Bus Architecture)總線接口等功能。
2.2 網卡接口設計
該系統需要連接交換機以太網端口,通過SNMP協議獲取交換機管理對象庫MIB信息。系統采用DAVICOM公司的DM9000AEP作為以太網MAC控制器與處理接口。該器件具有10 Mb/s和100 Mb/s的自適應物理層收發器,支持802.3x全雙工控制流標準,具有4 KB的雙字SRAM,可以減輕CPU的負擔,因此使系統更穩定,處理和傳輸數據速度更快。RJ-45插座采用HanRun公司的內置網絡變壓器、狀態顯示燈和電阻網絡的HR911105A,具有信號耦合、電氣隔離、阻抗匹配、抑制干擾等優點。
ARM920T網絡接口設計電路如圖2所示。DM9000AEP芯片的SD0~SD15為16根數據線,與ARM920T數據線相連;命令選擇引腳CMD為高電平,訪問數據端口,CMD為低電平,訪問地址端口;IOR#為讀信號引腳,與ARM920T的讀信號LnOE引腳相連;IOW#為寫信號引腳,與ARM920T的寫信號LnWE引腳相連;CS#為片選信號,與ARM920T的片選信號nGCS3引腳相連;INT為中斷請求信號,高電平有效,與ARM920T的IRQ-LAN相連;發送端TX+、TX-和接收端RX+、RX-分別連接到HR911105A的發送端和接收端。
2.3 串口接口設計
該系統用帶外管理方式對交換機實現重啟操作,需要RS-232接口與交換機Console口相連。ARM920T本身就具有串行通信接口,只需將TTL電平轉化為RS-232電平即可。Sipex公司的SP3232芯片可以實現這一功能,而且SP3232芯片所需的供電電壓低,適合嵌入式系統應用,其外圍電路連接簡單,僅需幾個0.1 μF的電容即可。串口接口設計如圖3所示。圖3中TXD表示接收數據,RXD表示發送數據,RTS表示請求發送,CTS表示清除發送。當RTS請求發送數據時,需經CTS信號檢測,只有CTS信號允許才能發送數據。
2.4 存儲器設計
存儲器由SDRAM和Flash構成。SDRAM存儲器用來存放操作系統(從Flash解壓縮拷入)以及存放各類動態數據。設計中系統采用SAMSUNG公司的K4S561632,容量為32 MB。用2片K4S561632實現位擴展,使數據總線寬度達到32 bit,總容量達到64 MB,將其地址空間映射在ARM920T的bank6;Flash存儲器有NOR和NAND兩種,用來存放Linux引導加載程序(BootLoader)。NOR Flash的特點是芯片內執行(Execute In Place),即程序可直接在Flash閃存內運行,不必把代碼讀到系統RAM中。NOR Flash的傳輸效率很高,在1~4 MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響了它的性能。NAND Flash結構能提供極高的單元密度,可以達到高存儲密度,并且寫入和擦除的速度也很快,應用NAND Flash的困難在于Flash的管理和需要特殊的系統接口。本系統采用Intel公司的NOR Flash 28F640芯片,其容量為8 MB,將其地址空間映射在ARM920T的bank0。
3、 軟件實現
3.1操作系統
ARM芯片獲得了許多實時操作系統供應商的支持,有:Windows CE、Linux、Palm OS、VxWorks、pSOS、 Nucleus等。因Linux源代碼的公開特性,Linux系統的應用越來越廣泛。將Linux應用于ARM芯片,可以采用一些現成的針對ARM芯片的嵌入式Linux系統,也可根據需要自行對Linux內核進行裁剪。本系統采用自行裁剪的方法,使用make menuconfig命令對Linux內核進行配置,整個配置以維持系統運行的最小化為原則。需要注意的是內核應支持proc、ext2文件系統、UNIX domain sockets、TCP/IP networking、UART等選項,以保證系統能實現RJ-45口和RS-232接口對外通信。實現這些功能的內核靜態壓縮映像大約為500 KB[3]。為了實現系統功能,還需編寫相應的網絡接口和串口驅動程序,建立根文件系統。
3.2 引導加載程序
操作系統的啟動離不開引導程序,Linux引導加載程序(BootLoader)由NOR Flash的地址0x0處開始執行,完成存儲設備初始化、堆棧初始化、用戶環境初始化等,最終BootLoader把操作系統內核映像加載到RAM中。本系統引導加載程序采用ARM-BOOT修改而成。
3.3主程序
主程序每次在設備開機后自動運行,在交換機上先配置一個VLAN接口用于與嵌入式設備通信。嵌入式設備的網絡接口IP地址應與交換機的這個VLAN接口IP處于同一網段。為避免與常用私網地址沖突,可以將VLAN接口IP設為192.168.255.1,將嵌入式設備的網絡接口IP地址設為192.168.255.2。定時器時間設為1 min,每隔1 min對交換機發送1次SNMP報文,獲取交換機狀態進行分析,如連續3次(3 min)發現通信失敗或判定交換機狀態異常,則對交換機進行重啟。主程序流程圖如圖4所示。
3.4 交換機狀態監測程序
簡單網絡管理協議(SNMP)是Internet組織用來管理Internet的網絡協議,其定義了傳送管理信息的協議消息格式及管理者和設備代理相互之間進行消息傳送的規程。在SNMP管理模型中有三個基本組成部分:管理者(Manager),被管代理(Agent)和管理信息庫(MIB)。管理者的管理工作是通過輪詢代理來完成的,管理者可以通過SNMP 操作直接與被管代理通信,獲得即時的設備信息,對網絡設備進行遠程配置管理或者操作,也可以通過對數據庫的訪問獲得網絡設備的歷史信息,以決定網絡配置變化等操作。SNMP被管代理是指用于跟蹤監測被管理設備狀態的特殊軟件或硬件,每個代理都擁有自己本地的MIB。MIB信息即被管資源,而網絡管理中的資源是以對象表示的,每個對象表示被管資源的某方面屬性,這些對象形成了MIB庫。MIB是一個樹形結構,SNMP協議消息通過遍歷MIB樹形目錄中的節點來訪問網絡中的設備。網絡管理者通過對MIB庫的存取訪問實現配置管理、性能管理、故障管理、安全管理、計費管理等五大管理功能。SNMP提供有三類操作:Get、Set和Trap。Get操作實現對被管理對象所表示的管理信息的讀操作,Set操作實現對被管理對象的管理信息進行寫操作,Trap 操作實現被管理設備向管理工作站報告設備出現的異常事件。
交換機狀態異常或死機的原因主要有:散熱不好致溫度過高;病毒攻擊;交換機背板帶寬過低;負荷過大等。交換機狀態異常或死機最終表現為:CPU利用率和內存利用率過高、端口丟包率過大、與交換機端口連接不通等。因此,需要對交換機的CPU利用率、內存利用率、端口丟包率等進行監測,同時依據與交換機的SNMP通信是否正常來判斷交換機是否出現異常或死機。本系統通過SNMP協議與交換機的SNMP被管代理通信,讀取(Get)相應MIB節點數據,獲知CPU利用率、內存利用率、端口丟包率等信息。
下面以華為3com公司的S7500系列交換機為例,說明本系統需要使用的MIB節點,如表1所示。
狀態監測程序的流程圖如圖5所示。
3.5 交換機重啟程序
遠程監控一般是通過網絡經交換機以太網口對交換機實行控制,大多數情況下是可行的,但在交換機死機時,所有端口都不通,無法通過以太網口對交換機發送命令,對交換機實行帶內管理。對這種特殊情況,帶外管理是唯一可行的方法。
帶外管理是通過RS232總線與交換機的Console口進行串行通信,給交換機下達命令。一般波特率為9 600 b/s,無流控,每幀包括8位數據、1位起始位、1位停止位共計10 bit,無奇偶校驗位。
需要注意的是,不同交換機要實現重啟,發送的指令字符可能不一樣,要根據具體交換機型號而定。以華為3com公司的S7500系列交換機為例,重啟程序的流程圖如圖6所示。
本嵌入式系統實現了在核心交換機死機等特殊情況下自動對其進行重啟的功能,大大減輕了網絡管理員的負擔。將本系統進行擴展,可以根據需要實現對交換機特定方面的本地監測和控制功能。特別是該系統將來可以與核心交換機融為一體,有效增強核心交換設備的智能化和自我修復能力。
責任編輯:gt
-
處理器
+關注
關注
68文章
19178瀏覽量
229201 -
嵌入式
+關注
關注
5072文章
19026瀏覽量
303532 -
交換機
+關注
關注
21文章
2624瀏覽量
99288
發布評論請先 登錄
相關推薦
評論