TCN实时协议在异构网络上运行的仿真方法研究

时间:2022-07-27 02:30:37

TCN实时协议在异构网络上运行的仿真方法研究

摘要:本文介绍了TCN实时协议和NS2网络模拟软件,提出使用网络模拟的方法研究TCN实时协议在异构网络上的运行,介绍了仿真的流程和数据分析的方法。

关键词:TCN;实时协议;异构网络;NS2

中图分类号:TP393文献标识码:A文章编号:1007-9599 (2010) 06-0000-02

Simulation Method of TCN Real Time Protocl Working on Heterogeneous Networks

Ouyang Jingyuan

(School of Electrical and Electrics Engineering,East China Jiao Tong University,Nanchang330013,China)

Abstract:In this paper,TCN real time protocl and NS2 simulator is introduced,puting forward a simulation method for researching the TCN real time protocl working on heterogeneous networks.The step of simulation and the method of data analysis are alao introduced.

Keywords:TCN;Real time protocol;Heterogeneous Networks;NS2

随着我国高速列车的快速发展,对于TCN(列车通信网络)的研究也逐渐深入,取得了大量研究成果,但是在TCN实时协议在异构网络中的运行这一重要课题上进展缓慢。原因有二:一是由于经费和实验设备的限制,很难在实验室条件下搭建一个具有TCN网络体系特点的大型实验异构网络;二是由于实际应用中异构网络的功能和设备的组成没有固定的模式,需要对具体的网络环境进行具体的分析。

NS2(Network Simulator version 2)是一种针对网络技术的源代码公开的、免费的软件模拟平台,使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块已经非常丰富,几乎涉及到了网络技术的所有方面。所以,NS2成了目前学术界广泛使用的一种网络模拟软件。

在此,针对TCN特有的网络体系结构,使用NS2设计构建模拟的TCN网络,为TCN实时协议运行的研究提出了一种新的实验研究途径。

一、TCN网络体系

(一)拓扑结构

TCN拓扑结构为两层总线,即绞线式列车总线WTB和多功能车辆总线MVB组成的体系,如图1。

图 1

(二)实时协议

实时协议(RTP)用于TCN中的所有设备在MVB,WTB或其它总线上进行通信。

RTP规定了TCN提供的应用接口,它由两种基本的服务组成:变量群和消息群。

RTP规定了处理特定路由选择,流量控制以及差错恢复的传送协议。

RTP还规定了总线期望提供给传送协议的接口,特别是以下两种基本服务

周期性的,过程数据的源寻址广播。

非周期性的,消息数据的无连接传送。

二、NS2仿真软件

NS2是一款开放源代码的网络模拟软件,是一种面对对象的网络模拟器,本质上是一个离散事件模拟器,本身有一个虚拟时钟,所有的模拟都由离散事件驱动。NS2使用C++和Otcl作为开发语言,它们之间采用TclCL进行自动连接和映射。事件调度器和数据通道上的基本网络组件对象使用C++进行编写,这些对象通过TclCL映射对OTcl解释器可见,用户只需用Otcl脚本编写模拟代码,对网络拓扑,节点,链路等各种部件和参数进行方便快速的配置。事件调度器控制模拟的进程,在适当的时间激活事件队列中的当前事件,并执行该事件。

(一)NS2功能模块

NS2仿真器封装了许多功能模块,最基本的是节点、链路、、数据包格式等

1.事件调度器:目前NS2提供了四种具有不同数据结构的调度器,分别是链表、堆、日历表和实时调度器。

2.节点:在NS2中可以表示端节点和路由器。

3.链路:由多个组件复合而成,用来连接网络节点。

4.:负责网络层分组的产生和接收,也可用在各个层次的协议实现中。

5.包:由头部和数据两部分组成。

(二)仿真流程

使用C++编写添加所要研究的TCN协议内容之后,就可以开始编写Tcl脚本文件对仿真过程进行控制。

编写Tcl脚本文件对仿真过程进行控制分为以下几个步骤

创建模拟器对象,用来定义和控制模拟过程。

设置跟踪文件,用来记录封包在模拟网络中的传输过程。

根据所要研究的具体网络,配置节点属性和链路连接。

设置和应用层协议,并进行绑定。

•创建对象。

•使用attach-agent过程将对象和节点进行绑定。

•使用connectg过程建立对象的端到端连接。

•创建应用层对象。

•使用attach-agent过程将应用层对象与对象进行绑定。

设置节点事件和时间的对应关系。

使用run过程开始模拟

模拟结束后,将得到保存模拟过程的Trace文件,接下来就可以对这个结果文件根据需求进行数据分析。

三、数据分析

(一)out.tr文件

NS2生成的out.tr仿真过程记录文件.完整记录了封包在模拟网络中的传输过程。out.tr的部分记录如下:

+0.112cbr1000-------21.03.100

-0.112cbr1000-------21.03.100

+0.10812cbr1000-------21.03.111

-0.10812cbr1000-------21.03.111

R0.11412cbr1000-------21.03.100

out.tr文件格式如图2所示。

Event Time From node To node Pkt type Pkt size Flags id Src addr Dst addr Seq num Pkt id

图 2

字段1表示封包事件发生的原因;字段2表示事件发生的时间;字段3和4表示事件发生的地点;字段5表示封包的类型;字段6是封包的大小;字段7是封包的标记标注;字段8表示封包所属的数据流;字段9和10表示封包的来源和目的端;字段11表示封包序号;字段12表示封包的id。

(二)awk语言

对于out.tr的分析通常是使用awk语言,执行awk时,它会反复进行下列4个步骤。

自动从指定的数据文件中提取一笔数据。

自动更新相关的内建变量的值。

逐次执行程序中所有的“Pattern{Action}”指令。

当执行完程序中所有“Pattern{Action}”时,若数据文件中还有未读取的数据,则反复执行步骤(1)至步骤(4)。

通常要分析网络性能指标包括有端点到端点的延迟,抖动率,封包遗失率,吞吐量等。

awk程序中针对out.tr仿真过程记录文件的配置部分如下。

action=$1;

time=$2;

from=$3;

to=$4;

type=$5;

pktsize=$6;

flow_id=$8;

src=$9;

dst=$10;

seq_no=$11;

packet_id=$12;

四、结语

本文提出使用网络模拟的方法对TCN实时协议在异构网络上运行这一问题进行研究,介绍了使用NS2仿真软件对TCN实时协议进行仿真研究的一般流程以及数据分析的方法。使用网络模拟的方法可以自由灵活的配置出模拟网络环境,为工作人员在列车上配置通信设备和协议功能时提供试验数据以供参考。

参考文献:

[1]The Network Simulator - ns-2[EB/OL].

[2]IEC 613751-1999.Part 1:Train Communication Network 1999

[3]李常贤,谢步明.TCN通信技术的自主研发[J].机车电传动,2006,2

作者简介:欧阳敬原(1986-),男,江西人,华东交通大学在读硕士,研究方向:电力电子及电力传动

上一篇:RSA算法的攻击与防范 下一篇:IBM Lotus Notes/Domino技术在办公自动化系统...