转发节点的物理拓扑信息的获取方法、控制器和转发节点与流程

文档序号:11180401阅读:560来源:国知局
转发节点的物理拓扑信息的获取方法、控制器和转发节点与流程
本发明涉及通信
技术领域
,尤其涉及一种转发节点的物理拓扑信息的获取方法、控制器和转发节点。
背景技术
:在软件定义网络(英文:softwaredefinednetwork,简称:sdn)网络中,控制器作为集中管理网络的核心部件,需要能够收集到网络的逻辑拓扑和物理拓扑。逻辑拓扑指网络层的网络拓扑,如转发节点、子网之间的路由连接关系;物理拓扑指物理层的网络拓扑,如转发节点之间的物理接口连接关系。目前控制器收集物理拓扑的方法是:由转发节点收集该转发节点的信息以及该转发节点与其相邻节点的物理接口连接关系,并将收集到的上述信息保存在该转发节点的管理信息库(英文:managementinformationbase,简称:mib)中;由控制器或网络管理系统通过简单网络管理协议(英文:simplenetworkmanagementprotocol,简称:snmp),从各转发节点的mib中获取各转发节点的信息以及各转发节点与其相邻节点的物理接口连接关系,进而合并得到整个网络的物理拓扑。但这种基于snmp收集物理拓扑的方法有以下缺陷:(1)、snmp是用户数据报协议(英文:userdatagramprotocol,简称:udp),没有重传机制,可靠性较差;(2)、snmp使用轮询机制,并且采用请求-应答方式,控制器需要向每一个转发节点发送请求,进而从转发节点的响应中获取该转发节点的信息以及该转发节点与其相邻节点的物理接口连接关系,生成物理拓扑的速度慢。技术实现要素:本申请提供一种转发节点的物理拓扑信息的获取方法、控制器和转发节点,用于解决收集物理拓扑存在的可靠性差、生成物理拓扑速度慢的问题。本申请第一方面,提供了一种转发节点的物理拓扑信息的获取方法,包括:控制器接收来自转发节点的bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;所述控制器从所述bgp报文中获取所述物理拓扑信息。通过上述实现方式,转发节点可以根据扩展后的bgp协议,通过bgp报文主动将该转发节点的信息以及该转发节点与其相邻节点的物理接口连接关系发送给控制器,无需控制器发起请求;并且,由于bgp协议采用了传输控制协议(英文:transmissioncontrolprotocol,简称:tcp)作为其承载协议,利用了tcp是面向连接的协议,可以通过重传等机制保证数据传输的可靠性。本申请第二方面,提供了一种转发节点的物理拓扑信息的获取方法,包括:转发节点获取所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;所述转发节点向控制器发送bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息。本申请第三方面,提供了一种控制器,所述控制器具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。一种可能的实现方式中,所述控制器包括接收单元和获取单元:所述接收单元,用于接收来自转发节点的bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发 节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;所述获取单元,用于从所述接收单元接收的所述bgp报文中获取所述物理拓扑信息。另一种可能的实现方式中,所述控制器包括网络接口和处理器,所述网络接口和所述处理器之间通过总线系统相互连接;所述处理器用于执行以下操作:通过所述网络接口接收来自转发节点的bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;从所述网络接口接收的所述bgp报文中获取所述物理拓扑信息。本申请第四方面,提供了一种转发节点,所述转发节点具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。一种可能的实现方式中,所述转发节点包括获取单元和发送单元:所述获取单元,用于获取所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;所述发送单元,用于向控制器发送bgp报文,所述bgp报文中携带所述获取单元获取到的所述转发节点的物理拓扑信息。另一种可能的实现方式中,所述控制器包括网络接口和处理器,所述网络接口和所述处理器之间通过总线系统相互连接;所述处理器用于执行以下操作:获取所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;通过所述网络接口向控制器发送bgp报文,所述bgp报文中携带获取到 的所述转发节点的物理拓扑信息。基于第一方面,第二方面,第三方面或第四方面的任一方面:在一个可能的设计中,所述bgp报文还可以包括第一指示信息,所述第一指示信息用于指示所述转发节点获取所述物理拓扑信息所使用的协议。在一个可能的设计中,所述bgp报文还可以包括第二指示信息,所述第二指示信息用于指示所述bgp报文携带的拓扑信息为所述物理拓扑信息。在一个可能的设计中,所述转发节点的标识可以包括以下至少之一:所述转发节点的ip地址,所述转发节点的名称和所述转发节点的mac地址;所述转发节点的物理接口的标识可以包括以下至少之一:所述转发节点的物理接口的名称、所述转发节点的物理接口的mac地址和所述转发节点的物理接口的ip地址。以上关于转发节点的标识和转发节点的物理接口的标识的定义参考了标准rfc2922,如此便于标准之间的兼容。在一个可能的设计中,所述bgp报文可以为bgp更新报文,所述bgp更新报文包括nlri字段,所述物理拓扑信息携带在所述nlri字段中。在一个可能的设计中,所述bgp报文可以为bgp更新报文,所述bgp更新报文包括nlri字段,所述第一指示信息携带在所述nlri字段中。在一个可能的设计中,所述bgp报文可以为bgp更新报文,所述bgp更新报文包括nlri字段,所述第二指示信息携带在所述nlri字段中。在一个可能的设计中,所述物理拓扑信息可以携带在所述nlri字段的lsnlri域中。其中,这里的lsnlri可以是标准rfc7752中已定义的lsnlri域。在一个可能的设计中,所述nlri字段还可以包括所述转发节点的设备描述信息和接口描述信息。其中,设备描述信息和接口描述信息可理解为一种备注信息,如可以在某转发节点的设备描述信息中注明此转发节点所在的城市街道,又如可以在某转发节点的接口描述信息中注明此接口与位于哪个城市的转 发节点相连。利用本申请提供的方案,通过扩展bgp协议,由转发节点主动将该转发节点的物理拓扑信息携带在扩展后的bgp报文中发送给控制器,从而控制器通过合并这些物理拓扑信息,可以得到整个网络的物理拓扑。附图说明图1为本申请提供的一种转发节点的物理拓扑信息的获取方法应用的系统架构的示意图;图2为本申请提供的一种转发节点的物理拓扑信息的获取方法的流程示意图;图3为现有技术中bgpupdate报文的格式示意图;图4为现有技术中nlri字段的格式示意图;图5为现有技术中nodenlri的格式示意图;图6为现有技术中linknlri的格式示意图;图7为现有技术中localnodedescriptortlv和remotenodedescriptortlv的格式示意图;图8为本申请提供的chassisidtlv的格式示意图;图9为本申请提供的portidtlv的格式示意图;图10为本申请提供的一种控制器的结构示意图;图11为本申请提供的另一种控制器的结构示意图;图12为本申请提供的一种转发节点的结构示意图;图13为本申请提供的另一种转发节点的结构示意图。具体实施方式以下,对本申请中的部分用语进行解释说明。本申请中,“转发节点”可以指网络设备,比如“网元”,可以是路由器、 交换机、光传送网(英文:opticaltransportnetwork,简称:otn)设备、分组传送网(英文:packettransportnetwork,简称:ptn)设备、波分复用(英文:wavelengthdivisionmultiplexing,简称:wdm)设备或服务器。某个转发节点的“相邻节点”是指与该转发节点直连的节点,即,所述转发节点一跳能到达的节点就是该所述转发节点的相邻节点。例如,图1中,r2的相邻节点有r1、r3和r4。本申请中,有时会使用到“本端节点”和“远端节点”来指代转发节点,具体而言,收集和发送物理拓扑信息的转发节点称作本端节点,该本端节点的相邻节点称作远端节点。“bgp”:bgp是运行于tcp上的一种自治系统的路由协议,在请求注解协议(英文:requestforcomments,简称:rfc)4271中定义了bgp使用的四种报文类型:1——开始(英文:open)报文,是tcp连接建立后发送的第一个消息,用于建立bgp连接;2——更新(英文:update)报文,用于交换路由信息,包括发布可达路由信息和撤销不可达路由信息;3——通知(英文:notification)报文,在检测到错误状态或打算关闭bgp连接时发送;4——保活(英文:keepalive)报文,bgp连接建立后周期性发送的消息,用于保持bgp连接的有效性。目前转发节点常使用bgp将收集到的路由信息发布给控制器,从而令控制器得到网络的逻辑拓扑。“链路层发现协议(英文:linklayerdiscoveryprotocol,简称:lldp)”:一个二层协议,它提供了一种标准的链路层发现方式,使得接入网络的一台设备可以将本端设备的主要能力、管理地址、设备标识、接口标识等信息发布给该设备的相邻节点,相邻节点收到这些信息后将其以标准mib的形式保存起来,以供控制器或网络管理系统查询及判断链路的通信状况。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于描述目的,而不能理解为指示或暗示相对重要性。针对收集网络物理拓扑存在的可靠性差、生成物理拓扑速度慢的问题,本 申请提出了一种解决方案,通过扩展bgp协议,由转发节点主动将该转发节点的信息、以及该转发节点与其相邻节点的物理接口的连接关系等物理拓扑信息携带在扩展后的bgp报文中发送给控制器,从而控制器通过合并这些物理拓扑信息,得到整个网络的物理拓扑。下面结合说明书附图和各实施例对本申请技术方案进行说明。本申请提供的转发节点的物理拓扑信息的获取方法,可应用于图1所示的系统,该系统包括控制器100和多个转发节点,如转发节点101、转发节点102、转发节点103、转发节点104和转发节点105。控制器100与这多个转发节点建立bgp连接后,通过合并各个节点发送的物理拓扑信息,从而得到整个网络的物理拓扑,并可以通过北向接口将网络的物理拓扑提供给用户。下面以控制器100和其中一个转发节点的信息交互举例说明,如转发节点101。控制器100,在与转发节点101建立bgp连接后,接收转发节点101发送的所述转发节点101的物理拓扑信息。控制器可以是sdn控制器、网络功能虚拟化管理和编制系统(英文:networkfunctionvirtualizationmanagementandorchestrationsystem,简称:nfv-mano)或其它具有网络配置管理能力的系统或设备。转发节点101,又名转发设备或转发器,用于转发报文。在本申请中还可以用于收集转发节点101自身的物理拓扑信息,如转发节点101的标识、转发节点101的物理接口的标识、以及转发节点101与其相邻节点的物理接口的连接关系等。当转发节点101初次收集到上述物理拓扑信息,或是转发节点101的物理拓扑信息发生变化时,无需控制器发起请求,转发节点101会主动把初次收集到的或是更新后的相关物理拓扑信息发送给控制器100。目前转发节点101在收集转发节点101自身的物理拓扑信息时常使用的协议有lldp,转发节点101可以启动lldp收集转发节点101的标识、转发节点101的物理接口的标识、以及转发节点101与转发节点101的相邻节点(即图1中的转发节点102和转发节点103)的物理接口的连接关系等物理拓扑信 息,然后把通过lldp收集到的上述物理拓扑信息存储在转发节点101内部预先设定的存储空间中;转发节点101从所述转发节点101内部预先设定的存储空间中读取上述物理拓扑信息,然后将上述物理拓扑信息携带在bgp报文中发送给控制器100。控制器100通过各转发节点发送的物理拓扑信息合并生成整个网络的物理拓扑。用户可以通过转发节点101的北向接口从转发节点101获取部分网络的物理拓扑,也可以通过控制器100的北向接口从控制器100获取整个网络的物理拓扑。用户可以是有权限读取网络拓扑的应用程序或物理设备。如图2所示为本申请提供的一种转发节点的物理拓扑信息的获取方法的流程示意图,所述方法包括:步骤201:转发节点与控制器建立bgp连接。具体过程为:转发节点和控制器完成tcp连接的三次握手,即完成syn、synack和ack这3次消息的交互,之后,先确认tcp连接成功的一方发送bgpopen报文给另一方,另一方收到该报文也返回bgpopen报文,从而建立起bgp连接。步骤202:所述转发节点获取所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系。例如,转发节点可以启动lldp获取上述物理拓扑信息。本申请对转发节点的标识和转发节点的物理接口标识的定义可以参考物理拓扑mib,即请求注解协议(英文:requestforcomments,简称:rfc)2922,即:所述转发节点的标识可以包括以下至少之一:所述转发节点的网际协议(英文:internetprotocol,简称:ip)地址,所述转发节点的名称,所述转发节点的媒体访问控制(英文:mediumaccesscontrol,简称:mac)地址和转发节点的别名等。所述转发节点的物理接口的标识可以包括以下至少之一:所述转发节点的物理接口的名称、所述转发节点的物理接口的mac地址,所述转发节点的物理接口的ip地址和所述转发节点的物理接口的别名等。所述转发节点的物理接口可以包括所述转发节点上所有物理接口,也可以包括所述转发节点的部分物理接口。可选的,所述转发节点与其相邻节点的物理接口的连接关系,可以通过所述转发节点的标识、所述转发节点与相邻节点相连的物理接口的标识、相邻节点的标识和相邻节点与所述转发节点相连的物理接口的标识这4种信息的组合来表达。例如,转发节点1通过接口1与转发节点2上的接口2相连,则可以通过转发节点1的标识、接口1的标识、转发节点2的标识和接口2的标识来唯一表示转发节点1与转发节点2之间的物理接口的连接关系。需要说明的是,上述步骤201和步骤202没有严格的先后顺序。步骤203:所述转发节点向所述控制器发送bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息。可选的,所述转发节点的物理拓扑信息可以携带在一个bgp报文中,也可以携带在多个bgp报文中。步骤204:控制器接收到来自所述转发节点的bgp报文后,从所述bgp报文中获取所述物理拓扑信息。举例来说,上述bgp报文具体可以是rfc4271中的update报文。如图3所示,bgpupdate报文中包括网络层可达信息(英文:networklayerreachabilityinformation,简称:nlri)字段。有关nlri字段的定义可以参见协议标准rfc7752,具体可以参见draft-ietf-idr-ls-distribution-13版本。图2所述的方法中的物理拓扑信息,可以携带在所述bgpupdate报文的nlri字段中。可选的,还可以在nlri中携带第一指示信息和第二指示信息,其中,所述第一指示信息用于指示所述转发节点获取所述物理拓扑信息所使用的协议, 所述第二指示信息用于指示所述nlri字段携带的拓扑信息为所述物理拓扑信息。下面将对如何通过bgpupdate报文的nlri字段中携带所述转发节点的标识、所述转发节点的物理接口标识,以及所述转发节点与其相邻节点的物理接口的连接关系等物理拓扑信息进行举例说明。在rfc7752中,nlri字段的基本格式如图4所示,包括nlri类型(英文:nlritype)域(英文:field)、nlri总长度(英文:totalnlrilength)域和链路状态(英文:link-state,简称:ls)nlri域。其中,nlritype的类型域的值定义如下表1所示。表1nlritype的类型域typenlritype1节点(node)nlri2链路(link)nlri3网际协议版本4拓扑前缀(ipv4topologyprefix)nlri4网际协议版本6拓扑前缀(ipv6topologyprefix)nlri在一种可能的示例中,本申请中将所述物理拓扑信息携带在nlri字段时,nlritype的值可以采用已定义的值,例如在link-statenlrifield中携带的是所述转发节点的标识以及所述转发节点的物理接口的标识情况下,nlritype的值可以等于1。例如在link-statenlrifield中携带的是所述转发节点与所述转发节点的相邻节点的物理接口的连接关系的情况下,nlritype的值可以等于2。在另一种可能示例中,本申请中将所述物理拓扑信息携带在nlri字段时,nlritype的值可以采用表1之外新定义的值。下面以采用nlritype的取值为1以及nlritype的取值为2的nlri字段携带所述物理拓扑信息进行举例说明。当nlritype的取值为1时,link-statenlri的基本格式如图5所示,包括协议标识(英文:protocol-id)、标识符(英文:identifier)和至少一个本端 节点描述符(英文:localnodedescriptor)。当nlritype的取值为2时,link-statenlri的基本格式如图6所示,包括protocol-id、identifier、至少一个localnodedescriptor、至少一个远端节点描述符(英文:remotenodedescriptor)和至少一个链路描述符(英文:linkdescriptor)。其中,图5和图6中的protocol-id用于指示nlri字段中携带的信息是通过哪种协议获得的,长度为1字节。本申请在protocol-id的类型域中携带上述第一指示信息,指示转发节点获取所述物理拓扑信息所使用的协议。例如,如下表2所示,1-6是标准中规定的已规定的值,7是本申请新增的值,根据表2的定义,protocol-id取7表示nlri携带的信息是通过lldp获得的。表2protocol-id的类型域需要说明的是,此处仅为举例,新增的protocol-id域的值值也可以约定与标准中已规定的protocol-id域的值不冲突的任何值。protocolid也可以用于标识其它物理拓扑发现协议。图5和图6中的identifier用于指示nlri字段中携带的信息是何种拓扑信息,长度为64比特。本申请可以在identifier的类型域中携带上述第二指示信息,指示nlri字段携带的拓扑信息为物理拓扑信息。例如,如下表3所示,0是标准中规定的已规定的值,表示nlri字段中携带的信息是三层路由拓扑,1是本申请新增的值,表示nlri携带的信息是物理拓扑。表3identifier的类型域需要说明的是,此处仅为举例,新增的identifier域的值也可以约定与标准中已规定的identifier域的值不冲突的任何值。图5和图6中的localnodedescriptor用于描述本端节点的信息,长度可变。localnodedescriptor字段的基本格式如图7所示,包括type、length和至少一个nodedescriptor子类型-长度-值(英文:sub-type-length-value,简称sub-tlv)。图6中的remotenodedescriptor用于描述相邻节点的信息,长度可变。remotenodedescriptor字段的基本格式也可参见图7,包括type、length和至少一个nodedescriptorsub-tlv。其中,本申请在图7中的nodedescriptorsub-tlv的类型域中携带设备标识(英文:chassisid)和接口标识(英文:portid)。例如,如下表4所示,512-515是标准中已规定的sub-tlvcodepoint,516和517是本申请新增的。表4nodedescriptorsub-tlv的类型域需要说明的是,此处仅为举例,新增的chassisid和portid的sub-tlvcodepoint也可以约定与标准中已规定的sub-tlvcodepoint不冲突的任何值。chassisid采用了tlv的格式,用于标识该bgpupdate报文发送者的设备标识,其格式如图8所示,包括type、length、chassisid子类型(英文:subtype)和chassisid。其中,若是根据表4中的定义,type取516时,表示该tlv为chassisidtlv。chassisid可以是设备名称(如r1)、设备mac地址和设备ip地址中的一个。因为有很多方式可用来标识一个chassisid,因此在该tlv中包含一个chassisidsubtype用于告诉接收方,发送方的chassisid采用的是哪一种标识方式。例如,为了与rfc2923的定义相匹配,可以规定chassisidsubtype为4时,chassisid携带的是mac地址。portid采用了tlv的格式,用于标识发送该bgpupdate报文的设备包括的接口,其格式如图9所示,包括type、length、portidsubtype和portid。其中,若是根据表4中的定义,type取517时,表示该tlv为portidtlv。portid可以是接口名称(如以太1、以太2)、接口mac地址和接口ip地址中的一个。因为有很多方式可用来标识一个portid,因此在该tlv中包含一个portidsubtype用于告诉接收方,发送方的portid采用的是哪一种标识方式。例如,为了与rfc2923的定义相匹配,可以规定portidsubtype为2时,portid携带的是接口名称。图6中的linkdescriptor用于描述本端节点与远端节点(即本端节点的相邻节点)的接口连接关系,即本端节点上的哪一个接口与相邻节点上的哪一个接口相连,长度可变。本申请在linkdescriptor的类型域中携带localportid和remoteportid,例如,如下表5所示,258-263是标准中已规定的codepoint,265和266是本申请新增的。其中,localportid指示本端节点上与相邻节点相连的接口,remoteportid指示相邻节点上与本端节点相连的接口。表5linkdescriptor的类型域需要说明的是,此处仅为举例,新增的localportid和remoteportid的tlvcodepoint也可以约定与标准中已规定的tlvcodepoint不冲突的任何值。localportid和remoteportid的格式可以参见图9所示的portid的格式。基于本申请上述提供的转发节点的物理拓扑信息的获取方法,本申请提供一种控制器1000,用于实现上述转发节点的物理拓扑信息的获取方法中控制器的功能,如图10所示,所述控制器1000包括接收单元1001和获取单元1002:所述接收单元1001,用于接收来自转发节点的bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系。所述获取单元1002,用于从所述接收单元1001接收的所述bgp报文中获取所述物理拓扑信息。可选的,所述bgp报文还可以包括第一指示信息,所述第一指示信息用于指示所述转发节点获取所述物理拓扑信息所使用的协议。可选的,所述转发节点的标识可以包括以下至少之一:所述转发节点的ip地址,所述转发节点的名称和所述转发节点的mac地址。可选的,所述转发节点的物理接口的标识可以包括以下至少之一:所述转发节点的物理接口的名称、所述转发节点的物理接口的mac地址和所述转发节点的物理接口的ip地址。可选的,所述bgp报文可以为bgp更新报文,所述bgp更新报文包括nlri字段,所述物理拓扑信息携带在所述nlri字段中。可选的,所述bgp报文可为bgp更新报文,所述bgp更新报文包括nlri字段,所述第一指示信息携带在所述nlri字段中。可选的,所述物理拓扑信息可以携带在所述nlri字段的lsnlri域中。本实施例中未尽之细节可参考上述图2所示方法中控制器的描述,在此不再赘述。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。其中,集成的单元采用硬件的形式实现时,所述接收单元1001对应的实体的硬件可以是网络接口,例如图11的网络接口1101,所述获取单元1002对应的实体的硬件可以为处理器,例如图11的处理器1102。基于上述提供的转发节点的物理拓扑信息的获取方法,本申请还提供一种控制器1100,如图11所示,控制器1100包括网络接口1101和处理器1102,例如,所述网络接口1101和所述处理器1102通过总线1103相互连接。所述处理器1102用于执行以下操作:通过所述网络接口1101接收来自转发节点的bgp报文,所述bgp报文中携带所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;从所述网络接口1101接收的所述bgp报文中获取所述物理拓扑信息。所述网络接口1101可以是有线接口,例如光纤分布式数据接口(英文:fiberdistributeddatainterface,简称:fddi)、以太网(英文:ethernet)接口。网络接口1101也可以是无线接口,例如无线局域网接口。所述处理器1102可以是通用处理器,包括中央处理器(英文:centralprocessingunit,简称:cpu)、网络处理器(英文:networkprocessor,简称:np)等;还可以是数字信号处理器(英文:figitalsignalprocessor,简称:dsp)、专用集成电路(英文:application-specificintegratedcircuit,简称:asic)、现场可编程门阵列(英文:field-programmablegatearray,简称:fpga)或者其他可编程逻辑器件等。所述处理器1102为cpu时,所述控制器1100还可以包括:存储器,用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含随机存取存储器(英文:randomaccessmemory,简称:ram),也可能还包括非易失性存储器(英文:non-volatilememory),例如至少一个磁盘存储器。所述处理器1102执行所述存储器中存储的程序代码,实现上述功能。基于本申请上述提供的转发节点的物理拓扑信息的获取,本申请提供一种转发节点1200,用于实现上述转发节点的物理拓扑信息的获取方法中转发节点的功能,如图12所示,所述转发节点1200包括获取单元1201和发送单元1202:所述获取单元1201,用于获取所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系。发送单元1202,用于向控制器发送bgp报文,所述bgp报文中携带所述获取单元1201获取到的所述转发节点的物理拓扑信息。需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。其中,集成的单元采用硬件的形式实现时,所述获取单元1201对应的实体的硬件可以为处理器,例如图13所示的处理器1301,所述发送单元1202对应的实体的硬件可以为网络接口,例如图13所示的网络接口1302。基于上述提供的转发节点的物理拓扑信息的获取方法,本申请还提供一种转发节点1300,如图13所示,转发节点1300包括处理器1301和网络接口1302,例如,所述处理器1301和所述网络接口1302通过总线1303相互连接。所述处理器1301用于执行以下操作:获取所述转发节点的物理拓扑信息,所述转发节点的物理拓扑信息包括所述转发节点的标识、所述转发节点的物理接口的标识,以及所述转发节点与所述转发节点的相邻节点的物理接口的连接关系;通过所述网络接口1302向控制器发送bgp报文,所述bgp报文中携带获取到的所述转发节点的物理拓扑信息。所述网络接口1302可以是有线接口,例如光纤分布式数据接口(英文:fiberdistributeddatainterface,简称:fddi)、以太网(英文:ethernet)接口。网络接口503也可以是无线接口,例如无线局域网接口。所述处理器1301可以是通用处理器,包括中央处理器、网络处理器等;还可以是数字信号处理器、专用集成电路)、现场可编程门阵列或者其他可编程逻辑器件等。所述处理器1301为cpu时,所述转发节点1300还可以包括:存储器, 用于存储程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可能包含随机存取存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。所述处理器1301执行所述存储器中存储的程序代码,实现上述功能。综上所述,采用本申请提供的技术方案,转发节点根据扩展后的bgp协议,可以主动将该转发节点的物理拓扑信息通过bgp更新报文发送给控制器,而无需控制器发起请求;并且,由于bgp协议采用了tcp作为其承载协议,利用了tcp是面向连接的协议,可以通过重传等机制保证数据传输的可靠性。此外,转发节点可以实现通过一条bgp报文便将逻辑拓扑信息和物理拓扑信息一同传递给控制器,实现了逻辑拓扑和物理拓扑的关联。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1