一种转发路径的选择方法和装置的制造方法

文档序号:9828092阅读:248来源:国知局
一种转发路径的选择方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种转发路径的选择方法和装置。
【背景技术】
[0002]SDN(Software Defined Network,软件定义网络)是一种新型网络创新架构,其核心思想是将网络设备的控制层面与转发层面分离,以实现对网络流量的灵活控制,并为核心网络以及应用的创新提供良好的平台。
[0003]为了获得SDN的网络拓扑,控制器向源网络设备(如Openflow交换机)发送封装了检测报文的Openflow消息,检测报文中包含源网络设备的标识和源端口的标识。源网络设备从Openflow消息中解析出检测报文,从源端口将该检测报文发送出去。目的网络设备在通过目的端口收到检测报文后,将检测报文封装在Openflow消息中,在该Openflow消息中添加目的网络设备的标识和目的端口的标识,并将Openflow消息发送给控制器。基于该Openflow消息,控制器确定源网络设备的源端口与目的网络设备的目的端口之间存在物理链路。在对每个网络设备(即源网络设备)的每个端口(即源端口)发送封装了检测报文的Openflow消息后,控制器可以获得SDN的网络拓扑。
[0004]基于SDN的网络拓扑,控制器可以计算出源网络设备与目的网络设备之间的转发路径。当源网络设备与目的网络设备之间存在多条物理链路时,控制器从多条物理链路中任意选择一条物理链路作为源网络设备与目的网络设备之间的转发路径。但是,在实际应用中,多条物理链路的传输延时并不会相同,可能有物理链路的传输延时很大,而另外的物理链路的传输延时很小。显然,当作为转发路径的物理链路的传输延时很大时,则在源网络设备与目的网络设备之间进行数据传输时,数据传输效率低下,数据传输时间较长。

【发明内容】

[0005]本发明提供一种转发路径的选择方法,所述方法包括以下步骤:
[0006]控制器向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
[0007]所述控制器接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加所述第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
[0008]所述控制器利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
[0009]当所述源网络设备与所述目的网络设备之间存在多条物理链路时,所述控制器利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径。
[0010]所述方法进一步包括:
[0011]所述控制器在向源网络设备发送第一消息之前,确定所述第一消息的第二发送时间戳,在所述第一检测报文中添加所述第二发送时间戳;所述控制器向源网络设备发送的第一消息,用于使所述源网络设备确定所述第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
[0012]所述控制器在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和所述第二接收时间戳,并利用所述第二发送时间戳和所述第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
[0013]所述方法进一步包括:
[0014]所述控制器在收到第二消息后,从第二检测报文中解析出第三发送时间戳;其中,所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为所述目的网络设备添加到所述第二检测报文中的;
[0015]所述控制器确定所述第二消息的第三接收时间戳;
[0016]所述控制器利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
[0017]所述控制器向源网络设备发送封装了第一检测报文的第一消息的过程,具体包括:所述控制器向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则所述控制器向所述源网络设备发送封装了所述第一检测报文的第一消息。
[0018]所述方法应用于软件定义网络SDN中;
[0019]当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
[0020]本发明提供一种转发路径的选择装置,所述转发路径的选择装置应用在控制器上,且所述转发路径的选择装置具体包括:
[0021]发送模块,用于向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
[0022]接收模块,用于接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
[0023]确定模块,用于利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
[0024]选择模块,用于当所述源网络设备与所述目的网络设备之间存在多条物理链路时,利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径。
[0025]所述发送模块,还用于在向源网络设备发送第一消息之前,确定第一消息的第二发送时间戳,在第一检测报文中添加所述第二发送时间戳;所述发送模块向源网络设备发送的第一消息,用于使所述源网络设备确定第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
[0026]所述确定模块,还用于在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和第二接收时间戳,并利用所述第二发送时间戳和第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
[0027]所述确定模块,还用于在收到第二消息后,从第二检测报文中解析出第三发送时间戳;所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为目的网络设备添加到所述第二检测报文中的;确定所述第二消息的第三接收时间戳;利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
[0028]所述发送模块,具体用于在向源网络设备发送封装了第一检测报文的第一消息的过程中,向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则向所述源网络设备发送封装了所述第一检测报文的第一消息。
[0029]所述装置应用于软件定义网络SDN;
[0030]当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的报文;当所述源端口与所述目的端口之间的链路为非直连链路时,所述第一检测报文和所述第二检测报文为基于广播类型链路层发现协议BDDP的报文。
[0031]基于上述技术方案,本发明实施例中,控制器可以获得源端口和目的端口之间的物理链路的传输延时,当源网络设备与目的网络设备之间存在多条物理链路时,控制器可以利用多条物理链路的传输延时,从这多条物理链路中选择一条传输延时最小的物理链路作为源网络设备与目的网络设备之间的转发路径,从而提升链路转发效率,降低数据传输时间,提高数据传输效率。
【附图说明】
[0032]图1是本发明实施例的应用场景
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1