SDN网络架构、基于SDN的流量转发控制方法及装置与流程

文档序号:18160412发布日期:2019-07-13 09:18阅读:333来源:国知局
SDN网络架构、基于SDN的流量转发控制方法及装置与流程

本发明涉及通信技术领域,具体涉及一种sdn网络架构,还涉及一种基于sdn的流量转发控制方法及装置。



背景技术:

sdn(softwaredefinednetworking,软件定义网络)相对于传统网络的一种创新的新型网络架构,旨在实现使网络设备的数据平面和控制平面的彻底分离,相比传统网络具有很多优点。当前的sdn网络一般是如下形式:有一个控制器或集群,负责收集整个网络的拓扑、流量等信息,计算流量转发路径,通过openflow协议将转发表项下发给交换机,交换机按照表项执行转发动作。和控制器对应,执行转发动作的交换机一般称为转发器。控制面从传统网络的单个设备上剥离,集中到了控制器上,转发面由转发器构成。

在传统网络中,常用的路由协议有:igp(interiorgatewayprotocol,内部网关协议)和bgp(bordergatewayprotocol,边界网关协议)。其中,igp是在一个自治域内网关(主机和路由器)间交换路由信息的协议,其主要目的是发现和计算自治域内的路由信息;bgp是在自治域之间动态交换路由信息的协议。igp路由协议只能根据最短路径开销来选择一条转发路径,bgp可以根据本地优先级(local-preference)、权值(weight)、多出口区分(med)等属性来选择as(autonomoussystem,自治系统)内部或as之间的路径,但这些路径计算的结果都是有局限的,而非端到端的,因此无法适用于sdn。因此,如何使sdn满足不同业务数据传输的需求是目前急需解决的问题之一。



技术实现要素:

本发明一方面提供一种sdn网络架构,以满足不同业务对网络传输的需求。

本发明另一方面还提供一种基于sdn的流量转发控制方法及装置,以实现端到端的路径计算和选择,达到灵活选择业务数据传输路径的目的。

为此,本发明实施例提供如下技术方案:

一种sdn网络架构,包括:控制器、多个相互连接的交换机、以及网络探测器,每个交换机均有接口连接所述网络探测设备;

所述控制器,用于在所述交换机互联的每条链路上创建一条探测vll;

所述网络探测器,用于利用所述探测vll采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率,并将采集的链路的sla信息上报给所述控制器;

所述控制器,还用于根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径,并将所述转发路径添加到流表中下发给路径上的每个交换机;

所述交换机,用于按照所述流表中的转发路径进行流量转发。

优选地,所述控制器还用于获取链路价格信息和/或链路利用率,并根据所述链路价格信息和/或链路利用率、以及选择的sla信息进行路径计算。

优选地,所述控制器与所述交换机通过openflow协议交互。

优选地,所述网络探测器控制交换机在所述探测vll上发送和接收探测报文,并根据发送和接收的所述探测报文计算接收到的探测报文所经过链路的sla信息。

优选地,所述网络探测器为基于x86架构的服务器或虚拟机、或者是专用的网络测试仪。

一种基于sdn的流量转发控制方法,所述sdn中包括多个相互连接的交换机,所述方法包括:

在所述交换机互联的每条链路上创建一条探测vll;

利用所述探测vll采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率;

根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径。

优选地,所述利用所述探测vll采集链路的sla信息包括:

控制所述交换机在所述探测vll上发送和接收探测报文;

根据发送和接收的所述探测报文计算接收到的探测报文所经过链路的sla信息。

优选地,所述在所述探测vll上发送和接收探测报文包括:

生成探测报文,所述探测报文中包括待探测路径标识;

将所述探测报文发送给待探测路径的首节点,控制所述待探测路径上的每个节点通过所述探测vll转发所述探测报文,接收所述待探测路径的尾节点发送的所述探测报文。

优选地,所述方法还包括:

获取链路价格信息和/或链路利用率;

所述根据待传输流量的类型选择sla信息进行路径计算包括:

根据所述链路价格信息和/或链路利用率、以及选择的sla信息进行路径计算。

优选地,所述方法还包括:

将所述转发路径添加到流表中下发给路径上的每个交换机,以使所述交换机按照所述流表中的转发路径进行流量转发。

一种基于sdn的流量转发控制装置,所述装置包括:

探测线路创建模块,用于在所述交换机互联的每条链路上创建一条探测vll;

第一信息采集模块,用于利用所述探测vll采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率;

路径确定模块,用于根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径。

优选地,所述信息采集模块包括:

报文处理单元,用于在所述探测vll上发送和接收探测报文;

计算单元,用于根据发送和接收的所述探测报文计算接收到的探测报文所经过链路的sla信息。

优选地,所述报文处理单元包括:

报文生成单元,用于生成探测报文,所述探测报文中包括待探测路径标识;

报文控制单元,用于将所述探测报文发送给所述待探测路径的首节点,控制所述待探测路径上的每个节点通过所述探测vll转发所述探测报文,接收所述待探测路径的尾节点发送的所述探测报文。

优选地,所述装置还包括:第二信息采集模块,所述第二信息采集模块包括:链路价格信息获取单元和/或链路利用率计算单元;

所述链路价格信息获取单元,用于获取链路价格信息获取单元;

所述链路利用率计算单元,用于计算链路利用率;

所述路径确定模块根据所述链路价格信息和/或链路利用率、以及选择的sla信息进行路径计算。

优选地,所述装置还包括:

流表下发模块,用于将所述转发路径添加到流表中下发给路径上的每个交换机,以使所述交换机按照所述流表中的转发路径进行流量转发。

与现有技术相比,本发明具有以下优点:

本发明实施例提供的sdn网络架构,通过在sdn中设置网络探测器,利用控制器在交换机互联的每条链路上创建的探测vll,采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率,并将采集的链路的sla信息上报给所述控制器,从而可以使控制器根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径,实现端到端的路径选择,达到灵活选择业务数据传输路径的目的。相应地,交换机按照相应的转发路径进行流量转发,可以更好地满足不同业务的传输需求,保证业务传输质量。

附图说明

图1是本发明实施例sdn网络架构的示意图;

图2是基于本发明实施例sdn网络架构进行业务传输的示意图;

图3是本发明实施例基于sdn的流量转发控制方法的一种流程图;

图4是本发明实施例基于sdn的流量转发控制方法的另一种流程图;

图5是本发明实施例基于sdn的流量转发控制装置的一种结构示意图;

图6是本发明实施例基于sdn的流量转发控制装置的另一种结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。

如图1所示,是本发明实施例sdn网络架构的示意图。

在该实施例中,所述sdn网络架构包括:控制器、多个相互连接的交换机、以及网络探测器,每个交换机均有接口连接所述网络探测设备。其中,所述控制器与所述交换机通过openflow协议交互,即控制器通过openflow来控制交换机,交换机则通过openflow协议将信息反馈到控制器中,openflow规定了网络设备对报文的转发和编辑方式。

openflow协议中控制器和交换机的工作流程如下:

控制器通过一套标准的消息接口告诉交换机,当报文从哪些端口进来时,该去查找哪张流表,匹配到一条流表项之后,执行这条流表项所规定的指令,然后要么直接转发出去或者丢弃,要么继续去查找下一个指定的流表(由匹配到的这条流表项来指定),然后重复这个过程,直到报文被转发出去或被丢弃。

报文进到交换机之后,根据交换机(基于端口)的配置去查找指定的流表,匹配到之后,执行相应的指令,比如对该报文进行编辑、丢弃、计数、测速、转发等。

在本发明实施例中,所述控制器在所述交换机互联的每条链路上创建一条探测vll(virtualleasedline,虚拟租用线路)。相对于专有租用线路中客户对线路的独占,vll允许多个客户共享线路,通过vc(virtualcircuit,虚电路)区分客户数据,为不同客户提供逻辑上的专用通道,为客户提供l2vpn(二层虚拟专用网络)服务。

探测vll是由两条openflow流表项组成,流表匹配条件可以是只分配给探测vll使用的vlan(virtuallocalareanetwork,虚拟局域网)或mpls(multi-protocollabelswitching,多协议标签交换)标签。控制器生成探测vll的两条openflow流表项,并分别下发给待探测链路两端的交换机。交换机根据openflow流表项来接收和转发网络探测器生成的探测报文。

所述网络探测器利用所述探测vll采集链路的sla(servicelevelagreement,服务等级协议)信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率等,并将采集的链路的sla信息上报给所述控制器。具体地,网络探测器生成探测报文,并控制交换机在所述探测vll上发送和接收探测报文,根据发送和接收的所述探测报文计算接收到的探测报文所经过链路的sla信息。

相应地,所述控制器将各网络探测器采集的链路的sla信息保存在数据库中,并根据交换机请求的待传输流量的类型选择sla信息中的不同因素进行路径计算,确定满足业务要求的转发路径,并将所述转发路径添加到流表中下发给路径上的每个交换机。所述控制器在进行路径计算时,可以根据选择的sla因素进行端到端的最短路径树计算,从得到的路径树中选择满足业务要求的转发路径,将选择的转发路径添加到流表中下发给路径上的每个交换机。相应地,路径上的每个交换机按照所述流表中的转发路径进行流量转发。

需要说明的是,在本发明另一实施例中,所述控制器还可进一步获取链路价格信息和/或链路利用率,并根据所述链路价格信息和/或链路利用率、以及选择的sla信息进行路径计算。对于所述链路价格信息,控制器可以从业务系统中获取;对于链路利用率,控制器可以记录并统计各链路的使用数据,根据该数据计算得到各链路的利用率。

下面以图2所示网络架构为例,说明基于该网络的业务传输过程。

如图2所示,在该网络中,部署有9个交换机,即交换机ofs1至ofs9,其中,交换机ofs1和交换机ofs9部署在业务接入点,控制器(图中未示)通过openflow协议管理这些交换机,每个交换机均有接口连接网络探测设备。控制器在交换机互联的每条链路上均创建一条探测vll,例如在交换机ofs1和交换机ofs3之间建一条探测vll,利用该探测vll,可以网络探测器探测交换机ofs1到交换机ofs3链路的sla信息,也能够探测交换机ofs3到交换机ofs1链路的sla信息。

在交换机ofs1有业务流量需要转发时,向控制器请求流量转发流表;控制器根据所述请求,确定需要探测的路径,并将待探测路径标识传送给相应的网络探测器。控制器可以为每个转发路径赋予唯一的标识信息,以使网络探测器在生成的探测报文中携带该标识信息,从而指明需要探测的转发路径。

网络探测器生成探测报文,网络探测器生成探测报文时,根据要探测的链路,在探测报文上携带对应的待探测路径标识,比如vlan或mpls标签。除此之外,探测报文还会携带网络探测器生成该探测报文时的时间戳,用于接收方收到后计算sla信息。

网络探测器将所述探测报文发送给待探测路径的首节点,控制所述待探测路径上的每个节点通过所述探测vll转发所述探测报文,接收所述待探测路径的尾节点发送的所述探测报文。所述待探测路径上的各交换机收到所述探测报文后,根据vlan或mpls标签在探测vll上进行接收和转发处理。

此外,网络探测器根据需要,还可以指定探测报文的发送频率,通过发送和接收探测报文,及时地了解指定转发路径的连通性。进一步地,通过记录探测报文的发送时间、数量等,并相应地记录探测报文的回收时间、数量等,还可以确定该指定路径的时延、丢包率、抖动率等转发性能。

所述抖动率是指分组延迟的变化程度,是实时性传输的一个重要参数,比如voip、视频等。在发送所述探测报文时,发送端在报文头中增加一个发送时间戳,在接收端接收该探测报文时,同样增加一个接收时间戳,根据这两个时间戳即可计算得到相应链路的时延,根据不同探测报文的时延,即可确定相应链路的抖动,抖动的大小取决于数据包的延迟时间的差异程度,差异程度越大,抖动越大。所述丢包率故名思议,是指所丢失数据包数量占所发送数据组的比率,可根据发送的探测报文及接收的探测报文的数量计算得到。

网络探测器利用探测报文探测得到链路的sla信息,将所述sla信息上报给控制器。

在交换机ofs1向控制器发送的请求中,还会包括待传输流量的类型信息,相应地,控制器根据所述待传输流量的类型选择sla信息中的不同因素进行路径计算,确定满足业务要求的转发路径,并将所述转发路径添加到流表中下发给路径上的每个交换机。比如实时视频流量对延时要求很高,所以控制器可以选择一条从ofs1到ofs9的端到端的、链路时延总和最小的路径。比如,ofs1→ofs5→ofs7→ofs9,链路时延总和最小的转发路径,可以用来传输对时延有较高要求的实时流量。控制器在上述各交换机之间建立业务流量vll,以转发业务流量。

控制器对选择的上述路径上交换机进行流表配置如下:

交换机ofs1流表:

entry1:matchin_port=p1+dip=实时视频流量actions=mplslabel:ofs5,output:ofs5,dmac=ofs5

交换机ofs5流表:

entry1:matchin_port=p1+label=ofs5actions=mplslabel:ofs7,output:ofs7,dmac=ofs7

交换机ofs7流表:

entry1:matchin_port=p1+label=ofs7actions=mplslabel:ofs9,output:ofs9,dmac=ofs9

交换机ofs9流表:

entry1:matchin_port=p1+label=ofs9actions=popmplslabel:ofs9,output:p1

相应地,所述路径上的每个交换机按照所述流表中的转发路径进行流量转发,最终将业务流量转发到交换机ofs9。具体地,交换机ofs1收到实时视频流量,根据匹配条件将流量发送给与ofs5互联的端口并封装mpls(multi-protocollabelswitching,多协议标签交换)标签,交换机ofs5根据入接口和mpls标签将匹配的流量发给交换机ofs7,交换机ofs7根据入接口和mplslabel将匹配的流量发送给交换机ofs9,交换机ofs9根据入接口和mpls标签将匹配的流量发给客户端设备。

反向流量传输过程与上述过程类似,即计算从交换机ofs9到交换机ofs1的链路时延最小的转发路径,下发流表、转发数据。

本发明实施例的sdn网络架构,在sdn中设置网络探测器,利用控制器在交换机互联的每条链路上创建的探测vll,采集链路的sla信息,并将采集的链路的sla信息上报给所述控制器,从而使控制器得到sdn全网链路的sla信息之后,根据待传输流量的类型选择sla信息进行路径计算,快速计算出一条满足业务要求的转发路径,实现端到端的路径选择,达到灵活选择业务数据传输路径的目的,而且在业务要求变化后,可根据业务要求的调整来计算满足要求的新路径,从而方便地实现业务路径快速开通和灵活管理。相应地,交换机按照相应的转发路径进行流量转发,可以更好地满足不同业务的传输需求,保证业务传输质量。

在控制器得到sdn全网链路的sla信息之后,可以快速计算出一条满足业务要求的转发路径,并根据业务要求的调整来计算满足要求的新路径。从而达到业务路径快速开通和灵活管理的目的。

在具体应用中,上面所述的网络探测器可以为基于x86架构的服务器或虚拟机、或者是专用的网络测试仪,对此本发明不做限定。

相应地,本发明还提供一种基于sdn的流量转发控制方法,所述sdn中包括多个相互连接的交换机。

如图3所示,是该方法的一种流程图,包括以下步骤:

步骤301,在交换机互联的每条链路上创建一条探测vll。

在实际应用中,上述探测vll的创建可以由sdn中的控制器来完成。

步骤302,利用所述探测vll采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率。

具体地,可以控制所述交换机在所述探测vll上发送和接收探测报文,并根据发送和接收的所述探测报文计算接收到的探测报文所经过链路的sla信息。

所述探测报文可以由网络探测器生成,所述网络探测器可以是基于x86架构的服务器或虚拟机、或者是专用的网络测试仪。所述探测报文中包括待探测路径标识,网络探测器将所述探测报文发送给待探测路径的首节点,控制所述待探测路径上的每个节点通过所述探测vll转发所述探测报文,接收所述待探测路径的尾节点发送的所述探测报文,网络探测器根据发送和接收的所述探测报文即可计算得到接收到的探测报文所经过链路的sla信息,所述sla信息中的时延、抖动率、丢包率的具体计算方式在前面已有详细说明,在此不再赘述。

当然,所述探测报文也可以由所述控制器来生成,对此本发明实施例不做限定。

步骤303,根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径。

上述路径的计算及选择可以由sdn中的控制器来完成,

进一步地,根据应用需要,还可以将链路价格信息和/或链路利用率作为路径选择需要考虑的因素,其中,所述链路价格信息可以由控制器从业务系统中得到,所述链路利用率可以由控制器记录并统计的各链路的使用数据计算得到。

如图4所示,是本发明基于sdn的流量转发控制方法的另一实施例的流程图,包括以下步骤:

步骤401,在交换机互联的每条链路上创建一条探测vll。

步骤402,利用所述探测vll采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率。

步骤403,根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径。

步骤404,将所述转发路径添加到流表中下发给路径上的每个交换机,以使所述交换机按照所述流表中的转发路径进行流量转发。

本发明提供的基于sdn的流量转发控制方法,通过在交换机互联的每条链路上创建探测vll,利用所述探测vll采集链路的sla信息,在进行转发路径选择时,根据待传输流量的类型选择sla信息中的因素进行路径计算,进一步还可以将链路价格信息和/或链路利用率作为选路需要考虑的因素,从而可以实现端到端的路径计算及选择,得到满足业务要求的转发路径,满足不同业务对网络传输的需求。

相应地,本发明还提供一种基于sdn的流量转发控制装置,如图5所示,是该装置的一种结构示意图。

在该实施例中,所述装置包括:

探测线路创建模块501,用于在所述交换机互联的每条链路上创建一条探测vll;

第一信息采集模块502,用于利用所述探测vll采集链路的sla信息,所述链路的sla信息包括以下任意一种或多种:时延、抖动率、丢包率;

路径确定模块503,用于根据待传输流量的类型选择sla信息进行路径计算,确定满足业务要求的转发路径。

上述第一信息采集模块502具体可以包括报文处理单元和计算单元,其中,所述报文处理单元用于控制交换机在所述探测vll上发送和接收探测报文;所述计算单元用于根据发送和接收的所述探测报文计算接收到的探测报文所经过链路的sla信息。

所述报文处理单元包括:报文生成单元和报文控制单元,其中:

报文生成单元用于生成探测报文,所述探测报文中包括待探测路径标识;

报文控制单元用于将所述探测报文发送给所述待探测路径的首节点,控制所述待探测路径上的每个节点通过所述探测vll转发所述探测报文,接收所述待探测路径的尾节点发送的所述探测报文。

需要说明的是,在实际应用中,第一信息采集模块502可以将采集的各链路的sla信息存储到数据库中,而且这些sla信息是不断更新变化的。相应地,路径确定模块503根据数据库中的sla信息进行路径计算及选择。

如图6所示,是本发明实施例基于sdn的流量转发控制装置的另一种结构示意图。

与图5所示实施例不同的是,在该实施例中,所述装置还包括:第二信息采集模块504,用于采集链路价格信息和/或计算链路利用率。

所述第二信息采集模块504可以包括:链路价格信息获取单元和/或链路利用率计算单元,其中:所述链路价格信息获取单元用于获取链路价格信息获取单元,比如可以从业务系统直接获取链路价格信息;所述链路利用率计算单元用于计算链路利用率,比如,可以通过记录并统计各链路的使用数据计算得到链路利用率。

相应地,在该实施例中,路径确定模块503需要根据所述链路价格信息和/或链路利用率、以及选择的sla信息进行路径计算,确定满足业务要求的转发路径。

需要说明的是,在图5和图6所示实施例,所述装置均可进一步包括:流表下发模块(未图示),用于将所述转发路径添加到流表中下发给路径上的每个交换机,以使所述交换机按照所述流表中的转发路径进行流量转发。

另外,需要说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块、单元可以是或者也可以不是物理上分开的,作为模块、单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络设备上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本发明提供的基于sdn的流量转发控制装置,通过在交换机互联的每条链路上创建探测vll,利用所述探测vll采集链路的sla信息,在进行转发路径选择时,根据待传输流量的类型选择sla信息中的因素进行路径计算,进一步还可以将链路价格信息和/或链路利用率作为选路需要考虑的因素,从而可以实现端到端的路径计算及选择,得到满足业务要求的转发路径,满足不同业务对网络传输的需求。

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可利用存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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