一种基于SONiC交换机实现错误回报的方法及装置

文档序号:974732 发布日期:2020-11-03 浏览:23次 >En<

阅读说明:本技术 一种基于SONiC交换机实现错误回报的方法及装置 (Method and device for realizing error reporting based on SONiC switch ) 是由 詹家驊 于 2020-06-24 设计创作,主要内容包括:本发明提供一种基于SONiC交换机实现错误回报的方法及装置,所述SONiC交换机包括交换机芯片和CPU;所述方法步骤:S1.在CPU设置配置模块、报文处理模块以及远程过程调用模块,并设置远程过程调用模块与远端主控平台连接;S2.配置模块为交换机芯片配置过滤包访问控制功能;S3.交换机芯片根据过滤包访问控制功能获取交换机传输中丢弃的报文信息,并将丢弃的报文信息复制后传输到CPU的报文处理模块;S4.报文处理模块将丢弃的报文信息处理后与交换机信息打包,再通过远程过程调用模块传输到远端主控平台。(The invention provides a method and a device for realizing error return based on a SONiC switch, wherein the SONiC switch comprises a switch chip and a CPU; the method comprises the following steps: s1, a configuration module, a message processing module and a remote process calling module are arranged on a CPU, and the remote process calling module is connected with a remote main control platform; s2, configuring a filtering packet access control function for the switch chip by a configuration module; s3, the switch chip acquires the discarded message information in the switch transmission according to the filtering packet access control function, copies the discarded message information and transmits the copied message information to a message processing module of the CPU; and S4, the message processing module processes the discarded message information, packages the discarded message information with the switch information, and transmits the discarded message information to the remote main control platform through the remote process calling module.)

一种基于SONiC交换机实现错误回报的方法及装置

技术领域

本发明属于交换机网路检测技术领域,具体涉及一种基于SONiC交换机实现错误回报的方法及装置。

背景技术

SONiC,Software for Open Networking in the Cloud的缩写,这是由微软所提出的开放计算项目,主要针对资料中心的使用环境进行设计。此项目提供了一套上层软体的集合,而且可以透过抽象层界面来运行在不同的交换机硬体上。

ACL,是Access Control List的缩写对报文进行过滤并执行指定动作的一套机制。

gRPC,Google Remote Procedure Calls的缩写,Google提出的远程过程调用架构,基于HTTP/2协议来传输。

目前主流的数据中心通常采用Spine/Leaf的拓扑架构,这种架构可以很容易的对数据中心的设备作线性扩展,也可以带来附载平衡与冗余的好处,在这种架构下,资料的传输会有多条路径可供选择,但路径的数量会随着数据中心的规模成长,一旦某条链路发生问题,很难快速的从大量的路径中找出有问题的路径。

在数据中心中,大部分的设备都被安放在机柜中。大型的数据中心中,机柜的数量可以达到上千个,而每个机柜可以放置十多台交换机,在这样的情况下,如果是设备或实体线路发生问题,很难快速找到出问题的设备进行故障排除。

现有的链路检测技术如IEEE 802.3ag,IEEE 802.3ah实现了L2的链路检测。而ICMP协议则可以在L3实现路径检测。现有的检测机制只能个别针对L2与L3的问题作回报,而且这些信息只有报文传送端或发生问题的设备可以收到,没办法将这些信息统整并集中呈现。传统的Ethernet OAM或IPv4 ICMP等相关诊断工具,也会因为有多条路径而无法有效且快速的锁定问题路径。

此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种基于SONiC交换机实现错误回报的方法及装置,是非常有必要的。

发明内容

针对现有技术的上述现有数据中心拓扑结构复杂,当网络路径出现问题,很难明确定位问题点的缺陷,本发明提供一种基于SONiC交换机实现错误回报的方法及装置,以解决上述技术问题。

第一方面,本发明提供一种基于SONiC交换机实现错误回报的方法,所述SONiC交换机包括交换机芯片和CPU;

所述方法包括如下步骤:

S1.在CPU设置配置模块、报文处理模块以及远程过程调用模块,并设置远程过程调用模块与远端主控平台连接;

S2.配置模块为交换机芯片配置过滤包访问控制功能;

S3.交换机芯片根据过滤包访问控制功能获取交换机传输中丢弃的报文信息,并将丢弃的报文信息复制后传输到CPU的报文处理模块;

S4.报文处理模块对丢弃的报文信息进行解析处理后,再通过远程过程调用模块将解析后丢弃报文信息与交换机信息传输到远端主控平台。

进一步地,还包括如下步骤:

S5.远端主控平台定时向指定交换机的发送检测报文,并根据各交换机是否发送回传报文进行交换机间路径检测。

进一步地,步骤S2具体步骤如下:

S21.远端主控平台开启交换机过滤包访问控制配置,并将过滤包访问控制配置发送给交换机;

S22.交换机的远程过程调用模块接收到过滤包访问控制配置后,将此配置存储到配置数据库;

S23.配置模块根据配置数据库变更,将过滤包访问控制转换成功能设定,存储到应用数据库;

S24.交换机的代码转换工具将功能设定转换为底层代码,代码部署工具将底层代码更新到交换机芯片。

进一步地,步骤S2还包括如下步骤:

S25.配置模块配置机柜编号、交换机编号以及远程主控平台IP,并将配置的机柜编号、交换机编号以及远程主控平台IP写入配置数据库。

进一步地,步骤S4具体步骤如下:

S41.报文处理模块根据丢弃的报文信息解析出丢弃的报文的五元组以及丢包原因,再发送到远程过程调用模块;

S42.远程过程调用模块获取交换机信息;

S43.远程过程调用模块经将丢弃的报文的五元组、丢包原因与交换机信息传输到远端主控平台。五元组是通信术语,指源IP地址,源端口,目的IP地址,目的端口和传输层协议。

进一步地,步骤S42中,远程过程调用模块从配置数据库获取交换机信息;

所述交换机信息包括交换机所在机柜编号以及交换机编号。

进一步地,步骤S5具体步骤如下:

S51.远端主控平台定时向指定交换机的远程过程调用模块发送检测报文;

S52.远程过程调用模块将检测报文发送到交换机芯片;

S53.交换机芯片根据检测报文产生回传报文;

S54.报文处理模块将回传报文处理后发送到远程调用模块;

S55.远程调用模块将回传报文返回到远端主控平台,同时,将检测报文转发给下一个交换机,下一个交换机重复步骤S52-S55。

第二方面,本发明提供一种基于SONiC交换机实现错误回报的装置,所述SONiC交换机包括交换机芯片和CPU;

所述装置包括:

CPU模块设置单元,用于在CPU设置配置模块、报文处理模块以及远程过程调用模块,并设置远程过程调用模块与远端主控平台连接;

过滤包访问控制配置单元,用于配置模块为交换机芯片配置过滤包访问控制功能;

丢弃报文检测单元,用于设置交换机芯片根据过滤包访问控制功能获取交换机传输中丢弃的报文信息,并将丢弃的报文信息复制后传输到CPU的报文处理模块;

错误回报单元,用于设置报文处理模块对丢弃的报文信息进行解析处理后,再通过远程过程调用模块将解析后丢弃报文信息与交换机信息传输到远端主控平台;

路径检测单元,用于设置远端主控平台定时向指定交换机的发送检测报文,并根据各交换机是否发送回传报文进行交换机间路径检测。

进一步地,过滤包访问控制配置单元包括:

配置开启子单元,用于设置远端主控平台开启交换机过滤包访问控制配置,并将过滤包访问控制配置发送给交换机;

配置存储子单元,用于设置交换机的远程过程调用模块接收到过滤包访问控制配置后,将此配置存储到配置数据库;

配置转换子单元,用于设置配置模块根据配置数据库变更,将过滤包访问控制转换成功能设定,存储到应用数据库;

代码转换子单元,用于设置交换机的代码转换工具将功能设定转换为底层代码,代码部署工具将底层代码更新到交换机芯片。

进一步地,错误回报单元包括:

报文解析子单元,用于设置报文处理模块根据丢弃的报文信息解析出丢弃的报文的五元组以及丢包原因,再发送到远程过程调用模块;

交换机信息获取子单元,用于设置远程过程调用模块获取交换机信息;

错误回报子单元,用于设置远程过程调用模块经将丢弃的报文的五元组、丢包原因与交换机信息传输到远端主控平台。

进一步地,路径检测单元包括:

检测报文发送子单元,用于设置远端主控平台定时向指定交换机的远程过程调用模块发送检测报文;

检测报文转发子单元,用于设置远程过程调用模块将检测报文发送到交换机芯片;

回传报文生成子单元(5.3),用于设置交换机芯片根据检测报文产生回传报文;

报文回传子单元,用于设置报文处理模块将回传报文处理后发送到远程调用模块;

检测报文续传子单元,用于设置远程调用模块将回传报文返回到远端主控平台,同时,将检测报文转发给下一个交换机。

本发明的有益效果在于,

本发明提供的基于SONiC交换机实现错误回报的方法及装置,实现大规模且复杂的网路环境中快速定位发生问题的交换机设备与原因,提高运维人员排查问题时的效率与准确度,从而使得数据中心在运维人员的配置与任务分配上能更节省资源,并获得更大的弹性。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的方法流程示意图一;

图2是本发明的方法流程示意图二;

图3为本发明的交换机内部结构示意图;

图中,1-CPU模块设置单元;2-过滤包访问控制配置单元;2.1-配置开启子单元;2.2-配置存储子单元;2.3-配置转换子单元;2.4-代码转换子单元;3-丢弃报文检测单元;4-错误回报单元;4.1-报文解析子单元;4.2-交换机信息获取子单元;4.3-错误回报子单元;5-路径检测单元;5.1-检测报文发送子单元;5.2-检测报文转发子单元;5.3-回传报文生成子单元;5.4-报文回传子单元;5.5-检测报文续传子单元。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

实施例1:

如图1所示,本发明提供一种基于SONiC交换机实现错误回报的方法,所述SONiC交换机包括交换机芯片和CPU;

所述方法包括如下步骤:

S1.在CPU设置配置模块、报文处理模块以及远程过程调用模块,并设置远程过程调用模块与远端主控平台连接;

S2.配置模块为交换机芯片配置过滤包访问控制功能;

S3.交换机芯片根据过滤包访问控制功能获取交换机传输中丢弃的报文信息,并将丢弃的报文信息复制后传输到CPU的报文处理模块;

S4.报文处理模块对丢弃的报文信息进行解析处理后,再通过远程过程调用模块将解析后丢弃报文信息与交换机信息传输到远端主控平台;

S5.远端主控平台定时向指定交换机的发送检测报文,并根据各交换机是否发送回传报文进行交换机间路径检测。

实施例2:

如图2所示,本发明提供一种基于SONiC交换机实现错误回报的方法,所述SONiC交换机包括交换机芯片和CPU;

所述方法包括如下步骤:

S1.在CPU设置配置模块、报文处理模块以及远程过程调用模块,并设置远程过程调用模块与远端主控平台连接;

S2.配置模块为交换机芯片配置过滤包访问控制功能;具体步骤如下:

S21.远端主控平台开启交换机过滤包访问控制配置,并将过滤包访问控制配置发送给交换机;

S22.交换机的远程过程调用模块接收到过滤包访问控制配置后,将此配置存储到配置数据库;

S23.配置模块根据配置数据库变更,将过滤包访问控制转换成功能设定,存储到应用数据库;

S24.交换机的代码转换工具将功能设定转换为底层代码,代码部署工具将底层代码更新到交换机芯片;

S25.配置模块配置机柜编号、交换机编号以及远程主控平台IP,并将配置的机柜编号、交换机编号以及远程主控平台IP写入配置数据库;

S3.交换机芯片根据过滤包访问控制功能获取交换机传输中丢弃的报文信息,并将丢弃的报文信息复制后传输到CPU的报文处理模块;

S4.报文处理模块对丢弃的报文信息进行解析处理后,再通过远程过程调用模块将解析后丢弃报文信息与交换机信息传输到远端主控平台;具体步骤如下:

S41.报文处理模块根据丢弃的报文信息解析出丢弃的报文的五元组以及丢包原因,再发送到远程过程调用模块;

S42.远程过程调用模块获取交换机信息;

S43.远程过程调用模块经将丢弃的报文的五元组、丢包原因与交换机信息传输到远端主控平台;

S5.远端主控平台定时向指定交换机的发送检测报文,并根据各交换机是否发送回传报文进行交换机间路径检测;具体步骤如下:

S51.远端主控平台定时向指定交换机的远程过程调用模块发送检测报文;

S52.远程过程调用模块将检测报文发送到交换机芯片;

S53.交换机芯片根据检测报文产生回传报文;

S54.报文处理模块将回传报文处理后发送到远程调用模块;

S55.远程调用模块将回传报文返回到远端主控平台,同时,将检测报文转发给下一个交换机,下一个交换机重复步骤S52-S55。

实施例3:

如图3所示,本发明提供一种基于SONiC交换机实现错误回报的装置,所述SONiC交换机包括交换机芯片和CPU;

所述装置包括:

CPU模块设置单元1,用于在CPU设置配置模块、报文处理模块以及远程过程调用模块,并设置远程过程调用模块与远端主控平台连接;

过滤包访问控制配置单元2,用于配置模块为交换机芯片配置过滤包访问控制功能;过滤包访问控制配置单元2包括:

配置开启子单元2.1,用于设置远端主控平台开启交换机过滤包访问控制配置,并将过滤包访问控制配置发送给交换机;

配置存储子单元2.2,用于设置交换机的远程过程调用模块接收到过滤包访问控制配置后,将此配置存储到配置数据库;

配置转换子单元2.3,用于设置配置模块根据配置数据库变更,将过滤包访问控制转换成功能设定,存储到应用数据库;

代码转换子单元2.4,用于设置交换机的代码转换工具将功能设定转换为底层代码,代码部署工具将底层代码更新到交换机芯片;

丢弃报文检测单元3,用于设置交换机芯片根据过滤包访问控制功能获取交换机传输中丢弃的报文信息,并将丢弃的报文信息复制后传输到CPU的报文处理模块;

错误回报单元4,用于设置报文处理模块对丢弃的报文信息进行解析处理后,再通过远程过程调用模块将解析后丢弃报文信息与交换机信息传输到远端主控平台;错误回报单元4包括:

报文解析子单元4.1,用于设置报文处理模块根据丢弃的报文信息解析出丢弃的报文的五元组以及丢包原因,再发送到远程过程调用模块;

交换机信息获取子单元4.2,用于设置远程过程调用模块获取交换机信息;

错误回报子单元4.3,用于设置远程过程调用模块经将丢弃的报文的五元组、丢包原因与交换机信息传输到远端主控平台;

路径检测单元5,用于设置远端主控平台定时向指定交换机的发送检测报文,并根据各交换机是否发送回传报文进行交换机间路径检测;路径检测单元5包括:

检测报文发送子单元5.1,用于设置远端主控平台定时向指定交换机的远程过程调用模块发送检测报文;

检测报文转发子单元5.2,用于设置远程过程调用模块将检测报文发送到交换机芯片;

回传报文生成子单元5.3,用于设置交换机芯片根据检测报文产生回传报文;

报文回传子单元5.4,用于设置报文处理模块将回传报文处理后发送到远程调用模块;

检测报文续传子单元5.5,用于设置远程调用模块将回传报文返回到远端主控平台,同时,将检测报文转发给下一个交换机。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种交换机链路选择方法、系统、终端及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!