一种流量控制方法和装置与流程

文档序号:14685785发布日期:2018-06-14 21:16阅读:140来源:国知局

本发明涉及通信技术领域,尤其涉及一种流量控制方法和装置。



背景技术:

如图1所示,网络设备1和网络设备2之间通过三条物理链路相连,将这三条物理链路捆绑在一起,就成为一条逻辑链路。该逻辑链路的带宽可等于三条物理链路的带宽总和,增加了链路带宽。而且,这三条物理链路相互备份,当某条物理链路发生故障时,还可以通过其它两条物理链路发送报文,增加了链路可靠性。其中,该逻辑链路对应的接口为聚合接口1,聚合接口1包括3个成员接口,分别为接口1、接口2和接口3。当需要通过聚合接口1发送报文时,先从聚合接口1对应的多个成员接口中选择一个成员接口,并通过该成员接口发送报文,继而通过该成员接口对应的物理链路发送报文。

OSPF(OpenShortestPathFirst,开放式最短路径优先)是一个基于链路状态的自治系统内部路由协议,各网络设备之间通过周期性的通告Hello(健康状态检测)报文,建立并维持邻居关系,并在形成邻居关系的网络设备之间,互相扩散描述链路状态的LSA(Link-stateadvertisement,链路状态通告)。



技术实现要素:

本发明提供一种流量控制方法,应用于包括第一网络设备和第二网络设备的网络中的第一网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述方法包括以下步骤:获得所述第二网络设备对应的LSA;从所述LSA中解析出所述聚合接口的信息和所述多个成员接口的信息;利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制方法,应用于包括SDN控制器、第一网络设备和第二网络设备的网络中的第一网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述方法包括:获得第二网络设备对应的LSA;从所述LSA中解析出所述聚合接口的信息和所述多个成员接口的信息;将所述聚合接口的信息和所述多个成员接口的信息添加到BGP消息中,并将所述BGP消息发送给所述SDN控制器,以使所述SDN控制器利用所述BGP消息中携带的所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制方法,应用于包括SDN控制器、第一网络设备和第二网络设备的网络中的SDN控制器,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述方法包括以下步骤:接收来自所述第一网络设备的BGP消息,所述BGP消息中携带了所述第一网络设备从所述第二网络设备对应的LSA中解析出的所述聚合接口的信息和所述多个成员接口的信息;从所述BGP消息中解析出所述聚合接口的信息和所述多个成员接口的信息;利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制方法,应用于包括第一网络设备和第二网络设备的网络中的第二网络设备,或者应用于包括SDN控制器、第一网络设备和第二网络设备的网络中的第二网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述方法包括以下步骤:获得所述聚合接口的信息和所述多个成员接口的信息;将所述聚合接口的信息和多个成员接口的信息添加到LSA;发送所述LSA;以使所述第一网络设备或者所述SDN控制器利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制装置,应用于包括第一网络设备和第二网络设备的网络中的第一网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述装置具体包括:获得模块,用于获得所述第二网络设备对应的链路状态通告LSA;解析模块,用于从所述LSA中解析出所述聚合接口的信息和所述多个成员接口的信息;控制模块,用于利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制装置,应用于包括SDN控制器、第一网络设备和第二网络设备的网络中的第一网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述装置包括:获得模块,用于获得所述第二网络设备对应的LSA;解析模块,用于从所述LSA中解析出所述聚合接口的信息和所述多个成员接口的信息;添加模块,用于将所述聚合接口的信息和所述多个成员接口的信息添加到BGP消息;发送模块,用于将所述BGP消息发送给所述SDN控制器,以使所述SDN控制器利用所述BGP消息中携带的所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制装置,应用于包括第一网络设备、第二网络设备和SDN控制器的网络中的SDN控制器,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述装置包括:接收模块,用于接收来自所述第一网络设备的BGP消息;其中,所述BGP消息中携带了所述第一网络设备从所述第二网络设备对应的链路状态通告LSA中解析出的所述聚合接口的信息和所述多个成员接口的信息;解析模块,用于从所述BGP消息中解析出所述聚合接口的信息和所述多个成员接口的信息;控制模块,用于利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明提供一种流量控制装置,应用于包括第一网络设备和第二网络设备的网络中的第二网络设备,或者应用于包括软件定义网络SDN控制器、第一网络设备和第二网络设备的网络中的第二网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口,所述装置包括:获得模块,用于获得所述聚合接口的信息和所述多个成员接口的信息;添加模块,用于将所述聚合接口的信息和所述多个成员接口的信息添加到链路状态通告LSA;发送模块,用于发送所述LSA;以使所述第一网络设备或者所述SDN控制器利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

基于上述技术方案,本发明实施例中,针对配置有聚合接口(包括多个成员接口)的第二网络设备来说,该第二网络设备对应的LSA中会携带这多个成员接口的信息和该聚合接口的信息,使得第一网络设备或者SDN控制器可以根据这多个成员接口的信息和该聚合接口的信息对第二网络设备进行流量控制,即可以直接控制第二网络设备通过该聚合接口下的某个成员接口来发送流量,实现流量的精确控制。

附图说明

图1是通过三条物理链路相连的组网示意图;

图2是本发明一种实施方式中的原理示意图;

图3是本发明一种实施方式中的流量控制方法的流程图;

图4是本发明另一种实施方式中的流量控制方法的流程图;

图5A-图5C是本发明一种实施方式中的应用场景示意图;

图6A-图6E是本发明一种实施方式中的LSA的格式示意图;

图7是本发明一种实施方式中的第一网络设备的硬件结构图;

图8是本发明一种实施方式中的流量控制装置的结构图;

图9是本发明另一种实施方式中的流量控制装置的结构图;

图10是本发明一种实施方式中的SDN控制器的硬件结构图;

图11是本发明一种实施方式中的流量控制装置的结构图;

图12是本发明一种实施方式中的第二网络设备的硬件结构图;

图13是本发明一种实施方式中的流量控制装置的结构图。

具体实施方式

针对现有技术中存在的问题,本发明实施例中提出了一种流量控制方法,该方法可以应用于包括第一网络设备和第二网络设备的网络中。其中,第二网络设备是指配置有聚合接口的网络设备,且该聚合接口可以包括多个成员接口。该方法用于对网络设备进行流量控制,且本实施例中是以对第二网络设备进行流量控制为例,对于其它网络设备的流量控制过程,本实施例不再赘述。

在传统网络中,如MPLS(MultiProtocolLabelSwitching,多协议标签交换)网络,通常由网络设备对第二网络设备进行流量控制,将对第二网络设备进行流量控制的网络设备称为第一网络设备。

在新型网络中,如SDN(SoftwareDefinedNetwork,软件定义网络),通常由SDN控制器对第二网络设备进行流量控制,本实施例中以包含一个与SDN控制器连接的网络设备为例,该与SDN控制器连接的网络设备用于将信息上报给SDN控制器,将与SDN控制器连接的网络设备称为第一网络设备。

如图2所示,为本发明一种实施方式中的原理示意图。为了实现对第二网络设备的流量控制,通常可以部署一个用于对第二网络设备的流量进行控制的APP(应用),该APP可以部署在传统网络的第一网络设备或者部署在新型网络的SDN控制器,图2中是以部署在新型网络的SDN控制器为例。

对于第二网络设备来说,其上会运行OSPF协议,该OSPF协议会泛洪LSA。在本实施例中,OSPF通过扩展LSA,在发布聚合接口的邻居信息时,以使该LSA不仅携带聚合接口的信息,还携带聚合接口对应的多个成员接口的信息。

对于第一网络设备来说,基于OSPF协议泛洪的LSA,在收到第二网络设备的LSA后,可以从该LSA中解析出聚合接口的信息,聚合接口对应的多个成员接口的信息。之后,第一网络设备会将聚合接口的信息,聚合接口对应的多个成员接口的信息安装到LSDB中。进一步,通过扩展BGP的BGP-LS(LinkStateDataBase,链路状态数据库)消息,使得该BGP-LS消息中可以携带聚合接口的信息,聚合接口对应的多个成员接口的信息。基于此,可以从LSDB中导出聚合接口的信息,聚合接口对应的多个成员接口的信息,并将聚合接口的信息,聚合接口对应的多个成员接口的信息添加到BGP-LS消息中发送给SDN控制器。

SDN控制器在接收到聚合接口的信息,聚合接口对应的多个成员接口的信息后,部署在SDN控制器上的APP就可以利用聚合接口的信息,聚合接口对应的多个成员接口的信息对第二网络设备进行流量控制,该控制过程在后续说明。

如图3所示,为在传统网络中,由第一网络设备对第二网络设备进行流量控制的应用场景,则本发明实施例提出的流量控制方法具体可以包括以下步骤:

步骤301,第二网络设备获得聚合接口的信息和聚合接口对应的多个成员接口的信息,将聚合接口的信息和多个成员接口的信息添加到LSA,并发送该LSA,如以泛洪方式发送该LSA。其中,聚合接口的信息可以包括但不限于聚合接口的带宽和/或标签,成员接口的信息可以包括但不限于成员接口的带宽和/或标签。

步骤302,第一网络设备获得第二网络设备对应的LSA。

在各网络设备发送LSA的过程中,每个网络设备均可以获得其它所有网络设备的LSA,因此,第一网络设备可以获得第二网络设备对应的LSA。

步骤303,第一网络设备从第二网络设备对应的LSA中解析出聚合接口的信息和聚合接口对应的多个成员接口的信息。其中,由于第二网络设备对应的LSA中携带聚合接口的信息,以及聚合接口对应的多个成员接口的信息,因此,第一网络设备可以从该LSA中解析出聚合接口的信息和多个成员接口的信息。

步骤304,第一网络设备利用聚合接口的信息和多个成员接口的信息对第二网络设备进行流量控制。

本发明实施例中,第一网络设备利用聚合接口的信息和多个成员接口的信息对第二网络设备进行流量控制的过程,具体可以包括但不限于如下方式:

方式一、当成员接口的信息具体包括成员接口的带宽时,当确定第二网络设备通过聚合接口发送流量时,则第一网络设备利用多个成员接口的带宽确定第二网络设备上发送流量的成员接口,并控制第二网络设备通过该成员接口发送流量。例如,第一网络设备可以将聚合接口的信息和该成员接口的信息发送给第二网络设备,以使该第二网络设备在接收到流量时,基于聚合接口的信息和该成员接口的信息,确定可以通过该成员接口发送该流量。

方式二、当成员接口的信息具体包括成员接口的标签时,当确定第二网络设备通过聚合接口发送流量时,则第一网络设备可以获得第二网络设备上发送流量的成员接口,如基于用户命令获得第二网络设备上发送流量的成员接口,并通过该成员接口的标签以及聚合接口的标签控制第二网络设备通过该成员接口发送流量。例如,第一网络设备可以将该成员接口的标签以及聚合接口的标签,发送给流量对应的首个网络设备,由该首个网络设备在发送的流量中添加该成员接口的标签以及聚合接口的标签,这样,当第二网络设备接收到携带该成员接口的标签以及聚合接口的标签的流量时,基于聚合接口的标签获知需要通过聚合接口发送流量,基于该成员接口的标签,获知需要通过聚合接口下的该成员接口发送流量。

方式三、当成员接口的信息具体包括成员接口的带宽和标签时,当确定第二网络设备通过聚合接口发送流量时,则第一网络设备利用多个成员接口的带宽确定第二网络设备上发送流量的成员接口,并通过该成员接口的标签以及聚合接口的标签控制第二网络设备通过该成员接口发送流量。例如,第一网络设备可以将该成员接口的标签以及聚合接口的标签,发送给流量对应的首个网络设备,由该首个网络设备在发送的流量中添加该成员接口的标签以及聚合接口的标签,这样,当第二网络设备接收到携带该成员接口的标签以及聚合接口的标签的流量时,基于聚合接口的标签获知需要通过聚合接口发送流量,基于该成员接口的标签,获知需要通过聚合接口下的该成员接口发送流量。

针对上述方式二和方式三,可以在第二网络设备上为聚合接口配置一个标签,并可以为该聚合接口下的多个成员接口中的每个成员接口分配唯一的标签,并在第二网络设备上维护各成员接口与其分配的标签之间的映射关系。

针对上述方式一和方式三,针对第一网络设备利用多个成员接口的带宽确定第二网络设备上发送流量的成员接口的过程,基于TE(TrafficEngineering,流量工程)控制技术,第一网络设备可以根据各成员接口承载的流量以及各成员接口的带宽确定第二网络设备上发送流量的成员接口。例如,当前待传输流量的大小为2M时,假设成员接口1的带宽为3M,但是之前已经承载了1.5M的流量,成员接口2的带宽为2.5M,成员接口3的带宽为1.8M时,则第一网络设备可以选择成员接口2为第二网络设备上发送流量的成员接口,具体的确定方式参考TE控制技术,本发明实施例中不再详加赘述。

基于上述技术方案,本发明实施例中,针对配置有聚合接口(该聚合接口包括多个成员接口)的第二网络设备来说,该第二网络设备对应的LSA中会携带这多个成员接口的信息和该聚合接口的信息,使得第一网络设备可以根据这多个成员接口的信息和该聚合接口的信息对第二网络设备进行流量控制,即第一网络设备可以直接控制第二网络设备通过该聚合接口下的某个成员接口来发送流量,实现流量的精确控制。

如图4所示,为在新型网络中,由SDN控制器对第二网络设备进行流量控制的应用场景,则本发明实施例提出的流量控制方法具体可以包括以下步骤:

步骤401,第二网络设备获得聚合接口的信息和聚合接口对应的多个成员接口的信息,将聚合接口的信息和多个成员接口的信息添加到LSA,并发送该LSA,如以泛洪方式发送该LSA。其中,聚合接口的信息可以包括但不限于聚合接口的带宽和/或标签,成员接口的信息可以包括但不限于成员接口的带宽和/或标签。

步骤402,第一网络设备获得第二网络设备对应的LSA。

在各网络设备发送LSA的过程中,每个网络设备均可以获得其它所有网络设备的LSA,因此,第一网络设备可以获得第二网络设备对应的LSA。

步骤403,第一网络设备从第二网络设备对应的LSA中解析出聚合接口的信息和聚合接口对应的多个成员接口的信息。其中,由于第二网络设备对应的LSA中携带聚合接口的信息和聚合接口对应的多个成员接口的信息,因此,第一网络设备可以从该LSA中解析出聚合接口的信息和多个成员接口的信息。

步骤404,第一网络设备将聚合接口的信息和多个成员接口的信息添加到BGP(BorderGatewayProtocol,边界网关协议)消息中,并将BGP消息发送给SDN控制器。

步骤405,SDN控制器从BGP消息中解析出聚合接口的信息和多个成员接口的信息,并利用聚合接口的信息和多个成员接口的信息对第二网络设备进行流量控制。

本发明实施例中,SDN控制器利用聚合接口的信息和多个成员接口的信息对第二网络设备进行流量控制的过程,具体可以包括但不限于如下方式:

方式一、当成员接口的信息具体包括成员接口的带宽时,当确定第二网络设备通过聚合接口发送流量时,则SDN控制器可以利用多个成员接口的带宽确定第二网络设备上发送流量的成员接口,并控制第二网络设备通过该成员接口发送流量。例如,SDN控制器可以将聚合接口的信息和该成员接口的信息发送给第二网络设备,以使该第二网络设备在接收到流量时,基于聚合接口的信息和该成员接口的信息,确定可以通过该成员接口发送该流量。

方式二、当成员接口的信息具体包括成员接口的标签时,当确定第二网络设备通过聚合接口发送流量时,则SDN控制器可以获得第二网络设备上发送流量的成员接口,如基于用户命令获得第二网络设备上发送流量的成员接口,并通过该成员接口的标签以及聚合接口的标签控制第二网络设备通过该成员接口发送流量。例如,SDN控制器可以将该成员接口的标签以及聚合接口的标签,发送给流量对应的首个网络设备,由该首个网络设备在发送的流量中添加该成员接口的标签以及聚合接口的标签,这样,当第二网络设备接收到携带该成员接口的标签以及聚合接口的标签的流量时,基于聚合接口的标签获知需要通过聚合接口发送流量,基于该成员接口的标签,获知需要通过聚合接口下的该成员接口发送流量。

方式三、当成员接口的信息具体包括成员接口的带宽和标签时,当确定第二网络设备通过聚合接口发送流量时,则SDN控制器利用多个成员接口的带宽确定第二网络设备上发送流量的成员接口,并通过该成员接口的标签以及聚合接口的标签控制第二网络设备通过该成员接口发送流量。例如,SDN控制器可以将该成员接口的标签以及聚合接口的标签,发送给流量对应的首个网络设备,由该首个网络设备在发送的流量中添加该成员接口的标签以及聚合接口的标签,这样,当第二网络设备接收到携带该成员接口的标签以及聚合接口的标签的流量时,基于聚合接口的标签获知需要通过聚合接口发送流量,基于该成员接口的标签,获知需要通过聚合接口下的该成员接口发送流量。

针对上述方式二和方式三,可以在第二网络设备上为聚合接口配置一个标签,并可以为该聚合接口下的多个成员接口中的每个成员接口分配唯一的标签,并在第二网络设备上维护各成员接口与其分配的标签之间的映射关系。

针对上述方式一和方式三,针对SDN控制器利用多个成员接口的带宽确定第二网络设备上发送流量的成员接口的过程,基于TE控制技术,SDN控制器可以根据各成员接口承载的流量以及各成员接口的带宽确定第二网络设备上发送流量的成员接口。例如,当前待传输流量的大小为2M时,假设成员接口1的带宽为3M,但是之前已经承载了1.5M的流量,成员接口2的带宽为2.5M,成员接口3的带宽为1.8M时,则SDN控制器可以选择成员接口2为第二网络设备上发送流量的成员接口,具体的确定方式参考TE控制技术,在此不再赘述。

基于上述技术方案,本发明实施例中,针对配置有聚合接口(该聚合接口包括多个成员接口)的第二网络设备来说,该第二网络设备对应的LSA中会携带这多个成员接口的信息和该聚合接口的信息,使得SDN控制器可以根据这多个成员接口的信息和该聚合接口的信息对第二网络设备进行流量控制,即SDN控制器可以直接控制第二网络设备通过该聚合接口下的某个成员接口来发送流量,实现流量的精确控制。

针对步骤301和步骤401,第二网络设备在与邻居网络设备建立邻居关系之后,判断与邻居网络设备连接的接口是否为聚合接口。如果不是,则采用现有流程进行处理,该处理过程不再赘述。如果是,则为该聚合接口分配标签,并遍历该聚合接口下每个生效的成员接口,并为每个生效的成员接口分配唯一的标签,并在本第二网络设备上维护聚合接口与其分配的标签之间的映射关系、各成员接口与其分配的标签之间的映射关系。

第二网络设备将聚合接口对应的标签下发到标签转发表中,且该标签对应的出接口为聚合接口;将各成员接口对应的标签下发到标签转发表中,且各标签对应的出接口分别为其对应的成员接口。基于此标签转发表,在后续过程中,第二网络设备在接收到携带成员接口的标签和聚合接口的标签的流量时,基于聚合接口的标签查询标签转发表,发现出接口为聚合接口,此时第二网络设备不是直接通过聚合接口发送流量,而是进一步通过成员接口的标签查询标签转发表,发现出接口为聚合接口下的成员接口,因此,通过该成员接口发送流量。

第二网络设备获得聚合接口的带宽和标签,并获得聚合接口下的各成员接口分别对应的带宽和标签,并将聚合接口的带宽和标签、各成员接口分别对应的带宽和标签添加到LSA中,并以泛洪方式发送该LSA。其中,通过扩展目前的LSA,使得LSA可以携带各成员接口分别对应的带宽和标签。

以下结合具体的应用场景,对上述图4的流程进行说明。如图5A所示的应用场景,网络设备1、网络设备2和网络设备3上运行OSPF协议,网络设备1、网络设备2和网络设备3的路由标识分别为1.1.1.1、2.2.2.2和3.3.3.3。网络设备2为配置聚合接口的第二网络设备,网络设备1为与SDN控制器连接的第一网络设备。网络设备2的聚合接口1的地址为20.1.1.1,网络设备3的聚合接口2的地址为20.1.1.3,网络设备2和网络设备3之间通过聚合接口建立OSPF邻居。网络设备2的聚合接口1对应的成员接口分别为g1/1/1、g1/1/2、g1/1/3。网络设备2为聚合接口1分配标签10000,网络设备3为聚合接口2分配标签10001,网络设备2为聚合接口1下的成员接口g1/1/1、g1/1/2、g1/1/3分别分配标签20001,20002和20003,并将标签20001,20002和20003下发给标签转发表,标签20001,20002和20003在标签转发表中对应的出接口分别为成员接口g1/1/1、g1/1/2、g1/1/3,标签20001,20002和20003在标签转发表中对应的下一跳分别为成员接口g1/1/1、g1/1/2、g1/1/3的对端地址。

针对步骤401,网络设备2获得聚合接口1的带宽(60G)和标签(10000),并获得聚合接口1下的成员接口g1/1/1的带宽(10G)和标签(20001)、成员接口g1/1/2的带宽(20G)和标签(20002)、成员接口g1/1/3的带宽(30G)和标签(20003),并将上述信息添加到LSA中,并以泛洪方式发送该LSA。

针对步骤402-步骤404,网络设备1可以获得网络设备2的LSA,并从该LSA中解析出聚合接口1的带宽(60G)和标签(10000)、聚合接口1下的成员接口g1/1/1的带宽(10G)和标签(20001)、成员接口g1/1/2的带宽(20G)和标签(20002)、成员接口g1/1/3的带宽(30G)和标签(20003),并将这些信息添加到BGP消息中,并将该BGP消息发送给SDN控制器。

针对步骤405,SDN控制器从BGP消息中解析出聚合接口1的带宽(60G)和标签(10000)、聚合接口1下的成员接口g1/1/1的带宽(10G)和标签(20001)、成员接口g1/1/2的带宽(20G)和标签(20002)、成员接口g1/1/3的带宽(30G)和标签(20003),利用这些信息对网络设备2进行流量控制。针对上述步骤401-步骤405,是控制层面的处理流程。在后续的数据层面,将利用这些信息对网络设备2进行流量控制,即对经过网络设备2的流量进行控制。

如图5B所示,假设流量需要从网络设备6传输到网络设备3,则网络设备6是该流量的首个网络设备。假设流量需要从网络设备5传输到网络设备3,则网络设备5是该流量的首个网络设备。如图5C所示,假设流量需要从网络设备1传输到网络设备3,则SDN控制器需要控制从网络设备1到网络设备3的流量,且该流量经过网络设备2,且网络设备1与网络设备2之间还存在一个网络设备4,此时,网络设备1是该流量的首个网络设备,且以该应用场景为例进行后续说明。在流量经过网络设备2和网络设备3之间的聚合链路时,SDN控制器需要进一步控制流量的成员接口,即采用本发明的技术方案选择成员接口。

基于成员接口g1/1/1的带宽(10G)、成员接口g1/1/2的带宽(20G)、成员接口g1/1/3的带宽(30G),假设SDN控制器选择带宽30G对应的成员接口g1/1/3为网络设备2上发送流量的成员接口,且成员接口g1/1/3对应的标签20003。

在此基础上,SDN控制器将网络设备4的接口(即连接网络设备2的接口)对应的标签(网络设备1会将该标签上送给SDN控制器,具体上送方式不再赘述)、聚合接口1的标签10000和成员接口g1/1/3的标签20003发送给流量的首个网络设备,即网络设备1(由于流量从网络设备1到网络设备3,因此流量经过的首个网络设备是网络设备1)。基于收到的网络设备4的接口对应的标签、标签10000和标签20003,网络设备1在向网络设备3发送流量时,在流量中添加网络设备4的接口对应的标签、标签10000和标签20003。当该流量到达网络设备4时,基于流量中携带的网络设备4的接口对应的标签,网络设备4通过该接口发送流量,且该流量被发送给网络设备2。其中,在网络设备4上维护的查询标签转发表中记录有该接口与该标签的对应关系,因此,可以通过该对应关系确定通过该接口发送流量。当该流量到达网络设备2时,网络设备2基于该流量中携带的标签10000查询标签转发表,发现出接口为聚合接口1,此时网络设备2不是直接通过聚合接口1发送流量,而是进一步通过该流量中携带的标签20003查询标签转发表,发现出接口为聚合接口下的成员接口g1/1/3,因此,网络设备2通过该成员接口g1/1/3发送流量,流量被发送给网络设备3。

本发明实施例的上述过程中,BGP消息具体可以包括但不限于BGP-LS(LinkStateDataBase,链路状态数据库)消息。其中,BGP是既可以用于不同AS(AutonomousSystem,自治系统)之间,又可以用于同一AS内部的动态路由协议。而BGP-LS通过BGP来传递IGP(InteriorGatewayProtocol,内部网关协议)收集的LSDB信息,LSDB信息可以包括拓扑、前缀、TE信息等。通过在BGP中新增linkstate(链路状态)地址簇,可以将LSDB信息引入到BGP的linkstate地址簇中,再通过BGP-LS将linkstate地址簇中的LSDB信息发送给SDN控制器,而发送给SDN控制器的LSDB信息在拓扑、前缀、TE信息的基础上,还可以包括聚合接口下的各成员接口的带宽和/或标签。

在本发明实施例的上述过程中,LSA中可以携带链路TLV(TypeLengthValue,类型长度值),且该链路TLV(即LINKTLV)中包含有多个聚合子TLV,且各聚合子TLV用于携带成员接口的带宽和/或标签。其中,该LSA具体可以为能够承载成员接口的带宽和/或标签的扩展后的10类LSA。

如图6A所示,为链路TLV的格式示意图,其中的Sub-TLVs表示聚合子TLV。在图6A中,link-type表示链路类型,如P2P,广播网等。Reserved为保留字段。LinkID为链路标识,当链路类型为P2P类型时,LinkID表示邻居网络设备的路由标识,当链路类型为广播网类型时,LinkID表示DR(直连路由器)的IP地址。LinkData(链路数据)表示本接口的IP地址。Sub-TLVs定义了该链路下的扩展信息,本实施例中是聚合子TLV,携带聚合接口对应的多个成员接口的信息,如多个成员接口分别对应的带宽和/或标签。

如图6B所示,为聚合子TLV的格式示意图,聚合子TLV用于携带每个成员接口的带宽和标签。在图6B中,Type为成员接口的类型。Length为信息总长度。NumberofL2members表示成员接口的数量。L2memberID表示成员接口的ID(标识),用于区分不同的成员接口,如L2memberID为接口索引。Sub-TLVs表示聚合子TLV中携带的标签子TLV或者带宽子TLV。

如图6C所示,为标签子TLV的格式示意图,用于携带成员接口的标签。如图6D所示,为带宽子TLV的格式示意图,用于携带成员接口的带宽。对于标签子TLV的格式和带宽子TLV的格式,在此不再详加赘述。

此外,在上述图5A、图5B和图5C所示的应用场景下,网络设备2以泛洪方式发送的LSA的格式可以如图6E所示,图6E为10类LSA中的链路TLV的示意图。

基于与上述方法同样的发明构思,本发明实施例还提供一种流量控制装置,应用于包括第一网络设备和第二网络设备的系统或者应用于包括SDN控制器、第一网络设备和第二网络设备的系统中,第二网络设备上配置有包括多个成员接口的聚合接口,且该流量控制装置应用在第一网络设备上。其中,该流量控制装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的第一网络设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图7所示,为本发明提出的流量控制装置所在的第一网络设备的一种硬件结构图,除了图7所示的处理器、非易失性存储器外,第一网络设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该第一网络设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。

如图8所示,为本发明提出的流量控制装置的结构图,所述装置包括:

获得模块11,用于获得所述第二网络设备对应的链路状态通告LSA;解析模块12,用于从所述LSA中解析出所述聚合接口的信息和所述多个成员接口的信息;控制模块13,用于利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明实施例中,所述聚合接口的信息包括所述聚合接口的带宽和标签,成员接口的信息包括所述成员接口的带宽和标签;

所述控制模块13,具体用于在利用所述聚合接口的信息和所述多个成员接口的信息对第二网络设备进行流量控制的过程中,当确定所述第二网络设备通过所述聚合接口发送流量时,则利用所述多个成员接口的带宽确定所述第二网络设备上发送流量的成员接口,并将所述成员接口的标签和所述聚合接口的标签发送给流量对应的首个网络设备,以使所述首个网络设备在发送的流量中添加所述成员接口的标签和所述聚合接口的标签,并使所述第二网络设备基于所述聚合接口的标签确定通过所述聚合接口发送流量,基于所述成员接口的标签确定通过所述成员接口发送流量。

其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

如图9所示,为本发明提出的流量控制装置的结构图,所述装置包括:获得模块21,用于获得所述第二网络设备对应的LSA;解析模块22,用于从所述LSA中解析出所述聚合接口的信息和所述多个成员接口的信息;添加模块23,用于将所述聚合接口的信息和所述多个成员接口的信息添加到边界网关协议BGP消息;发送模块24,用于将所述BGP消息发送给所述SDN控制器,以使所述SDN控制器利用所述BGP消息中携带的所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

基于与上述方法同样的发明构思,本发明实施例还提供一种流量控制装置,应用于包括第一网络设备、第二网络设备和SDN控制器的网络中的SDN控制器,第二网络设备上配置有包括多个成员接口的聚合接口。其中,该流量控制装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过流量控制装置所在的SDN控制器的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图10所示,为本发明提出的流量控制装置所在的SDN控制器的一种硬件结构图,除了图10所示的处理器、非易失性存储器外,SDN控制器还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该SDN控制器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。

如图11所示,为本发明提出的流量控制装置的结构图,所述装置包括:

接收模块31,用于接收来自所述第一网络设备的边界网关协议BGP消息;其中,所述BGP消息中携带了所述第一网络设备从所述第二网络设备对应的链路状态通告LSA中解析出的所述聚合接口的信息和所述多个成员接口的信息;解析模块32,用于从所述BGP消息中解析出所述聚合接口的信息和所述多个成员接口的信息;控制模块33,用于利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

本发明实施例中,所述聚合接口的信息包括所述聚合接口的带宽和标签,成员接口的信息包括所述成员接口的带宽和标签;

所述控制模块33,具体用于在利用所述聚合接口的信息和所述多个成员接口的信息对第二网络设备进行流量控制的过程中,当确定所述第二网络设备通过所述聚合接口发送流量时,则利用所述多个成员接口的带宽确定所述第二网络设备上发送流量的成员接口,并将所述成员接口的标签和所述聚合接口的标签发送给流量对应的首个网络设备,以使所述首个网络设备在发送的流量中添加所述成员接口的标签和所述聚合接口的标签,并使所述第二网络设备基于所述聚合接口的标签确定通过所述聚合接口发送流量,基于所述成员接口的标签确定通过所述成员接口发送流量。

其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

基于与上述方法同样的发明构思,本发明实施例还提供一种流量控制装置,应用于包括第一网络设备和第二网络设备的网络中的第二网络设备,或者应用于包括软件定义网络SDN控制器、第一网络设备和第二网络设备的网络中的第二网络设备,所述第二网络设备上配置有包括多个成员接口的聚合接口。其中,该流量控制装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过流量控制装置所在的第二网络设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图12所示,为本发明提出的流量控制装置所在的第二网络设备的一种硬件结构图,除了图12所示的处理器、非易失性存储器外,第二网络设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该第二网络设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。

如图13所示,为本发明提出的流量控制装置的结构图,所述装置包括:

获得模块41,用于获得所述聚合接口的信息和所述多个成员接口的信息;

添加模块42,用于将所述聚合接口的信息和所述多个成员接口的信息添加到链路状态通告LSA;

发送模块43,用于发送所述LSA;以使所述第一网络设备或者所述SDN控制器利用所述聚合接口的信息和所述多个成员接口的信息对所述第二网络设备进行流量控制。

所述发送模块43,还用于接收携带成员接口的标签和所述聚合接口的标签的流量;基于所述聚合接口的标签确定通过所述聚合接口发送所述流量;基于所述成员接口的标签确定通过所述成员接口发送所述流量。

其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

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