CN109547298B - 一种转发路径检测方法及装置 - Google Patents
一种转发路径检测方法及装置 Download PDFInfo
- Publication number
- CN109547298B CN109547298B CN201910080336.6A CN201910080336A CN109547298B CN 109547298 B CN109547298 B CN 109547298B CN 201910080336 A CN201910080336 A CN 201910080336A CN 109547298 B CN109547298 B CN 109547298B
- Authority
- CN
- China
- Prior art keywords
- forwarding
- target
- forwarding path
- source
- chip
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种转发路径检测方法及装置,该方法包括:接收第一转发路径检测请求;根据所述第一源ID以及所述第一目的芯片ID确定待检测转发路径,并通过堆叠组播报文方式发送携带所述第一源ID以及所述第一目的芯片ID的第一转发路径检测请求报文;接收所述目标成员设备发送的第一转发路径检测响应报文;根据所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息确定所述待检测转发路径是否存在异常。应用本发明实施例可以实现堆叠系统中转发路径异常的自动检测,降低转发路径异常检测的难度,提高转发路径异常检测的效率。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种转发路径检测方法及装置。
背景技术
堆叠是指将多台设备连接在一起,进行必要的配置后,虚拟化成一台设备。使用这种虚拟化技术可以集合多台设备的硬件资源和软件处理能力,实现多台设备的协同工作、统一管理和不间断维护。
在堆叠系统中,每台成员设备需要配置两个堆叠端口,分别为堆叠口1和堆叠口2,各堆叠成员设备按堆叠口1接堆叠口2的方式构成环形或链形堆叠。
当堆叠系统中的成员设备接收到报文时,该成员设备会先通过二层转发或三层转发确定报文的出端口(可以包括芯片ID(标识)和端口号),当报文的出端口不是本地端口时,该成员设备需要进一步查询芯片转发表,以确定报文转发路径。
其中,芯片转发表是保存在成员设备的转发芯片中的一个二维表,由目的芯片ID与转发端口组成,其格式可以如表1所示:
表1
芯片ID | 0 | 1 | 2 | … | 8 |
转发堆叠口 | Null(空) | 堆叠口1 | 堆叠口1 | … | 堆叠口2 |
根据表1所示的芯片转发表,成员设备可以确定不同芯片ID对应的转发堆叠口,例如,对于芯片ID为1的报文,成员设备根据表1所示的芯片转发表可以确定需要通过堆叠口1转发。
然而实践发现,在现有堆叠实现方案中,对于堆叠系统中其中一台成员设备到另一台成员设备的转发路径,需要查寻多台成员设备的芯片转发表,并人工进行路径正确性判断,其实现难度较大,且效率较低。
发明内容
本发明提供一种转发路径检测方法及装置,以解决现有堆叠实现方案中发现转发路径异常难度较大,效率较低的问题。
根据本发明实施例的第一方面,提供一种转发路径检测方法,应用于堆叠系统中的第一成员设备,所述方法包括:
接收第一转发路径检测请求;其中,所述第一转发路径检测请求中携带有第一源ID以及第一目的芯片ID;
根据所述第一源ID以及所述第一目的芯片ID确定待检测转发路径,并通过堆叠组播报文方式发送携带所述第一源ID以及所述第一目的芯片ID的第一转发路径检测请求报文;其中,所述第一转发路径检测请求报文的接收者包括所述待检测转发路径中的目标成员设备,所述目标成员设备包括所述待检测转发路径中除所述第一目标芯片ID所归属的成员设备之外的其他成员设备;
接收所述目标成员设备发送的第一转发路径检测响应报文,所述第一转发路径检测响应报文中携带有所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息;
根据所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息确定所述待检测转发路径是否存在异常。
根据本发明实施例的第二方面,提供一种转发路径检测装置,应用于堆叠系统中的第一成员设备,所述装置包括:
接收单元,用于接收第一转发路径检测请求;其中,所述第一转发路径检测请求中携带有第一源ID以及第一目的芯片ID;
确定单元,用于根据所述第一源ID以及所述第一目的芯片ID确定待检测转发路径;
发送单元,用于通过堆叠组播报文方式发送携带所述第一源ID以及所述第一目的芯片ID的第一转发路径检测请求报文;其中,所述第一转发路径检测请求报文的接收者包括所述待检测转发路径中的目标成员设备,所述目标成员设备包括所述待检测转发路径中除所述第一目标芯片ID所归属的成员设备之外的其他成员设备;
所述接收单元,还用于接收所述目标成员设备发送的第一转发路径检测响应报文,所述第一转发路径检测响应报文中携带有所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息;
检测单元,用于根据所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息确定所述待检测转发路径是否存在异常。
应用本发明公开的技术方案,当需要对第一源ID以及第一目的芯片ID之间的待检测转发路径进行检测时,通过第一成员设备构建携带该第一源ID以及第一目的芯片ID的第一转发路径检测请求报文,并通过堆叠组播报文方式发送,接收者包括待检测转发路径上的目标成员设备,以保证待检测转发路径上的目标成员设备均能接收到该第一转发路径检测请求报文,并应答携带目标成员设备对应第一目的芯片ID的转发堆叠口信息的第一转发路径检测响应报文,进而,由第一成员设备根据各目标成员设备对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常,实现了堆叠系统中转发路径异常的自动检测,降低了转发路径异常检测的难度,提高了转发路径异常检测的效率。
附图说明
图1是本发明实施例提供的一种转发路径检测方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的架构示意图;
图3是本发明实施例提供的一种具体应用场景下的转发路径检测方法的流程示意图;
图4是本发明实施例提供的一种转发路径检测装置的结构示意图;
图5是本发明实施例提供的另一种转发路径检测装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种转发路径检测方法的流程示意图,其中,该转发路径检测方法可以应用于堆叠系统中的任一成员设备(本文中称为第一成员设备),如图1所示,该转发路径检测方法可以包括以下步骤:
步骤101、接收第一转发路径检测请求,该第一转发路径检测请求中携带有第一源ID以及第一目标芯片ID。
本发明实施例中,第一源ID并不特指某一固定源ID,而是可以指代任一源ID;同理,第一目的芯片ID也并不特指某一固定芯片ID,而是可以指代任一芯片ID,本发明实施例后续不再复述。
优选地,第一源ID与第一目的芯片ID归属于不同的成员设备。
本发明实施例中,当需要进行针对第一源ID与第一目的芯片ID之间的转发路径进行检测时,可以向第一成员设备发送携带第一源ID以及第一目的芯片ID的转发路径检测请求(本文中称为第一转发路径检测请求)。
例如,可以在第一成员设备上运行的管理软件的指定功能界面中输入第一源ID和第一目的芯片ID,并点击该指定功能界面上的指定功能按钮向第一成员设备发送携带第一源ID以及第一目的芯片ID的转发路径检测请求。
其中,第一源ID以及第一目的芯片ID对应的转发路径可以为以第一源ID归属的成员设备为源设备,以第一目标芯片ID归属的成员设备为目的设备的转发路径。
步骤102、根据第一源ID以及第一目的芯片ID确定待检测转发路径,并通过堆叠组播报文方式发送携带第一源ID以及第一目的芯片ID的第一转发路径检测请求报文;其中,该第一转发路径检测请求报文的接收者包括待检测转发路径中的目标成员设备,该目标成员设备包括待检测转发路径中除第一目标芯片ID所归属的成员设备之外的其他成员设备。
本发明实施例中,第一成员设备接收到第一转发路径检测请求时,可以根据第一转发路径检测请求中携带的第一源ID以及第一目的芯片ID确定待检测转发路径。
例如,第一成员设备可以分别根据第一源ID以及第一目标芯片ID确定待检测转发路径的源成员设备以及目的成员设备,进而,第一成员设备可以根据堆叠拓扑数据,按照最短路径转发原则,确定源成员设备与目的成员设备之间的转发路径(即待检测转发路径)。
需要说明的是,在本发明实施例中,若源成员设备与目的成员设备之间存在多条最短转发路径时,可以按照小端口优先(即优选选择源成员设备的堆叠口1对应的最短转发路径)进行转发路径选择。
但应该认识到,上述转发路径确定方式仅仅是本发明实施例中确定第一源ID到第一目的芯片ID的转发路径的一种具体示例,而并不是对本发明保护范围的限定,即本发明实施例中也可以通过其他方式确定第一源ID到第一目的芯片ID的转发路径,其具体实现在此不做赘述。
此外,在本发明实施例中,当第一成员设备确定第一源ID与第一目的芯片ID归属于同一成员设备时,第一成员设备可以输出提示信息,以提示该第一源ID与第一目的芯片ID归属于同一成员设备,进而,第一成员设备可以不再执行后续流程。
本发明实施例中,第一成员设备确定了待检测转发路径之后,可以获取待检测转发路径中的除第一目的芯片ID所归属的成员设备之外的其他成员设备(本文中称为目标成员设备)对应第一目标芯片的ID的转发堆叠口信息。
为了避免可能存在的错误的堆叠转发路由导致部分或全部目标成员设备无法接收到转发路径检测请求报文,并提高转发路径检测请求报文的发送效率,第一成员设备可以采用堆叠组播报文方式发送第一转发路径检测请求报文,而不采用指定单播方式发送。
其中,该第一转发路径检测请求报文的接收者包括上述目标成员设备。
步骤103、接收目标成员设备发送的第一转发路径检测响应报文,该第一转发路径检测响应报文中携带有目标成员设备对应第一目的芯片ID的转发堆叠口信息。
本发明实施例中,当堆叠系统中的其他成员设备接收到第一转发路径检测请求报文时,可以根据该第一转发路径检测请求报文的接收者信息确定自身是否为该第一转发路径检测请求报文的接收者。
当任一目标成员设备接收到该第一转发路径检测请求报文时,可以确定自身为该第一转发路径检测请求报文的接收者,此时,该目标成员设备可以根据第一目的芯片ID,查询本地芯片转发表,以确定自身对应第一目的芯片ID的转发堆叠口信息,并根据查询到的第一目的芯片ID的转发堆叠口信息应答转发路径检测响应报文(本文中称为第一转发路径检测响应报文)。
其中,堆叠系统中的目标成员设备接收到转发路径检测请求报文时的转发堆叠口信息查询以及转发路径检测响应报文应答的具体实现将在下文中进行说明,本发明实施例在此不做赘述
需要说明的是,在本发明实施例中,当堆叠系统的成员设备接收到转发路径检测请求报文,且确定自身不属于该转发路径检测请求报文的接收者时,可以仅对该转发路径检测请求报文进行转发(或丢弃),而不需要对该转发路径检测请求报文进行应答。
此外,在本发明实施例中,若第一成员设备也属于待检测转发路径中的目标成员设备,则第一成员设备发送第一转发路径检测请求报文并接收第一转发路径检测应答报文,以获取第一成员设备对应第一目的芯片ID对应的转发堆叠口信息可以为第一成员设备查询本地芯片转发表,以确定第一目的芯片ID对应的转发堆叠口信息,其具体实现在此不做赘述。
步骤104、根据目标成员设备对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常。
本发明实施例中,第一成员设备接收到全部目标成员设备发送的第一转发路径检测响应报文时,可以根据第一转发路径检测响应报文中携带的目标成员设备(发送第一转发路径检测响应的目标成员设备)对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常。
可见,在图1所示方法流程中,当需要对第一源ID以及第一目的芯片ID之间的待检测转发路径进行检测时,通过第一成员设备构建携带该第一源ID以及第一目的芯片ID的第一转发路径检测请求报文,并通过堆叠组播报文方式发送,接收者包括待检测转发路径上的目标成员设备,以保证待检测转发路径上的目标成员设备均能接收到该第一转发路径检测请求报文,并应答携带目标成员设备对应第一目的芯片ID的转发堆叠口信息的第一转发路径检测响应报文,进而,由第一成员设备根据各目标成员设备对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常,实现了堆叠系统中转发路径异常的自动检测,降低了转发路径异常检测的难度,提高了转发路径异常检测的效率。
需要说明的是,在本发明实施例中,为便于管理,简化方案实现,可以指定堆叠系统中的某一个成员设备进行转发路径检测,例如,可以指定堆叠Master(主设备)进行转发路径检测,此时,可以通过向堆叠Master输入源ID以及目的芯片ID,以发起源ID与目的芯片ID之间的转发路径的检测;或者,当非堆叠Master接收到转发路径检测请求时,可以将该转发路径检测请求重定向至堆叠Master,由堆叠Master进行转发路径检测。当堆叠Master接收到转发路径检测请求(包括直接在堆叠Master上发起的转发路径检测请求或者非堆叠Master重定向至堆叠Master的转发路径检测请求)时,进行转发路径检测的具体实现流程可以参见上述方法实施例中的描述,本发明实施例在此不做赘述。
进一步地,在本发明其中一个实施例中,上述源过滤检测方法还可以包括:
当接收到携带第二源ID和第二目的芯片ID的第二转发路径检测请求报文,且确定自身为第二转发路径检测请求报文的接收者时,查询第二目的芯片ID对应的转发堆叠口信息;
向第二转发路径检测请求报文的发送方设备发送第二转发路径检测响应报文;其中,第二转发路径检测响应报文携带第二目的芯片ID对应的转发堆叠口信息。
在该实施例中,第二源ID并不特指某一固定源ID,而是可以指代任一源ID;同理,第二目的芯片ID也并不特指某一固定芯片ID,而是可以指代任一芯片ID,但第二源ID与第二目的芯片ID需归属于不同的成员设备,本发明实施例后续不再复述。
在该实施例中,当第一成员设备接收到携带第二源ID和第二目的芯片ID的第二转发路径检测请求报文时,第一成员设备可以根据该第二转发路径检测请求报文中的接收者信息确定自身是否为第二转发路径检测请求报文的接收者。
当第一成员设备确定自身第二转发路径检测请求报文的接收者时,第一成员设备可以根据第二目的芯片ID查询本地芯片转发表,以确定第二目的芯片ID对应的转发堆叠口信息。
在一个示例中,上述查询第二目的芯片ID对应的转发堆叠口信息,可以包括:
根据第二目的芯片ID查询本地芯片转发表,以确定是否存在与第二目的芯片ID匹配的目标转发堆叠口;
若存在目标转发堆叠口,则确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息;
若不存在目标转发堆叠口,则确定第二目标芯片ID对应的转发堆叠口信息为第一指示信息,该第一指示信息用于指示第一成员设备不存在与第二目标芯片ID对应的转发堆叠口。
在该示例中,第一成员设备可以根据第二目的芯片ID查询本地芯片转发表,以确定是否存在与第二目的芯片ID匹配的转发堆叠口(目标转发堆叠口)。
若本地芯片转发表存在与第二目的芯片ID匹配的目标转发堆叠口,则第一成员设备可以确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息,如目标转发堆叠口的端口号。
若本地芯片转发不存在与第二目的芯片ID匹配的目标转发堆叠口,则第一成员设备可以确定第二目标芯片ID对应的转发堆叠口信息为指示第一成员设备不存在与第二目标芯片ID对应的转发堆叠口的指示信息(本文中称为第一指示信息)。
进一步地,在该示例中,考虑到当堆叠系统为环形堆叠系统时,成员设备进行多播报文转发时需要进行源过滤以避免形成环路,因此,成员设备在确定目的芯片ID对应的转发堆叠口信息时,需要进行源过滤判断。
相应地,在该示例中,若存在与第二目的芯片ID匹配的目标转发堆叠口,则上述确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息之前,还可以包括:
查询本地源过滤表,以确定目标转发堆叠口是否需要对第二源ID进行过滤;
若需要,则确定第二目标芯片ID对应的转发堆叠口信息为第二指示信息,第二指示信息用于指示第一成员设备对第二源ID源过滤检测不通过;
若不需要,则确定执行确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息的步骤。
具体地,对于环形堆叠系统,当第一成员设备根据第二目的芯片ID在本地芯片转发表中查询到匹配的目标转发堆叠口时,第一成员设备还可以进一步根据第二转发路径检测请求报文中携带的第二源ID查询源过滤表,以确定是否存在匹配的源过滤表项。
若存在匹配的源过滤表项,则第一成员设备可以进一步确定目标转发堆叠口对应该第二源ID的过滤状态,若第一成员设备确定目标转发堆叠口需要对第二源ID进行源过滤,则第一成员设备可以确定对第二源ID源过滤检测不通过,此时,第二目标芯片ID对应的转发堆叠口信息为用于指示第一成员设备对第二源ID源过滤检测不通过的指示信息(本文中称为第二指示信息)。
若不存在匹配的源过滤表项,或存在匹配的源过滤表项,但目标转发堆叠口不需要对第二源ID进行源过滤,则第一成员设备可以确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息。
在该实施例中,第一成员设备确定了第二目的芯片ID对应的转发堆叠口信息之后,可以向第二转发路径检测请求报文的发送方设备发送第二转发路径检测响应报文,该第二转发路径检测响应报文中可以携带第二目的芯片ID对应的转发堆叠口(第一成员设备上对应第二目的芯片ID的转发堆叠口)信息。
其中,为了避免可能存在的错误的堆叠转发路由导致转发路径检测请求报文的发送方设备无法接收到转发路径检测响应报文,该转发路径检测响应报文可以通过堆叠组播方式发送,且其接收者可以仅包括转发路径检测请求报文的发送方设备。
进一步地,在本发明实施例中,考虑到对于环形堆叠系统会配置源过滤表项以避免报文形成环路,为了避免由于源过滤故障导致转发路径检测请求报文被错误阻断,进而导致部分或全部目标成员设备无法接收到转发路径检测请求报文,可以预先配置一个源ID(本文中称为第三源ID),第一成员设备所在环形堆叠系统中各成员设备均不对第三源ID进行出方向过滤,并以该第三源ID作为源过滤检测请求报文的源ID,以便环形堆叠系统中各目标成员设备均能接收到该转发路径检测请求报文。
进一步地,由于转发路径检测报文的源ID在各环形堆叠系统中各成员设备上均不会进行出方向过滤,因此,需要避免源过滤检测报文在环形堆叠系统中形成环路。例如,可以由源过滤检测报文的发送方设备在入端口对该源过滤检测报文进行丢弃。
相应地,在本发明其中一个实施例中,当堆叠系统为环境堆叠系统时,第一成员设备的本地堆叠口下发有目标ACL(Access Control List,访问控制列表)表项,该目标ACL表项的匹配项为报文的入端口为该本地堆叠口,且报文的源ID为第三源ID,该目标ACL表项的动作项为丢弃与匹配项匹配的报文。
在该实施例中,第一成员设备可以在本地堆叠口(包括堆叠口1和堆叠口2)分别下发目标ACL表项,用于对接收到的自身发送的转发路径检测请求报文(如上述第一转发路径检测请求报文)进行丢弃。
以堆叠口1下发的目标ACL表项为例,该目标ACL表项的匹配项为报文的入端口为堆叠口1,且报文的源ID为第三源ID,该目标ACL表项的动作项为丢弃与匹配项匹配的报文,进而,当第一成员设备通过堆叠口2发送的路径转发检测请求报文(如上述第一路径转发检测请求报文)从堆叠口1进入第一成员设备时,由于该转发路径检测请求报文的入端口为堆叠口1,且源ID为第三源ID,因此,第一成员设备可以确定该转发路径检测请求报文与堆叠口1下发的目标ACL表项匹配,此时,第一成员设备会丢弃该转发路径检测请求报文,从而,避免了转发路径检测请求报文在环形堆叠系统中形成环路。
需要说明的是,在本发明实施例中,当通过下发目标ACL表项的方式防止转发路径检测请求报文形成环路,且各成员设备均可以按照上述步骤101~104中描述的方式进行转发路径检测时,各成员设备发送的转发路径检测请求报文的源ID(如上述第三源ID)不同,以避免转发路径检测请求报文被目标ACL表项错误阻断;此外,当转发路径检测响应报文也采用下发目标ACL表项方式进行防环路时,转发路径检测响应报文的源ID需与对应的转发路径检测请求报文的源ID不同,例如,第一转发路径检测响应报文的源ID与第一转发路径检测请求报文的源ID不同。
应该认识到,上述通过下发ACL表项的方式避免转发路径检测请求报文在环形堆叠系统中形成环路的实现方式仅仅是一种具体示例,而并不是对本发明保护范围的限定,即本发明实施例中也可以通过其他方式避免转发路径检测请求报文在环形堆叠系统中形成环路。例如,转发路径检测请求报文的发送方设备可以根据环形堆叠系统中成员设备的数量确定自身发送的转发路径检测请求报文需要被转发的次数(保证全部目标成员设备均能接收到转发路径检测请求报文,但不形成环路),并在转发路径检测请求报文中携带一个特征值,该特征值的初始值为该次数,且每转发一次,该特征值减一,当该特征值为0时,该转发路径检测请求报文被丢弃,其具体实现在此不做赘述。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图2,为本申请实施例提供的一种具体应用场景的架构示意图,如图2所示,在该应用场景中,环形堆叠系统包括成员设备slot1~slot6,各成员设备分别通过堆叠口P1连接相邻成员设备的堆叠口P2的方式形成堆叠。
在该实施例中,以通过堆叠Master进行源过滤检测为例,假设堆叠Master为slot1。
基于图2所示应用场景,本发明实施例提供的源过滤检测方案实现如下,如图3所示,其可以包括以下步骤:
步骤301、slot1接收转发路径检测请求,该转发路径检测请求携带的源ID为源ID2,目的芯片ID为芯片ID5。
在该实施例中,slot1接收到的转发路径检测请求可以包括通过slot1上运行的管理软件输入的源过滤请求,或者,其他成员设备(slot2~slot5中任一成员设备)接收到源过滤请求后重定向至slot1的源过滤请求。
步骤302、slot1根据源ID2以及芯片ID5确定待检测转发路径,并通过堆叠组播报文方式发送携带该源ID2以及芯片ID5的转发路径检测请求报文,该源过滤检测请求报文的源ID为源ID100。
在该实施例中,slot1接收到转发路径检测请求时,可以先确定源ID归属的源成员设备,以及目的芯片ID归属的目的成员设备,并根据堆叠拓扑数据确定源成员设备以及目的成员设备之间的转发路径(即待检测转发路径)。
在该实施例中,假设源ID2归属slot2,芯片ID5归属slot5,则slot1根据堆叠拓扑数据确定slot2到slot5之间的转发路径时,确定存在两条最短转发路径(slot2-slot3-slot4-slot5以及slot2-slot1-slot6-slot5),此时,slot1可以按照小端口优先原则,优先选择堆叠口1对应的转发路径,即slot2-slot3-slot4-slot5。
进而,slot1可以确定目标成员设备为slot2、slot3和slot4,从而,slot1可以构建携带源ID2和芯片ID5的转发路径检测请求报文,该转发路径检测请求报文的接收者包括目标成员设备(slot2、slot3和slot4),并通过堆叠组播报文方式发送该转发路径检测请求报文。
为了保证堆叠系统中各目标成员设备均能接收到该转发路径检测请求报文,该转发路径检测请求报文采用无过滤源发送,即该转发路径检测请求报文的源ID(以源ID100为例)在各成员设备上均不进行出方向过滤。
其中,各成员设备可以不在源过滤表中设置源ID100对应的表项,或者,将源过滤表中源ID100对应的表项中各端口对应的端口过滤位图的值均置为0(即不进行出方向过滤)。
为了防止转发路径检测请求报文在堆叠系统中形成环路,slotl1可以分别在堆叠口P1和P2上下发如表2(下发至堆叠口P1)和表3(下发至堆叠口P2)所示的ACL表项:
表2
表3
匹配项 | 动作项 |
入端口为P2,且源ID为100 | 丢弃该报文 |
步骤303、slot2~slot4接收到转发路径检测请求报文,确定自身为该转发路径检测请求报文的接收者,查询芯片ID5对应的转发堆叠口信息。
在该实施例中,slot2~slot4接收到转发路径检测请求报文时,可以根据该转发路径检测请求报文的接收者信息确定自身是否为该转发路径检测请求报文的接收者。
其中,当成员设备确定自身不是接收到的转发路径检测请求报文的接收者时,可以不响应该转发路径检测请求报文,直接对该转发路径检测请求报文进行转发。
在该实施例中,slot2~slot4可以确定自身为转发路径检测请求报文的接收者,此时,slot2~slot4可以根据转发路径检测请求报文中携带的目的芯片ID(即芯片ID5)查询对应的转发堆叠口信息。
以slot2为例,slot2可以根据芯片ID5查询本地芯片转发表,以确定是否存在与芯片ID5匹配的目标转发堆叠口。
若存在目标转发堆叠口(如堆叠口P1),则slot2可以进一步根据转发路径检测请求报文中携带的源ID(即源ID2)查询本地源过滤表,以确定是否存在匹配的源过滤表项,若存在匹配的源过滤表项,且目标转发堆叠口(即P1)对应源ID2的源过滤状态为进行出方向过滤,则slot2可以确定芯片ID5对应的转发堆叠口信息为源过滤检测不通过(本文中记为“SrcFilter”);若不存在匹配的源过滤表项,或存在匹配的源过滤表项,且目标转发堆叠口对应源ID2的源过滤状态为不进行出方向过滤,则slot2可以确定芯片ID5对应的转发堆叠口信息为目标转发堆叠口的信息,即slot2上堆叠口P1的信息(本文中记为“slot-P1”)。
若不存在目标转发堆叠口,则slot2确定芯片ID5对应的转发堆叠口信息为不存在与芯片ID5对应的转发堆叠口(本文中记为Null)。
步骤304、slot2~slot4通过堆叠组播报文方式发送携带芯片ID5对应的转发堆叠口信息的转发路径检测响应报文。
在该实施例中,步骤304中的转发路径检测响应报文的接收者可以仅包括slot1。
其中,slot2发送的转发路径检测响应报文的源ID为200,slot3发送的转发路径检测响应报文的源ID为源ID为300,slot4发送的转发路径检测响应报文的源ID为源ID为400;slot1~slot6均不对源ID200、300和400进行出方向过滤。
在该实施例中,为了避免转发路径检测响应报文在堆叠系统中形成环路,slot2~slot4可以采用下发ACL表项的方式实现在入端口对自身发送的转发路径检测响应报文进行丢弃,其具体实现可以参见上文中描述的slot1防止转发路径检测请求报文在堆叠系统中形成环路的实现,本发明实施例在此不做赘述。
步骤305、slot1接收slot2~slot4发送的转发路径检测响应报文。
步骤306、slot1根据slot2~slot4对应芯片ID5的转发堆叠口信息确定待检测转发路径是否存在异常。
实施例一
slot1根据slot2~slot4对应芯片ID5的转发堆叠口信息确定的转发路径如下:
Slot2-P1->Slot3-P1->Slot4-P1->Slot5-End
其中,根据上述转发路径,slot2发送的报文,可以正常到达slot5,因此,转发路径正常。
实施例二
slot1根据slot2~slot4对应芯片ID5的转发堆叠口信息确定的转发路径如下:
Slot2-P1->Slot3-P1->Slot4-Null
其中,根据上述转发路径,slot2的发送的报文,到达slot4以后,不存在向slot5转发的堆叠口,因此,slot2发送的报文无法到达slot5,转发路径异常。
实施例三
Slot根据slot2~slot4对应芯片ID5的转发堆叠口信息确定的转发路径如下:
Slot2-P1->Slot3-P1->Slot4-SrcFilter
其中,根据上述转发路径,slot2的发送的报文,到达slot4以后,存在转发堆叠口,但是转发堆叠口对源ID2出方向过滤,因此,slot2发送的报文无法到达slot5,转发路径异常。
通过以上描述可以看出,在本发明实施例提供的技术方案中,当需要对第一源ID以及第一目的芯片ID之间的待检测转发路径进行检测时,通过第一成员设备构建携带该第一源ID以及第一目的芯片ID的第一转发路径检测请求报文,并通过堆叠组播报文方式发送,接收者包括待检测转发路径上的目标成员设备,以保证待检测转发路径上的目标成员设备均能接收到该第一转发路径检测请求报文,并应答携带目标成员设备对应第一目的芯片ID的转发堆叠口信息的第一转发路径检测响应报文,进而,由第一成员设备根据各目标成员设备对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常,实现了堆叠系统中转发路径异常的自动检测,降低了转发路径异常检测的难度,提高了转发路径异常检测的效率。
请参见图4,为本发明实施例提供的一种转发路径检测装置的结构示意图,其中,该转发路径检测装置可以应用于上述方法实施例中的第一成员设备,如图4所示,该转发路径检测装置可以包括:
接收单元410,用于接收第一转发路径检测请求;其中,第一转发路径检测请求中携带有第一源ID以及第一目的芯片ID;
确定单元420,用于根据第一源ID以及第一目的芯片ID确定待检测转发路径;
发送单元430,用于通过堆叠组播报文方式发送携带第一源ID以及第一目的芯片ID的第一转发路径检测请求报文;其中,第一转发路径检测请求报文的接收者包括待检测转发路径中的目标成员设备,目标成员设备包括待检测转发路径中除第一目标芯片ID所归属的成员设备之外的其他成员设备;
接收单元410,还用于接收目标成员设备发送的第一转发路径检测响应报文,第一转发路径检测响应报文中携带有目标成员设备对应第一目的芯片ID的转发堆叠口信息;
检测单元440,用于根据目标成员设备对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常。
请一并参见图5,为本发明实施例提供的另一种转发路径检测装置的结构示意图,如图5所示,在图4所示装置的基础上,图5所示转发路径检测装置还包括:
查询单元450,用于当接收单元410接收到携带第二源ID和第二目的芯片ID的第二转发路径检测请求报文,且确定自身为第二转发路径检测请求报文的接收者时,查询第二目的芯片ID对应的转发堆叠口信息;
发送单元430,还用于向第二转发路径检测请求报文的发送方设备发送第二转发路径检测响应报文;其中,第二转发路径检测响应报文携带第二目的芯片ID对应的转发堆叠口信息。
在可选实施例中,查询单元450,具体用于根据第二目的芯片ID查询本地芯片转发表,以确定是否存在与第二目的芯片ID匹配的目标转发堆叠口;若存在目标转发堆叠口,则确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息;若不存在目标转发堆叠口,则确定第二目标芯片ID对应的转发堆叠口信息为第一指示信息,第一指示信息用于指示第一成员设备不存在与第二目标芯片ID对应的转发堆叠口。
在可选实施例中,堆叠系统为环形堆叠系统;
查询单元450,还用于若存在与第二目的芯片ID匹配的目标转发堆叠口,查询本地源过滤表,以确定目标转发堆叠口是否需要对第二源ID进行过滤;若需要,则确定第二目标芯片ID对应的转发堆叠口信息为第二指示信息,第二指示信息用于指示第一成员设备对第二源ID源过滤检测不通过;若不需要,则确定第二目标芯片ID对应的转发堆叠口信息为目标转发堆叠口的信息。
在可选实施例中,堆叠系统为环形堆叠系统;
第一成员设备的本地堆叠口下发有目标访问控制策略ACL表项,目标ACL表项的匹配项为报文的入端口为该本地堆叠口,且报文的源ID为第三源ID,目标ACL表项的动作项为丢弃与匹配项匹配的报文;第三源ID为第一转发路径检测请求报文的源ID,堆叠系统中各成员设备均不对第三源ID进行源过滤。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,当需要对第一源ID以及第一目的芯片ID之间的待检测转发路径进行检测时,通过第一成员设备构建携带该第一源ID以及第一目的芯片ID的第一转发路径检测请求报文,并通过堆叠组播报文方式发送,接收者包括待检测转发路径上的目标成员设备,以保证待检测转发路径上的目标成员设备均能接收到该第一转发路径检测请求报文,并应答携带目标成员设备对应第一目的芯片ID的转发堆叠口信息的第一转发路径检测响应报文,进而,由第一成员设备根据各目标成员设备对应第一目的芯片ID的转发堆叠口信息确定待检测转发路径是否存在异常,实现了堆叠系统中转发路径异常的自动检测,降低了转发路径异常检测的难度,提高了转发路径异常检测的效率。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种转发路径检测方法,应用于堆叠系统中的第一成员设备,其特征在于,所述方法包括:
接收第一转发路径检测请求;其中,所述第一转发路径检测请求中携带有第一源ID以及第一目的芯片ID;
根据所述第一源ID以及所述第一目的芯片ID确定待检测转发路径,并通过堆叠组播报文方式发送携带所述第一源ID以及所述第一目的芯片ID的第一转发路径检测请求报文;其中,所述第一转发路径检测请求报文的接收者包括所述待检测转发路径中的目标成员设备,所述目标成员设备包括所述待检测转发路径中除所述第一目标芯片ID所归属的成员设备之外的其他成员设备;
接收所述目标成员设备发送的第一转发路径检测响应报文,所述第一转发路径检测响应报文中携带有所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息;
根据所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息确定所述待检测转发路径是否存在异常。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到携带第二源ID和第二目的芯片ID的第二转发路径检测请求报文,且确定自身为所述第二转发路径检测请求报文的接收者时,查询所述第二目的芯片ID对应的转发堆叠口信息;
向所述第二转发路径检测请求报文的发送方设备发送第二转发路径检测响应报文;其中,所述第二转发路径检测响应报文携带所述第二目的芯片ID对应的转发堆叠口信息。
3.根据权利要求2所述的方法,其特征在于,所述查询所述第二目的芯片ID对应的转发堆叠口信息,包括:
根据所述第二目的芯片ID查询本地芯片转发表,以确定是否存在与所述第二目的芯片ID匹配的目标转发堆叠口;
若存在所述目标转发堆叠口,则确定所述第二目标芯片ID对应的转发堆叠口信息为所述目标转发堆叠口的信息;
若不存在所述目标转发堆叠口,则确定所述第二目标芯片ID对应的转发堆叠口信息为第一指示信息,所述第一指示信息用于指示所述第一成员设备不存在与所述第二目标芯片ID对应的转发堆叠口。
4.根据权利要求3所述的方法,其特征在于,所述堆叠系统为环形堆叠系统;
若存在与所述第二目的芯片ID匹配的目标转发堆叠口,则所述确定所述第二目标芯片ID对应的转发堆叠口信息为所述目标转发堆叠口的信息之前,还包括:
查询本地源过滤表,以确定所述目标转发堆叠口是否需要对所述第二源ID进行过滤;
若需要,则确定所述第二目标芯片ID对应的转发堆叠口信息为第二指示信息,所述第二指示信息用于指示所述第一成员设备对所述第二源ID源过滤检测不通过;
若不需要,则确定执行确定所述第二目标芯片ID对应的转发堆叠口信息为所述目标转发堆叠口的信息的步骤。
5.根据权利要求1所述的方法,其特征在于,所述堆叠系统为环形堆叠系统;
所述第一成员设备的本地堆叠口下发有目标访问控制策略ACL表项,所述目标ACL表项的匹配项为报文的入端口为该本地堆叠口,且报文的源ID为第三源ID,所述目标ACL表项的动作项为丢弃与匹配项匹配的报文;所述第三源ID为所述第一转发路径检测请求报文的源ID,所述堆叠系统中各成员设备均不对所述第三源ID进行源过滤。
6.一种转发路径检测装置,应用于堆叠系统中的第一成员设备,其特征在于,所述装置包括:
接收单元,用于接收第一转发路径检测请求;其中,所述第一转发路径检测请求中携带有第一源ID以及第一目的芯片ID;
确定单元,用于根据所述第一源ID以及所述第一目的芯片ID确定待检测转发路径;
发送单元,用于通过堆叠组播报文方式发送携带所述第一源ID以及所述第一目的芯片ID的第一转发路径检测请求报文;其中,所述第一转发路径检测请求报文的接收者包括所述待检测转发路径中的目标成员设备,所述目标成员设备包括所述待检测转发路径中除所述第一目标芯片ID所归属的成员设备之外的其他成员设备;
所述接收单元,还用于接收所述目标成员设备发送的第一转发路径检测响应报文,所述第一转发路径检测响应报文中携带有所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息;
检测单元,用于根据所述目标成员设备对应所述第一目的芯片ID的转发堆叠口信息确定所述待检测转发路径是否存在异常。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
查询单元,用于当所述接收单元接收到携带第二源ID和第二目的芯片ID的第二转发路径检测请求报文,且确定自身为所述第二转发路径检测请求报文的接收者时,查询所述第二目的芯片ID对应的转发堆叠口信息;
所述发送单元,还用于向所述第二转发路径检测请求报文的发送方设备发送第二转发路径检测响应报文;其中,所述第二转发路径检测响应报文携带所述第二目的芯片ID对应的转发堆叠口信息。
8.根据权利要求7所述的装置,其特征在于,
所述查询单元,具体用于根据所述第二目的芯片ID查询本地芯片转发表,以确定是否存在与所述第二目的芯片ID匹配的目标转发堆叠口;若存在所述目标转发堆叠口,则确定所述第二目标芯片ID对应的转发堆叠口信息为所述目标转发堆叠口的信息;若不存在所述目标转发堆叠口,则确定所述第二目标芯片ID对应的转发堆叠口信息为第一指示信息,所述第一指示信息用于指示所述第一成员设备不存在与所述第二目标芯片ID对应的转发堆叠口。
9.根据权利要求8所述的装置,其特征在于,所述堆叠系统为环形堆叠系统;
所述查询单元,还用于若存在与所述第二目的芯片ID匹配的目标转发堆叠口,查询本地源过滤表,以确定所述目标转发堆叠口是否需要对所述第二源ID进行过滤;若需要,则确定所述第二目标芯片ID对应的转发堆叠口信息为第二指示信息,所述第二指示信息用于指示所述第一成员设备对所述第二源ID源过滤检测不通过;若不需要,则确定所述第二目标芯片ID对应的转发堆叠口信息为所述目标转发堆叠口的信息。
10.根据权利要求6所述的装置,其特征在于,所述堆叠系统为环形堆叠系统;
所述第一成员设备的本地堆叠口下发有目标访问控制策略ACL表项,所述目标ACL表项的匹配项为报文的入端口为该本地堆叠口,且报文的源ID为第三源ID,所述目标ACL表项的动作项为丢弃与匹配项匹配的报文;所述第三源ID为所述第一转发路径检测请求报文的源ID,所述堆叠系统中各成员设备均不对所述第三源ID进行源过滤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910080336.6A CN109547298B (zh) | 2019-01-28 | 2019-01-28 | 一种转发路径检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910080336.6A CN109547298B (zh) | 2019-01-28 | 2019-01-28 | 一种转发路径检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109547298A CN109547298A (zh) | 2019-03-29 |
CN109547298B true CN109547298B (zh) | 2020-06-09 |
Family
ID=65838687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910080336.6A Active CN109547298B (zh) | 2019-01-28 | 2019-01-28 | 一种转发路径检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109547298B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970201A (zh) * | 2020-08-28 | 2020-11-20 | 迈普通信技术股份有限公司 | 一种多芯片级联的转发系统及转发控制方法 |
CN113300909B (zh) * | 2021-04-30 | 2022-11-11 | 科华数据股份有限公司 | 并机ups通信异常检测方法、装置及并机ups系统 |
CN114268596A (zh) * | 2021-12-23 | 2022-04-01 | 苏州盛科通信股份有限公司 | 基于交换芯片的堆叠系统破环保护的方法及应用 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006184B (zh) * | 2010-11-09 | 2013-01-02 | 福建星网锐捷网络有限公司 | 堆叠链路管理方法、装置及网络设备 |
US9680791B2 (en) * | 2011-07-29 | 2017-06-13 | Fortinet, Inc. | Facilitating content accessibility via different communication formats |
US9503322B2 (en) * | 2013-07-31 | 2016-11-22 | Dell Products L.P. | Automatic stack unit replacement system |
CN103684857B (zh) * | 2013-12-02 | 2017-02-15 | 杭州华三通信技术有限公司 | 交换机的堆叠口的成员端口工作模式设置方法和装置 |
CN103701631B (zh) * | 2013-12-05 | 2017-02-15 | 杭州华三通信技术有限公司 | 应用于堆叠系统中的堆叠配置自动部署方法和设备 |
CN106953750B (zh) * | 2017-03-09 | 2020-12-04 | 新华三技术有限公司 | 一种检测路径建立方法及装置 |
CN107547372B (zh) * | 2017-08-30 | 2020-09-08 | 新华三技术有限公司 | 一种源过滤实现方法及装置 |
-
2019
- 2019-01-28 CN CN201910080336.6A patent/CN109547298B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109547298A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547298B (zh) | 一种转发路径检测方法及装置 | |
US10015054B2 (en) | Packet forwarding | |
CN103401781B (zh) | 应用于多链路透明互联网络的接入方法和设备 | |
CN106878164B (zh) | 一种报文传输方法和装置 | |
US10404589B2 (en) | Systems and methods for determining input and output interfaces of a network device and copies of a same packet going through the network device | |
US11196576B2 (en) | Method for indicating multicast forwarding entry and device | |
CN102045332A (zh) | 智能弹性架构中处理控制报文的方法和线卡板 | |
JPWO2014077313A1 (ja) | 通信システム、制御装置、その制御方法及びプログラム | |
US9571393B2 (en) | Systems and methods for processing packets tapped from a network | |
CN103532863B (zh) | 一种实现软件堆叠的方法和装置 | |
WO2017050268A1 (zh) | 路径倒换 | |
KR20170052002A (ko) | 가상 네트워크 기능 체이닝 시스템 및 방법 | |
EP4094421A2 (en) | Pce controlled network reliability | |
CN114760243A (zh) | 报文传输方法、设备及系统 | |
US9680710B2 (en) | Systems and methods for processing packets tapped from a network using discovery protocol | |
EP3291486B1 (en) | Selective transmission of bidirectional forwarding detection (bfd) messages for verifying multicast connectivity | |
CN109639573B (zh) | 一种源过滤检测方法及装置 | |
CN106330783B (zh) | 一种OpenFlow交换机能力上报的方法及装置 | |
RU2581558C1 (ru) | Узел связи, система связи, устройство управления, способ пересылки пакета и программа | |
WO2018209915A1 (zh) | 一种分布式设备中大规模oam检测系统及方法 | |
CN108632176B (zh) | 堆叠系统、pe设备及报文转发方法 | |
CN103731311A (zh) | 一种环形堆叠链路故障处理方法和装置 | |
CN110661628B (zh) | 一种实现数据组播的方法、装置和系统 | |
CN108259329B (zh) | 一种报文转发方法及装置 | |
CN105812152A (zh) | 一种以太环网故障通知方法 |
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 |