一种全SDN网络的链路性能参数测量方法与流程

文档序号:15864742发布日期:2018-11-07 20:20阅读:358来源:国知局
一种全SDN网络的链路性能参数测量方法与流程

本发明属于网络管理和网络测量技术领域,更为具体地讲,涉及一种全SDN网络的链路性能参数测量方法。



背景技术:

随着网络规模的不断增大,为了更好的管控网络,网络服务提供商需要对网络的时延、丢包率、流量矩阵等性能参数进行测量与分析。

在传统IP网络中,根据观测粒度的不同,网络链路性能参数的测量方法可以分为逐跳测量和端到端测量两种方式。逐跳测量依靠中间节点的协作,直接获取节点、链路的相关性能参数的测量数据。目前,有诸多网络诊断工具采用逐跳测量这一方法。例如,Traceroute通过向待测网络中发送ICMP探测报文并接收返回的ICMP响应报文计算时间差来实现链路时延的测试,由于这些方式都依赖于ICMP协议,并且会发送大量的探测包,因此,可能会给网络带来额外的负载,影响网络的正常运行。端到端测量的方法提供了一种不依靠中间节点协作的网络性能的测量解决方案。

现有端到端网络测量方法主要可以分为统计学方法与代数方法。统计学方法将链路性能指标视为随机变量,并服从某种分布,根据已知端到端的路径性能,利用统计学中参数或者非参数的估计方法来估计链路性能所服从的分布,从而估计链路性能。与统计学方法不同,代数方法将链路性能视为未知常量,根据已知端到端的路径性能,利用线性代数所提供的方法来对满足可加性的链路计算其性能。大多数情况下,链路性能的度量是可加或者可乘的,例如,链路的时延是可加的,链路的丢包率是可乘的,由于乘法关系可以通过对数运算转换为加法关系,因此,满足可乘性的链路性能可以转换为加性关系后再进行处理。

但是,在传统IP网络中,链路性能参数的测量具有诸多困难。一方面,使用代数方法测量链路性能需要构造多条线性无关的测量路径,而传统IP网络由于缺乏灵活的控制平面只能支持最短路路由,无法指定测量路径,虽然MPLS和源路由协议能够用于设置测量路径,但是具有很高的运营维护成本。另一方面,在路由受限的情况下,往往需要接入大量的探测主机以构造线性无关的测量路径,这会使测量成本急剧增加,而且,很多情况下并不是任何路由节点都可以接入探测主机的,这造成了探测主机接入位置受限的问题。

软件定义网络(Software Defined Network,SDN)是一种新型的网络架构,通过将网络转发设备的控制平面与数据平面分离,实现网络流量的灵活控制。与传统IP网络不同,SDN网络的控制器可以获取SDN节点的流表统计数据、网络拓扑等信息,并且可以为SDN节点设计转发逻辑,具有高度的自主权。这样的特性使SDN的测量方法比传统网络的测量方法更加灵活多样,为实时监测、减少网络资源消耗等问题的解决提供新的思路。SDN交换机的流表项可以通过修改转发端口来控制数据包的转发方向,也可以通过添加行动修改数据包的头部信息。这些特点能够克服传统IP网络中链路性能参数测量的诸多困难,为网络的测量创造有利条件。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种全SDN网络的链路性能参数测量方法,充分利用SDN交换机修改数据包头内容及控制转发方向的特点,尽可能少的接入探测主机、占用流表项以及发送探测包。

为实现上述发明目的,本发明全SDN网络的链路性能参数测量方法,其特征在于,包括以下步骤:

(1)、选择根节点,构造生成树

记全SDN网络为连通的无向图G(V,L),其中,V是节点集合,其总节点数为n;L是链路集合,其总链路数为m;

节点集合V中的每个节点均为SDN节点,xl表示链路l的性能参数,yp表示路径p的性能参数;

在节点集合V中选择任意一个节点作为根节点,构建一棵包括所有节点在内的生成树,记生成树为T(VT,LT),其中,记根节点为s,lij为生成树上的任意一条链路,(i,j)表示该链路的两个顶点,再根据生成树把无向图G(V,L)中的边分为树上边和非树上边;

(2)、构造树上边和非树上边的探测路径

(2.1)、构造树上边的探测路径

对于树上边lij,设节点i是节点j在生成树上的父节点,则Pif和Pir分别为根节点s到节点i的前向树上路径和逆向树上路径,Pjf和Pjr分别为根节点s到节点j的前向树上路径和逆向树上路径;

那么树上边lij的探测路径Pi=Pif+Pir,Pj=Pjf+Pjr

(2.2)、构造非树上边的探测路径

对于非树上边luv,利用树上路径构造探测路径Puv,Puv=Puf+luv+Pvr,Puf为根节点s到节点u的前向树上路径,Pvr为根节点s到节点v的逆向树上路径;

(3)、设计流表项

(3.1)、设计流表项的匹配域

为每个SDN交换机设置一条前向流表项,用于转发所有前向树上路径上的前向探测包,匹配的源IP地址为根节点s的IP地址;

为每个SDN交换机设置一条逆向流表项,用于转发所有逆向树上路径上的逆向探测包,匹配的目的IP地址为根节点s的IP地址。

(3.2)、设计流表项动作

每台SDN交换机如果收到前向探测包,则为前向流表项添加动作,使当前节点的所有邻接节点转发该前向探测包;

如果收到逆向探测包,则为逆向流表项添加动作,使当前节点沿树上逆向路径向根节点转发该逆向探测包;

(4)、测量性能参数

(4.1)测量探测路径性能参数

探测主机向根节点发送探测包,每个节点收到探测包后按照步骤(3)设计的流表项的匹配域和动作对探测包做相应处理;所有的前向探测包均以逆向探测包的形式返回探测主机,探测主机收到所有逆向探测包,根据探测包携带的源IP地址还原测量路径,获取所有探测路径的性能参数,即探测路径Pi和Pj的性能参数yi和yj,探测路径Pu、Pv和Puv的性能参数分别为yu、yv和yuv;

(4.2)计算链路性能参数

根据已测量的探测路径的性能参数,分别计算树上边和非树上边的性能参数;

(4.2.1)树上边性能参数的计算

对于树上边lij,根据性能参数yi和yj,计算lij的性能参数xij,xij=(yi-yj)/2;

同理,依次计算所有树上边的性能参数;

(4.2.2)非树上边性能参数的计算

对于非树上边luv,根据性能参数yu、yv和yuv计算luv的性能参数xuv,xuv=yuv-yu/2-yv/2;

同理,依次计算所有非树上边的性能参数。

本发明的发明目的是这样实现的:

本发明一种全SDN网络的链路性能参数测量方法,利用探测主机负责所有探测包的发送与接收,根据探测包包头的源IP信息还原测量路径,同时根据探测包数据部分携带的发送和接收的时间戳等信息计算测量路径的性能参数,从而计算出链路性能参数。具体的讲,在整个测量过程中只需要接入一台探测主机,并且,在每一个SDN交换机中,只需要占用2条流表项用于测量;

附图说明

图1是本发明一种全SDN网络的链路性能参数测量方法流程图;

图2以根节点a接入探测主机H1的拓扑生成树。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

实施例

图1是本发明一种全SDN网络的链路性能参数测量方法流程图。

在本实施例中,如图1所示,本发明一种全SDN网络的链路性能参数测量方法,包括以下步骤:

S1、选择根节点,构造生成树

记全SDN网络为连通的无向图G(V,L),其中,V是节点集合,其总节点数为n;L是链路集合,其总链路数为m;

节点集合V中的每个节点均为SDN节点,xl分别表示链路l的性能参数,yp表示路径p的性能参数;

在节点集合V中选择任意一个节点作为根节点,构建一棵包括所有节点在内的生成树,记生成树为T(VT,LT),其中,记根节点为s,lij为生成树上的任意一条链路,(i,j)表示该链路的起节点和尾节点,再根据生成树把无向图G(V,L)中的边分为树上边和非树上边;

S2、构造树上边和非树上边的探测路径

S2.1、构造树上边的探测路径

对于树上边lij,设节点i是节点j在生成树上的父节点,则Pif和Pir分别为根节点s到节点i的前向树上路径和逆向树上路径,Pjf和Pjr分别为根节点s到节点j的前向树上路径和逆向树上路径;

那么树上边lij的探测路径Pi=Pif+Pir,Pj=Pjf+Pjr

在本实施例中,如图2所示,对于树上边lab,Paf=H1->a,Par=a->H1,那么Pa=H1->a->H1,同理:

Pb=H1->a->b->a->H1;

Pc=H1->a->c->a->H1

Pd=H1->a->b->d->b->a->H1

Pe=H1->a->b->e->b->a->H1

Pf=H1->a->b->d->f->d->b->a->H1

S2.2、构造非树上边的探测路径

对于非树上边luv,利用树上路径构造探测路径Puv,Puv=Puf+luv+Pvr,Puf为根节点s到节点u的前向树上路径,Pvr为根节点s到节点v的逆向树上路径;

在本实施例中,如图2所示,对于非树上边lbc,探测路径

Pbc=Pbf+(b,c)+Pcr=H1->a->b->c->a->H1;

同理,所有非树上边探测路径如下所示:

Pce=H1->a->c->e->b->a->H1

Pde=H1->a->b->d->e->b->a->H1

Pef=H1->a->b->e->f->d->b->a->H1

S3、设计流表项

S3.1、设计流表项的匹配域

为每个SDN交换机设置一条前向流表项,用于转发所有前向树上路径上的前向探测包,匹配的源IP地址为根节点s的IP地址;

为每个SDN交换机设置一条逆向流表项,用于转发所有逆向树上路径上的逆向探测包,匹配的目的IP地址为根节点s的IP地址。

S3.2、设计流表项动作

每台SDN交换机如果收到前向探测包,则为前向流表项添加动作,使当前节点的所有邻接节点转发该前向探测包;

如果收到逆向探测包,则为逆向流表项添加动作,使当前节点沿树上逆向路径向根节点转发该逆向探测包;

具体操作步骤为:

S3.1、如果SDN交换机收到前向探测包,则遍历当前节点i的所有邻接节点j,为流表项添加相应发送探测包的动作,具体操作如下:

S3.1.1、如果邻接节点j是当前节点i在最短路径树上的子节点,则直接将收到的探测包向当前节点i连结邻接节点j的端口转发;否则跳转至步骤S3.1.2;

S3.1.2、修改探测包的目的IP地址为探测主机的IP地址,修改探测包的源IP地址为链路lij的虚拟IP地址,将修改后的探测包向当前节点i连结邻接节点j的端口转发;

重复步骤S3.1.1和步骤S3.1.2,直到完成所有邻接点的遍历;

S3.2)、如果SDN交换机收到逆向探测包,将探测包向当前节点i与其生成树上的父节点连结的端口转发。

在本实施例中,如表1所示,当节点d收到逆向探测包时,只需要向节点d与节点b连结的端口2转发探测包。当节点d收到正向探测包时,需要遍历所有邻接节点并转发探测包。节点d具有3个邻接节点,分别为b、e和f。其中,节点f为节点d在最短路径树上的子节点;节点b为节点d在最短路径树上的父节点;节点e既不是子节点也不是父节点,连结节点d和节点e的边为非树上边。具体行动如表1所示。

表1节点d流表项;

S4、测量性能参数

S4.1、测量探测路径性能参数

探测主机向根节点发送探测包,每个节点收到探测包后按照步骤(3)设计的流表项的匹配域和动作对探测包做相应处理;所有的前向探测包均以逆向探测包的形式返回探测主机,探测主机收到所有逆向探测包,根据探测包携带的源IP地址还原测量路径,获取所有探测路径的性能参数,即探测路径Pi和Pj的性能参数yi和yj,探测路径Pu、Pv和Puv的性能参数分别为yu、yv和yuv;

在本实施例中,如图2所示,由探测路径Pa和Pb的性能参数为ya和yb;探测路径Pb、Pc和Pbc的性能参数分别为yb、yc和ybc;

S4.2、计算链路性能参数

根据已测量的探测路径的性能参数,分别计算树上边和非树上边的性能参数;

S4.2.1、树上边性能参数的计算

对于树上边lij,根据性能参数yi和yj,计算lij的性能参数xij,xij=(yi-yj)/2;

同理,依次计算所有树上边的性能参数;

在本实施例中,树上边lab的性能参数xab,xab=(yb-ya)/2。按照该方法,可以通过测量其他树上边lac、lbd、lbe和ldf的探测路径计算性能参数。

S4.2.2、非树上边性能参数的计算

对于非树上边luv,根据性能参数yu、yv和yuv计算luv的性能参数xuv,xuv=yuv-yu/2-yv/2;

同理,依次计算所有非树上边的性能参数。

在本实施例中,非树上边lbc的性能参数xbc,xbc=ybc-yb/2-yc/2。按照该方法,可以依次通过测量构造其他非树上边lce、lde和lef的探测路径计算性能参数。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1