一种基于p4可编程芯片的远程镜像系统及方法技术方案

技术编号:37477623 阅读:11 留言:0更新日期:2023-05-07 09:19
本发明专利技术属于计算机网络通信领域,提出一种方便操作,细粒度,资源占用小的,远程镜像方案,方案基于p4可编程数据转发面,能够将指定网元的感兴趣报文镜像到运维设备,方便了网络故障的定位。故障的定位。故障的定位。

【技术实现步骤摘要】
一种基于p4可编程芯片的远程镜像系统及方法


[0001]本专利技术涉及计算机网络通信领域,尤其是涉及一种基于p4可编程芯片的远程镜像系统及方法。

技术介绍

[0002]在网络运维过程中,常常需要获取数据包的一些字段,作为分析故障的重要依据。镜像很好的满足了这一需求,镜像包括本地镜像和远程镜像,远程镜像更符合现网的应用,因此一种简单有效的远端镜像降低网络运维的难度。远程镜像与数据转发面是密不可分的,现有的网络中的设备转发面一般基于asic网络芯片、np芯片和通用处理器。
[0003]基于网络芯片的交换路由设备,由于网络芯片的镜像功能固定,大部分芯片的镜像管理口只能指定为物理口,只能实现本地端口镜像,如果要实现远端镜像,一般需要额外的支持芯片,例如fpga,实现远端镜像,镜像后报文使用FPGA进行vpn封装,发送至目标设备上。
[0004]基于通用处理器转发设备,一般使用数据平面开发套件DPDK,将网络数据的处理迁移到user

space,这种数据面保有了极大的灵活性,在数据中心网络得到了大量的应用。Dpdk处理网络数据报文,通常还要网络协议栈套件的配合,例如开源的vpp,通常这类软件内置了丰富而强大的故障定位手段,比如vpp,提供了trace和pcap工具,trace将报文的在node之间的流转过程打印出来,方便定位,pcap报文,可以保存所有处理过的报文,存在一定的限制。软转发数据面的镜像抓包,由于涉及到报文的复制,因此会严重影响网络数据的转发效率。且不支持细粒度的报文过滤,在大流量的场景下,很难镜像抓取自己想要的数据。资源的占用,例如trace,将报文在vpp内node的流转按照固定格式全部打印出来,会占用大量的存储资源。另外操作困难,trace和pcap获取的信息,都保存在操作的网元设备上,需要手动将获取的信息拷贝回运维设备上进行分析。

技术实现思路

[0005]有鉴于此,本专利技术提出了一种方便操作,细粒度,资源占用小的,远程镜像方案,方案基于p4可编程数据转发面,能够将在运维是设备上,将指定网元的感兴趣报文镜像到运维设备,方便了网络故障的定位。
[0006]第一方面,本专利技术提供一种基于p4可编程芯片的远程镜像系统,所述系统包括:
[0007]发起端目标服务器,部署在运维服务器上,用于发起远端镜像,以及用于接收镜像报文对报文进行分析。
[0008]配置通道,支持的配置包括:获取服务响应端的支持情况,测试数据通道的连通性,以及发起远端镜像。
[0009]数据传输通道,用于将镜像的报文回传至服务发起端。
[0010]镜像源网元,用于通过管理端口,提供远程镜像服务,执行镜像功能,并将封装后的报文发送至服务发起端;采用p4可编程的数据转发面,基于p4的可编程性,自定义ac l,
将感兴趣的报文进行镜像,并将镜像后报文进行tunne l封装后,发送至数据传输通道。
[0011]第二方面,本专利技术提供一种基于p4可编程芯片的远程镜像方法,所述方法包括以下步骤:
[0012]S1,服务发起端触发远程镜像,根据配置,查询远端网元远程镜像支持特性,如果不支持,则结束远程镜像;如果支持,则本地抓取指定网卡报文;
[0013]S2,服务发起端开启响应端网元的镜像测试,响应端根据配置消息,构建报文后,由数据回传通道发送回服务发起端。服务发起端根据本地抓取的报文结果判断数据传输通道是否连通。数据通道正常后,进入下一步骤。
[0014]S3,服务发起端根据输入构建镜像message,触发响应端网元的镜像功能。
[0015]S4:镜像源网元根据message消息,依次配置p4数据面的vxlan tunnel,mirror,acl,register和/或meter表项,完成p4数据面兴趣报文的镜像并发送回服务发起端。
[0016]S5:发起端服务器,根据回应message,以及tcpdump抓取的网卡报文,分析判断是否完成远端镜像。
[0017]S6:关闭远程镜像。
[0018]本申请相对现有技术主要有以下优点:
[0019]1:资源占用少,本方案中远端镜像,在目标网元的数据面镜像的报文,直接进行vxlan tunnel的封装,不会占用目标网元设备存储等资源。
[0020]2:不影响数据面的转发效率,使用p4芯片的mirror功能,相较于基于dpdk的软转发面,报文的复制不会影响到转发效率。
[0021]3:镜像后流量可控,对服务器端影响较小,在开启远端镜像后,如果远端网元上有大量的兴趣报文镜像到服务端上,短时可能造成服务端网络的拥塞,本方案中使用p4的register功能,可以定义镜像报文的个数,极大减小了服务端的网络流量。
[0022]4:细粒度镜像方案,通过acl多个匹配项,可有效过滤兴趣报文,避免的镜像了大量不必要的报文,节省了网络资源。
[0023]5:实现简单,远端镜像设备的采用的meter,mirror,acl等资源,均为大部分网络转发数据面的所需要的,因此实现起来对数据面的修改程度很小,大大减小了对数据面的影响。
[0024]6:适用性广,方案中配置通道使用grpc,以及采用vxlan作为数据回传通道,对底层网络的要求程度很低,只要支持三层转发即可,因此可以有效穿越internet网络,进行远端镜像。
附图说明
[0025]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对本专利技术或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026]图1整体拓扑图;
具体实施方式
[0027]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0028]在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
[0029]应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0030]取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于p4可编程芯片的远程镜像系统,其特征在于,所述系统包括:发起端目标服务器,部署在运维服务器上,用于发起远端镜像,以及用于接收镜像报文对报文进行分析;配置通道,支持的配置包括:获取服务响应端的支持情况,测试数据通道的连通性,以及发起远端镜像;数据传输通道,用于将镜像的报文回传至服务发起端;镜像源网元,用于通过管理端口,提供远程镜像服务,执行镜像功能,并将封装后的报文发送至服务发起端;采用p4可编程的数据转发面,基于p4的可编程性,自定义acl,将感兴趣的报文进行镜像,并将镜像后报文进行tunnel封装后,发送至数据传输通道。2.根据权利要求1所述的远程镜像系统,其特征在于,所述基于p4的可编程性,包括:使用p4的register功能来指定镜像报文的数目;和/或,使用p4的meter功能来控制镜像报文的发送速率;和/或,使用p4的报文构造功能来测试数据传输通道的连通性。3.一种基于p4可编程芯片的远程镜像方法,其特征在于,所述方法包括以下步骤:S1,服务发起端触发远程镜像,根据配置,查询远端网元远程镜像支持特性,如果不支持,则结束远程镜像;如果支持,则本地抓取指定网卡报文;S2,服务发起端开启响应端网元的镜像测试,响应端根据配置消息,构建报文后,由数据回传通道发送回服务发起端;服务发起端根据本地抓取的报文结果判断数据传输通道是否连通;数据通道正常后,进入下一步骤;S3,服务发起端根据输入构建镜像message,触发响应端网元的镜像功能;S4:镜像源网元根据message消息,依次配置p4数据面的vxlan tunnel,mirror,acl,register和/或meter表项,完成p4数据面兴趣报文的镜像并发送回服务发起端;S5:发起端服务器,根据回应message,以及tcpdump抓取的网卡报文,分析判断是否完成远端镜像;S6:关闭远程镜像。4.根据权利要求3所述的远程镜像方法,其特征在于,所述查询远端网元远程镜像支持特性,包括:配置通道采用grpc实现服务下...

【专利技术属性】
技术研发人员:张明强石凤庞海烨
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1