




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京大学政学者论文集(2002年) 软件路由器的分析研究软件路由器的分析研究摘要:一般的路由器提供三种NAT实现控制:(1)选择需要进行地址转换的数据报(2)分析地址转换类型(3)分配地址转换时占用的网络地址和端口号.除此之外,Click路由器还提供两种.关键词:的分析,分析类别:专题技术来源:牛档搜索(Niudown.COM)本文系牛档搜索(Niudown.COM)根据用户的指令自动搜索的结果,文中内涉及到的资料均来自互联网,用于学习交流经验,作品其著作权归原作者所有。不代表牛档搜索(Niudown.COM)赞成本文的内容或立场,牛档搜索(Niudown.COM)不对其付相应的法律责任!69软件路由器的分析研究Analysis and Research of Software Router计算机科学技术系99级 肖鹏摘要本文简要介绍路由器的基本知识、实现技术和发展情况,详细分析了软件路由研究领域中的Click系统设计,举例叙述了Click路由器配置和工作方式,介绍了Click网络地址转换技术和多CPU结构Click系统对原有Click系统地改动。本文还介绍了Scout系统的实现方式和路由器领域中的相关技术。在分析工作基础上,本文提出两种软件路由的扩展技术(1)基于服务器的负载均衡和(2)分布式软件路由结构,分析了两种技术的可行性。AbstractThis paper introduces the basic knowledge and implemental technology of router. And it imports the concept of software router which is useful for small-size network. During the researches of software router, Click is a new architecture for building flexible and configurable routers. This paper clearly shows out its architecture and how to configure a Click router through an example. Furthermore, two new ideas expanding from these works are proved feasible. One is dynamic load-balance bases on server, the other is distribute software router architecture.关键字 软件路由器 Click 体系结构 Scout 性能一引言(1)路由器基本知识路由器位于OSI协议栈的网络层,是网络层中的主要设备,路由器作用是连接多个逻辑上分开的网络,并对各分离的逻辑网络进行无连接数据报的传送、数据报的寻径和差错处理。路由器的工作原理是接收从网络中传来的数据报,根据数据报信息查找路由表中的路由信息以判断该数据报走向,修改数据报的帧内容,并将修改得到的数据报转发到网络中。传统的路由器用软件实现路由、硬件实现交换。由于网络业务的高速增长,软件实现路由成为路由器进行网络传输的瓶颈,利用硬件支持实现高速的路由和转发一体化工作慢慢代替了原有的结构成为核心路由的关键技术。网络流量的不断增大对各种网络设备尤其是路由器的性能也不断地提出更高的要求,路由器在体系结构、传输载体等各种技术方面经历了量到质的变化。路由器体系结构经历了单CPU单总线、主从式多CPU单总线、对称式多CPU单总线、多CPU多总线、纵横式交开关等结构的转变过程。每一次路由器体系结构的改进都针对了前一种结构所存在的缺点,解决了CPU的负载、总线负载和网络I/O负载的问题。路由转发技术方面也经历了从软件实现、ASIC、多层交换到IP over ATM/SDH/DWDM的过程。物理材料技术的改进也直接大大提高了路由器的性能。(2)路由器实现方法分类实现路由器有多种途径。从路由器的基本工作原理和发展历史着手,下面对路由器实现技术给出简单的分类介绍,其中有实现了的技术,还有在理论上可行实现而实际中价值不高的技术。1纯硬件。路由器的功能通过硬件体系结构的设计直接实现,对网络数据报的处理由硬件直接判断。该设计方法灵活性差,不能支持多种协议,代价高,没有实现。2专用硬件+软件系统。这是核心路由器的主要实现方法。硬件设计针对路由器的工作方式和特性,提供软件系统对路由器进行配置以支持多种协议。性能高,代价高,灵活性比较差。3通用硬件+专用操作系统。在通用计算机体系结构上直接搭建路由器操作系统,减少系统调用负荷。代价较高,通用性差,虽然性能能比一般软件路由器高,实际中仍然没有实现。4通用硬件+网络操作系统。针对网络应用在通用计算机体系结构上搭建操作系统并在其上实现路由功能。性能一般,代价较低,适用性好,扩展后可支持更多的网络应用。5通用硬件+应用程序。软件路由器的主要实现方法。技术支持好,性能一般,代价低,设计恰当可以灵活可配置的提供良好的路由服务。(3)软件路由器发展情况与特点路由器的第一步实现就是采用软件体系结构,但是由于网络流量的飞涨,软件路由器无法适应主干网中的数据转发,主干网中的核心路由器慢慢被硬件体系结构所替代。尽管无法扮演核心路由器的角色,软件路由器仍然能够良好的提供小规模的边界路由服务,而且此应用场景市场很大,因此软件路由器的研究和发展从没有停止脚步。软件路由器的最大优势就是价格低廉,比如需要支持100Mbps的网络转发量该转发量相当于一个具有100台主机规模的公司当前的网络需求,采用低端硬件路由器需要几万元投资,而采用软件路由结构只需要一台低端PC连接一个集线器和若干hub,投资不超过1万元,软件则是完全免费的。另外,软件路由器的扩展性好、灵活性强,用户能够方便的根据个人需求修改路由器功能,也可以方便的更新路由器版本而不必更换硬件。软件路由器主机还能担当其它网络服务如Web和ftp服务等,一机多用能大大增加投资收益。(4)本文工作及文章结构针对软件路由器的应用前景,文章介绍了当前软件路由研究领域中的研究成果,详细介绍了Click系统的体系结构和实现技术,阐述出Click系统中网络地址转换技术在普通地址转换技术上的两种技术扩展,分析了多CPU结构Click系统实现中的重点问题。测试分析结果反映了Click系统的性能优势和系统优化与结构扩展对性能的影响。文章还介绍了Scout网络操作系统的设计思路与当前路由器研究领域的三种技术。在学习分析以上技术的基础上,文章提出了两种软件路由扩展技术并分析了它们的可行性,基于服务器的负载均衡能够提供更优质的网络服务,分布式软件路由结构能有效地提高系统转发性能。本文第二节介绍了Click路由器结构和Scout系统,其中主要介绍了Click的系统结构和扩展技术。第三节对上一节提到的技术同一般技术进行了性能比较和比较分析。第四节介绍出了当前路由器领域的三种应用技术。第五节提出软件路由技术的两种扩展思路和其可行性分析。第六节提出下一步的工作想法。二高级软件路由技术本节介绍两种当前研究领域中的软件路由实现技术。这两种实现都针对了一般路由器设计中的扩展性差,结构封闭等缺点,也代表了软件路由器实现的两个方向。本节主要的介绍Click2系统结构和实现方案,并简要地介绍Scout6网络操作系统的设计思路。(1)Click路由系统分析Click路由系统由美国MIT大学Eddie Kohler博士提出并由MIT计算机技术系并行与分布式操作系统实验室开发完成。在Click的原始版本之上,该实验室对性能和扩展性做了不断的研究、改进和发展,目前Click路由器已经发布1.2.4版本,详细的信息可以在/click/找到。Click的设计主要针对一般软件路由器的不灵活性,提出了灵活而且完整的结构抽象。Click根据数据报在路由器中受路由器各功能模块作用而引起的包内容或传输方向变化对路由器功能实施抽象,将各功能抽象成独立的组件,各个组件对数据报做单一且不冲突的处理。Click以数据的流动和修改为线索抽象出模块,属于数据流分析法的结构化设计方式,又因为每个模块功能独立,数据的传输结构完整,各个模块的设计应用了良好的抽象和封装,加之实现语言的选择更体现了面向对象的思想,这使得修改和扩展Click简单方便,很好的达到了Click对灵活性的设计目标。使用Click构造路由器时,用户根据自己的需求结合Click的抽象方法确定路由器工作时的功能模块,接着从Click提供的组件库中选取能够实现所需功能的组件将各组件连接成图,当Click没有相应的组件支持时,用户可以自行开发新的组件并结合到系统中去进行配置。提交配置到Click系统自动完成程序链接从而构造出符合需求的软件路由器。本节下一部分仔细的分析Click系统的系统结构和技术特点。(一)Click系统体系结构Click路由器系统的组成部分包括:1行为组件从Click的设计策略中可以看出,行为组件是该体系结构的基本组成部分和最主要元素。行为组件负责数据报在路由器中的处理,其中包括对数据报报头内容的修改,对数据报的路由和转发,以及对数据报的例外处理或者丢弃。行为组件的属性包括(1)组件类型,指定组件的操作和连接方式(2)组件端口,指定组件与其它组件的连接端口和端口连接方式,端口包括输入端口和输出端口(3)结构信息,指定附加的组件结构信息如端口数目(4)方法接口,指定该组件提供的功能和调用方式。2数据包结构一般的路由器在对数据报的处理过程中将整个数据报进行的移动和修改,由于路由和转发操作并不修改数据报中真实数据的内容,而真实数据内容在整个数据报中所占空间比例通常较大,这种实现策略降低了路由器的工作效率。Click路由器在接收网络数据报后对数据报进行分类,提取数据报的报头并生成系统支持的注释结构,注释内容丢弃数据报中的真实数据而只保留指向保存在内存缓冲区中真实数据的指针,下面的操作之间只传递注释内容而不传递整个数据报,移动和修改单元的变小提高了系统的性能。3连接方式Click支持的组件间连接方式包括下推(push)、上拉(pull)和不定方式(agnostic)三种。下推连接表示执行顺序靠后的组件被动地等待顺序靠前的组件正在处理的数据包,执行结束后再主动地将该数据包推向它之后的组件。上拉连接则表示执行顺序靠前的组件被动的接受顺序靠后的组件的请求,同时主动地向它之前的组件请求数据包,处理结束后该组件将数据包传递给下一个组件。不定方式连接由该组件所连接到的组件决定,当与下推方式组件连接时为下推方式,与上拉方式组件连接时为上拉方式。从连接方式的意义可以分析出,由于下推和上拉连接的主被动方式恰好相反,下推和上拉两种连接方式不能直接对接,并且同一组件的输入输出端口的连接方式应该一致。Click系统对组件的端口设计规定了这样的要求,不按照该要求实现连接,会造成逻辑上的不合理,同时各组件的结构会出现复杂的情况,为系统的扩展性带来麻烦。4包存储和连接方式转换再次分析Click中的两种连接方式会提出疑问:如何进行下推和上拉连接方式间的转换,否则一个系统中将只存在一类操作。Click引入队列结构,队列用来缓冲下推动作,满足数据报的先进先出,同时为数据包提供了缓冲区存放空间,有效的解决了包存储缓冲和组件连接方式由下推到上拉的转换问题。Click还提供了转换功能与队列相反的PullToPush组件,该组件仅仅将组件的输入端口的上拉方式转换为输出端口的下推方式,即向它之前的组件请求数据包,得到后立即向顺序靠后的组件发送数据包而并不做其他任何事情。5CPU调度CPU中的每个任务表示一个行为组件执行数据报时对CPU的占用。系统为CPU调度保持一个任务队列,任务的请求和执行由队列选取策略决定。Click系统的CPU调度采用单线程,这要求在某任务执行结束前其他任务不能开始。6基于流的上下文关系基于流的上下文关系描述各组件之间的前递或后继属性,根据这种关系可以方便的按照图结构周游方式获得数据包在组件之间的传递关系,并在实际数据包到达时迅速的计算出该数据包的走向。Click采用这种方法对系统结构进行查错,防止在配置过程中的组件顺序冲突。7组件实现Click的系统设计采用的实现语言为C+,该语言的选择方便用户添加新的组件类。Click的组件类提供若干行为,其中参与路由操作的行为动作只包括下推、上拉和任务执行,其他行为方法作为类中的内部操作函数用来实现初始化组件、描述修改组件状态等动作。8设备轮循方式Click对设备的处理采用轮循方式而不采用中断方式。考虑路由器在网络通讯中的位置,通过路由器的数据量大,采用中断方式将大量的产生中断去调用系统功能而大大降低了性能。Click基于轮循处理设备的方法,需要绕开设备的原始驱动而产生Click自身处理设备的驱动程序从而有效的实现轮循。(二)Click IP路由器示例图一所示为符合Click系统结构方式的一个简单完整的IP路由器结构,该图一: 一个完整的IP路由器结构示例摘自The Click Module Router2第64页结构包含16个Click组件,其中除队列后连接的ToDevice组件是上拉类型外,其他组件均属下推类型。以Paint(1)为例分析组件:组件类型描述为Paint,用来为数据包着色以标志该包的输入输出接口是否相同,括号中1为Paint的结构串信息,输入输出端口分别标志为小黑三角和小黑矩形。从整体上分析该路由器结构,FromDevice(eth0)与FromDevice(eth1)表示系统中存在不同的两个网络接口eth0和eth1,该类型组件负责从网络接口中接收网络上传递来的数据报信息;ToDevice(eth0)与ToDevice(eth1)表示这两个组件应用与FromDevice相同的两个网络接口,该类型组件负责将进行了路由处理的数据报转发到网络中。这两类组件是路由器结构中不可缺少的部分。其它比较主要的功能组件的作用简述如下:Classifier(.)负责将数据报分类并指定对该数据报的处理方式。Strip(14)负责提取数据报中的前14字节数据前递修改过的数据报。CheckIPHeader(.)负责丢弃IP报头部分中IP长度、源地址或校验码错误的数据报,将正确的数据报不加改动前递。GetIPAddress(16)负责提取IP报头中的目的地址信息并前递数据报。LookupIPRoute(.)负责根据有效目的地址信息查询路由表得到路由表项信息,将有效信息保留在附加信息中。DropBroadcasts负责丢弃目的地址为广播地址的数据报,其它数据报不加改动前递。DecIPTTL负责将IP数据报报头中的TTL字段减一,根据TTL表示的数据报存活信息处理数据报前递方向。ARPQuerier(.)根据IP地址及socket端口信息进行ARP查询得到物理地址。ICMPError(.)对数据报进行例外错误处理。除这些功能组件外,该系统结构还包括一个队列。将这些组件与队列简单地连接起来就得到了完整的路由器结构。Click提供有一套更完整的组件库。(三)Click系统相关技术网络地址转换网络地址转换(Network address translation,简称NAT)是路由器的另一个主要功能。该功能支持多主机公用同一互联网IP地址,也可根据IP包内容将IP地址转换为正确的硬件地址。网络地址转换还可以将内部主机隐蔽起来,使外界无法直接访问内部的网络设备,达到保护内部主机的作用。图二示网络地址转换的基本过程。Click路由器同样提供网络地址转换功能。因为Click路由器在性能规格上只能承担边界路由的服务,网络地址转换功能在Click中就占据了更重要的地位,Click也对网络地址转换组件做了仔细的设计。一般的路由器提供三种NAT实现控制:(1)选择需要进行地址转换的数据报(2)分析地址转换类型(3)分配地址转换时占用的网络地址和端口号。除此之外,Click路由器还提供两种实现控制5:应用层网关接口和相关任务中的转换内部主机2NAT外部主机s=2d=s=d=2s=d=s=d=图二 网络地址转换简单示意内部主机地址为2,公用IP为,外部主机IP为箭头中s表示源地址,d表示目的地址结果替代。针对这些需求,Click将实现所需组件分为三类:转换组件负责选择需要进行地址转换的数据报,判断地址转换类型,查找映射表并根据修改策略修改数据报内容;映射帮助组件负责协助转换组件处理不能在映射表中查询到匹配的数据报;应用层网关组件负责处理在数据报通过时需要进行应用层协议处理的地址转换。描述清楚Click NAT功能的具体要求和实现方式后,Click定义了严格的映射表结构、标志符结构和重写规则,并提供了一组组件实现地址转换功能。如IPAddrRewriter、IPRewriter和TCPRewriter联合实现数据报中地址的匹配查询和替换,包括对端口进行管理分配,ICMPPingRewriter、ICMPRewriter实现类似于ping数据报转换例外的处理,RoundRobinIPMapper实现映射表中的协助查询转换。(四)Click系统扩展技术多CPU设计硬件路由器很早就从单处理器结构发展到多处理器结构,形成了成熟的多处理器控制技术。而软件路由器的多处理器设计一直没有成功的实现,这种现象一方面与软件路由器并不面向高端快速路由转发有关,一方面也因为软件控制多处理器处理相关并发事件难度较高。Click开发小组在多处理器设计研究上做出显著的研究,形成了SMP Click3系统结构。SMP Click系统是在原来的Click系统基础上发展起来的并行CPU软件路由系统,对单处理器Click系统向下兼容,即单处理器Click路由器的配置对于SMP Click同样适用。SMP Click对多处理器的并行设计主要解决了同步和冲突问题。网络中取到的每个数据报使用尽量少的处理器进行路由和转发操作以避免各个处理器cache数据报内容的冲突,每个处理器也尽量的能够同步处理不同的数据报。利用流水线技术,SMP Click将通路上的诸多组件拆分到多个通路中运行,当通路中只有一个组件且这个组件占据比较重要的位置时,系统将该组件复制到多个通路中运行以提高并行效率。SMP Click体系结构建立在单处理器Click体系结构之上,并对CPU调度、设备操作、缓冲区管理和队列进行了调整,增加了同步处理、批处理和预处理等功能。单处理器Click对CPU调度采用的单线程、单任务队列结构在多处理器结构中实现低效。SMP Click为每个CPU都运行独立的线程,每个线程保留各自独立的任务队列以避免同步操作中的冲突。因为多处理器的动态均衡策略会产生较大的cache失效损失,SMP Click采用静态均衡调度策略,即在路由器的配置结构中指定负载均衡策略。同步在并行设计中是重要的问题。SMP Click系统根据组件中易变数据结构的性质对所有组件分类,对于在并行中存在易变私有数据结构的组件,系统为每个组件加入了同步处理单元,保护每个组件最多只能同时被一个处理器执行,也保护易变数据结构不被错误修改。设备管理、缓冲区管理和队列的实现策略没有进行大的修改,但是根据并行的要求,这三种管理在系统中的重要性提高,如队列的广泛应用在系统中实现流水作业的缓冲机制。SMP Click的性能测试结果在第三节给出。(五)Click系统性能优化从语言实现的角度,Click对系统性能做了较大的优化处理。优化方法主要是对各组件实现过程中的相同模式进行模式替换,合并简单的过程以减少函数与过程的调用次数,消除系统中的虚拟函数调用以避免执行过程中对函数调用判断对象类别,对齐数据包数据以减少包处理过程中的冗余过程。由于Click的性能优化没有改变本身的体系结构,更详细的内容可以参阅参考资料5。优化后的性能测试结果在第三节给出。(2)Scout系统简介Scout6系统由Arizona大学和Princeton大学计算机系合作研究开发。Scout是一个面向高性能高扩展性网络应用的操作系统,目前在该操作系统上开发了网络电视、网络电影、Http防火墙、Web服务器等网络应用,值得一提的是,在此之上还开发出了提供QoS支持的IP软件路由应用。Scout的开发基于对网络信息通讯问题的处理,即处理网络I/O事件,主机将从输入端口得到的数据处理后由输出端口输出。Scout系统将功能成分划分层次,相同层次中的成分相互独立,相邻层次中的成分可以通过通道建立连接关系,该思路类似于各种分层模型,不同之处为一般分层模型的一个任务过程建立在两台主机之间,而Scout中的一个任务过程建立在单主机系统中的两个网络设备端口之间。根据分层策略,Scout中一个完整的任务即为连接各层次功能成分的一条通道。通道就是Scout系统的核心组成部分,通道在系统中的地位类似于Click中的组件,不同在于通道是一个任务的完整过程描述,系统对通道进行资源的分配和调度,而Click中的组件是任务执行中的一个独立的模块,系统对组件中处理的数据进行资源的分配和调度。Scout具有可配置性的优点,配置的基本单元是层次中的功能成分,而Scout的性能优化则对一个完整的通道进行,这是因为Scout不完成某些特殊的应用而提供通用的操作系统支持,操作系统级应对层次间的连接做优化。利用Scout系统提供的通道构造方法,针对路由器所涉及的功能成分进行层次划分划分办法类似于Click体系结构,在划分之上就可以简单地开发出Scout系统下的软件路由应用。图三为简单的IP路由结构示意图。系统实现划分为硬件层、设备驱动层和应用程序层三个层次,硬件层和设备驱动层负责从设备接受网络中的数据报,应用处理层负责按照路由方法处理数据报,并向下传递数据报,类似于Click中数据报在输入输出组件之间的动作序列。Eth0Device0Device1RSVPEth1图三 简单的IP路由器结构示意图6直线连接表示分层结构,弧线连接表示通道三软件路由性能比较由于没有实现环境对各种软件路由器进行性能测试,本节的测试结果取材与相关的技术文档。对于试验环境不同的测试结果,根据CPU处理速度和以太网卡速度进行了比较严格的计算,并转换到相同的试验环境下进行性能比较。试验环境及配置说明:此环境下的性能测试数据:表一 三种路由器软件路由器转发速率受输入速率的比较图表1从上面两组数据的比较可以分析得到三个结论:1采用设备轮循方式而不采用中断方式可以大大提高软件路由器的性能。Click中语言优化消除函数过程调用中的额外开销后也极大的提高了性能,使系统的转发速率几乎接近网络设备的最高转发速率。2SMP Click系统中更多的CPU增加并不能有效的提高转发速率,而双CPU在单CPU基础上的提高效果显著。路由器配置中的并行性不高,多CPU系统对CPU调度和冲突控制的额外开销在CPU增加时的迅速增大,是产生这种测试结果的主要原因。3采用中断方式的软件路由器,输入数据流速率增加时,由于更大的加重了系统对中断的处理,使得转发速率更低,而采用轮循方式的路由器在输入速率超过转发速率峰值后仍然能保持最高的转发速率。四路由器相关技术路由器领域一直没有停止研究的步伐。本节介绍一些路由器领域的相关技术。光路由:尽管采用硬件替代软件实现路由器使路由器性能提高了好几个数量级,电子处理器的设计模式仍然不能满足日益增长的网络流量和带宽需求。在数据信号的传输领域,用光纤取代电缆是网络带宽几乎达到无限,每根光纤上能承载的光波长数量还每年增加一倍,当数据传输带宽增长近100万倍时,电子器件的带宽同期增加近近100倍,这样的发展差距产生的网络瓶颈集中在核心路由器上。针对这样的问题,很多厂商开发出光路由器。光路由的设计原理是直接对光纤中的数据进行波分分析,而不需要进行光信号转电信号,对电信号进行路由后再将电信号转光信号的过程,大大提高了路由器转发效率。光路由的主要技术为DWDM,即密集波分多路复用技术。虚拟路由:在一个物理路由器上构造多个逻辑上的虚拟路由器的技术,对每个虚拟路由器单独运行各自的路由协议,并且分配各自专用的I/O端口、系统缓冲、地址空间、路由表和管理软件。虚拟路由技术可以分配路由管理和数据报的转发,对突发密集数据流的处理只影响单个虚拟路由器,提高系统的转发性能。每个虚拟路由器能独立方便地为用户提供客户化服务,也可以根据数据分组的服务等级将数据分组分配到不同的队列中,增强了路由器的服务质量。名字路由12:名字路由技术是一种路由器应用技术,当前的设计目的是为邮件域名路由提供直接服务,即直接根据邮件服务器的域名判断路由转发方向而不必先将服务器域名转变为机器地址。名字路由技术能够方便的扩展以提供对Web连接的服务,名字路由器中保留分析数据报的路由走向的结构数据库,数据库匹配方式和一般路由器路由表相似。名字路由技术适用于IPv6协议,支持anycast,在点到点的网络环境中也能够应用良好。但是名字路由技术需要进行字符串匹配,执行效率较低,不适应于核心路由器实现。五软件路由设计思路扩展在分析研究Click系统和Scout系统过程中,较深入地了解到软件路由器的设计方法和一些重要技术。结合路由器和其他网络及软件技术,提出两种软件路由器的扩展思路,并分析其可行性。(1)基于服务器的负载均衡当前很多网络应用都提供负载均衡和QoS服务,基于系统的扩展性考虑,负载均衡一般都基于决策服务器的主动策略。如路由器提供QoS服务的决策因素为数据流中保存的传输优先级数,提供负载均衡时不能考虑服务器端的配置差异和实际使用负载状况,只能简单地对通过路由器的数据流量判断服务器的当前负载状况。基于服务器的负载均衡策略指路由器实时收集网络服务器信息并针对这些服务器进行良好的负载均衡。举例如,一组服务器A、B、C共同提供网络服务通过路由器R与网络连接,且A、B、C具有不同的网络地址。基于服务器的负载均衡要求R定期获得A、B、C的负载信息,当网络数据包目的地址为A、B、C中的一个且该数据包不是保持的原有连接时,R根据三个服务器上次提交的负载信息选择当前负载最小的服务器作为该数据包的连接服务器,同时进行相应的网络地址转换和数据包修改。该负载均衡策略需要系统增加收集服务器信息的监听线程,路由进程对负载信息的处理也会增加平均一个数据包的CPU执行时间,这将会使路由器的转发速率降低,但是针对软件路由器并不面向高端服务的特性,在转发速率不受很大影响的前提下增加更优质的服务是可行的。软件体系结构还能增加均衡策略的灵活性和扩展性,均衡指标能够根据需求选取。该技术能方便地移植到IPv6中去,IPv6提供anycast地址,A、B、C可公用一个anycast地址,路由器处理数据包时判断目的地址将更简单,而且不必大量的修改数据包内容。(2)分布式软件路由结构SMP Click提出了多CPU的软件路由结构,如果路由器瓶颈在于CPU处理速度,该结构能对性能有大的提高,如果CPU处理不是瓶颈,反而由于多CPU间的协调调度和冲突控制降低了CPU的使用效率,这种结构将裨益参半。同时由于整个系统共用总线和设备,CPU处理速度的增加引起总线和I/O成为瓶颈也该结构的潜在问题。当前高端硬件路由器的体系结构采用分布式技术使得系统转发速度达到200Gbps,将分布式技术应用到软件路由器结构中是提高转发速率的方法。图四为一个简单的分布式结构。交换机与路由器、路由器与路由器之间都是千兆网连接,不必考虑其中的通讯时间。三个路由器主机可利用虚拟隐藏技术公用IP,三者之间交换信息以保持路由器系统外的网络任何时刻只能识别一台路由器,而三台路由器在任何时刻可以向路由器系统外的网络发送数据报。以图四为例,系统中的三个路由器按照负载状况轮循与外界网络连接,当前一个路由器处于工作状态且接收数据包数量达到限制负载该限制负载稍小于路由器转发数据报速率峰值时将控制权转交下一个路由器,并将接下来接收到的数据报也转交下一个路由器,由于路由器之间的通讯与传输时间相对于CPU处理时间可以忽略,该分布式系统能够达到较高的性能。交换机路由器R1路由器R2路由器R3图四 简单的分布式软件路由模型直线表示交换机与路由器的连接,曲线表示路由器之间的连接,交换机同内部网络连接,路由器与外部网络连接六后续工作本文分析了Click路由系统和Scout网络操作系统的设计思路与设计方法,性能测试选用了相关论文与网站中的结果。希望在条件允许的情况下,建立网络平台对这两种实现方式进行性能测试并与一般的软件路由性能进行比较分析。文章提出的两种软件路由扩展技术希望能够在以后的工作中实现,比如在现有的Click系统中加入支持相应服务或结构的组件完成基于服务器负载均衡的技术和分布式结构软件路由技术。致谢感谢秦女士和李先生的支持,使我能在大学期间第一次正式投身到研究工作中去,让我从学习和研究中体会到了苦与乐。感谢我的导师陈向群教授在我完成研究工作和论文的过程中对我的悉心指导,陈老师帮助我在第一次从事正式研究期间掌握了许多研究的方法,了解到研究中的注意事项,这些将使我以后的学习工作少走很多弯路。还要感谢北京大学操作系统实验室的师兄师姐对我第一年工作的支持和生活上的照顾,他们让我感受到了严谨的研究作风和宽松的学习氛围。参考文献1 Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M.Frans Kaashoek. The Click Modular Router. ACM Transactions on Computer Systems, Vol.18, No.3, August 2000. Pages 263-2972 Eddie Kohler. The Click Modular Router. /papers/click:kohler-phd/thesis.pdf. 3 Benjie Chen, and Robert Morris, Flexible Control of Parallelism in a Multiprocessor PC Router. /papers/click:usenix01/usenix01.pdf4 Eddie Kohler, Benjie Chen, M.Frans Kaashoek, Robert Morris, and Massimiliano Poletto. Programming language techniques for modular router configurations. /papers/click:lcstr00/tr.pdf5 Eddie Kohler, Robert Morris, and Massimiliano Poletto. Modular Components for Network Address Translation. /papers/click-rewriter/paper.pd
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030费托蜡在汽车工业中的新型应用场景与技术适配性研究
- 沥青路面施工组织设计方案参考模板
- 零售商超供应链管理实务教程
- 人教版初中数学同步教案全集
- 餐饮企业营销策划方案实例
- 小学一年级拼音学习课件及练习题
- 物业管理业绩考核标准体系
- 2025项目中介协议合同标准版范本
- 司法文书送达流程及注意事项
- 土木工程施工安全风险辨识
- 【MOOC】航天推进理论基础-西北工业大学 中国大学慕课MOOC答案
- 2024-2025年江苏专转本英语历年真题(含答案)
- 工程进度保证协议
- 超市员工岗位职责(33篇)
- 《前列腺穿刺中国专家共识》
- 麦肯锡商业计划书模板
- 项目经理职业生涯规划
- 除锈剂MSDS参考资料
- 高一英语选择性必修一课文及翻译(外研版新教材)中英Word精编文档
- 消防管道支架工程量计算表
- 应用成型的双面彩钢板复合风管代替传统的铁皮风管
评论
0/150
提交评论