中欧体育ISSN1007130X计算机工程与科学COMPUTERENGINEERINGSCIENCE2006年第28Vol28,文章编号:1007130X一种面向区分服务网络的动态拥塞解决方案DynamicCongestionControlSolutionDiffServNetwork蔡韶华CAIShaohua华南师范大学教育信息技术中心,广东广州510631)TechnicalCenterEducationalInformation,SouthChinaNormalUniversity,Guangzhou510631,China)拥塞控制是网络技术中一个非常重要的问题,研究区分服务(DiffServ)网络的拥塞控制具有重要的实际意义。本文提出了一个面向DiffSer网络的拥塞控制方案,其基本思想是在DiffServ网络中设立拥塞控制中心,负责检测网络的运行状态,在发生拥塞时发出控制指令以缓解拥塞。本方案应用模糊控制技术,并结合速率控制在入口边界节点上限制数据流的速率,以达到控制拥塞的目的。Abstract:DynamiccongestioncontrolschemeDiffServnetwpresentedtsbasicideasetupcongestioncontrolcenterDiffServnetwork,unningstatusnetwork,providecontrolinstructionsFuzzycontroltechnologyappliedwhencongestioncontrolcentermingcontroldecisions.ratebasedcontrolpolicynetworkedge.关键词:区分服务;拥塞控制;服务质量;模糊逻辑Keywords:differentiatedservice;congestioncontrol;QoS;fuzzylogic中图分类号:P393.03文献标识码:引言在发展IntServ受阻后,IETF提出了另一种服务质量QoS)保证体系于业务分类的质量保证机制,利用区分服务码点!DSCP)定义了一组逐跳转发行为!提供了不同的转发机制。DiffSer有扩展性好、实现简单、内部简单,界复杂!等优点,被认为是下一代因特网的QoS结构基目前,DiffSer网络边界的流量调节无法很好地与内部PHB。因为网络的动态特性,同类流以一种不可预测的方式在网络中聚集,所以可能出现在某一节点上聚集的同类流太大而造成拥塞的情况。同时,TCA一般是静态配置它不能随网络状态改变而调整,导致边界节点上的流量调节机制无法适应网络的动态变化。因此,拥塞发生后,界节点的流量调节机制不能及时响应,造成了网络资源的浪费,用户QoS要求得不到保证。在拥塞阶段对服务区分的支持不够。目前,DiffSer网络的拥塞控制机制基本都是基于尽力而为!的思想,即使网络发生拥塞,仍应尽量保证高等级的业务得到的服务优于低等级业务。所以,控制拥塞应先限制低等级业务,然后再限制高等级业务中欧体育。CP的基于窗口拥塞控制机制不能很好地适应DiffSer。TCP根据分组丢失在数据流的源端控制拥塞,当网络规模扩大而导致反馈周期变大时,该机制将不能及时控制拥塞。一些多媒体业务采用UDP协议,在网络拥塞时无法调整自己的发送速率,造成网络资源分配的不公平。针对以上DiffSer网络拥塞控制存在的问题,本文提出了一种新的面向DiffServ网络的动态拥塞控制方案。它采用基于速率!的控制机制,并结合模糊控制!技术建立一个控制中心对网络进行拥塞控制。收稿日期:20050315;修订日期:20050928作者简介:蔡韶华(1973广东潮洲人,讲师,研究方向为计算机应用和计算机网络。通讯地址:510631广东省广州市华南师范大学教育信息技术中心;020)88186486,Address:echnicalCenterEducationalInformation,SoutChinaNormalUniversity,Guangzhou,Guangdong510631,China几个概念本文引入了几个新概念,为便于叙述,在阐述系统结构之前先介绍这些概念。拥塞控制中心(CongestionControlCenter,简称CCC)。CCC是负责控制DiffServ网络某区域上网络拥塞的控制决策中心。CCC有两大功能:监视与控制决策。它从节点(包括内部和边界)上收集网络状态信息,监视网络的运行状况,发现某节点拥塞后就分析、判断拥塞原因,出控制决策来控制入口边界节点,以消除网络拥塞。一个DiffServ网络上可存在多个CCC,它们有各自主管的辖区,负责控制其辖区内任何节点的网络拥塞。队列快照(QueueSnap)。本方案利用节点的待队列长度!来判断拥塞是否发生。如果节点发生拥塞(则立即向CCC汇报。为了辅助CCC判断决策,应当让CCC了解拥塞节点的现场!引入队列快照!的概念。队列快照是指某时刻对拥塞节点排队队列中数据分组的描述,其作用是明确拥塞节点上的转发资源究竟被哪些聚类流占用,以及它们各占的比重。队列快照包含分组的目的端地址对!,以标识分组所属的业务流。队列快照!由四元组
的集合表示。一个四元组代表一个业务流,表示流从SAddr发往DAddr,优先等级为DSCP,当前有PNum!个分组在队列中等待转发。约束因子(ConstraintFactor)。约束因子是一个小数(。本系统采用基于速率!的控制机制,边界节点收到一个时,它把某个流的入网速率限制成原来的以缓解网络的压力,改善拥塞。系统应用模糊控成果,把网络的当前状态作为输入参数,通过模糊控FLC)的运算得到输出参数,即约束因子。系统总体框架本方案要求在三种网络元素上共同配合实施。其一是网络内部节点,它负责监视网络状态(队列长度、变化率及时报告拥塞信息,把这个过程称为拥塞汇报(CongestionNotification)!。拥塞汇报由专门的消息携带,含队列快照。其二是拥塞控制中心CCC,它负责与区域内的节点进行交互,对其拥塞报告进行响应,控制决策后做出相应动作;CCC实现了FLC的功能,分析队列快照(网络状计算出约束因子。其三是入口边界节点,它是CCC控制对象,是真正实施节流动作的主体。入口边界节点对入网数据流进行标记、整形和丢弃,保证流遵守TAC规定,当收到CCC的控制指示时, 将及时调整数据流的 TAC, 以适应网络的负荷变化, 从而控制拥塞, 提高网络性 一个数据流通过路径LSR 穿越DS 网络。在数据的传输过程中, DiffSer 网络的内部节点( 内部节点将拥塞状态信息(如队列快照、拥塞程度等) 报给CCC(如图中虚箭头所示) 中欧体育。CCC 收到拥塞点发来的 拥塞汇报消息后进行分析处理, 针对不同的拥塞原因, 做出 不同的拥塞控制指示。CCC 决策后发送拥塞指示消息到 对应的入口边界节点( 如LSR 。入口边界节点根据拥塞指示消息和数据流的轮廓( prof ile) 文件及时调整流的调节 策略, 使边界节点的调节机制能适应网络状态变化。 DS网络的动态拥塞控制方案框架示意图 本方案强调区别对待, 针对不同优先级别的业务流做 出不同的控制决策, 整个设计的思想与 相对区分服务! 更加一致,能够进一步地区分业务。 系统控制原则目前, 拥塞控制主要是通过剥夺某些流对资源的使用 权来达到控制拥塞的效果。因为网络资源稀缺, 拥塞控制 无法面面顾及, 只能牺牲某些流来满足另一些流的性能要 求。控制原则规定了数据流使用网络资源的优先次序策 略中欧体育。本系统拥塞控制时的控制原则为: 控制拥塞时,先限制低等级业务, 后限制高等级业 务。即使发生拥塞, 网络仍保持不同业务间的 QoS 有序 性。此原则通过牺牲低等级业务来满足高等级业务的性能 要求。 同等级业务流之间先限制已消耗较多资源的业务流。此原则保证了公平性。 拥塞程度不同,控制力度也不同。拥塞严重时对业 务流的限制程度应该大于轻度拥塞时的程度。 业务等级不同,控制力度也不同中欧体育。对低等级业务的 限制程度应该大于对高等级业务的程度, 以贯彻 相对区分 服务!的思想。 方案设计本方案需要在三种网络元素上实施, 共同协作以控制 网络拥塞。本节介绍各种网络元素上的具体设计, 即内部 节点的 拥塞汇报! 、CCC 拥塞汇报拥塞汇报指节点发生拥塞时向 CCC 汇报拥塞情况的 过程。该过程在内部节点上实现。转发数据包时, 节点时 刻监视队列, 若超出了某一临界值, 则认为网络发生拥塞, 拥塞汇报过程启动。 拥塞汇报的触发时机一般把节点队列过长看作拥塞发生的先兆, 本系统通 过监测节点队列长度来判断是否启动拥塞汇报( 队列长度 用归一化长度表示) 。具体算法为: 设置阈值Smi Lq
构成。 CNM的发送频率 系统必须及时发送CNM 报文, CCC 才能正确地做出 控制决策。但是, 假如CNM 发送频率过高, 汇报消息可信 度将降低, 容易引起网络动荡。特别要防止出现一个CNM 还没被处理而另一个又到达的情况。 拥塞决策CCC 收到CNM 分析可知流经拥塞点的业务流的信息。CCC 对拥塞的控制就是通过控制这些业务流来达 到的。通过对这些业务流发出指令, 减少通过拥塞点的业 务流量, 以控制拥塞。CCC CNM中的每个业务流发出 一个指示指令, 但不同业务流所发的指示消息是不同的。 我们把这类控制指令称为拥塞指示消息( Congestion Indi cation Message, 简称 CIM 。CIM的发送对象是业务流经 过DS 区域的入口边界节点, 它可利用IP 分组来携带。 CIM 分成两类: 速率抑制和拥塞警告。速率抑制指令 将限制业务流的轮廓内数据分组的入网速率。CIM 消息 携带的一个约束因子把轮廓内数据分组的最大入网速率 限制为原TAC 中规定的 倍。拥塞警告指令则令业务流 丢弃轮廓外分组, 而轮廓内分组照常转发。CCC 的决策内 容包括决定对哪些流适用速率抑制, 哪些适用拥塞警告; 速率抑制业务流的选取CCC 对CNM 中记录的所有业务流进行控制。除了对 一些业务流发出速率抑制指令外, 对其他的进行 拥塞警 。我们把被做出速率抑制指示的业务流称为速率抑制业务流。依照 控制原则!, 速率抑制业务流在优先级较低 的业务流中选取。先选择最低等级业务中占用资源最多的 业务流, 接着选择同等级业务中占用资源较少的业务流, 选择较高等级业务中的占用资源最多的业务流,依次类 推。关于速率抑制业务流的选取数量, 本系统采用成倍递 增的方法。当 CCC 收到来自某拥塞点的 CNM 根据拥塞程度指定一个初始的速率抑制业务流数量, 并启动一个 计时器。如果在计时器结束前又接到该拥塞点发来的 CNM, 则选取速率抑制业务流的数量将是原来的 约束因子的计算约束因子是一个小于 的小数,用来限制业务流的 入网速率, 它对拥塞控制起关键性作用。约束因子是根据 网络的拥塞程度和业务流的具体情况, 经过模糊逻辑控制 FLC)的推理运算得到的。拥塞控制是个非常复杂的问 很难用数学模型来描述网络系统,而模糊逻辑控制则对 动态、不精确以及突发的系统有较强的适应性。因此, 塞控制问题上引入模糊控制是一个比较合理的选择。模糊控制已有相当成熟的应用, 关于模糊控制理论的基础知识, 可参照文献[ 系统输入语言变量的确定。模糊控制系统中,输入 语言变量代表影响系统性能的因素, 因此输入语言变量的 选取非常重要。本系统根据 节的控制原则,把缓冲区 使用率和业务流对缓冲区的占用率作为系统的输入测量参 可以分别由CNM 中的参数计算得到缓冲区使用率 Queue_length/ Queue_length er_lef er_lef 确定这两者作为输入测量参数,主要考虑到可近似 反映节点当前的拥塞程度, 而则反映某一微流对资源的 已使用情况, 兼顾到了业务流之间对资源的公平使用。 对应这两个输入测量参数, 系统定义了两个输入语言 变量: 拥塞程度 CL 和业务流资源使用率RP 。根据上述测 量公式, 可以知道 CL 和RP 的基本论域为[ 语言变量CL所取的语言值有{ Light, edium,High} 分别代表{轻度拥塞, 中度拥塞, 高度拥塞} 。模糊集合的论 个模糊集合的隶属度,是语言变量 CL 的赋值表。输入测 量参数在模糊化时, 该测量值x 满足: 代表x在基本论域[ 的模糊化。如果x小于0. 语言变量CL赋值表语言值 语言变量RP的语言值有{ Little, Nor mal, Much} 很少,一般, 很多} 。其模糊集合的论域 是语言变量RP 的赋值表。测量 代表y在基本论域[ 01,则归入 01!这一级; 如果y 大于0. 语言变量RP赋值表语言值0. 01 10Light 必须根据网络规模的不同而相应改动,规模不同, 流经一个节点的业务流的数量也不同, 缓冲区数量也有所 不同。因此, 业务流资源使用率的赋值表也得相应体现。 系统输出语言变量的确定。本系统的输出语言变量是对业务流入网流量的限制程度, 用输出语言变量F 来表示。其语言值有{Very small, Small, Middle, Lar ge, Ver 语义为{很小, 语言变量FV赋值表 语言值 erysmall Middl Verylarge 需要指出的是,上述模糊变量 CL 、RP 的赋值表反映了对拥塞控制的操作经验和统计应用。这些隶属度的 确定参考和借鉴了有关研究成果 也是通过实验数据的分析得到的, 它是模糊控制的重要步骤。 系统的模糊推理规则。本系统中实现了三种优先等级的业务: BestEffort 、AF(Assur ed warding) EF(Expedited Forw arding) 。EF 是最高等级的业务, 都给出了对应的模糊推理规则, 此规则集是根据 VS表示 Very small; 表示Small; 表示Middle; 表示Lar ge; VL 表示 Ver FLC的模糊控制规则 CL High Medium Light Best Ef ortMuch Norma Lit leAssured Forwarding Much Normal Lit leExpedit ed Forwarding Much Normal Litt VLVL 是模糊控制规则的一种表示方式,对于每个业务类型, 它都给出了九个 Little High以及RP Little的情况下, AF业务 Middle;而对EF 业务F 上述模糊规则体现出对业务的区分,体现了控制原则 业务,当RP 如果CL Small;如果 CL Middle;如果 CL Large。这说明上述规则体现了对不同拥塞程度的不同处理, 符合控制原则( 糊控制规则体现了本系统的控制原则,是方案控制策略的 实施手段和核心部分。 CCC必须计算出流的约束因子。根据CNM 中流的信 可计算出缓冲区使用率,模糊化得到CL 上相应的模糊 集合Q1 中欧体育。然后, 计算业务微流对资源的占用率, 模糊化得 到RP 上的某个模糊集合P 。根据DSCP 选择相对应业务的模糊控制规则。模糊条件语句 所决定的为三元模糊关系R, 构成的nm维列向量, 的论域元素数。应用( 可以把表4中的每个模糊条件语句表示成 模糊关系Ri 。因为这些模糊条件语句间的 关系,可以 得到描述整个系统的控制规则的总模糊关系R 根据推理合成规则,可得到与给定输入模糊集合对应 的输出模糊集合 F1 应用最大隶属度 进行模糊判决后,就可以得到输出的精确量, 约束因子的精确值。应用上述方法, 我们对论域 中全部元素的所有组合计算出约束因子的值, 构成一张 FL 在内存中,以提高 CCC 的处理速度。 边界节点的控制响应本方案中, CCC 对拥塞控制做出判断、决策, 但控制操 作是由边界节点来执行的。通过在网络的边界限制入网的 流量, 从而达到消除拥塞的目的。入口边界节点收到 CIM
中国石油天然气股份有限公司华北油田分公司河北省渤海湾盆地柳泉油田州29井区油气开采矿山地质环境保护与土地复垦方案
中国石油化工股份有限公司江汉油田分公司湖北江汉盆地花园油田李3区块石油开采矿山地质环境保护与土地复垦方案
陕西延长石油(集团)有限责任公司陕西鄂尔多斯盆地延安气田延145井区油气开采矿山地质环境保护与土地复垦方案
中国石油天然气股份有限公司辽河油田分公司甘肃鄂尔多斯盆地正宁油田宁乐56块石油开采矿山地质环境保护与土地复垦方案