CN111224839B - 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 - Google Patents
一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111224839B CN111224839B CN201911369067.1A CN201911369067A CN111224839B CN 111224839 B CN111224839 B CN 111224839B CN 201911369067 A CN201911369067 A CN 201911369067A CN 111224839 B CN111224839 B CN 111224839B
- Authority
- CN
- China
- Prior art keywords
- message
- packet
- metadata
- band network
- network telemetry
- 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/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种带内网络遥测功能的验证方法、装置、存储介质及电子设备,所述方法包括:获取预设第一封包和带内网络遥测元数据;当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;将所述带内网络遥测元数据从预定端口输出。由于本申请实施例用端口模拟数据中心网络中的网元进行验证,因此,采用本申请实施例,可以降低组网成本,提高验证效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种带内网络遥测功能的验证方法、装置、存储介质及电子设备。
背景技术
随着可编程技术的进步,出现了一种新技术—INT(In-band Network Telemetry,带内网络遥测)。INT技术是通过在数据层面收集和报告网络状态来实现对网络状态的监控,整个过程不需要控制层面参与,从而不会增加网络设备CPU的负担。
对于验证INT或INT相关新特性(如INT Metadata)来说,目前数据中心的主流组网方式为Spine-Leaf Full-Mesh连接,这种连接方式需要至少四台可编程交换机进行Spine-Leaf组网,其中两台作为Spine节点,另两台作为Leaf节点,从而提高了组网的组网成本。当进行验证时,要给所有的Spine-Leaf节点升级新的交换机程序用于保证一次完整有效的验证,从而降低了工作效率。因此这种验证INT或INT相关新特性的方式组网成本高,验证效率低。
发明内容
本申请实施例提供了一种带内网络遥测功能的验证方法、装置、存储介质及电子设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种带内网络遥测功能的验证方法,所述方法包括:
获取预设第一封包和带内网络遥测元数据;
当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
将所述带内网络遥测元数据从预定端口输出。
可选的,所述获取预设第一封包和带内网络遥测元数据之前,还包括:
获取预先解析的报文和带内网络遥测元数据;
将所述预先解析的报文和预设流表进行匹配;
当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包。
可选的,所述获取预先解析的报文和带内网络遥测元数据之前,还包括:
当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块;
根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文。
可选的,所述当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块之前,还包括:
加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块。
第二方面,本申请实施例提供了一种带内网络遥测功能的验证装置,所述装置包括:
第一数据获取模块,用于获取预设第一封包和带内网络遥测元数据;
第二封包生成模块,用于当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
元数据获取模块,用于当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
元数据输出模块,用于将所述带内网络遥测元数据从预定端口输出。
可选的,所述装置还包括:
第二数据获取模块,用于获取预先解析的报文和带内网络遥测元数据;
报文匹配模块,用于将所述预先解析的报文和预设流表进行匹配;
第一报文生成模块,用于当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包。
可选的,所述装置还包括:
程序获取模块,用于当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块;
第二报文生成模块,用于根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文。
可选的,所述装置还包括:
程序加载模块,用于加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,首先获取预设第一封包和带内网络遥测元数据,然后当所述第一封包为带内网络遥测格式的报文时,再将所述带内网络遥测元数据插入所述第一封包中生成第二封包,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据,最后将所述带内网络遥测元数据从预定端口输出。本方案有提供一套基于一台实现标准的INT功能的可编程交换机,通过设备端口外环模拟数据中心Spine-Leaf组网,来验证INT及其新特性的验证方法。该方法可在物理的基于可编程芯片的网络设备(或由芯片商提供的可编程交换芯片模拟器)上部署和实施,从而可以降低组网成本,提高验证效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构组网成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的一种带内网络遥测功能的验证方法的流程示意图;
图2是本申请实施例提供的一种带内网络遥测技术的End-to-End模式流程示意图;
图3是本申请实施例提供的一种带内网络遥测技术的Hop-by-Hop模式流程示意图;
图4是本申请实施例提供的一种数据中心带内网络遥测技术的监控域组网流程示意图;
图5是本申请实施例提供的一种带内网络遥测功能的验证过程示意图;
图6是本申请实施例提供的一种单台可编程交换机带内网络遥测处理流程图;
图7是本申请实施例提供的另一种带内网络遥测功能的验证方法的流程示意图;
图8是本申请实施例提供的一种带内网络遥测功能的验证装置的结构示意图;
图9是本申请实施例提供的另一种带内网络遥测功能的验证装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
到目前为止,对于验证INT或INT相关新特性(如INT Metadata)来说,目前数据中心的主流组网方式为Spine-Leaf Full-Mesh连接,这种连接方式需要至少四台可编程交换机进行Spine-Leaf组网,其中两台作为Spine节点,另两台作为Leaf节点,从而提高了组网的组网成本。当进行验证时,要给所有的Spine-Leaf节点升级新的交换机程序用于保证一次完整有效的验证,从而降低了工作效率。因此这种验证INT或INT相关新特性的方式具有组网成本高,验证效率低的缺点。为此,本申请提供了一种带内网络遥测功能的验证方法、装置、存储介质及电子设备,以解决上述相关技术中存在的问题。本申请提供的技术方案中,由于提供一套基于一台实现标准的INT功能的可编程交换机,通过设备端口外环模拟数据中心Spine-Leaf组网,来验证INT及其新特性的验证方法。该方法可在物理的基于可编程芯片的网络设备(或由芯片商提供的可编程交换芯片模拟器)上部署和实施,从而可以降低组网成本,提高验证效率,下面采用示例性的实施例进行详细说明。
下面将结合附图1-附图7,对本申请实施例提供的带内网络遥测功能的验证方法进行详细介绍。该实施例部署在基于P4可编程交换机上。
请参见图1,为本申请实施例提供了一种带内网络遥测功能的验证方法的流程示意图。如图1所示,本申请实施例的所述方法可以包括以下步骤:
S101,获取预设第一封包和带内网络遥测元数据;
其中,预设第一封包是根据解析后的报文和预设流表进行匹配,当匹配成功时插入带内网络遥测元数据的报文。预设流表是配置在单台可编程交换机上的数据。带内网络遥测技术是一种随着可编程技术的进步出现的一种新技术,是通过在数据层面收集和报告网络状态来实现对网络状态的监控,整个过程不需要控制层面参与,从而不会增加网络设备CPU的负担。
通常,带内网络遥测技术有两种模式:(1)End-to-End模式,原理如图2所示:当业务报文进入第一台网络设备时(INT Source),通过网络设备上设置的采样方式采样并镜像出该业务流报文,INT Source在报文中封装一个INT header,同时定义INT结构,在INTheader后添加INT数据,将需要收集的网络设备信息填入INT数据中;接着业务报文将被转发至下一台路径上的网络设备(INT Transit Hop),INT Transit Hop根据上一台设备的INT数据内容,继续添加本机的INT Metadata信息;当业务报文经过所有INT Transit Hop,被转发至最后一台网络设备(INT Sink),INT Sink将INT Header拆除,同时将路径信息发送给监控服务器,这样监控服务器就获得了网络链路状态信息,包括:延时、拥塞、丢包等链路异常情况。(2)Hop-by-Hop模式,相对于End-to-End模式而言比较简单,原理如图3所示:所有网元不区分角色(即不区分Source/Transit/Sink),当检测到需要Tracking的流后,每个网元都主动上报本交换机的元数据(Metadata,包含设备ID、封包抵达时间、封包发送时间、队列使用情况等)。
在本申请实施例中,例如图5所示,首先使用一台可编程交换机,按照一定的方式进行连线,然后单台可编程交换机首先加载所需要的转发面程序,其中转发面的程序包括报文解析程序模块和报文转发程序模块,当报文P0从可编程交换机物理口0进入后,根据报文解析程序模块对接收到的报文进行解析生成解析后的报文,当解析后的报文生成后,获取保存在单台可编程交换机内部的内网络遥测元数据和用户提前配置在交换机上的配置流表,例如配置流表可以为(1)Entry{RX_PORT=0,SIP=192.168.1.1,DIP=192.168.1.2,PROTO=UDP,SP=123,DP=456},解释为:在物理口0上匹配源地址SIP=192.168.1.1,目的地址DIP=192.168.1.2,协议类型PROTO=UDP,源端口SP=123,目的端口=456的流量。在物理口0上为命中Entry0的封包执行Source操作。(2)Entry2{RX_PORT=2,SIP=192.168.1.1,DIP=192.168.1.2,PROTO=UDP,SP=123,DP=456},解释为:在物理口1上匹配源地址SIP=192.168.1.1,目的地址DIP=192.168.1.2,协议类型PROTO=UDP,源端口SP=123,目的端口=456的流量。在物理口2上为命中Entry2的封包执行Sink操作。
当解析的报文匹配Entry时,对匹配Entry的报文执行Source操作。根据INT规范,Source操作至少应包含以下过程:
(1)在报文的指定位置上增加INT SHIM HEADER;
(2)在报文的指定位置上增加INT HEADER;
(3)在报文的指定位置上增加本设备(以端口模拟)的INT Metadata{Switch ID,Arrival Time,Queue ID,Queue Delay,…}。其中,INT Metadata遵循INT规范的定义,除了Switch ID修改为本可编程交换机(或对应模拟器)的端口号。
当解析的报文执行Source操作后,生成新的封包P1,指定从可编程交换机3口转出,从可编程交换机3口转出的封包P1可看作第一封包。
S102,当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
在一种可能的实现方式中,基于步骤S101可得到第一封包,例如图5所示,可编程交换机3口同可编程交换机1口直连,可编程交换机1口将收到来自可编程交换机3口的封P1。转发面程序模块检查P1是不是INT格式的报文,如果不是INT格式的报文,则按照标准L2/L3转发,如果是INT格式的报文,按照步骤S101中所要求的在报文的指定位置上增加本设备(以端口模拟)的INT Metadata,生成封包P2,封包P2从指定可编程交换机的4口转出,转出的封包P2可作为第二封包。
S103,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
通常,需要转发所述带内网络遥测元数据时,需要将所述第二封包在交换机内部复制一份,再将第二封包携带的带内网络遥测元数据删除,最后将所述第二封包的复本(含带内网络遥测元数据)带内网络遥测元数据从预定端口输出。
在一种可能的实现方式中,基于步骤S102可得到第二封包,例如图5所示,物理设备4口同物理设备2口直连,物理设备2口将收到来自物理设备4口的第二封包。转发面程序检查第二封包是不是INT格式的报文,同时匹配S101中的流表Entry2。如果是INT格式的报文且匹配Entry2,表示为第二封包做Sink操作;如果不是INT格式的报文,则按照标准L2/L3转发;如果不匹配Entry2,按照步骤S101所要求的在报文的指定位置上增加本设备(以端口模拟)的INT Metadata。当对第二封包做Sink操作时,例如图5所示首先获取所述第二封包的带内网络遥测元数据,然后将带内网络遥测元数据从预定端口6输出。
S104,将所述带内网络遥测元数据从预定端口输出。
通常,在现有技术中验证一个带内网络遥测方案时,Spine-Leaf Full-Mesh(如图4所示)连接是当前数据中心的主流组网方式,这种组网方式至少需要四台可编程交换机进行Spine-Leaf组网,这种方式组网成本高,当进行验证时,要给所有的Spine-Leaf节点升级新的交换机程序用于保证一次完整有效的验证,从而降低了工作效率。本申请实施例中,验证一个带内网络遥测方案时,只需要单台可编程交换机就可实现带内网络遥测技术的验证,验证的范围包含了数据包的输入,带内网络遥测元数据的插入,带内网络遥测元数据的输出。
例如图6所示,首先是封包输入,然后判断是不是带内网络遥测封包,当是带内网络遥测封包时,判断是否需要执行Sink操作,当判断需要执行Sink操作时,提取元数据,然后从指定口转出。当判断不需要执行Sink操作时,首先添加元数据,然后输出封包,再抽取元数据从指定口转出。
当输入的封包不是带内网络遥测封包时,判断是否需要执行Tracking操作,当判断需要执行Tracking操作时,添加元数据,然后输出封包,当不需要执行Tracking操作时,直接将封包输出。
在本申请实施例中,首先获取预设第一封包和带内网络遥测元数据,然后当所述第一封包为带内网络遥测格式的报文时,再将所述带内网络遥测元数据插入所述第一封包中生成第二封包,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据,最后将所述带内网络遥测元数据从预定端口输出。本方案有提供一套基于一台实现标准的INT功能的可编程交换机,通过设备端口外环模拟数据中心Spine-Leaf组网,来验证INT及其新特性的验证方法。该方法可在物理的基于可编程芯片的网络设备(或由芯片商提供的可编程交换芯片模拟器)上部署和实施,从而可以降低组网成本,提高验证效率。
请参见图7,为本申请实施例提供的一种带内网络遥测功能的验证方法的流程示意图。本实施例以带内网络遥测功能的验证方法应用于单台可编程交换机中来举例说明。该带内网络遥测功能的验证方法可以包括以下步骤:
S201,加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块;
S202,当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块;
S203,根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文;
S204,获取预先解析的报文和带内网络遥测元数据;
S205,将所述预先解析的报文和预设流表进行匹配;
S206,当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包,;
S207,获取预设第一封包和带内网络遥测元数据;
S208,当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
S209,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
S210,将所述带内网络遥测元数据从预定端口输出。
在本申请实施例中,首先获取预设第一封包和带内网络遥测元数据,然后当所述第一封包为带内网络遥测格式的报文时,再将所述带内网络遥测元数据插入所述第一封包中生成第二封包,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据,最后将所述带内网络遥测元数据从预定端口输出。本方案有提供一套基于一台实现标准的INT功能的可编程交换机,通过设备端口外环模拟数据中心Spine-Leaf组网,来验证INT及其新特性的验证方法。该方法可在物理的基于可编程芯片的网络设备(或由芯片商提供的可编程交换芯片模拟器)上部署和实施,从而可以降低组网成本,提高验证效率。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图8,其示出了本申请一个示例性实施例提供的带内网络遥测功能的验证装置的结构示意图。该带内网络遥测功能的验证装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置1包括第一数据获取模块10、第二封包生成模块20、元数据获取模块30、元数据输出模块40。
第一数据获取模块10,用于获取预设第一封包和带内网络遥测元数据;
第二封包生成模块20,用于当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
元数据获取模块30,用于当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
元数据输出模块40,用于将所述带内网络遥测元数据从预定端口输出。
可选的,如图9所示,所述带内网络遥测功能的验证装置1还包括:
第二数据获取模块50,用于获取预先解析的报文和带内网络遥测元数据;
报文匹配模块60,用于将所述预先解析的报文和预设流表进行匹配;
第一报文生成模块70,用于当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包;
程序获取模块80,用于当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块;
第二报文生成模块90,用于根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文;
程序加载模块100,用于加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块。
需要说明的是,上述实施例提供的带内网络遥测功能的验证装置在执行带内网络遥测功能的验证方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的带内网络遥测功能的验证装置与带内网络遥测功能的验证方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,首先获取预设第一封包和带内网络遥测元数据,然后当所述第一封包为带内网络遥测格式的报文时,再将所述带内网络遥测元数据插入所述第一封包中生成第二封包,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据,最后将所述带内网络遥测元数据从预定端口输出。本方案有提供一套基于一台实现标准的INT功能的可编程交换机,通过设备端口外环模拟数据中心Spine-Leaf组网,来验证INT及其新特性的验证方法。该方法可在物理的基于可编程芯片的网络设备(或由芯片商提供的可编程交换芯片模拟器)上部署和实施,从而可以降低组网成本,提高验证效率。
本申请还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的带内网络遥测功能的验证方法。
本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例所述的带内网络遥测功能的验证方法。
请参见图10,为本申请实施例提供了一种电子设备的结构示意图。如图10所示,所述电子设备1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个电子设备1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行电子设备1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及带内网络遥测功能的验证应用程序。
在图10所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的带内网络遥测功能的验证应用程序,并具体执行以下操作:
获取预设第一封包和带内网络遥测元数据;
当所述第一封包为带内网络遥测格式的报文时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
将所述带内网络遥测元数据从预定端口输出。
在一个实施例中,所述处理器1001在执行所述获取预设第一封包和带内网络遥测元数据之前时,还执行以下操作:
获取预先解析的报文和带内网络遥测元数据;
将所述预先解析的报文和预设流表进行匹配;
当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包。
在一个实施例中,所述处理器1001在执行所述获取预先解析的报文和带内网络遥测元数据之前时,还执行以下操作:
当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块;
根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文。
在一个实施例中,所述处理器1001在执行所述当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块之前时,还执行以下操作:
加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块。
在本申请实施例中,首先获取预设第一封包和带内网络遥测元数据,然后当所述第一封包为带内网络遥测格式的报文时,再将所述带内网络遥测元数据插入所述第一封包中生成第二封包,当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据,最后将所述带内网络遥测元数据从预定端口输出。本方案有提供一套基于一台实现标准的INT功能的可编程交换机,通过设备端口外环模拟数据中心Spine-Leaf组网,来验证INT及其新特性的验证方法。该方法可在物理的基于可编程芯片的网络设备(或由芯片商提供的可编程交换芯片模拟器)上部署和实施,从而可以降低组网成本,提高验证效率。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。所属技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,应该理解到,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
应当理解的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本申请并不局限于上面已经描述并在附图中示出的流程及结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种带内网络遥测功能的验证方法,用于单台可编程交换机,其特征在于,所述方法包括:
获取预设第一封包和带内网络遥测元数据;
当所述第一封包为带内网络遥测格式的报文时,且当前不需要执行Sink操作时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
将所述带内网络遥测元数据从预定端口输出,或者当前需要执行Sink操作时,从所述第一封包中提取元数据从所述预定端口输出;
以及,
当第一封包不是带内网络遥测格式的报文且需要执行Tracking操作时,针对第一封包添加带内网络遥测元数据,输出添加元数据的第一封包,当不需要执行Tracking操作时,直接将第一封包输出;
其中,所述获取预设第一封包和带内网络遥测元数据之前,还包括:
当待解析报文匹配预设流表时,对匹配预设流表的所述报文执行Source操作生成第一封包;
所述Source操作包括:在所述报文的指定位置上增加INT SHIM HEADER;在所述报文的指定位置上增加INT HEADER;在所述报文的指定位置上增加当前设备的INT Metadata;
其中,所述Sink操作、Tracking操作以及Source操作是带内网络遥测功能。
2.根据权利要求1所述的方法,其特征在于,所述获取预设第一封包和带内网络遥测元数据之前,还包括:
获取预先解析的报文和带内网络遥测元数据;
将所述预先解析的报文和预设流表进行匹配;
当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包。
3.根据权利要求2所述的方法,其特征在于,所述获取预先解析的报文和带内网络遥测元数据之前,还包括:
当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块;
根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文。
4.根据权利要求3所述的方法,其特征在于,所述当接收到针对所述单台可编程交换机输入的报文时,获取预设报文解析程序模块之前,还包括:
加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块。
5.一种带内网络遥测功能的验证装置,其特征在于,所述装置包括:
第一数据获取模块,用于获取预设第一封包和带内网络遥测元数据;
第二封包生成模块,用于当所述第一封包为带内网络遥测格式的报文时,且当前不需要执行Sink操作时,将所述带内网络遥测元数据插入所述第一封包中生成第二封包;
元数据获取模块,用于当所述第二封包为带内网络遥测格式的报文且匹配预设流表成功时,获取所述第二封包的带内网络遥测元数据;
元数据输出模块,用于将所述带内网络遥测元数据从预定端口输出,或者当前需要执行Sink操作时,从所述第一封包中提取元数据从所述预定端口输出;
以及,
当第一封包不是带内网络遥测格式的报文且需要执行Tracking操作时,针对第一封包添加带内网络遥测元数据,输出添加元数据的第一封包,当不需要执行Tracking操作时,直接将第一封包输出;
其中,所述获取预设第一封包和带内网络遥测元数据之前,还包括:
当待解析报文匹配预设流表时,对匹配预设流表的所述报文执行Source操作生成第一封包;
所述Source操作包括:在所述报文的指定位置上增加INT SHIM HEADER;在所述报文的指定位置上增加INT HEADER;在所述报文的指定位置上增加当前设备的INT Metadata;
其中,所述Sink操作、Tracking操作以及Source操作是带内网络遥测中的预设功能节点。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二数据获取模块,用于获取预先解析的报文和带内网络遥测元数据;
报文匹配模块,用于将所述预先解析的报文和预设流表进行匹配;
第一报文生成模块,用于当匹配成功时,将所述带内网络遥测功能元数据插入所述预先解析的报文数据中生成插入元数据后的报文,将所述插入元数据后的报文作为预设第一封包。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
程序获取模块,用于当接收到针对单台可编程交换机输入的报文时,获取预设报文解析程序模块;
第二报文生成模块,用于根据所述预设报文解析程序模块将所述报文进行解析生成解析后的报文,将所述解析后的报文作为预先解析的报文。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
程序加载模块,用于加载所述单台可编程交换机的转发面程序,所述转发面程序包括报文解析程序模块、流表匹配模块和报文转发程序模块。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~4任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~4任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369067.1A CN111224839B (zh) | 2019-12-26 | 2019-12-26 | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369067.1A CN111224839B (zh) | 2019-12-26 | 2019-12-26 | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111224839A CN111224839A (zh) | 2020-06-02 |
CN111224839B true CN111224839B (zh) | 2022-05-31 |
Family
ID=70829121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911369067.1A Active CN111224839B (zh) | 2019-12-26 | 2019-12-26 | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111224839B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021034428A2 (en) * | 2020-07-15 | 2021-02-25 | Futurewei Technologies, Inc. | Real-time network-wide link latency monitoring with in-network int sampling and aggregation |
CN113300869B (zh) * | 2020-07-29 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 带内网络遥感功能通信方法、网络设备及存储介质 |
CN112003776B (zh) * | 2020-08-12 | 2022-05-20 | 广东省新一代通信与网络创新研究院 | 一种报文处理方法及系统 |
CN112260968B (zh) * | 2020-10-16 | 2022-06-21 | 苏州盛科通信股份有限公司 | 遥测数据报文的处理方法及装置 |
CN112866002B (zh) * | 2020-11-10 | 2023-04-07 | 网络通信与安全紫金山实验室 | 面向多播流量的带内遥测方法、交换设备节点以及计算机可读存储介质 |
CN113242142B (zh) * | 2021-04-13 | 2022-04-29 | 清华大学 | 带内网络遥测方法、装置、电子设备及存储介质 |
CN113422707B (zh) * | 2021-06-18 | 2022-11-01 | 新华三技术有限公司 | 一种带内网络遥测方法及设备 |
CN114710316B (zh) * | 2022-02-23 | 2023-05-30 | 北京邮电大学 | 带内遥测数据验证方法及白盒交换机 |
CN115051959B (zh) * | 2022-08-16 | 2022-10-21 | 广东省新一代通信与网络创新研究院 | 一种基于用户内容的遥测方法及系统 |
CN116405091B (zh) * | 2023-04-10 | 2023-12-19 | 北京和德宇航技术有限公司 | 一种遥测数据的解析方法、装置、电子设备及存储介质 |
CN116319468B (zh) * | 2023-05-23 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 网络遥测方法、装置、交换机、网络、电子设备和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11394458B2 (en) * | 2017-03-06 | 2022-07-19 | The Boeing Company | Inband telemetry for a virtual transponder |
CN108449228B (zh) * | 2018-03-05 | 2020-03-17 | 新华三技术有限公司 | 报文处理方法及网络设备 |
CN108768892A (zh) * | 2018-03-26 | 2018-11-06 | 西安电子科技大学 | 一种基于p4的可编程数据平面交换原型的设计与实现 |
CN109309605B (zh) * | 2018-11-26 | 2020-08-25 | 北京邮电大学 | 带内网络遥测系统及方法 |
CN110247908A (zh) * | 2019-06-11 | 2019-09-17 | 优刻得科技股份有限公司 | 基于可编程网络交换技术的数据发送的方法、装置和系统 |
-
2019
- 2019-12-26 CN CN201911369067.1A patent/CN111224839B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111224839A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111224839B (zh) | 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备 | |
CN103178996B (zh) | 分布式包交换芯片模型验证系统及验证方法 | |
CN109491905A (zh) | 前端测试方法、装置及电子设备 | |
CN106209830B (zh) | 一种基于xml网络协议表示的报文构造方法 | |
CN109218261B (zh) | 一种数据处理方法及数据处理装置 | |
CN108400909A (zh) | 一种流量统计方法、装置、终端设备和存储介质 | |
CN109495870A (zh) | 蓝牙测试的方法和装置 | |
CN110463138B (zh) | 网络结构信息生成方法 | |
CN111835532A (zh) | 网络验证的方法和装置 | |
US20110007754A1 (en) | Flexible Hardware Checksum Generator | |
CN104052679B (zh) | 网络流量的负载均衡方法和装置 | |
CN104639390A (zh) | 系统的测试方法和装置 | |
CN105190530A (zh) | 传输硬件渲染的图形数据 | |
CN110876155B (zh) | 无线网格网络的模拟系统和方法 | |
CN108460044B (zh) | 数据的处理方法和装置 | |
US7526420B2 (en) | Method and system for virtual injection of network application codes into network simulation | |
CN110191028B (zh) | 可软件定义的互连设备的测试装置、系统及方法 | |
CN115277450B (zh) | 基于opnet的虚实结合异构通信网络融合系统及应用 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN110798518A (zh) | 一种数据传输方法及装置、终端设备、存储介质 | |
CN107968722B (zh) | 一种接口控制文件到afdx网络设备配置文件的转换方法 | |
CN110471830A (zh) | 一种程序测试方法、装置及电子设备 | |
CN101859272B (zh) | 一种嵌入式软件系统的仿真方法、系统及装置 | |
CN105391589B (zh) | 一种报文传输的方法及装置 | |
CN113872826A (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 |