网络协议规范范文

时间:2023-06-02 15:01:40

导语:如何才能写好一篇网络协议规范,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

网络协议规范

篇1

关键词:Libnet;协议测试;DHCP

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)32-7218-03

计算机网络在各行业的广泛应用促使许多新的协议规范被制定,在协议规范被实现后投入应用前需要进行测试,全面的网络协议测试能够保证协议实现按照协议规范稳定可靠地运行。协议测试的研究涉及了协议描述、测试生成、测试集描述法、测试实现等多个环节,在这些方面,国内外研究人员经过多年努力达成了很多共识,例如:网络协议测试类型包括一致性测试,互操作性测试,性能测试和健壮性测试[1]。测试理论的形式化方法主要包括:SDL,LOTOS,Petri网,Estelle等[2-4]。该文研究的重点是测试实现部分,介绍基于Libnet与WinPcap函数库的协议测试系统的实现方法,并结合DHCP协议进行测试从而验证测试系统的有效性。

1 协议测试技术

网络协议测试属于计算机软件测试的一个分支,在测试领域中测试方法分为3种:白盒测试、黑盒测试和灰盒测试。白盒测试通过每条语句至少执行一次来全面检查整个程序代码,而黑盒测试只测试软件外部可以观察到的行为,不涉及程序的内部结构。白盒测试的测试能力非常强,但是过程过于复杂,对被测软件要求也很高。黑盒测试只关心被测软件的输入和输出,测试能力虽然弱了些,但是测试过程本身相对简单,对被测软件要求也无特殊要求。灰盒测试是将白盒测试和黑盒测试结合起来形成的一种测试方法,吸收了两种方法的优点。在通信测试中,协议测试因为协议实现的复杂性往往采用黑盒测试,它并不检查协议代码,而是按照协议标准,通过控制观察被测协议实现或系统的外部行为对其进行评价。

协议测试中用来描述特定协议或协议族测试的实体称为测试集,它由多个测试组构成,测试组对应于此协议族的一个标准协议规范,测试例对应于一个标准协议规范的某一项功能描述,完成一个测试例可能需要不同的测试过程,一个测试过程的完成需要进行初始化、发包、收包、比较以及处理结果等步骤,每一个动作称为一个测试步,它是测试集中最小的单位。在构造用于测试协议实现的输入数据包时采用了Libnet函数库,在捕获协议实现的反馈输出数据包时采用了WinPcap函数库,Libnet与WinPcap都是免费开源的函数库,它们封装了常用繁琐的网络开发过程函数,开放出简单统一的API接口功能函数,方便用户调用,使开发人员能够忽略网络底层细节的实现,从而专注于程序本身具体功能的设计与开发。Libnet与WinPcap都是基于C语言的函数库,具备低层网络数据包操控能力。

2 测试系统总体结构

测试系统包括测试集管理,测试例构造与测试结果管理3个功能模块,系统执行测试时的顺序与测试例构造模块中构造的测试步顺序一致。在对被测系统开始测试前需要针对协议规范设计测试例,所有测试例由测试集管理模块维护,最终的测试结果生成依赖测试例的执行结果。测试例由许多测试步组成,测试步包括两种执行逻辑:激励数据包发送和反馈数据包捕获。发送的激励数据包根据被测协议的类型与数据报文的类型设定首部各字段与报文数据,它的作用是激励被测系统内部产生状态变迁并发送反馈数据包。测试系统能够实时捕获所有数据包,根据filter条件过滤后选出特定报文并与测试步匹配,根据匹配结果系统决定测试步执行状态:丢弃报文继续阻塞,定时器清零继续下一测试步或者测试完成。在测试步执行过程中设置定时器,定时器时间的指定在测试例构造中完成。测试系统的总体结构如图1所示。

3 测试系统的设计与实现

本测试系统与被测实体部署在同一个交换网络中,被测实体是特定协议的一个实现,可以位于计算机或路由器等网络设备中,通过构造特定数据包并且捕获响应报文对协议外部行为进行分析测试。关键模块包括测试例构造,数据包构造与发送,数据包捕获与过滤。

3.1 测试例构造

系统实现时在测试例的构造模块中设置了行为选项来区分发送数据包与捕获数据包,测试步间隔时间选项用于控制相邻测试步执行的时机。对于发送数据包,根据协议的类型构造数据包设置页面,在此页面中设置首部字段与数据包内容,由于libnet提供自动计算校验和功能,此页面中首部校验和字段设置为0。对于捕获数据包,设置了匹配选项与传递选项,匹配选项用于判定数据包特征并触发下一测试步,传递选项用于决定是否需要将捕获数据定字段复制到下一测试步发送数据包特定字段中以及复制内容。对构造完的测试例启用测试将顺序执行其中的测试步,遇到捕获测试步将阻塞并启用超时定时器,每一个测试步执行过程都记录在日志文件中。

3.2 数据包构造与发送

系统实现使用Libnet函数库构造底层数据包,在依照协议字段长度与类型对测试例中设置的各字段进行合法性校验后调用libnet_init ()函数初始化函数库,此函数调用了WSAStartup()函数开启网络,同时分配一块内存区域建立libnet_t结构并返回此结构的描述符,这个描述符作为参数传递给构造数据包函数和发送数据包函数。测试步中设置的协议及各字段进行格式转换后传递给构造数据包函数,数据包构造函数根据协议族中的位置自顶向下建立数据报文头部,待发送的数据作为协议首部的有效载荷被加载,构造函数具备自动计算协议首部校验和字段的功能。测试报文发送函数根据协议类型调用socket函数将已构造好的缓冲区中的数据通过网卡发送到网络上,它的函数原型为:int libnet_write(libnet_t *l),此函数实现中调用了函数PacketSendPacket(),此函数在头文件packet32.h中声明,Packet32.lib与Packet32.dll是相应的静态链接库与动态链接库。WinPcap开发包中自带了Packet32,在工程项目中需要设置合适的系统路径。测试完成后使用libnet_destroy()函数来释放所占用的SOCKET连接、缓冲区等资源。

3.3 数据包捕获与过滤

捕获响应数据包使用WinPcap函数库,它的核心是NPF协议驱动,符合NDIS规范。在捕获数据包的线程里使用pcap_open()打开网络接口,pcap_next_ex()读取网卡接收的数据包,网卡在混杂模式会捕获大量的数据包,如果逐一比对测试步将消耗大量资源,在系统实现时调用pcap_setfilter()设置数据包过滤器,在调用pcap_setfilter前先使用pcap_compile()函数把高层的过滤规则解释成能被过滤引擎集成到数据包驱动中的低级字节码。

4 DHCP协议测试与结果分析

在对特定协议进行测试时需要根据协议的行为特征设计测试拓扑。某些协议的数据交换行为局限于测试平台与被测实体间,这种情况下只需将其部署在交换环境下即可,例如TCP协议的测试。而对于路由协议这样的协议而言,则需要设计更为复杂的拓扑,路由器的多个端口都需要部署测试平台进行协同测试。在协议安全性测试时借助交换机端口映射功能可以模拟攻击的拓扑结构。

为验证测试平台的有效性,选择DHCP协议进行测试。DHCP协议动态管理IP地址,工作在传输层之上,使用UDP提供的服务。其数据包封装格式如图2所示:

依照图2中DHCP数据包封装的结构,在构造DHCP数据包时调用函数依次为libnet_build_dhcpv4(),libnet_build_udp(),libnet_build_ipv4(),libnet_autobuild_ethernet(),Winpcap过滤DHCP数据包使用协议限定符“bootp”。测试采用的拓扑如图3所示:

测试拓扑中使用路由器作为DHCP服务器,在路由器上启用DHCP server服务,并且配置地址池、网关、地址租期等信息。

ip dhcp excluded-address 172.16.1.1 172.16.1.100

ip dhcp pool net172

network 172.16.1.0 255.255.255.0

default-router 172.16.1.254

dns-server 172.16.1.253

lease 30

在测试机上设置测试例Ts_sc,配置测试步:TS_DHCPDISCOVER,TS_DHCPOFFER,TS_DHCPREQUEST和TS_DHCPACK,其中TS_DHCPDISCOVER和TS_DHCPREQUEST是构造的激励数据报文,TS_DHCPOFFER与TS_DHCPACK为反馈数据报文。测试系统上启用测试执行Ts_sc测试例,在路由器上启用DHCP event调试,调试信息显示路由器DHCP服务状态发生变化,测试系统完成所有测试步后成功获得172.16.1.0网段IP,使用show ip dhcp server statistics查看DHCP服务器统计信息,与测试系统结果一致。

5 结束语

本文基于Libnet与WinPcap函数库设计并实现了一个网络协议测试系统。在用于协议一致性测试时可手工设置测试用例,灵活配置协议首部字段,能够对常见网络协议进行测试。在用于网络性能测试时可以设置数据包类型与数据包的发送数量,网络注入速度受数据包长度与网卡接口速度、交换机背板带宽等因素限制,可分布多台测试系统在网络中同时注入从而提高注入速度。经过多年的研究,在协议一致性测试集自动生成技术方面,研究人员提出了多种可行的方法,下一步的主要工作是整合测试集自动生成技术从而完成协议自动测试,同时进一步完善支持的协议类型,增强扩展性。

参考文献:

[1] 毕军,史美林.计算机网络协议测试及其发展[J].电信科学,1996(12):51-54.

[2] 章韵,杨庚,钱恩渊.基于SDL语言的通信协议系统设计方法[J].计算机工程与应用,2001(22):95-98.

[3] 潘红艳,于全.用于通信网络协议开发的形式化方法[J].计算机工程,2004(2):129-134.

[4] 罗军舟,沈俊,顾冠群.从Petri网到形式描述技术和协议工程[J].软件学报,2000(5):606-615.

[5] 刘浏,陈晓梅.基于测试套优化的DHCP协议一致性可扩展测试系统设计[J].信息网络安全,2012(8):206-209.

[6] 程方,王鹏.现代网络测试技术发展综述[J].重庆邮电大学学报:自然科学版,2008(6):57-60.

[7] 刘洪霞,赵保华.基于协议实现的网络安全测试[J].小型微型计算机系统,2007(4):619-621.

[8] 尹霞,王之梁,景传明,施新刚.一种基于TTCN-3的协议测试系统及其扩展研究[J].中国科学:E辑:信息科学,2008(10):1594-1613.

[9] 李尧,胡玲,郝文.基于状态的自动化无线协议安全测试平台设计[J].计算机应用与软件,2012(11):168-171.

篇2

【关键词】EtherCAT ETG GB/T

一、引言

EtherCAT作为最新一代的开放的实时以太网现场总线协议,最早是由德国的倍福自动化有限公司(Beckhoff Automation GmbH)研发。现在由EtherCAT技术协会(EtherCAT Technology Group,简称ETG)来统一组织和管理。EtherCAT技术是基于工业以太网技术的开发的,这样的话,用户只需要主板集成的MAC口或者廉价的标准网卡,就可以完成组态,系统价格与其余现场总线相当,甚至是更加便宜。但是相比其他现场总线技术,性能却要强劲许多,包括65535个从站节点,自动设置地址,通讯速度更快等等。所以,EtherCAT非常适用于高速、精密控制等场合。现在,EtherCAT技术已经广泛地应用于设备控制、机器人、嵌入式系统、楼宇自动化、运输系统等领域,并且呈现出越发强劲的发展势头。有鉴于此,国家标准化委员会正在积极地为EtherCAT制定相应的国家标准,笔者有幸参与了送审稿的翻译和校队工作。本文通过对EtherCAT的技术优势的分析,国家标准化的制定流程,工业以太网国标送审稿的研究,总结EtherCAT现场总线的优势,并给出相应的依据。

二、EtherCAT现场总线优势

(一)开放性

EtherCAT的协议是完全公开的;并且已经成为了IEC、ISO及SEMI的标准协议。对应的协议号是IEC61158、IEC61784、ISO15745和SEMI E54.20, 并且我国正在为其指定国家标准。

为了推广技术和保证技术的开放性,以技术主要发起人为主,成立了EtherCAT技术小组。小组的主要任务是支持、完善和推广EtherCAT技术。截止2012年7月2日,ETG共计有2050个会员,光是从2011年的5月到2012年的5月,就新增加了超过380个会员[1]。现在ETG已经成为了全球最大的现场总线组织[1]。在中国,截止2012年2月,中国区共有超过200个会员,也正是因为EtherCAT在我国的蓬勃发展,所以国家急需要制定相应的国家标准。

(二)高速性

EtherCAT突破了其他以太网解决方案固有的局限性:从站设备在报文经过其节点时读取带有相应寻址信息的数据;同样,输入数据也是在报文经过时插入至报文中。整个过程,报文只有几个纳秒的时间延迟。这样发送和接收的以太网帧压缩了大量数据,所以通道的利用率可以达到90%,100Mb/s的全双工特性可以完全得到利用。

下面举一个具体的例子来更好的体现EtherCAT的高速性[2]。

在一个有40轴(每轴20字节输入输出数据)、50个I/O站、2000个数字量和200个模拟量的总线环境下,各种工业以太网技术的循环时间如下表所示:

(三)低价

过去的现场总线无论主站还是从站设备都需要专用的设备,整个系统构建下来花费不小。使用EtherCAT技术的成本可以做到更低。

从硬件角度看,主站不需要专用插卡,集成的网口就可以满足要求了,现在许多的自动化设备都标配有网口,这样就不需要新的成本投入;从站采用低成本的从站控制器FPGA或者ASIC,不需要功能强大的微处理器;辅助设备方面,不需要交换机/集线器,只要使用标准的以太网线缆和接头就可以完成网络组态了。

下面我们用一个网络配置的实例来说明[2]:

如果我们要配置一个拥有10个站点,400个数字输入,400个数字输出的,100米长线缆,11个现场总线接头的网络。EtherCAT网络的总成本是最低的。Profibus贵了21.5%,DeviceNet贵了23.7%,CAN Open贵了21.9%.

三、EtherCAT现场总线标准化

(一)中国国家标准

我国将标准划分为四个层次,即国家标准、行业标准、地方标准、企业标准。各层次之间有一定的依从关系和内在联系,形成一个覆盖全国又层次分明的标准体系。

国家标准分为强制性国标(简称GB)、推荐性国标(简称GB/T)和指导性国家标准(GB/Z)。

EtherCAT在我们申请的国标是GB/T,推荐性国家标准。

GB/T是指推荐性国家标准,其中的“T”是推荐的意思。推荐性国标是指生产、交换、使用等方面,通过经济手段调节而自愿采用的一类标准,又称自愿标准。但推荐性标准国标一经接受并采用,或各方商定同意纳入经济合同中,就成为各方必须遵守的技术依据,具有法律上的约束性。

(二)申请国家标准的条件

现场总线的种类繁多,但是真正入选成为我国国家标准的现场总线并不多。这是因为在我国工业控制网络标准的制定是需要满足对应的条件的[4]。

申请GB/T需要满足下面的两个条件:1.国内有产品开发、生产;2.测试本体化。如上文所述,ETG在中国国内的会员超过200位,提供了许多的EtherCAT相关产品,所以第一个条件满足。对于测试本土化,现在ETG已经在中国北京航空航天大学的数控与自动化实验室(LNC)建立了测试中心,这为EtherCAT在我国的标准化扫清了最后的障碍。

(三) 国标制作流程

工作组成员一般分为国内专家小组和国外专家小组。包括制造商、最终用户、集成商等成员。委员会审核通过的标准是75%以上成员赞成25%以下反对,如果委员会由超过25%以上成员反对,那么就需要重新审议项目。

EtherCAT申请国标的工作从2012年2月份开始正式启动,2012年7月成立了工作组,前后经过1年左右的翻译、校队工作后,2013年的2月份发出了征求意见稿,2013年6月发出送审稿,现在正在收集送审稿的投票工作,预计在2013

(四) EtherCAT国标整体结构

国标共分为6个部分。

第一部分:概述

第二部分:物理层服务和协议规范

第三部分:数据链路层服务定义

第四部分:数据链路层协议规范

第五部分:应用层服务定义

第六部分:应用层协议规范

EtherCAT国标内容是使用翻译法修改采用ETG.1000《EtherCAT规范》[5],在技术内容上与原国际标准没有差异,对文本进行了适当的编辑性调整。

EtherCAT文档结构和OSI模型的对应关系如图3所示

所有的网络协议都是基于OSI网络模型的,EtherCAT也不例外。EtherCAT总共使用了OSI中的应用层、数据链路层和物理层,而第3到第6层没有在EtherCAT中实现。这样保证了EtherCAT协议的简洁、高效,正因为剥离了IP,TCP等传统的以太网网络层、传输层实现,所以使得EtherCAT的实时性得到了极大的保证。

四、结论

EtherCAT总线协议有许多吸引自控行业的特点:高速、开放、安全、冗余。正因为如此,该技术自诞生起就取得了飞速的发展。鉴于此,国家标准机构正在积极的推进EtherCAT的国标化。

本文介绍了国标制作的流程、条件,并且说明了EtherCAT国标文档的结构。对EtherCAT总线技术的进一步发展和应用具有一定的意义,对于其他现场总线相关的研究亦有一定的参考价值。

参考文献:

[1] EtherCAT Technology Group, EtherCAT工业以太网现场总线,2012

[2] EtherCAT Technology Group, Industrial Ethernet Technologies: Overview,2011

[3] 国际电工委员会, Serving global industrial automation : IEC publishes new Field Standard. 2012-12-14

[4] EtherCAT技术协会, 一致性与互操作性, 2011

[5] EtherCAT技术协会,EtherCAT规范, 2013

作者简介:

篇3

关键词:信令分析;呼叫失败;感知;满意度

1 引言

信令分析是运营商网络故障定位的常用手段,近年来基于信令分析进行网络故障定位、隐患排查等项目也逐步在国内各运营商铺开,但从项目的成果看,大多停留在分析研究上,并未能将这些成果很好的落地。笔者从大量信令分析服务项目成果中进行总结与提炼,提出一种基于呼叫失败信令分析的提醒服务方案,旨在帮助运营商通过提升用户感知度,强化运营商的竞争力,达到用户、运营商双方得益的局面。

2 呼叫失败的现状

呼叫失败是指主叫用户拨打号码后,在还没有听到回铃音之前,由网络下发释放消息、中止呼叫。呼叫失败时,主叫用户一般都能听到网络下发的通知音解释本次呼叫未能接通的原因,但是还有相当数量的呼叫失败表现为主叫用户呼叫后直接返回待机状态,没有任何解释,这类呼叫失败现象会严重影响用户感知度,而且会造成其他负面后果,主要表现为以下两方面:

⑴用户会怀疑运营商的网络质量问题,对运营商失去信心,久而久之将极有可能导致用户流失;

⑵大量用户出现呼叫失败而又没有任何提示时,一般会继续多次拨打,存在着引发“雪崩效应”的隐患,使站点或交换机负荷过高而瘫痪,引发更为严重的通信故障。

事实上,这些呼叫失败并非都是网络质量问题导致。移动通信是一个复杂的系统,用户的行为、手机终端、业务功能等方面因素都有可能导致呼叫失败,但是对于用户来说,用户并不知道其呼叫失败的原因,用户在遇到呼叫失败时会迷惘,不知所措。所谓“知情就是力量”,不管是什么原因导致的呼叫失败,只要能第一时间告知用户,或许用户的感受、行为就能发生根本性的变化。

3 基于信令的呼叫失败分析

呼叫失败在信令流程中表现为用户发起“CM_SERVICE_REQUEST”消息后,在其后的流程中没有收到ALERTING、CONNECT、CONNECT_ACK等接通的消息,而由网络侧下发释放消息中止呼叫。

网络下发的释放消息一般有“CM_SERVICE_REJECT”和“DISCONNECT”两种,前者是在CM服务尚未建立就被网络中止呼叫,后者一般为CM服务建立后网络下发的释放消息,但这些释放消息都带有一个原因值,一般称为Cause值,指示了本次释放的原因,这些Cause值都可以在3GPP协议规范中找到其解释,有些解释很明显的指示了失败原因,如电路拥塞、无线资源不可用等,也有些解释比较笼统,如DTAP_CC层的Temporary failure、DTAP_MM层的Network failure等,从Cause的字面解释无法知道释放消息的真正原因,这时就需要根据本次呼叫失败的信令模型、用户行为、多接口关联等分析手段对呼叫失败进行原因追查。

3.1 基于信令的呼叫失败分析一般流程如下

⑴建立A接口呼叫失败的呼叫模型,即手机主叫发起CM SERVICE REQUEST,在A接口会话中,没有ALERTING、CONNECT,排除正常的呼叫终结Cause值。

⑵统计A接口上释放消息所带的Cause值,并进行数量的上排序。

⑶对数量较大、异常的Cause值进行原因追查,查询下放释放消息的前一条消息的详细内容,如仍无法明确原因则需要进行多接口关联,直至关联到被叫端无线侧,追踪下发释放消息的根节点,如在根节点仍无法明确原因,则需要查询用户行为,看是否由用户行为导致的呼叫失败。

⑷对明确原因的Cause提出优化建议及实施。

3.2 我们一般将呼叫失败原因归为四种类型

⑴由于无线环境质差导致的呼叫失败

⑵由于核心网存在隐患、故障引发的呼叫失败

⑶由于用户行为导致的呼叫失败

⑷由于用户终端导致的呼叫失败

基于信令分析的呼叫失败优化项目能对前两种原因引起的呼叫失败进行优化,而对于后两类原因只停留在分析研究上,其成果效益并不明显。

4 主叫用户提醒方案设计

4.1 呼叫失败提醒的设计框架

呼叫失败用户提醒的核心思想是将基于呼叫信令的分析成果进行落地,将研究成果真正惠及用户,其整体设计框架如下所示:

⑴当用户出现呼叫失败时,其信令数据被信令采集设备所采集、解码并存入信令数据库。

⑵信令系统对呼叫失败的会话进行建模,建模要点包括会话所包含的消息、释放消息携带的Cause值、释放消息出现的位置。

⑶将建立呼叫失败模型与呼叫失败模型库进行比较匹配,如果匹配成功,则根据呼叫失败模型库中对该呼叫失败模型的原因解释以及用户操作建议以短信的形式发送给用户。

⑷如果匹配不成功,则需要对该种类型的呼叫失败模型进行研究,追踪其失败原因,再将新的成果输入到呼叫失败模型库中去。

图中循环1是信令分析应用部分,即为用户提供呼叫失败提醒功能;循环2相当于一个改进系统,为系统提供持续动力,令整个呼叫失败提醒功能不断完善,不断适应复杂的环境。

4.2 方案拓扑结构

呼叫失败提醒方案是以信令分析为基础一种解决方案,需要对现网各接口进行信令搭接,其拓扑结构如下图:

信令搭接的涉及到的网络接口和协议有:

⑴Mc接口,主要采集BSSAP、RANAP、H.248、BICC协议的信令数据(适用于IP化软交换局)

⑵A接口,主要采集BSSAP协议的信令数据(适用于传统非软交换局)

⑶C接口(MSC-S\MSC与LSTP的接口),主要采集MAP协议的信令数据

⑷A-bis接口,采集BSC侧以下的信令数据

信令采集系统通过IP网络与短信中心建立连接,为给用户下发短信建立通道。

4.3 应用案例

用户在某一建了MSC IN POOL的城市出现呼叫困难现象,而在其它非POOL城市则能正常使用。具体表现为每次呼叫需要重复拨7-8次才能呼叫成功,呼叫失败时手机显示“连接错误”。

信令系统捕捉到该用户的呼叫失败信令流程,如下所示:

用户在呼叫过程中收到网络下发CM_SERVICE_REJECT携带Dtap_Cause_4,协议规范解释为“IMSI UNKNOW IN VLR”。

系统将该呼叫失败模型与已知的呼叫失败模型库进行匹配,得到该呼叫失败的原因以及用户操作建议:

系统提取呼叫失败模型库中该呼叫失败的提醒短信内容,及时向主叫用户发送呼叫失败提醒短信。

上述案例为非网络质量导致的呼叫失败,如果没有呼叫失败用户提醒短信,用户会由于不知情而怀疑运营商的网络质量。呼叫失败用户提醒短信可以消除用户的疑惑,既让用户明白其呼叫失败并非网络原因,及时改变联系方式避免误事,又能让用户感受到运营商的贴心服务和技术含量,增加了用户对运营商的认同感与依赖度,可谓一举多得。

5 小结

通过对各类呼叫失败过程的信令监测,结合模型库数据的比对,分析呼叫失败的原因,通过短信方式将呼叫失败的原因、用户操作建议及时地送达客户,让客户感受到运营商的贴心服务,是一种“以人为本”的服务理念。在高速发展的移动通信市场上,运营商必须采用创新的手段为客户提供新的亮点,增强用户感知度、吸引用户、留住用户,方能在激烈的市场竞争中领先一步。

[参考文献]

[1]袁永福,洪烨.GSM手机引起用户感知度下降的原因.通信管理与技术,2008,(2)

篇4

1.1信息家电网络系统的体系结构

电力线信息家电网络系统是以家庭电力线作为传输介质的局域网,就网络本身而言,它符合通用的4层网络体系结构.根据目前家庭网络所承担的主要业务,从网络分层的角度可以将信息家电网络系统分为3层.

(1)物理介质层(Media)是信息家电网络的物理层,以电力线为传输介质,以扩频载波技术(SpreadSpectrumCarrier,SSC)为信号传输基础.

(2)底层协议层(Protocol)对应于OSI参考模型的数据链路层和网络层.数据通信采用带有避免冲突的载波侦听多路访问(CSMA/CA)机制来确保数据包按照最快的路径正确收发.网络控制层从底层接收数据,并为信息家电协议提供接口.

(3)应用程序接口层(API)是信息家电网络的应用层,担负着实现信息家电网络内部管理以及与外部互联网络信息交互的重任.具体包含的功能有数据格式转化,信息家电功能状态解析,信息家电服务控制管理等.

1.2协议规范

电力线信息家电网络是按层的方式来组织的,每一层都建立在其下层之上,这种协议分层设计的方式也符合当前软件设计结构化和面向对象的思想.

(1)介质访问协议在信息家电网络中,由于在一条电力线上接入了多个信息家电设备,而每个设备之间是平等的,没有专门的控制中心来负责对通信信道的访问,对时隙也不进行预先分配,因此需要采用预约信道的方式,即采用带有避免冲突的载波侦听多路访问机制来避免数据包出错.由于每个设备遇到冲突后随机等待的时间不同,因此可以大大减少数据冲突的机会,但这种等待时间的随机性,也造成了延时时间的不可预测,从而影响到信息家电的使用效率.

(2)通信协议基于电力线的优势,信息家电可以根据不同的需要和功能使用不同的标准和协议,如X-10,CEBus,LonWorks等.X-10接口技术是一种以电力线作为信号传输介质,为家庭用户提供家用电器的远程控制、家庭安全控制等方面应用的通信协议.CEBus是一种针对现代智能家庭电子产品的开放性协议(KIA-600协议).CEBus物理层中使用最广泛的传输介质就是电力线,电力线载波信号在其上进行传输时数据传输速率可达10GB/s,完全可以满足信息家电的高速通信需求.LonWorks技术的LonTalk通讯协议提供了OSI参考模型中定义的全部7层服务,便于将家用电器、电表、灯光控制设备等互相连接并与互联网络集成,主要适用于信息家电网络中的安全控制设备.物理层使用电力线通信技术时通信速度可达5.4kB/s.

(3)网络协议UPnP(universalplugandplay)协议使用开放的标准协议和通用的网络媒体,不仅适用于电源线网络,而且其设备架构更适合于信息家电网络中的设备识别和访问控制.由于它是一种即插即用协议,因此便于信息家电的自动发现与连接、自动控制以及网络互连.

1.3信息家电网络系统的硬件设计方案

基于电力线通信的信息家电网络系统硬件架构.其硬件平台实现的基础是在信息家电和其他智能家用设备内部嵌入PLC芯片,作为接入互联网络的接口.许多新型家电设备内部都置有微控制器,将PLC芯片通过标准的输入输出接口与各种微控制器相接,就可以实现信息家电网络内部设备之间的通信以及与外部网络的连接.信息家电、监控设备、计算机等家庭设备若想共享互联网资源,还必须在电力线上连接一个PLC路由器作为选通设备.若将PDA等移动设备作为无线接入点,与挂在电力线上的各种设备进行通信时,只需要将无线网络基站作为内置PLC芯片的信息家电即可.除了完成信息家电网络内部的通信外,各住宅网络还可以通过电力线MODEM连接到互联网上.PLC网关一方面负责获取住宅内信息家电的状态信息,另一方面负责传送远程控制系统的命令,同时将家电的响应信息反馈给远程控制系统.

2结语

篇5

编者按:现代物流是现代服务的主要内容之一,具有跨部门、多行业、专业领域覆盖面广的特点。提高物流系统中供应链各环节的效率、降低物流成本,引起了国内外、业内外各方人士的普遍关注。本文撰稿人刘放先生,多年从事商业流通科技研究,是国家级重大基础研究课题“物流配送标准体系及关键标准研究”项目负责人之一。本文是作者根据该项目研究成果浓缩而成。本刊从2013年第2期开始分数次在《前沿导向》栏目连载,本文是连载之七。

(3)联合计划、预测、补货作业流程实施规范

补货是指物流及供应链上合作伙伴通过共享需求信息、预测信息、资源信息,来实施联合计划、预测和补货。通过供应链中的伙伴相互协作共享标准化的信息来制定目标计划、进行有效的市场预测并实施及时订单补货,为供应链中各个企业降低库存成本、减少运营费用、提高销售额、以实现有关方共赢。联合计划、预测、补货的目标是改变现有的伙伴关系模式,以更精准的信息使供应链各方的销售额和利润更大化,其流程表现在四个部分:全面协议和联合商业计划(包括各项目小组对销售、库存、零售网点分布和商品类型款式在可见未来的变化决策);销售预测协会(零售商和供应商共同需求预测,比较和甄别各自预测曲线的不协调点,找出问题并修改计划);定单预测协作(零售商和供应商共享补货计划,甄别不协调点并解决之);定单生成/交货执行(即结果数据共享,包括销售地占、定单、运货班期,现有库存等,甄别预测准确度的偏差,库存状况及执行中的问题并予以解决)。

4.基于XML的物流信息交换

在物流系统中,当供应商、制造商、批发商、零售商和顾客之间传递商务及其他物流信息时,双方的电脑间进行电子数据的交换方式一般采用EDI方式,按标准协议规范化和格式化的业务信息通过电子数据网络,利用增值网或专用网在不同电脑间进行自动交换和处理。但建设EDI增殖网或专用网投资较大,又缺乏开放性。这种以标准固定格式传递业务信息的方式,适用于交易双方有经常性业务联系的大型企业之间进行,对于只有偶尔业务联系的企业间或小企业就很难实施,而现代物流系统及供应链网络,一方面需要在不同行业各类企业间进行广泛的业务、商务联系;另一方面供应链合作伙伴间的战略联盟虽有长期性,但更多的是一种动态同盟关系,这样传统的EDI方式就不适于这种大范围的、动态的信息交换,这就必须研制、、宣贯投资少、更开放的物流信息交换标准体系结构。(待续)

篇6

据研究人员介绍,该系统名为“自行组控蓝牙网络”。该网络通过在家居环境中各个需要或开或关的装置中都嵌入蓝牙装置来组建,无论是各个居室的窗户或是灯,又或者是各类电器设备,只需要进行相应的改进,便都可以纳入该系统之内。

而该系统配备的一个蓝牙手机,则成为所有设备的遥控器。只要主人携带这部手机回到家中,手机就会通过蓝牙装置自动接入家居环境中的上述网络,而无需进行有线连接或是其他的繁琐操作。这样,你只需要通过操作手机上简单的几个按钮,便可以对家中的各类设备进行遥控了。

既然蓝牙技术这么神奇,那让我们走进它。

蓝牙技术简介

1. 蓝牙简介

蓝牙技术是Ericsson移动通信公司在1994年开始启动的,1998年5月,Ericsson联合Nokia、Intel、IBM、Toshiba这4家公司一起成立了蓝牙特别兴趣小组(Special Interest Group,SIG),负责蓝牙技术标准的制定、产品测试,并协调各国蓝牙的具体使用。3Com、Lucent、Microsoft和Motorola很快加盟SIG,与SIG的5个创始公司一同成为SIG的9个倡导发起者。自蓝牙规范1.0版推出后,蓝牙技术的推广与应用得到了迅猛发展。截至目前,SIG的成员已经超过了2500家,几乎覆盖了全球各行各业,包括通信厂商、网络厂商、外设厂商、芯片厂商、软件厂商等,甚至消费类电器厂商和汽车制造商也加入了SIG。

“蓝牙(Bluetooth)是一个开放性的、短距离无线通信技术标准,也是目前国际上最新的一种公开的无线通信技术规范。它可以在较小的范围内,通过无线连接的方式、安全、低成本、低功耗的网络互联,使得近距离内各种通信设备能够实现无缝资源共享,也可以实现在各种数字设备之间的语音和数据通信。由于蓝牙技术可以方便地嵌入到单一的CMOS芯片中,因此,特别选用于小型的移动通信设备,使设备去掉了连接电缆的不便,通过无线建立通信。

蓝牙技术工作在全球通用的2.4GHz ISM频段。从理论上讲,以2.4GHz ISM频段运行的技术能使用距30m以内的设备互相连接,但实际上很难达到。现阶段,蓝牙的发射范围可达10m,可以同时实现8台设备的相互联通。当检测到距离小于10m时,接收设备可动态地调节功能;当业务量减小或停止时,蓝牙设备即可进入低功耗工作模式。

2.蓝牙中的关键技术

2.1 跳频技术

蓝牙工作的频段是全球通用的2.4GHz ISM频段。该频段对所有无线电系统都开放,因此,蓝牙在使用过程中经常会遇到不可预测的干扰源,例如手机、无绳电话、微波炉等。这使得蓝牙系统的传送错误率远远高于实际应用水平,为此,采用跳频技术是避免干扰的一项有效措施。

所谓跳频技术,就是将整个频带分成若干跳频信道(Hop Channel)。在一次连接中,蓝牙芯片所控制的收发器按照一定的码序列,不断地从一个信道跳转到另一个信道;而接收方也是按照相同的跳转规律进行通信。这实际上属于一种硬件加密手段,除非第三方掌握了接收双方的切换信道干什么,否则,从理论上是无法完整获得信息的,而干扰源也是不可能按同样的规律进行干扰的。跳频的瞬时带宽很窄,但通过扩展频谱技术,可以使这个窄带宽被成倍地扩展成宽频带,使扰的可能性变得很小,由此就可以保证传送的完整性和系统的稳定性。

2.2 纠错技术

在蓝牙技术中使用了三种纠错方案:1/3比例前向纠错码(1/3FEC)、2/3比例前向纠错码(2/3FEC)和用于数据的自动请求重发(ARQ)方式。

1/3比例前向纠错码是一种较简单的纠错码方式,属于重复码,实现时对每位信息重复三次。2/3比例前向纠错码是一种(15,10)精简的汉明码表示方法,用于部分分组。

使用ARQ方式,在一个时隙中传送的数据必须在下一个时隙得到确认(或超时)信息。只有数据在接收端通过了报头错误检测和循环冗余检测,被认为无错后,才向发送端返回确认信息;否则,返回一个错误信息。

2.3 微微网

蓝牙支持点对点和点对多点的通信,其最基本的网络组成是微微网。微微网是通过蓝牙技术连接起来的一种微型网络,由一个主设备(Master)和若干个从设备(Slave)组成,且从设备最多为7台。主设备负责通信协议的动作,而从设备则受控于主设备。一个微微网可以是2台相连的设备,也可以是8台连在一起的设备,所有设备单元均采用同一跳频序列。

蓝牙给每个微微网都提供了特定的跳转模式,因此,它允许大量的微微网同时存在。同一区域内,多个微微网互联形成了分散网。不同的微微网信道有不同的主单元,因而存在不同的跳转模式。

2.4 安全性

蓝牙技术的无线传输特性使它非常容易受到攻击,因此,安全机制在蓝牙技术中显得尤为重要。虽然蓝牙系统所采用的跳频技术已经提供了一定的安全保障,但蓝牙技术仍然需要在应用层和链路层上提供安全措施。该措施将用于对等环境,即蓝牙系统每个单元中设备的匹配和加密规则都将以同样的方法实现。在链路层,蓝牙使用四个参数来保证系统的安全性:每个用户唯一的48位地址、用户的128位验证密钥、用户的8~128位加密密钥、设备产生的一个128位随机数RAND。

蓝牙的低层安全是通过基带和链路管理中的鉴权、匹配和加密完成的。

鉴权基于“竞争-应答”算法,是蓝牙系统中的关键部分,它允许用户为个人的蓝牙设备建立一个信任域。校验器发送一个LMP-au-rand PDU分组给请求者,该PDU(协议数据单元)分组含有一个随机数。请求者根据获取的分组计算出应答值,然后将应答值发回给校验器,验证应答值是否正确。

当两台设备无共用链接字时,则基于个人识别码PIN和随机数创建初始化字Kinit,这一过程为匹配。Kinit字在校验器向请求者发出LMP-in-rand时创建,然后进行鉴权,共计算过程基于Kinit字,而不是链接字。通过鉴权后,链接字即被创建。

加密被用来保护连接中的个人信息,密钥由程序的高层来管理。网络传送协议和应用程序,可以为用户提供一个较强的安全机制,需要注意的是,加密字节不同于鉴权字。鉴权字具有静态性,而一旦建立加密字,就由运行在蓝牙设备上的具体应用,来决定什么时候和是否需要修改加密字。

蓝牙技术的协议标准

SIG 所颁布的蓝牙规范(Specification of the Bluetooth System)就是蓝牙无线通信协议标准,它规定了蓝牙应用产品应遵循的标准和需要达到的要求。

蓝牙规范包括核心协议(Core)与应用框架(Profiles)两个文件。协议规范部分定义了蓝牙的各层通信协议,应用框架指出了如何采用这些协议实现具体的应用产品。蓝牙协议规范遵循开放系统互连参考模型(Open System Interconnetion/Referenced Model, OSI/RM),从低到高地定义了蓝牙协议堆栈的各个层次。

按照蓝牙协议的逻辑功能,协议堆栈由下至上分为3个部分:传输协议、中介协议和应用协议。其功能简介如下:

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

1.传输协议

负责蓝牙设备间相互确认对方的位置,以及建立和管理蓝牙设备间的物理和逻辑链路。这一部分又进一步分为低层传输协议和高层传输协议。低层传输协议侧重于语音与数据无线传输的物理实现以及蓝牙设备的物理和逻辑链路。低层传输协议包括蓝牙的射频(Radio)部分、基带与链路管理协议(Baseband & Link Manager Protocol, LMP)。高层传输协议包括逻辑链路控制的物理实现以及蓝牙设备间的连接与组网。高层传输协议包括逻辑链路控制与适配协议(Logical Link Control and Adaptation Protocol, L2CAP)和主机控制器接口(Host Controller Interface, HCI)。这部分为高层应用程序屏蔽了诸如跳频序列选择等低层传输操作,并为高层应用传输提供了更加有效和更有利于实现的数据分组格式。

2.中介协议

为高层应用协议或程序在蓝牙逻辑链路上工作提供了必要的支持,为应用层提供了各种不同的标准接口。这部分协议包括以下几部分:

串口仿真协议(RFCOMM)

基于欧洲电信标准化协会(European Telecommunication Standardization Institute, ETSI)的TS07.10标准制定。该协议用于模拟串行接口环境,使得基于串口的传统应用仅作少量的修改或者不做任何修改可以直接在该层上运行。

服务发现协议(Service Discovery Protocol,SDP)

为实现蓝牙设备之间相互查询及访问对方提供的服务。

IrDA(Infrared Data Association)互操作协议

蓝牙规范采用了IrDA的对象交换协议(OBEX),使得传统的基于红外技术的对象(如电子名片(vCard)和电子日历(vCal)等)交换应用同样可以运行在蓝牙无线接口之上。

网络访问协议

该部分协议包括点对点协议(Point to Point Protocol, PPP)、网际协议(Internet Protocol, IP)、传输控制协议(Transfer Control Protocol, TCP)和用户数据报协议(User Datagram Protocol, UDP)等,用于实现蓝牙设备的拨号上网,或通过网络接入点访问Internet 和本地局域网。

电话控制协议

该协议包括TCS、AT指令集和音频。电话控制协议性能(Telephone Control Protocol Specification,TCS)是基于国际电信联盟电信标准化部门(International Telecommunication Union-Telecommunication,ITU-T)的Q.931标准制定的,用于支持电话功能;蓝牙直接在基带上处理音频信号(主要指数字语音信号),采用SCO链路传输语音,可以实现头戴式耳机和无绳电话等的应用。

3.应用协议

是指那些位于蓝牙协议堆栈之上的应用软件和其中所涉及的协议,包括开发驱动各种诸如拨号上网和通信等功能的蓝牙应用程序。蓝牙规范提供了传输层及中介层定义和应用框架,在传输层及中介层之上,不同的蓝牙设备必须采用统一符合蓝牙规范的形式;而在应用层上,完全由开发人员自主实现。事实上,许多传统的应用都可以几乎不用修改就在蓝牙协议堆栈之上运行,如基于串口和OBEX协议的应用。通常蓝牙技术应用程序接口(Application Programming Interface,API)函数的开发由开发工具的设计人员来完成,这样有利于蓝牙技术与各类应用的紧密结合。

蓝牙技术在智能家居系统中的应用

由于蓝牙技术的免布线、低成本、低功耗、高速率、高可靠性和兼容性等特点,使得基于蓝牙技术的智能家居系统能为人们所接受。

家庭电器控制

嵌入了蓝牙芯片的“信息家电”,也具有了网络信息终端的功能,可以主动地、获取和处理相关信息,使得个人家庭与现代信息社会的信息高速公路通信网紧密相连。可以设想一下,所有的信息家电通过一个遥控器来进行控制,既可以控制电视,也可以控制计算机和空调器,同时还可以用作无绳电话或者移动电话,甚至可以在这些信息家电之间共享有用的信息,在家庭内部形成一个个人智能网络。

家庭流量计费

目前,大多数远传计量系统采用如下方式:在各个房间内的远传表,通过专用的布线系统连接至各个节点流量控制器,再汇总到物业管理中心进行上位管理。在智能家居系统中如果采用了蓝牙技术,就会出现新的三表远传流量计费系统的局面。

通过在支持蓝牙的微芯片中置入相应程序,并置入流量表中,可以去掉流量表与节点控制器之间的连线,使每个计量末端采用无线方式,降低系统由于线路损坏而带来的系统故障,提高了系统的可靠性。

安防系统

智能家居的基本目标为人们提供一个舒适、安全、方便和高效率的生活环境。这就需要一个安全的家庭体系,其中既包括人身和家庭财产的安全,也包括家庭设备的安全。为了实现这种安全体系,需要配备相关的防卫措施,例如电子门禁、对讲系统、电子防盗系统、玻璃破检测报警系统、室内跑水检测与报警系统、室内有毒/害气体的检测等。

报警控制器连接至社警铃、报警指示灯、电话,若报警,可按预先设置的若干个电话号码,自动拔通进行报警,并报出家中具体是哪个系统报警了。

蓝牙技术可以使数据采集和家庭安防监控灵活方便,摆脱了布线系统的束缚。

篇7

近两年数据泄漏事件接连发生,让企业对业务安全及应用安全的重视达到前所未有的高度。杭州安恒信息技术有限公司(简称安恒信息)总裁范渊对当前的Web应用安全现状非常担忧,在他看来,“我们现在面临的是一个岌岌可危的网络安全环境,用户就好比《皇帝的新装》中的帝王一样,毫无隐私可言” 。

90%以上WAF可能被绕过

黑客的攻击目标正在从网络服务器转向Web应用。“近些年,云计算、物联网、移动互联备受关注,但人们却忽略了一个本质问题——安全。没有安全的保障,一切新技术、新趋势都是一纸空谈,很容易成为新兴攻击方式诞生的温床,其结果是造成无尽的危害。”安恒信息安全服务部副总监吴卓群从产品及技术的角度指出:“尽管Web 应用的各个层面都已使用各种技术来确保其安全性,但由于Web应用的开放性、各种Web软硬件漏洞的不可避免性,以及网络攻击技术日趋成熟,三分之二的Web站点都相当脆弱。然而,绝大多数企业仍然将IT支出花在了购买网络和服务器安全解决方案上,对于Web应用的安全防护,并没有采取针对性的有效措施。”

WAF(Web应用防火墙)是企业应对Web应用攻击的主要方法。但是,随着攻击技术的日新月异,攻击方式的不断变化,攻击者仍然会经常让企业感到措手不及:针对Web应用的零日攻击屡屡得逞;社交工程学攻击、APT攻击则让企业遭受重创……

美国举办的2012黑帽大会上披露的一个消息令人咂舌:安全厂商Qualys工程经理Ivan Ristic用一个新的工具测试WAF是否存在漏洞,结果是WAF可以被150多种协议级避让技巧绕过。这意味着黑客只要稍微修改恶意请求的URL路径,就可以轻松绕过WAF的检测。对此,吴卓群认为:“WAF本是保护Web应用安全的设备,但它却缺乏足够的安全测试,有大量攻击手段和方法可完全绕过WAF的防护策略,对Web网站进行攻击。更大的风险是,攻击者利用解析错误彻底绕过安全防护策略。当前,国内外无论是硬件WAF还是云WAF,至少有90%以上存在被彻底绕过的风险。”

主动防御的安全策略

面对攻击者多种多样的绕过方法,WAF厂商该如何应对?安恒信息的策略是变被动为主动。“作为国内最早研发Web应用防火墙的企业,安恒信息逐渐认识到这点。”吴卓群表示,“经过多年的实践,安恒信息总结出一套可行的技术方法,有效地解决了目前针对WAF的绕过保护问题,使得WAF成为实实在在的能有效抵御Web攻击的最佳防御方式。”

从2007年国内第一款透明Web应用防火墙至今,安恒信息在WAF领域成果累累,其WAF产品明御Web应用防火墙不仅内置了30余类的通用Web攻击特征,能够有效防御来自外部的SQL注入、文件注入、命令注入、配置注入、LDAP注入和跨站脚本等攻击,而且通过HTTP协议规范性检测,可以实现Web主动防御功能,比如通过设置请求头长度限制、请求编码类型限制等方式,能有效拦截大部分非法的未知攻击行为。

篇8

【关键词】NATVPNIPSec通道安全

一、前言

采用RFC1918编址方式节约IP地址的方法通称为NAT,NAT分为三类:静态NAT、动态NAT、NAPT。NAPT应用最为广泛。NAT技术是为了节约IP地址,在网络内部采用私有地址,在出口采用公网地址,内部地址要访问外网时,需要将内网地址转换为公网地址,这种转换主要是IP地址和端口的转换,涉及到修改每个IP包的IP地址和端口值。而IPSec是一套网络安全协议规范,常用于组建VPN,构建两个远程局域网之间的安全隧道,进而把位于两地的两个局域网合并成一个可以通过不安全的互联网相互联系的一个局域网,而IPSec中使用的协议不允许修改IP报头内容,因此,NAT和IPSec相互矛盾,不能在一起混用。虽然目前有一些方法克服这种矛盾,比如IP OVER TCP,IP OVER UDP,NAT-T等,但是都是对IP报文结构的一种破坏,本文根据NAT和IPSec的不同用途,客户端采用NAT和IPSec分别访问不同的对象,在配置上巧妙避开矛盾,使两种协议各司其职,互不影响。

二、NAT结构分析

私有网络192.168.1.0/24的多台计算机,需要访问internet,但是只有一个公网地址,在路由器R1上启用NAPT功能,将源地址为192.168.1.x的私有地址转换成internet中可以识别和交换的公网地址200.1.1.1,同时将端口进行相应的转换,并在R1中储存对应表,如图1所示。

三、IPSec VPN解析

IPSec是一种IP层的数据加密方法,它包含两种模式:传输模式和隧道模式,有两种封装:AH和ESP,两种模式和两种封装共组合成四种应用,比较常见的是隧道模式的ESP封装。其基本封装原理如图2所示。

四、配置与验证

试验网络拓扑如图3所示。

4.1NAT配置与验证

首先在R1上设置NAT,排除到对端的流量,其余流量均采用NAT。

R1(config)#access list 102 deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255

R1(config)#access list 102 permit ip any any

R1(config)#ip nat inside source list 102 int f0/1 overload

R1(config)#int f0/1

R1(config)#ip nat outside

R1(config)#int f0/0

R1(config)#ip nat inside

在R3上设置NAT,排除到对端的流量,其余流量均采用NAT。

R3 (config)#access list 102 deny ip 172.16.1.0 0.0.0.255 192.168.1.0.0.0.0.255

R3(config)#access list 102 permit ip any any

R3(config)#ip nat inside source list 102 int f0/1 overload

R3(config)#int f0/1

R3(config)#ip nat outside

R3(config)#int f0/0

R3(config)#ip nat inside

实验的关键是NAT的访问控制列表范围的规定,前往对端私用网络的源IP不要转换,而去往公网的源地址需要转换,采用debug ip nat验证NAT转换过程。

4.2IPSec配置与验证

第一步配置IKE协商

R1(config)#crypto isakmp policy 100建立IKE协商策略

R1(config-isakmap)# authentication pre-share预共享密钥认证

R1 (config)# crypto isakmp key wwp address 201.1.1.2设置共享密钥和对端地址

R3(config)#crypto isakmp policy 100建立IKE协商策略

R3(config-isakmap)# authentication pre-share预共享密钥

R3 (config)# crypto isakmp key wwp address 200.1.1.1设置共享密钥和对端地址

第二步配置IPSEC相关参数

R1 (config)# crypto ipsec transform-set wwpset esp-des配置转换集、验证算法、加密算法

R1(config)# access-list 101 permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255定义访问控制列表

R2 (config)# crypto ipsec transform-set wwpset esp-des传输模式

R2(config)# access-list 101 permit ip 172.16.1.0 0.0.0.255 192.168.1.0 0.0.0.255

第三步应用配置到接口

R1 (config)#crypto map wwpmap 110 ipsec-isakmp采用IKE协商,优先级为110

R1(config-crypto-map)#set peer 201.1.1.2指定VPN链路对端IP地址

R1 (config-crypto-map)#set transform-set wwpset指定转换集

R1(config-crypto-map)#match address 101指定访问控制列表,匹配信息流

R1(config)# int f0/1

R1(config-if)# crypto map wwpmap应用此表到端口

R3 (config)#crypto map wwpmap 110 ipsec-isakmp采用IKE协商,优先级为110

R2(config-crypto-map)#set peer 200.1.1.1指定VPN链路对端的IP地址

R2 (config-crypto-map)#set transform-set wwpset指定转换集

R2(config-crypto-map)#match address 101指定访问控制列表匹配需要加密的信息流

R2(config)# int f0/1

R2(config-if)# crypto map wwpmap应用此表到端口

IPSEC VPN配置完成后,首先采用ping命令,测试到对端私网和公网是否畅通;其次,采用show命令查看IPSec状态,R1#show crypto ipsec sa,R1#show crypto isakmp sa,R1# show crypto isakmp policy;最后,采用debug crypto isakmp和debug crypto ipsec命令,查看IPSec运行情况。

五、结论

根据VPN和NAT的不同应用范围,灵活配置策略,精细化配置测试,可以采用不同信息流量采用不同途径的方法,分别使用NAT和VPN,达到到达对端采用VPN,到达公网采用NAT,各司其职,既保障了访问公网的灵活性,又保证了私网通信的安全性。

参考文献

[1]洪洲. NAT的UDP穿透技术分析与实现.广州城市职业学院学报[J],2009,2:27-31

[2]杨翼平.双重NAT技术在集中网络管理业务中的应用.中国新通信[J],2012,10:49-51

[3]吴丽华,肖子玉. IMS组网中的NAT/防火墙穿越方案.电信工程技术与标准化[J],2009,5:16-21页

[4]蔡琴.运用VPN技术组建新疆党校虚拟专用网络.无线互联科技[J],2012,11:8-9

[5]黄益彬,吕洋,杨维永.智能终端网络安全防护设计.计算机与现代化[J],2012,12:106-109

[6]程龙,张学平,王海涛.基于OPNET的IPSec协议性能监测与仿真.计算机安全[J],2012,11:51-55

篇9

关键词:物联网;课程性质;教学的开发思路;教学内容和要求;课程考核

1课程性质

“无线传感器网络技术”涉及通信技术、计算机技术和传感器技术等多种技术领域,因此本课程是一门理论综合性高,应用实践性强的课程。通过本课程的学习和实践,旨在使学生了解WSN和ZigBee协议规范的基础知识,为进行ZigBee项目开发提供了理论基础。

2课程设计理念

在本课程教学设计过程中,遵循“项目为载体,模块递进”的原则,在夯实学生WSN和ZigBee协议理论基础的同时,培养学生对ZigBee技术的应用能力,并引进ZigBee项目,采用任务驱动的方式,充分体现WSN的教学实践。将专业教学过程,技能训练过程有机结合起来,有效地提高课程教学的实践性、开发性和有效性。

3课程开发思路

本课程的教学过程要实现课堂案例教学和实践任务导向教学相结合,将项目式案例引入课堂教学,以真实项目为对象进行工作导向组织教学,从教学过程和形式上体现“学”和“做”的紧密结合。课程模拟完成企业“项目任务”贯穿整个教学过程。通过问题、项目导入(实践)学生思考、分析、回答、教师评议、总结(理论)扩展应用(实践)的方式进行,使授课内容与工作实际紧密结合[2]。项目实施过程中教师加强对学生的引导,并且进行过程性评价,教会学生怎样应付大量的信息,引导学生如何在实践中发现新知识,掌握新内容。教师要成为教学策划和导演,在教学过程中起指导作用[3]。

4课程目标

本课程的项目强调从学生的学习和认知水平出发,通过理论、实践相结合的教学方式,边讲边学、边学边做、做中学、学中做,把学生培养成为具有良好职业道德的、具有嵌入式系统开发、程序设计的管理理论和实践能力的、具有可持续发展能力的高素质高技能型物联网专门人才,以适应市场对物联网人才的需求[4]。

5课程内容和要求

本课程的内容主要包括以下4大模块:无线传感器网络、无线片上系统、ZigBee网络协议、TIZ-Stack协议栈的使用,具体要求如表1所示。

6课程考核

本课程的考核采用过程考核和结果考核相结合的方法。过程考核根据课堂提问、课堂练习、课后作业和学习态度而定,是形成性考核;结果考核根据学生的考试成绩而定。本课程对各学习模块的考核标准如下文所示。6.1无线传感器网络能够阐述WSN的特点、体系结构和关键技术。6.2无线片上系统(1)会对芯片GPIO相关寄存器进行配置。(2)根据开关Led的原理,会设置Led驱动。(3)会切换时钟源来控制时钟频率。(4)能够设置外部中断相关寄存器。(5)会使用串口通信收发字符串。(6)能够获取片内温度传感器的温度值,并能通过串口发送到上位机。(7)会根据定时器中断配置步骤来会配置T1寄存器,完成T1中断程序。(8)会设置睡眠定时器的定时间隔,会设置系统功耗模式。本课程的教学不是单一机械地向学生传授知识和技能,也不是一种向学生灌输式传授知识的过程,而是一种启发引导学生自主探索学习、总结、体会知识和技能的过程。

[参考文献]

[1]谢金龙,邓人铭.物联网无线传感器网络技术与应用[M].北京:人民邮电出版社,2016.

[2]桂小林.物联网技术专业课程体系探索[J].计算机教育,2010(16):1-3.

[3]李强.浅谈我国高校物联网专业教学模式创新[J].北京师范大学学报,2010(2):30-35.

[4]施炯,杨亚萍,梁丰.“物联网工程导论”课程教学探索与实践[J].中国电力教育,2013(28):106-107.

篇10

在现有的即时通信系统中,实现音视频通信的核心组件包括音视频处理框架和即时通信协议两个部分。音视处理框架集成了音视频采集、音视频编解码、音视频分流控制、音视频数据流网络拥塞控制等技术模块,能够完成音视频数据流的采集、编码、分流等基本处理流程;即时通信协议则负责为音视频数据协商传输通道,并且在协商好的传输通道上建立对应的连接,从而为音视频数据的顺畅传输提供保障。

1即时通信协议

即时通信协议是进行即时通信必须遵循的信息规范,主要负责完成用户信息传输通道协商,客户端与服务器通信信令传输控制等任务。XMPP是主流即时通信协议之一,是基于可扩展标记语言(XML)的协议,其继承了在XML的高可扩展性,可以通过发送扩展的信息来处理用户需求。目前最常用的即时通信协议体系主要是SIP和XMPP协议体系,两者都可以完成音视频通信功能。另外,一些商业公司自行开发私有的即时通信协议实现了相对封闭的通信环境,例如QQ和MSN。XMPP协议是个总称,包括核心协议,扩展协议等。

核心协议只规定了很小、很基本的一些功能,大部分功能都是在扩展协议中规定的。实际上,XMPP协议只是作为协商协议应用,真正的P2P连接和实时通信是通过其扩展协议实现的。Jingle就是典型的扩展协议案例。Jingle[6]是Google开发的XMPP协议上的扩展,其解决了在XMPP协议体系下点对点的P2P连接问题。Jingle协议提供了多种传输方式用于数据传输,而针对多媒体数据的最为常见的模式是两种UDP传输方式。一种传输模型是RAWUDP[9],RAWUDP是在UDP协议上发送媒体数据包的传输通道模型,可以实现在同一局域网下的P2P连接,没有网络穿越功能,无法实现远程通信;另一种模型则是功能更为强大的ICE-UDP[8],ICE-UDP也是在UDP协议上发送媒体数据包,并且可以实现具有防火墙的网络穿越和ICE连接性检查,实现远程通信。ICE是标准的建立P2P连接性检查的协议,其自身不能独立工作,必需在信号通道的协调下建立连接,而XMPP协议就可以作为ICE通道协商的协议标准。

基于Jingle/XMPP协议实现的即时通信框图如图1所示。Jingle通过XMPP完成P2P通道的协商任务,同时通过Jingle协议建立P2P通道并进行连接性检查,然后建立并完成RTP会话,从而完成音视频通信。如果选择ICE-UDP通道传输模型进行RTP视频数据传输,XMPP服务器可以使用STUN[2]服务器收集用户的地址,包括NAT[3]后面的私有地址以及NAT与互联网连接的公共地址,并且以此为基础建立映射机制,完成会话参与者跟具体的网络地址间的转换和NAT穿越。

2音视频处理框架

即时通信系统中的音视频处理框架主要为用户提供一组多媒体数据处理的接口,用户可以用这些接口实现从多媒体采集卡上获得数据,进行压缩编码、格式转换、数据封包等一系列操作,从而完成多媒体的实时处理传输功能,大大简化多媒体处理的复杂性。目前具有二次开发功能的音视频处理框架包括Gstreamer,Directshow,Opencore等。其中DirectShow是微软公司在ActiveMovie和VideoforWindows基础上推出的基于COM的流媒体处理开发包。运用DirectShow可以很方便地从支持Windows驱动模型的采集卡上捕获数据,并进行相应的后期处理乃至存储到文件中。OpenCore则是手机操作系统Android的多媒体核心,OpenCore的代码非常庞大,是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。而基于Linux平台的GStreamer则是完全开源的多媒体框架库,利用其可以构建一系列媒体处理模块,包括从简单的Ogg播放功能到复杂的音频混音和视频非线性编辑处理。Gstreamer应用非常广泛,大多数手机平台及个人电脑Linux平台均采用Gstreamer进行音视频处理开发。

2.1Gstreamer音视频处理

Gstreamer通过其模块化设计理念,更加便于构建流媒体应用程序。它将各个模块封装起来,以元件的形式提供给用户使用。用户可以利用库中原有的元件进行应用程序的编程,同样也可以编写元件,然后插入到库中,以便日后调用时使用。如果只利用库中的元件来实现特定功能,只需要采用模块化的方式编写应用程序[4]。Gstreamer实现局域网内简单多媒体音视频传输发送端的框图如图2所示。对于视频数据流,Gstreamer在发送端将摄像头(v4l2src1)采集的数据依次经过色度空间转换(ffmpegcsp1)、H263视频编码(ffenc_h263p1)、RTP[1]载荷头添加(rtph263ppay1),在gstrtpbin中实现实时传输协议(RTP)和实时传输控制协议(RTCP)数据包整合,并添加发送报告的背景时钟时间戳,便于在接受端进行音视频同步播放,然后发到UDP端口(udpsink)。在接收端,从UDP端口截获的数据依次经过RTP和RTCP数据包解析、RTP载荷头解码、H263解码器解码视频数据、色度空间转换,最后经过视频显示插件显示到窗口中。其中gstrtpbin是进行RTP会话管理的核心组件,可以完成RTP数据包传输控制、RTCP数据包生成、冲突检测、音视频分流等任务。

2.2Farsight视频会议框架

通过Gstreamer开发库中的基础元件可以完成音视频处理的功能,并且可以进行简单的局域网内视频通信。但是,在视频会议等复杂应用中经常包含多个多媒体会话,而且多媒体会话之间的协调非常复杂,需要通过更为高层的处理框架来实现会话管理的功能。Farsight是以Gstreamer为基础开发的视频会议框架,它能够提供一套完整的为多媒体流协议编写插件的应用程序接口,同时还为用户提供API调用这些插件。即时通信应用程序可以使用Farsight进行音视频会议,而无须担心底层的数据流和NAT穿越的问题。因为Farsight[5]是以Gstre-amer为基础进行开发,所以开发新的元件能够和已有的Gstreamer元件整合,实现完成视频会议功能的多媒体框架。Farsight可以包含多路音视频会话流,包含多个会话参与者,具有强大的音视频会话管理功能。它通过模块化设计为许多即时通信软件提供音视频会议的服务,大大扩展了多媒体处理的功能,并且可以实现更为强大的视频会议功能。目前很多即时通信客户端软件都采用Farsight完成音视频通信。本文以Gstreamer/Farsight音视频处理框架为重点,详述其内部结构及功能实现。

Farsight中包括4个核心概念:会议(Conference)、会话(Session)、参与者(Participant)、流(Stream)。会话参与者是指多媒体数据源,可以是音频或视频等;会话则代表一路音频或视频会话,通常有一个媒体类型和一个输出端;会议则代表一个多媒体会议,可以包含多路会话,并且完成多路会话的协调管理;当参与者加入到会话中,就将多媒体数据引入会话中,使得数据能够流动,从而构成数据流。另外,Farsight实现了网络层的抽象,即将网络抽象为一个发射器对象,当数据流被创建时就会建立发射器对象,然后通过设置发射器参数确定发送的目的地址。实际上,Farsight并没有参与多媒体数据的采集和打包工作,它只是为多媒体数据流传输到网络端进行发送提供了一个通道,并且对通道进行协调管理,保证不同的会话参与者与其特定的数据流绑定以防止收发混淆。

Farsight实现RTP视频会议的结构如图3所示,其中FsRTPConference是Farsight框架下的一种插件,主要的RTP会话管理功能都在这个组件中实现。FsRTPConference中可以同时存在多路FsSession,每一路FsSession因参与者或音媒体源的不同代表不同的多媒体会话。编解码器在双方建立连接前无法确定,只有当通信双方的客户端协商之后,才会根据具体的编解码器名字调用并进行插件的连接。

Farsight通过将gstrtpbin封装到FsRTPConference中,添加一些其他的必要组件,实现RTP会话。RTP管理器主要由gstrtpbin负责完成RTP会话管理的操作。在发送端,视频源和音频源通过Sink接入到会话中,编解码器协商成功后,将编码器与数据源和过滤元件连接,然后通过RTP混合器将音视频数据发送到RTP管理器中,完成RTCP数据包的生成以及RTP会话的管理。最后,经过数据发射器将数据发送到相应的数据通道中。在接收端,数据流同样要经过类似的信息解码过程得到音视频数据。在发送端,数据发射器在Farsight中通常有多种插件选择,例如多播UDP插件、Libnice插件等,目的是为了实现底层数据传输的连接性检查。Libnice是实现了ICE和STUN协议规范的软件库,开发者以此为基础完成nice插件,可以实现基于ICE的数据发送。但是Libnice中只定义了如何在P2P连接确立后进行连接性检查,以及如何在确定的P2P连接上进行数据传输的网络穿越,并没有定义如何进行P2P连接,即P2P通道的协商任务。Jingle协议规范则定义了P2P通道建立连接及通道协商的任务。目前,Jin-gle协议已经在Libpurple(多协议会话开发库)中实现。

3即时通信系统中音视频通信的实现

为了开发的便捷,Pidgin软件的开发者将负责通信部分与图形用户界面部分分开,分离出来的核心代码构成即时通信客户端开发的核心部分,被称为Libpurple。这个程序库已被Adium与Proteus这些客户端使用。完成分离后,开发者将有可能以各自的图形程序库编写自己的客户端接口。在Libpurple中,为实现多媒体通信,开发者将基于Farsight的多媒体处理框架进行继承和封装,实现即时通信协议,并提供接口供用户使用,用户可利用应用程序接口编写程序实现网络层的连接。使用者可以使用Libpur-ple直接编写即时通信程序的核心代码,并构建应用程序。

同时,Libpurple实现了许多即时通信协议的通信,例如MSN,XMPP,AIM等协议,同时完成了媒体后端流处理与相应即时通信协议的协同工作。Libpurple在Farsight的基础上进行开发,实现了一套具备自身特点的流媒体模式。通过对Lipurple库的理解分析[10],得到了Libpurple实现音视频数据流控制及会话管理的方法,如图4所示。图4中Src是音视频数据源,传输到FsSession进行音视频流整合、RTCP包生成、数据流管理等操作。Vol-ume和level则分别表示音频的音量与消息控制插件。Libpurple采用FsSession做会话管理,并在FsSession的基础上添加Gstreamer基础元件进行控制,完成自己需要的功能。FsSession通过选择不同的连接通道,将音视频数据流通过发送器进行发送。

Libpurple中实现了Jingle协议进行RTP通信的规范,并提供两种数据通道,RAWUDP和ICE-UDP供用户使用。在进行具体RTP视频通信时,程序根据不同情况选择不同的通道使用。图4选择RAWUDP作为数据发送通道,用户也可以选择其他通道进行数据发送。为了与Jingle协议合作完成音视频通信,Libpurple建立了一个组件对象purplemedia,这个对象在Farsight组件中提取相关的参数信息,例如编解码器信息、发送目的地址等,并传递给Jingle协议,便于Jingle协议进行通道协商。当有新的即时通信协议需要利用Farsight完成视频通信时,开发者往往需要以Libpurple为基础进行开发,完成即时通信协议在Libpurple上的移植,以实现视频通信。在众多采用Libpurple库开发的即时通信软件客户端中,Pidgin是最成功的,也是少数几个可以实现音视频通信的案例。Pidgin是一款支持多协议客户端的图形化即时通信应用程序,它可以使用AIM,Jabber,MSN,Yahoo等即时通信软件的帐号进行登录。并采用Libpurple作为开发库,利用图形开发工具包编写用户界面及各种事件提醒和任务管理,从而实现在多种即时通信协议基础上的音视频通信。