以太网在控制网络中的性能分析及应用

上传人:E**** 文档编号:114623841 上传时间:2019-11-12 格式:PDF 页数:100 大小:3.34MB
返回 下载 相关 举报
以太网在控制网络中的性能分析及应用_第1页
第1页 / 共100页
以太网在控制网络中的性能分析及应用_第2页
第2页 / 共100页
以太网在控制网络中的性能分析及应用_第3页
第3页 / 共100页
以太网在控制网络中的性能分析及应用_第4页
第4页 / 共100页
以太网在控制网络中的性能分析及应用_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《以太网在控制网络中的性能分析及应用》由会员分享,可在线阅读,更多相关《以太网在控制网络中的性能分析及应用(100页珍藏版)》请在金锄头文库上搜索。

1、;妻未 ) 户 一l 硕士学位论文 IS I7 h a n d l e r = n f p 以保存该包的处理器( 即P h y 对象) ,然后i n s e r t 入队列; 3 ) 当调度到该P a c k e t 后,执行d i s p a t c h ( E v e n t 幸P ,d o u b l et ) 方法,进而执行 p - h a n d l e r _ - h a n d l e ( p ) 方法处理P a c k e t ; 4 ) 上述h a n d l e ( p ) 实际执行P h y 类的h a n d l e ( p ) 方法,最终会调用r e c v 0 方法

2、: 5 ) P h y 类的r e c v 0 方法执行,根据包头中的方向字段,调用s e n d U p 0 或者s e n d D o w n 0 方法,此处是从下层C h a n n e l 接收,因此调用s e n d U p 0 ; 6 ) s e n d U p 0 方法中再次包含s c h e d u l e 0 方法,至此完成一次P a c k e t 调度。 从以上可以看出,各协议层功能实体间的事件( 包) 传递是通过S c h e d u l e r 调度完 成的,各层实体之间并不直接调用彼此的方法,从而使得各实体之间的耦合更弱, 便于各层协议替换和扩展。 2 1 3定时器

3、工作机制 定时器是N S 2 ( T i m e r ) 仿真中的重要类,是N S 2 中网络通信时延的产生机 制。N S 2 模拟是一种精确模拟( 事先设计好各种模拟量,程序运行中不会有偶然 事件发生) ,并且是事件驱动性的,每一个事件的派发都会引起时间的增加( 或者 不变) 。定时器既可以在C + + 中实现也可以在O t c l 中实现。在C + + 中,各种定时器 都基于抽象基类T i m e r H a n d l e r ,而其又是由H a n d l e r 继承而来。以下是从定时器程 序中摘出的几个比较重要的函数和参数: s c h e d O :设定定时器在d e l a y

4、 秒后超时,此时定时器必须处在T I M E RI D L E 状态。 r e s c h e d 0 :重新设定定时器的超时时间,在调用r e s c h e d ( 0 函数时,定时器可以处于 T I M E RP E N D I N G 状态。 c a n c e l 0 :取消定时器,调用c a n c e l o i 垂l 数时定时器必须处于T I M E RP E N D I N G 状态。 s t a t u s O :返回定时器的当前状态,状态值可能是T I M E RT I M E R P E N D I N G , T I M E R H A N D L E T I M E

5、 RI D L E :是对象刚刚被初始化或者被取消之后的状态。 T I M E RP E N D I N G :是当调度一个时间之后处于的状态。 T I M E RH A N D L E :是当定时器时间到转而去执行一个特定任务时的状态。 e x p i r e 0 :纯虚函数,必须由派生类给出,即用户自行定义实现其功能。 h a n d l e 0 :处理一个事件,当定时器超时后,S c h e d u l e r 对象会调用定时器的h a n d l e 0 1 7 函数,并把e v e n t _ O 作为参数,此时定时器的状态不能为T I M E R _ P E N D I N G h

6、 a n d l e 0 函数会调用e x p i r e O i 函数,并设定定时器的s t a t u s 一。 i n ts t a t u s :保存当前定时器的状态。 E v e n te v e n t :当定时器超时后需要处理的事件。 下面举例说明定时器的工作机制: c l a s sR u m o r r o u t i n g _ B r o a d T i m e r :p u b l i cT i m e r H a n d l e r p u b l i c : R u m o r r o u t i n g _ B r o a d T i m e r ( R u m

7、o r r o u t i n g 木a g e n t ) :T i m e r H a n d l e r O a g e n t _ 2a g e n t ; ) p r o t e c t e d : R u m o r r o u t i n g a g e n t _ ; v i r t u a lv o i de x p i r e ( E v e n t 木e ) ; ) ; 下面是R u m o r r o u t i n g 类的定义: c l a s sR u m o r r o u t i n g :p u b l i cA g e n t f r i e n dc l

8、 a s sR u m o r r o u t i n g _ B r o a d T i m e r ; : A g e n t ( P T _ R U M O R R O U T I N G ) , 指针,而从最上面定时器类的定义中 e ) a g e n t _ - s e n d _ b r o a d _ p k t 0 ; a g e n t _ - r e s e t _ r u m o r r o u t i n g _ b r o a d _ t i m e r 0 ; 当超时以后会重传,然后再调用R u m o r r o u f i n g 的r e s e t _ r

9、u m o r r o u f i n g _ b r o a d _ t i m e r 0 函数。再看R u m o r r o u t i n g 的r e s e t _ r u m o r r o u t i n g _ b r o a d _ t i m e r 0 函数: R u m o r r o u f i n g :r e s e t _ r u m o r r o u t i n g _ b r o a d _ t i m e r 0 i f ( b r o a d T i m e s , = u ( t ) f ) = l - P N ( t ) 0 五( f ) =

10、o ,f 0 出Ak j 6 ,叫儿,欧谢,殳司l 兀大,日YI n Jl 口J 嘲,丁岁u j 月双从1 日Jj 日裂刀。1 口。 因此对公用网络的流量模型可以用指数分布发生器来实现,使节点产生数 包的时间间隔满足指数分布,通过调节指数分布的期望( 即数据包的平均时间 隔) ,实现对流量大小的控制。 3 2 1不同长度控制指令的通信时延 设定U D P 业务流数据包发送间隔l s ,包大小为x b y t e s ,x 的取值空间 6 4 ,1 2 0 ,2 4 0 ,3 6 0 ,4 8 0 ,6 0 0 ,7 2 0 ,8 4 0 ,9 6 0 ,1 0 8 0 ,1 2 0 0 ,1

11、3 2 0 1 ,节点1 不相关业务流平 发送间隔为2 m s ,发送速率l O M b p s 。 编写相应的网络场景代码( 即t c l 文件) ,网络场景的拓扑模型如图3 - 4 所厅 仿真完成后,在存放t C l 文件的相同路径下,生成了记录网络通信事件的T r a c e 件( 仃文件) ,T r a c e 文件的每行事件数据由1 2 个信息组成,其格式如表3 1 所而 表3 1T r a c e 文件格式 T 出l e 3 1T r a c ef i l ef o r m a t 123 4 5 6 事件动作 发生时刻上一节点下一节点帧类型帧长度 7891 01 11 2 帧的标

12、注 数据流I D源地址目的地址帧序号帧I D 网络实时性的包含三个相关量:时延、抖动、吞吐量。其计算公式如下: 时延( D e l a y ) - d = 0 一t s( 3 9 ) ,t s 、0 分别为数据包的发送和到达时刻 抖动( J i t t e r ) :- ,= a n 一矗一l( 3 1 0 ) ,以、毛一l 为第刀、一一1 个数据包通信时延 吞吐量( 1 1 啪u g h p u t ) :P = 墨r ( 3 11 ) ,S t 为T 时间内节点接收和发送的数据量 在控制网络的场景代码中编写网络吞吐量测量程序,每0 2 秒调用该程序以 量该时段内的网络吞吐量( 即式( 3

13、1 1 ) 中T = 0 2 s ) ,并使用G n u p l o t 作图。整 仿真过程的吞吐量变化曲线如图3 5 所示: 3 0 图3 5 链路2 - 3 的吞吐量 。 F i g u r e 3 5T h r o u g h p mo fl i n kn 2t on 3 对于网络中的控制指令数据包,其造成的通信吞吐量可用下式计算( 以数据 包长度7 2 0 字节为例) :T h = 7 2 0 x 8 x 1 0 - 6 = 5 7 6 x 1 0 一M o p s 。相比链路的1 0 M 带宽和 不相关数据源的平均流量,其值对网络吞吐量的影响极小,在统计网络吞吐量时, 可忽略不计。因

14、此在3 0 1 0 0 s 间,链路2 3 上的负载主要为不相关数据源发送的数据 包。因此当控制指令在该时段内发送时,数据包的通信时延将会受到不相关数据 流的影响。控制指令的通信时延,在很多场合有严格的阈值要求,控制指令的通 信时延抖动对时延补偿研究也有重要意义。 为分析该网络状态下不同长度控制指令数据包的通信情况,对场景中的控制 指令数据包的通信时延和抖动进行了比较。按式( 3 9 ) 计算控制器节点4 接收的 数据包的通信时延,得到如下结果( 以数据包长度3 6 0 字节和7 2 0 字节为例) : V 嵋 _ 0 口 图3 6 ( a ) 上位机到控制器4 的通信时延( 3 6 0 B

15、y t e s ) F i g u r e 3 6 ( a ) D e l a yf r o mP Ct oc o n t r o l l e r 4 ( 3 6 0 b y t e s ) A口王vj厶lI硼=口I工卜 V a 日 _ 一 口 图3 6 ( b ) 上位机到控制器4 的通信时延( 7 2 0 B y t e s ) F i g u r e 3 6 ( b ) D e l a yf r o mP Ct oe o n t r o l l e r 4 ( 7 2 0 b y t e s ) 从图3 6 ( a ) 、( b ) 的对比中可以看出,控制指令数据包长度对通信时延有显著影

16、 响,控制指令包含字节数较多时,平均时延将增大,这是由于各节点对数据包的 处理时间增加造成的。另一方面,控制指令数据包的通信时延还受到网络负载量 的影响,当网络负载量较大时,会导致大量数据包到达路由器节点,而由于路由 器的缓冲和处理能力,部分数据包需要排队等待,从而引入不确定时延。通过对 图3 5 中网络吞吐量的曲线的观察,数据包的较大时延时刻多出现在网络吞吐量较 大的时刻,可见队列管理机制是引入时延的重要因素。同时对比图3 6 ( a ) 、( b ) 可知, 不同长度的数据包通信时延受网络负载量影的响趋势基本相同。 网络拓扑结构及场景设置不变( 即网络状况完全相同) ,改变数据 值空间为 6 4 ,1 2 0 ,2 4 0 ,3 6 0 ,4 8 0 ,6 0 0 ,7 2 0 ,8 4 0 ,9 6 0 ,1 0 8 0 ,1 2 0 0 ,1 3 2 0 ) 字 数据包在专用网络( O s 3 0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号