协议设计与分析
协议设计与分析(精选10篇)
协议设计与分析 第1篇
作为将对二十一世纪产生巨大影响的技术之一,无线传感器网络WSN(wireless sensor network)是近几年来国内外研究的热点,无线传感器网络引起了世界上许多国家军界、学术界和工业界的高度重视[1],其应用前景十分广阔。目前,在无线传感器网络中,短距离、低成本、低功耗的ZigBee技术是无线通信应用的首选技术之一。
ZigBee技术是一种短距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术或无线网络技术,是基于IEEE 802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术[2]。本文在分析ZigBee无线传感器网络设计的关键技术基础上,重点给出了ZigBee网络层协议设计方案。
1 ZigBee协议整体架构
ZigBee协议的整体架构为分层结构和拓扑结构,在此基础上物理层、MAC层、网络层和应用层可以相互合作,逐层发挥各自的功能,从而实现ZigBee无线传感网络的基本功能。
1.1 ZigBee协议的分层结构
ZigBee标准的分层架构是在OSI七层模型的基础上根据市场和应用的实际需要定义的。其中IEEE 802.15.4-2003标准定义了底层协议:物理层PHY(Physical Layer)和媒体访问控制层MAC(Medium Access Control Sub-Layer)。ZigBee联盟在此基础上定义了网络层 NWK(Network Layer)和应用层APL(Application Layer)架构。
ZigBee协议的体系结构如图1所示[3]。其中PHY层主要功能包括启动和关闭无线收发器、信道能量检测、链路质量检测、信道选择、空闲信道评估(CCA)以及通过物理信道对数据包进行发送和接收等;MAC层主要实现信标管理、信道接入、时隙管理、发送与接收帧结构数据,提供合适的安全机制等;网络安全层主要用于ZigBee网络的组网连接、数据管理和网络安全等;应用层主要为ZigBee技术的实际应用提供一些应用框架模型。
1.2 ZigBee网络拓扑结构
在ZigBee网络中,根据设备所具有的通信能力,可以分为全功能设备FFD(full-function device)和精简功能设备RFD(reduced-function device)。FFD之间以及FFD和RFD之间都可以相互通信;但RFD只能与FFD通信,而不能与其他RFD通信。RFD主要用于简单的控制应用,传输的数据量较少,对传输资源和通信资源占用不多,可以采用相对廉价的实现方案,在网络结构中一般作为通信终端。FFD则需要功能相对较强的MCU,一般在网络结构中拥有网络控制和管理的功能。
ZigBee网络中,有一个称为PAN网络协调者PAN(coordinator)的FFD设备,它是网络的中心节点。PAN网络协调者除了直接参与应用以外,还要负责其他网络成员的身份管理、链路状态信息的管理以及分组转发等功能。图2是ZigBee网络的一个例子,给出了网络中各种设备的类型以及它们在网络中所处的地位。
从网络拓扑的角度来看,ZigBee设备主要有三种角色:网络协调者、网络路由器和网络终端设备。其中网络协调者主要负责网络的建立,以及网络的相关配置;路由器主要负责找寻、建立以及修复网络报文的路由信息,并负责转发网络报文;网络终端具有加入、退出网络的功能,并可以接收和发送网络报文,但终端设备不允许路由转发报文。通常协调者和路由器节点一般由FFD功能设备构成,终端设备由RFD设备组成。
ZigBee网络根据应用的需要可以组织成星型网络、网状网络和簇状网络三种拓扑结构,如图3所示。在星型结构中,所有的设备都与中心设备PAN网络协调者通信,实际上在这种简单的网络结构中路由器是没有路由作用的。在这种网络结构中,网络协调者一般使用电力系统供电,而其他设备采用电池供电。星型网络适合家庭自动化、个人计算机外设以及个人健康护理等小范围的室内应用;与星型网络不同,网状网络(Mesh)只要彼此在对方的无线辐射范围内,任何两个FFD设备之间都能直接通信,在Mesh网络中每一个FFD设备都可以认为是网络路由器,都可以实现对网络报文的路由转发功能,Mesh网在构建时比较复杂,节点所要维护的信息较多;对于簇状网络实际上可以看做是一个复杂的星型网络,一个扩展的星型拓扑或是由多个简单的星型网络组成的拓扑结构,在簇状网络中,网络协调者、路由器和终端设备的功能清晰,相对于Mesh网络,构建簇状网络比较简单,所需的资源相对较少,并且可以实现网络的路由转发功能,从而也扩大了网络的通信范围。
2 ZigBee网络层协议分析与设计
网络层(NWK)是位于MAC层与应用层(APL)之间的一个协议层。网络层的任务是通过正确操作MAC层提供的功能来向应用层提供合适的服务接口。为了与应用层交互,网络层逻辑上包含两个服务实体:数据服务实体(NLDE)和管理服务实体(NLME)。
在ZigBee协议中,网络层主要负责新建网络、加入网络、退出网络和网络报文的路由传输等功能。下面重点阐述网络层的主要功能及实现方法。
2.1 ZigBee网络层功能
ZigBee规范定义的NWK层协议,提供数据传输服务(NLDE)和管理服务(NLME),其逻辑模型如图4所示。其中NLDE-SAP是NWK层提供给APL层的数据服务接口,用于将APL层提供的数据打包成网络层协议数据单元,并将其传输给相应节点的NWK层;或者将接收到的NWK层协议数据单元进行解包,并将解包后得到的数据传送给本节点的APL层。也就是说NLDE-SAP实现两个APL层之间的数据传输;NLME-SAP是NWK层给APL层提供的管理服务接口;MCPS-SAP是由MAC层提供给NWK层的数据服务接口;MLME-SAP是MAC层提供给NWK层的管理服务接口。ZigBee网络层管理服务的主要功能有四个方面[4]:构建一个新网络;设备加入已存在的网络;已加入网络的设备从网络中退出;网络报文的路由。
2.2 网络新建
新建网络的功能只能由具有ZigBee协调者能力的设备来实现,将其自身初始化为一个新的ZigBee网络协调者。在接收到上层新建一个网络的调用后,该设备首先在所指定的信道上扫描。如果上层已经确定了网络标识PAN ID,那么网络层将确保所给定的PAN ID不会与所选择信道的现有网络PAN ID参数产生冲突。若发现存在冲突,那么,如果有可能则从给定的信道中选择另外一个信道,在这个信道中,所给定的PAN ID不与信道中的其他网络冲突;如果选择不到合适的信道,则网络层发送错误标志。如果上层未指定PAN ID,则网络层在所选定的信道中选择与任何已存在网络不会冲突的PAN ID作为新建网络的标识。
一旦合适的信道和网络标识PAN ID确定后,网络层将选择0x0000作为16位的网络地址,并通知MAC层,设置为网络地址。这样在指定信道上的网络就新建好了,此时该网络中只有协调者自身一个节点。
2.3 设备加入网络
设备加入网络功能就是通过与已加入网络的协调者或路由器设备建立连接来实现的。当设备与某一网络协调者或路由器连接后,将形成父子关系,前者为子设备,后者为父设备。
设备与网络连接的方式有两种:一种是子设备主动与指定的PAN进行连接;另一种是子设备预先指定的父设备主动先将子设备加入到PAN中,而后子设备再通过孤立点方式加入到PAN中。限于篇幅,下面仅对子设备主动加入网络的方式进行阐述。
(1) 子设备主动加入网络
当子设备接收到加入网络命令后,如果子设备已经同网络连接,则返回出错标志,否则尝试连接其POS范围内的网络协调者或路由器。具体加入PAN的流程如图5所示。
首先,子设备要获取其POS范围内具有允许连接能力的网络协调者或路由器的地址信息。因而首先发送信标请求命令,其POS范围内具有允许连接能力的网络协调者或路由器接收到该命令后都会发送各自的信标帧;在这里采取时间最短的策略,子设备将加入最先接收到的信标所对应的PAN中。但若一段时间未接收到信标,则退出。
在获取了要加入的父设备信息后,子设备向父设备发送连接请求命令。父设备接收到连接命令后,检查当前资源是否能够再接收设备加入PAN中。若资源满足后,父设备将存储子设备地址,并为子设备分配16位的网络地址,同时生成连接响应命令帧,向连接请求子设备发送有未处理数据的Ack应答帧;若资源不满足,则直接发送无未处理数据的Ack应答帧。
子设备在一段时间内等待接收来自父设备的Ack应答帧,接收到后判断父设备是否有本设备的未处理数据,若无或在指定时间内未接收到Ack应答帧则退出。
当子设备判断父设备有未处理数据,则向父设备发送数据请求命令;父设备接收到该命令后,发送缓存的连接响应命令帧;子设备接收到后,更新其设备网络地址、PAN ID、父设备地址信息等参数。此时子设备就完成了加入PAN的整个过程。
(2) 子设备网络地址分配机制
在ZigBee网络层中,采用的是分布式地址分配机制[5],即为每一个父设备分配一个有限的网络地址段。因而网络协调者决定了整个网络的最大子设备数。
每一个设备都有一个连接深度,即表示该设备到网络协调者的最小跳数,其中协调者自身的连接深度为0,其直接子设备为1。协调者也决定了网络的最大连接深度,用nwkMaxDepth(Lm)变量表示,父设备拥有最大子设备数nwkMaxChildren(Cm),最大路由器设备数nwkMaxRouters(Rm)。通过这几个网络参数即可计算父设备所能分配子区段地址的数量(Cskip):
undefined
其中d为当前父设备在网络中的深度。若一个设备的Cskip(d)小于或等于0,则表示该设备没有接收子设备连接的能力。
利用Cskip(d)作为偏移,向子设备分配有效的网络地址:
undefined
Aparent为父设备的网络地址,A1为第一个子设备分配的地址,即在父设备地址的基础上加1;其后的子设备网络地址均在前一个设备的基础上向后偏移Cskip(d-1),这样就能实现网络地址的有效分配了。
2.4 设备退出网络
对于已连接网络的设备主要有两种从网络中断开连接的方式:子设备自身主动要求断开连接;父设备要求某一子设备从网络中断开连接。
子设备自身主动要求断开连接。子设备首先检查自身是否已经加入网络,并且父设备是否与要断开连接的对象相同;接着子设备组织断开连接请求命令帧,并发送给父设备;注意按照ZigBee协议规定,子设备在发送了断开连接请求命令后,无论父设备是否做出断开连接响应,子设备均将其父设备信息清空,表示子设备已经从网络中退出;当父设备成功接收到断开连接请求命令时,在其邻居表中检查是否存在该子设备,若存在则将该子设备从邻居表中移除。
父设备要求某一子设备从网络中断开连接。父设备首先检查要断开连接的对象是否在其邻居表中,若在则生成断开连接请求命令帧,并发送给指定子设备;与子设备主动要求断开连接一样,无论父设备是否收到子设备的应答,都将该子设备从邻居表中移除;当子设备成功接收到断开连接命令后,将父设备信息清空。
2.5 网络报文的发送与接收
(1) 网络报文的发送
网络报文的发送相对比较简单:首先,根据不同的报文类型封装相应的网络报文,其中报文的源地址为本设备网络地址,目的地址为最终的目的设备网络地址;再调用MAC层数据帧的封装函数组织MAC数据帧,其中数据帧的源地址为本设备地址,而目的地址是通过相应的路由算法计算出来的下一跳节点的地址信息;帧组织好后,将该数据帧发送给下一跳节点,由下一跳节点来负责接收、转发。
(2) 网络报文的接收
MAC层成功接收到数据帧后,将去除帧头、帧尾域,剩下数据载荷域作为网络报文传递给网络层。网络层接收报文的处理流程如图6所示。
当网络层成功接收到网络报文后,首先根据报文头域检查是否为合法的网络报文,主要检查报文类型是否合法:若不是数
据报文或三种类型的命令报文,则对该报文进行报文出错处理。
当为合法的命令报文时,取得具体的命令类型,并根据不同的命令进行相应的命令处理、应答。
当为合法的数据报文时,由于网络终端设备没有路由转发功能,因此设备类型不同,处理也不尽相同。对于自身是网络终端设备时,根据报文的目的地址域检查该数据报文是否属于自己的,若是,则将报文载荷域传递给上层,供上层处理;否则,丢弃该数据报文。对于具有路由转发能力的网络协调者或路由器设备,若不是自己的数据报文,根据报文的目的地址和路由算法计算下一跳节点的地址信息,再调用MAC层程序接口将该数据报文转发给下一跳节点;若是自己的数据报文,同样将报文载荷域传递给上层协议,由上层来进一步处理。
3 结束语
由于ZigBee无线传感网络可以减少现场布线带来的各种问题,对传感器节点的管理也比较方便,同时又可以满足低功耗、低成本和数据传输速率不高等要求,所以,目前ZigBee技术的运用已非常广泛。但对一般开发者来说,ZigBee无线传感网络的物理层、MAC层、网络层和应用层协议设计方面存在一定难度,特别是在网络层协议设计上的难度更大。本文详细阐述了网络新建、设备加入网络、设备从网络中退出和网络报文的路由等网络层协议的关键技术及实现方法,希望能对ZigBee技术的设计开发者起到一定的借鉴作用。
参考文献
[1]崔莉,鞠海玲,苗勇,等.无线传感器网络研究进展[J].计算机研究与发展,2005,42(01):163-174.
[2]Gislason Drew,Gillman Tim.ZigBee wireless sensor networks--ZigBeeis an emerging wireless protocol designed for low-cost,high-reliabilitysensor networks[J].Software Tools for the Professional Programmer,2004,29:40-42.
[3]IEEE 802.15.4,Part 15.4:Wireless Medium Access Control(MAC)and Physical Layer(PHY)Specifications for Low-Rate Wireless Per-sonal Area Networks(LR-WPANs),October,2003.
[4]ZigBee联盟.ZigBee技术引领无线数字新生活[J].电脑知识与技术,2006,27:29-34.
协议设计与分析 第2篇
1.实验目的掌握网络应用程序的开发方法;
掌握Client/ Server结构软件的设计与开发方法
掌握Socket机制的工作原理
2.实验前的准备
阅读教材关于TCP/IP协议和Socket的相关内容;
阅读WinSock编程指南;
阅读本实验所附内容;
熟悉VC++6.0开发工具
3.实验内容
学生可以从以下实验题目中任选一个来完成也可以自己命题。
(1)用掌握的语言和所学网络知识设计实现FTP的客户端;
(2)用掌握的语言和所学网络知识设计实现收发邮件的客户端;
(3)使用Winsock实现点对点通信;
(4)对网络实验中的停止等待协议或滑动窗口协议的程序提出改进并实现;
(5)自己设计网络要求条件,对其进行详细需求分析(包括对条件的分析和实现,网络设备的选择,网络拓扑的选择,经费的考虑,以及网络的可容性、可扩充性等),并划出拓扑图。
(6)按照所给综合设计实验1或是综合设计实验2的要求分别配置构建符合要求的网络,并给相应的配置说明。
4.实验要求
学生可以根据所选题目大小,独立或两人一组完成实验。要求实验报告中应包括所选实验题目和一些必备内容。
若选择具体网络协议的实现,则应该能够在理解所选择的网络协议的基础上,对其进行分析和实现,要求给出分析和实现的过程,以及必要的程序代码。程序语言不限,但不能直接调用模块实现,必须通过调用socket或底层网络接口实现。
若是选择组网实现,则必须对网络做出详细的需求分析,包括对条件的分析和实现、网络设备的选择、网络拓扑的选择、经费的考虑、网络的可容性、可扩充性、安全性等等,并划出网络拓扑图。
协议设计与分析 第3篇
关键词:可信网络;TNC;数字认证
1 引言
以往那种单一的、孤立的、以外在插件或系统植入式的网络安全系统所能提供的网络监控和防护功能,在日益多元化和更加随机更加隐蔽的网络攻击手段面前愈来愈显得力不从心[1]。
鉴于此,应加强网络访问控制机制以及终端主机接入网络的安全性保证和完整性保护,对网络中的每一台终端都要进行一系列严格的安全校验。只有符合安全策略要求的才允许其接入网络,进而形成一种可信的网络环境。就像美国工程院院士Patterson所指出的那样,过去的计算机系统研究的目标是追求高效行为,而当今的网络系统需要建立可信的网络服务,可信必须成为可以衡量和验证的性能[2]。
2 可信网络概述
一个可信的网络应该是网络系统的行为及其结果是可以预期的,能够做到行为状态可监测,行为结果可评估,异常行为可控制。
自从2003年可信计算组织(Trusted Computing Group,TCG)成立以来,可信计算技术得到了迅速的发展。TCG于2005年5月制定可信网络连接规范(Trusted Network Connection,TNC),并在2008年4月发布了TNC规范V1.3版[3]。该规范提出“终端完整性度量”的思想,即使用一系列由客户所在组织的IT部门制定的策略和预定的平台配置,对尝试连接网络的客户终端的可信性进行评估,从而防止不可信终端设备连接到网络,实施破坏行动。
3 可信网络连接(TNC)及其局限性
3.1 TNC架构及其工作原理
TNC基础架构如图所示,其主要包括三个实体,它们分别是访问请求者(Access Requestor,AR)、策略执行点(Policy Enforcement Point,PEP)以及策略决定点(Policy Decision Point,PDP)。AR是请求访问受保护网络的实体,它包含网络访问请求者(Network Access Requestor,NAR)、TNC客户端(TNC Client,TNCC)和完整性度量收集器(Integrity Measurement Collector,IMC)3个组件。PEP是执行网络访问授权决定的实体。PDP是做出网络访问授权决定的实体,它包含网络访问授权(Network Access Authority,NAA)、TNC服务器(TNC Server,TNCS)和完整性度量验证器(Integrity Measurement Verifier,IMV)这3个组件。TNC架构中的3个抽象层次是根据实体的功能和角色划分的,自底向上分别为网络访问层、完整性评估层和完整性度量层。当AR向PDP发出申请建立网络连接请求时,PDP根据安全策略决策是否允许AR接入,并将决策结果发送给PEP,由PEP执行PDP的决策。
TNC架构及工作方式
3.2 TNC架构的局限性
虽然,TNC规范针对服务器与终端工作站之间的完整性验证有着很大的优势,但其只适用传统C/S模式下的可信网络接入控制环境。随着移动终端的大量普及和分布式计算的飞速发展,对等计算的大量出现将导致服务器和客户端的界限日渐模糊。这样以来势必会增加网络复杂性,同时导致服务器可能在不知情的情况下遭受木马攻击,给终端用户造成严重的经济损失[4]。
4 混合可信网络接入协议
这种混合可信网络接入协议具有更高通用性,允许对不同网络采取不同的完整性度量策略。总体而言,完整性数据主要从端口活动状态、最佳第三方安全软件应用的存在/版本(如防火墙、杀毒软件、入侵检测系统等)以及当前运行的程序等方面来考虑。
4.1 方案设计
根据TNC架构对可信平台身份认证完整性评估和平台可信环境等可信评估需求,在现有认证流程的基础上设计了一种混合可信网络连接双向认证方案。
4.2 方案分析
混合可信认证方案与传统网络接入认证方案相比,在安全性上得到了很大提高,以下是对终端请求接入过程的安全性分析。
首先是客户端及服务器端的平台身份认证。在终端请求接入网络时,通过验证平台身份证书(对终端及服务器端平台的双向认证克服了TNC架构中单向性认证的缺陷),保证服务器端的可信性;其次,在AR试图接入网络前,服务器端PDP对平台AR的安全状态进行检测,从而决定是否同意AR接入网络执行相应的权限。这个过程保证了终端的完整性,确保了终端在接入网络之前未受木马或病毒的攻击。
5 结束语
可信网络及其接入规范TNC目前已经迈出了将可信计算机制向网络延伸的第一步。目前,就如何将信任链扩展到网络的研究而言也存在很多问题,如可信网络模型、内容可信、行为可信、传输可信、资源可信共享等,有待学术界与产业界研究解决分析TNC规范的不足。引入服务器和客户端的双向认证,保证了通信的可靠性,并使TNC协议具有更好的互操作性,解决了服务器端不可信和完整性受到破坏的问题。混合可信网络接入协议可以应用于电子商务领域,减少假冒服务器和服务器被黑客攻击时对用户造成的损失,且适用于未来的移动计算和分布式计算等应用场景。
参考文献
[1]林闯,彭雪海.可信网络研究[J].计算机学报,2005,28(5):751-758.
[2]Recovery Oriented Computing.http://www.stanford.edu,or http://roc.cs.berkeley.edu.
[3]Trusted Computing Group.TCG Trusted Network Connect TNC Architecture for Interoperability[EB/OL].[2008-04-20].http://www.trustedcomputinggroup.org.
[4]Rehbock S,Hunt R.Trustworthy Clients:Architectural Approaches for Extending TNC to Web-based Environments[J].Computer Communications,2009,32(5):246-249.
协议设计与分析 第4篇
1 入侵检测系统定义及分类
1.1 入侵检测系统定义及作用
入侵检测是指在特定的网络环境中发现和识别未经授权的或恶意的攻击和入侵, 并对此作出反映的过程。入侵检测系统IDS一方面运用入侵检测技术对计算机或网络资源检测未经授权的网络对象, 另一方面还监视已授权用户的非法操作。其作用是检测系统的安全漏洞和数据的正确性, 并对网络入侵事件进行实时相应。
1.2 入侵检测系统的分类
入侵检测系统根据检测的对象分为基于主机的入侵检测系统HIDS (Host Instrus ion Detection System) 和基于网络的入侵检测系统NIDS (Network Intrsion Detectio n System) 。
(1) 基于主机的入侵检测系统HIDS审计系统日志中记录, 分析发现攻击。优点是根据日志记录可以准确判断入侵事件;可以监听关键系统文件等运行状态。其缺点是不能检测网络, 监听代价大, 系统效率降低等。
(2) 基于网络的入侵检测系统NIDS把网络数据包作为数据源来检测网络通信是否收到非法入侵。它的优点是成本低, 检测和响应及时, 不依赖操作系统等;缺点是部署代价大, 系统协同能力弱, 处理通过加密通道的攻击困难等。
2 基于协议分析检测入侵技术
2.1 基于网络协议分析的检测技术框架
所谓基于网络协议分析的入侵检测就是在协议分析的基础上进行网络入侵事件检测。基于网络协议检测技术可以根据网络数据包和协议来分析检测入侵, 其框架由管理模块、入侵检测模块、规则库和捕捉网络数据包模块等组成, 如图1所示。
图1捕捉网络数据包模块是从网络中按照特定的规则获取相关的数据包, 然后将数据包送至解析引擎模块去分析;入侵检测模块则将根据接收的数据包基于规则库进行比对分析并将结果送至管理模块;管理模块的作用是管理其他模块的配置通报分析结果和维护规则库数据。其中, 入侵检测模块是此技术中的主要模块, 其主要思想是根据规则库中的网络协议进行比对分析, 从而判断是否有入侵行为发生。这样, 分析过程就转化为将网络数据与规则库的匹配问题了。规则库越完备则检测入侵行为就越多。具体步骤是: (1) 现将规则库导入系统; (2) 捕捉网络数据包; (3) 解析每个捕捉的数据包并解析并与系统中规则库进行比对匹配。若匹配成功, 则处理;否则再往下比对, 直至全部都匹配成功。
2.2 基于协议分析检测入侵的关键技术
(1) 捕捉网络协议信息为存储信息需要设置全局变量:
Struct ipHeader ipHeaderObj;
Struct tcpHeader tcpHeaderObj;
Struct udpHeader udpHeaderObj;
Struct icmpHeader icmpHeaderObj
这些结构体变量存放入侵检测模块的信息, 把协议分析模块中的变量内容装载到入侵检测模块中。获取网络数据函数为
ipHeaderObj () , tcpHeaderObj () , udpHeaderObj () , icmpHeaderObj () 。
(2) 捕获机制中libpcap函数的解析。
捕获网络数据包模块将网络上的数据包截取下来以便解析。其捕捉机制使用伯克利数据包过滤器BPF机制。使用Libpcap函数库, 为不同的平台提供一致的编程接口, 能够跨平台使用。其捕捉并处理数据包函数为int pcap_dispatch (pcap_t*p, int cnt pcap_handler callback, u_char*user) , cn参数为处理数据包的最大值;callback参数则要指定一个带有三个参数的回调函数, 这三个参数分别为传递来的u_char指针, pcap_pkthdr结构指针和一个数据包u_char指针;如果成功则返回读取的字节数, 否则返回零;出错时返回-1。
(3) 匹配协议规则, 判断检测结果。
在判断是否有“网络入侵”, 第一步是从规则库中读取入侵规则并初始化, 把从网络捕捉的数据包记录下来, 以便作分析使用;然后使用规则库中的协议量与真实的协议值是否相等判断这个事件是否异常;如匹配则继续进行比对, 否则认为有入侵行为并报警。在实现规则匹配时, 需要调用函数readRuleBase () , 其作用是从规则库中读入侵规则;readStatementRule () , 则是从规则库中读入规则事件定义的数据结构。
3 结语
本文设计的IDS系统不仅可以实时地检测网络入侵事件, 还能根据入侵事件的危害程度采取相应的步骤, 包括日志记录和滤规则。二者的结合极大提高了网络通信的防护能力。不过, 现在的IDS一般应用于单一的主机或不太复杂的网络结构中, 而这种入侵检测模式存在许多缺点, 如不能应付大负荷的网络入侵, 实时性较差等。随着互联网的飞速发展, 网络模式发生了重大变化, 如出现了高带宽的高速网络, 千兆以太网、G级的光纤网已经出现;大规模分布式的结构网络普遍适用。这给入侵检测的研究如何应对出现的新技术提供了一个新的方向和课题。
参考文献
[1]蒋建春.冯登国网络入侵检测原理与技术[M].北京:国防工业出版社, 2001.
[2]刘文涛.Linux网络入侵检测系统[M].电子工业出版社, 2004:7~25.
[3]Jacob Zimmermann, George Mohay.Distributed intrusion detection in clus-ters based on non-interference.pdf[J].2006.
协议设计与分析 第5篇
为保证城市供水设施完好有效,保障城市生产、生活正常用水的需求,实现城市供水统一设计、统一管理、统一施工,特制定本协议。甲方:葫芦岛市自来水公司
乙方:
依据《葫芦岛市城市供水用水管理办法》,甲乙双方就工程项目地点、约
1、乙方供水管网(楼外1.5米以外部分)由甲方设计与施工,楼内地下管网(至楼外1.5米以内)采用PPR热熔管或PE热熔管。
2、乙方新建住宅的供水设施应当按照“水表出户、一户一阀”的要求进行设计和施工。
3、乙方新建高层住宅建筑,必须安装远传智能化水表。
4、乙方供水水池和消防水池及设备必须独立分设。
5、乙方必须投资建设二次加压供水设施,供水泵房不得设在地下室内,泵房设施统一由甲方设计与施工。
6、如果乙方违反此协议,甲方将收取工程造价30%的违约金。
7、乙方用于贸易结算的水表,必须符合现行国家标准,且经自来水公司水表检定站首次强制检定合格,方准许安装使用。
8、此协议双方盖章、签字后生效。此协议一式三份,市建委事业科一份、甲、乙双方各执一份。
注:青山水源通水之前,无法确保正常供水。
甲方:葫芦岛市自来水公司乙方:
代表人:代表人:
协议设计与分析 第6篇
论文对教学直播系统构建的设计可以为远程教育直播教学实现提供参考,也可为远程监控、远程会议的实现提供方法,具有一定的理论、现实意义和参考价值。
1 RTP/RTCP协议
1.1 实时传输协议RTP
RTP[1](Real-time Transport Protocol)是用于Interact上针对多媒体数据流的一种传输协议。流媒体是指在网络中使用流式传输技术的连续时基媒体,如:音频、视频、动画等多媒体文件[2]。流媒体在播放之前并不是下载整个文件,只是将开始部分内容存入内存,流媒体的数据流随时传送随时播放,只在开始时有一些延迟。
RTP协议提供基于多播或点对点网络的实时数据传输,并处理实时数据传输的顺序和时间问题。它本身并不像TCP协议那样提供保证数据传输可靠、有序的机制,也不提供保证服务质量的手段,而是依靠实时传输控制协议(RTCP)处理所有与会话相关的通信。RTP协议为实时系统的点到点的数据传递提供服务,比如交互式音频和视频。这些服务包括负载类型的鉴别、顺序号、时间戳、传输监控等。RTP设计成运行在无连接传输协议之上,在大多数情况下,使用的是UDP协议,当然它也可以使用在其他合适的底层协议之上,如果下层协议支持的话,RTP协议支持数据的多点传输。发送方将每个RTP分组封装在UDP报文中传送,接收方再从传入的报文中将分组提取出来。
每个RTP分组的开始都会给出一个首部,首部中包含了有关数据源及其数据的重要信息。RTP包的固定首部格式[3]如图1所示。
V:指定协议的版本号,2比特,当前版本号为2。
P:说明是否在分组后增补了零填充,1比特,标记为1时表示数据域后有填充域。
X:说明是否在固定首部后跟着一个首部扩展,1比特,标识为1时表示固定首部后存在一个首部扩展。
CC:指明首部后同步源标识符CSRC的数量,4比特。
M:重要事件标志,1比特,用以标记数据流中的重要事件,如帧边界等。
PT:指明负载类型,7比特,接收端据此来识别媒体类型,如果是编码数据,则决定接收端选用的解码器。
Sequence Number:表示数据包的序号,2字节,每次增加1,一次会话的初始序号是随机选择的。这有两个原因,一是使用随机的序号可以避免重放,即避免某次会话的分组在网络中延迟后,被稍后的另一次会话所接收;另一个原因是使用随机的起始序号可以提高安全性。
Timestamp:记录数据包的时间同步信息,4字节,时间戳字段用于确定分组中数据的正确回放时间。时间戳的值给出了分组中数据的第一个字节的采样时间。因为发送方时间戳的时钟是连续增长的,这样接收方通过时间戳就可以确定分组数据要在回放中保持多大的间隔。
SSRC:用于识别同步源的同步源标识符,4字节,同步源标识符的选择是随机的,保证同一个RTP会话中的任意两个同步源不会有相同的标识符。
CSRC list:贡献源标识符列表,一个贡献源标识符指明混合流中某个流的最初发送者,贡献源标识符的数量由CC字段指明,最多可以列出15项贡献源标识符。每项4个字节。
载荷数据Payload:载荷数据为音、视频压缩编码后的数据。在音视频应用中,典型的有效载荷一般都很大,约为1460B。RTP数据包没有包含长度域或其它边界,其最大长度仅仅被下层网络限制。
1.2 RTCP实时传输控制协议
实时传输控制协议(Real-time Control Protocol,RTCP)定义在1996年提出的RFC 1889中。多媒体网络应用把RTCP和RTP一起使用,尤其是在多目标广播中更具吸引力。当从一个或者多个发送端向多个接收端广播音频或者视频数据时,也就是在RTP会话期间,每个参与者周期性地向所有其他参与者发送RTCP控制信息包。RTCP用来监视服务质量和传送有关与会者的信息。
RTCP控制协议需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。通常RTCP会采用与RTP相同的分发机制,向会话中的所有成员周期性地发送控制信息,应用程序通过接收这些数据,从中获取会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进行诊断。
2 教学直播系统的分析与设计
2.1 系统的网络架构
系统以IP网为传输平台,在其上开展多媒体同步实时教学,因此其交互控制信息和多媒体数据需要跨越园区网Intranet的多个网段进行传输。其中,交互控制信息的传输采用TCP协议,以确保控制信息的正确无误传输,保证系统状态的一致性;对于音视频媒体数据,其主要要求是实时性,允许一定的丢包存在,所以使用UDP协议进行传输。而为了使教学过程在网络上进行,允许系统中的端结点分布在若干网段上,同时与其他系统具有一定的兼容性,故构建如图2所示的网络结构以满足实时教学的需要。
图中示意了分处两地的两个校区分别建有校园网络。两地之间距离约为5公里,为保证两地之间同时分别有一路实践教学音视频内容通过校园网相互传输到对方,架设了专用传输线路,传输带宽分别为上行2Mbps,下行带宽为10Mbps。由于双向传输的要求和实现原理是相同的,因此在设计中仅从一方加以设计和实现来说明系统的工作原理。
系统工作原理如下:课堂管理服务中心负责管理所有的信息交互活动,公布实践教学课程目录,并一直处于监听状态;教师采集端启动,向课堂管理服务中心登录,并将实践教学课程压缩编码后的信息发送给课堂管理服务中心;课堂管理服务中心将压缩编码后的教学音视频信息内容以组播形式发送到校园网;当学生客户端启动后要请求听课数据时,它首先向课堂管理服务中心发出听课请求,课堂管理服务中心收到后,再向客户端发回确认信息,并将其要求的实践教学课程的IP组播地址和端口号传给客户端,客户端在接收到课堂管理服务中心的信息后,加入该组播组,接收组播数据并同步回放,实现远程新旧校区实践教学资源的共享。
2.2 系统模块设计
根据系统功能,将系统划分为媒体数据采集模块、数据压缩编码模块、媒体数据传输模块、媒体文件生成模块、媒体回放表现模块和课堂管理模块。系统的模块结构如图3所示。
媒体数据采集模块作为系统的教学资源提供者,运行在实践教学的现场主机上,主要将实践教学过程内容实时地采集下来转换为音视频数字化内容,因此,在设计时要考虑设备的无关性,也就是要使系统具有更广泛的适应性而不局限于某一个具体的音视频采集设备。
数据压缩解压模块将数据采集模块转换的音视频数字化内容进行压缩,以减少传输的音视频数据量。为保证系统能有广泛的适应能力和网络传输要求,采用多种不同的压缩标准算法对采集的音视频数字化数据进行压缩。在学生客户端通过音视频解压缩后送音视同步播放模块进行播放。
数据传输模块完成压缩后音视频数据的发送,在教师采集端通过单播发送到课堂管理服务中心,课堂管理服务中心通过计算机网络组播发送音视频流数据,使网络上的各客户端可以接收音视频信号。
回放表现模块作为学生客户端,通过网络组播接收组播发送模块的音视频数据,然后调用音、视频解压模块进行解码,然后送音视频同步播放模块实时播放显示。
媒体文件生成模块工作在教师发送端,音、视频压缩模块将压缩后的音视频以文件形式保存,完成实践教学课件的存储,以被课后点播使用。
课堂管理模块完成全部网络教学信息的交互、控制与管理。
在系统的设计开发过程中,我们将程序高度模块化,极大的提高了程序模块的重用性,并简化了各个应用程序模块的开发步骤。底层处理模块的封装,一方面使得上层编程人员能够腾出更多的精力来优化逻辑处理流程,另一方面降低了程序复杂度,能更方便的进行错误定位和后期维护。
2.3 音视频数据传输模块AVTrans的设计
传输是视频直播系统的重中之重,它决定着系统的用户规模和用户接收的视频质量,传输的主要作用就是将源产生的压缩后的音视频流实时的传送到每个用户结点。因此主要介绍音视频数据传输模块AVTrans的设计。在课堂管理服务中心,音视频传输模块是媒体交互的重要组成部分,它为系统提供音视频交互的平台,首先对采集端发送的音、视频流进行接收并对传输的数据进行速率和流量控制,以防止网络拥塞的发生,接着将音视频数据组播发送到网络上,同时对教师端和学生端的信息交互、学生客户端的加入退出、系统运行进行管理,采用这样的两级结构可以减轻课堂管理服务中心的负担。由于课堂管理服务中心与教师采集端采用高速传输,比较容易实现不再详细阐述,这里主要论述课堂管理服务中心的组播传输。音视频组播传输模块包括发送和接收两部分。
2.3.1 音视频组播传输模块的设计
课堂管理服务中心收到教师采集端发来的音视频数据后进行RTP封装,不断地压入发送程序设置的缓冲区队列,当缓冲区满时,则启动数据发送线程,将缓冲区的音视频流数据弹出,以组播形式将音视频数据发送到网络上,同时再将缓冲区队列清空,以接收新的数据。重复上述过程,直到停止发送过程。音视频数据发送模块的示意图如图4所示。
2.3.2 音视频组播接收模块的设计
音视频数据的接收过程为学生客户端启动用户界面窗口,输入课堂管理服务中心的IP地址,向服务器连接发送数据请求,当得到服务器端的确认消息后,创建音视频数据接收线程开始接收。组播接收模块的示意图如图5所示。
3 结论
文章从远程教学直播系统的系统分析开始,通过对系统的需求分析,给出系统的功能目标,然后设计系统相应的网络架构、数据流模型和层次化系统结构设计,并在层次化系统结构设计的基础上,详细阐述相关模块的具体设计。
摘要:随着网络传输技术、图像编码技术的成熟,以流媒体技术为基础的RTP协议的视频实时传输有着快速的发展。文章介绍了用于流媒体传输的RTP/RTCP协议格式,给出了一个基于RTP协议的教学直播系统的框架和设计。
关键词:流媒体,RTP/RTCP协议,教学直播
参考文献
[1]Schulzrinne H,Casner S,Frederick R,et al.RTP:A transport protocol for real_time applications.RFC1889[EB/OL].http://www.ietf.org/fc/rfc1889.Txt.
[2]詹青龙.网络视频技术及应用[M].西安:西安电子科技大学出版社,2004:1-43.
[3]Schulzrinne H.RTP:A Transport Protocol for Real-Time Applications,RFC1889[S].
[4]钟玉琢,向哲,沈洪.流媒体和视频服务器[M].北京:清华大学出版社,2003:67-68.
协议设计与分析 第7篇
在二层交换网络中, 由于环路而导致报文在环路内不断循环和增生, 产生广播风暴, 使得所有的有效带宽都被该报文占用, 造成网络的瘫痪。 为了解决该问题, 生成树协议应运而生, 生成树协议的实质是通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的, 同时具备链路的备份功能。
生成树协议是随着网络的不断发展而不断更新换代的。 起初IEEE 802.1D-1998 STP (Spanning Tree Protocol, 生成树协 议) 被广泛应用, 随后以它为基础产生了IEEE 802.1w RSTP (Rapid Spanning Tree Protocol, 快速生成树协议 ) 、 PVST (Per VLAN Spanning Tree, 每VLAN生成树 ) 协议和IEEE 802.1s MSTP (Multiple Spanning Tree Protocol, 多生成树协议)。
2多生成树协议MSTP
多生成树协议MSTP (Multiple Spanning Tree Protocol) 是由快速生成树 (RST) 算法扩展而得到的。 多生成树协议 (MSTP) 引入了 “实例” (Instance) 和 “域” (Region) 的概念, 通过多个VLAN捆绑到一个实例中去的, 每个实例对应一棵生成树, 每个生成树进程具备单独于其他进程的拓扑结构; 而且MSTP提供了多个数据转发路径和负载均衡, 提高了网络容错能力。
3仿真实验设计与配置
本实验采用4台交换机设备, 2台三层交换机、 2台二层交换机; PC1属于VLAN100、 PC2属于VLAN200、 PC3属于VLAN300、 PC4属于VLAN400中 。
3.1网络拓扑设计
仿真实验拓扑如图1所示, S3550A与S3550B为三层交换机, S2126A与S2126B为二层交换机。
3.2设备配置
( 1) 利用VTP在交换机 上创建VLAN100、 VLAN200、 VLAN300、 VLAN400。
S3550B接口的配置步骤与S3550A的1) ~3) 相同 。
S2126B的配置与S2126A相同 。
(2) MSTP配置 。 将VLAN100、 VLAN200映射到实例1, VLAN300、 VLAN400映射到实 例2。 通过定义 优先级设 置S3550A作为实例1的根桥 、 实例2的备份根桥 ; S3550B作为实例2的根桥、 实例1的备份根桥。
S3550A的配置 :
S3550B的配置 :
S3550B的生成树协议的配置步骤1) ~6) 与S3550A的一致, 只将7) ~8) 的配置作如下改动:
交换机S2126A与S2126B的只需要做步骤1) ~6) 的配置即可。
3.3实验结果仿真分析
(1) 交换机S3550A实验结果
(2) 交换机S3550B实验结果
(3) 交换机S2126A实验结果
通过上述配置可知, 根桥的选举结果如表1所示, 实例1是一棵以S3550A为根的树 , VLAN100、 VLAN200的数据包 首选由根桥S3550A转发。 实例2是一棵以S3550B为根的树, VLAN300、 VLAN400的数据包首选由根桥S3550B转发 。 不同的实例修剪成了一个无环的树结构, 每棵树的根是该实例的根桥, 不同实例首选通过本实例的根桥转发数据包; 如果链路出现故障, 网络会自动使用备份桥转发数据包。
4结语
由上述实验可知: 多生成树协议将一个交换网络划分成多个域, 每个域可以将环路网络修剪成为一个无环的树型网络, 避免了报文在环路网络中的无限循环, 提供了多个冗余路径的 数据转发 ; 在数据转 发过程中 还可以根 据流量实 现VLAN数据的负载均衡 , 从而提高了线路的利用率 。
参考文献
[1]罗定福,李厦龙.多生成树协议实现负载均衡实验的设计与实施[J].电脑知识与技术,2013,(10).
[2]张雪敏.多生成树协议MSTP在实验中的应用[J].考试周刊,2012,(7).
协议设计与分析 第8篇
关键词:Flexray,高速比较器,协议分析,协议触发
混合示波器中的协议分析与触发功能越来越丰富, 如何在不增加硬件成本的情况下快速地把协议分析与触发功能融进示波器成为迫切需要解决的问题。
1 示波器中Flexray协议分析与触发总体方案
本文要设计的Flexray协议分析与触发电路充分利用了示波器中通道调理电路、高速比较器、FPGA等已有电路, 主要工作在FPGA中完成, 原理框图如图1所示。flexray信号经过示波器的通道调理电路后进入高速比较器进行转换, 转换后的数字信号以LVDS的方式与FPGA连接, FPGA完成flexray协议的分析与触发功能。
2 关键电路实现
系统设计的核心是FPGA设计, 主要完成时钟的产生及选择、帧头检测、协议解码、协议分析、协议触发以及数据存储等功能, FPGA设计的功能框图如图2所示:
时钟发生模块主要用来产生62.5MHz、125MHz以及250MHz的解码时钟, 时钟选择电路根据flexray总线信号的速率选择相应的时钟, 当总线速率为2.5MHz、5MHz、10MHz时时钟选择电路分别输出62.5MHz、125MHz以及250MHz的解码时钟clk。
比较器输出的差分信号经过IBUFDS变成单端后送入帧头检测模块进行帧头检测, 帧头检测模块根据图3所示flexray总线的帧编码特点了进行检测。从flexray总线的帧编码图可以看出一帧中TSS具有唯一性, 因此, 帧头检测模块可以通过解码时钟clk来检测TSS。帧头检测模块的检测过程仿真如图4所示, 帧编码为ch_clk, 当TSS的时间长度大于等于计数器count2预设置的计数时间 (即TSS的最小时间间隔) 时产生test2;当帧编码信号ch_clk的上升沿检测到test2为高时产生test3, 同时启动计数器count4, count4的计数时间为帧起始序列FSS的宽度, count4计数结束后启动count5、count6、count7, count7为字节计数, count6为字节起始序列和字节中位的计数。从图中可以看出当ch_clk的下降沿检测到count7的值为1且count6的值为1时产生了帧头触发使能信号frame_start_trig_en, 该信号送入触发电路就能产生帧头触发。
检测到帧头后, 解码模块开始解码, 解码过程如图5所示, decode_data为解码, 其前5个字节是数据指示位、空帧指示位、启动帧指示位、ID、有效数据长度、头部循环校验、循环计数等数据;第6个字节开始为有效数据。
协议分析及触发模块根据解码模块输出的数据进行协议分析和触发条件判断, 若满足触发条件择发出触发信号给触发电路, 触发电路来完成触发。
3 结束语
本文主要介绍了示波器中Flexray协议分析与触发电路设计, 重点描述了时钟发生模块、帧头检测模块、解码模块、协议分析及触发模块。该设计方法及思想在以往的课题中得到了广泛应用, 取得了良好的效果。
参考文献
[1]罗峰, 苏剑, 袁大宏.汽车网络与总线标准[J].汽车工程, 2003, 25 (04) :372-376.
[2]田耘, 徐文波.Xilinx FPGA开发实用教程[M].北京:清华大学出版社, 2008.
协议设计与分析 第9篇
RFID(射频识别)[1]是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据。随着互联网技术的高速发展,RFID产业规模和价值迅速扩张。从物流交通运输业、医疗、餐饮业、生态农业、智能家居、校园一卡通、到现在的RFID-SIM卡手机支付业务,都体现着RFID技术的社会价值和对社会信息化的推进作用。RFID技术的广泛应用,也对RFID技术的可靠性、安全性、低成本和低能耗提出了更高的要求。
为了实现无线数据网络通信,需要为无线网络制定一种通信协议,如国际标准的ZigBee,Wi-Fi,蓝牙等。但是这些协议价格高、灵活性差、对硬件性能要求高。SimpliciTI网络协议[2]也是在这种情况下由美国TI(德州仪器)公司推出的,它的推出恰好弥补了现有无线标准在这些方面的不足,在灵活性、成本方面的优势对现有标准起到了一个很好的补充。本文提出的基于SimpliciTI协议的2.4 GHz RFID系统具有低成本、低功耗、可加密和组网方便的优点。
1 系统设计
1.1 系统原理
本系统设计由阅读器、标签两部分组成。RFID系统中的读卡器和标签作为无线传感器网络协议的物理层的接入点和终端设备,根据SimpliciTI协议[2]的网络层规定进行数据交换。阅读器将标签返回的信息进行处理之后利用RS 232通信接口把数据传输给后台PC机,然后PC机把这些数据信息通过光纤传输给远程的服务中心。
1.2 阅读器电路设计
阅读器作为无线网络的控制中心,要实现对标签定时查询和信息采集的功能,并完成与上位机的通信。阅读器由MCU、射频收发器和天线三部分组成,控制芯片选择TI公司MSP430系列的MSP430FG4619[3],射频收发器采用TI公司的CC2500芯片,天线采用PCB印刷偶极子天线。CC2500芯片[4]是一款低功耗低价格的2.4 GHz射频收发器,数据速率最高可达500 Kb/s。CC2500提供对数据包的处理、数据缓存、突发传输、信道评估、连接质量检测和无线电信号唤醒功能的硬件支持,睡眠模式下400 nA电流消耗,并且有独立的64 B的RX和TX数据FIFO。
阅读器利用MSP430FG4619内部的timerA定时器[5]实现定时查询功能,通过USART的SPI模式完成对CC2500芯片的配置和数据的收发,通过USCI的UART模式完成与上位机的通信;利用RTC和LCD控制器可以方便地把采集到的信息和时间在外接LCD显示屏上显示出来。阅读器的硬件设计电电路如图1所示。
1.3 标签电路设计
标签作为无线网络终端设备,携带有用户有效信息。标签的设计采取的是超低功耗MCU、射频收发器和天线的架构。标签是有源的,采用电池供电,因此设计中应把MCU和射频收发器的功耗和标签的有效读取距离折中考虑。
MCU选择TI公司的MSP430F2013,片上外设包括USI接口、定时器、A/D和温度传感器等。该处理器具有三种超低功耗模式:活动模式(20 μA)、等待模式(0.5 μA)、掉电模式(0.1 μA)[6]。
MSP430F2013主要实现整个标签的控制和数据处理功能,并通过USI接口SPI主模式对CC2500进行配置和数据交换。CC2500芯片通过1/4波长的偶极子平衡天线接收和发送数据。标签电路如图2所示。
2 系统软件设计
2.1 SimpliciTI协议分析
SimpliciTI协议主要定义了范围扩展器(Range Extender)、终端设备(End Device)、接入点(Access Point)(网络协调器)的抽象概念[7]。SimpliciTI协议能够很好地支持简单星型网络的对等拓扑结构,最大化地利用了单个网络协调器。简单的星型拓扑结构如图3所示,其中Query Device为接入点,Tag为终端设备。SimpliciTI协议提供简化的网络管理功能:网络初始化、基本链接管理、网络搜索、对休眠设备发送信息的暂存与转发等。
设计中把RFID系统中的读卡器作为接入点,所有的标签作为终端设备,把读卡器接入点采集到的标签信息传送至后台进行处理。
SimpliciTI协议架构[8]如图4所示,在该构架中处于物理层的MRFI为最小射频接口,定义了无线收发器的基本读写接口,SimpliciTI协议支持不同的无线收发器,但不同的无线收发器和网络层的接口都是相同的。
虽然不同的无线收发器在数据链路物理层中具有不同的特性,但MRFI接口屏蔽了这些不同点,所以在程序设计中可以直接对MRFI接口进行操作,而不用考虑物理层的特殊性,本设计采用CC2500芯片实现MRFI接口功能。网络层管理发送和接收消息序列并对消息帧进行调度发送到指定目的地址,目的地址通过端口号(PORT)指定。网络层不对消息帧进行任何处理[8]。端口标号小于0x1F的端口被网络层用来管理网络,其包括的Ping,Link,Join,Freq分别对应端口0x01,0x02,0x03,0x05。用户端口是在网络层进行Link的过程中分配的。应用层主要实现网络应用管理和用户程序应用功能。常用的网络管理应用如表1所示。
SimpliciTI协议应用程序接口函数主要有下面四组,在本设计的软计中主要用前三组协议函数去完成组网、读取标签信息的功能。
(1) 接口初始化:
接口初始化过程为MCU初始化、射频前端(CC2500芯片)初始化和SimpliciTI协议堆栈初始化。调用的协议函数有BSP_Int(),smplStatus_t SMPL_Int(unit8_t (*callback)(linkID_t))。其中,BSP_Int()主要完成对MCU和射频前端的初始化,smplStatus_t SMPL_Int(unit8_t (*callback)(linkID_t))完成协议堆栈的初始化。
(2) 连接接口函数:
smplStatus_t SMPL_Link(linkID_t *lid),smplStatus_t SMPL_LinkListen(linkID_t *lid)建立两个点之间的连接并获其通信句柄LinkID。
(3) 数据接口函数:
SMPL_SendOpt(),SMPL_Send()和SMPL_Receive()在已经建立连接的两个点之间进行通信。
(4) 器件控制接口函数:
SMPL_Ioctl()能够更准确地控制器件工作情况。
2.2 阅读器程序设计
阅读器程序设计主要实现SimpliciTI协议接入点的逻辑定义。阅读器工作在定时查询模式。物理层的功能模块包括timerA定时查询模块、采集信息模块、实时时钟模块、LCD显示模块、CC2500配置模块、UART串口通信模块。调用接口初始化函数BSP_Int(),smplStatus_t SMPL_Int(unit8_t (*callback)(linkID_t))[9]完成网络接入点的硬件初始化和协议堆栈的初始化,定时发送查询信息已激活标签终端,使标签发送加入附近网络的Join请求,然后阅读器响应标签的Join请求,标签接收到阅读器的响应之后发送Link请求,然后阅读器响应标签的Link请求,阅读器与标签建立了连接,标签向阅读器发送自身存储器的信息,阅读器接收到标签信息之后通过串口发送至后台PC机。阅读器程序流程如图 5所示。
2.3 标签程序设计
标签程序设计主要实现SimpliciTI协议终端设备的逻辑定义,标签程序设计,调用BSP_Int()和smplStatus_t SMPL_Int()函数完成终端设备的硬件初始化和协议堆栈的初始化, 在没有收到阅读器的查询指令时标签一直处在深度低功耗的休眠模式,只有接收到阅读器的查询指令时才从休眠模式唤醒,向阅读器发送Join请求命令,当接收到阅读器的Link token(连接口令)[10]之后,调用SMPL_Link()函数向阅读器发送Link请求,在接收到阅读器的Link响应之后调用SMPL_Send()函数把标签存储器中的信息发送给阅读器,完成数据传输后再次进入休眠模式。标签的接收中断服务流程如图6所示。
3 测试结果
在实验平台组建中使用一个阅读器作为无线网络的接入点控制整个无线网络,使用三个标签作为终端设备,建立无线网络平台。标签通常处于休眠状态,只有当阅读器唤醒的时候才激活,阅读器定时去查询标签。无线网络的试验测试条件为:工作频段为2 400~2 483.5 MHz,工作电压为3.0 V,调制方式为2FSK,数据传输速率为250 KBaud,错误校验为CRC16,误码率小于1%。在试验测试中网络终端设备标签为低功耗设备,发射输出为23 dBm,测得通信距离可达到45 m。在保证通信链路质量的条件下,最小地消耗设备能量,终端设备在休眠模式下的功耗电流最小可达到0.50 μA。
4 结 语
本文设计的基于SimpliciTI协议的2.4 GHz RFID 具有功耗低,成本低,组网方便,开发周期短,通信效果好等优点,并且网络终端数量最多可达100个,非常适用于智能家居、车辆监管、农业工业环境监测、道路交通监测和物流业中快件分拣等方面。随着物联网的快速发展,这种基于SimpliciTI协议的2.4 GHz RFID系统具有广阔的前景和社会效益。
参考文献
[1]游战清.无线射频识别技术(RFID)理论与应用[M].北京:电子工业出版社,2004.
[2]Texas Instruments Inc..SimpliciTI:application program-ming interface[M].San Diego,California,USA:TexasInstruments Inc.,2009.
[3]Texas Instruments Inc..MSP430x4xx family user′s guide[M].San Diego,California,USA:Texas InstrumentsInc.,2008.
[4]Texas Instruments Inc..CC2500 single chip low cost lowpower RF[M].San Diego,California,USA:Texas In-struments Inc.,2006.
[5]沈建华,杨艳琴.MSP430系列16位超低功耗单片机原理与实践[M].北京:北京航空航天大学出版社,2008.
[6]Texas Instruments Inc..MSP430x2xx family user′s guide[M].San Diego,California,USA:Texas InstrumentsInc.,2007.
[7]Texas Instruments Inc..SimpliciTI:Simple modular RFnetwork developers notes[M].San Diego,California,USA:Texas Instruments Inc.,2009.
[8]王军强.基于SimpliciTI的无线传感器网络关键技术研究[D].重庆:重庆大学,2009.
[9]Texas Instruments Inc..SimpliciTI:Simpliciti sampleapplication user′s guide[M].San Diego,California,USA:Texas Instruments Inc.,2009.
一种网关协议转换方法分析及设计 第10篇
在航空电子系统中,对于安全和关键的系统提供高速、可靠的实时通信是必要的而且是基本的要求。最新研制的A380、A400M、B-787等飞机,均采用高速数据通信网络作为航电系统主干连接网,用来实现系统的核心处理机或主要分系统之间的数据交换[1]。
ARINC664标准(简称A664)是由美国航空无线电公司制定,其第七部分是航空专用全双工交换式以太网(Avionics Full Duplexed Ethernet)的通信协议标准。在继承商用以太网的成熟技术和商用货架产品(COTS)的低成本等优点的同时,采用全双工交换网络拓扑结构避免商用以太网传输延时的不确定性,增加冗余提高网络的可靠性。A664标准具有高带宽、低延时和高可靠性等优点,满足大飞机航电主干网络的通信要求。
但是在某些分系统内,仍然采用技术更为成熟的、低成本的ARINC429(简称A429)、ARINC825(简称A825)等总线通信标准。这些分系统接入到航电系统主干网络,就需要通过网关进行协议数据转换。
1 分析
本文在分析A664网络应用层数据格式和A429、A825等协议数据格式的基础上,设计和实现各协议与A664的协议转换方法。
1.1 A664标准
A664标准是航电无线电通信公司基于以太网技术开发的标准,其基本信息单元兼容以太网帧,包含14个字节的MAC帧头部,20个字节的IP数据包头部,8个字节的UDP数据报头部和1~1471字节的有效载荷。
1.1.1 功能数据集
A664在有效载荷中,提供功能数据集的概念来封装其他格式数据。功能数据集(Functional Data Sets,FDS)是一种将消息中数据原语聚合成组的办法,数据原语代表飞机的参数或其它数据。所有基于非协议的数据被格式化成为功能数据集以便在飞机数据网络中传输。功能数据集(FDS)由两种类型的域构成:功能状态集(Functional Status Sets,FS)和数据集(Data Sets,DS)。功能数据集结构如图1所示[2]。
UDP载荷中第一个字(32 byte)为保留字,其后可以定义多组功能数据集,每组功能数据集包括1个功能状态集(32位)和4个数据集。
功能状态集包含4个状态字段(FS字段,8位),用于分别表示该组中4个数据集的状态。具体状态含义如表1所示。数据集包含若干个数据原语。
1.1.2 数据原语
A664标准规定的数据原语有以下几种类型:1)整型:采用2的补码形式表示;2)浮点数:采用IEEE-754定义的格式表示;3)布尔型:采用32位结构,从最低有效位开始,往最高有效位填充,右对齐,无用的字段填0;4)字符串:字符串结构是固定尺寸的,数据结构由3个部分组成:长度域、数据域和填充域。前2字节是一个16位的无符号整数,定义数据区占据的字节数,填充区在剩余的地方填充0以填充满整个结构。5)非透明数据(Opaque data):非透明是指数据格式对A664网络未知,但是对于数据的产生者和消费者已知。非透明数据分为两种:定长数据和变长数据。
定长非透明数据由指定长度的字节序列组成。变长非透明数据结构是固定尺寸的,数据结构与字符串相同,也是由3个部分组成:长度域、数据域和填充域。前2字节是一个16位的无符号整数,定义数据区占用的字节数,填充区在剩余的地方填充二进制0,以填满整个结构。
1.2 A429标准
A429标准是美国航空无线电公司制订的民用航空数字总线传输标准,是一种单向广播式标准的高速差分信号通信总线。A429总线上只允许有一个发送器,但可以有多个接收器,最多为20个接收器。信息只能从通信设备的发送口输出,经传输总线传至与其相连的需要该信息的其他设备的接收口。
因抗干扰能力强、技术成熟、简单有效、性能可靠、成本低廉等特性,A429总线在民用和军用航空领域被广泛应用,如波音公司、空客公司的许多先进飞机的航电、供电系统中的机载计算机及导航设备之间信息交联都大量采用了这种主要总线[3]。
A429基本信息单元是由32位构成的一个数据字[4]。数据字中各位的意义如下:
第8-1位:数据字的标识符LABEL,用于识别数据字的应用格式。数据字有5种应用格式:BCD数据字、BNR数据字、离散数据字、维护数据字和AIM数据字。
第10-9位:源/目的标识符SDI,用于发送数据字给总线上特定接收设备或用于接收器识别总线上的源设备。
第31-30位:状态位SSM,表示数据有效性与否。具体含义如下:00表示失败警告(FW)、01表示无有效数据(NCD)、10表示功能测试(FT)、11表示正常操作(NO)。
第32位:奇偶校验位P。
1.3 A825标准
德国BOSCH公司于80年代初开发出一种串行数据通信协议--CAN总线,目的在于解决现代汽车中众多的控制与测试仪器之间的数据交换,它具有良好的通讯可靠性、实时性和较高的网络安全性,而且简单易用,网络成本低[5]。
美国航空无线电公司将CAN总线应用到航空领域,提出了A825标准。A825基本信息单元结构如图2所示[6]。
基本信息单元的含义如下:
ID字段:标识符29位,包含逻辑通道LCC、功能ID、本地标识LCL、私有标识PVT、数据对象码DOC和冗余通道标识RCI等。
RSD字段:保留位,2位。
DLC字段:长度字段,指示数据字段的有效字节数,其值为0~8。
DATA字段:数据字段,包含DLC指定长度的数据。
1.4 A664封装
A664网络提供的消息长度明显大于A429和A825。因此允许A664以不同的格式表示数据,数据元素能够具有更高的精度。在A664中最小尺寸的数据包具有18字节的有效载荷。如果在A664网络中被发送的消息小于18个字节长度,在消息出现在介质上之前,它将被加上填充字直到18字节,这样数据包的开销相比载荷较小,并不是一种有效率的网络使用方法。当数据包的尺寸达到几百个字节长度,网络开始变得更有效率。
因而需要根据A429和A825数据的产生方式对它们分组,例如,如果一个传感器以相同的速率发送几个不同的A429标签值(label),当该传感器配备到一个A664网络接口的时候,这些数据元素很可能是被分为一组,一起构成单个的消息。
可以根据A429和A825消息的传输需求,给出两种封装方式:1)把每个消息放入固定长度的非透明数据;2)把一些不同数量的消息放入可变长度的非透明结构中。
A664和A429均采用消息有效性的机制(FS字段和SSM字段),而在A825中未定义该字段,因此在A825消息中使用RSD字段标识消息有效性,提供FS功能。
2 设计
本文中考虑A429和A825消息在工程中的传输需求,综合使用定长数据和变长数据。定长数据指转换过程中A664数据内容定义及长度为固定格式;变长数据指数据网关转换按照某种周期调度进行,数据以不同的速率到达数据网关,因此在一个给定的时间周期内,到达数据网关的数据长度不是固定的,数据网关需要将给定的时间周期内收到的变长数据进行转换操作。
2.1 A664与A429数据转换
实现A664同A429数据的双向转换功能,主要包括四种类型的转换:1)A429到A664定长数据转换;
2)A429到A664变长数据转换;3)A664到A429定长数据转换;4)A664到A429变长数据转换。
2.1.1 A429到A664定长数据转换
A429到A664定长数据转换负责将429总线上接收的固定数量的数据转换为A664功能数据集报文,并进行转发。
数据转换步骤如下:1)采用A429的校验位进行校验;2)若通过奇校验,A429数据直接被打包到A664应用消息的DS位置,否则放弃该数据;3)当检测到内部错误影响到数据的有效性时,将FS字段设置为ND,无错则NO;4)采用队列端口来发送A664数据。
2.1.2 A429到A664变长数据转换
A429到A664变长数据转换负责将429总线上接收的数量不确定的数据转换成A664功能数据集报文,通过A664端口进行转发。转换过程中,将A429数据看成一个32位的Opaque字,不对数据进行任何的改动,直接进行传输。
数据转换步骤如下:1)通过label号来判断接收到的消息,不区分每个A429的32位数据,当做一个块处理;2)采用A429的校验位进行校验;3)若通过奇校验,直接将A429数据依次打包到A664应用消息的指定位置,修改FS字段为NO,将长度域数值加一,否则放弃该数据;4)判断长度域是否为0或者为4的倍数,如果失败,置FS字段为ND。5)采用队列端口来发送A664数据。
2.1.3 A664到A429定长数据转换
A664到A429定长数据转换负责将A664协议报文中的功能数据集转换为A429参数报文,并进行转发。
数据转换步骤如下:1)采用队列端口来接收包含A429块的A664数据;2)检测FS字段是否为NO或FT,是则继续,否则返回状态错误;3)按照ARTNC429协议要求的格式对要发送至429设备的数据进行编排:根据转换规则,对A429数据Label号进行更新,采用奇校验进行计算A429数据的奇偶校验位;
4)通过A429端口发送数据。
2.1.4 A664到A429变长数据转换
A664到A429变长数据转换负责将A664协议报文中的功能数据集中的A429报文块,通过A429端口进行转发。转换过程中,将A429数据看成一个32位的Opaque字,不对数据进行任何的改动,直接进行传输。
数据转换步骤如下:1)采用队列端口来接收包含A429块的A664数据;2)检测FS字段是否为NO或FT,是则继续,否则返回状态错误;3)按照A664数据中A429块的顺序提取A429数据,进行奇检验。如果校验成功则继续,否则不转发;4)当长度字段标识的数据长度为4的倍数时,按照A664数据中A429块的顺序对其进行发送。
2.2 A664与A825数据转换
实现A664同A825数据的双向转换功能,主要包括四种类型的转换:1)A825到A664定长数据转换;
2)A825到A664变长数据转换;3)A664到A825定长数据转换;4)A664到A825变长数据转换。
2.2.1 A825到A664定长数据转换
A825到A664定长数据转换负责将A825总线上固定数量的消息转换为A664协议报文中的功能数据集,并进行转发。
数据转换步骤如下:1)接收到指定A825参数时,判断RSD字段中的FS状态是否是FT或者NO,是则继续,否则返回状态错误;2)取出A825消息中的8个有效字节,并将该数据映射到一个单A664的DS中,如果失败,将FS状态置为NCD;3)采用队列端口发送A664数据。
2.2.2 A825到A664变长数据转换
A825到A664变长数据转换负责将A825总线上数量不确定的消息转换为A664协议报文中的功能数据集,并进行转发。
数据转换步骤如下:1)接收到指定的A825消息时,判断RSD字段的FS状态是否是FT或者NO,是则继续,否则返回状态错误;2)根据A825消息中DLC的取值得到相应数量的有效数据,将其映射到A664应用消息中并修改长度域,如果失败,将FS状态置为ND;3)采用队列端口发送A664数据。
2.2.3 A664到A825定长数据转换
A664到A825定长数据转换负责将包含定长数据的A664协议报文中的功能数据集转换为A825报文,并进行转发。
数据转换步骤如下:1)采用队列端口来接收A664数据;2)解析出A825功能数据集,检测FS字段是否为NO或FT,是则继续,否则返回状态错误;3)对A825数据进行组包:DLC填写A664应用消息包含的有效字节置0~8的数值,A664消息中的FS转化为A825格式中RSD字段,有效数据用A664消息解析的传输数据填充,其它字段填写预定值;4)按照A664数据中A825参数的顺序对其进行发送。
2.2.4 A664到A825变长数据转换
A664到A825变长数据转换负责将包含变长数据的A664协议报文中的功能数据集依次转换为A825报文,并进行转发。
数据转换步骤如下:1)采用队列端口来接收A664数据;2)解析出A825功能数据集,检测FS字段是否为NO或FT,是则继续,否则返回状态错误;3)获得A664消息中A825消息的字节数,每8个字节组成一个A825数据域,最后一个A825数据域可包含1~8个字节;4)按照A664到A825定长数据转换方式对每个A825数据域进行组包;5)通过A825端口发送数据包。
3 结语
文章介绍了A664网络数据格式和A429、A825等协议数据格式,以及功能数据集、功能状态集和数据集等概念,设计和实现各协议与A664的协议转换方法,为A429、A825总线和A664网络对接提供了接口。
摘要:大飞机面向综合化、模块化航电总体需求,采用ARINC664标准构建航电主干网络,在某些分系统内部采用更为成熟的ARINC429、ARINC825等总线通信标准。在分析ARINC664网络应用层数据格式和ARINC429、ARINC825等协议数据格式的基础上,分析及设计各协议与ARINC664的协议转换方法。
关键词:ARINC664,ARINC429,ARINC825,协议转换
参考文献
[1]支超有.机载数据总线技术及其应用[M].北京:国防工业出版社,2009.
[2]A Airlines Electronic Engineering Committee.Aircraft data network part7:Avionics full duplexswitchedEthernet network[S/OL].2005.
[3]张桢,孙沛.基于FPGA的A429总线通讯板设计[J].航空计算技术,2010,40(4):112-115.
[4]A Airlines Electronic Engineering Committee.ARINC Specification 429:Mark 33 Digitalinformation transfersystem(DITS)[S/OL].2004.
[5]李广鑫,秦贵和,刘文静,等.CAN总线网关的设计与实现[J].吉林大学学报(信息科学版),2010,28(2):166-171.
协议设计与分析
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。