网络模拟器丢包与时延功能的设计实现.doc

网络模拟器丢包与时延功能的设计实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络模拟器丢包与时延功能的设计实现

网络模拟器丢包与时延功能的设计实现 陈肖楠 寿国础 郭志刚 胡怡红 (北京邮电大学信息与通信工程学院网络体系架构与融合北京市重点实验室 北京100876) 摘 要:设计了一种基于实际业务流的网络模拟器,分别采用基于Gilbert模型的丢包机制和基于TBF队 列模型的时延机制,并具有良好的扩展性,可以加入各种丢包模型和时延模型。测试实验表明通过网络模拟器 模拟的网络丢包性能和时延性能优于以前的网络模拟器性能,并实现了对不同丢包模型和时延模型的扩展。 关键词:网络模拟器;Gilbert模型;TBF;丢包;时延 1 引言 随着网络技术的不断发展,网络应用也层出不 穷,很多业务都要在特定的网络环境下进行测试,如 符合某种特性的丢包率、时延等[1,2,3]网络环境。目前主 流的网络仿真软件(如NS2)是对网络协议和网络性 能的仿真[4],其工作原理是配置虚拟的网络环境,自 发产生虚拟的数据流来测试当前的网络环境对数据 流的影响。网络仿真软件无法模拟一些网络环境。网 络模拟器可以模拟真实网络环境,可对网络中传输 的数据包进行丢包、时延等影响网络性能的因素进 行控制。一些研究论文提出了建立网络模拟器的思 想,如文献[5]中实现了模拟网络链路中的带宽、传输 时延和丢包率的功能,但它是基于FreeBSD的系统, 不适于Linux,适用范围有限。文献[6]虽然基于Linux, 但只是实现了时延的功能。 现有的网络模拟器软件有很多,比较受欢迎的 主要有NetEm、Dummynet和NIST Net [7],目前已被广 泛用到实验研究中。Dummynet是FreeBSD系统中自带 的标准软件,它基于包过滤的机制,不能过滤输出的 包,并且它完全独立,不易实现扩展。NIST Net是 Linux内核的扩展模块,能够实现复杂的时延、丢包等 模拟网络的性能,但只能在Linux kernel 2.4的版本 使用,不能用于2.6以上的版本。NetEm能够用于Lin- 带的丢包机制是简单的随机事件,不能适应于复杂 的网络机制中。本文提出的网络模型器是基于Linux kernel 3.0版本设计实现的,可用于必威体育精装版的Linux系 统。其丢包和时延功能的实现分不同层次进行,主要 借鉴了Dummynet的包过滤机制和NetEm的队列处理 机制,综合了它们的优点实现网络模拟器的丢包和 时??功能;而且考虑了网络模型的扩展性,可以扩展 不同的丢包和时延模型。 2 模拟器设计原理 评价一个网络的质量好坏是通过研究网络的主 要性能指标来确定的,网络性能指标中最重要、最常 见的就是丢包、时延以及带宽等因素。由于网络中很 多业务的测试都需要用到这些网络因素,所以网络 模拟器的主要功能是模拟网络中丢包和时延因素。 丢包模型 对 于 影 响 网 络 丢 包 的 因 素 很 多 , 如 伯 努 利 (Bernoulli or Independent Model)丢包模型、吉尔伯 特(Gilbert and Gilbert-Elliott Models)丢包模型、马 尔科夫(Markov Models)丢包模型。很多论文在讨论 丢包模型时都使用了马尔科夫模型 (Markov Mod- els),例如文献[8,9],有的使用了多状态的马尔科夫 模型,使用最多的两个状态的马尔科夫模型,即 2.1 %%8 Gilbert模型的原理:对于目的端,包的接收状态 只有两个:收到包和没有收到包,这两个状态之间并 不是相互独立的,而是有记忆的,其关系可以用两个 状态的马尔科夫模型即Gilbert模型进行描述[11]。假设 Gilbert模型描述的丢包状态分别是0和1,0表示数据 包被正确接收,1表示数据包发生了接收错误或丢 失,这两个状态之间的关系如图1所示。图中p表示从 状态0转移到状态1的概率,q表示从状态1转移到状 态0的概率,所以1-p表示从状态0转移到状态0的概 率,1-q表示从状态1转移到状态1的概率。 发送数据包所需要的时间主要包括处理时间、排队 时间、带宽造成的时延和传播时延。我们通过控制发 送队列对数据进行重新编排、延迟或丢弃数据包,这 里主要利用队列进行对包时延控制模型的实现。控 制包的时延有很多种方法,主要取决于数据包存在 的队列的类型。例如FIFO队列是通过遵照数据包的 TOS标记和3个不同的频道进行控制的,而令牌桶过 滤器TBF是通过数据流与令牌流的大小进行调节时 延的。还可以设计实现其他的发送队列来进行控制 时延。但是每个队列都有其缺点和优点,要根据不同 的需求进行选择。本论文使用的是TBF令牌桶过滤 器,令牌桶可以用(r, b)来表示,其中r表示令牌以特 定的速率r注入到桶中,b表示的是桶的容量大小。 图1 Giblert模型 如果设状态为0的概率为Ρ0,状态为1的概率

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档