“近年随着光纤技术的飞速发展.光纤的应用由最初的传像、医疗诊断发展到通信网络上。作为新一代的传输介质.光纤光缆与铜质介质相比.无论是在安全性、可靠性.还足抗十扰性方面都有了很大的提高.具有抗电磁干扰性好、保密性强、速度快、传输容量大等优点。
”作者:梁海军,赵建,陈陆艳
引言
近年随着光纤技术的飞速发展.光纤的应用由最初的传像、医疗诊断发展到通信网络上。作为新一代的传输介质.光纤光缆与铜质介质相比.无论是在安全性、可靠性.还足抗十扰性方面都有了很大的提高.具有抗电磁干扰性好、保密性强、速度快、传输容量大等优点。
作为网络通讯的首要问题——安全.在光纤网络通讯中也同样重要。本文根据实际情况,设计一种光纤旁路保护器.当异常情况发牛时.旁路保护器在硬件上断开光通路.使光通路绕过防火墙直接接入互联网:待异常解除后,保护器自动将防火墙串联入光路.从而保证整个网络安全通畅。
1 总体设计
本设计的主要目的是利用MSP430单片机丰富的内部资源,配合以太网控制芯片CS8900和精密的光学元件.设计出一种性价较高的光纤旁路保护器。该旁路保护器与防火墙设备配合使用能实现光纤网络安全的完美保护。
旁路保护器硬件上采用MSP430F149为主处理器.通过以太网接口与防火墙进行通讯.通过RS-232接El管理参数。当旁路器在设置的故障时间内未收到防火墙发来的心跳信号时.旁路器便控制微机械光开关切换光路.使光通路绕过防火墙直接接入网络:在收到心跳信号时.旁路器将防火墙接人光路。为了确保旁路保护器安全.设计上采用硬件与软件结合进行参数设置.即需要设置参数时,须按下设置开关并同时重新启动旁路器。整个系统硬件框图如图1所示。
图1 硬件连接图
2 硬件电路设计
2.1 单片机电路设计
考虑到旁路器仅接收防火墙发来的心跳信号和一些读取参数命令.对传输数据吞吐量要求不高,而对响应实时性要求较高.本设计选用TI公司的16位超低功耗单片机MSP430F149作为主处理器。该单片机支持2.7~3.6V电压工作,时钟频率可达8MHz,内部集成60K flash、2K RAM、3组16位定时器、8通道12位AD、丰富的时钟源、JTAG调试模块、6组8位的通用IO端口、2路UART等资源。此单片机硬件设计简单.开发成本低.开发周期短。限于篇幅.此处不再列出具体的硬件电路图。在具体连接上,使用P1.0-P1.5控制两路2x2光开关,P1.6和P1.7控制指尔当前光纤通路状态的指示灯.P4.0~P4.7与CS8900的8位数据总线连接.P5.0~P5.3与CS8900的地址总线低4位相连。P5.4 P5.5 P5.6分别与CS8900的IOW IORRST连接。
2.2 以太网控制芯片电路设计
图2 CS8900A与MCU连接图
2.3 光路切换电路设计
设计中使用微机械光开关从物理I:切换光路.光开关选用桂林光隆公司的SUN-FSW型2x2B多模微机械光开关。此光开关支持两路光路同时切换.3.3V电平驱动.可以很方便的与MSP430连接,实现光路切换功能。同时,此光开关具有损耗小,切换寿命长达1000万次,切换时间小于8ms等特点。
参考光开关说明书知.光开关有Bar和Cross两种状态。在Bar状态下,其电驱动输入引脚1、5、6和10必须悬空(即高阻状态);在Cross状态下,电驱动输入引脚1接高电平,引脚1O接地,引脚5和6悬空。光开关驱动引脚接入同定电平时驱动能力必须大于25mA.考虑到MCU的I/0口驱动能力不够.在设计时使用2片74HC573来驱动2片2x2B光开关。为了提高驱动能力,分别将每片74HC573的4个输入引脚和输出引脚并联.实现一片573控制一片光开关.通过控制573的输出使能信号来实现光开关的电驱动引脚的悬空和接入固定电平功能.实际调试表明,这种控制方法简单。效果相当好。限于篇幅.此处不再列出具体硬件电路图。
2.4 Rs-232接口设计
出于安全性考虑,旁路器只能使用串口在XP系统的超级终端下设置参数。用MCU内集成的串口1配合美信公司的电平转换芯片MAX3232完成RS-232接口设计。
3 软件实现
软件设计采用模块化设计思想.整个系统的软件主要由TCP/IP模块、协议加密处理模块、光开关控制模块和参数设置菜单模块构成。整个系统软件流程图如图3所示。
图3 系统软件流程图
3.1 TCP/IP协议栈实现
考虑到旁路器对信息响应的实时性要求较高,而数据的合法件交由具体数据协议保证,本文对TCP/IP协议进行裁减.仅利用其中的UDP(用户数据报协议)、IP(网络报文协议)、ARP(地址解析协议)及简单的应用层协议.实现了单片机的网络互连,提高了数据传输的速度和效率。协议中需要的IP地址、默认网关、子网掩码、目的IP、端口号等信息保存在单片机的IN F0 A段Flash存储器中。协议中.在接收到数据包时,按协议层次关系由上至下解析协议报头:发送数据包时.则按照协议自下而上添加报头。图4的流程网显示了利用协议栈处理接收数据帧的整个过程.发送则是相反过程。
图4 TCP/IP协议栈处理接收数据流程
本设计仅仅使用了UDP服务.通过协议栈的UDP数据交由数据解密模块解析命令.对IP数据不作任何处理。如果接收的数据是ARP数据包.则程序转入ARP处理程序处理ARP数据包。
3.2 协议加密及命令处理
考虑到通讯的安全性.本文采用密钥长度可变的RC4流密码加密算法。RC4算法的原理和计算简单.仅包括初始化算法和伪随机子密码生成算法两大部分.很适合在MCU中实现。此外,RE4算法的解密也相当简单,只需对加密后的数据再进行一次加密便得到加密前的原始数据。
除去TCP/IP的包头和包尾信息,实际通讯中的命令长度为8字节.每个字节均通过RC4加密算法加密发送至对方。具体含义如表1所示。
表1 通讯数据格式
帧头:表明此帧数据的有效性
命令:表明此帧命令的类型
数据:有效数据的内容,此5字节的数据仅对旁路器向防火墙发送的数据有效
图5 命令处理软件流程图
图5显示了其命令处理的软件流程图,其中读取信息命令包含读取设置的时间间隔信息和读取设置的8个目的IP信息,读取目的IP时,每次只读取一个目的IP。
4 数据测试
经过测试,系统的响应时问数据如表2所示。
表2 响应时间数据
测试过程中MCU的时钟频率为8MHz.光路动作时间是指在光路绕过防火墙情况下.从防火墙发送心跳信号到光路切换完成所需要的时间。参考光开关手册,光开关切换需要8ms,而系统测试得到的时间为15ms,分析其原因,主要是因为TCP/IP协议栈处理需要7ms。
5 结论
经以上分析测试,本旁路器具有响应快、成本低、运行稳定、功耗低等特点,具有很好的适用价值和推广价值。目前该旁路器已产品化,逐步推向市场。
本文创新点:硬件上充分利用MSP430单片机高集成、低功耗的优势,电路板设计仅为两层板,大大节省了系统硬件成本;软件上根据实际需要裁减TCP/IP协议。仅使用其UDP服务,并将其嵌入至单片机中,减小了软件开销,提高了响应实时性。
分享到:
猜你喜欢