(计算机应用技术专业论文)路由器多点并发测试的图形化描述工具设计与实现.pdf_第1页
(计算机应用技术专业论文)路由器多点并发测试的图形化描述工具设计与实现.pdf_第2页
(计算机应用技术专业论文)路由器多点并发测试的图形化描述工具设计与实现.pdf_第3页
(计算机应用技术专业论文)路由器多点并发测试的图形化描述工具设计与实现.pdf_第4页
(计算机应用技术专业论文)路由器多点并发测试的图形化描述工具设计与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机应用技术专业论文)路由器多点并发测试的图形化描述工具设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士研究生学位论文 第1 页 摘要 笔者硕士论文的研究工作是在对路由器( 交换机) 和通信子网进行性能测试 与评价的背景下进行的,本论文涉及分布式协同多点并发测试系统的图形化描 述工具。i s 0 9 6 4 6 为测试网络中继设备而定义的“回绕测试法”( l t m l o o p b a c k t e s tm e t h o d ) 和“穿越测试法”( t t m t r a n s v e r s et e s tm e t h o d ) 只能对单个或一 对端口进行测试,为了对路由器( 交换机) 和通信子网进行多点性能评测,需要 一种新的测试方法来模拟路由器( 交换机) 和通信子网的实际工作环境,使测试 系统能够同时对多个观测点的测试过程进行协调控制。为此,四川1 省网络通信 技术重点实验室( s c n e t c o ml a b ) 提出了“协同多点并发穿越测试 法”( c m c - t t m c o o r d i n a t e dm u l t i p o i n tc o n c u r r e n tt r a n s v e r s et e s tm e t h o d ) ,并 在此基础上形成了“分布式协同多点并发测试系统”( d c m c t s d i s t r i b u t e d c o o r d i n a t e dm u l t i p o i n tc o n c u r r e n tt e s ts y s t e m ) 的初步框架。 d c m c 。t s 分为上下两级结构,上级为协同多点并发测试管理器( c m c t m c o o r d i n a t e dm u l t i - p o i n tc o n c u r r e n tt e s tm a n a g e r ) ,下级为多个直接测试控制 器( d t c d i r e c tt e s tc o n t r o l l e r ) ,二者通过高速交换机或者网络实现互联。 c m c t m 利用“多点测试协同管理协议”( m p t - c m p m u l t i p o i n tt e s t i n g c o o r d i n a t i o nm a n a g e m e n tp r o t o c 0 1 ) 对d t c 进行协调管理控制,d t c 直接对路 由器或通信子网的两个观测点进行控制。 为了进行协同多点并发测试,c m c t m 必须具备以下功能:1 1 在测试前 描述测试系统配置,为各d t c 指派“测试集例”( t e s ts u i t e c a s e ) ,包括发送 的数据;2 ) 在测试例执行过程中实现d t c 间的协同配合控制功能,收集并记 录d t c 测试结果为测试操作员提供直观的测试过程显示和生成测试报告的依 据;3 ) 在单个测试例执行完后根据测试结果人工或自动地选择下一测试例。 实现上述控制功能至少有两种方法:定义专用的多点测试描述语言或定义图形 化的测试描述工具。为了简化测试例的描述和增加测试描述与执行过程的直观 性,笔者选择了后一种方式。 初步实验表明:笔者为d c m c t s 设计实现的多点并发测试的图形化描述 工具( g d t - m p c ) 不仅能对上级c m c t m 和下级d t c 进行图形化的初始配置, 还能对二者的测试状态、测试过程、测试结果进行图形化的描述和观测,使整 个测试过程更加形象直观。实验结果还表明g d t - m p c 达到了原定的设计目标。 g d t - m p c 的成功开发为多点并发测试实验提供了基本手段,从而为最终改进 和完善d c m c t s 奠定了基础。 西南交通大学硕士研究生学位论文 第1 i 页 关键词:协同多点并发穿越测试法( c m c 。t t m ) ;分布式协同多点并发测试系 统( d c m c t s ) ;协同多点并发测试管理器( c m c t m ) ;直接测试控制器( d t c ) ; 多点测试协同管理协议( m p t - c m p ) ;路由器多点并发测试的图形化描述工具 ( g d t - m p c ) 西南交通大学硕士研究生学位论文 第1 i i 页 a bs t r a c t t h eg e n e r a lb a c k g r o u n do ft h i sm s ed i s e r t a i o ni s p e r f o r m a n c ee v a l u a t i o n t e c h n i q u e sf o rr o u t e r s ,s w i t c h e s ,a n ds u b n e t w o r k sa n dt h ed i s e r t a i o ni sc o n c e r n e d w i t hd e v e l o p m e n to fag r a p h i c a ld e s c r i p t i o nt o o lf o rad i s t r i b u t e dc o o r d i n a t e d m u l t i p o i n tc o n c u r r e n t t e s ts y s t e m ( d c m c t s ) t h ei s o9 6 4 6d e f i n e dt w o c o n f o r m a n c et e s tm e t h o d sf o ro s ir e l a ys y s t e m s ,i e l t m ( l o o p - b a c kt e s t m e t h o d ) a n dt t m ( t r a n s v e r s et e s tm e t h o d ) ,c a t e r e df o rc o n f o r m a n c et e s t i n go f r o u t e r so rs w i t c h e sw i t has i n g l eo rt w oo b s e r v a t i o np o i n t ( s ) o n l y h o w e v e r ,t o e v a l u a t e p e r f o r m a n c e o fr o u t e r s ,s w i t c h e s ,a n ds u b n e t w o r k sw i t hm u l t i p l e o b s e r v a b l ep o i n t s ,an e wm e t h o di sn e e d e dt oe m u l a t et h e i ro p e r a t i o ne n v i r o n m e n t a n dt oc o n t r o lt h et e s tp r o c e s sa ta l lt h e s ep o i n t ss i m u l t a n e o u s l y f o rt h ev e r y r e a s o n ,s c n e t c o ml a b ( s i c h u a nn e t w o r kc o m m u n i c a t i o nt e c h n o l o g yk e y l a b o r a t o r y ) h a s i n t r o d u c e dat e s tm e t h o dc a l l e dc m c - t t m ( c o o r d i n a t e d m u l t i p o i n tc o n c u r r e n tt r a n s v e r s et e s tm e t h o d ) i m p l e m e n t a t i o no fc m c - t t m h a se v o l v e dt h ed c m c t s t h ed c m c - t si sat w o - t i e r s y s t e m ,w h e r e ac o o r d i n a t e dm u l t i p o i n t c o n c u r r e n tt e s tm a n a g e r ( c m c - t m ) a tt h et o pl e v e li sn e t w o r k e dw i t hm u l t i p l e d i r e c tt e s tc o n t r o l l e r s ( d t c s ) c m c - t mu s e sm p t - c m p ( m u l t i p o i n tt e s t i n g c o o r d i n a t i o nm a n a g e m e n tp r o t o c 0 1 ) t oc o n t r o ld t c sc o o r d i n a t e l y d t co b s e r v e s a n dc o n t r o l st h er o u t e ro rs u b n e t w o r ku n d e rt e s tv i ar e l e v a n tp o r t s f o rc o o r d i n a t e dm u l t i - p o i n tt e s t i n g ,c m c - t mm u s tb ea b l e :f 1 ) t od e s c r i b et h e c o n f i g u r a t i o no ft h et e s ts y s t e m ,a s s i g nt e s ts u i t e c a s e si n c l u d i n gt e s td a t ab e f o r e t e s t i n g ;b ) t od e f i n ec o o r d i n a t i o nb e t w e e nd t c s ,c o l l e c tt e s tr e s u l t sf r o md t c s f o rd i s p l a yi nt e s te x e c u t i o na n df o rs t o r a g ef o rg e n e r a t i o no ft e s tr e p o r t ;a n dc ) t o s e l e c tt h en e x tt e s tc a s em a n u a l l yo ra u t o m a t i c a l l ya f t e rat e s tc a s ee x e c u t i o n t h e r ea r ea tl e a s tt w ow a y st of u l f i l lt h et a s k :t od e f i n eat e s td e c r i p t i o nl a n g u a g e o rt od e v e l o pag r a p h i c a ld e s c r i p t i o nt o o l ( g d t ) t h ea u t h o rd e c i d e dt od e v e l o pa g d tt oe a s et e s tc a s ed e s c r i p t i o n p r e l i m i n a r yt e s te x p e r i m e n t sh a v es h o w nt h a ta u t h o r sg d t - m p c ( g r a p h i c a l d e s c r i p t i o nt o o lf o rm u l t i p o i n tc o n c u r r e n tt e s t ) i sn o to n l ya b l et og r a p h i c a l l y c o n f i g u r et h ec m c - t ma n dd t c s ,b u ta l s oa b l et od e s c r i b e ,o b s e r v e ,a n dd i s p l a y t h et e s te x e c u t i o np r o c e s s t h er e s u l t sh a v ea l s os h o w nt h a t t h e p o t o t y p e g d t - m p ch a ss a t i s f i e dt h ed e s i g ng o a l s t h ea c c o m p l i s h m e n to fg d t o m p c 西南交通大学硕士研究生学位论文第页 p r o v i d e s at o o lf o rt e s t o p e r a t o r s t o c a r r y o u t m u l i p o i n t c o n c u r r e n tt e s t e x p e r i m e n t sa n dp a v e st h ew a yf o ri m p r o v e m e n ta n do p t i m i z a t i o no ft h ep r o t o t y p e o fd c m c t s k e yw o r d s : c o o r d i n a t e dm u l t i p o i n tc o n c u r r e n tt r a n s v e r s et e s tm e t h o d ( c m c t t m ) ; d i s t r i b u t e dc o o r d i n a t e dm u l t i p o i n tc o n c u r r e n tt e s ts y s t e m ( d c m c t s ) ; c o o r d i n a t e dm u l t i - p o i n tc o n c u r r e n tt e s tm a n a g e r ( c m c t m ) ; d i r e c tt e s tc o n t r o l l e r ( d t c ) ; m u l t i p o i n tt e s t i n gc o o r d i n a t i o nm a n a g e m e n tp r o t o c o l ( m p t - c m p ) ; g r a p h i c a ld e s c r i p t i o nt o o lf o rm u l t i - p o i n tc o n c u r r e n tt e s t ( g d t - m p c ) 西南交通大学 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库 进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密使用本授权书。 ( 请在以上方框内打“) 学位论文作者签名:p - - 步;墨 指导老师签名: 嗜碜 日期:汐p 亭莎席,少瘤日期:2 0 lo 年6 月13 日 西南交通大学硕士学位论文主要工作( 贡献) 声明 本人在学位论文中所做的主要工作或贡献如下: ( 1 ) 为配合实验室d c m c t s 的开发,笔者设计和实现了路由器多点并发 测试的图形化描述工具( g d t - m p c ) 。该工具反映的工作主要有:利用面向对象 的思想,结合c m c t m 和d t c 的测试功能和图形化显示效果,对c m c t m 和d t c 进行了详细的类设计;结合c m c t m 和d t c 的类设计和相关m f c 编 程知识,在工具界面上对c m c t m 、d t c 、路由器、交换机、路由器上的端口、 交换机上的端口、端口间的连接线以及d t c 上标识测试状态的圆圈进行了图 形化的绘制和显示;对c m c t m 、d t c 以及d t c 端口的测试状态、测试过程 进行了动态的绘制和显示,具体表现为属性框和曲线框的绘制,其中,属性框 绘制的是测试状态和测试过程,曲线框绘制的是平均速率曲线和平均数据丢失 率曲线;对用于通信的数据包和用于绘图的统计包进行了详细的设计和实现; 为配合实验,笔者提出了一种基于状态的同步协调机制和基于模式选择的数据 流生成机制。 ( 2 ) 初步实验表明:笔者为d c m c t s 设计实现的多点并发测试的图形化 描述工具( g d t - m p c ) 不仅能对上级c m c t m 和下级d t c 进行图形化的初始配 置,还能对二者的测试状态、测试过程、测试结果进行图形化的描述和观测, 使整个测试过程更加形象直观。实验结果还表明g d t - m p c 达到了原定的设计 目标。g d t - m p c 的成功开发为多点并发测试实验提供了基本手段,从而为最 终改进和完善d c m c t s 奠定了基础。 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所 得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体 已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中作了明确说明。本人完全了解违反上述声明所引起的一切法律责任将由本 人承担。 学位论文作者签名:夕吵多二霉 、 b 强:如o 手局国 要蜜銮鎏銮兰翌老2 耋兰耋堡鎏耋苎:要 第1 章绪论 1 1 论文的研究背景 本论文的研究背景是四川省网络通信技术重点实验室关于网络测试技术 的研究与开发工作。出于对单个路由器,交换机多端口的并发测试和对通信子 网多点观测的需要,实验室提出了协同多点并发穿越测试法 f c m c t t m c o o r d i n a t e dm u l t i - p o i n tc o n c u r r e n tt r a n s v e r s et e s tm e t h o d l 以便将 i s o 定义的一致性测试方法扩展到对多端口路由器的全面性能评价和对通信 子网的性能评价。近十年来,实验室以c m c t t m 为基础,一直在从事分布式 协同多点并发测试系统( d c m c - t s d i s t r i b u t e dc o o r d i n a t e dm u l t i - p o i n t c o n c u r r e n tt e s ts y s t e m ) 的开发工作。d c m c t s 既可以作为网络设备测试中心 对网络设备进行全面性能评测的手段,也可以作为网络工程验收的手段和系统 维护的手段。d c m c t s 为两级结构,上级协同多点并发测试管理嚣 ( c m c t m c o o r d i n a t e dm u l t i p o i n tc o n c u r r e n tt e s tm a r l a g e r ) 控制多点测试过 程,下级直接测试控制器f d t c - d i r e c t t e s t c o n t r o l l e r ) 直接对测试对象的两个观 测点进行监测。在对路由器进行性能评价时,c m c t m 与d t c 间可通过交换 机直接相连;在测试通信子网时,c m c - t m 与通信于网观测点上的d t c 可通 过被测网络实现互联。c m p - t m 与多个d t c 间通过多点测试协同管理协议 r m p t c m p m u l t i p o i n tt e s t i n gc o o r d i n a t i o nm a n a g e m e n tp r o t o c 0 1 ) 实现多点测 试的协调、管理和控制。图1 1 和图l - 2 分别表示用d c m c t s 对单个路由器 进行性能评价和对通信子网进行性能评价的示意图。 雨磊 试嚣 试器 社铡路m 0 r v r k a t n e a u n d e rt 鳓 图1 i 用d c m c - t s 对多端口路由器进行性能评价测试的示意图 西南交通大学硕士研究生学位论文第2 页 说明:直接测试器与被检测路由器检测端口的连线 一直接测试器与协同多点并发测试管理器通过i n t e r n e t 相连的连线 图1 2 用d c m c t s 对通信子网进行性能评价测试的示意图 1 2 论文的研究意义 经过多年的开发,实验室已经形成了如图1 3 所示的d c m c t s 初步框架。 其中,d t c 既能够作为独立的双点测试器,也可用于如图1 1 和图1 2 所示的 多点测试系统。d t c 的测试控制用户接口、可执行测试控制数据生成支撑环境 ( t t c n c 编译器) 已经有了样机试验系统;实验室还定义了c m c t m 与d t c 间的协调控制协议并完成了初步软件实现。 如图1 - 3 所示,c m c t m 是控制多点并发测试的上级管理器,其主要任务 是协调、控制和管理多点测试。其用户接口模块中的测试例组集选择模块管 理多个测试例的执行,而测试例执行控制模块则是控制测试例执行的基本程 序,它的主要功能是控制协调多个d t c 的测试过程,直接测试过程受d t c 的 控制。 d t c 的测试控制描述语言采用t t c n 3 ,实验室已经开发出了t t c n 3 c 编译程序,可实现将用t t c n 3 描述的测试例转换为d t c 可执行的测试例。 多点测试的描述也需要专用的测试工具。实验室在前期的研究中,曾探索过从 多点测试例自动导出d t c 的测试描述语言,但随着对多点测试理解的深入, 我们意识到:上述思路未能充分利用d t c 的t t c n 3 语言的功能,同时难以 将多点测试控制与下层直接测试功能严格区分开来,加上实现难度太大,用语 言描述直观性差,最终放弃了这尝试。在深入分析多点测试控制需求的基础 上,实验室重新界定了该工具的基本需求,最终提出了开发图形化的描述工具 的新思路,这就是本文中介绍的图形化描述工具的设计与开发背景。 西南交通大学硕士研究生学位论文第3 页 协同多点并发酒试管理器 ( c o o r d i n a t e d m u l t p o i n tc d w “h ! 型丝墅! 鱼丝垡罂型堡堡里鱼全皇里至墼塑 雨 冒i 敬i 憾 篱 蚺i 叵; 鑫| 臻 格 疆 憾 - 一 雕 辎 删 飘 嚣翠t 圈匿 瓣鬯 i ) t c 测试控制终端 攀票簇 9 莎。 。g d t c 测试结果 分析与测试报 告生成,日志记 录模匀残l m ) - 一 s e n d o n c e ( ) ,i 图3 5 发送数据 ( 4 ) d t ct o o l 的发送端口发送完1o o m s 的数据,将d t c 的状态设置为 s t a t u sw a i t ,并将此状态返回给c m ct o o l ,如图3 - 6 所示。 i f ( 1 0 0 p s c o u n t t i m e r p o i n t & & 、 【( 1 0 0 p s c o u n t t i m e r p o i n t ) l o o p u n i t c o u n t ) 。2b ) i f ( ( m o d e & m o d e s t e p f l a g ) f tb ) 如果是同步测试,习5 么一全洲试 s t a t u s = s t a t u s w a i t ;,步结柬后,辫栈套谩置尊等待状态, s t a t i s t i c o n c e ( t r u e ) ;并同c , c j o o l 端运回该状瑟 图3 - 6 状态设置和状态返回 ( 5 ) c m c t o o l 检验是否在规定的时间内收到所有d t c t o o l 返回的 s t a t u sw a i t 状态,如果收到则执行下一步测试,反之则取消此次操作。如图3 7 r t ,一 所不。 3 2 测试数据流生成机制的研究和实现 随着网络应用的增加,音频、视频、图像等多媒体数据的综合服务越来越 多,路由器交换机的外部数据到达规律在不断发生变化。在路由器多点并发 测试中,特别是在性能测试中,为更好地模拟路由器交换机的实际工作环境, 测试系统不仅要考虑数据均匀、非均匀到达端口的情况,还要考虑数据到达端 口的规律。 长期以来,泊松分布被视为典型的网络数据到达规律。但是,随着近年来 研究人员对广域网、局域网、城域网等网络的研究,研究人员发现网络数据的 到达规律成自相似性1 3 引。要想真正模拟路由器交换机的实际工作环境,必须 考虑自相似性的网络数据到达规律。 3 2 1 自相似的概念 在自然界中,自相似性描述的是事物的局部按照某种方式出现与自身相似 的现象,而在网络流量中,自相似性描述的是网络数据包的到达规律出现统计 相似的特点。从概念上讲,自相似性是指分布曲线的形状在不同的时间尺度下 是相似的,不可区分的。具体来讲,自相似性是指网络上的数据流没有一个本 质的突发长度,在每个时间尺度上,从微妙到分钟,从分钟再到小时,突发周 期是由一系列的突发子周期组成,这些突发子周期又是由一些比其更小的突发 子周期组成。由此可知,自相似性反映了业务在所有的时间尺度上具有统计相 似的特点,突出地表现为突发没有明确的时间长度,在不同的时间尺度下表现 出相同的突发特性,突发不能被平滑掉。与自相似性本质不同的是,传统的泊 松分布模型下的网络数据的突发现象是在短时间内发生的,从长时间来看,突 发现象是可以被平滑掉的。 对于自相似性的理解还可以从长程相关和短程相关的角度上去理解 3 7 - 4 0 】。 长程相关认为,具有自相似性特点的网络业务流在很长时间范围内都具有相关 性,即业务到达是长程相关的( l r d ) ,而短程相关认为,对于传统的马尔可夫 模型,在当前时间t 和过去时间( t s ) 之间,如果s 足够大,则t 和( t s ) 下的业务 流是不相关的,只有在s 比较小的情况下,t 和( t - s ) 下的业务流才是相关的,即 西南交通大学硕士研究生学位论文 第18 页 皇曼i | 1 i i_ - u i - - 鼍曼曼曼曼鼍曼曼曼皇曼舅舅舅曼! 曼曼量曼皇皇 业务到达是短程相关的( s r d ) 。 3 2 2 自相似流量建模 现今对自相似流量建模的研究主要分为两种:一种是物理建模,另外一种 是统计建模【4 1 1 。下面分别对这两种建模方法进行简单介绍。 首先来介绍物理建模。该类模型是在自相似过程物理意义的基础上建立起 来的,这类模型在灵活性和精度方面没有统计特性下建立的模型好,但有明确 的物理意义,能够帮助我们理解自相似的原因。其中使用最多的是流叠加法【4 2 1 。 流叠加法将自相似过程看作是无数用户数据源叠加的结果,一般利用 o n o f f 业务源来模拟用户数据源,以此来产生自相似过程。其产生原理如下 【4 3 】:o n o f f 模型只有o n 和o f f 两个状态,当业务处于o n 状态时模型以恒 定的速率产生数据,当业务处于o f f 状态时模型不产生任何数据,可以证明, 当叠加的业务源个数趋于无穷大时,总的业务是渐进自相似的。通常自相似业 务的系数处于o 5 和1 之间,表示它在长时间尺度下具有正的相关结构。 和物理建模相对应的是统计建模。该类模型是在业务统计特性下表现出来 的长程相关性的基础上建立起来的,这类模型比较灵活和精确,但没有明确的 物理意义。现阶段描述自相似特性的统计模型主要有:分形布朗运动、分形高 斯过程、分形a r i m a 过程和稳定分形过程等。 就分布式协同多点并发测试系统( d c m c t s ) 的开发来说,不仅要考虑数据 均匀和非均匀到达端口的情况,还要考虑数据到达端口的规律。由于自相似的 数据到达规律不是笔者的研究重点,笔者不再做进一步的讨论,需要更深入的 了解自相似的更多细节,可以参考文献 4 4 】。 3 2 3 基于模式选择的数据流生成机制的设计和实现 为配合实验,笔者提出了一种基于模式选择的数据流生成机制。 该机制的设计思想如下: ( 1 ) 根据r f c 2 5 4 4 4 5 】规定的针对以太网测试的测试帧的长度,在服务器端 d t c t o o l 和客户端c m c t o o l 定义测试数据包的长度; ( 2 ) 在d t c t o o l 端和c m c t o o l 端定义可选长度的测试数据包; ( 3 ) 根据定义的测试数据包的长度,在d t ct o o l 端和c m ct o o l 端定 义相应的模式; ( 4 ) 把模式添加到c m c t o o l 端的模式组合框里; ( 5 ) 为模式组合框添加模式选择函数; ( 6 ) 在d t c t o o l 端,如果d t c 处于测试状态,d t c 的发送端1 2 则根据 是否 图3 8 基于模式选择的数据流生成机制示意图 在具体实现时,笔者的实现流程如下: ( 1 ) 在服务器端d t ct o o l 和客户端c m ct o o l 定义测试数据包的长 度,如图3 9 所示。 c o n s ti n ts i z e l i s t n o d e m a x t 5 i z e o f c h d ) ,口 6 4 , 6 4 b 1 2 8 , ,1 2 8 b 2 5 6 。1 2 5 6 b 5 1 2 , 1 5 1 2 b 1 0 2 4 , 1 6 2 4 b 1 2 8 0 ,1 2 8 0 b 1 5 1 8 , 1 1 5 1 8 8 5 0 0 , 1 5 0 b b 1 0 8 0 ,1 1 0 0 8 b 1 5 0 0 -1 1 s 6 0 b ; 图3 - 9 定义测试数据包的长度 ( 2 ) 在服务器端d t c t o o l 和客户端c m c t o o l 定义可选长度测试数据 包( 详细的数据包讨论可见4 3 节一一数据包和统计包的设计和实现) ,如图3 - 1o 所示。 图3 1 0 定义可选长度的测试数据包 ( 3 ) 根据定义的测试数据包的长度,在服务器端d t c t o o l 和客户端 c m ct o o l 定义相应的模式,如图3 1 1 所示。 ,攮式定义 c o n s ti n tm o d en u l l c o n s ti n tn o d ec o n s t1 c o n s ti n tn o d ec o n s t2 c o n s ti n tm o d ec o n s t3 c o n s ti n tm o d ec o n s tj l c o n s ti n tm o d ec o n s t5 c o n s ti n tm o d ec o n s t6 c o n s ti n tm o d ec o n s t7 c o n s ti n tm o d eu a t 1 = 日,i 一1 :2 4 4 h b p s = 2 ; 4 8 8 h b p s = 3 ,i 9 7 6 h b p s 。1 ;1 1 9 5 2 h b p s 。5 ; ! 3 9 0 4 1 4 b p s t 6 ,i ,4 8 8 3 h b p s c o n s ti n tm o d eu a r 2 = c o n s ti n tm o d eu a r 3 i c o n s ti n tm o d em a x t c o n s ti n tm o d e s l e p f l a g t 7 ; 8 ; 9 : 1 日 1 1 d x ,5 7 9 变速 变速 变速 ,捏制 f 单步 图3 11 定义模式 需要特别说明的是模式1 到7 是恒速模式,模式8 到1o 是变速模式。所 谓恒速模式是指服务器端d t ct o o l 的发送端口每l m s 向路由器发送固定数 量的测试数据包,在具体实现时,笔者设置的是5 。所谓变速模式是指服务器 端d t ct o o l 的发送端口每1 m s 向路由器发送不同数量的测试数据包,在具 体实现时,考虑到实验室测试机网卡的速度,笔者利用随机数算法产生一个【0 , 9 】 之间的随机数。如果产生的随机数是0 ,则不发送测试数据包,如果产生的随 机数是9 ,则发送9 个测试数据包,以此类推。 ( 4 ) 把模式添加到c m ct o o l 端的模式组合框里,如图3 12 所示。 c o m b o b o x 属性二 书冒 常墁数据l 样式i 扩展样式l 输入列 表框项 目凶: m b p m b p m b p 2 m b 4 m b 图3 1 2 添加模式 l l l s 1 s j s 1 2 3 誉即式式+瞽试州槿擅一摸询瓣 4 日7 l l 式凹邮即阻 模式式式式式 试模摸摸摸摸 蠢速遮速速速 空恒恒恒恒恒 西南交通大学硕士研究生学位论文 第2 1 页 ( 5 ) 为模式组合框添加模式选择函数,如图3 1 3 所示。 o b i e c ti d sm e 5s a q e s : 1 0t e s tr u na l lc b nc l o s e u p i dt e s ts t o p c b nd 日l c l k 】dt e s ts y n cc e i nd r o p d o w n i dv l e ws t a t u sb a rc b ne o i t u p d a t e f dv l e wt o o l d a rc b ne r r s p a o e d cc h e c k ic b nk i l l f o c u s m e m b e r f u n c t i o n s : w0 n r c l d c h a n g c d i p a 0 n i d c i p a d d r e s s l :i p n r e l d c h a n g e wo n o k o n i d o k :b n c l i c k e d 图3 - i3 添加模式选择函数 ( 6 ) 在d t c t o o l 端,如果d t c 处于测试状态- d t c 的发送端口则根据 用户选择的模式向路由器发送相应长度的测试数据包,如图3 1 4 所示: t f t s t a t u s s t a t u s t e s t 强s n d s d c w e t n _ h 3 0 c k e t 2l 懈a l i d j o c k e t ) t n tn 一( n o d e & 鲰f f ) : i f ( n n o d e n a x ) 7 s 7 n 不d s 能o c 使k e 用t 1 b 5 u “f 的c “o 叶u n t + ; ,总的计数器 s n d $ o c k e t b u f s i z e 。s i z e l i s t 【n 】; s n d s o c k e l s e n d ( & s n d s o c k e t b u r 。s n q s o c k e t b u f s i z e ) : 图3 1 4 向路由器发送测试数据包 3 3 服务器端和客户端网络通信的设计和实现 3 31w i n d o w ss o c k e t s 简介 分布式系统最常用的模型是客户机,服务器模型,即常见的c s 模型。在 该模型下,服务进程一直处于休眠状态,直到某一客户程序提出连接请求,此 时,服务进程被惊醒,对客户的请求做出适当的反应,并为客户服务。 为方便c s 模型的网络编程,2 0 世纪9 0 年代初,m i e r o s o b 联合其他几家 公司在b e r k e l e ys o c k e t 的基础上开发了一套开放的、支持多种协议的w i n d o w s 下的网络编程接口一一w i n d o w ss o c k e t s ,简称w i n s o c k l 4 “。该接口不仅包含了 人们所熟悉的b e r k e l e ys o c k e t 库函数,也包含了一些针对w i n d o w s 编程的扩 展库函数,使程序员可以充分利用w i n d o w s 消息驱动机制进行编程。 由于w i n s o c k 在i n t e r n e t 上传输数据和交换信息时,应用程序不需要关心 西南交通大学硕士研究生学位论文第2 2 页 网络连接的细节而备受广大编程人员的喜爱,如图3 15 为应用程序使用 w i n s o c k 进行网络通信的示意图。 v丫 vv 图3 1 5 应用程序使用w i n s o c k 进行网络通信的示意图 套接字【4 7 1 是网络通信的基础,是支持t c p i p 协议的基本操作单元。在具 体通信时,网络上传输、接收的信息都通过套接字端口来实现。 按照模式来划分,套接字分为阻塞和非阻塞两种模式。当套接字处于阻塞 模式时,调用函数不会立即返回,要等到操作完成后才会返回;当套接字处于 非阻塞模式时,调用函数会立即返回。 按照通信的性质来划分,套接字可分为流套接字、数据报套接字和原始套 接字。流套接字提供了一种可靠的面向连接的服务,可以实现数据无差错、无 重复发送;数据报套接字提供了一种不可靠的面向无连接的服务,不能保证数 据无差错传输;原始套接字可以直接访问较低层的协议( 如i p 、i c m p ) ,常用 于检验新的协议的实现等。 在路由器多点并发测试的图形化描述工具( g d t - m p c ) 里,由于上级 c m c t m 需要对下级d t c 下达测试命令,任何一条测试命令的丢失都会导致 测试不能顺利进行,笔者采用的是面向连接的t c p 流套接字。 3 3 2 网络通信的具体设计和实现 对于路由器多点并发测试的图形化描述工具( g d t - m p c ) 的网络通信,笔者 的设计思想如下: 在服务器d t ct o o l 端: ( 1 ) 创建侦听套接字l s n s o c k e t : ( 2 ) 侦听客户端的连接请求; ( 3 ) 当客户端请求连接时,接受连接请求,并创建个新的用于和客户端 西南交通大学硕士研究生学位论文第2 3 页 通信的套接字c t l s o c k e t ; ( 4 ) 创建用于向路由器发送测试数据的套接字s n d s o c k e t 和接收经路由器 转发回来的数据的套接字r c v s o c k e t ; ( 5 ) 将套接字s n d s o c k e t 和套接字r c v s o c k e t 连接起来,做好测试准备。 在客户c m ct o o l 端: ( 1 ) 创建一个和服务器d t ct o o l 进行通信的套接字c t l s o c k e t ; ( 2 ) 向服务器d t ct o o l 发出连接请求; ( 3 ) 连接请求成功,与服务器d t ct o o l 进行通信。 该设计思想的实现流程如图3 16 所示。 服务器d t c t o o l 端 客pc m c _ t o o l 端 接受连接请求,并创建用于和客 户端进行通信的套接字c t l s o c k e t 图3 1 6 网络通信的实现流程图 3 4 定时器、计数器和v c 双缓存绘图技术 在m f c 编程里,一般有两种定时器。种是精度不高的定时器,该定时 器用s e t t i m e o 函数进行定义,然后由o n t i m e r o 函数或者用户自定义的回调函 数进行相应的响应。另外二种是精度较高的多媒体定时器【4 8 1 ,该定时器用 t i m e s e t e v e n t o 进行定义,然后由用户自定义的回调函数进行相应。 在路由器多点并发测试的图形化描述工具( g d t - m p c ) 里,笔者在客户端 c m ct o o l 设置了一个定时器,在服务器d t ct o o l 也设置了一个定时器。 客户端设置的定时器用于动态显示测试过程( 如端口动态显示表示有数据在传 输) 、判断测试时间是否结束和判断c m c t m 是否在规定的时间内收到所有 d t c 的s t a t u s w a i t 状态( 与计数器合作来判断) 。由于这个定时器对时间的精度 西南交通大学硕士研究生学位论文第2 4 页 要求不高,笔者采用v c 常用的用s e t t i m e ( ) 函数定义的定时器。服务器端设置 的定时器主要用于定时向路由器发送测试数据,由于其精度要求较高,笔者采 用多媒体定时器。 由于路由器多点并发测试的图形化描述工具( g d t - m p c ) 是一款图形化的 描述工具,在具体实现时,需要在窗体上对上级c m c t m 和下级d t c 以及二 者的测试状态、测试过程、测试结果进行动态的绘制和显示,为避免产生闪烁 现象,笔者采用了v c 双缓存绘图技术。下面,笔者简单介绍一下该技术。 在v c 中,当窗体由于某种原因( 如数据改变) 需要重新绘制的时候,总是 先利用背景色将显示区擦除,然后才调用新的绘图代码对图形进行重新绘制, 这样一擦一写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论