• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 无线IP网关的设计与应用

无线IP网关的设计与应用

录入:edatop.com     点击:

3 系统实现

3.1 软件结构

软件开发平台为Windows 95/98,开发软件为Microsoft Visual C++ 6.0。

Windows 95支持多线程运行,一个软件可以创建多个线程同时执行不同的功能。进程间的运行是互相独立的,有各自的堆栈。网关功能模块和串口通信模块是同时运行的。需要设计成两个单独的线程。考虑到串口通信模块中数据的收发也是同时进行的,因此将串口通信模块设计成收发两个进程。

根据上述设计思想,软件的整体框图如图4所示。

3.2 模块设计

3.2.1 认证模块设计

开机后首先进行连接认证。在实施认证时,网关软件以client和server的方式运行,每个半网关均工作于Client/Server 模式,即都包含client和server实体,任何一方都可以请求建立连接。当请求超时,请求方将退出请求等待状态,待对方请求时再建立通信连接。在认证通过前不启动软件的网关功能,认证通过后开放网关功能。

软件提供加密函数的接口,对本地输入的用户名和口令加密后传送。接收端提供认证函数的接口,返回认证结果。

3.2.2 数据帧的监听和发送

网关软件运行后,用户通过菜单命令启动网络监听线程。网络监听线程负责接收和发送数据报。网络监听线程首先从外部读入初始化信息,包括本机IP地址、NDIS序号、网络ARP表、路由表。然后装载VxD程序,并进行初始化,完成监听的准备工作。接下来线程开始循环访问网络接收缓冲区和串口缓冲区,对其中的IP数据报进行分析、转发。

对于从网络接收缓冲区得到的数据报,网络监听线程首先对其目的IP地址进行分析,判断该数据分组是否需要转发。对于需要转发的,网关计算机给它加上相应的数据链路的头信息,并进行码字透明处理后存入串口发送缓冲区;对于不需要转发的数据报不予处理。这样的处理主要是为局域网中可能存在多个网关而设计的。

对于从串口接收缓冲区得到的数据报,网络监听线程首先提取该数据报的目的IP地址,通过该IP地址查询ARP表得到目的主机的MAC地址。线程在该数据报前加上MAC帧头,通过调用VxD接口函数发送该数据报。

3.2.3 串口通信模块设计

串口通信部分为上层网关功能模块提供透明传输。实验规定的串口通信速率很低(4800bps),当局域网的数据流量增大时,将成为整个通信的瓶颈。因此,对这部分软件的主要要求是在保证通信误码率低的基础上达到高效。串口通信包括发送和接收两部分,以全双工的方式工作。这样可以保证串口的工作效率。采用线程的工作方式也便于和整个软件其他模块的协调运行(如与上层网关功能模块之间)。

(1)数据发送模块

IP数据报的发送通过一个独立的线程来进行。由于串口通过无线链路连接,采用短波通信,误码率较高,因此要求一定的传输协议来保证数据的可靠传输。实际实施时,采用奇校验和停止等待协议来保证串口数据的可靠传输。每一个字节的传输都采用奇校验方式。在发送一个IP数据包采用停止等待协议。每次发送数据时,先查询是否有确认或出错帧要发送,如果有,则发送确认或出错帧。如果没有,则查询数据缓冲区是否有IP包要发送。如果有,则从数据缓冲区中取出一个包,附上帧头和数据起始标志进行发送。发送完数据后,等待对方返回确认。如果对方在规定时间内没有返回确认则重新发送刚才的数据。在等待期间不发送新的数据,但是如果本地接收数据后需要发送确认消息给对方,则尽快发送。

在本软件中,两个半网关用于连接两个局域网。对串口通信的要求是双向高速。两个半网关可能同时有大量数据要传送。当使用停止等待协议时,停止等待协议的等待时间应为对方发送最大一个数据包所需要的时间。根据实验得知,在以太网上,最大数据包长度为1500字节,因此,等待时间应为:1500×2×8/4800=5s。这个时间是最大等待时间。在实验中,得到平均等待时间为853ms。因此,在软件中设置等待时间为1s。

(2)数据接收模块

接收模块由消息响应函数完成。先搜索报文头,对报文头进行处理。再判断接收帧的类型,作出相应处理。接收完后,查询数据接收错误标志,如果有错误发生,则丢弃该数据包;反之,将该数据包存入缓冲区。

4 系统测试与应用前景

WWW是目前Internet网上的主要服务,它是基于TCP/IP的典型应用。以这项服务对所开发的网关软件进

行了测试。实验表明,网关软件原理正确。

由于采用了串口通信技术,该成果可经简单改装,用在基于modem的网络互连等多方面,如在监控系统的

各级之间、公司总部与分公司、办事处之间实现廉价的LAN互联。

作者:郝代春 胡修林 张蕴玉 来源:现代电子技术

上一篇:一种高效新型WCDMA直放站PA方案的设计与实现
下一篇:VLAN链路数据包的转发过程

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图