一种避免拥塞的路由方法和装置制造方法及图纸

技术编号:9383584 阅读:157 留言:0更新日期:2013-11-28 01:33
一种避免拥塞的路由方法和装置,其中,该方法包括:接收网络中各第一网元发送的LSA报文;构造出全局网络拓扑图;接收网络中各第一网元发送的NCA报文;获取全局拥塞信息;获取每个节点去往网络中其它节点的最优路径;获取所述最优路径允许的最大流入速率;根据所述全局拥塞信息,将网络中所有处于拥塞状态的节点从拓扑图中去除得到非拥塞状态的网络拓扑图;根据非拥塞状态的网络拓扑图,获取非拥塞时的最优路径;根据所述获取的最优路径,所述最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,并发送给对应第一网元,使得所述第一网元根据所述转发策略获取流表表项,并存储。从而避免了拥塞,提高数据传输效率。

【技术实现步骤摘要】
一种避免拥塞的路由方法和装置
本专利技术涉及通信
,特别涉及一种避免拥塞的路由方法和装置。
技术介绍
随着互联网规模的增长,互联网上的用户和应用都在快速的增长,拥塞已经成为一个十分重要的问题。近年来,在拥塞控制领域开展了大量的研究工作,拥塞算法可以分为两个主要部分,即:在端系统上使用的源算法和在网络设备上使用的链路算法。源算法可以理解为,在发生拥塞时,在源端降低发送数据的速率,从而使得大量的连接能够共享链路。通过源端对网络当前状态的感知和探测来响应调整发生分组的窗口大小,毋庸置疑,该算法提供的可扩展性促进了互联网早期的快速发展。随着技术的发展,对网络中的节点所发挥的作用的认知逐渐深入,由此提出了队列管理算法。队列管理算法是通过管理路由队列长度对每个队列设置一个最大值,然后接收包进入队列直到队列长度达到最大值,后续到达的数据包将被丢弃,即弃尾算法(DT,DropTail)。现有技术中还提出了主动队列管理机制(AQM,ActiveQueueManagement),其中,早期随机丢弃(RED,RandomEarlyDetection)是基于队列长度的AQM中最有代表性的方案。RED算法通过检测中间节点的平均队列长度q来检测网络拥塞,并通过以一定的概率丢弃分组来通知TCP发送方发生拥塞。RED算法中的分组丢弃概率是一个关于q的函数,它通过将接收到的数据包限制在一定水平以下,可以避免突发式连续丢弃来自同一个连接的数据包。如下式子(1)所示:qmax<q---(1)]]>其中,qmin,qmax,是队列的最小阈值和最大阈值,通过公式(1)就可以计算出分组丢弃的概率。如图1所示,RED算法的丢弃概率随平均队列长度的变化满足分段线性关系。从上述现有解决拥塞问题的技术方案来看,弃尾算法这种简单的避免拥塞的方法,在网络中会发生同步丢包的现象,各数据流受到DT算法的影响,不断的增大和减小窗口,从而导致网络周期性的在拥塞和空闲两种状态之间摇摆,造成链路利用率的下降。AQM算法可以避免网络中同步丢包现象,但是这种算法在网络未发生拥塞时就提前开始丢包会造成网络资源的浪费。因此,现有技术不能提供一种更合理,更优化的技术方案。
技术实现思路
本专利技术实施例提供一种避免拥塞的路由方法和装置,充分利用节点的队列缓存,同时又可以避免拥塞丢包现象,从源端解决网络拥塞的问题。第一方面,提供了一种避免拥塞的路由方法,包括:第一网元获取邻居节点信息,根据获取的邻居节点信息生成链路状态公告LSA报文,并将LSA报文发送给控制器;所述第一网元获取拥塞状态公告NCA报文,将所述NCA报文发送给所述控制器,其中,所述NCA报文中包括有所述第一网元的拥塞信息。在第一种可能的实现方式中,根据第一方面,所述第一网元的拥塞信息具体由所述第一网元的拥塞速率矩阵Pi表示;其中,Pi为n×1的二维矩阵,n表示区域内第一网元的个数,pj,i表示数据流从第一网元j进入第一网元i的最大允许进入速率,其中,第一网元i为所述方法执行主体的第一网元;其中,pj,i的取值为如下式:其中,λj,i表示从第一网元j进入第一网元i的数据流速率;λi表示所有进入第一网元i的速率之和,取值为ui表示所有离开第一网元i的数据流速率之和,取值为qi表示第一网元的队列长度,当λi≥μi,且qi大于等于第一网元长度的门限阈值Qth时,所述第一网元处于拥塞状态。在第二种可能的实现方式中,结合第一方面或第一种可能的实现方式,所述方法还包括:所述第一网元发送进入和离开所述第一网元的数据流速率的数值,所述进入和离开所述第一网元的数据流速率的数值,用于控制器中获取构造当数据流为UDP数据流时丢包概率ρi的策略。第二方面,提供了一种避免拥塞的路由方法,包括:接收网络中各第一网元发送的LSA报文;根据所述LSA报文,构造出全局网络拓扑图;接收网络中各第一网元发送的NCA报文;根据所述NCA报文,获取全局拥塞信息;根据所述全局网络拓扑图,获取每个节点去往网络中其它节点的最优路径;根据所述全局拥塞信息,和所述获取的最优路径,获取所述获取的最优路径允许的最大流入速率;根据所述全局拥塞信息,将网络中所有处于拥塞状态的节点从拓扑图中去除得到非拥塞状态的网络拓扑图;根据非拥塞状态的网络拓扑图,获取非拥塞时的最优路径;根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,根据所述转发策略获取流表表项,并发送给对应第一网元;其中,根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,具体包括:当所述获取的最优路径中如果有第一网元处于拥塞状态时,要求所述获取的最优路径的源节点第一网元将接收的数据流分为两支数据流,其中,一支数据流以速率为所述获取的最优路径允许的最大流入速率,按照所述获取的最优路径转发;另一支数据流以接收的数据流的速率v,与所述获取的最优路径所允许的最大流入速率的差的速率,按照所述非拥塞时的最优路径转发。在第一种可能的实现方式中,根据第二方面,根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,还具体包括:当所述获取的最优路径的源节点第一网元中接收的数据流的速率v小于所述获取的最优路径所允许的最大流入速率,将所述数据流以速率为所述获取的最优路径所允许的最大流入速率,按照所述获取的最优路径转发。在第二种可能的实现方式中,根据第一方面,或者第一方面的第一种可能的实现方式,每个NCA报文中包括一个第一网元的拥塞信息,所述第一网元的拥塞信息具体由所述第一网元的拥塞速率矩阵Pi表示;其中,Pi为n×1的二维矩阵,n表示区域内第一网元的个数,pj,i表示数据流从第一网元j进入第一网元i的最大允许进入速率,其中,第一网元i为所述方法执行主体的第一网元;其中,pj,i的取值为如下式:其中,λj,i表示从第一网元j进入第一网元i的数据流速率;λi表示所有进入第一网元i的速率之和,取值本文档来自技高网...
一种避免拥塞的路由方法和装置

【技术保护点】
一种避免拥塞的路由方法,其特征在于,包括:第一网元获取邻居节点信息,根据获取的邻居节点信息生成链路状态公告LSA报文,并将LSA报文发送给控制器;所述第一网元获取拥塞状态公告NCA报文,将所述NCA报文发送给所述控制器,其中,所述NCA报文中包括有所述第一网元的拥塞信息。

【技术特征摘要】
1.一种避免拥塞的路由方法,其特征在于,包括:第一网元获取邻居节点信息,根据获取的邻居节点信息生成链路状态公告LSA报文,并将LSA报文发送给控制器;所述第一网元获取拥塞状态公告NCA报文,将所述NCA报文发送给所述控制器,其中,所述NCA报文中包括有所述第一网元的拥塞信息;其中,所述第一网元的拥塞信息具体由所述第一网元的拥塞速率矩阵Pi表示;其中,Pi为n×1的二维矩阵,n表示区域内第一网元的个数,pj,i表示数据流从第一网元j进入第一网元i的最大允许进入速率,其中,第一网元i为所述方法执行主体的第一网元;其中,pj,i的取值为如下式:其中,λj,i表示从第一网元j进入第一网元i的数据流速率;λi表示所有进入第一网元i的速率之和,取值为ui表示所有离开第一网元i的数据流速率之和,取值为qi表示第一网元的队列长度,当λi≥μi,且qi大于等于第一网元长度的门限阈值Qth时,所述第一网元处于拥塞状态。2.根据权利要求1所述方法,其特征在于,所述方法还包括:所述第一网元发送进入和离开所述第一网元的数据流速率的数值,所述进入和离开所述第一网元的数据流速率的数值,用于控制器中获取构造当数据流为UDP数据流时丢包概率ρi的策略。3.一种避免拥塞的路由方法,其特征在于,包括:接收网络中各第一网元发送的LSA报文;根据所述LSA报文,构造出全局网络拓扑图;接收网络中各第一网元发送的NCA报文;根据所述NCA报文,获取全局拥塞信息;根据所述全局网络拓扑图,获取每个节点去往网络中其它节点的最优路径;根据所述全局拥塞信息,和所述获取的最优路径,获取所述获取的最优路径允许的最大流入速率;根据所述全局拥塞信息,将网络中所有处于拥塞状态的节点从拓扑图中去除得到非拥塞状态的网络拓扑图;根据非拥塞状态的网络拓扑图,获取非拥塞时的最优路径;根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,根据所述转发策略获取流表表项,并发送给对应第一网元;其中,根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,具体包括:当所述获取的最优路径中如果有第一网元处于拥塞状态时,要求所述获取的最优路径的源节点第一网元将接收的数据流分为两支数据流,其中,一支数据流以速率为所述获取的最优路径允许的最大流入速率,按照所述获取的最优路径转发;另一支数据流以所述接收的数据流的速率v,与所述获取的最优路径所允许的最大流入速率的差的速率,按照所述非拥塞时的最优路径转发。4.根据权利要求3所述方法,其特征在于,根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,还具体包括:当所述获取的最优路径的源节点第一网元中接收的数据流的速率v小于所述获取的最优路径所允许的最大流入速率,将所述数据流以速率为所述获取的最优路径所允许的最大流入速率,按照所述获取的最优路径转发。5.根据权利要求3或者4所述方法,其特征在于,每个NCA报文中包括一个第一网元的拥塞信息,所述第一网元的拥塞信息具体由所述第一网元的拥塞速率矩阵Pi表示;其中,Pi为n×1的二维矩阵,n表示区域内第一网元的个数,pj,i表示数据流从第一网元j进入第一网元i的最大允许进入速率,其中,第一网元i为所述方法执行主体的第一网元;其中,pj,i的取值为如下式:其中,λj,i表示从第一网元j进入第一网元i的数据流速率;λi表示所有进入第一网元i的速率之和,取值为ui表示所有离开第一网元i的数据流速率之和,取值为qi表示第一网元的队列长度,当λi≥μi,且qi大于等于第一网元长度的门限阈值Qth时,所述第一网元处于拥塞状态;根据所述NCA报文,获取全局拥塞信息,具体包括:根据所述NCA报文中包括的第一网元的拥塞信息,构造出全局拥塞速率矩阵P,即:P=[P1…Pi…Pn]其中,n表示区域内第一网元的个数,Pi为所述第一网元的拥塞速率矩阵。6.根据权利要求5所述方法,其特征在于,所述根据所述全局拥塞信息,和所述获取的最优路径,获取所述获取的最优路径所允许的最大流入速率,具体包括:从全局拥塞信息中和所述获取的最优路径中,获取所述获取的最优路径中前一跳ki-1到下一跳ki的最大允许进入速率获取所述获取的最优路径中最小的最大允许进入速率,作为所述获取的最优路径所允许的最大流入速率p,即其中,S为所述获取的最优路径的源节点,D为所述获取的最优路径的目的节点。7.根据权利要求6所述方法,其特征在于,所述根据获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,具体为:根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取当第一网元中接收的数据流为TCP数据流时的转发策略。8.根据权利要求3所述方法,其特征在于,所述方法还包括:接收各第一网元发送的进入和离开各第一网元的数据流速率;所述根据所述全局网络拓扑图,获取每个节点去往网络中其它节点的最优路径之后,所述方法还包括:当第一网元中接收的数据流为UDP数据流时,根据所述进入和离开各第一网元的数据流速率,构造丢包概率ρi的策略;根据所述丢包概率ρi的策略,和所述获取的最优路径,获取当第一网元中接收的数据流为UDP数据流时的转发策略;将所述当第一网元中接收的数据流为UDP数据流时的转发策略,制作为流表表项,发送给所述对应的第一网元。9.根据权利要求8所述的方法,其特征在于,所述当第一网元中接收的数据流为UDP数据流时,根据所述进入和离开各第一网元的数据流速率,构造丢包概率ρi的策略,具体包括:以如下公式作为当第一网元中接收的数据流为UDP数据流时的丢包概率ρi的策略:其中,λi、ui分别为所述第一网元上报的进入和离开第一网元i的数据流速率,qi为第一网元i的队列长度,Qth为第一网元i的门限阈值长度,Qmax为第一网元i的最大允许队列长度;所述根据所述丢包概率ρi的策略,和所述获取的最优路径,获取当对应第一网元中接收的数据流为UDP数据流时的转发策略,具体包括:当第一网元的队列长度小于门限阈值长度时,所有UDP数据包都以所述获取的最优路径转发;当第一网元的队列长度大于等于门限阈值长度并小于最大允许队列长度,且第一网元的进入速率大于离开速率时,以的概率丢包,剩余的UDP数据包以所述获取的最优路径转发;当第一网元的队列长度大于其最大允许队列长度时,所有进入所述第一网元的UDP数据包都将被丢弃。10.一种避免拥塞的路由方法,其特征在于,包括:接收数据流;根据存储的流表表项,将所述接收的数据流分为两支数据流转发,其中,一支数据流以速率为所述流表表项中记录的最优路径允许的最大流入速率,按照所述流表表项中记录的最优路径转发;另一支数据流以所述接收的数据流的速率v,与所述流表表项中记录的最优路径所允许的最大流入速率的差的速率,按照所述流表表项中记录的非拥塞时的最优路径转发。11.根据权利要求10所述方法,其特征在于,所述另一支数据流以所述接收的数据流的速率v,与所述流表表项中记录的最优路径所允许的最大流入速率的差的速率,按照所述流表表项中记录的非拥塞时的最优路径转发,之前,所述方法还包括:对于以所述接收的数据流的速率v,与所述流表表项中记录的最优路径所允许的最大流入速率的差的速率,转发的另一支数据流,在所述另一支数据流的数据包头部设置标示,用于区分该数据流是拥塞分流的数据流。12.根据权利要求10所述方法,其特征在于,所述方法还包括:若所述流表表项中记录的所述最优路径处于非拥塞状态,按照所述流表表项中记录的最优路径转发所述数据流。13.根据权利要求10至12任一项所述方法,其特征在于,所述根据存储的流表表项,将所述接收的数据流分为两支数据流转发之前,所述方法还包括:判断所述接收的数据流是否为TCP数据流,如果是TCP数据流,执行所述根据存储的流表表项,将所述接收的数据流分为两支数据流转发。14.根据权利要求13所述方法,其特征在于,所述方法还包括:当判断所述接收的数据流不是TCP数据流时,根据所述流表表项中记录执行转发,具体包括:当第一网元中数据包的队列长度大于等于门限阈值长度,并小于最大允许队列长度,且所述第一网元的进入速率大于离开速率时,以ρi的概率丢包,剩余的UDP数据包以流表表项中记录的最优路径转发;其中,ρi为所述流表表项中记录第一网元i的丢包概率;当第一网元的队列长度大于其最大允许队列长度时,所有进入所述第一网元的UDP数据包都将被丢弃。15.一种网元,其特征在于,所述网元包括:第一获取单元,第一发送单元,第二获取单元,和第二发送单元;所述第一获取单元,用于获取邻居节点信息,根据获取的邻居节点信息生成链路状态公告LSA报文;所述第一发送单元,用于将LSA报文发送给控制器;所述第二获取单元,用于获取拥塞状态公告NCA报文,其中,所述NCA报文中包括有所述网元的拥塞信息;所述第二发送单元,用于将所述NCA报文发送给所述控制器;其中,所述网元的拥塞信息具体由所述网元的拥塞速率矩阵Pi表示;其中,Pi为n×1的二维矩阵,n表示区域内网元的个数,pj,i表示数据流从网元j进入网元i的最大允许进入速率,其中,网元i为避免拥塞的路由方法执行主体的网元;其中,pj,i的取值为如下式:其中,λj,i表示从网元j进入网元i的数据流速率;λi表示所有进入网元i的速率之和,取值为ui表示所有离开网元i的数据流速率之和,取值为qi表示网元的队列长度,当λi≥μi,且qi大于等于网元长度的门限阈值Qth时,所述网元处于拥塞状态。16.根据权利要求15所述网元,其特征在于,所述第二发送单元,还用于发送进入和离开所述网元的数据流速率的数值,所述进入和离开所述网元的数据流速率的数值,用于控制器中获取构造当数据流为UDP数据流时丢包概率ρi的策略。17.一种控制器,其特征在于,所述控制器包括:第一接收单元,第一构造单元,第二接收单元,第三获取单元,第四获取单元,第五获取单元,第六获取单元,第七获取单元,第三发送单元;所述第一接收单元,用于接收网络中各第一网元发送的LSA报文;所述第一构造单元,用于根据所述LSA报文,构造出全局网络拓扑图;所述第二接收单元,用于接收网络中各第一网元发送的NCA报文;所述第三获取单元,用于根据所述NCA报文,获取全局拥塞信息;所述第四获取单元,用于根据所述全局网络拓扑图,获取每个节点去往网络中其它节点的最优路径;所述第五获取单元,用于根据所述全局拥塞信息,和所述获取的最优路径,获取所述获取的最优路径允许的最大流入速率;所述第六获取单元,用于根据所述全局拥塞信息,将网络中所有处于拥塞状态的节点从拓扑图中去除得到非拥塞状态的网络拓扑图;根据非拥塞状态的网络拓扑图,获取非拥塞时的最优路径;所述第七获取单元,用于根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,根据所述转发策略获取流表表项;其中,根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,具体包括:当获取的最优路径中如果有第一网元处于拥塞状态时,要求所述获取的最优路径的源节点第一网元将接收的数据流分为两支数据流,其中,一支数据流以速率为所述获取的最优路径允许的最大流入速率,按照所述获取的最优路径转发;另一支数据流以接收的数据流的速率v,与所述获取的最优路径所允许的最大流入速率的差的速率,按照所述非拥塞时的最优路径转发;所述第三发送单元,用于将获取的所述流表表项发送给所述第一网元。18.根据权利要求17所述控制器,其特征在于,所述第七获取单元中用于根据所述获取的最优路径,所述获取的最优路径所允许的最大流入速率,和所述非拥塞时的最优路径,获取转发策略,还具体包括:当所述获取的最优路径的源节点第一网元接收的数据流的速率v小于所述获取的最优路径所允许的最大流入速率,将所述数据流以速率为所述获取的最优路径所允许的最大流入速率,按照所述获取的最优路径转发。19.根据权利要求17所述控制器,其特征在于,第二接收单元中接收的每个NCA报文中包括一个第一网元的拥塞信息,所述第一网元的拥塞信息具体由所述第一网元的拥塞速率矩阵Pi表示;其中,Pi为n×1的二维矩阵,n表示区域内第一网元的个数,pj,i表示数据流从第一网元j进入第一网元i的最大允许进入速率,其中,第一网元i为避免拥塞的路由方法执行主体的第一网元;其中,pj,i的取值为如下式:其中,λj,i表示从第一网元j进入第一网元i的数据流速率;λi表示所有进入第一网元i的速率之和,取值为ui表示所有离开第一网元i的数据流速率之和,取值为qi表示第一网元的队列长度,当λi≥μi,且qi大于等于第一网元长度的门限阈值Qth时,所述第一网元处于拥塞状态;第三获取单元中用于根据所述NCA报文,获取全局拥塞信息,具体包括:根据所述NCA报文中包括的第一网元的拥塞信息,构造出全局拥塞速率矩阵P,即:P=[P1…Pi…Pn]其中,n表示区域内第一网元的个数,Pi为所述第一网元的拥塞速率矩阵。20.根据权利要求19所述控制器,其特征在于,所述第五获取单元中,用于根据所述全局拥塞信息,和所述获取的最优路...

【专利技术属性】
技术研发人员:洪佩琳朱超周伟
申请(专利权)人:上海华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1