CN109587010A - 一种连通性检测方法、流转发设备及网络控制器 - Google Patents

一种连通性检测方法、流转发设备及网络控制器 Download PDF

Info

Publication number
CN109587010A
CN109587010A CN201811627445.7A CN201811627445A CN109587010A CN 109587010 A CN109587010 A CN 109587010A CN 201811627445 A CN201811627445 A CN 201811627445A CN 109587010 A CN109587010 A CN 109587010A
Authority
CN
China
Prior art keywords
port
forwarding device
connectivity
sent
message
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.)
Granted
Application number
CN201811627445.7A
Other languages
English (en)
Other versions
CN109587010B (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201811627445.7A priority Critical patent/CN109587010B/zh
Publication of CN109587010A publication Critical patent/CN109587010A/zh
Application granted granted Critical
Publication of CN109587010B publication Critical patent/CN109587010B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Abstract

本申请实施例提供了一种连通性检测方法、流转发设备及网络控制器,包括:第一流转发设备经第一管理接口接收网络控制器发送的连通性检测报文,并将连通性检测报文经控制平面送入第一仿真端口;第一流转发设备通过预设端口接收第一仿真端口发出的连通性检测报文,并通过查表将连通性检测报文发送至第二流转发设备;第一流转发设备接收第二流转发设备返回的连通性应答报文;第一流转发设备将连通性应答报文经查表送入第一接入端口,将第一接入端口收到的连通性应答报文通过镜像的方式经第一管理接口发送至网络控制器。网络控制器可以判定从第一流转发设备,到第二流转发设备是连通的,从而可以使得连通性检测具有更大的参考价值。

Description

一种连通性检测方法、流转发设备及网络控制器
技术领域
本申请涉及通信技术领域,具体而言,涉及一种连通性检测方法、流转发设备及网络控制器。
背景技术
随着通信网络的不断变革,软件定义网络(Software Defined Network,SDN)的技术理念逐步得到业界认可。SDN是由一个网络控制器或网络控制器集群以及多台流转发设备组成的网络。流转发设备可以是路由器,也可以是交换机。SDN网络中的流量转发由流转发设备完成,而转发规则是由网络控制器下发的。
现有技术对SDN进行连通性检测时,往往只能检测流转发设备之间的连通性,然而,流转发设备之间连通与否并不能代表着流转发设备下接的终端设备之间连通。
申请内容
本申请实施例提供了一种连通性检测方法、流转发设备及网络控制器,以改善现有技术只检测流转发设备之间的连通性导致的连通性检测参考意义较小的问题。
第一方面,本申请实施例提供了一种连通性检测方法,应用于第一流转发设备,所述第一流转发设备包括预设端口和第一仿真端口,所述预设端口和所述第一仿真端口环回连接,所述预设端口为第一接入端口或第一模拟端口,所述第一接入端口为用于与源终端设备连接的端口,所述第一模拟端口为业务配置和转发表项与所述第一接入端口相同的端口,所述方法包括:所述第一流转发设备经第一管理接口接收网络控制器发送的连通性检测报文,并将所述连通性检测报文经控制平面送入所述第一仿真端口,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为所述源终端设备的地址信息,所述目的地址信息为与第二流转发设备连接的目的终端设备的地址信息;所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,并通过查表将所述连通性检测报文发送至所述第二流转发设备;所述第一流转发设备接收所述第二流转发设备返回的连通性应答报文;所述第一流转发设备将所述连通性应答报文经查表送入所述第一接入端口,将所述第一接入端口收到的所述连通性应答报文通过镜像的方式经控制平面所述第一管理接口发送至所述网络控制器。
第一流转发设备经第一管理接口接收网络控制器模拟终端设备发送的连通性检测报文,第一仿真端口与预设端口环回,第一仿真端口将原本被输出的连通性检测报文通过环回发给预设端口,使得连通性检测报文如同从源终端设备传入的一样被发送给第二流转发设备,并接收第二流转发设备发送的连通性应答报文送入第一接入端口,然后通过镜像的方式经第一管理接口发送给网络控制器。可以判定从第一流转发设备的预设端口开始,至第二流转发设备均是连通的,从而可以使得连通性检测具有更大的参考价值。
在一个可能的设计中,若所述第一流转发设备未与所述源终端设备连接,所述预设端口为第一接入端口,所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,包括:所述第一流转发设备通过所述第一接入端口接收所述第一仿真端口发出的所述连通性检测报文。
第一流转发设备是否与源终端设备连接会影响预设端口的选择,若第一流转发设备未与源终端设备连接,则可以由网络控制器模拟源终端设备,预设端口可以是第一接入端口,若源终端设备尚未连接,则可以直接将第一接入端口与第一流转发设备连接,不需要再配置出第一接入端口的模拟端口,节约了配置接口产生的人力。
在一个可能的设计中,若所述第一流转发设备与所述源终端设备连接,所述预设端口为所述第一模拟端口,所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,包括:所述第一流转发设备通过所述第一模拟端口接收所述第一仿真端口发出的所述连通性检测报文。
若第一流转发设备通过第一接入端口与源终端设备连接,则预设端口为第一模拟端口,网络控制器经第一模拟端口发送连通性检测报文可以模拟源终端设备经第一接入端口发送连通性检测报文。而第二流转发设备返回的连通性应答报文可以经第一接入端口返回给源终端设备,而不会被发送给第一仿真端口,从而可以避免报文发送给错误的接口导致报文无法被源终端设备接收。
在一个可能的设计中,所述第一仿真端口和所述第一模拟端口均为所述第一流转发设备的空闲端口,在所述第一流转发设备经第一管理接口接收网络控制器发送的连通性检测报文之前,所述方法还包括:关闭所述第一仿真端口的地址学习功能,设置所述第一仿真端口为广播报文隔离端口,设置所述第一仿真端口丢弃从不同于所述第一仿真端口的端口接收到的报文;关闭所述第一模拟端口的地址学习功能,设置所述第一模拟端口为广播报文隔离端口,设置所述第一模拟端口丢弃从不同于所述第一模拟端口的端口接收到的报文。
关闭第一仿真端口的地址学习功能,设置其为广播报文隔离端口,设置其丢弃除连通性检测报文以外的其他报文,可以使第一仿真端口只具有将接收到的连通性检测报文环回给预设端口的功能。关闭第一模拟端口的地址学习功能,设置其为广播报文隔离端口,设置其丢弃除连通性检测报文以外的其他报文,可以使第一模拟端口只接收来自第一仿真端口环回的连通性检测报文,避免造成报文转发的混乱。
第二方面,本申请实施例提供了一种连通性检测方法,应用于第二流转发设备,所述第二流转发设备包括用于连接目的终端设备的第二接入端口和第二仿真端口,所述第二接入端口和所述第二仿真端口环回连接,所述方法包括:所述第二流转发设备接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与所述第二接入端口连接的所述目的终端的地址信息;所述第二流转发设备经查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至第二流转发设备的控制平面,由该控制平面进行处理后生成对应的连通性应答报文;所述第二流转发设备将所述连通性应答报文经第二流转发设备的控制平面送入所述第二仿真端口;所述第二流转发设备通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备。
第二流转发设备将连通性检测报文转发至第二接入端口,通过第二接入端口发送的连通性检测报文通过镜像的方式上传给第二流转发设备的控制平面,由该控制平面生成连通性应答报文,并将连通性应答报文依次经第二仿真端口、第二接入端口传回给第一流转发设备。
在一个可能的设计中,所述第二仿真端口为所述第二流转发设备的空闲端口,在所述第二流转发设备接收第一流转发设备发送的连通性检测报文之前,所述方法还包括:关闭所述第二仿真端口的地址学习功能,设置所述第二仿真端口为广播报文隔离端口,设置所述第二仿真端口丢弃从不同于所述第二仿真端口的端口接收到的报文。
关闭第二仿真端口的地址学习功能,设置其为广播报文隔离端口,设置其丢弃除连通性检测报文以外的其他报文,可以使第二仿真端口只起到将连通性应答报文环回给第二接入端口的作用,避免造成报文转发的混乱。
第三方面,本申请实施例提供了一种连通性检测方法,应用于第二流转发设备,所述第二流转发设备包括用于连接目的终端设备的第二接入端口和第二仿真端口,所述第二接入端口和所述第二仿真端口环回连接,所述方法包括:所述第二流转发设备接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与所述第二接入端口连接的所述目的终端的地址信息;所述第二流转发设备经查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至第二流转发设备的控制平面,由所述控制平面经第二管理接口发送至网络控制器;所述第二流转发设备经所述第二管理接口接收所述网络控制器发送的连通性应答报文;所述第二流转发设备将所述连通性应答报文经第二流转发设备的控制平面送入所述第二仿真端口;所述第二流转发设备通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备。
连通性检测报文会先被第二流转发设备转发至第二接入端口,然后该连通性检测报文通过镜像的方式上传到第二流转发设备的控制平面,由该控制平面经第二管理接口发送至网络控制器,由网络控制器生成相应的连通性应答报文,然后该连通性应答报文经网络控制器发送给第二流转发设备的控制平面,然后经第二仿真端口环回给第二接入端口,再传回给第一流转发设备。
第四方面,本申请实施例提供了一种连通性检测方法,应用于网络控制器,所述网络控制器通过网络口连接第一流转发设备,所述方法包括:所述网络控制器向第一流转发设备发送连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目标地址信息为与第二流转发设备的第二接入端口连接的目的终端设备的地址信息;所述网络控制器接收所述第一流转发设备从与所述目的终端设备连接的第二流转转发设备接收的连通性应答报文;其中,所述第一流转发设备包括用于连接源终端设备的第一接入端口和第一仿真端口,所述第一接入端口和所述第一仿真端口环回连接;所述第二流转发设备包括用于连接目的终端设备的第二接入端口和第二仿真端口,所述第二接入端口和所述第二仿真端口环回连接。
网络控制器发送向第一流转发设备的连通性检测报文可以与源终端设备发送向第一流转发设备的连通性检测报文一致,网络控制器在接收到第一流转发设备返回的连通性应答报文之后,可以判定若源终端设备未出现故障,则源终端设备与目的终端设备之间的通信线路是连通的。
第五方面,本申请实施例提供了一种流转发设备,所述流转发设备包括控制模块和转发模块:所述控制模块,用于经第一管理接口接收网络控制器发送的连通性检测报文,并将所述连通性检测报文经控制平面送入所述第一仿真端口,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为用于与本机的第一接入端口连接的所述源终端设备的地址信息,所述目的地址信息为与第二流转发设备连接的目的终端设备的地址信息;所述转发模块,用于通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,并通过查表将所述连通性检测报文发送至所述第二流转发设备;还用于接收所述第二流转发设备返回的连通性应答报文;还用于将所述连通性应答报文经查表送入所述第一接入端口;其中,所述预设端口为第一接入端口或第一模拟端口,所述第一模拟端口的业务配置和转发表项与所述第一接入端口相同;所述控制模块,还用于通过镜像方式获取所述第一接入端口收到的所述连通性应答报文,经所述第一管理接口发送至所述网络控制器。
第一流转发设备经第一管理接口接收网络控制器模拟终端设备发送的连通性检测报文,第一仿真端口与预设端口环回,第一仿真端口将原本被输出的连通性检测报文通过环回发给预设端口,使得连通性检测报文如同从源终端设备传入的一样被发送给第二流转发设备,并接收第二流转发设备发送的连通性应答报文送入第一接入端口,然后通过镜像的方式经第一管理接口发送给网络控制器。可以判定从第一流转发设备的预设端口开始,至第二流转发设备均是连通的,从而可以使得连通性检测具有更大的参考价值。
第六方面,本申请实施例提供了一种流转发设备,所述流转发设备包括控制模块和转发模块:所述转发模块,用于接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与本机第二接入端口连接的所述目的终端的地址信息;还用于查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至所述控制模块,由所述控制模块进行处理后生成对应的连通性应答报文;送入所述第二仿真端口;还用于通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备;其中,所述第二接入端口和所述第二仿真端口环回连接;所述控制模块,用于接收所述转发模块上送的所述所述连通性检测报文,并进行处理后生成对应的连通性应答报文;将所述连通性应答报文送入所述转发模块的所述第二仿真端口。
第二流转发设备将连通性检测报文转发至第二接入端口,通过第二接入端口发送的连通性检测报文通过镜像的方式上传给第二流转发设备的控制平面,由该控制平面生成连通性应答报文,并将连通性应答报文依次经第二仿真端口、第二接入端口传回给第一流转发设备。
第七方面,本申请实施例提供了一种流转发设备,所述流转发设备包括控制模块和转发模块:所述转发模块,用于接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与本机第二接入端口连接的目的终端的地址信息;还用于查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至所述控制模块,由所述控制模块将从网络控制器获取的对应的连通性应答报文送入第二仿真端口;还用于通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备;其中,所述第二接入端口和所述第二仿真端口环回连接;所述控制模块,用于接收所述转发模块上送的所述连通性检测报文并发送至网络控制器,接收所述网络控制器发送的连通性应答报文送入所述第二仿真端口。
第八方面,本申请提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述流转发设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第九方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一方面或第一方面的任一可选的实现方式所述的方法。
第十方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面的任意可能的实现方式中的方法。
为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚的说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了SDN组网的一种架构图;
图2示出了本申请实施例提供的连通性检测方法的时序图;
图3示出了本申请实施例提供的连通性检测方法的一种具体实施方式的时序图;
图4是本申请实施例提供的连通性检测方法的一种应用网络架构发送连通性检测报文的路径图;
图5是本申请实施例提供的连通性检测方法的一种应用网络架构发送连通性应答报文的路径图;
图6是本申请实施例提供的连通性检测方法的另一种应用网络架构发送连通性检测报文的路径图;
图7是本申请实施例提供的连通性检测方法的另一种应用网络架构发送连通性应答报文的路径图;
图8是本申请实施例提供的连通性检测方法的又一种应用网络架构发送连通性检测报文的路径图;
图9是本申请实施例提供的连通性检测方法的又一种应用网络架构发送连通性应答报文的路径图;
图10是ARP报文的格式示意图;
图11示出了网络控制器的部分模块示意图;
图12示出了第一流转发设备的部分模块示意图。
具体实施方式
请参见图1,图1示出了SDN组网的一种架构图,在如图1示出的架构中,由一台网络控制器和三台流转发设备(可以是Openflow流表交换机或者普通交换机)组成,流转发设备根据其作用和位置分为spine节点和leaf节点,其中,leaf节点负责终端设备的接入,终端设备可能是物理服务器、虚拟机VM、PC终端等具有网络通信能力的用户设备。
业界在实现SDN网络时,往往有两种实现方式:
激进派:由网络控制器和Openflow流表交换机组成,这种方式中,交换机的转发流表是网络控制器学习并下发的,网络控制器有某一局域网中所有终端设备的媒体访问控制(Media Access Control,MAC)地址和网际协议(Internet Portocol,IP)地址等信息。Openflow是种新型网络交换模型,以网络控制器和流表转发设备为部件组成,Openflow协议在网络控制器和流表转发设备间交互信息和流表,流表指导转发设备转发流量。
改良派:由网络控制器和交换机组成,这种方式中,交换机的转发表项还是传统的路由表、MAC地址表、地址解析协议(Address Resolution Protocol,ARP)表等,由交换机本身协议和芯片学习产生。只是交换机所需的配置信息由网络控制器下发,并且网络控制器能够从交换机上获取相关流量信息等进行呈现。
现有技术中在检测SDN设备间的网络连通性时,往往检测的是流转发设备之间的连通性,例如图1示出的leaf-1和leaf-3之间的连通性。
然而流转发设备之间的连通性不能代表终端设备之间的连通性。报文由终端设备经流转发设备发送出去,常常需要经过入口单元、转发单元和出口单元这三个单元。
入口单元的作用如下:进行报文合法性检查,包括报文帧格式检查、报文校验和帧校验序列(Frame Check Sequence,FCS)检查、结合端口配置检查虚拟局域网(VirtualLocal Area Network,VLAN)属性正确性。在激进派方案中,结合端口流表信息检查流表匹配符合度,如果无匹配流表则根据SDN转发规则丢弃或上送网络控制器;在改良派方案中,结合端口配置获取可拓展虚拟局域网(Virtual Extensible LAN,VXLAN)转发域归属,结合端口配置获取VLAN转发域归属,结合端口配置获取服务质量(Quality of Service,Qos)队列信息。
转发单元的作用如下:在激进派方案中,根据网络控制器下发的流表信息,查找对应出口,并且进行count统计计数。如果有Qos规则,则在此阶段进行Qos调度和限速等操作;在改良派方案中,根据流转发设备学习到的MAC地址表(Forwarding DataBase,FDB)、ARP表、路由转发表(Forward Information dataBase,FIB)查找报文出口,同时,如果用户配置有Qos策略,在此阶段进行流量调度和限速等操作。
出口单元的作用如下:结合出端口配置,对报文进行修改,修改的内容可能包括:报文的源MAC地址、报文的VLAN信息、添加或删除隧道头部信息(比如VXLAN头部信息)、修改报文中Qos队列信息等;报文修改完成后,重新计算报文校验和,从出端口发送到线路上。
在确保物理线路正常的情况下,只有保证入口逻辑、转发逻辑、出口逻辑都正常,才能在终端设备转发某一报文进入流转发设备后,又将该报文正确转发出去。现有技术在检测如图1示出的leaf-1和leaf-3之间的连通性时,往往只是检测leaf-1的出口单元与leaf-3的出口单元之间的连通性,如图1中虚线所示,而无法检测从入口单元经转发单元、出口单元与终端设备之间的连通性。
现有技术中要检测终端设备间的连通性,比如图1中与源设备连接的终端设备以及与目的设备连接的终端设备是否能够连通,通常是由源设备连接的终端设备发送数据报文,然后判断在目的设备连接的终端设备是否能够收到,请参见图1示出的实线。然而,当终端设备过多、且终端设备分布在不同位置时,便无法容易的通过操作终端设备进行上述判断。
现有技术中存在的上述缺陷,本申请人认为均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。
为解决上述技术问题,本申请实施例提供了如下的连通性检测方法、流转发设备及网络控制器,下面将结合附图,对本申请实施例中的连通性检测方法、流转发设备及网络控制器进行详细介绍。
第一实施例
请参见图2,图2示出了本申请实施例提供的一种连通性检测方法,具体包括如下步骤:
步骤S110,网络控制器300向第一流转发设备110发送连通性检测报文。
连通性检测报文包括源地址信息和目标地址信息,源地址信息为与第一流转发设备110连接的源终端设备的地址信息,目标地址信息为与第二流转发设备120连接的目的终端设备的地址信息。网络控制器300模拟源终端设备,发一个目标地址为目的终端设备的报文,该报文的结构可以与源终端设备发送的报文的结构一致。
连通性检测报文可以是ARP报文或ICMP(Internet Control Message Protocol,Internet控制报文协议)报文,ARP报文用于检测二层连通性,ICMP报文用于检测三层连通性。若报文的类型是ARP报文,源设备发送的为ARP request报文,目的设备返回的为ARPresponse报文;若报文的类型是ICMP报文,源设备发送的为echo request报文,目的设备返回的为echo response报文。
不妨以连通性检测报文是ARP报文为例进行说明:
该报文的格式请参见图10,目的MAC、TargetMac可填目的终端设备的MAC地址,源MAC、SenderMac可填源终端设备的MAC地址。SenderIp可填源终端设备的IP地址,targetIp可填目的终端设备的IP地址。Op操作码为1表示ARP request报文,Op操作码为2表示ARPresponse报文。
步骤S120,第一流转发设备110将连通性检测报文经控制平面送入第一仿真端口,再经第一仿真端口环回至预设端口。
在本发明实施例中采用由控制器构造连通性检测报文后送入第一仿真端口,由第一仿真端口来代替源终端设备进行连通性检测报文的发送。请参见图6和图8,连通性检测报文依次经第一管理接口PORT-7、第一流转发设备110中的控制平面(图未示)被送入第一仿真端口PORT-2,然后经第一仿真端口PORT-2环回至预设端口。若第一流转发设备110的第一接入端口PORT-1与源终端设备连接,为了避免连通性检测影响第一接入端口PORT-1的正常业务,请参见图6,则预设接口为第一模拟接口PORT-3;若第一流转发设备110未与源终端设备连接,请参见图8,则预设接口为第一接入端口PORT-1。
本申请实施例通过第一仿真端口与预设接口的环回,使得原本直接经第一仿真端口发送出去的报文被传回了预设接口,而被传回预设接口之后进行转发便实现了与终端设备发送的报文路径一致。
步骤S130,第一流转发设备110经查表,将连通性检测报文向第二流转发设备120发送。
请参见图6,连通性检测报文进入预设端口后经第一流转发设备110查表后,经PORT-4接口发出至转发设备200,然后经PORT-14被第二流转发设备120接收。
步骤S140,第二流转发设备120经查表将连通性检测报文转发至第二接入端口,并以镜像的方式上传至第二流转发设备的控制平面。
第二流转发设备120将连通性检测报文转发至第二接入端口PORT-11,然后在第二接入端口PORT-11的出口处以镜像的方式上传到第二流转发设备的控制平面。
步骤S150,第二流转发设备120由控制平面进行处理,获得对应的连通性应答报文。
请参见图8,第二流转发设备的控制平面可以直接对连通性检测报文进行处理,获得与连通性检测报文对应的连通性应答报文。在本发明实施例中,如果连通性检测报文为二层报文(如ARP报文)由控制平面代替第二接入端口PORT-11连接的目的终端设备进行应答,并由第二仿真端口代替目的终端设备进行连通性应答报文的发送,实现了不依赖终端设备的连通性检测。
步骤S160,第二流转发设备120将连通性应答报文依次经第二仿真端口、与第二仿真端口环回的第二接入端口处理。
请参见图9,连通性应答报文依次经第二仿真端口PORT-12、与第二仿真端口PORT-12环回的第二接入端口PORT-11发回第二流转发设备120中。
步骤S170,第二流转发设备120将连通性应答报文发送至第一流转发设备110。
然后由第二流转发设备120从其端口PORT-14、经转发设备200以及经第一流转发设备110的端口PORT-4将连通性应答报文发送至第一流转发设备110。
步骤S180,第一流转发设备110接收连通性应答报文,经查表送入第一接入端口,并通过镜像的方式传至第一管理接口。
第一流转发设备110将连通性应答报文经查表后送入第一接入端口PORT-1,并且在第一接入端口PORT-1的输出端通过镜像的方式传到第一管理接口PORT-7。在本步骤中,第一流转发设备110接收连通性应答报文后,由于该连通性应答报文与第一流转发设备110发出的连通性检测报文是对应的,所以可以根据通性应答报文的目的地址查表后送入第一接入端口PORT-1。
步骤S190,第一流转发设备110从第一管理接口发送连通性检测报文至网络控制器300。
第一流转发设备110经第一管理接口PORT-7将连通性检测报文发给网络控制器300。
可选地,在步骤S110之前,所述方法还包括:关闭所述第一仿真端口的地址学习功能,设置所述第一仿真端口为广播报文隔离端口,设置所述第一仿真端口丢弃从不同于所述第一仿真端口的端口接收到的报文。
第一仿真端口可以进行如下设置:禁止地址学习,设置交换芯片寄存器,禁止第一仿真端口学习MAC地址;广播隔离,设置交换芯片flooding寄存器,禁止交换机中未知单播报文、未知组播报文、广播报文发送到第一仿真端口;单播隔离,下发ACL规则,第一仿真端口收到的任何报文都丢弃;设置环回寄存器,和预设接口进行内部环回。第一仿真端口通过内部环回与预设接口连接,也就是说,从第一仿真端口发出的报文,自动转发且只能转发到预设接口。
可选地,在步骤S110之前,所述方法还包括:关闭所述第一模拟端口的地址学习功能,设置所述第一模拟端口为广播报文隔离端口,设置所述第一模拟端口丢弃从不同于所述第一模拟端口的端口接收到的报文。
第一模拟端口也可以进行如下设置:禁止地址学习,设置交换芯片寄存器,禁止第一模拟端口学习MAC地址;广播隔离,设置交换芯片flooding寄存器,禁止交换机中未知单播报文、未知组播报文、广播报文发送到第一模拟端口;设置环回寄存器,和第一仿真端口进行内部环回;需要复制第一接入端口的配置和流表,复制动作由于和设备本身配置和流表规则有关,需要单独模块来实施。
所述第二仿真端口为所述第二流转发设备120的空闲端口,在所述第二流转发设备120接收第一流转发设备110发送的连通性检测报文之前,所述方法还包括:关闭所述第二仿真端口的地址学习功能,设置所述第二仿真端口为广播报文隔离端口,设置所述第二仿真端口丢弃从不同于所述第二仿真端口的端口接收到的报文。第二仿真端口的设置于第一仿真端口的设置一致,在此便不做赘述。
请参见图3,图3示出了本申请实施例提供的另一种连通性检测方法,具体包括如下步骤:
步骤S110,网络控制器300向第一流转发设备110发送连通性检测报文。
步骤S120,第一流转发设备110将连通性检测报文经控制平面送入第一仿真端口,再经第一仿真端口环回至预设端口。
步骤S130,第一流转发设备110经查表,将连通性检测报文向第二流转发设备120发送。
步骤S140,第二流转发设备120经查表将连通性检测报文转发至第二接入端口,并以镜像的方式上传至第二流转发设备的控制平面。
步骤S150,第二流转发设备120由该控制平面进行处理,获得对应的连通性应答报文。
步骤S260,第二流转发设备120将连通性检测报文发送至网络控制器300。
步骤S270,网络控制器300生成与连通性检测报文相应的连通性应答报文,并将连通性应答报文发送给第二流转发设备120。
在本发明实施例中,如果连通性检测报文为三层报文(如ICMP报文),则第二流转发设备120将连通性检测报文发送至网络控制器300,由网络控制器代替第二接入端口PORT-11连接的目的终端设备进行应答,在网络控制器生成相应的连通性应答报文后发送给第二流转发设备120,并由第二仿真端口代替目的终端设备进行连通性应答报文的发送,实现了不依赖终端设备的连通性检测。
请参见图4和图5,第二流转发设备120并非通过自身的处理获得连通性检测报文的连通性应答报文,而是将连通性检测报文发送给网络控制器300,由网络控制器300生成相应的连通性应答报文,并将连通性应答报文发送给第二流转发设备120。
步骤S280,第二流转发设备120将连通性应答报文依次经第二仿真端口、与第二仿真端口环回的第二接入端口处理。
步骤S290,第二流转发设备120将连通性应答报文发送至第一流转发设备110。
步骤S300,第一流转发设备110接收连通性应答报文,经查表送入第一接入端口,并通过镜像的方式传至第一管理接口。
步骤S310,第一流转发设备110从第一管理接口发送连通性检测报文至网络控制器300。
图3示出的步骤S280至步骤S310与图2示出的步骤S160至步骤S190对应相同,在此便不做赘述。
网络控制器300在接收到连通性应答报文之后,可以判定从第一流转发设备110的预设端口(第一接入端口或者第一接口端口的模拟端口)开始,到第二流转发设备120的第二接入端口均是连通的,从而可以使得连通性检测具有更大的参考价值,不依赖终端设备的参与。若网络控制器300发送连通性检测报文后,在一定时间内例如10秒未收到相应的连通性应答报文,则网络控制器300可以判定源终端设备与目的终端设备之间无法连通,需要进行排查。
下面结合具体的例子对本申请实施例提供的连通性检测方法进行说明:
请参见图4和图5,图4和图5示出了第一流转发设备110、第二流转发设备120均未连接终端设备的情况。网络控制器300发送连通性检测报文,连通性检测报文经第一流转发设备110的第一管理接口Port-7、第一仿真端口PORT-2、第一接入端口PORT-1,被输入回第一流转发设备110。然后该连通性检测报文模拟被源终端设备发送,依次经PORT-4、转发设备200转发后,被发送给第二流转发设备120,其中,从第一接入端口PORT-1到PORT-4的过程会依次经过图1示出的入口单元、转发单元以及出口单元的处理。第二流转发设备120的PORT-14接收第一流转发设备110发送的连通性检测报文。该连通性检测报文被发送给第二接入端口PORT-11,然后再PORT-11的出口被镜像给第二流转发设备的控制平面,由该控制平面从第二管理接口PORT-17发出,被发送给网络控制器300,详情请参见图4。
请参见图5,网络控制器300模拟目的终端设备发送连通性应答报文,该连通性应答报文依次经第二流转发设备120的第二管理接口PORT-17、第二流转发设备的控制平面、第二仿真端口PORT-12、第二接入端口PORT-11被重新传入第二流转发设备120。随后,该连通性应答报文经PORT-14、转发设备200转发后,被发送给第一流转发设备110的PORT-4,其中,从第二接入端口PORT-11到PORT-14的处理过程会依次经过图1示出的入口单元、转发单元以及出口单元。在第一流转发设备110中,连通性应答报文被发送给第一接入端口PORT-1,然后在第一接入端口PORT-1的出口处镜像一份连通性应答报文至第一管理接口PORT-7,从第一管理接口PORT-7被发送给网络控制器300。
在第一流转发设备110、第二流转发设备120均未连接终端设备的情况下,流转发设备200无法学习终端设备的MAC地址和IP地址,因此需要用户指定源终端设备接入的第一流转发设备110的相应的端口,终端设备指定目的终端设备接入第二流转发设备120的相应端口。指定源终端设备是接入第一流转发设备110的PORT-1,目的终端设备是接入第二流转发设备120的PORT-11。PORT-2和PORT-12均为仿真口,其分别与PORT-1和PORT-11进行内部环回。在图4示出的网络架构首次进行连通性检测时,分别从PORT-7和PORT-17同时发送连通性检测报文,同时发送是为了触发流转发设备200学习路由信息或者生成流表。
请参见图6和图7,图6和图7示出了第一流转发设备110连接终端设备,第二流转发设备120未连接终端设备的情况。网络控制器300发送连通性检测报文,连通性检测报文经第一流转发设备110的第一管理接口Port-7、第一仿真端口PORT-2、第一模拟端口PORT-3,被输入回第一流转发设备110。然后该连通性检测报文模拟被源终端设备发送,依次经PORT-4、转发设备200转发后,被发送给第二流转发设备120,其中,从第一模拟端口PORT-3到PORT-4的过程会依次经过图1示出的入口单元、转发单元以及出口单元的处理。第二流转发设备120的PORT-14接收第一流转发设备110发送的连通性检测报文。该连通性检测报文被发送给第二接入端口PORT-11,然后在PORT-11的出口被镜像给第二流转发设备的控制平面,由该控制平面从第二管理接口PORT-17发出,被发送给网络控制器300,详情请参见图6。
请参见图7,网络控制器300模拟目的终端设备发送连通性应答报文,该连通性应答报文依次经第二流转发设备120的第二管理接口PORT-17、第二流转发设备的控制平面、第二仿真端口PORT-12、第二接入端口PORT-11被重新传入第二流转发设备120。随后,该连通性应答报文经PORT-14、转发设备200转发后,被发送给第一流转发设备110的PORT-4。在第一流转发设备110中,连通性应答报文被发送给第一接入端口PORT-1,经第一接入端口PORT-1发送给源终端设备;同时在第一接入端口PORT-1的出口处镜像一份连通性应答报文至第一管理接口PORT-7,从第一管理接口PORT-7被发送给网络控制器300。
请参见图8和图9,图8和图9示出了第一流转发设备110、第二流转发设备120均未连接终端设备的另一种情况。网络控制器300发送连通性检测报文,连通性检测报文经第一流转发设备110的第一管理接口PORT-7、第一仿真端口PORT-2、第一接入端口PORT-1,被输入回第一流转发设备110。然后该连通性检测报文模拟被源终端设备发送,依次经PORT-4、转发设备200转发后,被发送给第二流转发设备120,其中,从第一接入端口PORT-1到PORT-4的过程会依次经过图1示出的入口单元、转发单元以及出口单元的处理。第二流转发设备120的PORT-14接收第一流转发设备110发送的连通性检测报文。该连通性检测报文被发送给第二接入端口PORT-11,然后在PORT-11的出口被镜像给第二流转发设备的控制平面,由该控制平面对连通性检测报文进行处理,详情请参见图8。
请参见图9,第二流转发设备的控制平面对连通性检测报文进行处理,得到连通性应答报文,该连通性应答报文依次经第二仿真端口PORT-12、第二接入端口PORT-11被重新传入第二流转发设备120。随后,该连通性应答报文经PORT-14、转发设备200转发后,被发送给第一流转发设备110的PORT-4。在第一流转发设备110中,连通性应答报文被发送给第一接入端口PORT-1,经第一接入端口PORT-1;在第一接入端口PORT-1的出口处镜像一份连通性应答报文至第一管理接口PORT-7,从第一管理接口PORT-7被发送给网络控制器300。
网络控制器300,是连通性检查的发起方和结果判定以及呈现的设备。
第一流转发设备110是用户指定要检查连通性的源终端设备所接入的流转发设备200,网络控制器300构造的模拟报文从这里进入网络。同时,目的终端设备的应答报文需要从这里收回到网络控制器300。
第二流转发设备120是用户指定要检查连通性的目的终端设备所接入的流转发设备200,如果目的终端设备存在,那么第二流转发设备120不需要特殊设置,如果目的终端设备不存在,需要对第二流转发设备120进行相应设置以使连通性检测报文可以被发送给网络控制器300以模拟目的终端设备。
其它中间网络部分,可以是正常的二层网络、三层网络,也可以是多协议标签交换(Multi-Protocol Label Switching,MPLS)、VXLAN、通用路由封装(Generic RoutingEncapsulation,GRE)等隧道网络,两个流转发设备200之间的网络类型不应该理解为是对本申请的限制。
请参见图11,图11示出了网络控制器300的部分模块示意图,包括如下部分:
用户输入模块,此模块用于提供用户输入,包括命令行和WEB页面操作等,用户基于此可以指定要检查的终端设备间的连通性。如果源终端设备和目的终端设备均已在线,可以从终端信息学习模块中选择;如果源终端设备、目的终端设备均未连接,需要指定终端设备的MAC地址、IP地址、分别要配置连接的流转发设备的相应端口,以及需要用户选择是二层连通性检查还是三层连通性检测。
自动编排模块,可以根据用户输入模块功能调用,进行批量终端设备连通性检查,用户可以启动一个自动编排任务,从后台文件中导入编辑好的终端设备信息文件,然后设定时间点自动进行连通性检测,检测结果交给结果呈现模块处理。自动编排模块还可以根据终端信息学习模块,自动将系统学习到的终端设备,两两配对导入,分别作为源终端设备、目的终端设备,自动进行连通性检测,检测结果交给结果呈现模块处理。
终端信息学习模块,用于学习终端设备信息,如果终端设备本身是在线的,该模块可以进行记录,记录的信息包括终端设备的MAC地址、IP地址、连接的设备编号以及端口号。对于激进派,是流表学习的过程;对于改良派,需要读取交换机的路由表、ARP表、MAC地址表等进行记录。
终端模拟模块,根据前面模块的输入信息,构造连通性检测报文,构造好后调用检测报文收发模块发送到对应设备上,并将信息记录下来,如果有应答报文收回来,则和本地记录信息进行匹配,判定连通,如果预设时间(可配置,取值范围可以为1秒~120秒)后,还没有收回对应的应答报文,则认为不连通,并将检测结果交给结果呈现模块处理。
检测报文收发模块,将终端模拟模块构造的报文发往指定的设备,并且监听和接收应答报文,然后交给终端模拟模块处理。流转发设备与网络控制器可通过流转发设备的管理接口连接,且流转发设备与网络控制器之间的通信需要流转发设备的CPU参与转发。具体地,网络控制器将连通性检测报文发送给流转发设备的管理接口之后,管理接口上送CPU,CPU的检测报文收发模块用于模拟报文是来自终端设备。报文的转发行为,例如报文从一个端口进入设备,经过入口单元、转发单元、出口单元处理后从另一个端口发出的过程可以通过CPU实现,也可以通过ASIC芯片实现;网络控制器与流转发设备之间的通信通过CPU实现。
结果呈现模块,连通性检测完成后,会生成结果文件,结果呈现模块根据结果文件进行整理输出,可以通过两种形式呈现:直接反馈,适用于用户单次指定连通性检测,直接反馈给用户说明是连通还是不连通;列表呈现,在自动编排情况下,最终会生成大量的结果,用户要查询结果时可以在命令行或web页面中以列表的形式输出。
请参见图12,图12示出了第一流转发设备110的结构示意图,具体包括控制模块CPU和转发模块,转发模块包括交换芯片用于实现转发功能,控制模块包括如下子模块:
检测报文收发子模块,对应于网络控制器300中的检测报文收发模块,用于和网络控制器300交互报文。同时,其还需要将从网络控制器300收到的报文,从交换芯片指定端口发送出去。另外,当业务口(即第一接入端口)PORT-1收到应答报文并镜像后,需要该模块转发给网络控制器300。
连通性检测管理子模块,用于从设备空闲端口或者内部未使用端口中,分配一个端口作为仿真口(即第一仿真接口),仿真口可以进行设置,包括:禁止地址学习,设置交换芯片寄存器,禁止仿真口学习MAC地址;广播隔离,设置交换芯片flooding寄存器,禁止交换机中未知单播报文、未知组播报文、广播报文发送到仿真口;单播隔离,下发ACL规则,仿真口收到的任何报文都丢弃;设置环回寄存器,和克隆口(即第一模拟接口)进行内部环回。
连通性检测管理子模块还用于从设备空闲端口或者内部未使用端口中,分配一个端口作为克隆口,克隆口也需要设置:禁止地址学习,设置交换芯片寄存器,禁止克隆口学习MAC地址;广播隔离,设置交换芯片flooding寄存器,禁止交换机中未知单播报文、未知组播报文、广播报文发送到仿真口;设置环回寄存器,和仿真口进行内部环回;需要克隆业务口配置和流表,克隆动作由于和设备本身配置和流表规则有关,需要单独的模块来实施。
连通性检测管理子模块还用于连通性检测报文镜像,在业务口比如PORT-1上,需要在设置报文镜像,镜像到CPU,然后由检测报文收发模块发往网络控制器300。为了避免杂乱报文冲击CPU,需要下发ACL规则抓取报文,所以需要维护ACL规则。在每次检测报文收发模块往仿真口发送报文后,需要调用连通性检测管理模块接口,传入源终端设备MAC、源终端设备IP、目的终端MAC、目的终端IP等信息,连通性检测管理模块需要根据上述信息下发ACL规则到交换芯片,ACL规则中除精确匹配上述终端设备信息外,还需要匹配报文类型(包括ARP、ICMP),操作类型(ARP response、Echo response)。在一次连通性检测完成后,对应的ACL规则需要删除,所以连通性检测管理模块也需要维护这些信息,并且匹配请求和应答报文,当完成了一次连通性检测或者定时器超时后,删除这些规则,规则老化定时器取值建议120秒。
端口克隆子模块用于获取指定业务口配置信息,在克隆口上生成对应配置信息。具体方法为,调用系统中running-config运行时配置收集接口,收集各个业务模块在业务口上的运行时配置,然后拷贝一份应用到克隆口上。
端口克隆子模块还用于获取指定业务口流表信息,拷贝应用到克隆口上,由于在激进派方案中,流表是网络控制器300下发的,本身在设备上也会保存,所以将对应业务口流表下发一份到克隆口。
在连通性检测完成后,或需要完成另一业务口终端设备连通性检测前,需要删除克隆的配置和流表。所以这里克隆口可以是一个串行节点,如果只创建一个克隆口,那么同时只能检测一个业务口下终端设备的连通性;如果需要检测多路,则需要创建多个克隆口。端口克隆模块可以维护上述端口,进行动态分配和释放。
第二实施例
本申请第二实施例提供了一种流转发设备,所述流转发设备包括控制模块和转发模块:所述控制模块,用于经第一管理接口接收网络控制器发送的连通性检测报文,并将所述连通性检测报文经控制平面送入所述第一仿真端口,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为所述源终端设备的地址信息,所述目的地址信息为与第二流转发设备连接的目的终端设备的地址信息;所述转发模块,用于通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,并通过查表将所述连通性检测报文发送至所述第二流转发设备;还用于接收所述第二流转发设备返回的连通性应答报文;还用于将所述连通性应答报文经查表送入所述第一接入端口;所述控制模块,还用于通过镜像方式获取所述第一接入端口收到的所述连通性应答报文,经所述管理接口发送至所述网络控制器。
第三实施例
本申请第三实施例提供了一种流转发设备,所述流转发设备包括控制模块和转发模块:所述转发模块,用于接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与所述第二接入端口连接的所述目的终端的地址信息;还用于查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至所述控制模块,由所述控制模块进行处理后生成对应的连通性应答报文;还用于将所述连通性应答报文经所述控制模块送入所述第二仿真端口;还用于通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备;所述控制模块,用于接收所述转发模块上送的所述所述连通性检测报文,并进行处理后生成对应的连通性应答报文;将所述连通性应答报文送入所述转发模块的所述第二仿真端口。
第四实施例
本申请实施例提供了一种流转发设备,所述流转发设备包括控制模块和转发模块:所述转发模块,用于接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与本机第二接入端口连接的目的终端的地址信息;还用于查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至所述控制模块,由所述控制模块将从网络控制器获取的对应的连通性应答报文送入第二仿真端口;还用于通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备;其中,所述第二接入端口和所述第二仿真端口环回连接;所述控制模块,用于接收所述转发模块上送的所述连通性检测报文并发送至网络控制器,接收所述网络控制器发送的连通性应答报文送入所述第二仿真端口。第五实施例
本申请第五实施例提供了一种网络控制器300,所述网络控制器用于:向第一流转发设备发送连通性检测报文,其中,所述连通性检测报文包括源地址信息和目标地址信息,所述源地址信息为与所述第一流转发设备连接的源终端设备的地址信息,所述目标地址信息为与第二流转发设备连接的目的终端设备的地址信息;还用于接收所述第一流转发设备发送的连通性应答报文。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的流转发设备的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当所述流转发设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行第一实施例所述的方法。
本申请还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例所述的方法。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一实施例所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请实施例提供了一种连通性检测方法及流转发设备,所述方法包括:所述第一流转发设备经第一管理接口接收网络控制器发送的连通性检测报文,并将所述连通性检测报文经控制平面送入所述第一仿真端口,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为所述源终端设备的地址信息,所述目的地址信息为与第二流转发设备连接的目的终端设备的地址信息;所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,并通过查表将所述连通性检测报文发送至所述第二流转发设备;所述第一流转发设备接收所述第二流转发设备返回的连通性应答报文;所述第一流转发设备将所述连通性应答报文经查表送入所述第一接入端口,将所述第一接入端口收到的所述连通性应答报文通过镜像的方式经所述第一管理接口发送至所述网络控制器。第一流转发设备经第一管理接口接收网络控制器模拟终端设备发送的连通性检测报文,第一仿真端口与预设端口环回,第一仿真端口将原本被输出的连通性检测报文通过环回发给预设端口,使得连通性检测报文如同从源终端设备传入的一样被发送给第二流转发设备,并接收第二流转发设备发送的连通性应答报文送入第一接入端口,然后通过镜像的方式经第一管理接口发送给网络控制器。可以判定从第一流转发设备的预设端口开始,至第二流转发设备均是连通的,从而可以使得连通性检测具有更大的参考价值。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者流转发设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种连通性检测方法,其特征在于,应用于第一流转发设备,所述第一流转发设备包括预设端口和第一仿真端口,所述预设端口和所述第一仿真端口环回连接,所述预设端口为第一接入端口或第一模拟端口,所述第一接入端口为用于与源终端设备连接的端口,所述第一模拟端口为业务配置和转发表项与所述第一接入端口相同的端口,所述方法包括:
所述第一流转发设备经第一管理接口接收网络控制器发送的连通性检测报文,并将所述连通性检测报文经控制平面送入所述第一仿真端口,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为所述源终端设备的地址信息,所述目的地址信息为与第二流转发设备连接的目的终端设备的地址信息;
所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,并通过查表将所述连通性检测报文发送至所述第二流转发设备;
所述第一流转发设备接收所述第二流转发设备返回的连通性应答报文;
所述第一流转发设备将所述连通性应答报文经查表送入所述第一接入端口,将所述第一接入端口收到的所述连通性应答报文通过镜像的方式经控制平面由所述第一管理接口发送至所述网络控制器。
2.根据权利要求1所述的方法,其特征在于,若所述第一流转发设备未与所述源终端设备连接,所述预设端口为第一接入端口,所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,包括:
所述第一流转发设备通过所述第一接入端口接收所述第一仿真端口发出的所述连通性检测报文。
3.根据权利要求1所述的方法,其特征在于,若所述第一流转发设备与所述源终端设备连接,所述预设端口为所述第一模拟端口,所述第一流转发设备通过所述预设端口接收所述第一仿真端口发出的所述连通性检测报文,包括:
所述第一流转发设备通过所述第一模拟端口接收所述第一仿真端口发出的所述连通性检测报文。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一仿真端口和所述第一模拟端口均为所述第一流转发设备的空闲端口,在所述第一流转发设备经第一管理接口接收网络控制器发送的连通性检测报文之前,所述方法还包括:
关闭所述第一仿真端口的地址学习功能,设置所述第一仿真端口为广播报文隔离端口,设置所述第一仿真端口丢弃从不同于所述第一仿真端口的端口接收到的报文;
关闭所述第一模拟端口的地址学习功能,设置所述第一模拟端口为广播报文隔离端口,设置所述第一模拟端口丢弃从不同于所述第一模拟端口的端口接收到的报文。
5.一种连通性检测方法,其特征在于,应用于第二流转发设备,所述第二流转发设备包括用于连接目的终端设备的第二接入端口和第二仿真端口,所述第二接入端口和所述第二仿真端口环回连接,所述方法包括:
所述第二流转发设备接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与所述第二接入端口连接的所述目的终端的地址信息;
所述第二流转发设备经查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至控制平面,由控制平面进行处理后生成对应的连通性应答报文;
所述第二流转发设备将所述连通性应答报文经控制平面送入所述第二仿真端口;
所述第二流转发设备通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备。
6.根据权利要求5所述的方法,其特征在于,所述第二仿真端口为所述第二流转发设备的空闲端口,在所述第二流转发设备接收第一流转发设备发送的连通性检测报文之前,所述方法还包括:
关闭所述第二仿真端口的地址学习功能,设置所述第二仿真端口为广播报文隔离端口,设置所述第二仿真端口丢弃从不同于所述第二仿真端口的端口接收到的报文。
7.一种连通性检测方法,其特征在于,应用于第二流转发设备,所述第二流转发设备包括用于连接目的终端设备的第二接入端口和第二仿真端口,所述第二接入端口和所述第二仿真端口环回连接,所述方法包括:
所述第二流转发设备接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与所述第二接入端口连接的所述目的终端的地址信息;
所述第二流转发设备经查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至控制平面,由所述控制平面经第二管理接口发送至网络控制器;
所述第二流转发设备经所述第二管理接口接收所述网络控制器发送的连通性应答报文;
所述第二流转发设备将所述连通性应答报文经所述控制平面送入所述第二仿真端口;
所述第二流转发设备通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备。
8.一种连通性检测方法,其特征在于,应用于网络控制器,所述网络控制器通过网络口连接第一流转发设备,所述方法包括:
所述网络控制器向第一流转发设备发送连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,目标地址信息为与第二流转发设备的第二接入端口连接的目的终端设备的地址信息;
所述网络控制器接收所述第一流转发设备从与所述目的终端设备连接的第二流转转发设备接收的连通性应答报文;
其中,所述第一流转发设备包括用于连接源终端设备的第一接入端口和第一仿真端口,所述第一接入端口和所述第一仿真端口环回连接;所述第二流转发设备包括用于连接目的终端设备的第二接入端口和第二仿真端口,所述第二接入端口和所述第二仿真端口环回连接。
9.一种流转发设备,其特征在于,所述流转发设备包括控制模块和转发模块:
所述控制模块,用于经第一管理接口接收网络控制器发送的连通性检测报文,并将所述连通性检测报文经控制平面送入第一仿真端口,其中,所述连通性检测报文包括源地址信息和目的地址信息,源地址信息为用于与本机的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与第二流转发设备连接的目的终端设备的地址信息;
所述转发模块,用于通过预设端口接收所述第一仿真端口发出的所述连通性检测报文,并通过查表将所述连通性检测报文发送至所述第二流转发设备;还用于接收所述第二流转发设备返回的连通性应答报文;还用于将所述连通性应答报文经查表送入第一接入端口;其中,所述预设端口为第一接入端口或第一模拟端口,所述第一模拟端口的业务配置和转发表项与所述第一接入端口相同;
所述控制模块,还用于通过镜像方式获取所述第一接入端口收到的所述连通性应答报文,经所述第一管理接口发送至所述网络控制器。
10.一种流转发设备,其特征在于,所述流转发设备包括控制模块和转发模块:
所述转发模块,用于接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与本机的第二接入端口连接的目的终端的地址信息;
还用于查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至所述控制模块,由所述控制模块进行处理后生成对应的连通性应答报文送入第二仿真端口;还用于通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备;其中,所述第二接入端口和所述第二仿真端口环回连接;
所述控制模块,用于接收所述转发模块上送的所述连通性检测报文,并进行处理后生成对应的连通性应答报文;将所述连通性应答报文送入所述转发模块的所述第二仿真端口。
11.一种流转发设备,其特征在于,所述流转发设备包括控制模块和转发模块:
所述转发模块,用于接收第一流转发设备发送的连通性检测报文,其中,所述连通性检测报文包括源地址信息和目的地址信息,所述源地址信息为与所述第一流转发设备的第一接入端口连接的源终端设备的地址信息,所述目的地址信息为与本机第二接入端口连接的目的终端的地址信息;
还用于查表将所述连通性检测报文转发至所述第二接入端口,将通过所述第二接入端口发送的所述连通性检测报文通过镜像的方式上传至所述控制模块,由所述控制模块将从网络控制器获取的对应的连通性应答报文送入第二仿真端口;还用于通过所述第二接入端口接收所述第二仿真端口发出的所述连通性应答报文,并经查表通过所述连通性检测报文的接收端口将所述连通性应答报文发送至所述第一流转发设备;其中,所述第二接入端口和所述第二仿真端口环回连接;
所述控制模块,用于接收所述转发模块上送的所述连通性检测报文并发送至网络控制器,接收所述网络控制器发送的连通性应答报文送入所述第二仿真端口。
CN201811627445.7A 2018-12-28 2018-12-28 一种连通性检测方法及流转发设备 Active CN109587010B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811627445.7A CN109587010B (zh) 2018-12-28 2018-12-28 一种连通性检测方法及流转发设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811627445.7A CN109587010B (zh) 2018-12-28 2018-12-28 一种连通性检测方法及流转发设备

Publications (2)

Publication Number Publication Date
CN109587010A true CN109587010A (zh) 2019-04-05
CN109587010B CN109587010B (zh) 2020-07-07

Family

ID=65933452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811627445.7A Active CN109587010B (zh) 2018-12-28 2018-12-28 一种连通性检测方法及流转发设备

Country Status (1)

Country Link
CN (1) CN109587010B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162437A (zh) * 2019-05-15 2019-08-23 杭州迪普科技股份有限公司 一种框式设备内部连通性检测方法及系统
CN111431763A (zh) * 2020-03-18 2020-07-17 紫光云技术有限公司 Sdn控制器的一种连通性检测方法
CN112751733A (zh) * 2021-02-08 2021-05-04 北京金山云网络技术有限公司 一种链路检测方法、装置、设备、系统及交换机
CN114024870A (zh) * 2021-11-12 2022-02-08 中国工商银行股份有限公司 网络连通性检测方法及系统
WO2022057431A1 (zh) * 2020-09-18 2022-03-24 华为技术有限公司 网络仿真方法、装置、设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1832434A (zh) * 2005-03-10 2006-09-13 华为技术有限公司 一种网络故障的诊断方法及其装置
WO2014046875A1 (en) * 2012-09-20 2014-03-27 Ntt Docomo, Inc. A method and apparatus for topology and path verification in networks
CN104954166A (zh) * 2015-04-27 2015-09-30 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
US20160050119A1 (en) * 2014-08-14 2016-02-18 Ciena Corporation Systems and methods for setting up end-to-end traffic engineered ethernet line services
US20160353490A1 (en) * 2015-05-27 2016-12-01 Alibaba Group Holding Limited Method and apparatus for acquiring network status data
CN107517119A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 Vpc环境下的虚拟网络检测方法以及装置
CN108540307A (zh) * 2018-03-01 2018-09-14 南京理工大学 基于sdn的软硬件混合虚拟网络定制系统
CN108768685A (zh) * 2018-03-29 2018-11-06 中国电力科学研究院有限公司 大规模信息通信网络实时仿真模拟系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1832434A (zh) * 2005-03-10 2006-09-13 华为技术有限公司 一种网络故障的诊断方法及其装置
WO2014046875A1 (en) * 2012-09-20 2014-03-27 Ntt Docomo, Inc. A method and apparatus for topology and path verification in networks
US20160050119A1 (en) * 2014-08-14 2016-02-18 Ciena Corporation Systems and methods for setting up end-to-end traffic engineered ethernet line services
CN104954166A (zh) * 2015-04-27 2015-09-30 北京交通大学 一种基于硬件的网络仿真系统及仿真方法
US20160353490A1 (en) * 2015-05-27 2016-12-01 Alibaba Group Holding Limited Method and apparatus for acquiring network status data
CN107517119A (zh) * 2016-06-17 2017-12-26 阿里巴巴集团控股有限公司 Vpc环境下的虚拟网络检测方法以及装置
CN108540307A (zh) * 2018-03-01 2018-09-14 南京理工大学 基于sdn的软硬件混合虚拟网络定制系统
CN108768685A (zh) * 2018-03-29 2018-11-06 中国电力科学研究院有限公司 大规模信息通信网络实时仿真模拟系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王军晓等: "面向数据中心网络的链路故障实时检测即服务", 《计算机研究与发展 》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162437A (zh) * 2019-05-15 2019-08-23 杭州迪普科技股份有限公司 一种框式设备内部连通性检测方法及系统
CN110162437B (zh) * 2019-05-15 2023-10-27 杭州迪普科技股份有限公司 一种框式设备内部连通性检测方法及系统
CN111431763A (zh) * 2020-03-18 2020-07-17 紫光云技术有限公司 Sdn控制器的一种连通性检测方法
CN111431763B (zh) * 2020-03-18 2021-07-27 紫光云技术有限公司 Sdn控制器的一种连通性检测方法
WO2022057431A1 (zh) * 2020-09-18 2022-03-24 华为技术有限公司 网络仿真方法、装置、设备及计算机可读存储介质
CN114285757A (zh) * 2020-09-18 2022-04-05 华为技术有限公司 网络仿真方法、装置、设备及计算机可读存储介质
CN112751733A (zh) * 2021-02-08 2021-05-04 北京金山云网络技术有限公司 一种链路检测方法、装置、设备、系统及交换机
CN114024870A (zh) * 2021-11-12 2022-02-08 中国工商银行股份有限公司 网络连通性检测方法及系统

Also Published As

Publication number Publication date
CN109587010B (zh) 2020-07-07

Similar Documents

Publication Publication Date Title
CN109587010A (zh) 一种连通性检测方法、流转发设备及网络控制器
Gibb et al. NetFPGA—an open platform for teaching how to build gigabit-rate network switches and routers
US7826381B1 (en) Method and device test data streams bound to emulated devices
CN104025508B (zh) 用于在网络环境中发现多点端点的方法、设备及装置
US8369225B2 (en) Network testing providing for concurrent real-time ingress and egress viewing of network traffic data
US20190036802A1 (en) System and method for packet tracing within a packet switching asic
US9001668B2 (en) Endpoint selection in a network test system
CN108234187B (zh) 一种面向数据报文转发的高逼真链路仿真方法
Bruno et al. CCDA 640-864: official Cert guide
Huang et al. Automatical end to end topology discovery and flow viewer on SDN
Kamath et al. Multiclass queueing network modeling and traffic flow analysis for SDN-enabled mobile core networks with network slicing
CN107517130B (zh) 基于opnet的无缝冗余协议网络性能等效仿真方法
US9985864B2 (en) High precision packet generation in software using a hardware time stamp counter
CN115914042A (zh) 用于使用机器学习进行网络流量生成的方法、系统和计算机可读介质
CN104506396A (zh) 设备全端口Full Mesh性能的测试方法及系统
JP5750175B1 (ja) ネットワークシミュレータおよびネットワークシミュレーション方法
Rostami et al. ORAN: OpenFlow routers for academic networks
CN101699792B (zh) 基于联邦模型的网络实验方法
CN107566098A (zh) 软件定义网络应用测试序列的生成方法与生成系统
Baumgartner et al. Virtual routers: a tool for networking research and education
US20130151905A1 (en) Testing A Network Using Randomly Distributed Commands
Poncea et al. Design and implementation of an Openflow SDN controller in NS-3 discrete-event network simulator
Absar et al. Performance Study of Star Topology in Small Internetworks
Lara et al. Performance analysis of SDN northbound interfaces
Chodorek et al. Expanding the Ns-2 emulation environment with the use of flexible mapping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant