为了不使整个网络瘫痪,维护交换机是非常重要的事情。
实践表明,交换机在长时间工作过程中,很容易出现一些软件故障,如死机、缓存溢出、交换机端口“假死”等情况,解决这类问题的简单方法就是重启机器。所以重启交换机是网络管理员经常做的工作。但是这是一件非常麻烦的事情。
现在,基于SNMP的嵌入式重启装置可以解决这一问题,它不需人工干预,便可在特殊情况下自动实现对交换机的重启工作。
1 设计思路
所设计的嵌入式系统应具备:RJ-45口和RS-232接口,RJ-45口与交换机的一个Ethernet口相连,通过SNMP协议获取交换机管理对象库MIB信息[1],检测交换机是否正常;RS-232接口与交换机的Console口相连,通过带外管理方式实现异常情况下对交换机重启功能。
2 硬件实现
嵌入式装置的硬件结构框图如图1所示。
2.1微处理器选择
传统的8位/16位微控制器由于速度慢、功耗大,并且实现网络协议困难,已越来越不能满足高速发展的网络管理需要,随着ARMRISC处理器的不断成熟和嵌入式Linux的不断完善,ARM+Linux嵌入式解决方案日益流行,因此,本系统微处理器选用ARM920T。ARM920T具有5级指令流水线,采用哈佛结构,具有16/32位RISC体系结构和ARM指令集,处理速度为1.1 MIPS/MHz,内置MMU、独立的16 KB数据Cache、16 KB指令Cache和高速AMBA总线接口等功能。
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存储器用来存放操作系统以及存放各类动态数据。设计中系统采用SAMSUNG公司的K4S561632,容量为32 MB。用2片K4S561632实现位扩展,使数据总线宽度达到32 bit,总容量达到64 MB,将其地址空间映射在ARM920T的bank6;Flash存储器有NOR和NAND两种,用来存放Linux引导加载程序。NOR Flash的特点是芯片内执行,即程序可直接在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引导加载程序由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管理模型中有三个基本组成部分:管理者,被管代和管理信息库(MIB)。管理者的管理工作是通过轮询代理来完成的,管理者可以通过SNMP 操作直接与被管代理通信,获得即时的设备信息,对网络设备进行远程配置管理或者操作,也可以通过对数据库的访问获得网络设备的历史信息,以决定网络配置变化等操作。SNMP被管代理是指用于跟踪监测被管理设备状态的特殊软件或硬件,每个代理都拥有自己本地的MIB。MIB信息即被管资源,而网络管理中的资源是以对象表示的,每个对象表示被管资源的某方面属性,这些对象形成了MIB库。MIB是一个树形结构,SNMP协议消息通过遍历MIB树形目录中的节点来访问网络中的设备。网络管理者通过对MIB库的存取访问实现配置管理、性能管理、故障管理、安全管理、计费管理等五大管理功能。SNMP提供有三类操作:Get、Set和Trap。Get操作实现对被管理对象所表示的管理信息的读操作,Set操作实现对被管理对象的管理信息进行写操作,Trap 操作实现被管理设备向管理工作站设备出现的异常事件。
交换机状态异常或死机的原因主要有:散热不好致温度过高;病毒攻击;交换机背板带宽过低;负荷过大等。交换机状态异常或死机终表现为:CPU利用率和内存利用率过高、端口丢包率过大、与交换机端口连接不通等。因此,需要对交换机的CPU利用率、内存利用率、端口丢包率等进行监测,同时依据与交换机的SNMP通信是否正常来判断交换机是否出现异常或死机。本系统通过SNMP协议与交换机的SNMP被管代理通信,读取相应MIB节点数据,获知CPU利用率、内存利用率、端口丢包率等信息。
下面以华为3com公司的S7500系列交换机为例,说明本系统需要使用的MIB节点,如表1所示。
状态监测程序的流程图如图5所示。
3.5 交换机重启程序
远程监控一般是通过网络经交换机以太网口对交换机实行控制,大多数情况下是可行的,但在交换机死机时,所有端口都不通,无法通过以太网口对交换机发送命令,对交换机实行带内管理。对这种特殊情况,带外管理是可行的方法。
带外管理是通过RS232总线与交换机的Console口进行串行通信,给交换机下达命令。一般波特率为9 600 b/s,无流控,每帧包括8位数据、1位起始位、1位停止位共计10 bit,无奇偶校验位。
需要注意的是,不同交换机要实现重启,发送的指令字符可能不一样,要根据具体交换机型号而定。以华为3com公司的S7500系列交换机为例,重启程序的流程图如图6所示。
本嵌入式系统大大减轻了网络管理员的负担。将本系统进行扩展,可以根据需要实现对交换机特定方面的本地监测和控制功能。特别是该系统将来可以与交换机融为一体,有效增强交换设备的智能化和自我修复能力。
交换机简介:
交换机并不是交换机的一种类型,而是放为层(网络主干部分称)的交换机叫交换机。
多少台电脑要用上交换机
基本在50台以下无需用交换机。有个路由器即可。所谓的交换机是针对网络架构而言,如果是个几台电脑的小局域网,一个8口的小交换机就可以称之为交换机! 而在网络行业中交换机是指有网管功能,吞吐量强大的2层或者3层交换机,一个超过100台电脑的网络,如果想稳定并高速的运行,交换机必不可少。
交换机与普通交换机
通常将网络中直接面向用户连接或访问网络的部分称为接入层,将位于接入层和层之间的部分称为分布层或汇聚层,接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性;汇聚层交换层是多台接入层交换机的汇聚点,它必须能够处理来自接入层设备的所有通信量,并提供到层的上行链路,因此汇聚层交换机与接入层交换机比较,需要更高的性能,更少的接口和更高的交换速率。而将网络主干部分称为层,层的主要目的在于通过高速转发通信,提供优化,可靠的骨干传输结构,因此层交换机应拥有更高的可靠性,性能和吞吐量。
如何选择交换机:
交换机采用模块化结构,以适应复杂的网络环境和网络应用,超大容量的背板带宽和线速的转发速率可以有效地保证数据的无阻塞传输。它具有强大的网络管理功能,可以实现VLAN间的通信、优先级队列服务和网络安全控制。同时,交换机的硬件冗余和软件的可伸缩性,也保证了网络的可靠运行。选择交换机应当遵循的基本原则如下:
1、模块化结构
模块化交换机也称背板式交换机或机箱式交换机,虽然在价格上要贵很多,但拥有更大的灵活性和可扩充性,用户可任意选择不同数量、不同速率和不同接口类型的模块,以适应千变万化的网络需求。net.itkeys.cn提示模块化交换机大都有很强的容错能力,支持交换模块的冗余备份,并且往往拥有可热插拔的双电源,以保证交换机的电力供应。因此,作为网络中枢的交换机,必须采用模块。 ITKeys.cn 讲出困惑 分享经验
2、三层交换机
第三层交换机具有路由功能,将IP地址信息用于网络路径选择,并实现不同网段间数据的线速交换。当网络规模足够大,不得不划分VLAN以减小广播所造成的影响时,只有借助第三层交换机才能实现VLAN间的线速路由。另外,借助第三层交换机还可以设置访问列表,限制VLAN间的访问,保障敏感部门的安全。因此,作为交换机,必须选用第三层交换机。 ITKeys.cn 讲出困惑 分享经验
3、企业需求
虽然高性能的中心交换机比比皆是,但并不意味着必须购买的设备,而应当购买自己所需要的设备。那么,哪些设备是我们需要的呢?应该选择那些能够满足网络应用需要的,除此之外,太高的性能和太大的扩展能力都将可惜地被闲置。除了满足现有需求外,还应当在技术、性能和扩展性等方面适当超前,以适应未来的发展。通常情况下,中心交换机的扩展能力和性能应当略大于未来几年内网络应用和扩展的要求。
4、可靠性
对于中心交换机而言,对稳定的要求高过对性能的要求。原因很简单,如果网络性能一般,但可提供安全、稳定的服务,那么网络运行就是正常的,用户也会觉得是值得信赖的。尽管网络带宽很高、性能非常强劲、服务访问特别舒服,但是经常发生故障,导致服务器无法访问、Internet无法共享,那么无论是谁都会对此失去信心。当在网络上运行重要的应用时,网络瘫痪还将导致正常业务的中断和重要数据的丢失。
5、性价比
现在中心交换机产品中,美国产品以其性能强劲、运行稳定、功能丰富而着称,只是价格过于昂贵。我国国产产品虽然在一些参数上略逊一筹,但是拥有的价格优势,具有中文管理界面,方便日常管理。所以如果局域网组建时偏重于性能,建议选择Cisco等产品,若注重价格,则建议选择以华为为代表的国产产品。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。