APP下载

网络协议管理系统的仿真实现

2011-07-07

制造业自动化 2011年23期
关键词:网络协议触发器驱动程序

冯 毅

(天津商务职业学院,天津 300221)

0 引言

网络协议是较抽象的概念,在网络的整个发展过程中属于重要的体系集合。网络协议的完全理解及掌握对于管理者而言是存在较大困难的。因此,构建实现一个完善的网络协议管理仿真系统是必需的。网络协议管理仿真系统可以借助于直观的方法描述协议的内涵及工作流程,让管理者通过对数据包的发送流程观察协议在网络中的运行机制,从而提升对网络协议的掌握程度。本文就是重点研究如何通过网络及计算机技术实现网络协议管理系统软件的仿真。

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所示。

图1 网络协议管理系统的拓扑结构示意图

其中,主控设备是服务器,主要实现应用层的相关协议服务,涉及到:FTP协议、HTTP协议、SMTP协议以及POP3协议等;仿真/监控系统是基于采集器实现的,主要是采集网络数据,其属于分流设备,能够实现将仿真机的网络数据按照上行以及下行的分类方法进行采集,最终将采集的数据发送到监控机进行有效的分析和统计处理。另外,仿真机以及监控机都是安装有协议编辑器的服务器,可以负责网络协议的发送、分析。

2.2 系统协议编辑功能的设计

首先,协议编辑器可以为系统用户提供编辑以及数据包发送的多种方式。用户通过选择一个帧序列,并进行任一单帧MAC层至应用层相关属性的修改。同时,协议编辑器如果获得的数据包存在错误,系统就会给出相关错误提示。当用户在编辑的时候,系统就会根据用户选择的协议显示其层次结构以及模型,从而让用户对协议的层次有直观的了解。当用户将选择的帧进行发送时,发送过程中所涉及到的时间间隔可以进行自定义处理。

其次,协议编辑器还可以实现图形化编辑协议脚本,在此基础上,用户能够实现协议的扩展。此外,还提供触发器的功能,当数据包与设置好的触发条件相匹配时,就可以触发预先设置好的响应事件。用户也能够根据触发器所提供的向导模式,生成扩展规则。

2.3 系统协议解析功能的设计

当系统调用XML进行网络协议解析时,也可以获得一个标准的节点,且是Cnode类型的。必须注意的是,这个Cnode类型的节点是根节点,涉及到相关的结构以及属性方面的信息,整个网络协议解析的过程如图2所示:

图2 整个网络协议解析过程的示意图

其中,对协议某字段进行解析的过程如下描述:

1)对协议字段进行过程函数的调用(ApplyDataItem函数),并针对协议控制结构的关键字进行协议字段的状态刷新处理。

2)状态刷新完成后,就获取该协议字段的下一子字段结构,再进行重复的解析处理。直至所有子字段都处理完成为止。

3)系统会生成一个树状结构的节点序列,同时也有一个相对应的列表结构。需要注意的是,最初的协议头部结构是不变的。

2.4 系统服务程序的设计

针对本文研究的网络协议管理系统,服务程序主要在管理用机上运行,负责发送、接收已经安装网络协议管理系统的终端主机名、物理地址以及IP地址等相关信息。各个管理终端机之间的通信方式是多播,数据单元为消息。针对通信的流程,消息主要有两种,分别是:“请求式”消息与“回应式”消息。

当主机需要获得信息时,首先通过多播模式进行“请求式”消息的发送。接收到“请求式”消息的主机都会发送一个“回应式”消息。“请求式”消息中有请求者可能等待的时间值,如果“回应式”消息到达的间隔时间过久,已经超过了这个时间值,请求者是无法接收这个“回应式”消息的。其中涉及到的主要类结构如下描述:

Typedef struct // MAC地址及IP地址信息的定义

{

MAC_ADDRESS mac ; //MAC地址

Union {

IPV4_ADDRESS ipv4 ; } ; //IP地址

Dword Ipv4basedInx ;

} ADDTE_Info ;

Class ClientHtInfomation { //系统主机的相关信息

Public:

ClientHtInfomation (void) ;

~ ClientHtInfomation( void) ;

Public:

BOOL GIPv4Address ( OUTstd:.vetor 〈ADDTE_Info 〉 & o_vaddteinfo ) ;

// IP地址的获取

BOOL GclientInf ( OUT Client_IN & o_clientin ) ;

BOOL GTCPInf( OUT PO_Inf & o_poInf ) ; // TCP连接状态的获取

BOOL G c l i e n t N m(O U T std::string & o_strclientNm) ; //本地主机名的获取

} ;

3 系统的实现

3.1 系统实现的特色

网络协议管理系统可以让管理者真正掌握网络协议的各个方法,为网络管理提供了新的手段,其实现的主要特色体现在以下三个方面:

首先,本系统不同于传统的管理系统,它能够提供全新的管理模式,实现开放性与自主性的结合。其次,本系统具备良好的管理质量,为切实提升管理质量奠定基础。最后,本系统可以让管理者对于网络协议的各个方面知识有个全面的掌握。

3.2 系统的仿真实现

通过前期详尽的需求分析,本系统充分考虑到了管理员的反馈信息,并体现人性化的软件界面,让管理者更容易接受。其中,网络协议数据包编辑与分析功能的仿真实现如图3所示。

为了充分体现本系统的优势,我们在仿真实现时增加了“自定义协议”功能。系统管理员可以通过“自定义协议”功能对协议进行改写或者扩充。该功能可以加深管理员对于网络协议的深层理解,也适合于那些想对网络协议进行深入管理的用户。

图3 网络协议数据包编辑与分析功能的仿真实现图

图4 触发条件及事件的向导设置模式的仿真实现图

此外,为了提升系统的易操作性,本系统又增加了触发器功能。触发器就是指在网络协议工作时,对于一些数据包可以预先设置一些触发条件,而这些触发条件又分别对应着不同的响应事件。触发器功能的增加,可以将一些复杂的网络协议实验简单化。从本质上讲,触发器类似于一个简单的模拟单元,可以模拟协议工作流程,让管理者对于协议运作方式有了个更为直观的理解。为了方便系统管理用户的使用,本系统借助于向导模式实现触发条件及事件的预先设置,其仿真实现的界面如图4所示。

4 结束语

网络协议管理仿真系统是计算机网络管理的一个有效的辅助平台,可以很好地解决网络协议管理过程中涉及到的太过于抽象、不方便实践等问题。总之,通过该仿真系统的应用,可以使网络协议知识更加直观化,有助于用户的管理操作领会。

本系统通过在某些网络管理中心的试运行,取得了较好的效果。可以让管理员对于网络协议的内部结构以及工作流程有了一个更为全面、更为直观的理解与掌握,可以借助于网络协议的编辑与解析让管理员更深入掌握网络的内部原理,也有助于网络协议的有效管理,得到了系统管理用户的好评。

[1] 谢水珍,高光勇.网络协议仿真管理系统的构建与设计[J].电脑知识与技术(学术交流).

[4] 蒋志平,谢波.一种纯软件模式的网络协议仿真管理系统设计[J].中国科技信息,2010,(07).

[5] 董春玲.网络协议管理中NS仿真实验平台的应用[J].山东行政学院.山东省经济管理干部学院学报,2010,(05).

猜你喜欢

网络协议触发器驱动程序
浅谈时序逻辑电路的成长记忆
阻止Windows Update更新驱动程序
触发器在酒店管理系统中的应用
计算机硬件设备驱动程序分析
一种蓝牙多跳网络协议的设计与研究
基于载波技术的多点温度测量系统设计
基于DPI技术的语音视频流量监控系统设计与实现
几种常见触发器工作方式的讨论
触发器逻辑功能转换的两种方法
妙用鼠标驱动