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

文档序号:9828092阅读:来源:国知局
戳。经过上述处理后,第一检测报文中携带第一消息的第二发送时间戳、第一消息的第二接收时间戳,且第二检测报文中携带第一消息的第二发送时间戳、第一消息的第二接收时间戳。控制器在收到第二消息后,从第二检测报文中解析出第二发送时间戳和第二接收时间戳,并利用第二发送时间戳和第二接收时间戳,确定控制器与源网络设备之间的物理链路的传输延时。
[0056]本发明实施例中,目的网络设备在接收到第一检测报文后,在确定第一检测报文的报文类型为延迟检测类型时,还可以确定第二消息的第三发送时间戳,并在第二检测报文中添加第二消息的第三发送时间戳。其中,第二消息的第三发送时间戳是指目的网络设备发送第二消息的时间戳。控制器在收到第二消息后,还可以确定第二消息的第三接收时间戳,并从第二检测报文中解析出第二消息的第三发送时间戳。其中,第二消息的第三接收时间戳是指控制器收到第二消息的时间戳。经过上述处理后,控制器可以得到第二消息的第三发送时间戳和第二消息的第三接收时间戳,并利用第三发送时间戳和第三接收时间戳,确定控制器与目的网络设备之间的物理链路的传输延时。
[0057]其中,控制器与源网络设备之间的物理链路的传输延时,可以作为控制器与源网络设备之间的Openflow协议握手报文的超时时间的调整依据。当控制器与源网络设备之间的物理链路的传输延时较长时,则可以将Openflow协议握手报文的超时时间调整的相对长一些,当控制器与源网络设备之间的物理链路的传输延时较短时,则可以将Openflow协议握手报文的超时时间调整的相对短一些,从而避免由于链路延迟导致的握手超时和重复连接。
[0058]控制器与目的网络设备之间的物理链路的传输延时,可以作为控制器与目的网络设备之间的Openflow协议握手报文的超时时间的调整依据。当控制器与目的网络设备之间的物理链路的传输延时较长时,则可以将Openflow协议握手报文的超时时间调整的相对长一些,当控制器与目的网络设备之间的物理链路的传输延时较短时,则可以将Openflow协议握手报文的超时时间调整的相对短一些,从而避免由于链路延迟导致的握手超时和重复连接。
[0059]本发明实施例的上述过程中,当源端口与目的端口之间的链路为直连链路时,第一检测报文和第二检测报文为基于LLDP(Link Layer Discovery Protocol,链路层发现协议)的报文;当源端口与目的端口之间的链路为非直连链路时,第一检测报文和第二检测报文为基于BDDP(Broadcasts Link Layer Discovery Protocol,广播类型链路层发现协议)的报文。例如,针对端口 I和端口 2发送的第一检测报文和第二检测报文,是基于LLDP的报文;针对端口 3发送的第一检测报文和第二检测报文,是基于BDDP的报文。
[0060]其中,基于LLDP的报文,其目的MAC(Media Access Control,介质访问控制)地址是01:80:c2:00:00:0e,以太类型是0x88cc ;基于BDDP的报文,其目的MAC地址是ff:ff:ff:ff:ff:ff (广播地址),以太类型是0x8999 ο
[0061]本发明实施例的上述过程中,为了在检测报文中能够携带各时间戳,需要对现有的检测报文进行扩展,在检测报文中添加能够携带各时间戳的TLV(Type Length Value,类型长度值),并通过该TLV携带第一发送时间戳、第二发送时间戳、第三发送时间戳、第一接收时间戳、第二接收时间戳。
[0062]本发明实施例中,控制器向源网络设备发送封装了报文类型为延迟检测类型的第一检测报文的第一消息之前,还可以向源网络设备发送端口延迟检测消息,并向目的网络设备发送端口延迟检测消息。如果收到源网络设备返回的携带源网络设备使能延迟检测的端口延迟检测响应消息,并收到目的网络设备返回的携带目的网络设备使能延迟检测的端口延迟检测响应消息,则说明源网络设备和目的网络设备均支持延迟检测技术,可以在检测报文中添加时间戳信息,因此,控制器向源网络设备发送封装了报文类型为延迟检测类型的第一检测报文的第一消息。如果未收到源网络设备返回的携带源网络设备使能延迟检测的端口延迟检测响应消息,和/或,未收到目的网络设备返回的携带目的网络设备使能延迟检测的端口延迟检测响应消息,则说明源网络设备和/或目的网络设备不支持延迟检测技术,无法采用本发明实施例提出的技术方案在检测报文中添加时间戳信息,因此控制器不会向源网络设备发送封装了报文类型为延迟检测类型的第一检测报文的第一消息。
[0063]其中,端口延迟检测消息具体可以为Port Descript1n(端口描述)消息,且该Port Descript1n消息中携带询问端口延迟检测是否使能的标记位,该标记位用于询问网络设备是否使能延迟检测。如果网络设备使能延迟检测,则向控制器返回携带使能延迟检测的信息的Port Descript1n应答消息。如果网络设备未使能延迟检测,则向控制器返回携带未使能延迟检测的信息的Port Descript1n应答消息,或者不向控制器返回PortDescript1n应答消息。
[0064]本发明实施例中提出的转发路径的选择装置,可以应用在控制器中,该转发路径的选择装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的控制器的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明提出的转发路径的选择装置所在的控制器的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器外,该控制器还可以包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲该控制器还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
[0065]基于与上述方法同样的发明构思,本发明实施例中还提供了一种转发路径的选择装置,所述转发路径的选择装置应用在控制器中,如图4所示,所述转发路径的选择装置具体包括:
[0066]发送模块11,用于向源网络设备发送封装了第一检测报文的第一消息,所述第一检测报文中包括源网络设备的标识、源端口的标识,所述第一检测报文的报文类型为延迟检测类型,所述延迟检测类型用于指示在第一检测报文中添加时间戳信息;以使所述源网络设备在从所述第一消息中解析出第一检测报文之后,确定所述第一检测报文的第一发送时间戳,并在所述第一检测报文中添加所述第一发送时间戳,并从源端口发送添加后的第一检测报文;
[0067]接收模块12,用于接收来自目的网络设备的封装了第二检测报文的第二消息,所述第二检测报文是目的网络设备通过目的端口收到第一检测报文后,确定第一检测报文的第一接收时间戳,在第一检测报文中添加第一接收时间戳后得到的,所述第二消息中携带目的网络设备的标识、目的端口的标识;
[0068]确定模块13,用于利用所述第一发送时间戳以及所述第一接收时间戳,确定所述源端口和所述目的端口之间的物理链路的传输延时;
[0069]选择模块14,用于当所述源网络设备与所述目的网络设备之间存在多条物理链路时,利用所述多条物理链路的传输延时,从所述多条物理链路中选择一条物理链路作为所述源网络设备与所述目的网络设备之间的转发路径。
[0070]所述发送模块11,还用于在向源网络设备发送第一消息之前,确定第一消息的第二发送时间戳,在第一检测报文中添加所述第二发送时间戳;所述发送模块向源网络设备发送的第一消息,用于使所述源网络设备确定第一消息的第二接收时间戳,并在所述第一检测报文中添加所述第二接收时间戳;
[0071]所述确定模块13,还用于在收到第二消息后,从第二检测报文中解析出所述第二发送时间戳和第二接收时间戳,并利用所述第二发送时间戳和第二接收时间戳,确定所述控制器与所述源网络设备之间的物理链路的传输延时。
[0072]所述确定模块13,还用于在收到第二消息后,从第二检测报文中解析出第三发送时间戳;所述第三发送时间戳是目的网络设备确定的所述第二消息的第三发送时间戳,且为目的网络设备添加到所述第二检测报文中的;确定所述第二消息的第三接收时间戳;利用所述第三发送时间戳和所述第三接收时间戳,确定所述控制器与所述目的网络设备之间的物理链路的传输延时。
[0073]所述发送模块11,具体用于在向源网络设备发送封装了第一检测报文的第一消息的过程中,向所述源网络设备发送端口延迟检测消息,并向所述目的网络设备发送端口延迟检测消息;如果收到所述源网络设备返回的携带所述源网络设备使能延迟检测的端口延迟检测响应消息,并收到所述目的网络设备返回的携带所述目的网络设备使能延迟检测的端口延迟检测响应消息,则向所述源网络设备发送封装了所述第一检测报文的第一消息。
[0074]所述装置应用于软件定义网络SDN;
[0075]当所述源端口与所述目的端口之间的链路为直连链路时,所述第一检测报文和所述第二检测报文为基于链路层发现协议LLDP的
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1