新闻  |   论坛  |   博客  |   在线研讨会
基于TCP/IP协议栈的高速数字电台系统
shadowind | 2008-07-26 13:24:48    阅读:617   发布文章

在无线通信日新月异地发展的今天,传统的通信设备也在发生深刻的改变,基于TCP/IP协议栈的高速数字电台系统就是这样一种新型的无线通信设备。本文介绍它的基本物理特性和网络协议族,并分析了新型数字电台系统与路由模块(无线路由器)的接口关系。从电台网络互联的角度出发,重点讨论了无线路由器的协议栈的开发与相关协议的设计,对协议栈的各个层次作了比较详细的分析。最后提出了高速数字电台互联网系统测试方案。

 

 

电台作为传统通信设备,在现代无线通信中仍然是一支不可或缺的力量。高速数字电台是无线通信领域的生力军,它不仅仅是一个无线信道传输设备,更是一个复杂的路由设备,具有强大的互联功能,它可以通过PPP与路由器互联,通过X.25与无线分组网互联,通过IEEE802.3与以太网互联,通过FDDI与光纤数字分布式接口互联,通过ATM协议的AAL层接入ATM网络。上层路由协议采用的BGPV4和OSPFV2动态路由协议,并使用SNMP简单网络管理协议进行网络管理。高速数字电台支持宽带数据业务,可组织成无线数据传输干线网,可以预见高速数字电台将广泛应用于商业、军事、抢险救灾和其它个性化通信中。

 

 

 

高速数字电台系统基本原理

 

 

1. 高速数字电台系统的网络协议栈

 

 

高速数字电台使用现有IPS网络协议族(Internet Protocol Suit)可以实现整个电台网络的互联,其协议栈如图1所示。高速数字电台是以群(cluster)为基础的两层网络拓扑组织结构。系统能自动建立起半自治的多个群首,形成小型的、按地理取向的组群或小区。每个用户群都有一部高速数字电台设备充当群首,用户群成员都在距离群首一个无线电中继段内,也就是说群首与成员之间是一跳(one hop)可达的。群首之间形成了骨干网,群首之间的通信使用OSPF路由协议。群首负责维护本地(组群)的拓扑。本群的拓扑信息不向外传播,其它的群也不会收到。

 

 

为了提高信道访问效率,减少通信中的干扰,电台采用了三个不同的通信频率:f0、f1和f22。其中,f0专门用于信道访问(后面提到的RTS/CTS都在这个频率发送);f1用于群内通信;而f2用于群首之间的通信。在MAC层,采用改进型CSMA/CD算法。发送数据的结点先向接收结点发送请求信号RTS,等待收端响应。收端如果在这时没有接收数据,也没有收到其它结点的发送请求,就向请求结点发送CTS信号。发端收到CTS后就开始发送数据。数据发送完成后,收方要回送ACK信号。整个数据发送过程通常被称为RTS/CTS/DATA/ACK过程。

 

 

另外,高速数字电台还有自己的群首选举协议,在现有群首失效时重新设置群首。成员管理协议对新成员的加入和本地成员的离开都要提供相应的算法。

 

 

 

 

2. 高速数字电台的接口关系

 

 

无线互联网系统由若干通信单元组成,每个通信单元内部通过HUB构成一局域网。各子网通过路由器和控制接口设备接入无线信道,实现各子网的互通。互联网络控制接口设备用于连接路由器与电台模块,实现无线子网内的路由控制与IP报文的转发。宽带数字电台与无线路由的接口关系如图2所示。

 

 

高速数字电台中的网络功能主要由无线路由器来完成,网络的互联与互操作完全依赖于无线路由器。无线路由器与高速数字电台的接口一起组成了路由模块,这是数字电台设计的关键。

 

 

无线路由器的设计原理

 

 

无线路由器的设计主要包括:1. 高速数字电台MAC子层协议与LLC层功能的实现;2. 群内(intra-cluster)拓扑关系的维护;3. 群间(inter-cluster)路由协议(OSPF V2)的实现;4. 群内成员(cluster member)组织与群首选举算法。

 

 

 

 

A. MAC子层与LLC层协议功能的实现

 

 

MAC子层功能包括信道忙闲的检测、信道通信质量检测及接收门限的设置;依据电台检测到的空闲频率点上的信噪比(SNR),确定最佳(以SNR为评估准则)的前10个频率点,组成最优频率集,通过频率协商,发送方与接收方在共同商定的频率点上进行通信,频率协商机制提高了系统的效率,增强了可靠性。

 

 

对于无线通信网络MAC层的“隐终端”问题,系统采用带报文长度的发送请求RTS和发送允许CTS方式解决。帧内包括最佳频率表。收方如果空闲就回到CTS,帧内包括了经协商的频率。发送方收到CTS后发送数据,收方对数据要确认,如果超时就关闭连接,重新开始(可选项有NAK)。特别需要指出的是,对于长度大于设定门限的报文采用RTS/CTS减少冲突,而对于小的报文则直接发送。经过测试,这种信道访问方式减少了冲突,提高了网络的吞吐量。

 

 

高速数字电台的LLC层(数据链路控制层)提供相邻结点之间的数据报文传送服务,有可靠(停止等待)和不可靠两种。停等协议的重发时间应该在某个范围内取随机值,减少发送碰撞的概率。对重传次数应有一定的限制,重传不成功则丢弃该分组。重传不成功时应向上层报告,以便修改路由表。LLC层还可以实现流量和拥塞控制,以及链路质量检测。

 

 

数据链路层处理有三个状态组成,分别是“活跃”、“等物理层传输”和“等定时器”,状态转移及事件名称如图3和表1所示。详细协议事件处理见附录2。

 

 

在“活跃”状态系统可进行任何操作,包括接收数据和发送数据。此时,系统已完成数据的发送;并且没有收到需要处理的报文;所有定时器都处于关闭状态。从任何一个状态返回活跃状态时,系统将检查发送队列是否为空,若有分组等待发送,则调用物理层发送处理。

 

 

 

 

“等物理层传输”状态表示系统正在发送一个分组。此时,系统将禁止新的发送请求,直到分组发送完毕。理想情况下,在“等物理层传输”状态下,系统不应该收到其它站发出的分组。

 

 

“等定时器”状态用于等待ACK定时器和静止定时器TP。ACK定时器用于分组的重发。在设定的时间内,若未收到目的站点的应答,系统将重发分组。若重发到指定的次数仍收不到应答,表明链路已中断。TP定时器是为减少公共信道发送冲突和解决“隐终端”问题而设置的。当终端收到不是给本站的需要应答的报文时,系统应启动静止定时器TP等待一段时间,保证目的站点顺利发送应答信息。当收到发送请求RTS和发送允许CTS时,系统应根据分组中所带的报文长度字段计算应静止的时间,保证在报文发送过程中不会出现冲突。

 

 

为了减小发送冲突,TP采用最小延迟时间加均匀分布随机数的方式设定。

 

 

对于“隐终端”问题,采用带报文长度的发送请求RTS和发送允许CTS方式解决。对于长度小于设定门限的报文采用RTS/CTS减少冲突,而对于小的报文则直接发送报文。

 

 

B. 群内拓扑关系的维护

 

 

群内拓扑关系由Intranet层来维护,路由算法有静态路由和分布式自适应动态路由两种,分别适应静止和运动中的需要。无线分组网路由表的维护主要通过定期向群首广播本站的路由信息并采用HELLO信息来确定群内结点之间的连通性。路由算法的数据来源是邻站发送的路由报文和本站下层报告的链路质量,并根据收到路由信息报文,修改本站的路由表。对于从LLC层接收到的数据包,经过LLC层处理后提交给数据包转发层程序,由转发层程序决定接收,丢弃或者是转发数据包;对来自转发层的报文,根据路由表找出所有可能的路由,交LLC层发送。该层不对报文进行分段和组装。

 

 

为了实现无线Intranet层转发,节点必须知道网络的联通性信息和拓扑结构。无线分组网中的每一个节点必须知道网中其它节点的转发路径。拓扑信息的获取有两种途径,一是通过监听其它网站的信息,二是通过针对特定目的交换网络拓扑信息。拓扑更新消息采用广播方式发送。网络拓扑更新消息结构如图4所示。

 

 

其中拓扑更新长度是拓扑更新数据的字节数,拓扑更新ID是一个0-255的数,连同源节点的链路层地址,用于标识各节点产生的拓扑更新消息。每产生一个拓扑更新消息,其拓扑更新ID加1。节点地址用于表示节点的数据链路层地址。节点状态字节用于表明该节点到源节点间链路的状态。

 

 

状态字节中,链路质量0表示链路质量未知;7表示链路质量为固定设置;1到6表示不同的链路质量,1为最好。跳数表示到源节点的跳数。转发字段若置1表示该节点不参与转发。静止表示该节点将不发送任何信息。 节点前站地址是为消除RIP协议的路由不稳定、收敛速度慢等问题,在Intranet拓扑更新消息中要加入“节点前站地址”信息。一个节点的“节点前站”是指从源站点到该站点的路径上直接与该站点相连的站点。拓扑更新请求拓扑更新请求消息,只包括Intranet头,而没有数据域。Intranet头带有一个源地址和一个或多个目的地址。其最大跳数字段置为1,目的/中继状态字节的转发、转发类型及应答位都置为0,目的位置为1。拓扑更新请求消息采用广播方式发送。

 

 

C.群间路由协议(OSPF V2)的实现

 

 

每个网络结点(电台)维护本群的路由表,网关结点还要维护群间的路由信息,利用OSPF协议完成群间路由信息的交互。该协议的特点是对拓扑变化反应迅速,可以在短的时间内根据变化更新路由表,并支持在多条等长的路径之间进行负载平衡,有效地减少路由信息传播数量,实现路由保护功能;OSPF协议还允许外部的路由信息在自治系统的边界路由器中传播,同时要求交互信息都要经过认证机制的认证;在路由表的计算方面,每个结点都以自己为“树根”,计算出到达本自治系统其它结点的最短路径;指定路由器与备份路由器的选举协议有效减少了信息交互的数量,节约了网络带宽;OSPF协议修改了以前的HELLO协议,使HELLO信息能够在网络中高效传播;为适应网络的发展,OSPF协议支持新型的CIDR(无线域间路由)和VLSM(变长子网掩码)机制[3]。

 

 

网络拓扑更新采用周期性更新和事件触发更新两种方式,保证每个结点维护完整的路由信息,和网络结点路由表的一致性。除此之外,子网路由协议中还要求网关结点维护整个子网的结点信息,非网关结点定时向网关报告路由信息,由网关结点提取本子网的摘要信息在骨干网上传输。OSPF路由协议的实现主要依靠RFC1583,针对RFC中的状态机和状态描述并参考文献[3],可以实现OSPF路由协议。

 

 

 

D. 群内成员的组织与群首选举协议

 

 

群内成员的组织主要依靠群首结点来实现。群首结点依靠HELLO信息维护其与群内成员结点的连接关系,当某个群内成员结点与群首失去联系,就会试图与其它群的群首建立连接关系,如果仍然失败,则该结点成为一个新的群,并成为新群的群首。

 

 

群首选举协议采用最小群首改变策略,避免频繁地改变群首。只有当两个群首可以直接通信或者有一个结点与所有群首失去联系的时候才能更改群首。“群首”负责收集本群的路由信息,群内的所有成员结点都把路由信息发送给“群首”。群内两个“群首”之间通过骨干网络交换路由信息。群内成员的组织与群首选举协议主要在OSPF协议的基础上,利用OSFP 的指定路由器(DR)选举与备份路由器(BDR)选举协议来实现。在OSPF路由协议中,DR的选择是通过OSPF的Hello数据包来完成的,在OSPF路由协议初始化的过程中,会通过Hello数据包在一个广播性网段上选出一个ID最大的路由器作为指定路由器DR,并且选出ID较大的路由器作为备份指定路由器BDR,BDR在DR发生故障后能自动替代DR的所有工作。当一个网段上的DR和BDR选择产生后,该网段上的其余所有路由器都只与DR及BDR建立相邻关系。在这里,一个路由器的ID是指向该路由器的标识,一般是指该路由器的环回端口或是该路由器上的最小的IP地址。

 

 

参考文献

 

     

  1. Russel Ruppe. NEAR TERM DIGITAL RADIO SYSTEM[A], Space and Terrestrial Communication Directorate 1997 IEEE.

     

     

     

  2. 田畅 博士, 高速数字电台技术方案,交换技术与ATM研究中心,2001年4月

     

     

     

  3. Douglas E. Comer. InternetWorking with TCP/IP Volume II, Prentice Hall, 1998, 325-377.

     

     

     

  4. 杨盘龙,张磊,郑少仁, VxWorks在高速数字电台互联网中应用,单片机与嵌入式系统应用,2001年第8期

     

     

     

  5. 赵志峰,郑少仁, Ad Hoc网络交互式仿真系统,系统仿真学报,2000年第5期

     

     

     

  6. 郭峰等,无线局域网,北京,电子工业出版社,1999年

     

 

 

杨盘隆

研究生

解放军理工大学通信工程学院

 

 

郑少仁

博士生导师

解放军理工大学电信工程系

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客