CN105591912B - 一种转发路径的选择方法和装置 - Google Patents

一种转发路径的选择方法和装置 Download PDF

Info

Publication number
CN105591912B
CN105591912B CN201510431256.2A CN201510431256A CN105591912B CN 105591912 B CN105591912 B CN 105591912B CN 201510431256 A CN201510431256 A CN 201510431256A CN 105591912 B CN105591912 B CN 105591912B
Authority
CN
China
Prior art keywords
message
detection messages
detection
time stamp
network equipment
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
Application number
CN201510431256.2A
Other languages
English (en)
Other versions
CN105591912A (zh
Inventor
宋小恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201510431256.2A priority Critical patent/CN105591912B/zh
Publication of CN105591912A publication Critical patent/CN105591912A/zh
Application granted granted Critical
Publication of CN105591912B publication Critical patent/CN105591912B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种转发路径的选择方法和装置,该方法包括:控制器向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文的报文类型为延迟检测类型;所述控制器接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文中包括所述源网络设备确定的所述第一检测报文的第一发送时间戳,所述目的网络设备确定的所述第一检测报文的第一接收时间戳;所述控制器利用所述第一发送时间戳和所述第一接收时间戳,确定源端口和目的端口之间的物理链路的传输延时,并利用所述传输延时选择所述源网络设备与所述目的网络设备之间的转发路径。通过本发明的技术方案,可以降低数据传输时间,提高数据传输效率。

Description

一种转发路径的选择方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种转发路径的选择方法和装置。
背景技术
SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,并为核心网络以及应用的创新提供良好的平台。
为了获得SDN的网络拓扑,控制器向源网络设备(如Openflow交换机)发送封装了检测报文的Openflow消息,检测报文中包含源网络设备的标识和源端口的标识。源网络设备从Openflow消息中解析出检测报文,从源端口将该检测报文发送出去。目的网络设备在通过目的端口收到检测报文后,将检测报文封装在Openflow消息中,在该Openflow消息中添加目的网络设备的标识和目的端口的标识,并将Openflow消息发送给控制器。基于该Openflow消息,控制器确定源网络设备的源端口与目的网络设备的目的端口之间存在物理链路。在对每个网络设备(即源网络设备)的每个端口(即源端口)发送封装了检测报文的Openflow消息后,控制器可以获得SDN的网络拓扑。
基于SDN的网络拓扑,控制器可以计算出源网络设备与目的网络设备之间的转发路径。当源网络设备与目的网络设备之间存在多条物理链路时,控制器从多条物理链路中任意选择一条物理链路作为源网络设备与目的网络设备之间的转发路径。但是,在实际应用中,多条物理链路的传输延时并不会相同,可能有物理链路的传输延时很大,而另外的物理链路的传输延时很小。显然,当作为转发路径的物理链路的传输延时很大时,则在源网络设备与目的网络设备之间进行数据传输时,数据传输效率低下,数据传输时间较长。
发明内容
本发明提供一种转发路径的选择方法,所述方法包括以下步骤:
控制器向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
所述控制器接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加所述第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
所述控制器利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
当所述源网络设备与所述目的网络设备之间存在多条物理链路时,所述控制器利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径。
所述方法进一步包括:
所述控制器在向源网络设备发送第一消息之前,确定所述第一消息的第二发送时间戳,在所述第一检测报文中添加所述第二发送时间戳;所述控制器向源网络设备发送的第一消息,用于使所述源网络设备确定所述第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
所述控制器在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和所述第二接收时间戳,并利用所述第二发送时间戳和所述第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
所述方法进一步包括:
所述控制器在收到第二消息后,从第二检测报文中解析出第三发送时间戳;其中,所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为所述目的网络设备添加到所述第二检测报文中的;
所述控制器确定所述第二消息的第三接收时间戳;
所述控制器利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
所述控制器向源网络设备发送封装了第一检测报文的第一消息的过程,具体包括:所述控制器向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则所述控制器向所述源网络设备发送封装了所述第一检测报文的第一消息。
所述方法应用于软件定义网络SDN中;
当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
本发明提供一种转发路径的选择装置,所述转发路径的选择装置应用在控制器上,且所述转发路径的选择装置具体包括:
发送模块,用于向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
接收模块,用于接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
确定模块,用于利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
选择模块,用于当所述源网络设备与所述目的网络设备之间存在多条物理链路时,利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径。
所述发送模块,还用于在向源网络设备发送第一消息之前,确定第一消息的第二发送时间戳,在第一检测报文中添加所述第二发送时间戳;所述发送模块向源网络设备发送的第一消息,用于使所述源网络设备确定第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
所述确定模块,还用于在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和第二接收时间戳,并利用所述第二发送时间戳和第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
所述确定模块,还用于在收到第二消息后,从第二检测报文中解析出第三发送时间戳;所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为目的网络设备添加到所述第二检测报文中的;确定所述第二消息的第三接收时间戳;利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
所述发送模块,具体用于在向源网络设备发送封装了第一检测报文的第一消息的过程中,向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则向所述源网络设备发送封装了所述第一检测报文的第一消息。
所述装置应用于软件定义网络SDN;
当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
基于上述技术方案,本发明实施例中,控制器可以获得源端口和目的端口之间的物理链路的传输延时,当源网络设备与目的网络设备之间存在多条物理链路时,控制器可以利用多条物理链路的传输延时,从这多条物理链路中选择一条传输延时最小的物理链路作为源网络设备与目的网络设备之间的转发路径,从而提升链路转发效率,降低数据传输时间,提高数据传输效率。
附图说明
图1是本发明实施例的应用场景示意图;
图2是本发明一种实施方式中转发路径的选择方法的流程图;
图3是本发明一种实施方式中控制器的逻辑结构图;
图4是本发明一种实施方式中转发路径的选择装置的逻辑结构图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提出一种转发路径的选择方法,该方法可以应用于包括控制器、源网络设备和目的网络设备的SDN中。其中,源网络设备和目的网络设备具有连接关系,该连接关系可以为通过直连链路连接和/或通过非直连链路连接。源网络设备和目的网络设备是相对的,针对SDN中的多个网络设备,如果控制器向一个网络设备(如网络设备1)发送Openflow消息,与该网络设备1具有连接关系的另一个网络设备(如网络设备2)向控制器返回Openflow消息,则网络设备1为源网络设备,网络设备2为目的网络设备;相应的,如果控制器向网络设备2发送Openflow消息,与该网络设备2具有连接关系的网络设备1向控制器返回Openflow消息,则网络设备2为源网络设备,网络设备1为目的网络设备。
以图1为本发明实施例的应用场景示意图,网络设备1和网络设备2之间存在三条物理链路,物理链路1和物理链路2为直连链路,物理链路3为非直连链路,物理链路1、物理链路2和物理链路3可以作为网络设备1和网络设备2之间的等价转发路径。控制器下发从网络设备1到网络设备2的流表时可以有三个等价出端口,下发从网络设备2到网络设备1的流表时也可以有三个等价出端口。为了方便描述,以网络设备1为源网络设备,网络设备2为目的网络设备为例进行后续说明,对于网络设备2为源网络设备,网络设备1为目的网络设备的处理,本发明实施例中不再进行赘述。
在上述应用场景下,如图2所示,该转发路径的选择方法包括以下步骤:
步骤201,控制器向源网络设备发送封装了第一检测报文的第一消息,该第一消息为第一Openflow消息。其中,该第一检测报文中包括源网络设备的标识、源端口的标识。进一步的,该第一检测报文的报文类型为延迟检测类型,且该延迟检测类型用于指示在第一检测报文中添加时间戳信息。
例如,控制器向网络设备1发送封装了第一检测报文1的第一消息1,该第一检测报文1中包括网络设备1的标识、端口1的标识,且第一检测报文1的报文类型为延迟检测类型。控制器向网络设备1发送封装了第一检测报文2的第一消息2,该第一检测报文2中包括网络设备1的标识、端口2的标识,且第一检测报文2的报文类型为延迟检测类型。控制器向网络设备1发送封装了第一检测报文3的第一消息3,该第一检测报文3中包括网络设备1的标识、端口3的标识,且第一检测报文3的报文类型为延迟检测类型。
步骤202,源网络设备接收来自控制器的第一消息,从第一消息中解析出第一检测报文,在确定第一检测报文的报文类型为延迟检测类型时,确定该第一检测报文的第一发送时间戳,在第一检测报文中添加该第一发送时间戳,并从源端口(基于源端口的标识确定)发送添加后的第一检测报文。
其中,源网络设备在从第一消息中解析出第一检测报文后,如果第一检测报文的报文类型为延迟检测类型,则源网络设备确定自身需要在第一检测报文中添加时间戳信息,即源网络设备确定该第一检测报文的第一发送时间戳,并在第一检测报文中添加该第一发送时间戳。如果第一检测报文的报文类型不是延迟检测类型,则源网络设备按照现有流程进行处理。其中,第一检测报文的第一发送时间戳是指源网络设备发送第一检测报文的时间戳。
例如,网络设备1从第一消息1中解析出第一检测报文1后,确定第一检测报文1的第一发送时间戳1,在第一检测报文1中添加第一发送时间戳1,从端口1发送携带第一发送时间戳1的第一检测报文1。网络设备1从第一消息2中解析出第一检测报文2后,确定第一检测报文2的第一发送时间戳2,在第一检测报文2中添加第一发送时间戳2,从端口2发送携带第一发送时间戳2的第一检测报文2。网络设备1从第一消息3中解析出第一检测报文3后,确定第一检测报文3的第一发送时间戳3,在第一检测报文3中添加第一发送时间戳3,从端口3发送携带第一发送时间戳3的第一检测报文3。
其中,在源网络设备从源端口将第一检测报文发送出去之后,源网络设备还可以向控制器发送自身已经成功发送第一检测报文的消息。
步骤203,目的网络设备通过目的端口接收到第一检测报文后,在确定第一检测报文的报文类型为延迟检测类型时,确定该第一检测报文的第一接收时间戳,并在该第一检测报文中添加第一接收时间戳,得到第二检测报文。
其中,目的网络设备接收到第一检测报文后,如果第一检测报文的报文类型为延迟检测类型,则目的网络设备确定自身需要在第一检测报文中添加时间戳信息,即目的网络设备确定该第一检测报文的第一接收时间戳,并在该第一检测报文中添加第一接收时间戳。如果第一检测报文的报文类型不是延迟检测类型,则目的网络设备按照现有流程进行处理。其中,第一检测报文的第一接收时间戳是指目的网络设备接收到第一检测报文的时间戳。
例如,网络设备2收到第一检测报文1后,确定第一检测报文1的第一接收时间戳1,在第一检测报文1中添加第一接收时间戳1,得到第二检测报文1。网络设备2收到第一检测报文2后,确定第一检测报文2的第一接收时间戳2,在第一检测报文2中添加第一接收时间戳2,得到第二检测报文2。网络设备2收到第一检测报文3后,确定第一检测报文3的第一接收时间戳3,在第一检测报文3中添加第一接收时间戳3,得到第二检测报文3。
步骤204,目的网络设备将第二检测报文封装在第二消息中,并在第二消息中添加目的网络设备的标识、目的端口的标识,并将第二消息发送给控制器,由控制器接收来自目的网络设备的封装了第二检测报文的第二消息。第二消息为第二Openflow消息。第二消息包括目的网络设备的标识、目的端口的标识、第二检测报文。第二检测报文包括源网络设备的标识、源端口的标识、第一检测报文的第一发送时间戳,第一检测报文的第一接收时间戳。
例如,网络设备2将第二检测报文1、网络设备2的标识、端口4的标识封装在第二消息1中,并将第二消息1发送给控制器。网络设备2将第二检测报文2、网络设备2的标识、端口5的标识封装在第二消息2中,并将第二消息2发送给控制器。网络设备2将第二检测报文3、网络设备2的标识、端口6的标识封装在第二消息3中,并将第二消息3发送给控制器。
步骤205,控制器利用第一发送时间戳以及第一接收时间戳,确定源端口和目的端口之间的物理链路的传输延时。其中,可以从第二检测报文中获得第一发送时间戳、第一接收时间戳、源端口,从第二消息中获得目的端口。
例如,控制器利用第一发送时间戳1以及第一接收时间戳1,确定端口1和端口4之间的物理链路的传输延时,该传输延时为第一接收时间戳1与第一发送时间戳1之间的差。控制器利用第一发送时间戳2以及第一接收时间戳2,确定端口2和端口5之间的物理链路的传输延时,该传输延时为第一接收时间戳2与第一发送时间戳2之间的差。控制器利用第一发送时间戳3以及第一接收时间戳3,确定端口3和端口6之间的物理链路的传输延时,该传输延时为第一接收时间戳3与第一发送时间戳3之间的差。
步骤206,当源网络设备与目的网络设备之间存在多条物理链路时,控制器利用多条物理链路的传输延时,从多条物理链路中选择一条物理链路作为源网络设备与目的网络设备之间的转发路径,即控制器选择传输延时最小的物理链路作为源网络设备与目的网络设备之间的转发路径。
例如,针对网络设备1和网络设备2之间的三条物理链路,当端口1和端口4之间的物理链路的传输延时最小时,则控制器选择端口1和端口4之间的物理链路作为网络设备1与网络设备2之间的转发路径。
基于上述技术方案,本发明实施例中,控制器可以获得源端口和目的端口之间的物理链路的传输延时,当源网络设备与目的网络设备之间存在多条物理链路时,控制器可以利用多条物理链路的传输延时,从这多条物理链路中选择一条传输延时最小的物理链路作为源网络设备与目的网络设备之间的转发路径,从而提升链路转发效率,降低数据传输时间,提高数据传输效率。
本发明实施例中,控制器在向源网络设备发送第一消息前,如果确定第一检测报文的报文类型为延迟检测类型,控制器还可以确定第一消息的第二发送时间戳,并在第一检测报文中添加该第二发送时间戳。其中,第一消息的第二发送时间戳是指控制器发送第一消息的时间戳。进一步,源网络设备在接收到第一消息之后,在确定第一检测报文的报文类型为延迟检测类型时,还可以确定第一消息的第二接收时间戳,并在第一检测报文中添加第二接收时间戳。其中,第一消息的第二接收时间戳是指源网络设备接收到第一消息的时间戳。经过上述处理后,第一检测报文中携带第一消息的第二发送时间戳、第一消息的第二接收时间戳,且第二检测报文中携带第一消息的第二发送时间戳、第一消息的第二接收时间戳。控制器在收到第二消息后,从第二检测报文中解析出第二发送时间戳和第二接收时间戳,并利用第二发送时间戳和第二接收时间戳,确定控制器与源网络设备之间的物理链路的传输延时。
本发明实施例中,目的网络设备在接收到第一检测报文后,在确定第一检测报文的报文类型为延迟检测类型时,还可以确定第二消息的第三发送时间戳,并在第二检测报文中添加第二消息的第三发送时间戳。其中,第二消息的第三发送时间戳是指目的网络设备发送第二消息的时间戳。控制器在收到第二消息后,还可以确定第二消息的第三接收时间戳,并从第二检测报文中解析出第二消息的第三发送时间戳。其中,第二消息的第三接收时间戳是指控制器收到第二消息的时间戳。经过上述处理后,控制器可以得到第二消息的第三发送时间戳和第二消息的第三接收时间戳,并利用第三发送时间戳和第三接收时间戳,确定控制器与目的网络设备之间的物理链路的传输延时。
其中,控制器与源网络设备之间的物理链路的传输延时,可以作为控制器与源网络设备之间的Openflow协议握手报文的超时时间的调整依据。当控制器与源网络设备之间的物理链路的传输延时较长时,则可以将Openflow协议握手报文的超时时间调整的相对长一些,当控制器与源网络设备之间的物理链路的传输延时较短时,则可以将Openflow协议握手报文的超时时间调整的相对短一些,从而避免由于链路延迟导致的握手超时和重复连接。
控制器与目的网络设备之间的物理链路的传输延时,可以作为控制器与目的网络设备之间的Openflow协议握手报文的超时时间的调整依据。当控制器与目的网络设备之间的物理链路的传输延时较长时,则可以将Openflow协议握手报文的超时时间调整的相对长一些,当控制器与目的网络设备之间的物理链路的传输延时较短时,则可以将Openflow协议握手报文的超时时间调整的相对短一些,从而避免由于链路延迟导致的握手超时和重复连接。
本发明实施例的上述过程中,当源端口与目的端口之间的链路为直连链路时,第一检测报文和第二检测报文为基于LLDP(Link Layer Discovery Protocol,链路层发现协议)的报文;当源端口与目的端口之间的链路为非直连链路时,第一检测报文和第二检测报文为基于BDDP(Broadcasts Link Layer Discovery Protocol,广播类型链路层发现协议)的报文。例如,针对端口1和端口2发送的第一检测报文和第二检测报文,是基于LLDP的报文;针对端口3发送的第一检测报文和第二检测报文,是基于BDDP的报文。
其中,基于LLDP的报文,其目的MAC(Media Access Control,介质访问控制)地址是01:80:c2:00:00:0e,以太类型是0x88cc;基于BDDP的报文,其目的MAC地址是ff:ff:ff:ff:ff:ff(广播地址),以太类型是0x8999。
本发明实施例的上述过程中,为了在检测报文中能够携带各时间戳,需要对现有的检测报文进行扩展,在检测报文中添加能够携带各时间戳的TLV(Type Length Value,类型长度值),并通过该TLV携带第一发送时间戳、第二发送时间戳、第三发送时间戳、第一接收时间戳、第二接收时间戳。
本发明实施例中,控制器向源网络设备发送封装了报文类型为延迟检测类型的第一检测报文的第一消息之前,还可以向源网络设备发送端口延迟检测消息,并向目的网络设备发送端口延迟检测消息。如果收到源网络设备返回的携带源网络设备使能延迟检测的端口延迟检测响应消息,并收到目的网络设备返回的携带目的网络设备使能延迟检测的端口延迟检测响应消息,则说明源网络设备和目的网络设备均支持延迟检测技术,可以在检测报文中添加时间戳信息,因此,控制器向源网络设备发送封装了报文类型为延迟检测类型的第一检测报文的第一消息。如果未收到源网络设备返回的携带源网络设备使能延迟检测的端口延迟检测响应消息,和/或,未收到目的网络设备返回的携带目的网络设备使能延迟检测的端口延迟检测响应消息,则说明源网络设备和/或目的网络设备不支持延迟检测技术,无法采用本发明实施例提出的技术方案在检测报文中添加时间戳信息,因此控制器不会向源网络设备发送封装了报文类型为延迟检测类型的第一检测报文的第一消息。
其中,端口延迟检测消息具体可以为Port Description(端口描述)消息,且该Port Description消息中携带询问端口延迟检测是否使能的标记位,该标记位用于询问网络设备是否使能延迟检测。如果网络设备使能延迟检测,则向控制器返回携带使能延迟检测的信息的Port Description应答消息。如果网络设备未使能延迟检测,则向控制器返回携带未使能延迟检测的信息的Port Description应答消息,或者不向控制器返回PortDescription应答消息。
本发明实施例中提出的转发路径的选择装置,可以应用在控制器中,该转发路径的选择装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的控制器的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明提出的转发路径的选择装置所在的控制器的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器外,该控制器还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲该控制器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种转发路径的选择装置,所述转发路径的选择装置应用在控制器中,如图4所示,所述转发路径的选择装置具体包括:
发送模块11,用于向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
接收模块12,用于接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
确定模块13,用于利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
选择模块14,用于当所述源网络设备与所述目的网络设备之间存在多条物理链路时,利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径。
所述发送模块11,还用于在向源网络设备发送第一消息之前,确定第一消息的第二发送时间戳,在第一检测报文中添加所述第二发送时间戳;所述发送模块向源网络设备发送的第一消息,用于使所述源网络设备确定第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
所述确定模块13,还用于在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和第二接收时间戳,并利用所述第二发送时间戳和第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
所述确定模块13,还用于在收到第二消息后,从第二检测报文中解析出第三发送时间戳;所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为目的网络设备添加到所述第二检测报文中的;确定所述第二消息的第三接收时间戳;利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
所述发送模块11,具体用于在向源网络设备发送封装了第一检测报文的第一消息的过程中,向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则向所述源网络设备发送封装了所述第一检测报文的第一消息。
所述装置应用于软件定义网络SDN;
当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (8)

1.一种转发路径的选择方法,其特征在于,所述方法包括以下步骤:
控制器向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
所述控制器接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加所述第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
所述控制器利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
当所述源网络设备与所述目的网络设备之间存在多条物理链路时,所述控制器利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径;
所述控制器向源网络设备发送封装了第一检测报文的第一消息的过程,具体包括:所述控制器向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则所述控制器向所述源网络设备发送封装了所述第一检测报文的第一消息。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
所述控制器在向源网络设备发送第一消息之前,确定所述第一消息的第二发送时间戳,在所述第一检测报文中添加所述第二发送时间戳;所述控制器向源网络设备发送的第一消息,用于使所述源网络设备确定所述第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
所述控制器在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和所述第二接收时间戳,并利用所述第二发送时间戳和所述第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
所述控制器在收到第二消息后,从第二检测报文中解析出第三发送时间戳;其中,所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为所述目的网络设备添加到所述第二检测报文中的;
所述控制器确定所述第二消息的第三接收时间戳;
所述控制器利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法应用于软件定义网络SDN中;当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
5.一种转发路径的选择装置,其特征在于,所述转发路径的选择装置应用在控制器上,且所述转发路径的选择装置具体包括:
发送模块,用于向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
接收模块,用于接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
确定模块,用于利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
选择模块,用于当所述源网络设备与所述目的网络设备之间存在多条物理链路时,利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径;
所述发送模块,具体用于在向源网络设备发送封装了第一检测报文的第一消息的过程中,向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则向所述源网络设备发送封装了所述第一检测报文的第一消息。
6.根据权利要求5所述的装置,其特征在于,
所述发送模块,还用于在向源网络设备发送第一消息之前,确定第一消息的第二发送时间戳,在第一检测报文中添加所述第二发送时间戳;所述发送模块向源网络设备发送的第一消息,用于使所述源网络设备确定第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
所述确定模块,还用于在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和第二接收时间戳,并利用所述第二发送时间戳和第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
7.根据权利要求5所述的装置,其特征在于,
所述确定模块,还用于在收到第二消息后,从第二检测报文中解析出第三发送时间戳;所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为目的网络设备添加到所述第二检测报文中的;确定所述第二消息的第三接收时间戳;利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述装置应用于软件定义网络SDN;当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
CN201510431256.2A 2015-07-21 2015-07-21 一种转发路径的选择方法和装置 Active CN105591912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510431256.2A CN105591912B (zh) 2015-07-21 2015-07-21 一种转发路径的选择方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510431256.2A CN105591912B (zh) 2015-07-21 2015-07-21 一种转发路径的选择方法和装置

Publications (2)

Publication Number Publication Date
CN105591912A CN105591912A (zh) 2016-05-18
CN105591912B true CN105591912B (zh) 2019-08-06

Family

ID=55931151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510431256.2A Active CN105591912B (zh) 2015-07-21 2015-07-21 一种转发路径的选择方法和装置

Country Status (1)

Country Link
CN (1) CN105591912B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105933184A (zh) * 2016-06-17 2016-09-07 中国人民解放军国防科学技术大学 基于lldp的sdn网络链路延迟测量方法
CN106130710B (zh) * 2016-06-29 2019-11-08 北京东土科技股份有限公司 一种时钟同步方法及系统
WO2018049545A1 (zh) * 2016-09-13 2018-03-22 深圳前海达闼云端智能科技有限公司 Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品
CN106559334A (zh) * 2016-10-24 2017-04-05 上海斐讯数据通信技术有限公司 一种基于sdn的最小时延负载均衡方法、装置和系统
CN107222370A (zh) * 2017-07-11 2017-09-29 王焱华 一种大数据平台系统
CN108092888B (zh) * 2017-10-31 2021-06-08 华为技术有限公司 一种基于Overlay网络的传输方法、网关及传输系统
CN109996126B (zh) * 2017-12-29 2021-06-22 浙江宇视科技有限公司 一种混合网络架构下的设备连接动态调度方法及系统
CN108521371B (zh) * 2018-03-09 2020-12-25 新华三技术有限公司 报文转发方法及装置
CN112152946B (zh) * 2020-09-25 2022-09-23 苏州盛科通信股份有限公司 基于报文转发路径的延时处理方法及系统
CN113352318B (zh) * 2021-04-29 2022-06-24 国网浙江省电力有限公司嘉兴供电公司 一种智能机器人通信链路自检选择方法
CN114726762B (zh) * 2022-03-24 2023-11-03 新华三技术有限公司 一种时延测量方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262472A (zh) * 2010-12-13 2013-08-21 日本电气株式会社 计算机系统、控制器、控制器管理器和通信路由分析方法
CN104348568A (zh) * 2013-07-23 2015-02-11 中兴通讯股份有限公司 时间同步处理方法及装置
CN104429029A (zh) * 2012-07-10 2015-03-18 瑞典爱立信有限公司 网络中通过中央控制器的基于延迟的业务速率控制
CN104486159A (zh) * 2014-12-18 2015-04-01 东南大学 一种基于软件定义网络的交换机间链路时延测量方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103262472A (zh) * 2010-12-13 2013-08-21 日本电气株式会社 计算机系统、控制器、控制器管理器和通信路由分析方法
CN104429029A (zh) * 2012-07-10 2015-03-18 瑞典爱立信有限公司 网络中通过中央控制器的基于延迟的业务速率控制
CN104348568A (zh) * 2013-07-23 2015-02-11 中兴通讯股份有限公司 时间同步处理方法及装置
CN104486159A (zh) * 2014-12-18 2015-04-01 东南大学 一种基于软件定义网络的交换机间链路时延测量方法

Also Published As

Publication number Publication date
CN105591912A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN105591912B (zh) 一种转发路径的选择方法和装置
CN106656801B (zh) 业务流的转发路径的重定向方法、装置和业务流转发系统
US9306819B2 (en) Controller driven OAM for split architecture network
CN105721318B (zh) 一种软件定义网络sdn中发现网络拓扑的方法和装置
EP3331205B1 (en) Data packet transmission method utilized in ipv6 network and device utilizing same
CN102217251B (zh) 一种数据转发方法、数据处理方法、系统以及相关设备
CN104168212B (zh) 发送报文的方法和装置
CN107919950A (zh) 一种无冲突的竞争信道水声网络并行通信方法
CN107104782A (zh) 数据传输方法及装置
CN101848168A (zh) 基于目的mac地址的流量控制方法、系统及设备
CN107645389A (zh) 一种网络通信方法和装置
CN105763463B (zh) 一种链路探测报文的传输方法和装置
CN102238064B (zh) 数据传输方法、装置和系统
CN102769552B (zh) 一种通过bfd检测lsp时传输bfd报文的方法和设备
CN104796340A (zh) 一种组播数据传输方法和设备
CN114826973A (zh) 传输质量检测方法、装置及系统
CN103916906B (zh) 对用户数据报文分发处理的方法、设备与系统
CN104243319B (zh) 一种邻居发现的方法及装置
CN103036789B (zh) 报文发送方法、装置和网络出口设备
Becker et al. Deployment of coap in transport logistics
WO2012103828A2 (zh) 链路性能的测试方法和测试装置
CN106209666B (zh) 一种基于负载均衡器的链路复用方法及系统
CN106301832A (zh) 一种处理系统日志报文的方法和装置
Mulay et al. IoT websocket connection management algorithm for early warning earthquake alert applications
KR102113814B1 (ko) CoAP 압축 통신 방법

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

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.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant