时间:2022-05-19 01:29:09
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇数据通信论文范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
所谓的分组交换,指的是将用户发过来的报文的整体分成若干个定长的数据段,然后将这些分好的数据段进行存储,在网内进行传输。每一个数据段也就是一个分组,每一个分组都标识着接收地址和发送的地址。同时不同的用户的分组数据都采用的动态传输,也就是同一条路径可以有不同的用户在进行分组传送,因此,这种方式的传输效率较高。
二、数据通信的应用及发展前景
(一)移动数据通信在业务上的应用
1.移动数据通信的应用是利用移动通信的系统进行数据通信,它不仅可以作为固定的数据通信,还能够实现移动的图文传真、计算机联网、远距离传输等。由于移动数据的通信设备具有个性化的特点,因此数据传输的时候往往会由于一个网络端口会被人们多次使用,所以会经常出现拥堵的情况,由此便造成了多个连接终端不顺利进数据传输。但是移动数据通信就不会出现这种情况,我们只需要根据正常的程序进行,一个终端只负责一个用户,提高了数据传输的效率。除此之外,移动数据通信还能够实现电脑与电脑之间的远程操作和简单的数据传送,这样就利于人们在业务频繁的时候,可以随时随地的进行数据传输,从而达到省时高效的目的。由此可以发现,移动数据的通信可以使用户及时的收发消息。
2.帧中继技术应用。所谓的帧中继应用,主要是指使用光纤作为主要的传输方式,由于帧中继由于具有出错率低的技术特点,从而受到了人们的广泛关注。目前为止,这种技术被作为主要的宽带数据接口,也是交换数据的一种手段。但是这种方式不适用语音或者是视频这类传输,其具有特定的服务特性。
(二)数据通信的发展前景
关键词:DSP/BIOS管道流I/O主机
引言
对于数字信号处理应用来说,数据的通信很关键。在TI公司的DSP/BIOS环境下有3种通信方式,即基于管道(PIP,pipe)的通信、基于流(SIO,streamI/O)通道的通信以及基于主机(HST,host)通道的通信。每一种通信方式都是通过调度其相应的内核对象来完成的。DSP/BIOS提供了管理每一种通信方式的模块及相应地API调用,通过这些模块及调用,可以完成DSP环境下的输入/输出(I/O)。本文在对各种通信方式进行简要介绍的基础上,对各种通信方式进行比较,并给出利用PIP对象进行数据通信的1个例子。
1通信方式简介
(1)主机通信
主机通信方式下,由HST对象完成主机与目标机之间的通信。HST对象静态配置为输入/输出,每一个HST对象内部是用数据管道对象来实现的。
开发DSP应用时,可以应用HST对象来模仿数据流和测试程序算法对数据的处理。在程序开发的早期,特别是在测试信号处理算法时,程序使用输入通道对象访问来自主机文件中的数据,以及使用输出通道对象把算法处理过的结果反馈回主机一侧,以供查验或比较。在程序开发的后期,当算法开发完毕时,可以把HST对象改回到PIP对象,通过利用PIP对象完成外设真实数据与目标应用程序之间的通信。
(2)管道通信
管道(PIP)对象用于管理块I/O(也称为基于流的I/O或者异步I/O)。每一个PIP对象维护着一个分为固定数量和固定大小的缓冲区(称为帧)。所有的I/O操作在每一刻只处理1帧。尽管每一帧长度是固定的,但是应用程序可以在每一帧中放置可变数量的数据(但不能超过最大值)。管道有两端,一端为写线程,一端为读线程。写线程一端用于向管道中添加数据,读线程一端用于从管道中读取数据。管道能够用于在程序内的任意2个线程之间传递数据。经常地,管道的一端由ISR控制,另一端由软件中断函数控制。数据通知函数(也称为回调函数)用于同步数据的传输,包括通知读函数和通知写函数。当读或写1帧数据时,这些函数被触发,以通知程序有空闲帧或者有数据可以利用。
(3)流通信
流是一个通道,通过它,数据在应用程序与I/O设备之间传输。流通道可以是只读的(用于输入)或者只写的(用于输出)。它对所有I/O设备提供了一个简单通用接口,允许应用程序完全不用考虑每个设备操作的细节。流I/O的一个重要方面是它的异步特性。当应用程序正在处理当前缓冲区时,一个新的输入缓冲区正在被添充和以前的缓冲区正在被输出。流交换的是指针而不是数据,这就大大减少了开销,使得程序更能满足实时约束的要求。流模块(SIO)通过驱动程序来与不同类型的设备打交道。驱动程序由DEV(Device)模块管理。
设备驱动程序是管理一类设备的软件模块。这些模块遵从通用接口(由DEV提供),因此,流函数能够发出普通请求。图1给出了流与设备之间的交互示意图。
(4)各种通信方式比较
DSP/BIOS支持两种不同的数据传输模型,一种是管道模型,由PIP与HST模块使用;另一种是流模型,由SIO与DEV模块使用。2个模型都要求1个管道或者流具有1个读线程和1个写线程。2个模型都通过拷贝指针而不是数据来完成数据的拷贝。一般来说,管道模型支持低级通信,而流模型支持高级的、与设备无关的I/O。具体情况如表1所列。
表1DSP/BIOS环境下通信方式的比较
管道对象(PIP与HST)流对象(SIO与DEV)程序员必须创建自己的驱动程序提供了一种创建设备驱动程序的更加结构化方法读/写线程可以是任意线程类型或者主机PC一端必须由使用SIO调用的任务(TSK)来处理,另一端必须由使用Dxx调用的HWI处理PIP函数是非阻塞的,程序在管道写或读之间必须进行检查,以确保缓冲区可利用SIO_put、SIO_get和SIO_reclaim是阻塞函数(SIO)_issue是非阻塞函数)使用更少的内存,一般较快更加灵活,使用简单每个管道拥有自己的缓冲区缓冲区能够从一个流传输到另一个流而不用拷贝管道必须使用配置工具静态地配置流可以在运行时刻创建或者使用配置工具静态地配置对推栈设备(stackingdevic)没有内建地支持提供对堆栈设备(stackingdevic)的支持使用HST(内部PIP实现)使得主机与目标机的通信容易起来DSP/BIO提供了大量的设备驱动程序
2基于管道通信的一个例子
在基于以上分析的基础上,给出利用管道进行通信的1个例子。该例是音频处理的一个例子。数据从数据源输入到编码器以后经量化通过串行口输入到目标机,目标机处理完毕后再经串行口发送到编码器,由编码器经扬声器输出。图2给出数据的流程图。
(1)管道设计
该例中,设计了DSS_rxPipe和DSS_txPipe两个管道,其中DSS_rxPipe用于数据的接收,DSS_txPipe用于数据的发送。
(2)线程设计
由于每个管道分别对应1个读写线程,因此,发送管道与接收管道总共需要4个读写线程。本例中为了简化设计,只设计了2个线程。其中,音频处理函数(设计为软件中断SWI)既作为接收管道的读线程又作为发送管道的写线程;串行口接收中断处理服务例程ISR既作为接收管道的写线程又作为发送管道的读线程。
每次中断发生时,串行口中断服务例程(ISR)把数据接收寄存器(DRR)中的数据字(32位)拷贝到数据接收管道的一空闲帧中。当1帧被填满时,ISR把该满帧写到数据接收管道中(通过调用PIP_put),供该管道的读线程(即
音频处理函数)读取。音频处理函数执行时,它读取接收管道中的一满帧,处理完毕后再把它写到发送管道的一空闲帧中,供该管道的读线程(即ISR)发送。每次ISR触发时,它从发送管道中读取一满帧(若有的话),并每次32位字地发向串行口发送寄存器(DXR)直到1帧中的所有数据发送完毕。然后,该空闲帧被回收到发送管道,供音频处理函数(即该管道的写线程使用)。需要注意的是,由于例子当中发送速率与接收速率一样,因此,中断处理函数不但负责数据的接收也负责数据的发送,并且每次中断执行时只发送1个32位字。
(3)需注意的问题
PIP_alloc和PIP_put由PIP对象的写线程调用,PIP_get和PIP_free由PIP对象的读线程调用,这种调用顺序是非常重要的。若打乱这种调用顺序,将会产生不可预测的后果。因此,每一次对PIP_alloc的调用都要跟着对PIP_put的调用才能继续调用PIP_alloc;对于PIP_get,情况也是如此。
另外,为了避免PIP调用过程中产生递归,作为通知读/写函数的一部分,应该避免调用PIPAPI函数。如果为了效率起见必须要这样做,那么对诸如此类的调用应该加以保护,以阻止同一管道对象的重入以及错误的PIPAPI调用顺序。例如,在发送管道的通知读函数以及接收管道的通知写函数的开始部分,我们添加了如下语句,以避免递归调用:
staticIntnested=0;
…
if(nested){/*防止由于调用PIP_get函数而产生的递归调用*/
return;
}
nested=1;
…
关键词:BACnet智能建筑楼宇自动化面向对象
随着计算机、通信、控制和图形显示技术即4C技术的快速发展和全球对信息高速公路的大力建设,智能建筑,这个数字化、网络化和信息化的结合产物开始进入人们的视野。然而,如今智能建筑内各种控制功能变得愈发强大而复杂,致使不同厂商生产的设备使用于同一建筑物内,但各个厂商基本上都是开发自己专有的通信协议,于是各式各样的通信协议和设备给智能建筑的系统集成及管理使用带来诸多不便,用户处于受制于厂商而使造价提高、使用和维护费用增加的境地。所以制定一个开放的、统一的通信协议标准,并形成即插即用(plugandplay)的环境,就成为十分迫切需要解决的问题。
目前,在智能建筑领域,现场总线和通信协议主要有:(1)最初应用于工业控制领域的总线协议,如具有代表性的Profibus总线、Lonworks总线、CAN总线等;(2)专门针对智能建筑的总线和通信协议,如美国的BACnet和CEBus、欧洲的EIB等。本文就其中的BACnet作详细介绍。
图1BACnet的体系结构层次图
1BACnet协议概述
楼宇自动控制网络数据通信协议BACnet(AData
CommunicationProtocolforBuildingAutomationandControlNetwork)由美国供热、制冷与空调工程师协会组织的标准项目委员会135P于1995年6月正式通过制定。标准编号为ANSI/ASHRAEStandardl35-1995,同年12月正式成为美国国家标准,并得到欧盟标准委员会的承认,成为欧盟标准草案。2000年1月ISO组织TC205委员会的15个国家(中国、法国、日本、英国、美国等)的代表一致通过决议,将BACnet作为“委员会草案”进行广泛评议,适当修改后列为“国际标准化草案”,最后成为国际标准。
一般楼宇自控设备从功能上讲分为两部分:一部分专门处理设备的控制功能;另一部分专门处理设备的数据通信功能。而BACnet就是要建立一种统一的数据通信标准,使得设备可以互操作。BACnet协议只是规定了设备之间通信的规则,并不涉及实现细节。
BACnet协议模型为:(1)所有的网络设备,除基于MS/TP协议的以外,都是完全对等的(peertopeer);(2)每个设备都是一个“对象”的实体,每个对象用其“属性”描述,并提供了在网络中识别和访问设备的方法;设备相互通信是通过读/写某些设备对象的属性,以及利用协议提供的“服务”完成;(3)设备的完善性(Sophistication),即其实现服务请求或理解对象类型种类的能力,由设备的“一致性类别”(ConformanceClass)所反映。
1.1BACnet的体系结构
BACnet是一种针对智能建筑的开放性的网络协议,遵循OSI模型体系结构,BACnet体系结构层次图如图1所示。BACnet协议从硬/软件实现、数据传输速率、系统兼容和网络应用等几方面考虑,目前支持五种组合类型的数据链路/物理层规范。其中主从/令牌传递(MS/TP)协议是专门针对楼宇自控设备设计的数据链路规范。BACnet在物理介质上,支持双绞线、同轴电缆和光缆。在拓扑结构上,支持星型和总线拓扑。
BACnet没有严格规定网络拓扑结构,如图2所示。其中:网段(Segment)是多个物理网段通过中继器(R)连接形成的段落区间;网络是多个网段通过网桥(B)连接而成的,每个网络都形成一个MAC地址域;BACnet/Internet网络是将使用不同局域网技术的多个网络用路由器(RT)互联起来形成的网际网。
在BACnet拓扑中设备之间只存在一条逻辑通路,无需广域网的最优路由算法;其次,BACnet具有单一的局部地址空间,所以BACnet参照OSI模型制定了简化的网络层协议,向应用层提供不确认无连接的数据单元传送服务。每个BACnet设备都被一个网络号码和一个MAC地址唯一确定。
网络层通过“路由器”实现两个或多个异类BACnet局域网(不同的数链层)的连接,并通过协议报文进行“路由器”的自动配置、路由表维护和拥塞控制。BACnet路由器与每个网络的连接处称为一个“端口”。路由表中包含端口的下列项目:(1)端口所连接网络的MAC地址和网络号;(2)端口可到达网络的网络号列表及与这些网络的连接状态。图2中,“1/2RT”是半路由器,由PTP连接形成一个完整的BACnet路由器,即BACnet网际网将广域网技术向应用层屏蔽。
BACnet应用层即BACnet应用实体,通过API(应用编程接口)为上层应用程序服务,并与对等应用层实体通信。应用实体由两部分组成:用户单元和应用服务单元(ASE)。ASE是一组特定内容的应用服务。而用户单元支持本地API、保存事务处理上下文信息、产生请求ID、记录ID对应的应用服务响应、维护超时重传机制所需的计数器以及将设备行为要求映射为对象。
BACnet应用层提供证实和非证实两种类型的服务。BACnet定义了四种服务原语:请求、指示、响应和证实,它们通过应用层协议数据单元(APDU)传递。由于BACnet建立在无连接的通信模式上,所以OSI模型提供端到端服务的传输层部分简化功能也由应用层实现,分别为:可靠的端到端传输和差错校验;报文分段和流量控制;报文重组和序列控制。
1.2BACnet的对象、服务和功能组
BACnet采用面向对象技术,借此提供一种表示楼宇自控设备的标准。在BACnet中,对象就是在网络设备之间传输的一组数据结构,网络设备通过读取、修改封装在应用层APDU中的对象数据结构,实现互操作。BACnet目前定义了18个对象,如表1所示,每个对象都必须有三个属性:对象标志符(Object_Identifier)、对象名称(Object_Name)和对象类型(Object_Type)。其中,对象标志符用来唯一标识对象;BACnet设备可以通过广播自身包含的某个对象的对象名称,与包含相关对象的设备建立联系。BACnet协议要求每个设备都要包含“设备对象”,通过对其属性的读取可以让网络获得设备的全部信息。
表1BACnet对象
对象名称应用举例
01模拟输入AnalogInput模拟传感器输入如机械开关On/Off输入
02模拟输出AnalogOutput模拟控制量输出
03模拟值AnalogValue模拟控制设备参数如设备阀值
04数字输入BinaryInput数字传感器输入如电子开关On/Off输入
05数字输出BinaryOutput继电器输出
06数字值BinaryValue数字控制系统参数
07命令Command向多设备多对象写多值如日期设置
08日历表Calender程序定义的事件执行日期列表
09时间表Schedule周期操作时间表
10事件登记EventEnrollment描述错误状态事件如输入值超界或报警事件。通知一个设备对象,也可通过“通知类”对象通知多设备对象
11文件File允许访问(读/写)设备支持的数据文件
12组Group提供单一操作下访问多对象多属性
13环Loop提供访问一个“控制环”的标准化操作
14多态输入Multi-stateOutput表述多状态处理程序的状况,如制冷设备开、关和除霜循环
15多态输出Multi-stateOutput表述多状态处理程序的期望状态,如制冷设备开始冷却、除霜的时间
16通知类NotificationClass包含一个设备列表,配合“事件登记”对象将报警报文发送给多设备
17程序Program允许设备应用程序开始和停止、装载和卸载,并报告程序当前状态
18设备Device其属性表示设备支持的对象和服务以及设备商和固件版本等信息
在BACnet中,把对象的方法称为服务,对象及其属性提供了对一个楼宇自控设备“网络可见信息”的抽象描述,而服务提供了如何访问和操作这些信息的命令和方法。BACnet设备通过在网络中传递服务请求和服务应答报文实现服务。BACnet定义了35种服务,并将其划分为6个类别:(1)报警与事件服务(AlarmandEventServices)包含8种服务处理环境状态的变化,提供了BACnet设备预设的请求值改变通告、请求报警或事件状态摘要、发送报警或事件通知、收到报警通知确认等方法;(2)文件访问服务(FileAccessServices)包含2种服务,提供读写文件的方法,包括上/下载控制程序和数据库的能力;(3)对象访问服务(ObjectAccessServices)包含9种服务,提供了读、修改和写属性值以及增删对象的方法;(4)远程设备管理服务(RemoteDeviceManagementServices)包含11种服务,提供对BACnet设备进行维护和故障检测的工具、方法;(5)虚拟终端服务(VirtualTerminalServices)包含3种服务,提供了一种面向字符的数据双向交换机制,使其他具有专有特性的楼宇自控设备成为一个BACnet虚拟终端并使BACnet网络能对其进行重构;(6)网络安全服务(NetworkSecurityServices)包含2种服务,提供对等实体验证、数据源验证、操作者验证和数据加密等功能。
BACnet功能组规定了实现特定控制功能所需的对象和服务的组合。BACnet已定义了13个功能组,包括时钟功能组、事件响应功能组、文件功能组、虚拟终端功能组、设备通信功能组等。
1.3BACnet设备级别和设备等级说明
在实际的楼宇自动化系统中,没有必要也不可能所有的设备都支持、包含上述所有的对象和服务。因此,BACnet定义了6个一致性类别(设备级别)。一致性类别的分级编号为1~6,最低级别是类别l。每个类别都规定了设备要实现的最小服务子集,且包含低级别的所有服务。
为了帮助用户和工程人员确定不同BACnet设备之间的互操作性,需要厂商为每个设备提供标准格式文件以标识设备中己实现的BACnet标准的内容,即文件需包括设备符合BACnet等级的说明。这个文件就是PICS(ProtocolImplementationConformanceStatement),它包括:(1)标识厂商和描述设备的基本信息;(2)设备符合BACnet的级别;(3)设备所支持的功能组;(4)设备所支持的基于标准或专有的服务,设备启动或响应服务请求的能力;(5)设备所支持的基于标准或专有的对象类型及其属性描述;(6)设备支持的数据链路技术;(7)设备支持的分段请求和响应。
2BACnet的互联网扩展
目前,BACnet标准使用两种技术实现与Internet的互联。第一种技术附件H中称之为“隧道”技术,并将其设备称之为分组封装/拆装设备,简称PAD。其作用就像一个网关/路由器,这在图2中两个半路由器连接广域网形成一个完全的BACnet路由器有所体现。第二种技术附件J中称之为BACnet/IP,设备直接封装IP帧/包在BACnet网络和Internet上传输。
PAD将BACnet报文数据封装在IP协议数据包内传输,在目的BACnet网络解封。因此每个连接Internet的BACnet网络都要配置PAD网关/路由器。它可以是一个单独的设备,也可以是某种楼宇控制设备功能的一部分。
1.1加大对安全性的评估力度
有效保障数据通信网络的稳定性和安全性,就必须充分发挥技术人力资源的作用,积极构建起健全完善的数据通信平台,并积极对系统平台的安全性进行科学的全面的评估。作为一名合格具备专业化技术的人员,应按照相关制度要求和标准流程,设置科学的评估方式,对整个网络环境进行系统的评估,并适时给予安全调整,准确分析潜在的用户群体以及信息源,并对他们进行安全评估和识别,充分了解数据通信网络的发展实际,以此为出发点开展系统安全性的分析活动。
1.2及时排查隐存的安全威胁
定期开展网络安全的检查与维修活动,以及时确保数据信息的可靠性与真实性得到有效的安全确认,避免服务器的终端设备以及信息网中的硬件设备和软件设备受到恶意破坏,防止系统网络受到不法分子的严重攻击,达到对数据库内部的信息进行保密的目的。所以这就要求专业化的技术人员需以对网络安全性的有效评估为前提,全面仔细存在的隐形的安全威胁,积极设置高效的网管设置等形式,不断优化系统漏洞,拒绝一切不法分析用户的对网络系统的入侵和攻击,降低安全风险的发生。
2路由器与交换机漏洞的发现和防护
作为通过远程连接的方式实现网络资源的共享是大部分用户均会使用到的,不管这样的连接方式是利用何种方式进行连接,都难以避开负载路由器以及交换机的系统网络,这是这样,这些设备存在着某些漏洞极容易成为黑客的攻击的突破口。从路由器与交换机存在漏洞致因看,路由与交换的过程就是于网络中对数据包进行移动。在这个转移的过程中,它们常常被认为是作为某种单一化的传递设备而存在,那么这就需要注意,假如某个黑客窃取到主导路由器或者是交换机的相关权限之后,则会引发损失惨重的破坏。纵观路由与交换市场,拥有最多市场占有率的是思科公司,并且被网络领域人员视为重要的行业标准,也正因为该公司的产品普及应用程度较高,所以更加容易受到黑客攻击的目标。比如,在某些操作系统中,设置有相应的用于思科设备完整工具,主要是方便管理员对漏洞进行定期的检查,然而这些工具也被攻击者注意到并利用工具相关功能查找出设备的漏洞所在,就像密码漏洞主要利用JohntheRipper进行攻击。所以针对这类型的漏洞防护最基本的防护方法是开展定期的审计活动,为避免这种攻击,充分使用平台带有相应的多样化的检查工具,并在需要时进行定期更新,并保障设备出厂的默认密码已经得到彻底清除;而针对BGP漏洞的防护,最理想的办法是于ISP级别层面处理和解决相关的问题,假如是网络层面,最理想的办法是对携带数据包入站的路由给予严密的监视,并时刻搜索内在发生的所有异常现象。
3交换机常见的攻击类型
3.1MAC表洪水攻击
交换机基本运行形势为:当帧经过交换机的过程会记下MAC源地址,该地址同帧经过的端口存在某种联系,此后向该地址发送的信息流只会经过该端口,这样有助于节约带宽资源。通常情况下,MAC地址主要储存于能够追踪和查询的CAM中,以方便快捷查找。假如黑客通过往CAM传输大量的数据包,则会促使交换机往不同的连接方向输送大量的数据流,最终导致该交换机处在防止服务攻击环节时因过度负载而崩溃。
3.2ARP攻击
这是在会话劫持攻击环节频发的手段之一,它是获取物理地址的一个TCP/IP协议。某节点的IP地址的ARP请求被广播到网络上后,这个节点会收到确认其物理地址的应答,这样的数据包才能被传送出去。黑客可通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,ARP欺骗过程如图1所示。
3.3VTP攻击
以VTP角度看,探究的是交换机被视为VTP客户端或者是VTP服务器时的情况。当用户对某个在VTP服务器模式下工作的交换机的配置实施操作时,VTP上所配置的版本号均会增多1,当用户观察到所配置的版本号明显高于当前的版本号时,则可判断和VTP服务器实现同步。当黑客想要入侵用户的电脑时,那他就可以利用VTP为自己服务。黑客只要成功与交换机进行连接,然后再本台计算机与其构建一条有效的中继通道,然后就能够利用VTP。当黑客将VTP信息发送至配置的版本号较高且高于目前的VTP服务器,那么就会致使全部的交换机同黑客那台计算机实现同步,最终将全部除非默认的VLAN移出VLAN数据库的范围。
4安全防范VLAN攻击的对策
4.1保障TRUNK接口的稳定与安全
通常情况下,交换机所有的端口大致呈现出Access状态以及Turnk状态这两种,前者是指用户接入设备时必备的端口状态,后置是指在跨交换时一致性的VLAN-ID两者间的通讯。对Turnk进行配置时,能够避免开展任何的命令式操作行为,也同样能够实现于跨交换状态下一致性的VLAN-ID两者间的通讯。正是设备接口的配置处于自适应的自然状态,为各项攻击的发生埋下隐患,可通过如下的方式防止安全隐患的发生。首先,把交换机设备上全部的接口状态认为设置成Access状态,这样设置的目的是为了防止黑客将自己设备的接口设置成Desibarle状态后,不管以怎样的方式进行协商其最终结果均是Accese状态,致使黑客难以将交换机设备上的空闲接口作为攻击突破口,并欺骗为Turnk端口以实现在局域网的攻击。其次是把交换机设备上全部的接口状态认为设置成Turnk状态。不管黑客企图通过设置什么样的端口状态进行攻击,这边的接口状态始终为Turnk状态,这样有助于显著提高设备的可控性[3]。最后对Turnk端口中关于能够允许进出的VLAN命令进行有效配置,对出入Turnk端口的VLAN报文给予有效控制。只有经过允许的系类VLAN报文才能出入Turnk端口,这样就能够有效抑制黑客企图通过发送错误报文而进行攻击,保障数据传送的安全性。
4.2保障VTP协议的有效性与安全性
VTP(VLANTrunkProtocol,VLAN干道协议)是用来使VLAN配置信息在交换网内其它交换机上进行动态注册的一种二层协议,它主要用于管理在同一个域的网络范围内VLANs的建立、删除以及重命名。在一台VTPServer上配置一个新的VLAN时,该VLAN的配置信息将自动传播到本域内的其他所有交换机,这些交换机会自动地接收这些配置信息,使其VLAN的配置与VTPServer保持一致,从而减少在多台设备上配置同一个VLAN信息的工作量,而且保持了VLAN配置的统一性。处于VTP模式下,黑客容易通过VTP实现初步入侵和攻击,并通过获取相应的权限,以随意更改入侵的局域网络内部架构,导致网络阻塞和混乱。所以对VTP协议进行操作时,仅保存一台设置为VTP的服务器模式,其余为VTP的客户端模式。最后基于保障VTP域的稳定与安全的目的,应将VTP域全部的交换机设置为相同的密码,以保证只有符合密码相同的情况才能正常运作VTP,保障网络的安全。
5结语
“数据通信与计算机通信网”课程的内容知识点有些零散,但可以围绕计算机网络分层体系结构将其整合。民航系统中存在大量的地—空和地—地数据传输,拥有许多类型的通信网络。如:X.25数据业务网、卫星通信系统、飞机通信寻址报告系统(ACARS)以及航空电信网(ATN)等。如果将其引入课程教学,抽象的理论知识就可以具体化、形象化,再结合实际科研项目将其实现方法与步骤展示给学生,就可以很好地实现理论教学与行业应用的无缝衔接。基于此,笔者设计的课程教学过程如图1所示。
2课程教学实例
ACARS系统是目前国际民航广泛应用的地空数据链通信系统,通常工作在甚高频波段,用机与地面之间的实时双向数据传输,可实现航空公司、空管部门等地面用户对飞机的运行管理与控制。由于ACARS系统报文中含有许多重要的数据信息,所以该系统是当前民航领域在用的重要通信系统。这里以ACARS引入课堂教学为例,阐述课程教学的具体实施过程。(1)基本知识点的讲述及分层归纳“数据通信与计算机通信网”课程包含数据通信基础部分的教学内容,具体包括信号传输特性、传输介质、数据编码、差错检测与控制、接口特性以及多路复用等。这些内容分布在不同的章节,比较分散,初学者不容易整体把控。如果我们将其与网络层次体系相对应,就可实现知识点分层归纳和对比讲解,如差错控制属于数据链路层实现的功能,而编码与调制、接口特性属于物理层实现的功能等。(2)引入ACARS系统学生有了数据通信基础部分相关知识之后,教师立即将ACARS系统引入课堂教学。在简单介绍ACARS系统功能及在民航中的应用之后,重点说明ACARS系统中所包括的课程所学知识点。比如,ACARS数字信号采用MSK调制方式,上下行报文按照字符形式装配,其中的接收地址与发送地址由飞机标识码表示[5],差错检测方式为循环冗余校验码(CRC),多路访问采用非坚持-载波侦听多路访问(CSMA)机制。为了实现数据的可靠传输,ACARS系统采用停等ARQ方式。表1给出了两者部分知识点的对应关系。结合实际民航数据通信系统,学生对于所学的抽象的理论知识不再感到遥不可及,而是实实在在存在于应用系统之中。(3)科研项目引入教学教师随后可将相关的科研项目介绍给学生。笔者曾参与完成ACARS系统仿真项目,教学过程中除了通过图片、图形或者动画等形式介绍项目背景,展示相关的研究成果外,还将部分实现方法和开发流程介绍给学生。比如,该项目仿真软件编程语言采用C#,开发平台为VisualStudio2008。模拟ACARS系统手动发送报文功能的流程以及相应的功能函数说明如图2所示。除了课堂教学外,部分小的功能模块(如CRC码的实现)可直接让学生参与实践,课后再让学生参观实验室和研究基地。通过了解科研项目,学生对知识点的理解会更加透彻,不仅明白所学知识用在哪里,如何重要,而且也知道在工程上如何实现,这很容易激发他们对科研工作的兴趣。
3结语
船舶自动识别系统(AIS)是一种集合了网络技术、通信技术、计算机技术等的一体化助航设备。该系统能够获取近海海域中船舶的名称、位置、航向、速度等信息,一方面能够给船舶以唯一的标识,另一方面能够维护一个全局的船舶视图,以供船舶交通管理系统(VTS)或其他系统使用。本文针对VANET中存在的问题,以及AIS所具备的优势,提出一种新型的基于AIS的海上无线数据通信网络。该网络一方面能够实现灵活的组网和拓扑无关性,另一方面能够利用AIS所提供的船舶信息,实现更加有效、精确的位置服务和寻路功能,克服了VANET中路由协议的不足。网络的整体框架如图1所示。在船舶加入网络时,首先通过AIS向最近的AIS基站发送自身的信息,全体船舶的AIS信息存储于AIS服务器中。在本文提出的基于AIS的无线网络中,各个船舶可以向AIS基站发送请求,获得自身的位置信息,以及向周边船舶发送信息,获得邻居船舶的信息,通过AIS和邻居船舶等多个方面确定自身所处的位置以及呼叫对象所处的位置。当船舶A希望和船舶C通信时,首先通过多维位置发现服务,获得船舶C所处的位置,然后根据路由算法获得到达目的船舶的通信路径。
2多维位置发现服务
在AIS中,船舶通报自身位置,AIS服务器了解全体船舶的各个位置,而船舶本身并不了解自身在整个船舶通信网络之中的位置,以及呼叫对象在通信网络之中的位置。本文提出一种多维位置发现服务,通过该服务船舶不仅能够了解自身的绝对位置,同时能够通过维护邻居表和路由表,获取自身在通信网络中的相对位置,进而各个船舶可以通过自身的邻居表和路由表构建整个通信网络的整体视图,相较于传统的AIS位置服务,具备更多的位置衡量维度,因而称为多维度位置发现服务。在建立邻居关系的过程中,首先自身船舶向周边船舶发送广播NB_req消息,周边船舶若接收到,并允许建立邻居关系,则发送应答NB_rep;自身船舶根据NB_rep消息中提供的MMSI,向AISBS发送NI_req,AISBS通过查询服务器并计算后,向自身船舶发送NI_rep消息,其中包含了周边船舶的位置、速度等信息,自身船舶将这些信息添加入邻居关系表,通过邻居关系表,则船舶能够了解自身所处的位置,以及在全体船舶之中的位置。若自身船舶需要获得某个邻居船舶信息则发送NC_req,同时接受NC_rep来获取相应的信息。通过以上关系,不同船舶之间可以通过自身的邻居关系建立连接关系。邻居表及路由表的更新算法如图4所示。
3基于AIS的路由协议
第2节中介绍的多维位置发现服务,每个节点均维护了1张邻居关系表和路由表,这些邻居船舶可以直接进行通信。当需要与较远距离的目标进行通信时,则需要相应的路由协议确定在VANET中的通信路径。路由协议工作的步骤如下:1)首先船舶A根据自己的路由表,通过BS向自己的邻居发送DL_req消息,邻居收到消息之后,向BS发送应答DL_rep,返回自身的邻居表;2)船舶A根据DL_rep更新自己的路由表和路由表,并向新添加的邻居发送DL_req消息,并检查DL_rep中是否有目的船舶的信息;3)若船舶A的路由表和邻居表中新添加了目的船舶,那么寻路结束,根据路由表建立通往船舶通信路径;若没有则重复2),直到路由表和邻居表中没有新的元素被添加。在路由协议中,接收消息DL_rep与第2节中介绍的消息格式类似,其格式如图6所示。其中OMMSI为呼叫对象的MMSI,NeMMSI为对象船舶路由表中的下一跳船舶的MMSI。通过第2节中的邻居表和路由表更新,可以建立较为充分的“目的———下一跳”表项,为本节的路由协议提供基础。
4系统实现与仿真
系统节点的实现如图7所示。其中外部计算模块使用的是利用C++编写的程序代码,模拟船舶中网络节点的路由计算及消息处理。外部I/O模块,负责显示当前的网络节点状态和工作过程。在模拟节点中,每个AIS发送/接收终端与外部计算模块相连,计算模块模拟了路由协议在节点中的工作过程,演示了上文提到的几种重要消息类型。最后使用NS2对本文提出的网络进行了仿真,仿真环境为X86架构计算机,Corei3四核处理器,4G内存,Win7(64位)操作系统。在NS2中的仿真图如图8所示,其中①~⑦为模拟船舶节点,其内部结构如图7所示,⑧~⑨为模拟AISBS。仿真过程中实现的是,⑥之间的通信过程⑦,在初始状态下,⑥和⑦不是邻居关系,图8显示的是不同节点发送消息的状态。通过路由协议的工作,最终⑥和⑦实现了有效的通信,最终显示的消息在NS2中如图9所示所示。
5结语
关键词:考试改革;全过程;多元化
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)03-0087-02
数据通信与计算机网络是电子信息工程专业的一门专业课程,是一门涉及电子、通信以及计算机专业的交叉学科。该课程内容广泛,涵盖计算机网络体系结构及相关标准、数据通信基础、TCP/IP体系结构、局域网体系结构、广域网络技术、Internet应用协议、计算机网络安全等。知识更新快,新标准、新技术日新月异、层出不穷。数据通信与计算机网络作为一门广泛应用的学科,不但要传授相关知识,更要训练学生的自学能力、系统认证能力、表达能力、综合实验能力以及创新能力。因此,该门课程的考核,既要考核学生对知识的掌握情况,也要考核学生通过学习该课程各种能力的提高程度。
一、当前考试存在的问题
1.为了考试而考试。考试是教学的一个重要组成部分,它对“教”与“学”具有评价作用,对“教”与“学”中的问题具有诊断作用[1]。通过考试,教师能够掌握学生对知识的掌握情况、对能力的培养情况,进而调整教学方法和手段;通过考试,学生能够了解学习效果,发现问题,以便重新分配时间和精力,更好地完成学业。目前,很多教师和学生考试理念不清、目的不明,普遍存在着为了考试而考试的现象。在教师看来,考试是为了结束一门课程而不得不完成的一项工作,而对于考试是否能够反映教学存在的问题、如何反映教学存在的问题不甚关心,对于考试的结果分析不够全面深入,也很少将其融入今后的教学,完全弱化了考试所具有的诊断、反馈功能。在学生看来,考试只是为了得到一门课程的学分,以便能够顺利毕业,学习刻苦的同学可能还关心些成绩,而很多同学甚至只是关心是否及格。至于自己学到了什么,具备了何种能力,是否适应社会的需要,则很少有人思考,偏离了考试所应具有的激励、引导功能。
2.重知识、轻能力。电子信息工程专业学生既要掌握广泛的人文社会科学知识和扎实的数理基础知识,掌握电路与电工学、信号与系统、计算机、电磁场与电磁波等专业基础知识,掌握电子系统设计、软件开发、信号与信息处理等专业方向知识,更要具备自学能力、信息获取与表达能力、系统认知能力、创新思维能力、工程实践能力、系统开发能力以及团队协作能力。新时代对人才,特别是对创新型人才的要求,已经从知识体系走向能力体系[2]。对于数据通信与计算机网络课程来说,知识点多、更新快,因此,培养学生获取知识、应用知识的能力比单纯传授知识本身更重要。该课程传统的开卷考核方式和闭卷的考核方式对课本的依赖程度较高,考试内容侧重于理论知识,忽视了对各种能力的考核。学生往往借助死记硬背的方法获得较高的分数,从而使学生养成了错误的学习观念,不利于对学生创新能力和应用能力的培养。
3.形式单一。一门课程的考核应该全面考核该课程涉及的各种知识以及应用这些知识的能力,不同的知识或能力应采取不同的考核形式。目前一般都是通过期末一张试卷考核,无论是采取开卷还是闭卷形式,都无法全面考核学生的真实知识和能力。闭卷考试比较死板,注重知识,弱化运用;开卷考试虽灵活,但轻基础。由于受限于试卷篇幅和答题时间,单次考试无法兼顾知识和能力,只能侧重于知识点的考核,导致学生紧抓书本,视野狭窄,缺乏综合运用知识的能力和创新能力。考试期末“一锤定音”,只重结果、不重过程。通过一次考试决定学生一门课程的最终成绩,存在极大的偶然性。必然导致学生平时不学,考前突击复习,造成很多学生只注重考试期的临阵磨枪,而忽视了平时的过程学习。必然出现学生缠着教师划范围、指重点,学生也只是简单地复习重点内容,无法把握知识体系,更谈不上知识的应用了。另外,仅考期末考试,大大削弱考试的反馈作用,不利于教师及时调整教学内容和方法,也不利于发挥考试对学生平时的激励和引导作用。
二、考试改革的主要方法
1.全过程。所谓全过程就是考核持续在整个教学过程中完成,不是仅仅局限在期末考核。全过程的考核能够更加真实地反映学生的学习状况,能够更好地反馈教学效果,及时指导教师调整教学方法和手段,及时帮助学生重新分配时间和精力、调节侧重点,更好地完成学业。除期末考试外,在每次教学过程中进行学风考评,在每一章节的教学结束后进行知识点检测,在每个专题进行中,培养和反馈学生综合运用知识的能力。通过遍布整个教学过程中的考核,督促学生全面深入地掌握各门课程的内涵与外延,给予学生展示学习状况、心得体会和思考探讨的机会,全面充分地评价学生的学业,避免一次考试定终身的弊端,以提高考核的合理性、公平性和真实性。在数据通信与计算机网络的教学过程中,全过程考核主要涉及这样几个阶段。①教学过程中,随堂小测验。可以在一节课结束时进行,检查本节课的教学效果,也可以在一节课开始时进行,检查前面学习过的内容。②单元结束后,设置单元小考。单元小考不宜过于频繁,一门课设置二三次即可。③自学环节的评价。在整门课程的教学过程中,安排一两个章节由学生自学,在课堂上师生共同评价自学效果。④期末考试,全面考核教学情况。各个阶段的考核应该合理调配,保证每两次课有一次考核,要么单元测试,要么自学评价,要么随堂小测验,使得学生紧紧跟住教学活动,及时掌握相应知识,培养相应能力。
2.多元化。即不止一种考核方式,将理论知识考核与实践考核相结合,将知识考核与能力考核相结合,根据课程性质、知识或能力的内容选择恰当的考核方式,全面、客观地考察学生的知识和能力的掌握情况,避免单一考核方式的片面性。在数据通信与计算机网络课程的考核中,采用以下考核方式。①随堂小测验,考评学生的学风。以往主要通过点名的方式进行,这种方式只能体现学生的出勤情况,而采用随堂小测验还可以反映课堂教学效果,同时避免点名方式易发生的冒名顶替现象。采取随堂小测验的方式,能够紧紧抓住学生的注意力,对于学习习惯较差、意志力薄弱的同学,起到了很好的督促作用。当然,教师的批改工作量比课堂点名方式要大得多,需要教师具有奉献精神。小测验考查内容不应过多,一般情况下,一个重点知识点即可。时间也不宜过长,应该控制在5分钟内。②单元小考,检测单元的教学情况。尽可能使得单元小考的内容相对完整,自成体系。为此,需要合理地整合教学内容,调节相应的教学次序。数据通信与计算机网络课程可以整合成OSI参考模型单元、TCP/IP模型单元以及网络工程实践单元。单元小考亦随堂进行,每次30分钟到一小节课左右时间。单元小考应提前布置,引起学生足够重视,并督促学生进行相应的复习准备。③自学小论文答辩,评估学生的自学能力、信息获取与表达能力。数据通信与计算机网络课程涉及技术、标准繁多,课堂教学过程中无法面面俱到。新技术、新标准日新月异、层出不穷。因此,传授知识远没有培养学生能力重要。可以在整门课程的教学过程中,安排一次学生自学。自学内容可以是局域网体系中802.4、802.5、802.6等,也可以是以太网或无线局域网的一个技术标准,学生自由选题。通过网络、图书馆等多种渠道获取信息。学生整理所学知识,制作PPT,登上讲台展示自己的学习成果,讲给同学们听。师生共同提问打分,根据阐述技术的准确性、全面性、透彻性进行评价。为了保证每个学生都能展示自己的学习成果,应该预留足够的时间,90分钟、一大节课,甚至更长也可。④综合实验,检查学生理论知识的应用能力和创新能力。数据通信与计算机网络实验涉及物理层、数据链路层、网络层以及应用层的实验内容。设计一个综合性的实验,包含网线的制作、对等网的建立、交换机的配置、路由器的管理以及网络应用几个方面。要求学生自己构建网络拓扑结构、规划和分配IP地址,自己设计实验的步骤、内容、使用的仪器仪表以及实验记录的内容,实验过程中自己发现问题、进行故障分析并排除故障。该综合型实验开放式进行,不限定实验时间,以完成实验为目标。通过该综合性实验能够充分展现学生灵活运用所学知识的能力、创新能力以及分析问题和解决问题的能力。⑤期末考试,主要考核学生知识的掌握程度以及运用所学知识的情况。⑥总成绩构成。以往该门课程总成绩由平时成绩(10%)、实验成绩(20%)和期末成绩(70%)构成。考试改革后总成绩由随堂小测验等几种考核方式综合给出,其中随堂小测验占10%,考核学生出勤情况、课堂表现以及听课效果;单元小考占20%,考核对于章节知识的掌握情况;自学小论文占10%,考核学生的自学能力和信息获取与表达能力;综合实验占20%,考核学生的知识运用能力、创新能力以及分析问题和解决问题的能力;期末考试占40%,考核学生所学知识及运用知识的能力。改革之后,降低了期末考试的比重,强调了全过程考核;加强了对学生能力的考核,如自学小论文和综合实验部分。
灵活应用全过程、多元化的考核体系,可以使检验课堂教学效果与促进学生课外自主学习结合起来,使检验学生基本理论知识掌握情况与考察综合运用知识的能力结合起来,增强学生的学习积极性、主动性,提高学生的学习效果,真正做到成绩评定的全面、客观、公平、公正,彻底改变了传统的一次期末考试“一锤定音”的考试方式。
参考文献: