CN105763463B - 一种链路探测报文的传输方法和装置 - Google Patents
一种链路探测报文的传输方法和装置 Download PDFInfo
- Publication number
- CN105763463B CN105763463B CN201610057472.XA CN201610057472A CN105763463B CN 105763463 B CN105763463 B CN 105763463B CN 201610057472 A CN201610057472 A CN 201610057472A CN 105763463 B CN105763463 B CN 105763463B
- Authority
- CN
- China
- Prior art keywords
- openflow
- link detection
- port
- identifier
- link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种链路探测报文的传输方法和装置,该方法包括:接收链路探测报文;检测所述链路探测报文;根据所述检测的结果,在所述链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,或者,上送软件定义网络SDN控制器。通过本发明的技术方案,减少了检测报文的发送数量,减轻SDN控制器的负担,节省SDN控制器的资源和带宽。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种链路探测报文的传输方法和装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,实现对网络流量的灵活控制,为核心网络和应用创新提供良好平台。
为了获得网络拓扑,SDN控制器向源设备(如无特殊说明,本发明后续所述的设备即为Openflow设备)发送封装了LLDP(Link Layer Discovery Protocol,链路层发现协议)报文的Openflow消息,且该LLDP报文中携带了源设备标识和源端口标识。源设备从Openflow消息中解析出LLDP报文,并从源端口将LLDP报文发送出去。目的设备通过目的端口收到LLDP报文之后,将LLDP报文封装在Openflow消息中,并在该Openflow消息中添加目的设备标识和目的端口标识,并将该Openflow消息发送给SDN控制器。基于该Openflow消息中源设备标识、源端口标识以及目的设备标识、目的端口标识,SDN控制器确定源设备与目的设备之间存在物理链路。
基于上述方式,为了维护网络拓扑,SDN控制器需要向每个设备的每个端口发送Openflow消息,且基于收到的Openflow消息确定两个设备之间的物理链路的连通性。当设备的数量较大时,SDN控制器的处理工作量会很大,并会占用SDN控制器的大量处理资源。
发明内容
本发明提供一种链路探测报文的传输方法,该方法应用在Openflow设备上,所述方法包括以下步骤:接收链路探测报文;检测所述链路探测报文;根据所述检测的结果,在所述链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,或者,上送软件定义网络SDN控制器。
本发明提供一种链路探测报文的传输装置,所述链路探测报文的传输装置应用在Openflow设备上,且所述链路探测报文的传输装置包括:接收模块,用于接收链路探测报文;检测模块,用于检测所述链路探测报文;添加模块,用于根据所述检测的结果,在所述链路探测报文中添加拓扑信息;发送模块,用于向除本Openflow设备以外的其他Openflow设备泛洪链路探测报文,或者,将链路探测报文上送软件定义网络SDN控制器。
基于上述技术方案,本发明实施例中,SDN控制器可以只向一个Openflow设备发送链路探测报文,不需要针对每个Openflow设备的每个端口发送链路探测报文,减少链路探测报文的发送数量,减少了SDN控制器与Openflow设备的报文交互,减轻SDN控制器的负担,提升SDN控制器的业务处理效率,节省SDN控制器的计算资源和信道带宽。尤其是当Openflow设备的数量较大时,显著减轻SDN控制器的处理工作量,避免占用SDN控制器的大量处理资源。
附图说明
图1是本发明一种实施方式中的链路探测报文的传输方法的流程图;
图2是本发明一种实施方式中的应用场景示意图;
图3是本发明另一种实施方式中的链路探测报文的传输方法的流程图;
图4是本发明一种实施方式中的Openflow设备的硬件结构图;
图5是本发明一种实施方式中的链路探测报文的传输装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
针对现有技术中存在的问题,本发明实施例中提出一种链路探测报文的传输方法,该方法可以应用于包括SDN控制器和多个Openflow设备的系统中,且该方法可以应用在Openflow设备上。如图1所示,该方法包括以下步骤:
步骤101,接收链路探测报文。其中,接收的链路探测报文可以为SDN控制器发送的第一链路探测报文,或者,接收的链路探测报文还可以为除本Openflow设备以外的其他Openflow设备发送的第二链路探测报文。
步骤102,检测链路探测报文,即检测当前接收到的链路探测报文。
步骤103,根据检测的结果,在链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,或者,上送SDN控制器。
针对在链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,或者,上送SDN控制器的过程,可以分为以下情况:
情况一、当检测到第一链路探测报文包含类型为泛洪的TLV(Type Length Value,类型长度值)时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口;在第一链路探测报文中添加发送端口标识,并从相应的发送端口发出。
其中,Openflow设备在接收到来自SDN控制器的第一链路探测报文时,如果检测到该第一链路探测报文包含类型为泛洪的TLV,由于类型为泛洪的TLV用于指示Openflow设备以泛洪方式发送第一链路探测报文,因此,Openflow设备以泛洪方式发送第一链路探测报文。在以泛洪方式发送第一链路探测报文时,Openflow设备会确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并确定发送端口的数量,并复制该数量个第一链路探测报文,且每个发送端口对应一个第一链路探测报文。
假设有3个发送端口,则复制3个第一链路探测报文,发送端口1对应第一链路探测报文1,发送端口2对应第一链路探测报文2,发送端口3对应第一链路探测报文3。针对第一链路探测报文1,会携带类型为设备列表的TLV,该TLV中包含来自SDN控制器的第一链路探测报文中携带的本Openflow设备标识,且该TLV中包含Openflow设备添加进来的发送端口1标识。同理,在第一链路探测报文2中携带类型为设备列表的TLV,且该TLV中包含本Openflow设备标识、发送端口2标识。在第一链路探测报文3中携带类型为设备列表的TLV,且该TLV中包含本Openflow设备标识、发送端口3标识。
情况二、当检测到第二链路探测报文未携带本Openflow设备标识、且确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外存在其他端口时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口;在第二链路探测报文中添加本Openflow设备标识、接收端口标识和发送端口标识,并从相应的发送端口发出。
其中,Openflow设备在接收到来自其他Openflow设备的第二链路探测报文时,先遍历第二链路探测报文携带的类型为设备列表的TLV的值,如果确认该TLV的值不包含本Openflow设备标识,则Openflow设备是首次接收到第二链路探测报文,而在Openflow设备首次接收到第二链路探测报文时,Openflow设备需要以泛洪方式发送第二链路探测报文。但是,在以泛洪方式发送第二链路探测报文之前,Openflow设备还需要判断本Openflow设备上与其他Openflow设备相连的所有端口中,除接收端口以外是否还存在其他端口。如果存在,则说明本Openflow设备上有可以用于泛洪的发送端口,这样才能够进行泛洪处理。
Openflow设备在以泛洪方式发送第二链路探测报文时,会确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并确定发送端口的数量,并复制该数量个第二链路探测报文,且每个发送端口对应一个第二链路探测报文。假设有3个发送端口,则复制3个第二链路探测报文,发送端口1对应第二链路探测报文1,发送端口2对应第二链路探测报文2,发送端口3对应第二链路探测报文3。针对第二链路探测报文1,会携带类型为设备列表的TLV,该TLV中包含Openflow设备添加进来的本Openflow设备标识、接收端口标识和发送端口1标识。同理,在第二链路探测报文2中携带类型为设备列表的TLV,且该TLV中包含Openflow设备添加进来的本Openflow设备标识、接收端口标识和发送端口2标识。在第二链路探测报文3中携带类型为设备列表的TLV,且该TLV中包含Openflow设备添加进来的本Openflow设备标识、接收端口标识和发送端口3标识。
情况三、当检测到第二链路探测报文未携带本Openflow设备标识、且确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外不存在其他端口时,则在第二链路探测报文中添加本Openflow设备标识和接收端口标识,并上送SDN控制器。
其中,Openflow设备在接收到来自其他Openflow设备的第二链路探测报文时,先遍历第二链路探测报文携带的类型为设备列表的TLV的值,如果确认该TLV的值不包含本Openflow设备标识,则Openflow设备是首次接收到第二链路探测报文,而在Openflow设备首次接收到第二链路探测报文时,Openflow设备需要以泛洪方式发送第二链路探测报文。但是,在以泛洪方式发送第二链路探测报文之前,Openflow设备还需要判断本Openflow设备上与其他Openflow设备相连的所有端口中,除接收端口以外是否还存在其他端口。如果不存在,则说明本Openflow设备上没有可以用于泛洪的发送端口,因此,即使Openflow设备是首次接收到第二链路探测报文,Openflow设备也无法对第二链路探测报文进行泛洪处理,而是需要将第二链路探测报文上送给SDN控制器。
Openflow设备在将第二链路探测报文上送给SDN控制器时,只需要复制一个第二链路探测报文即可,针对该第二链路探测报文,会携带类型为设备列表的TLV,该TLV中包含Openflow设备添加进来的本Openflow设备标识和接收端口标识。
情况四、当检测到第二链路探测报文携带本Openflow设备标识时,则在第二链路探测报文中添加接收端口标识,并上送SDN控制器。
其中,Openflow设备在接收到来自其他Openflow设备的第二链路探测报文时,先遍历第二链路探测报文携带的类型为设备列表的TLV的值,如果确认该TLV的值包含本Openflow设备标识,则Openflow设备不是首次接收到第二链路探测报文,即之前已经接收过第二链路探测报文,而在Openflow设备不是首次接收到第二链路探测报文时,Openflow设备需要将第二链路探测报文上送给SDN控制器。
Openflow设备在将第二链路探测报文上送给SDN控制器时,只需要复制一个第二链路探测报文即可,针对该第二链路探测报文,会携带类型为设备列表的TLV,该TLV中包含来自其他Openflow设备的第二链路探测报文中携带的本Openflow设备标识,且TLV中包含Openflow设备添加进来的接收端口标识。
在上述过程中,Openflow设备在链路探测报文中添加拓扑信息时,可以将拓扑信息(如Openflow设备标识、接收端口标识、发送端口标识等)添加到链路探测报文的类型为设备列表的TLV中。基于此,检测链路探测报文的过程,可以包括:遍历第二链路探测报文中携带的类型为设备列表的TLV,确认该TLV的值是否包含本Openflow设备标识,若包含,则第二链路探测报文携带本Openflow设备标识,否则,第二链路探测报文未携带本Openflow设备标识。
基于上述技术方案,本发明实施例中,SDN控制器可以只向一个Openflow设备发送链路探测报文,不需要针对每个Openflow设备的每个端口发送链路探测报文,减少链路探测报文的发送数量,减少了SDN控制器与Openflow设备的报文交互,减轻SDN控制器的负担,提升SDN控制器的业务处理效率,节省SDN控制器的计算资源和信道带宽。尤其是当Openflow设备的数量较大时,显著减轻SDN控制器的处理工作量,避免占用SDN控制器的大量处理资源。
以下结合图2所示的应用场景对本发明实施例进行详细说明。在图2中,包括多个Openflow设备,如Openflow设备1、Openflow设备2、Openflow设备3、Openflow设备4和Openflow设备5,各Openflow设备均支持本发明实施例技术方案。在图2中,SDN控制器与每个Openflow设备之间建立有Openflow连接,且网络拓扑可以由SDN控制器建立和维护。
如图3所示,该链路探测报文的传输方法可以包括以下步骤:
步骤301,SDN控制器选择一个Openflow设备,并向该Openflow设备发送链路探测报文,该链路探测报文包含类型为泛洪的TLV。
当Openflow设备接入到SDN网络时,会主动触发与SDN控制器之间的Openflow连接,SDN控制器通过该Openflow连接,可以得到Openflow设备标识。基于此,SDN控制器可以获得所有接入SDN网络的Openflow设备标识,如Openflow设备1、Openflow设备2、Openflow设备3、Openflow设备4和Openflow设备5等。SDN控制器可以从所有接入SDN网络的Openflow设备中选择一个Openflow设备,假设当前选择的是Openflow设备1。
在实际应用中,SDN控制器会在两个阶段发送链路探测报文。第一个阶段是:SDN控制器在未得到网络拓扑时,向Openflow设备发送链路探测报文,以基于链路探测报文得到网络拓扑。第二个阶段是:SDN控制器在得到网络拓扑之后,为了确定网络拓扑是否发生变化,周期性的向Openflow设备发送链路探测报文,以基于链路探测报文得到网络拓扑。当网络拓扑未发生变化时,SDN控制器得到的网络拓扑不变,当网络拓扑发生变化时,SDN控制器得到的网络拓扑是新的网络拓扑。
其中,链路探测报文可以封装在Openflow消息中,Openflow设备在接收到Openflow消息后,从Openflow消息中解析出链路探测报文。
其中,链路探测报文可以包括基于LLDP的链路探测报文。通过对现有的LLDP报文进行改进,在链路探测报文中增加一个类型为泛洪(Flooding)的TLV和一个设备列表的TLV。泛洪的TLV的类型为Flooding,值为Flooding,该泛洪的TLV用以指示收到链路探测报文的Openflow设备以泛洪方式发送链路探测报文。该设备列表的TLV的类型为设备列表,值为Openflow设备标识、发送端口标识、接收端口标识等拓扑信息,这些拓扑信息将在后续过程中添加。
其中,在SDN控制器向Openflow设备发送的链路探测报文中,不再包含发送端口标识,只携带Openflow设备标识。例如,SDN控制器构造链路探测报文,并通过Openflow通道将链路探测报文发送给Openflow设备1,该链路探测报文中可以携带Openflow设备1标识,不携带发送端口标识。
步骤302,Openflow设备接收链路探测报文。当链路探测报文为SDN控制器发送的第一链路探测报文,执行步骤303;当链路探测报文为除本Openflow设备以外的其他Openflow设备发送的第二链路探测报文,执行步骤304。
第一链路探测报文和第二链路探测报文只是为了区分方便,表示链路探测报文是来自SDN控制器还是其他Openflow设备,其本质还是链路探测报文,在后续过程中,直接以链路探测报文为例进行说明。
步骤303,Openflow设备确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并在链路探测报文中添加发送端口标识,并从相应的发送端口发出。
步骤304,Openflow设备判断链路探测报文中是否携带本Openflow设备标识。如果是,则执行步骤305;如果否,则执行步骤306。
步骤305,Openflow设备在链路探测报文中添加接收端口标识,并将链路探测报文上送SDN控制器。
步骤306,Openflow设备判断本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外是否存在其他端口;如果是,则执行步骤307;如果否,则执行步骤308。
步骤307,Openflow设备确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口;在链路探测报文中添加本Openflow设备标识、接收端口标识和发送端口标识,并从相应的发送端口发出。
步骤308,Openflow设备在链路探测报文中添加本Openflow设备标识和接收端口标识,并将链路探测报文上送SDN控制器。
针对步骤301-步骤308的说明,参见上述情况1-情况四,在此不再赘述。
以下结合图2所示的应用场景,对步骤301-步骤308的过程进行说明。
图2中,Openflow设备1在接收到链路探测报文之后,将端口1(发送端口标识)添加到链路探测报文的设备列表中,并通过端口1发送链路探测报文。
Openflow设备2在通过端口1接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1),即该设备列表中没有包含Openflow设备2。由于Openflow设备2上存在两个发送端口(即端口2和端口3),因此,Openflow设备2获得两个链路探测报文。在一个链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备2、端口2(即发送端口标识),并通过该端口2发送该链路探测报文。在另一个链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备2、端口3(即发送端口标识),并通过该端口3发送该链路探测报文。
Openflow设备3在通过端口1接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2),即该设备列表中没有包含Openflow设备3。由于Openflow设备3上只存在一个发送端口(即端口2),因此,Openflow设备3在链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备3、端口2(即发送端口标识),并通过该端口2发送该链路探测报文。
Openflow设备4在通过端口2接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2),即该设备列表中没有包含Openflow设备4。由于Openflow设备4上存在两个发送端口(即端口1和端口3),因此,Openflow设备4获得两个链路探测报文。在一个链路探测报文的设备列表中添加端口2(即接收端口标识)、Openflow设备4、端口1(即发送端口标识),并通过该端口1发送该链路探测报文。在另一个链路探测报文的设备列表中添加端口2(即接收端口标识)、Openflow设备4、端口3(即发送端口标识),并通过该端口3发送该链路探测报文。
Openflow设备2在通过端口3接收到链路探测报文之后,发现链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2)-(端口2)Openflow设备4(端口1),即该设备列表中包含Openflow设备2。因此Openflow设备2在链路探测报文的设备列表中添加端口3(即接收端口标识)、Openflow设备2,并将链路探测报文发送给SDN控制器,且链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2)-(端口2)Openflow设备4(端口1)-(端口3)Openflow设备2。
Openflow设备5在通过端口1接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2)-(端口2)Openflow设备4(端口3),即该设备列表中没有包含Openflow设备5。由于Openflow设备5上不存在端口1之外的其它端口,因此,Openflow设备5在链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备5,并将链路探测报文发送给SDN控制器,且该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2)-(端口2)Openflow设备4(端口3)-(端口1)Openflow设备5。
Openflow设备4在通过端口1接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3),即该设备列表中没有包含Openflow设备4。由于Openflow设备4上存在两个发送端口(即端口2和端口3),因此,Openflow设备4获得两个链路探测报文。Openflow设备4在一个链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备4、端口2(即发送端口标识),并通过该端口2发送该链路探测报文。Openflow设备4在另一个链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备4、端口3(即发送端口标识),并通过该端口3发送该链路探测报文。
Openflow设备5在通过端口1接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口3),即该设备列表中没有包含Openflow设备5。由于Openflow设备5上不存在端口1之外的其它端口,因此,Openflow设备5在链路探测报文的设备列表中添加端口1(即接收端口标识)、Openflow设备5,并将链路探测报文发送给SDN控制器,且该链路探测报文的设备列表是是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口3)-(端口1)Openflow设备5。
Openflow设备3在通过端口2接收到链路探测报文之后,发现该链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口2),即该设备列表中没有包含本Openflow设备3。由于Openflow设备3上只存在一个发送端口(即端口1),因此,Openflow设备3在链路探测报文的设备列表中添加端口2(即接收端口标识)、Openflow设备3、端口1(即发送端口标识),并通过该端口1发送该链路探测报文。
Openflow设备2在通过端口2接收到链路探测报文之后,发现链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口2)-(端口2)Openflow设备3(端口1),即该设备列表中包含Openflow设备2。因此Openflow设备2在链路探测报文的设备列表中添加端口2(即接收端口标识)、Openflow设备2,并将链路探测报文发送给SDN控制器,且链路探测报文的设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口2)-(端口2)Openflow设备3(端口1)-(端口2)Openflow设备2。
基于上述过程,各Openflow设备可以将本Openflow设备的标识、接收端口标识、发送端口标识等拓扑信息添加到链路探测报文的设备列表TLV中,从而在链路探测报文的设备列表TLV中,最终生成一个链路探测报文经过的各Openflow设备的信息列表。
步骤309,SDN控制器接收来自Openflow设备的链路探测报文,并利用该链路探测报文中携带的拓扑信息确定网络拓扑。其中,该拓扑信息可以包括链路探测报文经过的各Openflow设备标识、发送端口标识、接收端口标识等。
其中,Openflow设备在将链路探测报文发送给SDN控制器时,还可以将链路探测报文封装到Openflow消息,并将Openflow消息发送给SDN控制器,由SDN控制器从Openflow消息中解析出链路探测报文。
SDN控制器利用链路探测报文中携带的拓扑信息确定网络拓扑的过程,可以包括但不限于如下方式:SDN控制器确定链路探测报文经过的前一个Openflow设备的发送端口与后一个Openflow设备的接收端口之间存在物理链路。
图2中,SDN控制器收到设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2)-(端口2)Openflow设备4(端口1)-(端口3)Openflow设备2的链路探测报文;设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口2)-(端口1)Openflow设备3(端口2)-(端口2)Openflow设备4(端口3)-(端口1)Openflow设备5的链路探测报文;设备列表是是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口3)-(端口1)Openflow设备5的链路探测报文;设备列表是Openflow设备1(端口1)-(端口1)Openflow设备2(端口3)-(端口1)Openflow设备4(端口2)-(端口2)Openflow设备3(端口1)-(端口2)Openflow设备2的链路探测报文。基于这些链路探测报文,SDN控制器可以确定出Openflow设备1的端口1与Openflow设备2的端口1连接,Openflow设备2的端口2与Openflow设备3的端口1连接,Openflow设备3的端口2与Openflow设备4的端口2连接,以此类推。
基于上述技术方案,本发明实施例中,SDN控制器可以只向一个Openflow设备发送链路探测报文,不需要针对每个Openflow设备的每个端口发送链路探测报文,减少链路探测报文的发送数量,减少了SDN控制器与Openflow设备的报文交互,减轻SDN控制器的负担,提升SDN控制器的业务处理效率,节省SDN控制器的计算资源和信道带宽。尤其是当Openflow设备的数量较大时,显著减轻SDN控制器的处理工作量,避免占用SDN控制器的大量处理资源。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种链路探测报文的传输装置,该链路探测报文的传输装置应用在Openflow设备上。其中,该链路探测报文的传输装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的Openflow设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图4所示,为本发明提出的链路探测报文的传输装置所在的Openflow设备的一种硬件结构图,除了图4所示的处理器、非易失性存储器外,Openflow设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该Openflow设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图5所示,为本发明提出的链路探测报文的传输装置的结构图,应用在Openflow设备上,所述链路探测报文的传输装置具体包括:
接收模块11,用于接收链路探测报文;检测模块12,用于检测所述链路探测报文;添加模块13,用于根据所述检测的结果,在所述链路探测报文中添加拓扑信息;发送模块14,用于向除本Openflow设备以外的其他Openflow设备泛洪链路探测报文,或者,将链路探测报文上送软件定义网络SDN控制器。
本发明实施例中,所述接收模块11接收的链路探测报文为SDN控制器发送的第一链路探测报文,或者,为除本Openflow设备以外的其他Openflow设备发送的第二链路探测报文。
本发明实施例中,所述添加模块13,还用于当检测到所述第一链路探测报文包含类型为泛洪的类型长度值TLV时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并在所述第一链路探测报文中添加发送端口标识;所述发送模块14,还用于将第一链路探测报文从相应的发送端口发出。
本发明实施例中,所述添加模块13,还用于当检测到所述第二链路探测报文未携带本Openflow设备标识时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并在所述第二链路探测报文中添加本Openflow设备标识、接收端口标识和发送端口标识;所述发送模块14,还用于将第二链路探测报文从相应的发送端口发出。
本发明实施例中,所述添加模块13,还用于当检测到所述第二链路探测报文未携带本Openflow设备标识、且确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外不存在其他端口时,在所述第二链路探测报文中添加本Openflow设备标识和接收端口标识;所述发送模块14,还用于将第二链路探测报文上送SDN控制器。
本发明实施例中,所述添加模块13,还用于当检测到所述第二链路探测报文携带本Openflow设备标识时,在所述第二链路探测报文中添加接收端口标识;所述发送模块14,还用于将第二链路探测报文上送SDN控制器。
本发明实施例中,所述检测模块12,还用于遍历所述第二链路探测报文中携带的类型为设备列表的TLV,确认所述TLV的值是否包含本Openflow设备标识,若包含,则所述第二链路探测报文携带本Openflow设备标识,否则,所述第二链路探测报文未携带本Openflow设备标识。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者Openflow设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (14)
1.一种链路探测报文的传输方法,该方法应用在Openflow设备上,其特征在于,所述方法包括以下步骤:
接收链路探测报文;
检测所述链路探测报文;
根据所述检测的结果,在所述链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,或者,上送软件定义网络SDN控制器;其中,所述链路探测报文包括:设备列表的TLV,所述设备列表的TLV包括所述链路探测报文途径的各Openflow设备的拓扑信息,且Openflow设备的拓扑信息包括本Openflow设备的标识、接收端口标识、发送端口标识。
2.根据权利要求1所述的方法,其特征在于,所述接收的链路探测报文为SDN控制器发送的第一链路探测报文,或者,为除本Openflow设备以外的其他Openflow设备发送的第二链路探测报文。
3.根据权利要求2所述的方法,其特征在于,在所述链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,包括:
当检测到所述第一链路探测报文包含类型为泛洪的类型长度值TLV时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口;
在所述第一链路探测报文中添加发送端口标识,并从相应的发送端口发出。
4.根据权利要求2所述的方法,其特征在于,在所述链路探测报文中添加拓扑信息,并向除本Openflow设备以外的其他Openflow设备泛洪,包括:
当检测到所述第二链路探测报文未携带本Openflow设备标识时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口;
在所述第二链路探测报文中添加本Openflow设备标识、接收端口标识和发送端口标识,并从相应的发送端口发出。
5.根据权利要求2所述的方法,其特征在于,在所述链路探测报文中添加拓扑信息,上送SDN控制器,包括:
当检测到所述第二链路探测报文未携带本Openflow设备标识、且确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外不存在其他端口时,在所述第二链路探测报文中添加本Openflow设备标识和接收端口标识,并上送SDN控制器。
6.根据权利要求2所述的方法,其特征在于,在所述链路探测报文中添加拓扑信息,上送SDN控制器,包括:
当检测到所述第二链路探测报文携带本Openflow设备标识时,在所述第二链路探测报文中添加接收端口标识,并上送SDN控制器。
7.根据权利要求4至6任一所述的方法,其特征在于,检测所述链路探测报文,包括:
遍历所述第二链路探测报文中携带的类型为设备列表的TLV,确认所述TLV的值是否包含本Openflow设备标识,若包含,则所述第二链路探测报文携带本Openflow设备标识,否则,所述第二链路探测报文未携带本Openflow设备标识。
8.一种链路探测报文的传输装置,其特征在于,所述链路探测报文的传输装置应用在Openflow设备上,且所述链路探测报文的传输装置包括:
接收模块,用于接收链路探测报文;
检测模块,用于检测所述链路探测报文;
添加模块,用于根据所述检测的结果,在所述链路探测报文中添加拓扑信息;
发送模块,用于向除本Openflow设备以外的其他Openflow设备泛洪链路探测报文,或者,将链路探测报文上送软件定义网络SDN控制器;其中,所述链路探测报文包括:设备列表的TLV,所述设备列表的TLV包括所述链路探测报文途径的各Openflow设备的拓扑信息,且Openflow设备的拓扑信息包括本Openflow设备的标识、接收端口标识、发送端口标识。
9.根据权利要求8所述的装置,其特征在于,所述接收模块接收的链路探测报文为SDN控制器发送的第一链路探测报文,或者,为除本Openflow设备以外的其他Openflow设备发送的第二链路探测报文。
10.根据权利要求9所述的装置,其特征在于,
所述添加模块,还用于当检测到所述第一链路探测报文包含类型为泛洪的类型长度值TLV时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并在所述第一链路探测报文中添加发送端口标识;
所述发送模块,还用于将第一链路探测报文从相应的发送端口发出。
11.根据权利要求9所述的装置,其特征在于,
所述添加模块,还用于当检测到所述第二链路探测报文未携带本Openflow设备标识时,确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外的其他端口为发送端口,并在所述第二链路探测报文中添加本Openflow设备标识、接收端口标识和发送端口标识;
所述发送模块,还用于将第二链路探测报文从相应的发送端口发出。
12.根据权利要求9所述的装置,其特征在于,
所述添加模块,还用于当检测到所述第二链路探测报文未携带本Openflow设备标识、且确定本Openflow设备上与其他Openflow设备相连的所有端口中除接收端口以外不存在其他端口时,在所述第二链路探测报文中添加本Openflow设备标识和接收端口标识;
所述发送模块,还用于将第二链路探测报文上送SDN控制器。
13.根据权利要求9所述的装置,其特征在于,
所述添加模块,还用于当检测到所述第二链路探测报文携带本Openflow设备标识时,在所述第二链路探测报文中添加接收端口标识;
所述发送模块,还用于将第二链路探测报文上送SDN控制器。
14.根据权利要求11-13任一所述的装置,其特征在于,
所述检测模块,还用于遍历所述第二链路探测报文中携带的类型为设备列表的TLV,确认所述TLV的值是否包含本Openflow设备标识,若包含,则所述第二链路探测报文携带本Openflow设备标识,否则,所述第二链路探测报文未携带本Openflow设备标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610057472.XA CN105763463B (zh) | 2016-01-27 | 2016-01-27 | 一种链路探测报文的传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610057472.XA CN105763463B (zh) | 2016-01-27 | 2016-01-27 | 一种链路探测报文的传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105763463A CN105763463A (zh) | 2016-07-13 |
CN105763463B true CN105763463B (zh) | 2020-01-03 |
Family
ID=56342653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610057472.XA Active CN105763463B (zh) | 2016-01-27 | 2016-01-27 | 一种链路探测报文的传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105763463B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107078962B (zh) * | 2016-09-13 | 2021-02-23 | 深圳前海达闼云端智能科技有限公司 | Sdn中数据处理方法、装置、系统、电子设备和计算机存储介质 |
CN108039983A (zh) * | 2017-12-06 | 2018-05-15 | 锐捷网络股份有限公司 | 寻线方法及装置 |
CN107995068B (zh) * | 2017-12-20 | 2020-04-07 | 北京百度网讯科技有限公司 | 网口测试方法、设备及计算机可读存储介质 |
CN113824609A (zh) * | 2021-08-16 | 2021-12-21 | 紫光云(南京)数字技术有限公司 | 一种sdn控制器雷达探测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259728A (zh) * | 2013-05-24 | 2013-08-21 | 华为技术有限公司 | 一种ofs带内通信方法及ofs |
CN104038446A (zh) * | 2014-06-06 | 2014-09-10 | 华为技术有限公司 | 链路发现方法以及装置 |
CN104283802A (zh) * | 2014-10-09 | 2015-01-14 | 杭州华三通信技术有限公司 | 邻居发现方法和设备 |
CN104735001A (zh) * | 2013-12-24 | 2015-06-24 | 中兴通讯股份有限公司 | 软件定义网络中的链路发现方法、装置及系统 |
WO2015149676A1 (en) * | 2014-04-03 | 2015-10-08 | Hangzhou H3C Technologies Co., Ltd. | Reserving bandwidth in software defined network |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9749214B2 (en) * | 2014-02-26 | 2017-08-29 | Futurewei Technologies, Inc. | Software defined networking (SDN) specific topology information discovery |
-
2016
- 2016-01-27 CN CN201610057472.XA patent/CN105763463B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103259728A (zh) * | 2013-05-24 | 2013-08-21 | 华为技术有限公司 | 一种ofs带内通信方法及ofs |
CN104735001A (zh) * | 2013-12-24 | 2015-06-24 | 中兴通讯股份有限公司 | 软件定义网络中的链路发现方法、装置及系统 |
WO2015149676A1 (en) * | 2014-04-03 | 2015-10-08 | Hangzhou H3C Technologies Co., Ltd. | Reserving bandwidth in software defined network |
CN104038446A (zh) * | 2014-06-06 | 2014-09-10 | 华为技术有限公司 | 链路发现方法以及装置 |
CN104283802A (zh) * | 2014-10-09 | 2015-01-14 | 杭州华三通信技术有限公司 | 邻居发现方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105763463A (zh) | 2016-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106656801B (zh) | 业务流的转发路径的重定向方法、装置和业务流转发系统 | |
US9954736B2 (en) | System and method of discovering paths in a network | |
CN108111432B (zh) | 报文转发方法及装置 | |
WO2021047668A1 (zh) | 路径探测方法、装置及计算机存储介质 | |
CN105763463B (zh) | 一种链路探测报文的传输方法和装置 | |
CN107493185B (zh) | 一种接口扩展设备的配置信息通告方法及其装置 | |
CN105684382A (zh) | 报文的控制方法、交换机及控制器 | |
US9094323B2 (en) | Probe packet discovery of entropy values causing specific paths to be taken through a network | |
CN112039796B (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
US10178017B2 (en) | Method and control node for handling data packets | |
CN110557342B (zh) | 用于分析和减轻丢弃的分组的设备 | |
CN111801911B (zh) | 业务功能链拥塞跟踪 | |
EP3293919B1 (en) | Data stream monitoring | |
EP2880550B1 (en) | Connection mesh in mirroring asymmetric clustered multiprocessor systems | |
CN109787823B (zh) | 服务质量QoS标记方法、装置及存储介质 | |
US20160315879A1 (en) | Virtual node having separate control and data planes | |
EP3474493B1 (en) | Network performance measurement method and detection device | |
CN105743816B (zh) | 一种链路聚合方法及装置 | |
CN114513429A (zh) | 检测报文的传输方法、反向路径的确定方法及设备 | |
CN105610594B (zh) | 业务链的故障诊断方法及装置 | |
CN107231321B (zh) | 探测转发路径的方法、设备及网络系统 | |
KR101952187B1 (ko) | 서비스 노드 능력 처리 방법, 장치, 서비스 분류기 및 서비스 제어기 | |
Ramana et al. | Multipath transmission control protocol for live virtual machine migration in the cloud environment | |
CN104320333B (zh) | 一种检测不对称静态聚合的方法及设备 | |
US10574519B2 (en) | Detection and configuration of a logical channel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |