




已阅读5页,还剩66页未读, 继续免费阅读
(计算机应用技术专业论文)基于域名的带宽控制系统的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
声 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特另j j n 以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:同期:2 里f q :三:筮 关于论文使用授权的说明 本人完全了解北京邮电大学有关保留和使用学位论文的规定,即:研究生在 校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校 可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段 保存、汇编学位论文。 本学位论文不属于保密范围,适用本授权书。 本人签名:童垂幽仨 日期:2 盟望:三:丝,一 导师签名:绝i 哩应日期:f 呈:圣j k 北京邮电大学硕士研究生论文摘要 基于域名的带宽控制系统的研究与设计 摘要 随着互联网的快速发展,各种新业务不断出现,尤其是一些基于 多媒体的实时业务已经发展成为互联网上的主要应用。与传统的互联 网业务相比,这些新业务具有低时延、高带宽等服务质量要求。然而, 传统的i p 网络,由于其固有的无连接特征和“尽力而为 的服务原则, 无法针对不同用户和不同业务的具体需求提供相应的服务质量保障。 同时,传统i p 网络缺乏对网络资源的合理规划和对网络流量的有效 监控,造成网络资源使用状况混乱,出现数据报文丢失严重和网络拥 塞频繁发生等现象。因此,我们需要在网络中引入网络带宽管理机制 实现对网络q o s 的支持,对网络资源进行合理规划,优化网络带宽 分配,对网络流量进行有效监控,这不仅有助于解决网络拥塞严重问 题,提高网络资源的利用率和运行质量,而且可以降低随着业务的增 长带来的网络扩容的压力,降低网络运行成本。 本论文关注在i p v 4 向i p v 6 过渡时期的校园网、企业网等局域网 络的网络流量控制解决方案。本论文针对i p v 6 地址难以记忆、配置 方式灵活和常变化的特征,引入域名代替冗长i p v 6 地址作为网络用 户标示,设计一套域名管理系统,实现了用户域名与i p 地址的实时 绑定。在此基础上,本论文使用i p 网带宽管理技术,在l i n u x 的流 量控制模块基础上,设计基于域名的带宽控制系统,实现了根据不同 用户的不同服务质量需求,动态分配和管理用户网络带宽。该系统可 以应用在园区网络边界网关,实现对流出园区网流量的控制,对园区 网络的有限带宽资源的合理分配和管理,提高企业网络资源的利用率 和整个网络的运行质量。同时,本系统通过增加流量控制系统调用接 口,使得网络管理员能够通过动态编程实现对用户带宽的实时控制, 增强带宽控制的灵活性。 关键字域名带宽控制队列规则分类过滤器 、 电大学硕士研究生论文 r e s e a r c ha n dd e s i g no f d o m a i n n a m eb a s e dn e t w o r k b a n d w i d t hc o n t r o ls y s t e m a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e r n e t ,v a r i o u sn e ws e r v i c e sh a v e s p r i n g i n gu p t h o s er e a l t i m es e r v i c e sb a s e do nm u l t i m e d i ap r o t o c o l b e c o m et h em a i n s t r e a ma p p l i c a t i o n s c o m p a r e dw i t ht r a d i t i o n a l 北京邮电大学硕上研究生论文 n e t w o r ku s e r s b a s e do nt h ed o m a i nn a m em a n a g e m e n tm o d u l e ,t h et h e s i s u s e si pn e t w o r kb a n d w i d t h m a n a g e m e n tt e c h n o l o g y t o d e s i g n a d o m a i n n a m e db a n d w i d t hc o n t r o ls y s t e mo nab a s i so fl i n u xm o d u l eo f t r a f f i c c o n t r o l ,w h i c ha c h i e v e s t o d y n a m i c a l l ya l l o c a t e a n dm a n a g e d i f f e r e n tv o l u m e so fn e t w o r kb a n d w i d t ht od i f f e r e n tn e t w o r ku s e r sw i t h v a r i o u sq u a l i t yo fs e r v i c e t h i ss y s t e mc a nb ea p p l i e dt oi n g r e s so re g r e s s n e t w o r kg a t e w a yt om o n i t o ro u t c a m p u st r a f f i c ,w h i c h o p t i m i s e st h e u s a g ea n dm a n a g m e n t o fn e t w o r ki n t e r n a lr e s o u r c e s ,i m p r o v i n gu t i l i z a t i o n o fn e t w o r kr e s o u r c e sa n do p e r a t i n g q u a l i t y o ft h ew h o l en e t w o r k m e a n w h i l e ,t h es y s t e ma d d ss o m es y s t e mc a l la p i sw h i c hc a nb eu s e dt o c o n t r o la l l o c a t i o na n dm a n a g e m e n to fu s e r s b a n d w i d t hi nad y n a m i c p r o g r a m m i n gm a n n e r ,i n c r e a s i n gt h ef l e x i b i l i t yo fb a n d w i d t hc o n t r 0 1 k e yw o r d s d o m a i nn a m e ;b a n d w i d t hc o n t r o l ;q u e u e i n gd i s c l i p i n e ;c l a s s i f i n g ;f i l t e r i l l 广 产 北京邮电大学硕:l :研究生论文目录 目录 第一章引言1 1 1 课题研究背景1 1 2 研究现状2 1 3 论文的选题及研究意义3 1 4 课题创新点3 1 5 论文结构和安排4 第二章带宽管理技术6 2 1 带宽管理概念6 2 2 数据包处理流程7 2 3 流量控制功能实体7 2 3 1 队列规则功能实体7 2 - 3 2 类功能实体9 2 3 3 过滤器功能实体1 0 2 3 4 队列规则、类和过滤器功能实体关系1 3 2 4l i n u x 系统流量控制模块1 3 2 4 1 流量控制用户接口1 4 2 4 2 流量控制内核模块1 5 2 4 3 用户空间和内核模块交互机制1 6 第三章需求分析和系统设计2 0 3 1 设计原则2 0 3 1 1 网络拓扑2 0 3 1 2 需求分析2 0 3 1 2 系统架构2 1 3 2 系统功能模块划分2 2 3 3 系统方案设计2 4 3 3 1 系统功能架构设计方案2 4 3 3 2 域名管理模块设计方案2 5 3 3 2 带宽控制模块设计方案2 6 3 4 系统模块交互设计2 8 第四章系统详细设计3 l 4 1 数据库设计3 l 4 2 用户信息管理模块3 2 4 2 1 设计思路3 2 4 2 2 处理流程3 2 4 3 系统日志模块3 3 4 3 1 设计思路3 3 4 3 2 处理流程3 4 4 3 3 接口设计3 5 4 4 身份认证模块3 5 i v 北京邮电大学硕上研究生论文目录 4 4 1 设计思路3 5 4 4 2 处理流程3 6 4 5 域名管理模块3 7 4 5 1 设计思路3 7 4 5 2 处理流程3 8 4 5 3 接口设计4 2 4 6 带宽控制模块4 3 4 6 1 设计思路4 3 4 6 2 处理流程4 6 4 6 3 接口设计4 7 4 7 通信协议设计5 6 第五章总结5 8 5 1 论文总结5 8 5 2 未来展望5 8 参考文献。5 9 j l 定谢6 0 攻读硕士学位期间发表的学术论文6 1 、 v , 北京邮电大学硕:l 二研究生论文第一章引言 1 1 课题研究背景 第一章引言 随着语音、视频等多媒体实时业务的出现,现今的i n t e r a c t 上的网络业务已 经非常丰富。与传统业务相比,这些多媒体实时业务具有低时延、高带宽等服务 质量需求。然而,传统的i p 网无连接的特性和“尽力而为”的服务原则,对于所 用网络应用都“一视同仁”地处理。传统网络由于缺乏对网络资源的合理规划,无 法保证不同网络应用的不同服务质量要求,阻碍了新业务的推广。同时,随着网 络规模的不断扩大和网络结构的同趋复杂,以及基于端对端协议的文件共享应用 的发展,网络流量的不断增加,使得网络带宽越来越拥挤,报文丢失、延迟增加 和网络拥塞等现象十分突出,网络性能同益下降。面对这种情况,我们需要在网 络中引入带宽管理机制实现对q o s 的支持,根据不同用户、不同业务的不同服 务质量需求,对网络资源进行合理规划和网络流量进行有效监控,改善网络带宽 资源的使用状况,提高网络运行质量和效益。 像校园网这类的园区网,已经成为我们日常工作、学习的主要环境,同样面 临着网络拥塞现象日益严重的问题。在每天网络使用高峰时段,访问外部网络很 慢,甚至无法访问等现象时有发生。造成网络拥塞现象的根本原因往往是由于校 园网边界路由器与外网连接的出口链路带宽有限,远远低于校园内网的带宽需 求,导致校园内网和外网之间存在巨大的网络瓶颈,容易在校园网关处出现丢包、 时延严重等现象。此外,造成网络拥塞现象严重的直接原因主要有以下三个方面: 首先,校园网内部长期以来一直缺乏对网络资源合理规划和网络流量控制的有效 机制。网络某些用户使用基于端对端协议的应用软件抢占大量的网络资源,造成 一些关键用户、关键业务得不到合适带宽的保证,甚至有些用户无法使用网络, 而其它一些不重要的流量占用过多带宽等不合理现象。随着网络用户数目的增 加,造成网络使用状况混乱,降低网络的运行效率,影响整个网络的性能。其次, 在校园网这样一个特定环境下,在特定的时间段内上网的人数多而且相对比较集 中、上网时间比较长,会造成流量突发,很容易造成校园网络的阻塞。第三,这 些年,视频教学、视频点播、远程教育等实时业务的出现,造成了校园网内的流 量急剧增加。因此,我们需要对校园网的网络带宽资源进行合理规划,为不同服 务质量要求的不同用户和不同业务分配相应的网络资源,对网络内运行的流量进 行有效控制,控制和避免校园网络拥塞现象,提高校园网络的运行质量。 北京邮电大学硕士研究生论文第一章引言 1 2 研究现状 近些年来,i pq o s 研究成为网络技术研究的热点,学术界和产业界纷纷提 出多种保证i po o s 的技术和方案,实现了从不同手段、不同业务模型、不同范 围等方面共同提供i pq o s 支持。实现i pq o s 的手段有多种,主要有:第一, 网络带宽扩容,这是最简单的一种保障q o s 手段,通过增加网路带宽的方式来 满足用户对q o s 的需求,但是鉴于成本等方面的考虑,这并不是一种占主导的 o o s 保障手段;第二,带宽控制技术,主要通过队列管理、队列调度和流量整 形等技术手段实现对q o s 的支持。队列管理是通过管理为数据流量提供缓存的 队列和对队列实施优先级策略的方式提供对q o s 的支持。常见的队列管理算法 是r e d ( r a n d o me a r l yd e t e c t i o n ) 算法及其改进算法w r e d 和e c n ( e x p l i c i t c o n g e s t i o nn o t i f i c a t i o n ) 算法i 。其中,r e d 算法简单便于实现,因此被现有的大 多数路由器所采用。队列调度是规定如何转发队列分组的策略规则或算法。常见 的队列调度算法有先到先服务、循环调度、优先级服务、随机服务、优先级队列 ( p o ) 算法、公平队y o f f o ) 算法、加权公平队列( w f q ) 算法、加权循环队列( w r r ) 算法【2 】f 3 】以及赤字加权循环队列( d w r r ) 算法【1 j 【4 】 5 1 1 6 l 等。流量整形是通过缓存或 丢弃等手段使得流量平缓的进入网络来实现对网络流量的控制。常见的流量整形 算法有:有漏桶算法( l e a k yb u c k e t ) 、令牌桶算法( t o k e nb u c k e t ) 、a m i ta g g a r w a l 等提出的t c p p a c i n g 、s h r i k r i s h n a 等提出的t c r 算法i 7 j 以及h u a n y u n w e i ,y i n g d a rl i n 等提出的改进型t c r 算法p o s t a c k v 钉等等。其中,令牌桶算法应用比较 广泛,如l i n u x 内核整形模块就采用令牌桶算法,简单易于实现;p a c k e t e e r 公司 的p a c k e t s h a p e r l 9 】则采用的是t c r 算法,这种算法的性能较好。 从业务模型的角度来说,互联网工程任务组l e t f 提出了两种i pq o s 业务模 型:集成服务模型和差分服务模型。集成服务模型是通过资源预留协议在网络流 经过的所有的路由节点为每个网络流预留相应的网络资源的方式来实现对特定 流的服务质量支持。其优点是能够为每个网络业务流提供特定的服务质量,主要 缺点是可扩展性差,实现难度较大,因为每个网络节点都要保留每个业务流状态。 差分服务模型是通过对进入网络的流量进行分类,对相同类的流量实行相同的服 务质量支持措施。其优点是可扩展性好,缺点是服务质量保证的粒度低,提供有 限的服务质量。 从i po o s 保障的范围角度来说,口网络的q o s 保障又分为域内q o s 保障、 域间q o s 保障以及端到端的o c s 保障。域内q o s 多采用集成服务模型,域间 q o s 主要采用差分服务模型,而端到端的q o s 保障主要通过在域内实现集成服 务,在域间实现差分服务的混合模型来实现的。 2 , 北京邮电大学硕:l :研究生论文第一章引言 1 - 3 论文的选题及研究意义 随着第二代中国教育和科研计算机网( c e r n e t 2 ) 的大力推广,作为c e r n e t 2 组成部分的校园网,其网内基于i p v 6 的应用服务越来越多。但是i p v 6 网络的推 广也带来了一些新的问题。首先,i p v 6 1 2 8 位的地址长度,提供庞大的地址空间, 很好解决了i p v 4 地址紧缺问题,甚至使得地球上每一个微粒都可以被分配到l p 地址,但是与此同时庞大的地址空间也意味着i p v 6 的网络规模比i p v 4 网络要大 的多。这种情况给管理员的网络管理带来很大麻烦,由于管理员很难记忆用户的 i p 地址,传统的通过i p 地址管理网络节点的方式会给网络管理员带来很大工作 负担,降低工作效率。其次,i p v 6 网络带来的最大变化就是增加新的网络地址 配置方式,网络节点无状态地址自动配置方式使得网络用户( 包括用户本人和操 作的主机) 能够以“即插即用”的方式接入网络,网络用户通过邻居发现协议自动 配置i p 地址接入网络。这种情况下,网络管理员对于接入网络用户的l p 地址无 法及时掌握,进而无法进行及时的监督和管理。 因此,本论文关注能否通过一种固定的、容易记忆的标识代替冗长的网络 地址,方便用户对i p v 6 应用的使用,以及管理员对网络节点的管理和维护。同 时,本论文以i p v 4 向i p v 6 过渡时间的园区网、企业网等局域网为研究环境,选 以用户的网络带宽控制为研究点,研究如何利用网络用户标示来实现基于用户的 的动态带宽控制,根据不同网络用户的服务等级,为不同的用户分配相应的网络 带宽资源,提供对用户差异化的网络服务质量保障。; 基于以上分析,本论文旨在设计一套面向i p v 4 向i p v 6 过渡时期的校园网、 企业网等局域网络环境的基于用户的流量控制解决方案。本论文通过使用i p 网 带宽管理技术,在l i n u x 的流量控制模块基础上,设计一套以网络用户为控制对 象的带宽控制系统,实现根据不同用户的不同服务质量需求动态的分配和管理用 户网络带宽。该系统可以应用到校园网出口网关上,实现对流出校园网的网络流 量进行控制,预防和控制拥塞的发生,有效缓解边界网关瓶颈问题,从总体上实 现对校园网络内部的资源优化和管理,提高校园网网络资源的利用率和提高整个 网络的运行质量。 1 4 课题创新点 本方案主要实现了以下两点创新: 首先,本系统借鉴域名解析服务( d o m a i nn a m es e r v i c e ,简称d n s ) 思想,毛ei p v 6 ( 兼容i p v 4 ) 环境下,引入域名作为网络用户标示,设计一套域名管理方案, 3 北京邮电大学硕士研究生论文第一章引言 对网络用户地址实现自动注册更新,实现用户域名和i p 地址实时动态绑定,为 用户和网络管理员提供一种通过用户域名来使用网络服务和管理网络的新方式, 为实现基于用户的带宽管理方案提供支撑。 其次,针对i p v 6 ( 兼容i p v 4 ) 的特殊环境,通过用户域名对网络节点地址变 化的动态跟踪,实现真正的基于用户的带宽管理,并通过动态编程的方式实现对 用户的带宽管理。 现有的大多数带宽管理系统主要采用基于静态口地址的带宽管理方式。这 种方式下,网络管理员为网络用户分配静态i p 地址,使得用户和i p 地址之间保 持固定的对应关系,通过固定i p 地址实现基于用户的带宽控制。综所周知,i p v 6 地址的无状态自动配置网络方式使得用户能够以“即插即用”的方式接入网络,网 络用户无需管理员参与分配,就可以自动生成一个i p v 6 地址用于网络通信。i p v 6 的这个特点,增加了用户可移动性和地址的变化性。当用户发生移动时,用户可 以自动得到i p 地址接入网络,但是此时的用户的i p 地址已经发生变化。同样, 在d h c p v 6 动态分配地址的网络中,每个节点的i p v 6 地址是动态分配的,一段 时间之后有可能失效。因此传统的固定i p 地址实现基于用户的带宽控制方式对 新网络环境已经不适用了。 同时,管理员采用手动配置流量控制t c 命令实现对用户的带宽控制。当用 户的i p 地址发生变化时,网络管理员需要手动更改流量控制命令实现对网络用 户流量控制的更改,保证用户带宽在i p 地址发生变化前后使用一致性。但是手 动更改用户策略的方式使得用户策略的修改和生效需要一段时间,这段时间内往 往会造成网络用户无法连接上网等情况的发生,影响用户的网络体验。并且,当 网络内用户数目较多,且用户的i p 地址时常发生变化的情况下,网络管理员对 用户流量控制策略设置、更改将变得非常的频繁,传统的手动更新流量控制策略 的方式加重了网络管理员的工作负担,降低了网络的管理效率。本方案改变原有 的通过t c 流量控制命令进行带宽控制的方式,设计带宽控制系统调用函数,为 网络管理原理员提供动态编程接口,使得网络管理员能够通过动态编程的方式, 及时、有效、灵活地控制控制网络用户流量,缩短用户策略变更生效时间延迟, 提高用户带宽控制效率 1 5 论文结构和安排 本文共有四章的内容,重点论述了基于域名的带宽控制系统的研究与设计。 后续章节的安排如下: 第二章从带宽管理的概念、功能实体、数据包处理流程以及对l i n u x 流量控 制模块的交互机制等方面,对带宽管理技术做了一个全方位的研究。 4 、 一 广 一章引言 5 以及组 方面重 北京邮电大学硕士研究生论文 第二章带宽管理技术 第二章带宽管理技术 2 1 带宽管理概念 带宽控制也即流量控制,就是在有限的带宽范围内,按照一系列策略和标准 分配可用的网络带宽给不同的用户和应用。在网络出现拥塞的情形下,流量控制 是一种处理和避免网络拥塞的有效手段,能够保障不同用户应有的网络带宽资 源。不同的网络设备会采用不同的流量控制策略控制网络拥塞,常用的流量控制 策略包括拥塞管理策略,拥塞避免策略和流量整形策略。 2 1 1 拥塞管理策略 拥塞管理是指在网络发生拥塞时,通过队列调度算法,控制分配给不同服务 类别的相应的输出端口带宽,达到控制网络流量对网络链路带宽的合理利用。拥 塞管理机制一般采用排队技术,对要发送或转发的数据包进行分类,指定不同的 优先级并送入相应的优先级队列中,利用队列规则规定的策略对不同优先级的队 列进行不同的调度处理,优先级高的数据报文会得到优先处理,控制每个队列的 数据包按照某种发送速率发送出去,实现对用户的带宽控制。 2 1 2 拥塞避免策略 拥塞避免是通过监控网络负载,预见并避免拥塞的发生。通过监视网络资源 ( 如队列或内存缓冲区) 的使用情况,在网络拥塞情况加剧的时候,队列存储器 管理通过丢弃某一分组数据包来控制队列中缓存相应类的分组长度,来调整网络 的流量解除网络过载。和拥塞管理相比,两者解决问题的方式是不同的,拥塞避 免是通过队列存储器管理控制队列的平均深度来避免拥塞的发生,而拥塞控制策 略是通过队列调度为不同服务类分配不同的输出端口带宽比来管理拥塞。 2 1 3 流量监管和流量整形策略 流量监管的主要作用是限制进入某一网络的某一连接的流量突发,避免某一 连接的数据流量短时间内过多时,侵占其他连接分配的带宽资源,造成其他连接 无法使用网络资源传输数据报文的现象出现。当某个连接的报文流量多大,短时 间内造成传输速率过大,超出某一设定的阀值,流量监管就会对该连接的报文采 取一定的措施来避免突发流量进入网络,常见的处理措施有丢弃报文,或重新设 置报文的优先级等。 流量整形的主要作用是通过一定的算法调整控制某一连接的数据报流量输 出网络的速率,使得数据包能够以平稳的速率输出网络,避免流量短时间内的突 发传输造成网络拥塞。常见的流量整形的算法包括漏桶算法和令牌环桶算法。 6 、 一 。、 一 广 北京邮电人学硕十研究生论文第二章带宽管理技术 2 2 数据包处理流程 流量控制模块位于t c p i p 协议栈中的数据链路层与物理层之问,内核在没 有加入流量控制机制之前,网络一旦出现拥塞,协议栈只能是尽自己最大的努力 去调用网卡发送函数。内核增加流量控制模块后的数据收发过程,如图2 - 1 所示: 网络设备从输入接口( i n p u ti n t e r f a c e ) 中接受到达的数据包,在输入接i ;3 中可以 采用的一定的输入策略( i n g r e s sp o l i c y ) 对到达的数据包进行处理,如丢弃一些 因发送速率过快而来不及接受的数据包,然后提交到上层的网络层进行处理,通 过对i p 包的目的地址进行匹配,来判断数据包是发往本机的数据包还是发往其 他网络的数据包。数据包若是发往本机的,则继续提交到上层协议( u p p e rl a y e r ) 进行处理;若是转发( f o r w a r d i n g ) 的数据包,则进入缓存输出队列( o u t p u t q u e u i n g ) 进行排队,与之一起排队的还有本机应用层应用程序产生的网络数据 包,这些数据包保存在缓冲区里等待转发处理,数据包的转发处理依赖于特定的 队列规则的调度机制,然后通过相应的输出接口( o u t p u ti n t e r f a c e ) 发送出去。 二二二 匠3 - 匾3 亡 一匾3 一t 阳n l c c o n t r o l ; 图2 1 内核处理数据包流程图 2 3 流量控制功能实体 一般来说,流量控制模块是由队列规定( q u e u e i n gd i s c i p l i n e ) 、分类( c l a s s e s ) 、 过滤器:( f i l t e r s ) - - - 个基本功能实体组成,它们之间的相互组合和共同作用来实现 网络流量的控制。 2 3 1 队列规则功能实体 队列规则( q u e u e i n gd i s c i p l i n e ) 制定了一种调度数据包发送的控制算法或 规则,控制数据包进入队列规则中并在特定的缓存队列中排队;同时,队列规则 按照特定的队列调度算法调度数据包的出队,并有效调度数据包的出队,从而实 现对网络设备的传输数据流量的控制。 队列规则分为无分类队列规则和可分类队列规则。无分类队列规则是一个内 部不包含可配置子类的队列规定,常见的无分类队列规则有先进先出队列 7 北京邮电大学硕: :研究生论文 第二章带宽管理技术 ( f i f o ) 、随机公平队列( s f q ) 、令牌环桶过滤器( t b f ) ,随机公平队列( s f q ) ; 可分类队列规则是指一个可分类的队列规则按照包含多个不同策略等级的类,队 列规则按照优先级大小区别处理这些不同的类;同时,对于这些不同的类,还可 以进一步配置的队列规则,这些队列规则可以是可分类的,也可以是无分类的, 这样就形成了一个多层次的流量控制树形结构。常见的可分类队列规则有:基于 类的队列规则( c b q ) 、优先级过滤器( p r i o ) 、分层令牌桶队列规则( h t b ) 。 队列规则是由一个3 2 位的标识符( 称为句柄) 进行标记,分为主编号和辅 编号组成,形如 。对于队列规则来说,辅编号则总是为零。 一般情况,队列规则的句柄可以由用户来指定,其范围为0 x 0 0 0 1 0 x 7 f f f 。 每一种队列规则都提供了一套功能函数集合( 定义在q d i s c 结构体中),ops 用于实现具体队列规则的各种功能和操作,适用于l i n u x 内核所包括的所有队 列,主要操作包括: 入队函数( e n q u e u e ) :用于要发送的数据包排列到队列规则的队列中以备调 度; 出队函数( d e q u e u e ) :用于从队列规则的队列中获得一个可以发送的数据包; 。重新入队函数( r e q u e u e ) :用于将被出队函数移除又没能发送的数据包重新 排队: 丢弃函数( d r o p ) :用于从队列中移除一个报文并将其丢弃; 初始化函数( i n i t ) :用于初始化新的、实例化的队列规则: 重置函数( r e s e t ) :用于将队列规则设置为初始状态; 销毁函数( d e s t r o y ) :用于释放队列规则在初始化和运行阶段申请的资源,t 改变函数( c h a n g e ) :用于改变队列规则的配置参数: 输出函数( d u m p ) :用于输出队列规则的配置参数和统计数据; 对于每个网络设备来说,可能有多个网络适配器,每个网络适配器可以采用 不同的队列规则策略对象。系统内核通过o d i s c 结构体来连接网络适配器和队列 规则策略对象,通过q d i s c 结构体链表来保存网络设备中所有的网卡适配器和队 列规则策略对象之间的对应关系。在网卡注册的时候,内核会调用网卡注册函数 r e g i s t e r _ n e t _ d e v i c e 0 ,给网络设备网卡适配器安装一个q d i s c 策略对象和 q d i s c操作,结构体格式如下所示: _ o p s q d i s c s t r u c tq d i s c q d i s ch e a d 毫指向q d i s c 链表 ( * e n q u e u e 犷入队函数幸 ( * d e q u e u e ) * 出对函数幸 8 _ 、 第二章带宽管理技术 和队列规则一样,类有自己的标识符用于表示自己,类的标识符分为外部标 识符和内部标示符。类的外部标识符也是一个3 2 位的标识符称为类的外部标识 符( c l a s sl d ) ,是由用户分配的。类的外部标识符由类的主编号和辅编号组成, 形如: ,其中,类的主编号与该类所属的队列规则的主编号 相一致,同一队列规则中类的主编号是一样的,类辅编号则用于标示自己,用于 区分队列规则其他不同的类。类的内部标识符( i n t r e n a li d ) 是3 2 位长的无符号 整型类数值,是由类的队列规则唯一指定的,用于内核对类的识别和操作。多个 。类外部标识符可能对应一个内部标识符。在多级流量控制树形结构中,每个类只 有一个父类,但是一个类可以多个子类。 具有分类的队列规则提供一套功能函数集合( 定义在q d i s cc l a s s 结构体ops 中) 来实现对分类的各种操作,主要操作包括: 添加类函数( g r a f t ) :将一个排队规则绑定到到一个类。返回值是先前绑定 到那个类的排队规则。 队列规则函数( l e a f ) :返回当前绑定到那个类的队列规则; 添加类函数( g c t ) :将类的c l a s si d 映射到内部标识符,如果类中有计数器 则将计数器增加1 ; 获取类函数( p u t ) :与g e t 函数相反,将计数器减1 ; 改变类函数( c h a n g e ) :用于改变类的参数或者创建新的类 删除类函数( d e l e t e ) :检测该类是否依然被引用,如果是的话删除该类 遍历类函数( w a l k ) :遍历一个排队规则所有类的链表 9 量, 北京邮电大学硕士研究生论文第二章带宽管理技术 类过滤器链表函数( t c f c h a i n ) :返回绑定到该类的过滤器所在链表的指针 绑定过滤器类函数( b i n d _ t c f ) :绑定一个过滤器到该类上 撤销过滤器类函数( u n b i n d _ t c o :解除一个绑定到该类的过滤器 统计类函数( d u m p _ c l a s s ) 输出一个类的配置参数和统计数据 2 3 3 过滤器功能实体 过滤器( f i l t e r ) 是用来匹配数据包的,并把他们筛选到队列规则所管理的 类中。过滤器的最核心功能就是实现分类器( c l a s s i f i e r ) ,队列规则对数据包的 分类就是通过过滤器完成的。在可分类的队列规则中,过滤器是可分类队列规则 或类绑定在一起的,队列规定通过过滤器将数据包映射到队列规则的相应类中, 继而采用不同的控制策略进行处理。过滤器是由一条条的过滤规则( 过滤记录) 所组成,通常情况下,每个过滤规则分为两部分:选择器( 分类规则) 和行为( 分 类策略) 。选择器由一系列的描述数据包属性的特征条件组成,如:数据包包头 的t o s 、源i p 地址、目的l p 地址、协议类型、源端口和目的端口等一个或多个 字段。行为这是过滤器对该类数据包的处理动作,最简单的动作就是把数据包发 到特定的类队列中。在队列规则对数据包进行排队操作的时会调用过滤器,队列 规则遍历搜索附加在其上的所有过滤规则进行比较,一旦找到一个与数据包完全 匹配的过滤规则,则返回匹配成功的结果,并对数据包执行指定的动作,如将放 入相应类的队列中;若队列规则遍历完所有的过滤规则,也没有找到一条与数据 包相匹配的过滤规则,则返回匹配失败的结果,并对数据包做相应的处理( 如: 归入默认类别、重新排队或丢弃等) 。 常见的过滤器的类型有:f w m a r k 过滤器,根据防火墙对数据包做标记进行 判断;u 3 2 过滤器,根据数据包中的各个字段进行判断,如源i p 地址等;r o u t e 过滤器,根据数据包将被哪条路由进行路由来判断;r s v p 过滤器或r s v p 6 过滤器, 根据数据包的r s v p 情况进行判断;t c i n d e x 过滤器,基于差分控制的分类器。 过滤器通过匹配协议、优先级以及所绑定到的队列规则或类进行区分。过滤 器还可以有内部结构,可以分离为一个一个的过滤元素,过滤器一般采用链表的 形式把过滤元素组织起来,也可以采用哈希表等其他的内部形式,如图所示。过 滤器及其内部元素也可用3 2 位长整形的句柄来表示。 过滤器提供一套功能函数集合( 定义在t c f _ p r o t o _ o p s 结构体中) 来实现对分 类的各种操作,主要操作包括: 分类函数( c l a s s i f y ) :将数据包映射成相应的类,返回分类结果 初始化过滤器函数( i n i t ) :初始化一个过滤器 销毁过滤器函数( d e s t r o y ) :删除一个过滤器 1 0 北京邮电大学硕士研究生论文第二章带宽管理技术 添加过滤器函数( g e t ) :将过滤器元素的句柄映射到一个内部过滤器标识符; 获取过滤器函数( p u t ) :解除对过滤器的引用 改变过滤器函数( c h a n g e ) :用于配置新过滤器或是改变一个已经存在过滤器 的配置 删除过滤器函数( d e l e t e ) :用于删除过滤器的一个过滤元素 遍历过滤器函数( w a l k ) :用于遍历一个过滤器的所有过滤元素 统计过滤器函数( d u m p ) :用于输出过滤器或过滤器元素的配置参数和统计 数据; 其中,c l a s s i f y 函数用于对数据包进行分类,即过滤器检查是否存在一个过 滤规则可以被应用到该数据包中。分类的结果有一下四种返回值: t c p o l i c e o k :数据包被过滤器接收,数据包匹配成功; t c p o l i c e c l a s s i f y :报文违背了合法参数( 例如最大速率) ,应该被分 配到一个不同的类中。不过,该报文仍然没有被抛弃,队列规则可以通过重新排 队将数据包分配到不同的类传输。 t c _ p o l i c e _ s h o t :数据包被过滤器接收,但由于它违背了合法参数,过 滤器又将被其丢弃。 t c p o l i c e u n s p e c :过滤器应用的规则与报文不匹配,它应该被送到下 一个过滤器或过滤元素中进行匹配。 但过滤器没有返现匹配规则的时候,函数返回t cp o l i c eu n s p e c ;若有 可以匹配的过滤规则,则过滤器将类的c l a s s i d 和类的内部标识符填充到过滤器 分类结果集中( t c fr e s u l t 结构) 。 通常情况下,队列规则或类将过滤器以链表的形式组织起来,过滤器链表由 t c f _ p r o t o 结构体来设定,如下所示: s t r u c tt c f _ p r o t o | 哺f a s ta c c e s sp a r t 囊| s t n l c tt c f _ p r o t o 宰n e x t ;* 下一个过滤器结构謇 v o i d r o o t ;* 指向过滤器根节点宰 i n t ( * c l a s s i f y ) ( s t r u c ts k b _ b u f f * , s t r u c tt c f _ p r o t o * , s t r u c tt c fr e s u l t 车) ;宰过滤器分类 函数 u 3 2p r o t o c o l ;* 过滤器协议幸 u 3 2p r i o ;* 过滤器优先级宰 u 3 2c l a s s i d ;奉过滤器绑定的类幸 v o i d * d a t a ;* 指向t cuc o m m o n * 北京邮电大学硕士研究生论文第二章带宽管理技术 s t r u c tt c fp r o t oo p s * o p s ;* 过滤器类型操作结构奉 ) ; 上述结构用来表示过滤链表,它被保存在分类和队列规定中。类操作结构体 q d i s cc l a s so p s 中的t c fc h a i n o i 函数就返回保存在类中的过滤器链表的指针,使 用这个指针可以遍历整个过滤器链表。过滤器链表通常按优先级来排列,在同一 个过滤链表内,对于同一个协议的过滤器应有不同的优先级。 如图2 2 所示,我们用一个绑定到队列规则或类的过滤链表为例说明过滤器 形式、过滤器链表组织形式和过滤规则匹配顺序。图中所示的队列规则或类通过 过滤链表将绑定到它的过滤器按照优先值有d , n 大的顺序链接起来。假设队列规 则有1 0 个过滤器,优先值为1 和2 的过滤器还有内部元素,每个过滤器有2 6 个内部元素。队列规则调用过滤器对数据包进行分类时,从过滤器1 的句柄为 1 a 的过滤元素丌始逐个匹配,一直到过滤器1 0 的句柄为i o z 的过滤元素。如果 数据包与这些过滤元素中的某一个过滤元素匹配,则返回匹配成功,否则,队列 规则遍历完所有过滤规则都没有找到与数据包匹配的过滤规则,则返回匹配失 败。 未p 雕 p l 魁 北京邮电大学硕。b 研究生论文第二章带宽管理技术 2 3 4 队列规则、类和过滤器功能实体关系 在流量控制模块中,队列规则、类和过滤器之间是可以结合的。在队列规则 和分类是绑定在一起的,分类是属于可分类队列规则;过滤器可以与队列规则或 分类任意结合,不同的过滤器可以映射到同一个分类上。对于可分类的队列规则, 每个分类还可进行队列规则的设定,这里的队列规则可以无分类过滤规则,也可 以是可分类队列规则,这样就形成了流量控制的树形结构,在流量控制树形结构 中,处于叶子节点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省东莞市2022-2023学年九年级上学期期中化学试题(含答案)
- 2025医院消毒中心技能知识题库
- 电石炉知识培训课件
- 高级职称评定课件模板
- 电焊课件教学课件
- 电焊机维护保养课件
- 电焊技法知识培训课件
- 3-Oxo-deoxycholoyl-CoA-生命科学试剂-MCE
- 软件开发及技术服务协议
- 保洁员考试试题及答案选择题
- 专业音响灯光租用协议(2024年版)
- 2024年短剧整合营销指南报告
- 小学语文基础知识单选题100道及答案解析
- 广西南宁宾阳县昆仑投资集团有限公司招聘笔试题库2024
- 人教版地理七年级上册《第一节 大洲和大洋》说课稿2
- 登高车施工方案
- 《多彩的超轻粘土》校本课程教案(共10课)
- 检验标本采集手册手册
- 《泵系统节能》课件
- 新制定《公平竞争审查条例》主题
- 北师大版四年级数学上册全单元测试题【带答案】
评论
0/150
提交评论