首页> 中国专利> 一种BGP逻辑拓扑生成的方法及装置

一种BGP逻辑拓扑生成的方法及装置

摘要

本发明公开了一种BGP逻辑拓扑生成的方法及装置,涉及通信领域。该方法包括:控制器获取第一转发设备的节点信息及第一转发设备的BGP会话信息,并且获取第二转发设备的节点信息及第二转发设备的BGP会话信息,控制器根据获得的第一转发设备的节点信息、BGP会话信息、第二转发设备的节点信息及BGP会话信息生成第一转发设备和第二转发设备之间的BGP逻辑拓扑。通过本发明提供的技术方案能够实现控制器收集转发设备的BGP逻辑拓扑,有利于实现控制器对运行BGP协议的转发设备进行管理。

著录项

  • 公开/公告号CN105337939A

    专利类型发明专利

  • 公开/公告日2016-02-17

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201410374741.6

  • 发明设计人 庄顺万;阴元斌;宋宝华;许健彬;

    申请日2014-07-31

  • 分类号H04L29/06(20060101);H04L12/721(20130101);

  • 代理机构11274 北京中博世达专利商标代理有限公司;

  • 代理人申健

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-12-18 14:16:33

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-04-19

    授权

    授权

  • 2016-04-20

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20140731

    实质审查的生效

  • 2016-02-17

    公开

    公开

说明书

技术领域

本发明涉及通信领域,尤其涉及一种边界网关协议(BorderGatewayProtocol,BGP)逻辑拓扑生成的方法及设备。

背景技术

AS(AutonomousSystem,自治域系统)是互联网中能够自主地决定在该系统中采用何种路由协议的小型网络。AS系统可以是一个简单的网络单元,也可以是由至少一个网络管理设备控制的多个网络单元组成的网络群体。

BGP是一种用于AS系统之间的路由协议,主要用于在AS系统之间交换路由信息,以便于控制器获取路由信息后构建AS系统之间数据的传播路径。

随着网络技术的不断成熟和发展,网络集中控制成为未来网络发展的一种趋势。在集中控制网络中有两类设备:控制器(Controller)和转发设备(Forwarder)。控制器负责对网络进行集中控制,为转发设备下发转发表项,而转发设备则进行报文匹配和转发。现有技术中,没有一种技术方案能够有效的实现控制器对转发设备进行BGP逻辑拓扑的收集,不利于控制器对运行BGP协议的转发设备进行管理。

发明内容

本发明的实施例提供一种BGP逻辑拓扑生成的方法及设备,能够实现控制器收集转发设备的BGP逻辑拓扑,有利于实现控制器对运行BGP协议的转发设备进行管理。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,本发明实施例提供一种BGP逻辑拓扑生成的方法,所述方法适用于控制和转发分离的网络系统,所述网络系统包括控制器、第一转发设备和第二转发设备,所述第一转发设备和所述第二转发设备之间建立BGP会话,所述方法包括:

所述控制器获取所述第一转发设备的节点信息及所述第一转发设备的BGP会话信息,所述第一转发设备的节点信息包括所述第一转发设备的BGP路由标识(Route-ID)和所述第一转发设备所属的自治域系统号;

所述控制器获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息,所述第二转发设备的节点信息包括所述第二转发设备的BGPRoute-ID和所述第二转发设备所属的自治域系统号;

所述控制器根据所述第一转发设备的节点信息、所述第一转发设备的BGP会话信息、所述第二转发设备的节点信息和所述第二转发设备的BGP会话信息生成所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑,所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑包括所述第一转发设备和所述第二转发设备之间的BGP会话关系。

结合第一方面,在第一种可能的实现方式中,

所述第一转发设备的BGP会话信息包括所述第一转发设备建立BGP会话的接口地址信息、与所述第一转发设备建立BGP会话的所述第二转发设备的接口地址信息、所述第二转发设备所属的自治域系统号和所述第二转发设备的Route-ID;

所述第二转发设备的BGP会话信息包括所述第二转发设备建立BGP会话的接口地址信息、与所述第二转发设备建立BGP会话的所述第一转发设备的接口地址信息、所述第一转发设备所属的自治域系统号和所述第一转发设备的Route-ID。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述控制器根据所述第一转发设备的节点信息、所述第一转发设备的BGP会话信息、所述第二转发设备的节点信息和所述第二转发设备的BGP会话信息生成所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑,包括:

当所述控制器判断所述第一转发设备的BGP会话信息和所述第二转发设备信息中均包含所述第二转发设备的Route-ID时,确定所述第二转发设备与所述第一转发设备建立BGP会话,当判断所述第一转发设备所属的自治域系统号与所述第二转发设备所属的自治域系统号相同,则确定所述第一转发设备与所述第二转发设备建立的BGP会话类型为内部边界网关协议IBGP会话,当判断所述第一转发设备所属的自治域系统号与所述第二转发设备所属的自治域系统号不同,则所述第一转发设备与所述第二转发设备建立的BGP会话类型为外部边界网关协议EBGP会话;

所述控制器根据所述第一转发设备的节点信息、所述第一转发设备的BGP会话信息、所述第二转发设备的节点信息和所述第二转发设备的BGP会话信息建立所述第一转发设备和所述第二转发设备之间的BGP会话对应关系,形成所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑。

结合第一方面至第一方面的第二种可能的实现方式中任一实现方式,在第三种可能的实现方式中,在所述控制器获取所述第一转发设备的节点信息及所述第一转发设备的BGP会话信息之前,还包括:

所述控制器基于开放流(Openflow)协议或直径(Diameter)协议与所述第一转发设备建立第一通信通道;

所述控制器通过所述第一通信通道获取所述第一转发设备的节点信息及所述第一转发设备的BGP会话信息。

结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,

所述第一转发设备和所述第二转发设备属于同一自治域,所述第一转发设备保存有所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息,所述方法还包括:

所述控制器通过与所述第一转发设备建立的所述第一通信通道获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息。

结合第一方面至第一方面的第二种可能的实现方式中任一实现方式,在第五种可能的实现方式中,在所述控制器获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息之前包括:

所述控制器基于Openflow协议或Diameter协议与所述第二转发设备建立第二通信通道;

所述控制器通过所述第二通信通道获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息。

第二方面,本发明实施例提供一种控制器,应用于控制和转发分离的网络系统,所述网络系统包括所述控制器、第一转发设备和第二转发设备,所述第一转发设备和所述第二转发设备之间建立BGP会话,所述控制器包括:

获取单元,用于获取所述第一转发设备的节点信息及所述第一转发设备的BGP会话信息,并且获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息,所述第一转发设备的节点信息包括所述第一转发设备的BGP路由标识Route-ID和所述第一转发设备所属的自治域系统号,所述第二转发设备的节点信息包括所述第二转发设备的BGP路由标识Route-ID和所述第二转发设备所属的自治域系统号;

逻辑拓扑单元,用于根据所述获取单元获取的所述第一转发设备的节点信息、所述第一转发设备的BGP会话信息、所述第二转发设备的节点信息和所述第二转发设备的BGP会话信息生成所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑,所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑包括所述第一转发设备和所述第二转发设备之间的BGP会话关系。

结合第二方面,在第一种可能的实现方式中,

所述第一转发设备的BGP会话信息包括所述第一转发设备建立BGP会话的接口地址信息、与所述第一转发设备建立BGP会话的所述第二转发设备的接口地址信息、所述第二转发设备所属的自治域系统号和所述第二转发设备的Route-ID;

所述第二转发设备的BGP会话信息包括所述第二转发设备建立BGP会话的接口地址信息、与所述第二转发设备建立BGP会话的所述第一转发设备的接口地址信息、所述第一转发设备所属的自治域系统号和所述第一转发设备的Route-ID。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述逻辑拓扑单元包括判断子单元及连接子单元;

其中,所述判断子单元,用于判断所述第一转发设备的BGP会话信息和所述第二转发设备信息中均包含所述第二转发设备的Route-ID时,确定所述第二转发设备与所述第一转发设备建立BGP会话,当判断所述第一转发设备所属的自治域系统号与所述第二转发设备所属的自治域系统号相同,则确定所述第一转发设备与所述第二转发设备建立的BGP会话类型为IBGP会话,当判断所述第一转发设备所属的自治域系统号与所述第二转发设备所属的自治域系统号不同,则所述第一转发设备与所述第二转发设备建立的BGP会话类型为EBGP会话;

所述连接子单元,用于根据所述第一转发设备的节点信息、所述第一转发设备的BGP会话信息、所述第二转发设备的节点信息和所述第二转发设备的BGP会话信息建立所述第一转发设备和所述第二转发设备之间的BGP会话对应关系,形成所述第一转发设备和所述第二转发设备之间的BGP逻辑拓扑。

结合第二方面至第二方面的第二种可能的实现方式中任一实现方式,在第三种可能的实现方式中,所述控制器还包括第一通信单元;

所述第一通信单元,用于基于Openflow协议或Diameter协议与所述第一转发设备建立第一通信通道;

所述获取单元,还用于通过所述第一通信单元建立的所述第一通信通道获取所述第一转发设备的节点信息及所述第一转发设备的BGP会话信息。

结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,

所述第一转发设备和所述第二转发设备属于同一自治域,所述第一转发设备保存有所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息;

所述获取单元,还用于通过与所述第一转发设备建立的所述第一通信通道获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息。

结合第二方面至第二方面的第二种可能的实现方式中任一实现方式,在第五种可能的实现方式中,所述控制器还包括第二通信单元;

所述第二通信单元,用于基于Openflow协议或Diameter协议与所述第二转发设备建立第二通信通道;

所述获取单元,还用于通过所述第二通信单元建立的所述第二通信通道获取所述第二转发设备的节点信息及所述第二转发设备的BGP会话信息。

本发明的实施例提供的一种BGP逻辑拓扑生成的方法,通过获取第一转发设备的节点信息及第一转发设备的BGP会话信息,并且获取第二转发设备的节点信息及第二转发设备的BGP会话信息,生成第一转发设备和第二转发设备之间的BGP逻辑拓扑,能够实现控制器收集转发设备的BGP逻辑拓扑,有利于实现控制器对运行BGP协议的转发设备进行管理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的实施例提供的一种BGP逻辑拓扑生成的方法流程示意图;

图2为本发明的实施例提供的一种网络系统结构示意图;

图3为本发明的实施例提供的另一种网络系统结构示意图;

图4为本发明的实施例提供的又一种网络系统结构示意图;

图5为本发明的实施例提供的一种控制器结构示意图;

图6为本发明的另一实施例提供的一种控制器结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的实施例提供一种BGP逻辑拓扑生成的方法,方法适用于控制和转发分离的网络系统,可选的,该网络系统包括控制器、第一转发设备和第二转发设备,第一转发设备和第二转发设备之间建立BGP会话,参照图1所示,方法包括以下步骤:

101、控制器获取第一转发设备的节点信息及第一转发设备的BGP会话信息,第一转发设备的节点信息包括第一转发设备的BGP路由标识Route-ID和第一转发设备所属的自治域系统号。

102、控制器获取第二转发设备的节点信息及第二转发设备的BGP会话信息,第二转发设备的节点信息包括第二转发设备的BGPRoute-ID和第二转发设备所属的自治域系统号。

其中,第一转发设备的节点信息包括第一转发设备的BGPRoute-ID和第一转发设备所属的自治域系统号;第二转发设备的节点信息包括第二转发设备的BGPRoute-ID和第二转发设备所属自治域系统号。

可选的,在控制器获取第一转发设备的节点信息及第一转发设备的BGP会话信息之前,还包括:

控制器基于Openflow协议或Diameter协议与第一转发设备建立第一通信通道;

控制器通过第一通信通道获取第一转发设备的节点信息及第一转发设备的BGP会话信息。

可选地,在控制器获取第二转发设备的节点信息及第二转发设备的BGP会话信息之前包括:

控制器基于Openflow协议或Diameter协议与第二转发设备建立第二通信通道;

控制器通过第二通信通道获取第二转发设备的节点信息及第二转发设备的BGP会话信息。

可选的,控制器通过以下两种方式建立第一通信通道和第二通信通道。

第一种方式:参照图2所示,图2中的网络系统包括两个区域,当然此处以两个区域为例进行说明,并不代表本实施例中的网络系统只能包含两个区域。第一区域属于自治域系统X,第二区域属于自治域系统Y,在同一个自治域系统内,转发设备之间的数据传输使用的是IBGP,在不同的自治域系统之间,如图2所示,自治域系统X与自治域系统Y之间,节点之间的数据传输使用的是EBGP。图2所示的网络系统中,第一转发设备和第二转发设备同属于自治域系统X,第一转发设备保存有第二转发设备的节点信息及第二转发设备的BGP会话信息,控制器基于Openflow协议或Diameter协议与第一转发设备建立第一通信通道,控制器通过第一通信通道获取第一转发设备的节点信息及第一转发设备的BGP会话信息,并且通过第一通信通道获取第二转发设备的节点信息及第二转发设备的BGP会话信息。

第二种方式:参照图3所示,图3中的网络系统包含第一自治域和第二自治域,第一转发设备属于自治域系统X,第二转发属于自治域系统Y。控制器基于Openflow协议或Diameter协议与第一转发设备建立第一通信通道,控制器通过第一通信通道获取第一转发设备的节点信息及第一转发设备的BGP会话信息,控制器基于Openflow协议或Diameter协议与第二转发设备建立第二通信通道,控制器通过第二通信通道获取第二转发设备的节点信息及第二转发设备的BGP会话信息。

当然,如图2和图3所示的应用场景,网络系统中的转发设备可以是多个,对此本发明不做限制。

可选的,在一种应用场景中,第一转发设备及第二转发设备的节点信息还可以包括协议类型标识。协议类型标识用于指示该设备进行数据传输时使用哪种协议。

进一步可选的,如表一所示,协议类型可以是IS-IS(IntermediateSystemtoIntermediateSystemRoutingProtocol,中间系统到中间系统的路由选择协议)、OSPF(OpenShortestPathFirst,开放式最短路径优先)协议、Direct(直连路由)协议、Static(静态路由)协议以及BGP中的一种。当然,此处以这几个类型的协议为例进行说明,并不代表本实施例中节点的协议类型只能是这几种协议。

表一

协议类型标识 协议名称 0 其他协议 1 一级IS-IS 2 二级IS-IS 3 OSPF 4 Direct 5 Static 6 BGP

另外,可选的,第一转发设备的BGP会话信息可以包括第一转发设备建立BGP会话的接口地址信息、与第一转发设备建立BGP会话的第二转发设备的接口地址信息、第二转发设备的Route-ID及第二转发设备的AS号,第二转发设备的BGP会话信息包括第二转发设备建立BGP会话的接口地址信息、与第二转发设备建立BGP会话的第一转发设备的接口地址信息、第一转发设备所属的自AS号和第一转发设备的Route-ID。可选的,BGP会话信息还可以包括地址族标识AFI/子地址族标识SAFI,RR(RouteReflector,反射路由器)标记以及下一跳为本地的标记中的一种或者多种。具体可选的,Route-ID可以是第四版互联网协议(InternetProtocolVersion4,IPV4)地址或者第六版互联网协议(InternetProtocolVersion6,IPV6)地址,当然,此处以IPV4和IPV6协议为例进行说明,本实施例并不局限于此。AFI用于指示路由类型,SAFI用于指示传播类型,RR标记用于指示链路描述信息中所描述的链路有一端为RR,下一跳为本地的标记用于指示数据传输的下一个节点为本地节点。

参照表二及表三,表二示出了节点信息包含的内容,表三示出了BGP会话信息包含的内容,当然表二和表三只是示例性说明节点信息与BGP会话信息的形式,并不代表本实施例局限于此。

表二

结合表一中协议类型标识,表二中协议类型为6,表示该节点使用的是BGP协议,AS号为X表示,该节点属于自治域系统X。

表三

参照表三中的内容,可选的,第一转发设备可以是本地节点,第二转发设备为远端节点,或者,第一转发设备为远端节点,第二转发设备为本地节点。

结合表一中协议类型标识,表三中协议类型标识为6表示该节点使用的协议为BGP协议,本地节点的AS号与远端节点的AS号同为X标识,即本地节点与远端节点均属于自治域系统X,AFI=1表示该链路使用的互联网协议为IPV4,SAFI=4表示该链路传播数据的方式为组播,下一跳为本地节点的标记为Enable表示该链路下一跳为本地节点。

103、控制器根据第一转发设备的节点信息、第一转发设备的BGP会话信息、第二转发设备的节点信息和第二转发设备的BGP会话信息生成第一转发设备和第二转发设备之间的BGP逻辑拓扑,第一转发设备和第二转发设备之间的BGP逻辑拓扑包括第一转发设备和第二转发设备之间的BGP会话关系。

具体的,控制器根据第一转发设备的节点信息、第一转发设备的BGP会话信息、第二转发设备的节点信息和第二转发设备的BGP会话信息生成第一转发设备和第二转发设备之间的BGP逻辑拓扑。第一转发设备和第二转发设备之间的BGP逻辑拓扑包括第一转发设备和第二转发设备之间的BGP会话关系。

具体的,当控制器判断第一转发设备的BGP会话信息和第二转发设备信息中均包含第二转发设备的Route-ID时,确定第二转发设备与第一转发设备建立BGP会话,当判断第一转发设备所属的自治域系统号与第二转发设备所属的自治域系统号相同,则确定第一转发设备与第二转发设备建立的BGP会话类型为IBGP会话,当判断第一转发设备所属的自治域系统号与第二转发设备所属的自治域系统号不同,则确定第一转发设备与第二转发设备建立的BGP会话类型为EBGP会话。控制器根据第一转发设备的Route-ID及自治域系统号、第一转发设备的BGP会话信息、第二转发设备的Route-ID及自治域系统号、第二转发设备的BGP会话信息建立第一转发设备和第二转发设备之间的BGP会话对应关系,形成第一转发设备和第二转发设备之间的BGP逻辑拓扑,进而控制器可以获知该第一转发设备和第二转发设备之间建的BGP会话信息。控制器通过上述获得第一转发设备和第二转发设备之间BGP逻辑拓扑的方式,可以进一步获取控制器所管理的网络中所有转发设备之间的BGP会话信息,生成该网络的所有运行BGP协议的转发设备之间的BGP逻辑拓扑,有利于实现控制器对运行BGP协议的转发设备进行BGP会话的管理和维护。

当然,本发明提供的BGP逻辑拓扑生成的方法,也可以应用于包含多个网络节点的网络系统中,如图4所示,该网络系统可以是无缝多协议标签交换(SeamlessMulti-ProtocolLabelSwitching,SeamlessMPLS)网络,包括自治域系统X及自治域系统Y,控制器1可以是主控制器(MainController)控制器1通过控制器2和控制器3管理自治域系统X及自治域系统Y。控制器2可以是移动回传网络控制器(MobileBackhaulController,MBHController),控制器2可以通过与转发设备B建立的通信通道获取自治域系统X内各个转发设备的节点信息及BGP会话信息,控制器3可以是核心控制器(CoreController),控制器3可以通过与过转发设备E建立的通信通道获取自治域系统Y内各个转发设备的节点信息及BGP会话信息,或者,控制器2和控制器3通过与自治域系统X及自治域系统Y内各个转发设备建立的通信通道获取每个转发设备的节点信息及BGP会话信息。其中,具体的,转发设备A可以是接入网关-路由反射器(AccessGatewayRouteReflector,AG-RR),转发设备C和转发设备E可以是自治系统边界路由器(AutonomousSystemBorderRouter,ASBR),转发设备D可以是核心网-路由反射器(CoreNetworkRouteReflector,CN-RR)。

各个转发设备的节点信息及BGP会话信息的具体内容参照图1对应的实施例中步骤101的描述,在此不做赘述。在图4所示的网络系统中,转发设备A与转发设备B在同一自治域系统内,转发设备A与转发设备B的节点信息具有相同的自治域系统号,因此转发设备A与转发设备B建立的BGP会话类型为IBGP,自治域系统X内其他各个转发设备也可以相互建立IBGP会话。转发设备B与转发设备C位于不同的自治域系统内,转发设备B与转发设备C的节点信息具有不同的自治域系统号,因此转发设备B与转发设备C建立的BGP会话类型为EBGP,分别位于自治域系统X与自治域系统Y的转发设备也可以相互建立EBGP会话。控制器1在通过照图1的方法可以获得转发设备A、B、C、D、E之间的BGP逻辑拓扑。

本实施例提供的BGP逻辑拓扑生成的方法,通过控制器与转发设备建立控制通道,进而获取第一转发设备的节点信息及第一转发设备的BGP会话信息,并且获取第二转发设备的节点信息及第二转发设备的BGP会话信息,生成第一转发设备和第二转发设备之间的BGP逻辑拓扑,能够实现控制器收集转发设备的BGP逻辑拓扑,有利于实现控制器对运行BGP协议的转发设备进行管理。

结合上述图1对应的实施例,本发明的实施例提供一种控制器,该控制器可以用于执行上述图1对应的实施例所描述的方法,应用于控制和转发分离的网络系统,网络系统包括控制器、第一转发设备和第二转发设备,第一转发设备和第二转发设备之间建立BGP会话,参照图5所示,该控制器50包括:获取单元501、逻辑拓扑单元502。

其中,获取单元501,用于获取第一转发设备的节点信息及第一转发设备的BGP会话信息,并且获取第二转发设备的节点信息及第二转发设备的BGP会话信息,第一转发设备的节点信息包括第一转发设备的BGPRoute-ID和第一转发设备所属的自治域系统号,第二转发设备的节点信息包括第二转发设备的BGPRoute-ID和第二转发设备所属的自治域系统号;

逻辑拓扑单元502,用于根据获取单元501获取的第一转发设备的节点信息、第一转发设备的BGP会话信息、第二转发设备的节点信息和第二转发设备的BGP会话信息生成第一转发设备和第二转发设备之间的BGP逻辑拓扑,第一转发设备和第二转发设备之间的BGP逻辑拓扑包括第一转发设备和第二转发设备之间的BGP会话关系。

可选的,第一转发设备的BGP会话信息包括第一转发设备建立BGP会话的接口地址信息、与第一转发设备建立BGP会话的第二转发设备的接口地址信息、第二转发设备所属的自治域系统号和第二转发设备的Route-ID。

第二转发设备的BGP会话信息包括第二转发设备建立BGP会话的接口地址信息、与第二转发设备建立BGP会话的第一转发设备的接口地址信息、第一转发设备所属的自治域系统号和第一转发设备的Route-ID。

具体可选的,逻辑拓扑单元502包括:判断子单元5021及连接子单元5022。

其中,判断子单元5021,用于判断第一转发设备的BGP会话信息和第二转发设备信息中均包含第二转发设备的Route-ID时,确定第二转发设备与第一转发设备建立BGP会话。

连接子单元5022,用于根据第一转发设备的节点信息、第一转发设备的BGP会话信息、第二转发设备的节点信息和第二转发设备的BGP会话信息建立第一转发设备和第二转发设备之间的BGP会话对应关系,形成第一转发设备和第二转发设备之间的BGP逻辑拓扑。

可选的,在一种应用场景中,控制器50还包括第一通信单元503。

第一通信单元503,用于基于Openflow协议或Diameter协议与第一转发设备建立第一通信通道。

获取单元501,还用于通过第一通信单元503建立的第一通信通道获取第一转发设备的节点信息及第一转发设备的BGP会话信息。

进一步可选的,第一转发设备和第二转发设备属于同一自治域,第一转发设备保存有第二转发设备的节点信息及第二转发设备的BGP会话信息。

获取单元,还用于通过与第一转发设备建立的第一通信通道获取第二转发设备的节点信息及第二转发设备的BGP会话信息。

可选的,在另一种应用场景中,控制器50还包括第二通信单元504。

第二通信单元504,用于基于Openflow协议或Diameter协议与第二转发设备建立第二通信通道。

获取单元501,还用于通过第二通信单元504建立的第二通信通道获取第二转发设备的节点信息及第二转发设备的BGP会话信息。

本实施例提供的控制器,通过控制器与转发设备建立控制通道,获取第一转发设备的节点信息及第一转发设备的BGP会话信息,并且获取第二转发设备的节点信息及第二转发设备的BGP会话信息,生成第一转发设备和第二转发设备之间的BGP逻辑拓扑,能够实现控制器收集转发设备的BGP逻辑拓扑,有利于实现控制器对运行BGP协议的转发设备进行管理。

本发明的另一实施例提供一种控制器60,该控制器可以用于执行上述图1对应的实施例所描述的方法。参照图6所示,该设备可以嵌入或本身就是微处理计算机,比如:通用计算机、客户定制机、手机终端或平板机等便携设备,该控制器60包括:至少一个处理器601、存储器602、总线603、发射器604和接收器605,该至少一个处理器601、存储器602、发射器604和接收器605通过总线603连接并完成相互间的通信。

该总线603可以是ISA(IndustryStandardArchitecture,工业标准体系结构)总线、PCI(PeripheralComponent,外部设备互连)总线或EISA(ExtendedIndustryStandardArchitecture,扩展工业标准体系结构)总线等。该总线603可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:

存储器602用于执行本发明方案的应用程序代码,执行本发明方案的应用程序代码保存在存储器中,并由处理器601来控制执行。

该存储器可以是只读存储器ROM或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器EEPROM、只读光盘CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。这些存储器通过总线与处理器相连接。

处理器601可能是一个中央处理器(CentralProcessingUnit,CPU),或者是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。

处理器601,用于调用存储器602中的程序代码,用以执行上述图5对应的设备实施例中获取单元及逻辑拓扑单元的操作,具体描述参照图5对应的设备实施例,这里不再赘述。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括随机存储器(RandomAccessMemory,RAM)、只读内存(ReadOnlyMemory,ROM)、电可擦可编程只读存储器(ElectricallyErasableProgrammableReadOnlyMemory,EEPROM)、只读光盘(CompactDiscReadOnlyMemory,CD-ROM)或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户专线(DigitalSubscriberLine,DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的,盘和碟包括压缩光碟(CompactDisc,CD)、激光碟、光碟、数字通用光碟(DigitalVersatileDisc,DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号