drop-tail队列管理分析
- 格式:doc
- 大小:16.00 KB
- 文档页数:3
NP架构-汇聚层路由器的完美选择1 汇聚层路由器的需要按照经典IP网络结构划分,一个网络往往包括核心骨干层、边缘汇聚层和接入层,各个层面的设备都会有明显不同的技术要求。
图一:IP网络层次示意图用户对核心层设备的要求是大容量、线速性能、高可靠性安全性和具有实效的QOS技术;汇聚层设备则需要高性能、多业务支持能力;接入层设备关键是提供丰富的接口类型和完善的协议转换机制以及用户区分技术。
对于汇聚层路由器来说,高性能应该是至少2个GE端口的线速转发能力(一个上行一个下行),而多业务是指能支持MPLS、NAT、QOS甚至是Ipv6等各种协议应用,尤其是要能快速支持新的网络协议和应用。
汇聚层路由器从诞生到现在经历了近20年时间,经历了几个重要的发展阶段:∙单CPU内核,集中式转发;∙分布式CPU,分布式转发;∙CPU+ASIC,分布式转发;∙NP+CPU+ASIC,分布式转发。
那么,路由器核心器件不断更新的动力是什么呢?技术的发展最终动力来自业务的需求,路由器的发展无疑也是符合这一原则的。
这里的业务不仅是狭义的数据、语音、视频的应用,而是广义上的各种网络应用,例如QOS、VPN、ACL、NAT、IPv6等等。
每一种新的网络技术或者协议其实都代表着一种新的业务,而每一种新的硬件架构的出现其实代表着整个网络业务在发生巨大变化。
协议的更新与业务的关系和硬件架构的更新与业务的关系异曲同工。
业务类型的丰富导致了分布式转发架构的出现,业务流量的激增开辟了ASIC的广泛市场,而高速业务的类型不断增多、多业务的融合最终促使NP的应用。
分布式CPU模式虽然分担了不同流向的数据包,但是性能无法保障;ASIC芯片保障了性能,但是它2-3年的更新周期无法适应日新月异的业务变化,所以需要一种面向数据分组处理的、具有体系结构特征和/或特定电路的、软件可编程器件,这就是NP,网络处理器。
在汇聚路由器发展的过程中,NP的出现无疑是最引人注目的,也是目前汇聚层路由器硬件设计首选的核心芯片。
NS2仿真实验分析报告一引言1 NS2简介NS2是一款开放源代码的网络模拟软件,最初由UC Berkeley开发。
它是一种向象的网络模拟器,它本质上是一个离散事件模拟器,其本身有一个模拟时钟,所有的模拟都由离散事件驱动。
其采用了分裂对象模型的开发机制,采用C++和OTcl两种语言进行开发。
它们之间采用Tclcl 进行自动连接和映射。
考虑效率和操作便利等因素,NS2将数据通道和控制通道的实现相分离。
为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++编写,这些对象通过Tclcl映射对OTcl解释器可见。
目前NS2可以用于模拟各种不同的通信网络,它功能强大,模块丰富,已经实现的主要模块有:网络传输协议,如TCP和UDP;业务源流量产生器,如FTP、Telnet、CBR、We b和VBR;路由队列管理机制,如DropTail、RED和CBQ;路由算法;以及无线网络WLAN、移动IP和卫星通信网络等模块,也为进行局域网的模拟实现了多播协议以及一些MAC子层协议。
2 基本概念(1)RED:随机早期探测(Random Early Detect,RED)。
RED属于主动队列管(Active Queue Management, AQW),是目前常见的TCP上防止拥塞的手段。
它通过以一定概率丢失或标记报文来通知端系统网络的拥塞情况。
RED使用平均队列长度度量网络的拥塞程度,然后以线性方式将拥塞信息反馈给端系统。
RED使用最小阈值,最大阈值和最大概率等几个参数。
RED的基本思想是通过监控路由器输出端口队列的平均长度来探测拥塞,一旦发现拥塞逼近,就随机地选择连接来通知拥塞,使它们在队列溢出导致丢包之前减少拥塞窗口,降低发送数据速度,缓解网络拥塞。
RED配置在路由器监视网络流量以便避免拥塞,当拥塞即将发生时,它随机丢弃进来的分组,而不是等到队列缓冲区满是才开始丢弃所有进来的分组,这样可以最少化全局同步的发生。
网络仿真是使用计算机技术构造网络拓扑、实现网络协议的模拟网络行为。
它能获取特定的网络特性参数,进而可对网络性能进行研究和分析,达到改善网络运行状况的目的。
它包括网络拓扑仿真、协议仿真和通信量仿真,模拟网络流量在实际网络中传输、交换等的过程。
目前,知名的网络仿真软件主要有Seawind,OPNET和免费软件NS等。
在本课题的研究中,我主要选用NS2网络仿真软件做有关网络QoS的模拟实验。
1 NS简介NS是Network Simulator(网络模拟器)的简写,它是一个离散事件模拟器,是美国DARPA支持的VINT项目的核心部分,由UC Berkeley,USC/ISI,LBL和Xerox PARC等大学和实验室联合开发。
NS是一个面向对象的仿真工具,既能进行现有网络元素的仿真分析,又是一个开发新协议、新方案的强大工具,而且还具有进行各种网络性能仿真的能力。
模拟平台采用C++语言编写,并使用OTcl语言编写命令和配置接口,NS软件是一个软件包,包括Tcl/Tk,Otcl,NS,Tclc1。
其中Tcl是一个开放脚本语言,用来对NS进行编程;Tk是Tcl的图形界面开发工具,可帮助用户在图形环境下开发图形界面;OTcl是基于Tcl/Tk的面向对象扩展,有自己的类层次结构;NS为本软件包的核心,是面向对象的仿真器,用C++编写,以OTcl解释器作为前端;Tclcl则提供NS和OTcl的接口,使对象和变量出现在两种语言中。
为了直观地观察和分析仿真结果,NS提供了可选件Xgraph(显示静态的图形曲线)、可选件Nam(动态观察仿真的进行过程)。
NS在Unix下开发,除了可用于各种Unix系统、Linux 系统外,也可用于Windows系统,后者需要添加两个可选件:Cywin(针对Windows操作系统的通用图形开发工具)和Perl。
目前,NS提供了大量仿真环境的元素,如仿真器、节点和分组转发、链路和延迟、队列管理与分组调度、代理、时钟、分组头及其格式、错误模型、局域网、地址结构(平面型和层次型)、移动网络、卫星网络、无线传播模型、能量模型等;提供了丰富的数学支持,如随机数产生、积分等;提供方便的追踪和监视方法等;提供完整的路由支持,如单播/多播路由、动态/静态路由、层次路由等。
网络互联技术重复地址检测的MIPv6网络切换方法代红(1 辽宁科技大学软件学院,鞍山,114051,辽宁)摘要:针对MIPv6网络重复地址检测操作延时严重影响网络切换性能的问题,提出一种减少DAD操作时延的方法。
该方法通过将协议无关组播和组播侦听者发现协议与快速层次型移动IPv6相结合,提出了基于组播改进的FHMIPv6切换技术。
利用仿真软件NS-2进行实验。
仿真结果表明,改进的方法减少了重复地址检测时延,降低了丢包率,提高了移动网络切换性能。
关键词:重复地址检测;切换延迟;快速层次型移动IPv6;组播侦听者发现;协议无关组播中图法分类号:TP393.03文献标识码: AMobile IPv6 network handover method of duplicate address detectionDAI Hong(1 School of Software, Liaoning University of Science and Technology, Anshan,114051,LiaoNing)Abstract: To solve the problem that mobile IPv6 network duplicate address detection operational delay badly impacts on network handover performance, a method is proposed to reduce DAD operational delay. By combining PIM and MLD protocol with FHMIPv6, the improved FHMIPv6 handover technology is proposed based on Multicast. The experiment makes use of simulation software NS-2.The simulation results shows the improved method decreases DAD delay,reduces the packet lost rate and improves handover performance of mobile network.Key words:duplicate address detection(DAD); handover delay; fast hierarchical mobile IPv6(FHMIPv6);multicast listener discovery(MLD); protocol independent multicast (PIM)0引言标准移动IPv6(Mobile IPv6,MIPv6)切换时延较长,容易造成链接中断和数据包丢失,无法满足网络电话等实时应用和对数据丢失敏感应用的要求。
PN8601 & PN8603 xPON OLT产品规格说明书鼎点视讯科技有限公司文档版本:R03P01产品简介鼎点视讯PN8600系列机框式OLT可提供GPON、EPON、10G EPON、和10GE接入功能,支持包括FTTH、FTTB、FTTC 以及分布式架构DOCSIS在内的多种建网模式,满足家庭接入、企业接入、移动承载和WiFi热点回传等各种业务场景需求,实现一张光纤网全业务。
PN8600系列机框式OLT支持2种规格的业务框。
各种规格的业务框只有业务槽位数不同,功能与网络位置没有区别。
PN8601为13U高机框,支持16个业务槽位;PN8603为5U高机框,支持6个业务槽位;主控板、业务板和软件都能够兼容使用。
PN8600系列机框式OLT配合ONU/MDU/ CMC提供完整的FTTx接入方案,和园区交换机的统一汇聚,可以简化网络结构,提高网络的可靠性。
应用场景产品特性系统能力●最大支持4.8 Tbps背板容量、1.92 Tbps的交换容量,和256K的MAC地址。
.●做为多业务接入设备,支持MDU,ONT,EPON,10G-EPON,CMC统一平台接入,支持基于SNMP的网络管理图形界面,方便今后维护。
高可靠性●提供高度可靠的网络功能,OLT双主控热备份和双电源冗余备份。
.●提供全面的服务质量(QoS)功能,支持流量分类管理、优先级控制和带宽控制。
●基于SLA和优先级的双重管理模式和灵活的宽带管理能力。
多场景应用●支持各种电信业务,如MAC地址绑定和过滤、带宽控制、VLAN、流量控制等管理功能。
●支持虚拟局域网(VLAN)的内部交通交换,满足企业和社区网络的应用需求。
●支持IPTV用户的非收敛接入,单台设备支持2000个组播组。
平滑演进●支持EPON和10G-EPON共平台,实现平滑演进,超高宽带接入。
●支持IPv4/IPv6双协议栈和IPv6组播,实现IPv4向IPv6的平滑演进。
NS2仿真软件在TCP协议教学中的应用[摘要]网络仿真工具ns2应用于tcp协议的教学活动中,不仅可以向学生动态的显示tcp 数据流的流向、数据包丢弃等状态,而且可以静态的分析tcp协议的序号--确认的机制、窗口与流量控制和动态拥塞控制等方面的内容,从而使课堂教学活动变得生动、形象、直观,学生更好的理解和掌握tcl协议的本质和内涵。
[关键词]tcl协议 ns2 仿真教学一、引言tcp,即传输控制协议,是目前网络上使用最多的一种传输协议,它与ip协议相结合,组成了因特网协议的核心。
tcp协议采用各种机制(如采用序列号、确认、滑动窗口、流量控制和拥塞控制等)来保证端到端结点之间的可靠数据传输。
在传统的教学模式中,一般只能从理论上分析tcp协议的各种机制,无法使用试验手段让学生获得感性认识,原因是构建一个试验的网络环境是非常困难的,即使真实的网络环境可以获得, 然而这种非理想的场景中影响因素众多, 学生难以了解到各种因素带来的真正效果[1]。
因此,大多数学生感觉这些内容比较抽象空洞,难以理解和掌握,如此教学使得学生索然无味, 失去学习兴趣[2]。
目前,网络仿真技术广泛的应用在科学研究上。
网络仿真是使用计算机技术构造网络拓扑、实现网络协议的模拟网络行为,它包括网络拓扑仿真、协议仿真和通信量仿真, 模拟网络流量在实际网络中传输、交换等的过程[1]。
它能获取特定的网络特性参数, 进而可对网络性能进行研究和分析[3、4、5]。
目前应用最为广泛的网络仿真软件是ns2[6]。
它是一款源代码开放且免费的模拟软件,任何人都可以获得、使用和修改其源代码,因此使用ns2来构建特殊的网络仿真实验教学环境变得既灵活又方便迅速[7]。
因此,将网络仿真软件ns2应用到tcp协议的教学活动中,通过nam工具的动画演示可以清晰地向学生演示网络协议的运行过程,这有利于帮助学生掌握知识难点,提高学生的学习兴趣[8]。
同时,通过对比演示和仿真结果的追踪分析,可以使学生理解各种环境或因素对tcp协议及各种机制的影响,以及各种策略的优缺点,从而能切身体会和理解网络基础理论的实质,将抽象的网络概念形象化,把枯燥的网络原理具体化。
1.引言随着IP 网络的迅速发展而不断提出更多新的协议和算法,以及研究如何利用和整合现有的网络资源使网络达到最高效能,对于网络技术和网络性能的研究成了目前网络研究的热点领域。
进行网络技术研究的方法主要有理论分析、试验测试和网络仿真等,其中网络仿真以其灵活性、高效性和低费用等优点而成为网络技术研究的重要手段。
本文要介绍的是目前应用较为广泛的网络仿真软件NS-2[1](Netwo rk Sim ulator Version 2),它是在美国DARPA 的项目VINT (Virtual InterNet Testbed)支持下,由伯克利大学开发而成的源代码开放的免费软件。
NS-2有C ++和OT cl 两种语言编写而成,可以运行在装有C++编译器的通用操作系统(如Unix 、Linux 或Wind ows 等)。
它是一种易扩展、易配置、基于离散事件驱动、面向对象的网络仿真软件,既能进行现有网络元素的仿真分析,又能开发新协议、新方案以及真实网络的故障诊断。
它支持大型、多协议、多种类型数据流的网络仿真,支持多种IP 网络类型的仿真,实现了对许多网络协议(如T CP 、UDP 等)及数据源(如FT P 、WWW 、Telnet 、Web 和C BR 等)的仿真,也实现了M ulticast 和一些应用于局域网仿真的在M AC 层的协议,仿真了路由队列的缓冲管理机制,如Drop T ail,RED 和CBQ 等,实现了Dijkstra 和其它的路由算法。
NS-2中许多协议代码都和实际网络中的应用代码十分相似,能近乎真实的仿真IP 网络的多种情况和行为。
2.NS -2的结构与仿真原理2.1.NS-2构成NS-2软件是由许多模块构成的一个软件包。
包括Tcl/T k,OTcl,NS,T clCL 等五个必选模块,TclDebug,Nam,Xg raph,GT -ITM ,SGM,CWEB,Z lib 等七个可选模块。
通信网络MAC协议仿真摘要:本文首先简要介绍了NS2的原理;然后介绍ALOHA、CSMA/CA和CSMA/CD 协议的具体流程,然后分别对这三种协议进行了仿真验证,通过分析它们的延时抖动,传输延时,网络吞吐量和丢包率,并结合仿真环境的参数配置对对这些统计数据进行了比较分析。
1.NS-2概述NS是Network Simulator的英文缩写,字面翻译即为网络模拟器,又称网络仿真器。
NS-2(Network Simulator,Version 2)是一款开放源代码的网络模拟软件,最初由加州大学伯克利分校(UC Berkeley)开发。
它最初的开发目的是为了研究大规模网络以及当前和未来网络协议的交互行为。
它为模拟研究有线和无线网络上的TCP、路由和多播等协议提供了强有力的支持。
NS-2是一种面向对象的网络模拟器,它本质上是一个离散时间模拟器,其本身有一个虚拟时钟,所有的模拟都由离散时间驱动。
目前NS-2可以用于模拟各种不同的通信网络。
它功能强大,模块丰富,已经实现的主要模块有:网络传输协议,如TCP和UDP;业务源流量产生器,如FTP、Telnet、Wed、CBR和VBR;路由队列管理机制,如Droptail、RED和CBQ;路由算法,如Dijkstra;以及无线网络WLAN、移动IP和卫星通信网络等模块。
NS-2也为进行局域网的模拟而实现了多播协议以及一些MAC子层协议。
NS2采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用C++实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2的前端是一个OTcl 解释器,称为解释层,主要功能是对模拟环境的配置、建立。
从用户角度看,NS2 是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的OTcl脚本解释器。
NS2中编译类对象通过OTcl连接建立了与之对应的解释类对象,这样用户间能够方便地对C++对象的函数进行修改与配置,充分体现了仿真器的一致性和灵活性。
华为数据中⼼5800交换机01-07拥塞避免和拥塞管理配置(⾮CE6870EI)7拥塞避免和拥塞管理配置(⾮CE6870EI)7.1 拥塞避免和拥塞管理概述拥塞避免通过指定报⽂丢弃策略来解除⽹络过载,拥塞管理通过指定报⽂调度次序来确保⾼优先级业务优先被处理。
传统⽹络所⾯临的服务质量问题主要由拥塞引起,拥塞是指由于⽹络资源不⾜⽽造成速率下降、引⼊额外延时的⼀种现象。
拥塞会造成报⽂的传输时延、吞吐率低及资源的⼤量耗费。
⽽在IP分组交换及多业务并存的复杂环境下,拥塞⼜极为常见。
拥塞避免和拥塞管理就是解决⽹络拥塞的两种流控⽅式。
拥塞避免拥塞避免是指通过监视⽹络资源(如队列或内存缓冲区)的使⽤情况,在拥塞发⽣或有加剧趋势时主动丢弃报⽂,通过调整⽹络的流量来解除⽹络过载的⼀种流量控制机制。
设备⽀持以下拥塞避免功能:l尾部丢弃传统的丢弃策略采⽤尾部丢弃的⽅法,同等对待所有报⽂,不对报⽂进⾏服务等级的区分。
在拥塞发⽣时,队列尾部的数据报⽂将被丢弃,直到拥塞解除。
这种丢弃策略会引起TCP全局同步现象。
所谓TCP全局同步现象,是指当多个队列同时丢弃多个TCP连接报⽂时,将造成⼀些TCP连接同时进⼊拥塞避免和慢启动状态,降低流量以解除拥塞;⽽后这些TCP连接⼜会在某个时刻同时出现流量⾼峰。
如此反复,使⽹络流量忽⼤忽⼩,影响链路利⽤率。
缺省情况下,接⼝采⽤尾部丢弃的丢弃策略。
l WRED加权随机先期检测WRED(Weighted Random Early Detection)基于丢弃参数随机丢弃报⽂。
考虑到⾼优先级报⽂的利益并使其被丢弃的概率相对较⼩,WRED可以为不同业务的报⽂指定不同的丢弃策略。
此外,通过随机丢弃报⽂,让多个TCP连接不同时降低发送速度,避免了TCP全局同步现象。
WRED技术为每个队列的长度都设定了阈值上下限,并规定:–当队列的长度⼩于阈值下限时,不丢弃报⽂。
–当队列的长度⼤于阈值上限时,丢弃所有新收到的报⽂。
摘要无线传感器网络是一种全新的信息获取和处理技术,具有许多传统网络无法比拟的优点,可广泛应用于军事、医疗、灾难救助等环境中,已经成为现代通信技术中的一个热点研究领域。
由于无线传感器网络中的节点普遍能量受限,因而设计能量有效的无线传感器网络路由协议受到了学术界和工业界的高度重视。
本文在上述背景下概述了影响无线传感器网络路由协议设计的因素,指出了传感器网络路由协议的评价标准,介绍了几种主流的传感器网络路由协议,并选择典型的低能量自适应聚类层次结构(LEACH)协议进行了深入分析,着重描述了实现LEACH协议的关键算法,分析了该协议存在的优势与不足,并给出了一些修改的建议。
在上述工作的基础上,本文利用网络仿真软件NS-2对其进行建模,重点实现了LEACH协议、CSMA协议、网关处理的有限状态机模型(FSM),并结合节点模型和网络模型,在omnet的虚拟无线环境下建立了LEACH协议的仿真平台。
最后利用上述平台建立了两个包含不同数量节点的无线传感器网络,仿真了LEACH协议的实际运行情况,并根据相关定义统计了网络的生命周期,节点能耗等参数,最终得出了LEACH协议能够高效利用能量的结论。
本文建立LEACH协议仿真平台的相关工作,为针对该协议的后续改进研究作了铺垫,具有一定的应用价值。
关键词无线传感器网络;路由协议;LEACH;NS-2网络仿真AbstractMotivated by the advancement in sensor, embedded computing, networking and wireless communication technologies, wireless sensor network (WSN) is now regarded as a promising technology for pervasive information acquiring and processing. Since WSN could be deployed in diverse applications, such as military affairs, medical care, emergencies, and so on, it becomes a boosting research topic in modern wireless networking technology. Due to the limited power supply characteristics of individual sensor node, it is extensively desirable to find out ways to maximize the life time of WSN. Consequently, energy-efficient routing protocol has become a hotspot in both academic research and industrial practices.This thesis firstly summarizes the factors which dominate the energy-consumption characteristics of routing protocol for WSN. Some criteria are then presented to evaluate the performance of a given routing protocol. Secondly, after introducing several mainstream routing protocols, the Low Energy Adaptive Clustering Hierarchy (LEACH) will be addressed to elucidate its advantages and disadvantages. Some proposals are also discussed to improve the LEACH routing protocol.In addition, by employing the network simulation tool—NS-2, this thesis lays emphasis on modeling the Finite State Machine of LEACH protocol, CSMA protocol. After that, based on the node and network model, LEACH protocol’s simulation platform will be presented using omnet’s virtual wireless environment.Finally, by setting up two WSN application scenarios with different number of sensor nodes, the life-time of WSN and the node’s energy consumption of the WSN are collected and analyzed. It is validated that the LEACH protocol is energy-efficient, which is suitable for the requirement by practical WSN implementations. Moreover, the completed simulation platform offer a good beginning for the future studies on LEACH protocol and its improved variations.Key words Wireless Sensor Network; Routing Protocol; LEACH; Network Simulation Using NS-2目录1 引言 (4)2 绪论...............................................................................................................................2.1 无线传感器网络简介...........................................................................................2.2 无线传感器网络体系结构...................................................................................2.2.1 传感器节点组成........................................................................................2.2.2 网络体系结构............................................................................................2.2.3 协议体系结构............................................................................................2.3 无线传感器网络的特点.......................................................................................2.4 无线传感器网络的应用.......................................................................................2.5 NS-2介绍2.6 NS-2在不同环境下的安装3 总体设计 (12)3.1 激光的检测 (12)3.2 靶位的划分 (12)3.3 编码标准 (13)3.4 成绩的传送和处理 (13)3.5 其他说明 (13)4 硬件设计 (14)4.1 信号放大电路 (14)4.2 整形电路 (16)4.3 编码电路 (17)4.4 串行传送 (19)4.5 电平转换 (21)5 软件设计 (22)5.1 总体方案 (22)5.2 程序流图 (22)5.3 模块说明 (23)6 制作与调试 (26)6.1 硬件电路的布线与焊接 (26)6.2 调试 (26)7 结论 (28)致谢 (29)参考文献 (30)附录 (31)1 引言由于近年来传感器技术、嵌入式技术、分布式信息处理技术和无线通讯技术的发展,微型制造技术、通信技术及电池技术的改进,促使微小的传感器可具有感应、无线通信及处理信息的能力。
TCP不同版本的比较实验目的:观测TCP协议的数据传输过程拥塞窗口变化,比较TCP Tahoe ,TCP Reno,TCP NewReno和SACK版本的拥塞控制算法。
实验环境:WindowsXP + Cygwin + NS2 2.29实验说明:当数据从频宽较大的网络送到频宽较小的网络,会发生拥塞现象。
同样当很多流量同时到达一个路由器时也会发生拥塞。
所以在运输层TCP协议下有拥塞控制机制来防止或减少拥塞。
为了研究TCP不同版本拥塞控制的机制,所以选用如下的网络拓扑结构和链路参数配置(FTP代表端施加恒定的流CBR)实验过程:观察TCP T ahoe,TCP Reno,TCP NewReno和SACK版本的拥塞窗口的变化:打开ns2窗口:1. 观察T ahoe版本的congestion window 和queue length的变化情况:T ahoe算法是TCP的早期版本。
Tahoe包括3个基本的拥塞控制算法:“慢启动”、“拥塞避免”和“快速重传”。
T ahoe算法存在着不足之处:在收到3个重复ACK或在超时的情况下,T ahoe置cwnd 为1,然后进入慢启动阶段。
这一方面会引起网络的激烈振荡,另一方面大大降低了网络的利用率。
如上图所示出现错误:“}”和“elseif”之间要有空格,“}”和“else”之间同理,改正后$ns lab2.tcl T ahoe可以看到结果如上图所示:使用gnuplot观察cwnd的变化值:$gnuplot之后打开cwnd-T ahoe.gif图片如图11所示:图11通过图11可以看出,在TCP的T ahoe版本中,cwnd值会呈现周期性的重复变化。
刚开始采用慢启动(Slow-Start),避免了连接建立时突发数据流对网络的冲击,cwnd呈指数方式增长,当cwnd超过Ssthresh时就进入了拥塞避免(congestion avoidance)阶段,限制传输过程中无限制的速率增长,避免由此可能导致的拥塞。
NS2简单又经典的入门教程实验内容:awk和gnuplot对ns模拟之后.tr文件的处理实验1、实验用网络拓扑图为这个网络的环境包含了四个网络节点(n0,n1,n2,n3)如下图所示。
网络节点n0到节点n2之间,和节点n1到节点n2之间的网络频宽(bandwidth)是2Mbps,延迟時间(propagation delay)是10ms。
网络拓朴中的频宽瓶颈是在节点n2到节点n3之间,频宽为1.7Mbp s,延迟的時间为20ms。
每个网络节都是采用DropTail queue的方式,且在节点n2到节点n3之间的最大队列长度是10个封包的长度。
在节点n0到n3之间会有一条FTP的连线,FTP应用程式是架架在T CP之上,所以在写模拟环境的描述语言的時候,必需先建立一条TCP 的连线,在來源端n0上使用TCP agent产生”tcp”來发送TCP的封包;在目的地端n3使用TCPsink agent产生”sink”來接受TCP的资料、並产生回覆封包(ACK)回传送端、最后把接收的TCP封包释放。
最后要把这两个agent连起來(connect),连线才能建立。
若是沒有額外的參数设定,TCP封包的长度为1Kbytes。
在这里顺便补充說明一下,对于ns2模拟參数內定值设定是在ns-allinone-2.27\ns-2.27\tcl \lib目錄下的ns-default.tcl,有想要进一步了解的人,可以去查看此档。
另外,在节点n1到n3之间有一条固定的传输速率的连线(Const ant Bit Rate,CBR),CBR应用程式是架架在UDP之上,因此必需在n1使用UDP agent來产生”udp”用來发送UDP封包,在n3上使用Null agent來产生”sink”以接收由n1传送过來的UDP封包,然后把接收的封包释放。
CBR的传送速度为1Mbps,每一个封包大小为1Kbytes。
CBR是在0.1秒开始传送,在4.5秒結束传输;FTP是在1. 0秒开始传送,4.0秒結束传输。
Tail Drop队列管理算法分析
赵俊安 09053119
1.Tail Drop 算法概要
传统的 Internet 路由器用 Tail Drop 策略来进行队列管理,如果输出端缓存产生溢出,则丢弃到达的包。
Tail Drop 不需要选择丢弃的包,只是在系统没有空闲缓存时丢弃到达的包。
也不需要保留任何与用户流相关的状态信息。
从拥塞控制的角度看,它仅仅是一种拥塞恢复机制。
虽然在 Internet 上工作了许多年,但始终存在三个严重缺陷:持续满队列、业务流全局同步、业务流对缓存死锁。
随后又出现了“首丢弃”及“随机丢弃”策略, 但始终没有解决持续满队列问题。
2.Tail Drop 实现原理
当路由器队列长度达到最大值时,通过丢包来指示拥塞,先到达路由器的分组首先被传输。
由于路由器缓存有限,如果包到达时缓存已满,那么路由器就丢弃该分组。
一旦发生丢包,发送端立即被告知网络拥塞,从而调整发送速率。
3.对ns中drop tail相关源码分析
ns中关于drop tail的实现代码是ns-版本号目录下queue子目录的drop-tail.h和 。
drop-tail.h头文件定义DropTail类,实现该类的功能。
在drop-tail.h :
class DropTail : public Queue {
public:
DropTail() {
q_ = new PacketQueue;
pq_ = q_;
bind_bool("drop_front_", &drop_front_);
bind_bool("summarystats_", &summarystats);
bind_bool("queue_in_bytes_", &qib_); // boolean: q in bytes?
bind("mean_pktsize_", &mean_pktsize_);
// _RENAMED("drop-front_", "drop_front_");
}
~DropTail() {
delete q_;
}
protected:
void reset(); //重置队列
int command(int argc, const char*const* argv);
void enque(Packet*); //进入队列
Packet* deque(); //出队列
void shrink_queue(); // To shrink queue and drop excessive packets. 缩小队列和丢弃过多的数据包
PacketQueue *q_; /* underlying FIFO queue */
int drop_front_; /* drop-from-front (rather than from tail) */从队列前项丢包标志
int summarystats; //队列概要状态信息标志,用于判断是
否打印队列概要状态信息
void print_summarystats();//打印队列概要状态信息
int qib_; /* bool: queue measured in bytes? */ //以字节计算队列标志
int mean_pktsize_; /* configured mean packet size in bytes */ //平均包的大小用于计算队列的大小
};
对drop tail队列操作有
1.void enque(Packet*); 进队列操作
该操作为先根据summarystats判断是否更新队列的信息。
然后计算队列限制大小qlimbytes,判断是否满队列,是,根据drop—front
变量标记选择从队列还是从队尾丢弃包。
否,将包进入缓冲队列中。
2.Packet* deque(); 出队列操作
该操作为按照队列先进先出顺序将数据包出队列。
(主要为进队列调用)
3.void shrink_queue(); 缩小队列和丢弃过多的数据包
该操作为计算现在队列的限制大小qlimBytes,通过丢弃队列的包,将队列大小缩减为qlimBytes一般大。
丢弃包可选择为队列前面丢弃和后面丢弃。
4.int command(int argc, const char*const* argv);执行队列管理命令。
通过该函数可以对队列调用
printstats,shrinkqueue,packetqueue-attach命令来管理队列。
Printstats 是打印队列状态概要信息。
shrink-queue是调用shrinkqueue函数来缩减队列到限制大小。
Packetqueue-attach 将队列与tcl命令相关联。
总结:
Drop Tail仍是目前Internet使用最为广泛的分组排队、丢弃的方式。
这种方式将拥塞控制的责任都推给网络边缘。
所以TCP假定网络中的路由器对拥塞控制不起任何作用,而独自承担检测和响应拥塞的全部责任。
本文主要是通过drop tail源码解读该队列管理机制是怎么实现的。
Drop tail虽然不是最优的队列管理算法,但是使用范围最大的,了解它的实现,是很有必要的。