网络管理协议(精选十篇)
网络管理协议 篇1
随着Internet和机器人技术的快速发展,基于Internet的网络机器人控制系统得到人们的广泛关注。网控机器人技术结合了传统的机器人控制技术与先进的网络通讯技术,可以被应用于危险环境下的远程作业、远程医疗、远程教学、远程监护以及传统生产模式的改造等众多方面,具有广阔的应用前景[1]。
自行开发的机器人网络控制系统可以实现数据的网络传输、异构机器人的接入以及在线控制。并通过了基于MotomanHp3机器人的实验研究。本文主要介绍网控机器人在Internet上进行机器人信息的传输技术以及设计的一种新的基于TCP协议的网络机器人数据控制协议。
1网控机器人系统中传输数据的分析
机器人网络控制系统平台中,网络传输的信息主要有2类,一是字符串、文本类信息,另一类为视频类的实时媒体信息。
(1)字符类信息
机器人的控制指令和位置反馈信息都属此类。这类信息要求数据传输正确、可靠。TCP[2,3](Transmission ControlProtocol,传输控制协议)是一个具有重传机制和拥塞控制机制的,面向连接的协议,具有高度可靠性,因此系统采用它作为字符类信息的传输协议。
字符流的通信选用Socket机制来实现。由于Soeket是将用户代码和协议底层实现隔离的编程对象,并且提供了连接任何流到通信接口的方法,这样就可以通过输入输出流来抽象网络层的具体操作,把应用程序与网络技术细节分开,只需考虑流的读写操作而不用关心网络的具体细节。
(2)媒体类信息
由于多媒体传输对实时性要求高,系统采用基于UDP(User Data Protocol用户数据报协议)的RTP[2,3](Realtime Transport Protocol.实时传输协议)传输。RTP是一个位于UDP之上的应用型传输层协议,本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不能提供流量控制或拥塞控制。RTP虽然没有TCP那么可靠,而且需要RTCP (Realtime Transport Control Protocol.实时传输控制协议)实时监控数据传输和服务质量。但是由于它传输时延低于TCP,因此能够与音频和视频更好地配合。而且RTP和RTCP配合使用能以有效的反馈和最小的开销使传输效率最佳,故特别适合传送网上的实时数据。
2网络机器人数据控制协议的设计和实现
基于Internet进行控制的机器人控制信息和反馈信息比较复杂,针对不同的机器人有不同的控制命令和控制形式。因此如果需要机器人网络控制系统中接入多种不同的机器人,并实现不同机器人数据在网络上的传输,很有必要设计建立一个自己的机器人远程控制协议。
本文在此提出一个基于TCP协议之上的封装网络机器人数据控制协议,协议的具体数据结构如表1所示:
本系统的所有数据流都是以此为格式,在Internet上进行传输,下面是每一个字头的详细内容:
1.控制类别信息
控制类别信息是服务器端用于识别客户端发送何种类型的信息,根据不同的类别,分别发送给相应服务器的功能处理模块,可以进行扩展。
其中:
Initial Information:表示初始化信息数据包,此时数据包含有用户名和密码等登录和注册的必要消息。如果服务器端接受到此数据包,将会把此数据包发送给用户管理模块,由用户管理模块进行处理。
User Get Information:表示客户端请求获得服务器状态和机器人状态信息的数据包。服务器端接受到此信息,将会调用服务器状态反馈模块,把相应的机器人的位置信息和系统的信息定时反馈给用户。
Control Information:表示用户请求获得进行监督控制的数据包,数据包中含有具体的位置信息和控制信息。服务器端接受数据包后,将调用机器人监督控制模块进行解析。
Independence Information:表示用户请求进行自主任务控制的数据包,此数据包中包含了任务的名字和任务大小。服务器端接受此数据包后,会调用任务自主控制模块进行解析。
2.登录类型
表示用户登录的状态,分别是注册新用户、登录、修改用户、退出系统。
3.用户权限级别
Pviliege表示的是用户的级别,不同级别的用户拥有不同的控制权限。
数据定义:
其中:
Idle:属于普通用户,不能对系统进行控制,只能通过客户端进行现场视频信息的获取和机器人状态的获取。
Command And Emluator:表示可以进行命令控制模式,当接入虚拟现实系统后使用,反馈信息为仿真图像。对机器人是模拟操作,属于仿真环节。
Command And Video:表示可以进行命令控制模式,反馈信息为实时视频,对机器人进行实际操作。
Independence And Emluator:表示可以进行自主控制模式,当接入虚拟现实系统后使用,反馈信息为仿真图像。对机器人是模拟操作,属于仿真环节。
Independence And Video:表示可以进行自主控制模式,反馈信息为实时视频,对机器人进行实际操作。
当前用户状态表示的是用户当前操作所处的状态。
4.机器人类别
表示接入机器人网控系统平台的机器人,当有多个机器人接入时,用户需要选择具体的一个机器人来进行控制。本系统接入了两个MOTOMAN HP3机器人。
数据定义:
5.控制模式(ControlModel)
指的是在监督控制下,采用的是直角坐标系(Control=0)还是关节坐标系(Control=1)作为机器人的空间坐标系。
6.控制信号
用在监督控制模式下,采用直角坐标系,是发送给服务器端的控制命令,分别表示直角坐标系下XYZ3个方向的位移。Pause、Reset、Continue分别表示机器人进行暂停、复位和继续运行,在自主控制下发送的命令。此控制信号可以进行扩展。
数据定义:
7.速度信号
表示在监督控制模式下采用直角坐标系时,机器人每一次单位位移的大小,即机器人每响应一次命令所移动的位置量。
数据定义:
8.机器人状态和位置数据的结构
表示的是机器人接受的位置控制信息和机器人运动状态信息。可以根据不同的机器人终端进行相应的数据格式。
9.服务器返回的错误信息数据结构
表示在网络机器人控制系统中发生了何种类型的错误。
3网络机器人数据控制协议的解析
机器人网络控制平台系统的服务器和客户端通信的控制数据流都是基于此传输协议组建的数据包。在客户端和服务器端有相应的协议类进行数据包的组建和解析,对传输的数据包进行辩解码。
Information类就是此协议的具体实现。其中,RecoverOriginData ()方法是用来对协议进行初始化,AnalyzeString (Csring s)是用来分析接受到的数据包,解析成需要的控制信息、机器人状态信息和机器人位置信息。CoveyToString (CString&str)方法是用来组建要发送的数据包。SetRobotStatus(STATUSINFORMATION&status)和GetRobotStatus(STATUSINFORMATION&status)2个方法分别是对数据包设置机器人当前状态和解析数据包中的机器人当前状态。SetRobotPosition (POSTION&position)和GetRobotPosition (POSTION&position);2个方法分别是对数据包设置机器人当前状态和解析数据包中的机器人当前的位置参数。
此Information类完成了机器人网络控制系统中客户端和服务器端数据的编码和解码的工作,是网络机器人数据控制协议的具体实现。
对MotomanHP3机器人开展的实验表明,该数据控制协议能够有效完成机器人控制信息的传输。客户端机器人状态反馈信息如图1所示。
4结论
机器人网络控制系统研究对机器人技术的发展和应用都有着重大的理论意义和现实意义。此网络机器人数据控制协议是基于TCP的一种协议,继承了TCP协议的正确性和完整性,对网控机器人系统中的数据传输提供一种规范,为多机器人接入系统提供了技术前提。基于MotomanHP3机器人开展的实验表明了该数据控制协议的有效性。
参考文献
[1]刘振宝,辛洪兵,王文静.网络控制机器人技术及其控制系统的现状[J].北京工商大学学报(自然科学版),2006,24(3):32-36.
[2]Steve Mack.流媒体宝典.北京:电子工业出版社,2003.
[3]丁展,刘海英,等.Visual C++网络通信编程实用案例精选[M].北京:人民邮电出版社.2004,4.
网络管理协议 篇2
802.11b协议
说明:802.11b协议是由IEEE(电气电子工程师学会)于9月批准的,该协议的无线网络工作在2.4GHz频率下,最大传输速率可以达到11Mbps,可以实现在1Mbps、2Mbps、5.5Mbps以及11Mbps之间的自动切换;采用DSSS(直接序列展频技术),理论上在室内的最大传输距离可以达到100米,室外可以达到300米。目前,也称802.11b为Wi-Fi。
应用:目前,802.11b协议凭借其价格低廉、高开放性的特点被广泛应用于无线局域网领域,是目前使用最多的无线局域网协议之一。在无线局域网中,802.11b协议主要支持Ad Hoc(点对点)和Infrastructure(基本结构)两种工作模式,前者可以在无线网卡之间实现无线连接,后者可以借助于无线AP,让所有的无线网卡与之无线连接。
802.11a协议
说明:802.11a协议同样是在19制定完成的,其主要工作在5GHz的频率下,数据传输速率可以达到54Mbps,传输距离在10米~100米之间;采用了OFDM(正交频分多路复用)调制技术,可以支持语音、数据、图像的传输,不过与802.11b协议不兼容。
应用:802.11a协议凭借传输速度快,还因为使用了5GHz工作频率,所以受干扰比较少的特点,也被应用于无线局域网。但是因为价格比较昂贵,且相下不兼容,所以目前市场上并不普及,
802.11g协议
说明:802.11g协议于6月正式推出,它是在802.11b协议的基础上改进的协议,支持2.4GHz工作频率以及DSSS技术,并结合了802.11a协议高速的特点以及OFDM技术。这样802.11g协议即可以实现11Mbps传输速率,保持对802.11b的兼容,又可以实现54Mbps高传输速率。
应用:随着人们对无线局域网数据传输的要求,802.11g协议也已经慢慢普及到无线局域网中,和802.11b协议的产品一起占据了无线局域网市场的大部分。而且,部分加强型的802.11g产品已经步入无线百兆时代。
WEP协议
说明:全称Wired Equivalent Protocol(有线等效协议),是为了保证802.11b协议数据传输的安全性而推出的安全协议,该协议可以通过对传输的数据进行加密,这样可以保证无线局域网中数据传输的安全性。目前,在市场上一般的无线网络产品支持64/128甚至256位WEP加密,未来还会慢慢普及WEP的改进版本――WEP2。
网络问题解决向协议要效率 篇3
排除协议错误
有一则很奇怪的网络问题,本地连接能正常发送、接受信息包,但无法上网访问内容。对故障客户端系统的网卡指定灯状态进行检查时,看到网卡设备的指示灯尽管处于点亮状态,不过很长时间始终不闪烁,而指示灯不闪烁,就意味着网卡设备不存在数据交换行为。会不会是上网线路存在故障呢?网管员立即通过专业工具,来对物理线路连通性进行测试,看到物理线路的连通性很正常。之后,网管员又对TCP/IP参数、IE浏览器设置进行依次检查,看到都很正常,那故障客户端系统为什么无法正常上网呢?在毫无头绪的情况下,网管员只好上网咨询相关网络问题答案,偶然之中,看到计算机系统的Winsock设置不正确时,容易引起客户端系统发生各种隐性网络错误,这些错误经常会造成系统上网故障。所以,在尝试多半方法无法解决上网不正常故障时,不妨考虑对系统的Winsock设置进行恢复,或许将Winsock设置恢复到默认状态后,各种隐性的网络问题就能立即消失了,到时不能上网故障也就自动消失了,下面就是将Winsock设置恢复到默认状态的具体实现步骤:
首先依次选择“开始”|“运行”命令,切换到系统运行对话框,在其中执行“cmd”字符串命令,弹出系统MS-DOS工作窗口。在该窗口命令提示符下,输入“netsh winsock reset”字符串命令,确认后返回如图1所示的结果信息,本地系统的Winsock设置就能自动恢复到默认状态了,再重新启动一下Windows系统。等到系统启动稳定后,重新进行上网访问测试操作,相信之前发生的网络问题已经自动解决了。
修改协议端口
大家知道,善于使用Windows系统自带的Telnet协议功能,可以对网络中的重要主机进行远程管理,从而能有效提高网络管理效率。然而,该协议在进行远程管理工作时,会使用众人皆知的23端口,而该协议端口很容易被恶意用户偷偷利用,有可能给网络管理工作带来安全麻烦。此外,Telnet协议在工作时,会以明文形式传输内容,通过这种方式传输的内容很容易被恶意用户窃听或拦截,那怎样才能确保Telnet协议的使用安全呢?
首先需要修改Telnet协议的端口号码,让别人不容易知道。可以逐一点击“开始”|“运行”选项,弹出系统运行对话框,输入“cmd”命令,单击“确定”按钮后,弹出MS-DOS工作窗口。在该窗口命令行提示符下,输入“tlntadmn config port=1001”命令(其中“1001”为新的协议端口号码),如图2所示,单击回车键后,就能将本地计算机的Telnet协议端口号码修改为“1001”了。当然,新开启的协议端口号码不能和本地计算机中已启用的端口号码一致,否则Telnet协议将无法正常工作。日后,当别人要使用Telnet协议与本地系统建立远程连接时,必须在本地计算机名称后面加上“:1001”,才能保证Telnet连接创建成功。
其次在安全性要求较高的场合下,尽量使用SSH协议连接代替Telnet协议连接。因为SSH协议默认以非明文方式传输数据,恶意用户即使采取技术措施,中途窃取到了传输的数据内容,也无法访问到其中的信息。
停用NetBios协议
在局域网工作环境中访问共享资源时,有可能会遭遇这么一则十分奇怪的故障现象,那就是本次访问共享资源是正常的,不过重启计算机系统后,共享访问就失败了,再次重启计算机时,共享资源又能顺利访问了,为什么会发生这种蹊跷的故障现象呢,又该怎样避免如此奇怪的故障现象呢?
在排除上网线路不稳定因素外,必须检查故障计算机系统的NetBios协议状态,因为共享访问操作能通过两种协议模式来进行,一是Direct hosting协议模式,二是NetBios协议模式。如果共享访问处于Direct hosting协议模式状态时,局域网中的计算机相互之间能直接进行共享文件传输操作,而共享访问如果工作在NetBios协议模式状态时,本地计算机需要通过137网络端口来解析对方计算机名称,通过138端口号码来传递通信数据包,通过139端口号码来传输特定的共享文件。WinXP以上版本系统,在缺省状态下,会强制共享访问操作以Direct hosting协议模式工作,以提高共享访问速度,不过它也将NetBios协议模式同时集成在其中了。当我们将共享访问设置成NetBios协议模式时,Windows系统会智能调用绑定在网卡设备上的第一个IP地址,要是该IP地址与远程共享主机的IP地址不处于相同工作子网时,自然就会发生共享访问失败的故障。而且每次启动计算机系统后,Windows系统会随机选用协议模式,这样就会发生上面的蹊跷故障了。
为了避免上面的故障现象,我们可以进行如下设置操作,来停用NetBios协议,以保证Windows系统每次都使用Direct hosting协议模式,来访问局域网中的共享资源:首先依次点击“开始”|“设置”|“网络连接”命令,弹出网络连接列表窗口,用鼠标右键单击“本地连接”图标,执行右键菜单中的“属性”命令,切换到本地连接属性对话框,在该对话框的常规标签页面中,选中TCP/IP协议选项,按下“属性”按钮,进入TCP/IP协议属性设置界面。
其次按下“高级”按钮,切换到TCP/IP协议高级属性对话框,用鼠标点选“WINS”标签,弹出如图3所示的标签设置页面,在“NetBios设置”处,看看TCP/IP协议上的NetBios工作模式有没有被选中,如果看到该模式已经被正常选中时,应该及时改选“禁用TCP/IP上的NetBios”功能选项,确认后保存设置对话框。日后,本地计算机系统通过网络访问共享资源时,就会一直通过Direct hosting协议模式来工作,那么共享访问就能始终稳定了。
nlc202309040507
重置协议状态
在低版本操作系统中,上网下载资源时,速度或许不会很理想,这可能是低版本操作系统默认限制了TCP/IP上网连接数。为了尽可能地加快下载速度,不少用户都会及时更新Windows XP SP3补丁程序,并安装可以调整TCP/IP上网连接数的补丁程序,确保能够调整TCP/IP上网连接数量。不过,在成功安装好有关补丁程序,并重新启动计算机系统后,再次进行上网连接时,有时会发生不能上网访问的故障,该故障与平时发生的无法上网故障几乎完全相同,要是用户不清楚故障原因时,很容易在故障排查过程中多走弯路。
事实上,在成功安装好相关补丁程序后,计算机之所以会上网不正常,多半是Windows系统的TCP/IP协议被损坏,引起了对应通信协议不能正常处理数据信号。而且,一旦TCP/IP协议文件被意外损坏时,可能会存在如下不正常现象:无法查看本地连接状态信息,通过ping命令判断127.0.0.1地址连通性时,会发生“unable to contact IP driver”之类的错误,利用“ipconfig /all”命令,查看本地计算机的上网参数时,系统也会返回“an internal error occurred”之类的提示内容。所以,当计算机系统遇到无法访问网络故障时,不妨进行上面的检查、测试,要是确认在无法上网的时候,同时有上述现象出现,那就意味着TCP/IP协议文件可能受到了补丁安装操作的破坏。此时,可以进行如下设置操作,来快速重装TCP/IP协议,再正确定义好上网配置,就能恢复网络连接访问了:
首先逐一选择“开始”|“控制面板”|“网络和共享中心”|“管理网络连接”选项,切换到网络连接列表界面,找到本地连接图标并用鼠标右击之,执行快捷菜单中的“属性”命令,弹出本地连接属性对话框。在该对话框的“常规”设置页面中,将TCP/IP协议选中,并按下如图4所示界面中的“卸载”按钮,将可能受损的TCP/IP协议成功卸载掉。
接着重新启动计算机系统,再次进入本地连接属性对话框,点击“添加”按钮,重新安装一遍TCP/IP协议,并为TCP/IP协议配置好合适的工作参数,相信这时网络故障就能被解决了。如果TCP/IP协议在重新安装后,还无法让网络访问恢复正常时,那多半是故障计算机系统中的“tcpip.sys”文件被破坏或删除了。这个时候,我们不妨从网络中另找一台上网正常的计算机,展开“Windows\system32\drivers”文件夹窗口,利用优盘将正常的“tcpip.sys”文件,复制粘贴到故障计算机的相同文件夹中,之后重启故障计算机系统,这样就能恢复TCP/IP协议的工作状态了。
取消协议绑定
如果计算机只用来访问Internet网络,那么让网卡只绑定一个TCP/IPv4协议就足够了,其他的通信协议都是多余的。不过,在缺省状态下,Windows系统会将许多通信协议集中绑定在网卡设备上,这样会造成网卡设备在处理数据信息时“分神”,从而容易降低网络传输速度。为了改善网络访问速度,我们可以将绑定在网卡设备上的无关协议取消掉,让网卡全力以赴地传输数据,下面就是具体的操作步骤:
首先用鼠标右键单击系统托盘区域处的网络连接图标,点击快捷菜单中的“网络和共享中心”图标,进入网络和共享中心窗口,按下“管理网络连接”按钮,在其后出现的网络连接列表界面中,右击本地连接图标,执行快捷菜单中的“属性”命令,进入本地连接属性对话框,如图5所示。
在这里,我们看到Windows系统默认绑定了很多无关的协议或组件在网卡设备上,它们在上网访问过程中根本没有任何作用,反而还会影响网卡设备的工作,最终造成上网访问速度缓慢。例如,Vista以上版本系统,默认会将TCP/IPv6协议绑定在网卡设备上,当计算机上网访问时,Windows系统会优先使用TCP/IPv6协议建立上网连接,当无法找到有效的TCP/IPv6网络连接时,才会使用TCP/IPv4协议重新创建连接,这样上网访问操作自然会多走弯路,从而影响网络访问速度。所以,我们可以取消选中这里的“Internet Protocol Version6 (TCP/IPv6)”选项,禁止TCP/IPv6协议干扰上网访问速度。同时,可以取消选中“QoS Packet Scheduler”选项、“Link-Layer Topology Discovery Responder”选项等,以减轻网卡设备的工作“压力”。当然,如果本地计算机不需要与局域网中的其他计算机共享交流时,还能取消选中“File and Printer Sharing for Microsoft Net…”选项。
保证协议稳定
在安装了新版本操作系统的计算机中,通过网络传输或下载一些容量较大的数据信息时,会发现数据信息传输或下载速度明显不正常,而低版本操作系统通过同样的网络,传输或下载相同的数据信息时,速度却很正常,那么为什么会发生如此蹊跷的网络故障呢,我们该如何来进行应对呢?
正常情况下,引起网络传输或下载速度不快的原因,主要有网络传输通道堵塞、上网配置不正确、病毒木马程序捣乱等方面,在对这些细节进行逐一排查后,要是还不能提高网络传输或下载速度时,那多半是新版本系统意外关闭了TCP/IP协议的自动调谐功能,因为该功能会影响大块头文件的传输性能。这个时候,不妨进行如下设置操作,来临时停用TCP/IP协议的自动调谐功能,以保证协议的工作稳定性:
首先以系统管理员身份登录新版本操作系统,例如登录进入Windows 7系统,逐一选择“开始”|“程序”|“附件”|“命令提示符”选项,并用鼠标右击“命令提示符”命令,点击快捷菜单中的“以管理员身份运行”选项,切换到MS-DOS命令行界面。
其次在该工作界面的命令提示符下,输入字符串命令“netsh int tcp set global autotuninglevel=disable”,单击回车键,返回如图6所示的结果信息,这就表明已经成功关闭了TCP/IP协议的自动调谐功能,之后,再尝试传输或下载容量较大的数据信息时,传输速度或许就能加快了。
网络协议管理系统的仿真实现 篇4
网络协议是较抽象的概念,在网络的整个发展过程中属于重要的体系集合。网络协议的完全理解及掌握对于管理者而言是存在较大困难的。因此,构建实现一个完善的网络协议管理仿真系统是必需的。网络协议管理仿真系统可以借助于直观的方法描述协议的内涵及工作流程,让管理者通过对数据包的发送流程观察协议在网络中的运行机制,从而提升对网络协议的掌握程度。本文就是重点研究如何通过网络及计算机技术实现网络协议管理系统软件的仿真。
1 系统实现的关键技术
1.1 NDIS技术
网络驱动程序接口规范(NDIS,Network Driver Interface Specification)是标准的API,可以借助于不同的通信协议实现网络的连接,涉及到:TCP/IP协议、IPX协议以及NetBIOS协议等。
NDIS可以将网络驱动程序进行抽象化,维护驱动相关的状态信息以及核心参数,可支持的三种驱动程序为:小端口驱动程序;中间驱动程序以及协议驱动程序。其中,协议驱动程序一般情况下是基于最底层来实现的,可以借助于协议的接口实现驱程序数据包的传输。
1.2 XML技术
扩展标记语言(XML,Extensible Markup Language)是基于SGML发展而来的,属于元标记类语言,能够依据需求对标记语言进行针对性的定义。XML的最主要特点体现在:可以分开实现信息描述与处理;具备自我描述性;可以实现无限量的标记定义;可以扩展标记的可用范围。
XML的语法格式为:<标签>文本内容<标签>。其中,文本内容就是需要进行描述的数据对象。不管标签内的文本内容有多复杂,XML都可以实现元素的再次嵌套,从而形成等级化的结构特征。
1.3 NetBIOS技术
NetBIOS属于局域网内的应用程序编程接口,可以提供请求服务的命令集。NetBIOS最多可以含有16个阿尔法数字字母,可以根据网络程序方法实现数据的传输通信,几乎所有的局域网都是基于NetBIOS进行工作的。
NetBIOS会话服务是属于面向连接的可靠性服务,涉及到双重的信息服务。会话的建立必须是客户端与服务器端双方的有效合作。当一个终端程序处于listen状态时,其他终端程序才能够进行call命令的发送。当call命令获得成功后,就可以得到一个会话id作为确认信息。而数据的操作就借助于send和receive命令完成的。当会话服务结束后,所有终端程序都会执行挂起命令。
2 系统的设计
2.1 系统拓扑结构的设计
网络协议管理系统是由硬件和软件两大部分所组成的,其拓扑结构如图1所示。
其中,主控设备是服务器,主要实现应用层的相关协议服务,涉及到:FTP协议、HTTP协议、SMTP协议以及POP3协议等;仿真/监控系统是基于采集器实现的,主要是采集网络数据,其属于分流设备,能够实现将仿真机的网络数据按照上行以及下行的分类方法进行采集,最终将采集的数据发送到监控机进行有效的分析和统计处理。另外,仿真机以及监控机都是安装有协议编辑器的服务器,可以负责网络协议的发送、分析。
2.2 系统协议编辑功能的设计
首先,协议编辑器可以为系统用户提供编辑以及数据包发送的多种方式。用户通过选择一个帧序列,并进行任一单帧MAC层至应用层相关属性的修改。同时,协议编辑器如果获得的数据包存在错误,系统就会给出相关错误提示。当用户在编辑的时候,系统就会根据用户选择的协议显示其层次结构以及模型,从而让用户对协议的层次有直观的了解。当用户将选择的帧进行发送时,发送过程中所涉及到的时间间隔可以进行自定义处理。
其次,协议编辑器还可以实现图形化编辑协议脚本,在此基础上,用户能够实现协议的扩展。此外,还提供触发器的功能,当数据包与设置好的触发条件相匹配时,就可以触发预先设置好的响应事件。用户也能够根据触发器所提供的向导模式,生成扩展规则。
2.3 系统协议解析功能的设计
当系统调用XML进行网络协议解析时,也可以获得一个标准的节点,且是Cnode类型的。必须注意的是,这个Cnode类型的节点是根节点,涉及到相关的结构以及属性方面的信息,整个网络协议解析的过程如图2所示:
其中,对协议某字段进行解析的过程如下描述:
1)对协议字段进行过程函数的调用(ApplyDataItem函数),并针对协议控制结构的关键字进行协议字段的状态刷新处理。
2)状态刷新完成后,就获取该协议字段的下一子字段结构,再进行重复的解析处理。直至所有子字段都处理完成为止。
3)系统会生成一个树状结构的节点序列,同时也有一个相对应的列表结构。需要注意的是,最初的协议头部结构是不变的。
2.4 系统服务程序的设计
针对本文研究的网络协议管理系统,服务程序主要在管理用机上运行,负责发送、接收已经安装网络协议管理系统的终端主机名、物理地址以及IP地址等相关信息。各个管理终端机之间的通信方式是多播,数据单元为消息。针对通信的流程,消息主要有两种,分别是:“请求式”消息与“回应式”消息。
当主机需要获得信息时,首先通过多播模式进行“请求式”消息的发送。接收到“请求式”消息的主机都会发送一个“回应式”消息。“请求式”消息中有请求者可能等待的时间值,如果“回应式”消息到达的间隔时间过久,已经超过了这个时间值,请求者是无法接收这个“回应式”消息的。其中涉及到的主要类结构如下描述:
3 系统的实现
3.1 系统实现的特色
网络协议管理系统可以让管理者真正掌握网络协议的各个方法,为网络管理提供了新的手段,其实现的主要特色体现在以下三个方面:
首先,本系统不同于传统的管理系统,它能够提供全新的管理模式,实现开放性与自主性的结合。其次,本系统具备良好的管理质量,为切实提升管理质量奠定基础。最后,本系统可以让管理者对于网络协议的各个方面知识有个全面的掌握。
3.2 系统的仿真实现
通过前期详尽的需求分析,本系统充分考虑到了管理员的反馈信息,并体现人性化的软件界面,让管理者更容易接受。其中,网络协议数据包编辑与分析功能的仿真实现如图3所示。
为了充分体现本系统的优势,我们在仿真实现时增加了“自定义协议”功能。系统管理员可以通过“自定义协议”功能对协议进行改写或者扩充。该功能可以加深管理员对于网络协议的深层理解,也适合于那些想对网络协议进行深入管理的用户。
此外,为了提升系统的易操作性,本系统又增加了触发器功能。触发器就是指在网络协议工作时,对于一些数据包可以预先设置一些触发条件,而这些触发条件又分别对应着不同的响应事件。触发器功能的增加,可以将一些复杂的网络协议实验简单化。从本质上讲,触发器类似于一个简单的模拟单元,可以模拟协议工作流程,让管理者对于协议运作方式有了个更为直观的理解。为了方便系统管理用户的使用,本系统借助于向导模式实现触发条件及事件的预先设置,其仿真实现的界面如图4所示。
4 结束语
网络协议管理仿真系统是计算机网络管理的一个有效的辅助平台,可以很好地解决网络协议管理过程中涉及到的太过于抽象、不方便实践等问题。总之,通过该仿真系统的应用,可以使网络协议知识更加直观化,有助于用户的管理操作领会。
本系统通过在某些网络管理中心的试运行,取得了较好的效果。可以让管理员对于网络协议的内部结构以及工作流程有了一个更为全面、更为直观的理解与掌握,可以借助于网络协议的编辑与解析让管理员更深入掌握网络的内部原理,也有助于网络协议的有效管理,得到了系统管理用户的好评。
参考文献
[1]谢水珍,高光勇.网络协议仿真管理系统的构建与设计[J].电脑知识与技术(学术交流).
[4]蒋志平,谢波.一种纯软件模式的网络协议仿真管理系统设计[J].中国科技信息,2010,(07).
信托项目管理协议之补充协议 篇5
武汉雍景花园房地产开发有限公司
与
北京金地创业房地产开发有限公司
与
华为国际投资有限公司
与
北京信托有限公司
项目管理协议之补充协议
中国 北京
2011年
项目管理协议之补充协议
本协议由以下各方主体于2011年【】月【】日于中国北京市朝阳区签署:
雍景公司/委托方/甲方:武汉雍景花园房地产开发有限公司
法定代表人:黄晓炜
住所:武汉市武清区豆张庄乡世纪中路56号
邮编:801700
联系人:陈玉岭
联系电话:【】
传真:【】
金地创业/乙方:北京金地创业房地产开发有限公司
法定代表人:陈玉岭
住所:北京市怀柔区迎宾中路86号
邮编:100005
联系人:庞京虎
联系电话:010-6518 9118
传真:010-6518 911
5华为投资/丙方:华为国际投资有限公司
法定代表人:
住所:北京市大兴区中关村科技园区大兴生物医药产业基地天河西路28号 邮编:102600
联系人:、电话:010-6125 8558
传真:010-6125 885
5北京信托/丁方:北京信托有限公司
法定代表人:刘建华
住所:北京市朝阳区安立路80号院1、2号楼
邮编:100012
联系人:盛军、张楠
电话:010-5968 0888
传真:010-5968 0999
以上主体各称“一方”,合称“各方”。
鉴于:
雍景公司、金地创业、北京信托于2010年2月5日签署了《项目管理协议》(协议编号为2010北京信托泉源8号项目管理字第001号,以下简称:《项目管理协议》),就雍景花园项目(现项目名称为“欧景园”,推广名为“阳光墅”,本协议中以下简称“雍景花园项目”)的管理事宜进行了约定。
华为投资作为一家依法成立并有效存续的有限责任公司,认可并同意雍景公司、金地创业、北京信托之间签署的项目管理协议等法律文件,同意受让金地创业持有的泉源8号集合资金信托计划(以下简称“信托计划”)项下的次级A类受益权(分笔),成为信托计划的次级A类受益人,根据《泉源8号集合资金信托合同》的约定享有次级A类受益权,现各方就华为投资加入信托计划和雍景花园项目管理调整等事宜签署本补充协议如下,以兹共同遵守:定义和解释
1.1除非在本补充协议中另有特别解释或说明,各方确认本补充协议中的词
语和简称与项目管理协议中的词语和简称具有相同含义。
1.2本协议各条款的标题仅为方便而设,不得被视为等同于该条款所包括的全部内容,或被用来解释该等条款或本合同。
1.3除上下文另有规定以外,本协议中的词语以及所述的解释规则与泉源8
号集合资金信托计划之信托文件中所定义的词语以及所列示的解释规
则具有相同的含义。雍景花园项目管理
2.1金地创业同意委托华为投资根据《项目管理协议》及本补充协议的约定
对雍景花园项目实施管理,华为投资同意接受金地创业的委托,按《项
目管理协议》及本补充协议约定的内容和权限对雍景花园项目亲自实
施管理并履行相应的管理职责和义务,金地创业同意对本转委托行为
承担连带责任并配合完成本项目经营管理权的移交,雍景公司同意上
述转委托行为。
2.2各方同意并确认,北京信托作为雍景花园公司的唯一股东,根据法律法
规、公司章程、《项目管理协议》及本补充协议的约定依法享有权利。
2.3华为投资同意负责提供雍景花园项目全部后续建设资金,同时在本协议
生效时向雍景公司提供不低于人民币8000万元的股东借款,用于雍景
花园项目的经营运转资金(其中2115万元专项用于支付2011年12
月份的雍景花园项目优先收益)。
2.4华为投资同意其所有投入雍景公司的股东借款等项目运营资金均劣后
于北京信托支付的雍景花园项目优先收益权转让价款(即人民币14100
万元)的实现。
2.5华为投资承诺如下:在雍景花园项目的销售过程中,将雍景公司获得的所有销售资金(包括但不限于定金、订金、销售款等)及其他雍景花
园项目收益汇入雍景公司名义开立的指定银行账户,不得在雍景公司
之外另立其他收款账户或收款名目,不得进行现金销售;同时以雍景
公司名义在雍景花园项目售楼处等显著位臵张贴公告,公示客户所有
缴款须收到雍景公司开具并盖章的财务收据,否则不视为雍景公司已
收款、同时雍景公司不承担责任,若由此引起的纠纷、损失等全部法
律责任均由华为投资承担。
2.6华为投资同意并确认:雍景公司人员安排、证照印鉴合同管理、费用支
出管理等仍遵照《项目管理协议》的规定执行。项目优先收益权转让价款偿付安排
3.1雍景公司同意按照如下进度向北京信托偿付雍景花园项目优先收益权
转让价款、并同时支付相应项目优先收益:2011年4月份(含)起每月至少偿还2000万元项目优先收益权转让价款,2012年9月底之前
清偿全部项目优先收益权转让价款(共14100万元人民币)。
3.2各方同意:若雍景公司违反上述第8.1条约定,北京信托有权依据《雍
景花园项目优先收益权转让协议》(协议编号为:2010北京信托投资(财
产权)字第002号)第8条的约定追究其违约责任;同时北京信托有
权根据相关保证合同的约定要求华为投资、金地创业履行担保义务。
3.3各方同意:若雍景公司未向北京信托清偿全部项目优先收益权转让价款
(共14100万元人民币)之前,北京信托有权拒绝办理金地创业、华
为投资递交的信托受益权转让登记申请,由此引起的纠纷、损失等全
部法律责任均由金地创业、华为投资自行承担,与北京信托无关。其他事项
4.1本补充协议为《项目管理协议》不可分割的组成部分,具有同等法律效
力。
4.2本协议与《项目管理协议》约定不一致之处,以本协议为准。本协议未
约定的内容以《项目管理协议》的约定为准执行。
4.3本补充协议一式捌份,双方各执两份,经各方法定代表人或授权代表签
章并加盖公章之日起生效,具有同等法律效力。
(以下无正文)
(本页为《项目管理协议之补充协议》(编号为:2010北京信托泉源8号项目管理字第001-1号)之签署页)
武汉雍景花园房地产开发有限公司(公章)
法定代表人或其授权代表(签字或盖章):
北京金地创业房地产开发有限公司(公章)
法定代表人或其授权代表(签字或盖章):
华为国际投资有限公司(公章)
法定代表人或其授权代表(签字或盖章):
北京信托有限公司(公章)
浅析计算机网络通信协议 篇6
摘要:计算机与计算机之间的通信离不开通信协议,通信协议实际上是一组规定和约定的集合。两台计算机在通信时必须约定好本次通信做什么,是进行文件传输,还是发送电子邮件;怎样通信,什么时间通信等。
关键词:计算机网络通信协议
0引言
本文就计算机网络通信协议、选择网络通信协议的原则、TCP/IP通信协议的安装、设置和测试等,作进一步的研究和探讨。
1网络通信协议
目前,局域网中常用的通信协议主要有:NetBEUI协议、IPX/SPX兼容协议和TCP/IP协议。
1.1NetBEUI协议①NetBEUI是一种体积小、效率高、速度快的通信协议。在微软如今的主流产品,在Windows和WindowsNT中,NetBEUI已成为其固有的缺省协议。NetBEUI是专门为几台到百余台PC所组成的单网段部门级小型局域网而设计的。②NetBEUI中包含一个网络接口标准NetBIOS。NetBIOS是IBM用于实现PC间相互通信的标准,是一种在小型局域网上使用的通信规范。该网络由PC组成,最大用户数不超过30个。
1.2IPX/SPX及其兼容协议①IPX/SPX是Novell公司的通信协议集。与NetBEUI的明显区别是,IPX/SPX显得比较庞大,在复杂环境下具有很强的适应性。因为,IPX/SPX在设计一开始就考虑了多网段的问题,具有强大的路由功能,适合于大型网络使用。②IPX/SPX及其兼容协议不需要任何配置。它可通过“网络地址”来识别自己的身份。Novell网络中的网络地址由两部分组成:标明物理网段的“网络ID”和标明特殊设备的“节点ID”。其中网络ID集中在NetWare服务器或路由器中,节点ID即为每个网卡的ID号。所有的网络ID和节点ID都是一个独一无二的“内部IPX地址”。正是由于网络地址的唯一性,才使IPX/SPX具有较强的路由功能。在IPX/SPX协议中,IPX是NetWare最底层的协议,它只负责数据在网络中的移动,并不保证数据是否传输成功,也不提供纠错服务。IPX在负责数据传送时,如果接收节点在同一网段内,就直接按该节点的ID将数据传给它;如果接收节点是远程的,数据将交给NetWare服务器或路由器中的网络ID,继续数据的下一步传输。SPX在整个协议中负责对所传输的数据进行无差错处理,IPX/SPX也叫做“Novell的协议集”。③NwLink通信协议。Windows NT中提供了两个IPX/SPX的兼容协议:“NWLink SPX/SPX兼容协议”和“NWLink NetBIOS”,两者统称为“NWLink通信协议”。NWLink协议是Novell公司IPX/SPX协议在微软网络中的实现,它在继承IPX/SPX协议优点的同时,更适应了微软的操作系统和网络环境。Windows NT网络和Windows的用户,可以利用NWLink协议获得NetWare服务器的服务。从Novell环境转向微软平台,或两种平台共存时,NWLink通信协议是最好的选择。
1.3TCP/IP协议TCP/IP是目前最常用到的一种通信协议,它是计算机世界里的一个通用协议。在局域网中,TCP/IP最早出现在Unix系统中,现在几乎所有的厂商和操作系统都开始支持它。同时,TCP/IP也是Internet的基础协议。①TCP/IP具有很高的灵活性,支持任意规模的网络,几乎可连接所有的服务器和工作站。但其灵活性也为它的使用带来了许多不便,在使用NetBEUI和IPX/SPX及其兼容协议时都不需要进行配置,而TCP/IP协议在使用时首先要进行复杂的设置。每个节点至少需要一个“IP地址”、一个“子网掩码”、一个“默认网关”和一个“主机名”。在Windows NT中提供了一个称为动态主机配置协议(DHCP)的工具,它可自动为客户机分配连入网络时所需的信息,减轻了联网工作上的负担,并避免了出错。同IPX/SPX及其兼容协议一样,TCP/IP也是一种可路由的协议。TCP/IP的地址是分级的,这使得它很容易确定并找到网上的用户,同时也提高了网络带宽的利用率。当需要时,运行TCP/IP协议的服务器(如Win-dows NT服务器)还可以被配置成TCP/IP路由器。与TCP/IP不同的是,IPY4SPX协议中的IPX使用的是一种广播协议,它经常出现广播包堵塞,所以无法获得最佳的网络带宽。②windows中的TCP/IP协议。Windows的用户不但可以使用TCP/IP组建对等网,而且可以方便地接入其它的服务器。如果Windows工作站只安装了TCP/IP协议,它是不能直接加入Windows NT域的。虽然该工作站可通过运行在Windows NT服务器上的代理服务器(如foxy Server)来访问Internet,但却不能通过它登录Windows NT服务器的域。要让只安装TCP/IP协议的Windows用户加入到Windows NT域,还必须在windows上安装NetBEUI协议。③TCP/IP协议在局域网中的配置。只要掌握了一些有关TCP/IP方面的知识,使用起来也非常方便。④IP地址。TCP/IP协议也是靠自己的IP地址来识别在网上的位置和身份的,IP地址同样由“网络ID”和“节点ID”(或称HOST ID,主机地址)两部分组成。一个完整的IP地址用32位(bit)二进制数组成,每8位(1个字节)为一个段(Segment),共4段(Segment1~Segment4),段与段之间用“,”号隔开。为了便于应用,IP地址在实际使用时并不直接用二进制,而是用大家熟悉的十进制数表示,如192.168.0.1等。在选用IP地址时,总的原则是:网络中每个设备的IP地址必须唯一,在不同的设备上不允许出现相同的IP地址。⑤子网掩码。子网掩码是用于对子网的管理,主要是在多网段环境中对IP地址中的“网络ID”进行扩展。例如某个节点的IP地址为192.168.0.1,它是一个C类网。其中前面三段共24位用来表示“网络ID”;而最后一段共8位可以作为“节点ID”自由分配。⑥网关。网关(Gateway)是用来连接异种网络的设置。它充当了一个翻译的身份,负责对不同的通信协议进行翻译,使运行不同协议的两种网络之间可以实现相互通信。如运行TCP/IP协议的Windows NT用户要访问运行IPX/SPX协议的Novell网络资源时,则必须由网关作为中介。如果两个运行TCP/IP协议的网络之间进行互联,则可以使用Windows NT所提供的“默认网关”(Default Gateway)来完成。⑦主机名。网络中唯一能够代表用户或设备身份的只有IP地址。但一般情况下,众多的IP地址不容易记忆,操作起来也不方便。为了改善这种状况,我们可给予每个用户或设备一个有意义的名称,如“HAOYUN”。
2选择网络通信协议的原则
2.1所选协议要与网络结构和功能相一致。如你的网络存在多个网段或要通过路由器相连时,就不能使用不具备路由和跨网段操作功能的NetBEUI协议,而必须选择IPX/SPX或TCP/IP等协议。另外,如果你的网络规模较小,同时只是为了简单的文件和设备的共享,这时你最关心的就是网络速度,所以在选择协议时应选择占用内存小和带宽利用率高的协议,如NetBEUI。当你的网络规模较大,且网络结构复杂时,应选择可管理性和可扩充性较好的协议,如TCP/IP。
2.2除特殊情况外,一个网络尽量只选择一种通信协议。现实中许多人的做法是一次选择多个协议,或选择系统所提供的所有协议,其实这样做是很不可取的。因为每个协议都要占用计算机的内存,选择的协议越多,占用计算机的内存资源就越多。一方面影响了计算机的运行速度,另一方面不利于网络的管理。事实上一个网络中一般一种通信协议就可以满足需要。
2.3注意协议的版本。每个协议都有它的发展和完善过程,因而出现了不同的版本,每个版本的协议都有它最为合适的网络环境。从整体来看,高版本协议的功能和性能要比低版本好。所以在选择时,在满足网络功能要求的前提下,应尽量选择高版本的通信协议。
2.4协议的一致性。如果要让两台实现互联的计算机间进行对话,它们两者使用的通信协议必须相同。否则中间还需要一个“翻译”进行不同协议的转换,这样不仅影响通信速度,同时也不利于网络的安全和稳定运行。
3TCP/IP通信协议的安装、设置和测试
局域网中的一些通信协议,在安装操作系统时会自动安装Net-BEUI通信协议;在安装NetWare时,系统会自动安装IPX/SPX通信协议。在3种协议中,NetBEUI和IPX/SPX在安装后不需要进行设置就可以直接使用,但TCP/IP要经过必要的设置。下面是Windows NT环境下的TCP/P协议的安装、设置和测试方法。①TCP/IP通信协议的安装:在Windows NT中,如果未安装有TCP/IP通信协议,可选择“开始/设置,控制面板,网络”,出现“网络”对话框后,选择对话框中的“协议/添加”命令,选取其中的TCP/IP协议,然后单击“确定”按钮。系统会询问你是否要进行“DHCP服务器”的设置。如果你的IP地址是固定的,可选择“否”。随后,系统开始从安装盘中复制所需的文件。②TCP/IP通信协议的设置:在“网络”对话框中选择已安装的TCP/IP协议,打开其“属性”,在指定的位置输入已分配好的“IP地址”和“子网掩码”。如果该用户还要访问其他Windows NT网络的资源,还可以在“默认网关”处输入网关的地址。③TCP/IP通信协议的测试:当TCP/IP协议安装并设置结束后,为了保证其能够正常工作,在使用前一定要进行测试。笔者建议大家使用系统自带的工具程序PING.EXE,该工具可以检查出任何一个用户是否与同一网段的其他用户连通,是否与其他网段的用户正常连接,同时还能检查出自己的IP地址是否与其他用户的IP地址发生冲突。
4结束语
网络协议演示系统设计 篇7
1 系统结构分析及功能设计
演示系统按设计主要分为三个部分:编码演示部分,数据链路协议演示部分,距离矢量路由协议演示部分。系统结构如图1所示。
整个演示过程是在一个由若干台虚拟网络设备组成的虚拟网络[6]中进行的。虚拟网络中所用到的虚拟网络设备包括虚拟计算机,虚拟交换机,虚拟路由器和虚拟通信线路等,其中的路由器都是工作中距离矢量路由协议上的。
2 详细设计
2.1 编码演示部分
在计算机网络[2]中,数据编码的类型有很多,如奇偶校验码、CRC检错码、海明纠错码等。本设计的编码演示部分主要演示工作在数据链路层的海明纠错码。这种编码是计算机网络中最实用最常用的,也是在学习过程中比较难以理解的。
2.1.1 海明纠错码详细设计
海明码(Hamming code)是一种典型的纠错码。它不仅可以发现某些错误,还能确定错误发生的位置并加以纠正。一个海明码的码字是由数据位和校验位组成的。海明码的编码规则是:码字中的每一位连续编号,从最左边位1开始,它的右边是位2,等等。编号为2的幂次方的位(1,2,4,8,16,…)为校验位。剩下的位(3,5,6,7,9,…)用数据位填充。校验与数据位的排列如图2所示。
海明码解码:一个码字到来时,接收方将计数器初始化0。再检查每一个校验位K(K=1,2,4,…),看是否有正确奇偶性。若没有,接收方将K加到计数器上。若所有的校验位都被检查过后,计数器为0,即这些校验位都是正确的,则该码字作为有效码字而接受。若计数器不为0,即包含了不正确的编号。[2]海明纠错码演示界面设计如图3所示,整个界面由发送端、信道、接收端和信息提示区组成。海明纠错码的编解码的界面设计如图4所示。
2.2 数据链路协议演示部分
数据链路协议演示部分实现的6种数据链路协议包括:无限制单工协议,停-等单工协议,有噪声信道的单工协议,1位滑动窗口协议,使用回退n帧技术的滑动窗口协议和使用选择重传的滑动窗口协议。演示内容主要为通信的两方(发送方和接收方)在各种协议之下,如何进行协作及处理异常[5]。下面以单工协议为例说明。
三种单工协议的演示界面设计均如图5所示。演示窗口主要包含两个部分,参数设置区和结果显示区。
参数设置区:演示窗口的左部为参数设置区。用户可以通过该区根据需要设置一些演示参数,如传输超时时间,测试帧的数量,通信线路延迟和设置问题数据帧。结果显示区:演示窗口的右部为结果显示区。当用户单击了“测试”按钮后,演示程序根据协议算法在发送端和接收端之间发送数据帧,同时在结果显示区按时间先后顺序显示出通信线路上传输的数据帧信息,这些信息包括时间(精确到毫秒),数据帧的发出端,数据帧的类型,以及数据帧的丢失损坏情况。
2.3 距离矢量路由协议演示部分
2.3.1 虚拟设备
距离矢量路由协议[3]演示部分是整个演示程序中最重要的部分。首先通过建立虚拟现实类,模拟出现实物理设备,再由这些虚拟设备构造一个虚拟网络。虚拟网络中各种物理设备(主要是计算机、交换机、路由器)通过虚拟的通信线缆连接起来。
1)虚拟计算机:
计算机是计算机网络中的一个重要节点,在本设计中虚拟计算机包括:一个复杂网络接口(包括物理层,数据链路层和网络层等),如图6所示,一个数据包发送缓冲区和一个数据包接收缓冲区。根据OSI体系结构,计算机的网络接口实际上不至这三层,还包括传输层、表示层、会话层和应用层,这里仅为了演示需要,暂不虚拟上述四层。
网络接口的物理层负责把从它的上一层(数据链路层)传下来的数据送到通信线路上,和把从通信线路上的信息原封不动地送到上一层。网络接口的数据链路层保存着网络接口的物理地址(MAC地址)。数据链路层把网络层传下来的数据包封装成数据帧,送到它下一层(物理层)。数据链路层还要把从下一层传上来的数据帧进行验证,若接收的帧的目的MAC是本机MAC或者广播MAC,则接收,将数据传送到上一层,否则,丢掉该帧。
网络接口的网络层保存着IP地址和子网掩码属性。该层的工作就是,把从它的上一层(传输层)传下来的数据报文封装成数据包,数据包包括源IP地址和目的IP地址等信息,再把封装好的数据包送到它下一层(数据链路层)。另外,把从它的下一层传上来的数据包进行验证,如果接收到的数据报的目的IP地址是本机IP地址或是与本机相对应的广播地址,则接收该数据包,并把该数据包所携带的数据报传给它的上一层,否则,丢掉该包。
当计算机的网络层确认接收一个数据包后,便把这个数据包写入数据包接收缓冲区。如果用户要发送一个消息,则将封装好的数据包写入数据包发送缓冲区,等待发送。
2)虚拟交换机:
交换机负责局域网内数据的转发。在本设计中虚拟交换机所涉及到的内容包括:一个简单网络接口(包括物理层和数据链路层),一个数据包转发缓冲区及相关部件。
当交换机网络接口的数据链路层确认收到一个数据包后,交换会将这个数据包写入数据包转发缓冲区,之后会从数据包转发缓冲区取出数据包进行转发,转发的方式有两种,一种是向整体局域广播该数据包;另一种是,先找到目标主机,再通过单播的方式进行转发,在设计演示程序的时候暂时将交换机的工作方式为广播转发方式。
3)虚拟路由器:
路由器负责数据在不同网络之间的转发,路由器的两个主要工作就是路由和转发。在本设计中虚拟路由器所涉及到的内容包括:一个复杂网络接口(包括物理层,数据链路层和网络层),如图7所示,一个数据包接收缓冲区,一个数据包转发缓冲区。当路由器确认接收到一个数据包后,如果目标IP不是本身端口的IP,则对该包进行转发。路由还需建立路表并适时更新。
4)虚拟通信线路:
通信线路主要负责连接两个网络物理设备,建立起两个设备之间的物理信道。当线路的一端有一个数据时,线路负责把它送到另一端,如另一端没有设备,则丢掉丢数据。
3 界面设计与系统测试
3.1 界面设计
路由协议和网络整体演示集成在同一个演示界面中,如图8。
演示界面主要分为三个部分,主演示区、虚拟设备操作区和实时演示信息显示区。主演示区:这块区域展示了一个由四台虚拟计算机,两台虚拟交换机,四台虚拟路由器及若干通信电缆组成的虚拟计算机网络,每台虚拟设备都有一些操作按钮。虚拟设备操作区:这个区域有“关闭所有设备”、“重启所有设备”和“启用默认路由”三个按钮。实时演示信息显示区:用来实时显示虚拟设备的运行情况。
3.2 构造虚拟网络
演示程序中,首先创建若干个虚拟设备类实例,在本系统中我们实例化了4台计算机,2台交换机,4台路由器及若干根通信线路。各个设备之间我们通过调用设备类中的ConnectLine方法,将通信线缆接入到设备的网络接口中,通过通信线缆将各设备连接起来构成一个网络。如果想改变网络结构,还可以调用设备类的RemoveLine方法,把通信线缆拔出,再接上其它的线缆。本系统用到的虚拟网络结构如图9所示。
3.3 系统运行及测试
通过一个实例对系统进行测试,并看看该演示程序是如何模拟数据在网络中传输的。实例:从计算机A发送一条文本消息(如“Hello World”)到计算机D。
1)设置路由A到路由器D的通信电缆的线路延时为10,其余为默认的1,观察距离矢量路由协议效果,即在路由器A到路由器D两条通路中,信息会从哪一条通路转发。
2)依次开启计算机A、计算机D、交换机A、交换机B、路由器D、路由器C和路由器A。设备开启后,演示界面如图10所示,所有已开启的设备工作指示灯为绿色。
3)在计算机A的发送文本框输入“Hello World”字样,在目标端口代码框中输入“CD”字样,代表计算机D(ComputerD),单击计算机A的“发送消息”按钮,消息开始在虚拟网络中传输。计算机A首先判断消息的目标IP是内网还是外网,在本例中是外网,消息直接被交换机转发到计算机A所指定的网关路由器A的端口0,路由器A查找路由表,并将消息转发到下一跳。如此下去,直到消息传到计算机D。计算机D收接到消息后,经过目标MAC验证和目标IP验证,最终确定接收该信息,并在虚拟屏幕上显示该文本消息。演示程序用红色背景标出了消息所经过的所有网络设备。
4 结论
本程序的设计定位为计算机网络教学软件,整个的系统设计和代码编写过程都围绕了一个目标,就是希望能通过这个软件,提高网络教学效率。本设计最终实现了三种编码,六种数据链路层协议,一个路由算法的演示。本设计的关键部分是网络通信整体演示部分。所有的网络设备通过计算机仿真技术和面向对象编程技术的结合方法,进行虚拟和仿真的。
参考文献
[1]百度百科.面向对象的程序设计[DB/OL].http://baike.baidu.com/view/324458.htm.
[2]Tanenbaum A S.计算机网络[M].潘爱民,译.北京:清华大学出版社,2004.
[3]Stevens W R.TCP/IP详解卷1:协议[M].范建华,胥光辉,张涛,等.译.北京:机械工业出版社,2000.
[4]王霞.基于虚拟软件的网络实验教学探究[J].科技信息:学术研究,2008(23).
[5]CAlan C B.Information content and communication in virtual reality[D].University of Illinois at Urbana-Champaign,2005.
LLDP协议在网络管理中的应用 篇8
网络设备的种类日益繁多, 为了使不同厂商的设备能够在网络中相互发现并交互各自的配置信息, 需要有一个标准的信息交流平台。LLDP (Link Layer Discovery Protocol, 链路层发现协议) 就是在这样的背景下产生的。
它提供了一种标准的链路层发现方式, 可以将本端设备的的管理地址、设备标识、接口标识等信息组织成不同的TLV (Type/Length/Value, 类型/长度/值) , 并封装在LLDPDU (Link Layer Discovery Protocol Data Unit, 链路层发现协议数据单元) 中发布给与自己直连的邻居。
邻居收到这些信息后将其以标准MIB (Management Information Base, 管理信息库) 的形式保存起来, 以供网络管理系统查询及判断链路的通信状况。
要使用LLDP协议, 首先必须在网络设备中启用LLDP协议, 其默认是没有启用的。在华为交换机中启用LLDP协议的命令是lldp enable。以下举例说明笔者在日常工作中利用LLDP协议进行网络管理的实践过程。
用LLDP邻居查找路径
如果我们有一张完整详尽的局域网络拓扑图, 该拓扑图如果包含所有的网络设备及终端信息, 具体到接入层每个端口连接的终端属性, 或许我们就不需要利用LLDP协议。
然而对于一个单位来说, 比如我们学校局域网, 包括上网计算机、刷卡消费机、刷卡考勤机、刷卡门禁、监控摄像机、数字广播终端和无线AP等, 其数量有成千个。接入交换机就有近百台, 在网络拓扑图中很难标注到每台接入交换的接口属性。
而且这些终端是动态的, 特别是上网用户终端, 随着办公室的调整, 携带自己的电脑到新的办公室, 其接入层和汇聚层都会发生变化, 所以在实际工作中, 路径的查找不能仅仅依靠拓扑图来完成, 需要LLDP邻居发现是经常的事情。
例如, 我校学生服务中心原墙面多个网络端口模块均为上网用户计算机接口, 其对应的VLAN是117。现需要在该服务中心安装一台“一卡通”刷卡充值终端。这需要把一个墙面网络端口由上网属性更改为“一卡通”属性, 其对应VLAN需要更改为一卡通对应的VLAN43。这种情况只要把其接入层交换机对应端口的VLAN由117更改为43即可。
如果有了LLDP协议, 我们就不需要知道其对应的接入层交换机在哪个配线间, 也不需要去配线间寻找这个交换机的对应端口, 只需坐在办公室就可以完成更改。具体操作如下:
1.寻找该墙面网络接口对应的核心交换机端口
先用一台手提电脑连接在该墙面网络接口上, 设置好该VLAN对应的IP地址 (假设为219.223.117.150) 等网络参数, 使其和局域网联通。由于本校接入层和汇聚层对都是二层设备, 所以要以IP地址查询相关信息, 需要在核心交换中进行。在核心交换机中通过ARP协议寻找到该IP对应的MAC地址和端口号, 命令如下:
显示该IP对应的MAC地址和端口号如下:
由于本校局域网为双核心结构且端口设置对称, 所以汇聚层都是上联到两台核心的xg8/0/0端口。
2.在核心交换机中利用LLDP协议寻找该墙面端口对应的汇聚层交换
我们不需要知道汇聚层和接入层放置在哪个配线间, 也就是不需要知道其具体的物理位置, 可以使用下面命令发现邻居汇聚交换机的IP地址:
从该结果, 我们知道了核心层下联的汇聚层交换机的管理地址是192.168.100.46。
3.在汇聚层找到下联端口
通过t e l n e t192.168.100.46登录到汇聚层交换机, 由如下命令寻找到汇聚交换机的下联端口:
以上显示说明该MAC地址对应的下联端口是GE0/0/45。
4.在汇聚层利用LLDP协议, 发现接入层邻居的管理IP地址
命令<C 5-2 F-6>display lldp neighbor interface g0/0/45的显示结果为Management address value:192.168.100.118, 说明接入层的IP地址为192.168.100.118。
5.在接入层找到对应端口
通过t e l n e t192.168.100.118登录到接入层, 命令<ytgj3>display mac-address 448a-5bea-1f3b的显示结果为:
448a-5bea-1f3b 117GE0/0/17 dynamic, 说明接入端口是GE0/0/17。
经过上述五个步骤后可得如下网络路径图, 如图1所示。
6.修改该端口VLAN为一卡通对应的VLAN 43
命令格式为:
绘制局部网络拓扑图
如果有相应的网络管理软件, 则可以在软件中得到局域网网络拓扑图, 但是如果没有这样的软件, 使用LLDP协议也是个不错的办法。比如想绘制出高三教学楼配线间下辖的一支网络拓扑, 则用如下方法:
1.发现汇聚层
先从如表1所示的网络管理表格中找到高三楼配线间对应的核心交换机端口。通过如下命令<S7712-1>display lldp neighbor interface xg10/0/6得到汇聚层邻居IP地址:Management address value:192.168.100.18
2.发现接入层
telnet登录到汇聚交换机192.168.100.18, 使用命令<C1-S-2F-5>display lldp neighbor brief发现它的邻居如表2所示。从显示结果看出, 该汇聚层通过XG0/1/1和XG0/1/2端口上联到核心交换机7712-1的XG10/0/6端口、核心交换机S7712-2的XG10/0/6端口。其下联的接入层交换机有五台。如果想查看接入层的详细信息, 可以通过display lldp neighbor interface进一步显示。
完善协议管理构建和谐医保 篇9
关键词:协议管理,和谐医保
2009年是深化医药卫生体制改革方案实施的第一年,国务院确定了城镇基本医疗保险覆盖3.9亿人的目标,同时,还决定提前一年全面实施城镇居民基本医疗保险制度。按照方案的规划,到2011年末,医疗保障制度将覆盖90%以上的人群,基本实现全覆盖。医疗保险经办机构与医疗机构的关系如何发展,一时成为热点话题。我从国家经办机构的层面,对医疗保险与医疗机构的关系谈三个观点:
1 相辅相成是本质
1.1 医疗保障制度的健全和发展,为医疗机构的发展和壮大提供了必要保障
1.1.1 参保人数快速增长。
近年来,城镇职工基本医疗保险、新型农村合作医疗和城镇居民基本医疗保险相继建立,覆盖人群越来越广,有效地降低了人民群众的医疗费用负担。截至2009年底,全国参加城镇基本医疗保险人数已突破4亿人,参加新型农村合作医疗的人数也已超过8亿人,也就是说全国已经有超过12亿人得到了医疗保障。
1.1.2 定点医疗机构进一步增加。
定点医疗机构是医疗服务提供方,定点医疗机构如何发展也是我国医疗卫生体制改革能否成功的关键所在。加强对定点医疗机构的管理工作,能不断促进医疗服务质量的提高,有效规范医疗服务行为,从而维护参保者的利益,更加有效地利用医保基金。
截至2008年底,全国定点医疗机构数为69009家,比上年62945家增加了6064家。其中三级医疗机构3270家,占4.7%;二级医疗机构12049家,占17.5%;一级及以下医疗机构53690家,占77.8%,其中社区医疗机构12646家,占18.3%。
1.1.3 医院从医保获得的稳定性收入也在增加。
1999年至2008年,城镇基本医疗保险基金支出由一年69亿元增加到2084亿元,加上大额医疗互助、公务员补助、企业补充保险等支出,2008年共支出2319亿元。
1.2 医疗机构的意见与反馈,为完善制度政策提供了参考依据
近来,各方对医疗保险基金结余的关注度比较高,有人提出“医保卡医院,追求结余”。事实上,医疗保险基金除了支付参保人员的医疗费,不允许用于其他方面,并且基金是存在财政专户的,医疗保险经办机构没有私自动用的权力。大家不能光看到拒付,医疗保险基金是取之于民,用之于民的。按照新医改文件的要求,将逐步提高医疗保险待遇,其中包括降低起付线,提高基金最高支付限额和基金支付比例,这些政策对参保人,对医疗机构都是一个福音。
另外,针对医疗保险经办机构按照协议拒付医疗保险费的问题,有人认为“医保拒付,制约医院发展”。为此,我们开展了全国性的调查,发现未支付的主要原因有三:一是医院违反医保政策以及卫生、物价部门有关规定;二是在实行定额结算的地方,超定额部分由医院、医保分担,由医院分担的部分不予支付;三是依据履行协议的情况,预留保证金不予返还或部分返还。据调查,2008年7月到2009年6月间,全国因各种原因产生的未支付费用总额为23.8亿元,仅占医保统筹基金支出的0.9%左右。其中涉及违规拒付费用6.5亿元,占医保统筹基金支出的0.26%,其余17.3亿元为还未结算的费用,包括审核中的费用,结算期末考核后再支付的预扣款(政策规定为10%,实际执行远小于这个比例)。可以看出,医保拒付并没有制约医院的发展,而是促进了医疗机构的快速、健康发展。当然,通过调查我们也发现,在部分地区,医疗保险经办机构应当提高效率,完善结算方式。
2 制约监控是手段
2.1 国家法规政策层面,明确了医疗保险经办机构对医疗机构的制约和监控作用
《中共中央国务院关于深化医药卫生体制改革的意见》的第十一条“……积极探索建立医疗保险经办机构与医疗机构、药品供应商的谈判机制,发挥医疗保障对医疗服务和药品费用的制约作用。”和第十二条“……强化医疗保障对医疗服务的监控作用,完善支付制度,积极探索实行按人头付费、按病种付费、总额预付等方式,建立激励与惩戒并重的有效约束机制。”明确提出了医疗保障对医疗服务的制约与监控作用。医疗保险定点管理的主要政策依据有四个方面:
2.1.1 基本医疗保险定点医疗机构管理暂行办法。
该办法规定:(1)社会保险经办机构要与定点医疗机构签订包括服务人群、服务范围、服务内容、服务质量、医疗费用结算办法、医疗费用支付标准以及医疗费用审核与控制等内容的协议,明确双方的责任、权利和义务。(2)定点医疗机构应配备专(兼)职管理人员,与社会保险经办机构共同做好定点医疗服务管理工作。(3)对基本医疗保险参保人员的医疗费用要单独建帐,并按要求及时、准确地向社会保险经办机构提供参保人员医疗费用的发生情况等有关信息。(4)社会保险经办机构要加强对定点医疗机构参保人员医疗费用的检查和审核。定点医疗机构有义务提供审核医疗费用所需的全部诊治资料及帐目清单。(5)社会保险经办机构要按照基本医疗保险的有关政策规定和与定点医疗机构签订的协议,按时足额与定点医疗机构结算医疗费用。对不符合规定的医疗费用,社会保险经办机构不予支付。
2.1.2 基本医疗保险药品、诊疗项目和服务设施管理的意见。
三个目录明确了哪些药品、服务项目能够由医疗保险基金支付,哪些使用时有限制条件。
2.1.3 基本医疗保险费用结算管理的意见。
该意见规定:(1)属于基本医疗保险基金支付的医疗费用,应全部纳入结算范围。(2)社会保险经办机构可按核定的各定点医疗机构定额控制指标暂扣不超过10%的费用,根据结算期末的审核情况,再相应拨付给定点医疗机构。(3)社会保险经办机构对不符合基本医疗保险规定的医疗费用不予支付。(4)统筹地区社会保险经办机构要按照以收定支、收支平衡的原则,合理确定基本医疗保险基金的支出总量,并根据定点医疗机构的不同级别和类别以及所承担的基本医疗保险服务量,预定各定点医疗机构的定额控制指标。
2.1.4 卫生部门的相关政策。
例如:处方管理、抗生素使用等规定。各地医疗保险经办机构根据上述政策和当地实际完善协议(权利与义务,服务与结算,相应指标等),并与定点医疗机构签订协议,监督协议履行情况。
2.2 定点医院存在的问题与医保监控的效果,印证了制约监控的必要性
我们不能否认,很多地区都出现过部分定点医疗机构在医疗服务过程中重效益轻管理,甚至有的医疗机构还采取各种手段骗保,主要表现有:伪造病历、冒名顶替、分解住院、挂床住院和串换药品等。例如:2006年,中央电视台就曝光了两家医院,陕西省某医院与患者联手用假透析套取医保基金,患者可以得到医院的“奖励”。安徽省某医院用参保人的卡办理住院手续,参保人根本不住院,用假病人的假消费套取医疗保险资金。新农合基金被医疗机构套取的情况也时有报道。
为了保证参保人员的利益,降低参保人员医疗费用,有效地提升定点医疗机构内部管理水平,我们在2006年开展了全国医疗保险基金支付专项检查,共检查了30996家定点医疗机构,占总数的62.51%(当年总数为49583家)。检查中发现存在违规行为的定点医疗机构有6897家,占被检查定点医疗机构的22.25%。当然,其中严重违规的远低于这个比例。专项检查查出违规案例74058例,涉及金额209923万元,其中违规金额为7878万元,占总金额的3.75%。其中,伪造病历案例435例,冒名顶替案例626例,分解住院案例1842例,挂床住院案例3956例,串换药品案例8731例。追缴违规资金6728万元。
通过专项检查,定点医疗机构对检查的配合和参与意识得到了提高,形成了群众参与和社会监督的良好氛围,有效遏制了违规行为增长的势头。目前,违规现象有所减少,但仍不时发生,加大监控依然很有必要。
3 和谐共赢是目标
3.1 医保与医院的法律问题有待明确
关于医保定点服务协议是行政合同还是民事合同,10年前就有人提出过,一直争论不一。查询有关资料,主张是行政合同的一方,依据有三:一是行政主体。医疗保险经办机构作为法定机构,按相关法规授权履行职责。二是公益性。以保障公共利益为优先考虑。医保经办机构代表参保人员的利益。三是主导权。合同的内容及违规处罚体现行政管理意志,医院应服从监督。
事实上,这个问题在当前无解,即达不成统一的认识,今后一个时期可能仍然无解。原因在于:(1)作为医药卫生体制改革重点任务之首的医疗保障制度建设,尚处于推进过程中,相关制度、办法、手段还在完善中。此为大背景。(2)我国仍处于经济转型,社会转型,政府职能转变的过程中,相关法律关系的明确也有待于立法过程的推进。此为大环境。(3)从医保与医院的法律关系看,取决于双方的地位。不仅医保经办机构的法律地位有待相关法律(如社会保险法等)的进一步明确,医院的性质、地位也需明确。公益性中含有营利成分,该作何解释?问题的破解也有待于公立医院改革试点。
3.2 定点医疗机构协议管理需要加强
基本医疗保险定点医疗机构服务协议,是医疗保险经办机构为了保障参保人员的利益,行使管理职能,提高基金使用效率,而与定点医疗服务机构签订的协议。可以说,医保协议是一种特殊的管理手段。以往10年的实践表明,这种手段是行之有效的,医疗服务机构也是认可的。
实践是检验真理的标准。不论理论上争论如何,不影响这种管理手段的执行。按照中央医改文件的要求,还要加强监督,并且完善相关行政法规。当前一段时期,定点管理的探索主要有四个方面:一是探索医疗保险经办机构与医疗机构的谈判机制,拟在有条件的地区开展。二是探索实行定点医疗机构分级管理。由社会保险经办机构依据定点医疗机构执行医保定点服务协议考核情况,进行综合评价,并依据评价结果,分为不同类别,建立奖惩机制,实施分级管理。主要目的是要建立定点医疗机构自律机制。通过给予鼓励措施,使管理规范、服务质量好、参保人员满意度高的定点医疗机构有更多的自我管理空间,得到更好的发展,并促进定点医疗机构间的良性竞争。三是定点医师制度。拟在有条件的地区确定定点医师,签订协议,建立医师档案,对执行医保政策好的进行表彰,对差的按协议处罚甚至解除协议。四是完善结算办法。拟实行复合式付费方式。推荐人头付费、病种付费、总额预付。调整结算标准。
3.3 医保与医院的和谐共赢已成共识
医保与医院在共同发展的过程中,曾出现过一些矛盾,这些都得到了我们的重视,其中有些已得到了解决,其他的也正在解决之中。众所周知,医药卫生体制改革是世界级难题,在化解这个难题时,医保和医院在合作过程中不免会遇到一些问题,甚至说矛盾在所难免。问题是,彼此的共识多还是分歧多?矛盾是趋于缓和还是激化?
关于前一个问题,至少在以下几个方面,是有共识的:一是在长远目标上,双方一致,即为了全体人民的健康;二是在机构目标上,大体一致,如医保要扩大覆盖面,代表参保人员利益,医院要增加病人来源和收入,要提高医疗服务质量;三是在机制建设上,都需要更好的外部环境,更多的政府投入;四是对于医院医保办,医院越来越看作是经营的重要部门,医保也越来越把其当成依托的重要力量。中国医院协会医保分会的数据表明,全国医院医保办工作人员总数已超过16万人;五是彼此的制约,也会产生积极的作用和反作用。医保的监督,会促进医院的内部管理和行业自律;医院的反馈,也同样会促进医保的规范化和专业化。综合来说,医保与医院是合作共生的关系,双方应该是共赢的。
关于后一个问题,回顾医改十多年的历程,可以看出这样一条轨迹:总体上,医院对医保的支付政策和考核监督,经历了从不理解到理解,从抵触到主动配合的过程;医保对医院的协议管理和考核评价,也从简单、粗放、一刀切,到精细化、个性化、友情化,曾经出现过的矛盾陆续得到解决,至少是得到缓解。在多数地区,已经开始出现了和谐医保的局面。
文法推断网络协议状态机 篇10
文法推断的目标是利用文法导出的样本符号串来推断出文法。理论上该问题是不可解决的, 即使该文法为最简单的乔姆斯基文法 (Chomsky) , 即正则文法[2]。这是因为正则语言的实例本质上是无穷的, 而样本集不可能是穷举的, 从而证明该任务是不可能实现的。
样本集, 即正样本, 通常由特定字母表的串或序列组成。负样本, 即不属于目标语言的串集, 某些情况下有助于推断过程。正样本数据可以表示为前缀树接受器 (prefix tree acceptor, PTA) 。作为PTA的一个例子:{aa, abba, baa}如图2所示。
其中, {aa, abba, baa}是输入正样本集, aa, abba, baa是3个正样本数据, a, b表示数据样本的具体内容。
观测某些正或负的样本数据, 正样本S+来自正则语言L0, 假设正样本对于目标语言L0的规范自动机A (L0) 而言是结构完备的, 通过构造L (PTA) =S+来建立S+的前缀树接受器。负样本S-用于控制推论的自动机的过泛化。
在文法推断领域, 已经提出了一系列的文法推论算法, 这些算法可以根据目标语言 (文法) 来区分:3类语言 (即正则文法) 、2类语言 (上下文无关文法) 、1类语言 (上下文无关文法) 和0类语言 (短语结构) 。
如果把文法推断技术运用到网络协议推断领域, 需要假设所有的输入报文均可以描述为特定的文法表达式。然而描述网络应用层的语言往往比实际的语言复杂得多, 它涉及各种域, 例如长度域、方向域、指针域等。由于它的复杂性, 一般而言不能直接应用文法推论领域的任何已有结果。
1 相关领域研究状况
推断自动机、导出与训练样本一致的最小的DFA一直是文法推论研究的课题之一, 然而Gold已经证实了该问题是一个NP-完备 (NP-complete) 的问题[2];这也意味着解决该问题需要采用估计或启发式方法, 所以研究者提出了近似的或精确的算法来解决这个问题[3]。精确的方法在某种意义上可获得与训练集一致的最小DFA, 如MMM算法[4]、BI-CA[5]和EXBAR算法[6];另一类是估计的方法, 它采用基于状态融合的启发式方法, 而且并不确保所得的DFA为最小, 代表性的算法是BEAMS[3]。自动机与协议状态机本质上是一致的, 不同点仅在于协议状态机的状态转换包含协议定义的语义, 只要在状态转换间赋以网络协议相关语义, 即可把自动机相关理论应用于协议状态机的推断中。现今最广泛应用的协议形式化描述方法是有限状态机模型, 它具有描述直观、简洁、易于理解等优点, 所以在协议分析、协议测试等领域广泛应用有限状态机实现协议描述。
差错纠正文法推断算法 (error-correcting grammatical inference, ECGI) 是由Rulot和Vidal提出的渐进推论目标自动机模型的GI启发式方法[7]。ECGI算法组合使用外部统计方法和启发式方法, 它是基于差错纠正分析的方法, 不需要负样本支持。ECGI算法根据最初利用的样本数据创建一个初步虚拟自动机来建立一个假设的自动机。然后把每一个新的未识别的样本状态及其转换加入到该假设的自动机。差错纠正方法是根据输入样本在假设自动机中搜索最佳的路径, 然后在该路径上确定所要增加的状态和转换。所用的统计方法, 如Hamming或Levenshtein距离是用于确定哪条路径是最佳的。启发式约束技术在推断过程中用于去除假设自动机中的环路和回路。
文献[8]证明文法推断算法也适用于逆向工程协议状态机领域, 它采用2个文法推断的算法k-RI和k-TSSI、实现对两个协议 (POP3和SMTP) 状态机的逆向工程。
2 方法和系统实现设计
本节通过引入GI算法来学习DFA作为协议规范的描述模型。首先简要介绍RPNI算法, 然后给出本文所提方案的系统框架。直接应用现有的RPNI算法的结果是仅有一个状态的过泛化的DFA, 采用针对网络特性的启发式方法, 提出IRPNI算法, 以差异化的状态标记来控制状态的融合, 从而生成尽可能小的准确表达协议结构的DFA。
2.1 RPNI算法
RPNI算法是正则语言推断的熟知算法, 已经证明可用于识别目标有限状态机 (finite state automata, FSA) [9], 在给定的样本上、在某些额外的条件下以多项式时间复杂度完成该任务。首先从S+中的样本中构造一个PTA (S+) , 然后根据集Pr (S+) 的标准次序 (短的串在长的串的前面, 相同长度的串按词典编撰的次序排列) , 对PTA (S+) 的状态编号为0, …, N-1。接着在S-的控制下搜索PTA (S+) 状态集的划分空间。对应PTA (S+) 本身的初始划分为{{0}, {1}, …, {N-1}} (记为π0) 。在负样本S-与自动机保持一致的条件下、划分状态块递归地开展融合。该算法是确保找到与给定的样本相一致的有限状态自动机。然而RPNI不保证找到与给定样本一致的最小的FSA。RPNI算法的伪代码如下所示:
算法1 RNPI算法
RPNI算法的步骤如下:
1) 根据正例子集合构建前缀集合, 并对前缀集合进行排序。
2) 根据前缀集构建自动机, 尝试合并自动机的两个状态, 状态合并的顺序为:从i状态开始, i状态要与0状态到i-1状态逐个尝试合并;i状态处理完毕, 则转去处理i+1状态。
3) 若合并后产生的自动机是不确定的, 则要对不确定的状态进行合并, 直至生成确定的自动机。
4) 若合并之后的自动机能拒绝所有负例子, 则允许这次合并, 否则拒绝这次合并, 自动机返回合并前的状态。
5) 直到所有状态都不能合并, 则该自动机为终态最简的自动机。
下面以图2的PTA作为例子, 进一步阐述RP-NI算法的执行过程, 该过程体现为图3的状态融合步骤。
图3中的步骤1-1是图2的状态0和1融合的结果, 然而, 获得结果不是确定的, 状态0和8都可以接受a, 所以需要进行状态0和3进一步的融合, 获得步骤1-2的结果。步骤1-2的结果仍然处于不确定状态, 需要进一步融合状态2和4, 获得步骤1-3的结果。由于步骤1-3获得的结果是确定性的, 所以第1步执行完成。若使用了负样本, 假如有某个负样本在第1步获得的最终状态机中到达接受状态, 则该步骤的融合为无效。由于该例子没有给出负样本, 所以视第1步融合为有效。同样的道理, 算法执行了第2步, 分别获得步骤2-1、2-2、2-3和2-4的结果。步骤2-4所得的结果为终态状态机。从结果可以发现, 由于该例子没有引入负样本, 即没有引入负样本来规限算法的状态融合, 使得RPNI算法执行的结果为状态的任意融合, 最终获得仅有1个状态的状态机。
从标记的训练集 (即标记为接受或拒绝的样本串) 推断正则语言的一个通常的方法是发现与训练串一致的最小自动机。这样的技术不能直接应用到目前的问题当中, 原因是仅正样本可用 (所有会话标记为接受) , 所以与训练集相匹配的最小自动机接受消息类型的所有序列。为了避免这样一个过泛化结果, 需要限制使用特定域的假设空间。
2.2 算法系统框架
提出的算法的系统框架如图4所示, 由4阶段组成。第一阶段是消息格式提取, 在这里假设表示会话消息特征的逻辑特征标记符已知, 并且每个消息仅用一个逻辑特征标记符表示, 然后利用这些特征标记符对输入会话展开消息格式序列抽取, 这阶段输出结果是消息格式序列。
框架中的第二阶段是构造输入消息格式序列的增广前缀树接受器 (Augmented Prefix Tree Acceptor, APTA (S+) ) 。第三阶段是APTA的状态标记, 为了达到限制过融合的目的, 需要对消息格式类型进行分类。最后阶段用改进的RPNI算法导出有限状态机。其中最后两个阶段构成本文所提的改进的RPNI算法———IRPNI算法的核心。
2.3 IRPNI算法
以APTA作为构造协议状态机的开始点, 最终目标是发现与APTA一致的最小的DFA。本文引入状态标记算法分配不同的标记到APTA的状态中。为了发现目标DFA, 利用现有的算法 (即RPNI) 的改进算法———IRPNI算法, 从APTA开始, 通过依次融合状态对来实现。由于仅具有相同标记的状态可以融合, 这样就可以限制可能的融合。最后获取的最小DFA就是本文所需的目标状态机[10]。
状态标记算法的目标是发现在APTA中不同的状态。通过对这些状态分配不同的标记, 从而防止它们的融合。在本文工作中, 利用如下的关于网络协议的启发式方法可以完成状态的标记。
启发式方法1:根据观察, 在服务器-客户或P2P应用的会话开始阶段, 经常需要完成交互握手。应用会话必须使用基本的步骤来实现大多数的交互模式。一般而言, 在会话的头几个分组, 一般会发生关键的交互初始化步骤。例如, 在FTP协议执行过程中, 在其他协议命令可用前, 需要完成登录步骤;对于POP3, 在文件操作可以执行前, 需要完成一个“PASS”操作来建立一个连接。另外, 某些命令可以引致服务器从完成某些动作的一个状态离开。例如, 一个FTP协议中的“QUIT”命令是用于协议交互结束的命令。
启发式方法2:状态标记算法尝试去识别表示类似应用条件的状态, 即尝试去识别下列情况:在基于之前收到的消息序列, 程序处理类似命令。为了实现这个目的, 视类似的消息为相同的类型, 并分配相同的标记给这些消息, 从而从这些观测的应用会话中提取简单的模式。
启发式方法3:要处理类型m消息的某个状态下的服务器, 它需要一个先决条件:它必须首先收到一个类型r的消息。即这个类型r的消息总是在类型m消息之前发生。换言之, 在所有的应用会话, 类型r的消息在类型m消息前出现。在应用层网络协议的一个共同的模式是一个消息或一个消息序列必须在服务器完成某个动作前发送, 网络协议需要在消息m前发送, 连接建立或登录消息就是这种情况的具体例子, 所以需要去捕捉这种前导模式。
下面以一个FTP应用会话的实例阐述所提的应用启发式方法实现的状态标记策略。从FTP协议的某个应用会话可以导出它的操作符格式序列为:220→USER→331→PASS→230→CWD→250→TYPE→200→SIZE→213→PASV→227→PORT→350→RETR→150→QUIT。该序列对应的APTA如图5所示。
根据上述的启发式方法, 对应图5的会话样本的状态标记树如图6所示。
在图6中, 会话的开始, 即220→USER→331→PASS→230, 是会话的初始化阶段, 每个状态保持不同的标记;接着的会话是相类似的操作, 即CWD→250→TYPE→200→SIZE→213→PASV→227→PORT→350→RETR→150, 所以用相同的状态符号对来标记它们;最后QUIT引致会话的结束。
在本文工作中, 明确了不同标记的状态不能融合。在本文的训练集中, APTA的所有状态是标记为接受的, 若直接应用现有算法, 只能得到一个仅含有一个状态的过泛化的DFA。为了解决这个问题, 引入一个算法, 如上面所述, 给APTA中的状态分配不同的标记, 以防止过泛化。为此, 本文嵌入状态标记方法到RPNI算法当中, 提出IRNPI算法来实现既定的目标。IRPNI算法的伪代码如下所示:
算法2 IRNPI算法
3 评估
在本节, 给出本文所提方法的实验评估。通过执行3个不同的协议 (HTTP, SMTP, BT) 来评估该方法, 所使用的训练集如表1所示。首先把本文提出的方法IRPNI与原RPNI方法做一个分析比较。另外, 给出了应用IRPNI算法导出的DFA, 并且评估所生成的协议规范的质量。
由于所使用的训练集, APTA的所有状态标记为接受。因而直接应用现有的RPNI算法所获的结果是仅有一个状态的过泛化的DFA。另外, 即使使用了负样本, 采用现有的RPNI算法来学习推论有限状态机, 所得的结果也是一个过泛化的DFA。如下的测试证实了这个结论。在实验中, 正样本是HTTP协议的网络流量, 负样本是FTP协议的网络流量。使用RPNI算法来推断HTTP协议的DFA, 所导出的DFA如图7所示。我们发现所导出的DFA是一个过泛化的状态机。该结果表明HTTP和FTP协议的本质差异, 即FTP作为负样本, 无法起到规限RPNI算法中状态的融合。很清楚, 该DFA无法描述HTTP协议的结构。
应用本文所提IRPNI方法导出的DFA, 如图8~图10所示。从这些结果可以发现, 由于嵌入了状态标记策略, 引入了差异性的状态标记, 不同标记的状态禁止融合, 在消除状态冗余、获得尽可能小的DFA的同时, 保留了反映协议本质的状态机结构。
Λ={GET, HEAD, POST, PUT, OPTIONS}, Δ={HTTP/1.1, HTTP/1.0, HTTP/0.9}
下面通过测试运行从实际网络采集获得的HT-TP、SMTP和BT协议的网络流量, 证明所导出的DFA的稳健性。根据训练与测试使用不同数据集的原则, 测试所用的网络流量不再使用表1中所列的数据集, 而是使用表2所示的网络数据流量样本。将这些流量作为输入, 由前文推断所得的DFA开展分析测试, 到达这些DFA的接受状态的比率如表2所示。
在总的4 844个会话中, 成功分析4 597个, 比例达到94.9%, 可见获得相当高的分析成功率。人工检查不能成功分析的其余247个会话 (5.1%) , 主要是由于数据包发生了传输错误 (如丢包) 等数据传输原因引起的, 从而导致算法对该部分会话的分析失败。
4 讨论
在本项工作中, 采用改进的文法推论方法IRP-NI从应用协议的网络流量中提取协议状态机, 并且给出初步的评估结果, 证明了所提方法的有效性。总的来说, 在目前的工作中存在以下限制。首先, 该工作仅导出几个协议, 没有在其他协议上实践该算法, 但从几个协议的结果也可初步证明了该工作的基本有效性。另外, 仅获得在目前分析中使用的消息所包含的结构, 而不能获得其他隐含部分的协议状态机, 可见系统所获的结果欠缺完备性, 这方面也与上述Glod所获的结论一致。另外, 在目前工作中所导出的DFA的精度对于更复杂的协议特别是未知协议来说是不足的。因为所提取的DFA总的来说取决于所提出的消息格式的准确度, 即所选的关键特征元素的准确性。确定一个标准去选择关键消息格式元素是一项困难的工作。
5 结论
本文应用改进的RPNI算法———IRPNI算法, 从网络数据流量中导出协议规范, 并将该规范表示为DFA模型。文中首先分析了现有RPNI算法的局限性, 然后提出本文的改进方案———IRPNI算法, 根据网路协议特性, 把启发式的差异化的状态标记算法嵌入该算法中, 使得状态融合结果体现网络协议的结构特征。最后的实验评估结果证实了所提方法的有效性。
参考文献
[1] Chomsky N, A Miller G.Pattern conception.University of Michigan, Ann Arbor, USA, 1957
[2] Gold E M.Language identification in the limit.Information and Control, 1967;10 (5) :447—474
[3] Bugalho M, Oliveira A L.Inference of regular languages using state merging algorithms with search.Pattern Recognition, 2005;38 (9) :1457—1467
[4] Oliveira A L, Edwards S.Limits of exact algorithms for inference of minimum size finite state machines.Proceedings of the Seventh Workshop on Algorithmic Learning Theory, Berlin, Germany, 1996
[5] Oliveira A L, Silva J P M.Efficient algorithms for the inference of minimum size DFAs.Machine Learning, 2001;44 (1/2) :93—119
[6] Oehlert P.Violating assumptions with fuzzing.IEEE Security and Privacy, 2005;3 (2) :58—62
[7] Rulot H, N Prieto, Vidal E.Learning accurate nite-state structural models of words through the ECGI algorithm.International Conference on Acoustics, Speech, and Signal Processing, 1989
[8] DeYoung Mark E.Dynamic protocol reverse engineering:a grammatical inference approach.Air Force Institute of Technology, Ohio, USA, 2008
[9] Oncina J, Garcia P.Inferring regular languages in polynomial update time.Pattern Recognition and Image Analysis:Selected Papers from the IVth Spanish Symposium, Granada, Spain, 1990