文摘
网络攻击显示的趋势增加攻击强度,增强多样性,更隐蔽的攻击方法,提出了更高的要求,网络安全设备的性能。与SDN(软件定义网络)开关固定功能数据平面,开关与可编程数据飞机可以帮助用户实现更多的网络协议。编程独立于协议的数据包处理器(P4)定义数据的操作提出了飞机,来实现用户的应用程序,例如,数据中心网络,安全,或5 g。本文提供了一个审查的研究论文在解决网络安全问题P4-based程控数据平面。工作可以分成两个部分。在第一部分中,编程语言P4, P4项目,架构,P4编译器、P4运行时和P4目标介绍了根据工作流模型。P4-based可编程开关在解决网络安全的优势进行了分析。在第二部分中,现有的网络安全研究论文分为四个部分根据被动防御的角度,积极防御,多种技术的结合。每个类别的方案进行比较,阐明核心理念和局限性。此外,一个详细的比较为研究P4的性能目标。 Finally, trends and challenges related to the P4-based programmable data plane are discussed.
1。介绍
工业物联网的快速发展(物联网),云计算,人工智能(人工智能),和机器学习技术帮助企业和经济实体,赶上了数字特快列车,促进连续和快速增长的网络带宽。受到疫情影响,不同公司搬到他们的在线业务。随后的相关网络安全威胁也在上升。
最近的一份报告(1)指出,DDoS的数量(分布式拒绝服务)攻击已经连续4年迅速增加,和大小,方法和来源的攻击都被大大升级与过去相比。其中,高流量攻击的数量超过100 g在2021年上半年增长了超过一半的数量相比去年同期。此外,劫持宿主参与DDoS攻击的数量只有去年的一半的主机,但这些主机进行攻击数量的四倍多。DDoS攻击采取更巧妙的方法来实现攻击,和其他严重网络攻击铺平了道路,增加了识别的难度和国防。CrowdStrike [2)表示,基于数据从7月1日,2020年6月30日,2021年,它是推断,攻击者的突破时间显著减少,平均只有1小时32分钟。此外,36%的攻击,攻击者可以完成攻击,发现重要的数据,或部署ransomware在不到30分钟。获取数据包的现象通过嗅探和蛮力破解密码的逐渐增加,计算能力的显著提高,和数据泄漏的问题变得越来越严重。强大的专业嗅探工具和破解工具,如该隐和亚伯,dSniff, Hashcat, THC九头蛇,加剧了这一现象。
网络攻击显示的趋势增加攻击强度,增强多样性,更隐蔽的攻击方法,提出了更高的要求,网络安全设备的性能。传统网络安全设备,如防火墙、加密卡,设计并实现了基于先验知识的财富抵御网络攻击。然而,随着网络攻击和防御技术的不断发展,它更难以识别网络攻击。传统的网络安全设备缺乏灵活性和有困难不断应对新兴网络攻击。
在OpenFlow-based软件定义网络3)、监控、数据采集和检测由逻辑实现集中的组件(如控制器)。这需要大量的网络状态相关的信息从网络设备传输到控制器进行分析和处理。一个单点故障的控制器之间的通信开销和集中控制平面和数据平面的瓶颈限制它的安全防御功能的性能。SDN控制器可编程序的部署防御措施只能在一定程度上减轻网络攻击,因为软件控制器不能直接实现的能力处理的数量和速度数据飞机水平流动。很难实现精细识别和综合防御通过抽样而不是packet-by-packet检查,尤其是数据清理等措施,加密和身份。
数据平面和控制平面的分离,独立于硬件的可编程性和线速处理能力高达数百gb给可编程数据平面在处理网络安全问题固有的优势。P4的编程语言(4)提出了用户定义的数据平面功能,支持用户自定义的协议和自定义数据包处理。这些新特性使大量强大的防御措施,如访问控制、拓扑混淆,显要人物检测DDoS攻击缓解,跳跃数过滤。
P4-based可编程数据平面可以缓解大规模攻击开销较低,检测每个包的攻击,与硬件和应对不断变化的攻击速度。然而,与此同时,需要注意的是,可编程数据平面内存有限,不能执行复杂的计算部门和指数或对数计算。解决网络安全问题和实现功能创新和性能突破有限内存和有限的约束下操作是网络安全的研究内容与P4-based可编程数据平面。
本文的其余部分组织如下。基于P4工作流,P4编程语言,P4体系结构、编译器和P4节简要介绍了目标2。部分3描述了可编程性的发展和演变,介绍了应用和研究方向在学术界和产业界P4-based可编程开关,并分析其优势在处理网络安全。部分4总结了网络安全的研究内容基于一个P4程控数据平面。根据主动防御和被动防御之间的区别,以及国防技术的采用,研究论文分为四个部分:访问控制、隐私和加密,可用性和综合防御。部分5比较不同的P4的性能目标软件和硬件平台。部分6总结趋势和挑战。部分7提供了结论。图1描述了本文的结构。
回顾2020年之前通常关注OpenFlow-based SDN [5从2020年到2021年),和评论6- - - - - -8)封面富裕P4-related研究。然而,大多数人从算法的应用场景和未能作出详细的比较和分析现有的研究根据飞机可编程数据的特征和网络安全的方式处理。回顾控制平面,SDN,请参考[9]。
2。编程独立于协议的数据包处理器(P4)
P4数据平面编程语言是一种语言,可以实现重构性,协议独立,独立和目标。接下来,P4语言和P4工作流将每个模块,分别。
2.1。P4的语言
P4工作组(10到目前为止提出了两个标准:P414(11)和P416(12]。P414在其使用的局限性,如缺乏手段,描述各种目标和体系结构,松散语义,和足够的支持程序模块化。为了应对P4的缺点14,P416标准引入了严格的类型、表达式和嵌套的数据结构;删除声明式结构;支持多个不同的目标和管道架构。当前版本的P4语言编译器已基本实现大部分的功能在P4的语言。
P416是一种静态类型语言,提供了一个基础类型,如无效,错误,字符串,match_kind, bool,以及运营商类型构造派生类型,如头、header_union、枚举、结构、走读生,解析器,控制,和包。
对于上述丰富的数据类型,P4提供不同的算术运算,如操作无符号整数类型,宽度固定的整数,签署和适应钻头类型,以及操作列表,结构类型,等等。
对功能不属于P4的核心语言、P416介绍了外来的构造。走读生模块的调用意味着需要意识到这个函数基于一个具体的目标或架构。P4管道只处理数据包报头,但数据包的有效载荷部分可以使用一个外来的对象处理。
详细描述,请参考P416语言规范(12),它定义了语法、语义规则和要求一致的实现语言。
2.2。P4工作流
实现一个网络应用程序,用户可以直接在P4语言程序。编译后,底层设备配置来满足用户的功能需求。P4的概念项目,P4编译器,P4运行时,目标和P4 P4工作流模型的基础上,介绍了如图2。
2.2.1。P4程序
P4程序定义的行为数据平面和用户提供的是基于一个特定的体系结构。P4程序为一个特定的P4架构可以实现所有的目标部署相同的P4架构但不能被移植在不同的架构。一个典型的P4程序有5个基本组件:标题:定义标题格式的数据包解析器:定义解析过程的有限状态机表:定义匹配的字段和相应的行动行动:定义一个操作指令集,包括构建查找键,表查找和执行的操作流量控制器:定义控制程序决定了包的数据流处理
2.2.2。P4编译器
P4的编译器,这也是P4目标提供的制造商,P4程序编译成二进制文件配置。P4编译器的工作分为两个步骤,P4程序转换成独立的中间表示目标红外(IR)和映射到一个特定的目标。
P4编译器的主要功能如下:(1)生成运行时元数据映射到允许控制平面和数据平面使用P4运行时沟通;(2)目标数据平面生成一个可执行文件,指定标题格式和相应的操作。
每个P4编译器是专为一个特定的P4的目标。例如,fpga(现场可编程门阵列)设备主要使用编译器如Xilinx P4-SDNet P4FPGA;bmv2 p4c等软件开关使用编译器,双鱼座(13),P4-to-OVS。赤脚的托赤脚的可编程ASIC使用P4的编译器。
2.2.3。P4的目标
P4可编程的节点,所谓P4的目标,可以通过软件(CPU上运行)或专用硬件(FPGA、ASIC)。他们有一个数据包处理管道的结构是有针对性的,总是被一个架构模型。部分5比较了不同目标的性能和研究成果。
P4架构作为编程模型和提供的功能视图P4处理基于特定目标。P4目标厂商提供不同的P4架构。例如,NetFPGA-based设备使用SimpleSumeSwitch架构(14),软件开关如bmv2使用V1Model架构(15),和可编程开关就像赤脚托ASIC(专用集成电路)16)实现比萨(独立于协议的交换架构)的体系结构。
以比萨架构为例,简要介绍了数据处理。P4的管道项目包含很多控制块,和输入数据包处理和传播到下一个控制块的管道。①解析器。这是一个控制块它指定如何解析数据包的头部。解析器是由一个有限状态机表示,政府负责提取单个头结构。②匹配操作管道。它包含多个匹配操作表(垫),其中每个商店的关键词数据和相应的行动。这些表匹配数据包根据不同的头字段,确定要执行的操作如果有相匹配的内容。入口管道修改数据包,并确定其输出端口。出口管执行其他必要的修改。控制平面安装垫控制中的条目的顺序执行。元数据,提出了支持状态的功能。③Deparser。Deparser组成修改标题为包在一个常规订单和发送他们下一步,如输出端口转发,循环输入端口,或发送到CPU。
2.2.4。P4运行时
P4运行时(17)是一个应用程序编程接口(API)用于连接控制平面和数据平面。控制平面,P4运行时盾牌的硬件细节数据平面和独立的功能和协议数据平面支持。基于不同的目标设备可以由相同的API。
3所示。网络编程
可编程性被定义为执行硬件和软件算法的功能由用户指定。此外,网络编程是指网络中的算法执行过程的能力,尤其是在单个处理节点执行的能力。这意味着控制平面和数据平面的功能可以被定义和修改;网络设备制造商和用户可以构建网络,满足他们的需求和性能需求。
3.1。可编程性发展
功能的传统的网络设备(如路由器或交换机)由制造商定义的协议和算法是内置的,使得用户无法对其进行修改。添加新的功能要求设备供应商设计、制造、测试和部署专用的硬件组件(18]。这个过程是繁琐和昂贵,通常需要2 - 3年,甚至更长时间。此外,制造商开发和升级功能的驱动力来自广泛的用户的潜在需求函数。因此,创新通常是落后的,这严重限制了新技术的应用和发展。
SDN大大提高刚性网络协议的问题。分离的数据平面和控制平面,集中控制器进行管理、状态监测,并通过数据接口转发规则平面,如OpenFlow [3]。尽管其巨大的优势,SDN建筑遭受可伸缩性和性能问题由于灵活性不足状态数据包处理在SDN开关OpenFlow的支持。安装平面依赖于规则的数据控制器转发或删除网络流量,并介绍了通信开销的控制平面和数据平面。此外,控制器可能成为网络攻击的目标。尽管OpenFlow 1.5支持多达44匹配字段,它缺乏灵活地支持任何新领域。
在SDN开关可编程数据平面,用户可以为其他功能和包的细节处理程序通过使用P4,除了基本功能的开关。图3显示网络的进化编程(6]。硬件可编程不了解底层硬件细节,因为P4适用于各种设备,如ASIC,转专业(网络处理单元),以及FPGA。
3.2。应用领域的P4在工业和学术界
自2016年以来,P4-based可编程数据飞机吸引了学术界的极大兴趣6- - - - - -8),研究主要集中在以下领域。
3.2.1之上。流量测量和交通工程
随着可编程开关的出现,细粒度的测量可以执行速度线,所以交通拥堵检测等功能19),主动队列管理(20.),和负载平衡(21)可以实现提高服务质量。
3.2.2。路由和转发功能
新的路由策略和转发行为,不同于那些传统的路由器和交换机,可以实现基于P4-based可编程开关。大量的研究可以进一步进行,如L4负载平衡、源路由(22),和命名数据网络(23]。
3.2.3。先进的网络支持
P4-based可编程开关对新出现的应用程序场景更敏感比传统设备和能满足要求不同类型的网络,如蜂窝网络(24,物联网25),和对时间敏感的网络(26]。
3.2.4。网络安全
作为可编程开关可以检查和修改数据包报头根据用户定制,网络安全防御的解决方案,如入侵检测、加密、DDoS攻击缓解、拓扑匆忙,可以更新和升级。
3.2.5。网络加速计算
受益于飞机的数据处理功能可编程数据,机器学习(27,28),深度检测,和其他功能可以加快训练/推理过程可以实现。
考虑可操作性等因素,资源占领,多租户共享支持,并兼容现有设备,P4-based的场景可编程开关用于工业远远少于那些在学术界,他们主要集中在数据中心的Top-of-Rack开关(29日),INT(带内网络遥测)网络测量(30.),无线回程设备(31日)、设备白盒(32,33),和其他领域。
3.3。优势P4-Based程控数据平面
网络攻击的处理通常包括三个步骤:检测,分类,和缓解。(我)确定数据包报头的相关字段,使统计数据的流量的特性。这一步通常需要“看到”尽可能多的信息。(2)基于特征的价值识别潜在的威胁。该步骤通常需要一些参数值作为判断的基础,如当前设备的资源使用情况,事先设定的阈值,通过机器学习的参数。(3)减轻攻击。措施包括减少数据包、负载平衡、极限速度,或者只是警告其他设备发送信号到控制器。
与OpenFlow相比,可编程数据飞机有三个关键优势在处理网络攻击:每个包的可见性、可伸缩性和高速处理能力。(1)每个包的可见性意味着攻击检测算法可以开关的硬件开发和应用到每个包而不是抽样或聚合跟踪控制器的软件。如图4传统安全应用程序的防御措施,可以实现在硬件层面包括ACL和信息包过滤,而高级防火墙和深层数据包检测策略需要由软件实现(8]。这也是一个重要的原因传统开关必须上传数据包采样,并把他们移交给控制器。可编程开关可以处理协议的每一层在硬件层面,满足深层数据包检测的要求和协议字段修改,并支持自定义协议和复杂的防御策略。(2)可伸缩性意味着自防御直接坐落在开关,它将扩大网络规模和速度,使集中控制器不再是一个瓶颈。在安全问题的背景下,进行网络知识提供的控制器不会带来额外的好处的任务只需要完成本地状态。相反,控制器的明确的参与每一个有状态的过程会导致额外的控制信号和过载和可能导致控制器本身故障。P4提供状态内存计数器,米,寄存器,用于维护状态在多个流的数据包。大部分的防御措施完成数据平面,和控制器只接收和保持少量的统计结果,分配流程表,等,可以减少网络的复杂性,确保国防计划的可伸缩性。(3)高速处理能力意味着很多任务可以做速度线。可编程数据平面可以执行本地政策,流程包行速度,快速响应攻击行为,满足实时需求的应用程序。一旦检测到攻击,可以马上采取措施来减轻开关的攻击不会造成往返时间延迟到远程控制器。除此之外,需要复杂的处理的应用程序可以以较低的成本和在一个分布式的方式执行数据平面。最初实现的功能可以将软件转移到飞机的数据,所以数据平面传输的结果执行控制器代替原始数据。这可以大大减少控制器的处理负担,加快执行(34,35]。该特性尤其适用在解决网络安全问题。攻击行为的判断通常需要收集大量的数据包的信息分析,这一过程会消耗大量的计算资源的控制器和通信开销增加。
(一)
(b)
4所示。网络安全应用程序
得益于P4的处理功能可编程数据平面,packet-by-packet检查和过滤技术可以实现。因此,针对网络安全、可编程开关可以实现多种功能,包括访问控制的传入流量,加密数据平面上执行保护隐私,以及应对攻击对网络的可用性,和升级的多层次防御策略准备以备不时之需。图5阐述了网络安全的研究基于一个P4程控数据平面。
4.1。访问控制
访问对象的限制或数字资源访问控制。由于可编程开关的优点,可以委托给身份验证和授权数据平面。提前过滤不可信的交通可以防止服务器进入困境的处理大量的入侵信息。因此,服务器的计算资源可用于业务应用程序的过程。在表1的仔细的对比研究表明,一些重要的差异。
以下4.4.1。防火墙
在[36),作者在P4首次实现防火墙。解析器可以识别以太网,IPv4 / IPv6, UDP和TCP报头。有两个垫;一个垫子实现白名单过滤,另垫是一个禁止列表,也称为黑名单。数据包匹配MAC / IP地址的网络主机黑名单将直接丢弃。
余滤子(37)计算流标识符通过直接应用一个哈希函数的5-tuple每个数据包和使用精确匹配表项计算流标识符。冲突的流映射到新的索引。哈希碰撞计算是实现在服务器上,需要相当大的内存和计算能力。数据包的副本开始或结束的流发送到服务器进行进一步的处理,而其他数据包流的处理管道的开关。
因为传统防火墙缺乏支持的功能,比如创建虚拟网络拓扑(VN),虚拟机迁移,或个性化的安全需求,邓et al。38虚拟防火墙VNGuard]提出一种基于软件的。的基础上SDN NFV, VNGuard定义了一个先进的防火墙策略语言,它可以管理和调整虚拟防火墙设置根据虚拟网络需求。P4Guard [39)取代了基于软件的防火墙与P4-based VNGuard系统可配置的虚拟防火墙。P4Guard收集交通数据的控制器开关和监控网络流量。数据平面处理数据包根据防火墙规则。P4-based防火墙包含两个垫子。一个垫是用来控制在运行时启用/禁用防火墙,和其他垫允许允许/下降(元数据)的3/4层头字段作为一个匹配的关键输出端口处理。
Ricart-Sanchez et al。405 g)提出一个功能齐全的多租户防火墙基于FPGA处理三磷酸鸟苷(GPRS隧道协议)边缘和核心网络之间的数据传输。使用P4可编程数据平面解析和匹配三磷酸鸟苷头字段,TCAM表将两个参数添加到传统的4倍,为防火墙提供识别不同的租户和最终用户的可能性。VNI (VXLAN网络标识符)VXLAN头定义了租户,和三磷酸鸟苷ID识别终端用户,如图6。
4.1.2。端口敲门
端口敲门是一个简单的用来打开网络端口和巧妙的身份验证方案。因为端口敲门功能的实现不需要一个控制器来维护整个网络信息和本地执行的可能性,Almaini et al。41)提出一个计划,以代表身份验证数据平面。只有当主机可以发送正确的端口顺序会授予启动连接。特定的预定义的一段时间后,将成为无效的和客户需要的权限执行身份验证。有限状态机(FSM),其中包含数量有限的国家,采用的认证单位P4开关。当收到一个正确的端口号,FSM能跳从一个状态到下一个状态;如果收到错误的序列号,它回滚到初始状态。状态数据由元数据记录在P4的执行。如何敲门序列可以安全地分发给受信任的节点不是本文中讨论,和未加密端口淘汰赛很容易受包嗅探。
根据不同程度的卸载端口敲门函数,P4Knocking [42)提出了四个实现方案。第一个是完整的数据平面卸载。第二个和第三个是混合出售数据和控制飞机。第四只依赖控制器实现。当涉及到性能,完整的数据平面卸载可能是最好的选择。任何操作相关端口敲门执行速度线。控制平面上只安装表规则敲门序列相关和不涉及主端口敲门验证操作。因此,即使到控制平面的连接中断,飞机仍然可以验证敲门序列的数据。
利用P4,两个身份验证方案(43)提出了确保只有合法设备可以访问服务器。这两个方案是端口敲门和端口扫描降低。实验结果表明,提出的两个方案改善整个网络的可用性,通过卸载任务控制器之间的通信开销,减少数据平面和控制平面,并且不会产生重大的负面影响开关的性能。
4.1.3。身份验证
在企业和校园网络,有多种bring-your-own-devices (BYOD),如手机和笔记本电脑。基于P4设备,风度44]介绍了上下文感知策略提供保护机制在BYOD场景。BYOD客户机将上下文信息添加到分组头中。然后,运行平衡程序解析的设备分组头中的信息和实现ACL基于设备的运行时上下文。与OpenFlow-based防御解决方案相比,风度有适当的开销,可以灵活应对饱和攻击控制飞机。然而,系统可能受到的攻击拦截和修改数据包由于缺少检查上下文包。
现有的基于软件的被动指纹识别工具可用性较低,无法满足高速的交通网络。白等。45P40f]提出一种指纹识别系统,实现基于可编程数据平面和可以执行安全政策的许可,以线的速度下降,和重定向。P40f收集信息解析器和p0f签名字段匹配操作管道和存储信息的元数据。然后使用元数据作为一个关键的查找表的最后阶段。如果它击中一个规则,数据包将被处理行为相关匹配的规则。最后,P40f分解包头并将数据包转发到下一个目的地。P40f缺乏复杂的策略涉及速度限制流量。
现有检测方案SDN端口扫描不考虑哈希冲突,导致检测性能下降。Cai et al。46)提出一种新的扫描仪数据收集方法,替代,从而减少散列冲突造成的性能下降。替代方案,开关记录扫描行为,只保留可疑数据的特点,减少存储的压力。从开关和控制器定期提取统计信息采用一种无监督的机器学习算法分类数据,消除数据标签的过程。
为了防止SYN洪水DDoS攻击,朔尔茨et al。47)提出一个SYN代理方案基于P4通过SYN cookie或SYN身份验证。SYN cookie方案修改每个包的相关字段,它是完全透明的TCP客户机,而SYN认证仅修改相应的字段在握手过程中,相对容易实现。SYN代理修改接收到的数据包根据所使用的策略,TCP标志的包,和国家保留的代理。白名单和序列号改变状态匹配操作表的形式保留。
基于NetFPGA求职者的P4平台,6个已知antispoofing机制对实现IP地址欺骗(48]。作者比较了这些antispoofing机制在FPGA的资源使用情况。这些机制实现处理延迟约2μ每个包的年代和吞吐量大约8.5 Gbit / s。
P4-based重复地址检测(P4DAD) [49)引入了一个机制来过滤虚假民主党(邻居发现协议)作为一个简单的替代身份验证或加密的消息。P4开关保持绑定条目的寄存器之间的IPv6地址,端口号,和地址状态。包属于消息欺骗攻击通常不符合上面的绑定关系。因此,P4DAD可以检测并丢弃恶意民主党消息无需修改新民主党或主机协议。
4.1.4。入侵检测
Ndonda et al。50]提出一种两级IDS(入侵检测系统)为工业控制系统(ICS)网络。在第一个层面上,根据白名单P4交换机数据包解析和处理。可疑的数据包将被转发到设备的第二个层次深入检查,而不是直接拒绝。在第二层次,专用主机决定数据包是否恶意和通知控制器更新过滤器切换到块或接受连接。
传统的入侵检测系统(IDS)设备,网络的入口处,流程网络流量的副本。需要处理的流量比例的增加网络的扩张。P4ID (P4增强入侵检测)51]减少了负载的IDS应用前置过滤P4开关。在有状态阶段,第一n包的每一个新的流将被发送到IDS进行分析,和相应的转发规则形成和安装在飞机的数据。在无状态阶段,数据包过滤垫。
Sanghi et al。52)提出一个方案,执行飞机上包执行路径的数据统计分析来检测异常。作为一个数据包可能采取任何路径——表应用和执行一个P4的行动计划,Ball-Larus编码技术是用于追踪路径和构造预期的和观察到的分布。此外,开关使用一个哈希表来维护per-path统计和收集数据包执行路径分布在一段时间内的流量。交通分布与预期相比是一个寻找异常模式。
4.2。隐私和加密
用户的身份信息和在线操作可以发送数据包的开采。广泛的研究了用户隐私和匿名在过去。方法,包括加扰、替换和加密,采用隐藏信息或增加裂缝的复杂性。然而,现有的解决方案有一些局限性。首先,一些解决方案需要修改整个互联网架构,这是非常不可能的。其次,大多数的解决方案是基于软件和应付不了高速交通。最近,研究逐渐转向使用可编程开关开发轻量级匿名和加密系统。表2总结了研究隐私和加密。
4.2.1。准备信息隐藏
NetHide [53)加密网络拓扑来减轻topology-centric攻击。解决方案描述了网络混乱问题作为多目标优化问题;同时,准确性和效用作为指标。独立(整数线性规划)解算器,采用启发式方法获得相关参数。
脊柱(54)(监视保护网络中的元素)混淆处理窃听从中间网络IP地址。不同于基于软件的方法,脊柱上运行数据平面不需要主机和交换机之间的合作。图7显示了脊柱的架构。包前进入不可信实体,可信可编程开关加密的IP地址,TCP序列号,和ACK号码。加密的数据插入到下半年IPv6目的地址。不可信的实体只能看到标题中加密地址。数据进入可信实体后,接收开关可以使用版本号来选择适当的密钥来解密,恢复IPv4头。
作为一个积极的防御机制,Chang et al。55)加密的IP源地址实现IP地址的不可链接性。除了边缘P4开关连接到主机在发送和接收端,网络中其他设备被认为是不可信的交换机/路由器组成。发送方加密源IP地址通过异或操作。P4开关解密发送方的实际IP地址。动态密钥更新方案执行,确保地址转换的随机性,从而增加攻击者破解的难度。
传统的加密策略不能动态加密数据包根据它们的重要性。秦et al。56)提出一个方案,更新安全策略根据不同的交通网络中的分布和类型。当每一个新的流的第一个数据包到达P4开关,P4开关发送一个请求到控制器。一旦小野(开放的网络操作系统)的控制器接收数据包,控制器将决定是否启用了保护政策应根据安全策略。控制器将必要的数据存储在寄存器的数据和更新垫平面启用TCP序列号替换。
为了进一步加强IP地址的安全加密,Govil et al。57)提出一个混合细粒度和灵活的IP地址方案MIMIQ QUIC(屏蔽IP迁移),可随机流中的IP地址,甚至每隔几包。一个地址分配服务器分配IP地址给客户和安装交换机转发表条目。除了服务器和一些关键的分布在可信网络交换机,MIMIQ不会修改现有的网络和服务器基础设施。
刘等人。58]提出学习型网络自适应免疫机制基于机器学习(LANIM),与三行国防计划配置为防止窃听攻击。第一道防线使用智能控制器来感知网络状态和决策基于最小风险机器学习算法对网络异常条件。第二道防线使用有状态的加密策略。第三道防线采用现有的加密算法基于计算复杂度。
P4NIS (P4-based网络免疫方案)(59)也提出了三系防御解决抵制窃听。首先,属于同一个流将发送的数据包通过不同的链接。源/目的港和串行/确认号码替换下一道防线。在第三行,采用现有的加密机制加密数据包的有效载荷。P4NIS架构如图8。
通过不同的路径转发数据包将导致极其严重的乱序执行的问题。除此之外,不合理的多路径防御实际上带来了带宽资源的浪费。周et al。60]提出一种自适应多路径调度(AMS)机制,从而增加窃听的难度,提高了网络带宽的使用。AMS选择三个具有类似特征的网络路径和分发包。实验结果表明,与竞争对手相比,AMS传输吞吐量增加74%,减少了按顺序率48%。
穆贾达姆et al。61年]提出一种轻量级和低开销网络匿名性解决方案,小组(实际匿名在网络层),要克服的问题广受欢迎的匿名系统在不改变网络路由和转发协议。隐藏信息所携带的包,面板提供了解决方案,比如重写源地址,IP识别和TCP序列的随机化,随机化的TTL值。地址信息的替换可能会导致路由的分解反应,P4-based可编程设备需要存储原始会话信息,维护转发rev_panel表fwd_panel和反向表。检查数据包的目的IP地址是否在本地存储和维护。如果是,进入反向表搜索一个地址替换;如果没有,寻找发送端口通过转发表。图9显示了P4程序数据的飞机进入处理流程。
4.2.2。密码学
自当前商业可编程开关不配备特定的加密处理器和只支持简单的算术运算和有限的查找操作,不容易实现AES(高级加密标准)。陈等人。62年)提出一个炒查找表技术来减少所需的操作AES加密,并实现AES在可编程开关基于赤脚的托。作者发现一个管道可以执行两轮AES。因此,该系统利用一个包,再注射包回收技术的管道。通过这种方式,aes - 128算法可以利用五管通过完成。
P4-IPsec [63年基于P4)实现IPsec开关。与标准IPsec相比,P4-IPsec隧道是由一个控制器的基础上建立和管理一个预定义的隧道配置文件。P4开关取代了安全策略数据库(SPD)和安全关联数据库(SAD)的匹配操作表。P4走读生实现密码套件,这意味着开关的CPU执行加密和解密计算增加延迟和吞吐量下降。此外,因为P4-IPsec只实现了在隧道模式下,主机需要引入其他Linux客户机代理工具。
P4-MACsec [64年)实现基于P4 MACsec开关。MACsec使用加密完整性检查或对称加密来执行第2层的保护。其部署需要知识的网络拓扑信息和经历一个耗时且复杂的初始设置。然而,发现链路层协议(LLDP)支持的传统网络交换机有困难及时探测拓扑变化。发现和监测、链接P4-MACsec改善LLDP通过加密的有效载荷和序列号。MACsec实现直接在P4数据平面;加密/解密操作存储在P4的形式处理管道P4走读生。
金等。65年)提出一个在线网络通信匿名化系统(ONTAS),把匿名化的网络运营商战略基于P4的在一个特定的项目。程序综合匹配操作表的数据平面和匿名化传入的数据包流速度线。ONTAS比萨上实现结构化的开关,这是灵活的和可伸缩的,支持策略语言用来表达匿名的任务。
左et al。66年)提出一个包验证机制基于可编程数据平面。如图10,发送方添加一个自定义密码包标识符,这是存储在选择字段的IP报头。一个P4开关添加到OpenFlow-based SDN。P4开关解析包密码识别实现精确控制数据包转发基于比例抽样。控制器验证取样数据包的完整性和安装流规则异常数据包OpenFlow开关。该方案可以自定义匹配字段,转发延迟是2.5%的比较方案。然而,该算法只能发现伪造和篡改过的消息和无法识别设备位置发生篡改或伪造。除了添加一个P4采样开关,主机需要修改添加安全标签。
4.3。可用性
攻击者发送大量的数据包排气受害者的带宽或计算资源。它通常出现在形式的DDoS攻击,洪水或欺骗,和常见的类型如下:(1)缓慢的DDoS不仅利用合法的TCP行为,但也发送数据包强度相似的正常交通,使它不可能通过传统的方法来确定受害者(2)体积洪水袭击的目的主要是相关带宽和洪水目标攻击流量使用UDP或Internet控制消息协议(ICMP)(3)恶意主机可能添加一个放大的方法,他们的攻击和发送请求导致响应流量达到一个水平远远超过发送流量,甚至因为DDoS率高于真沸点,即反射放大(RA)攻击(4)此外,由于不需要真正的会话执行这样的攻击,基于反射使用这种伪造计划,对手通常规避源IP地址欺骗的检测
虽然有各种形式的攻击,对攻击的防御计划通常分为三个步骤,即检测,分类,和缓解。表3总结了DDoS防御解决方案,专注于如何检测攻击,攻击发生的场景,以及如何减轻攻击。
4.3.1。DDoS攻击
Grigoryan et al。67年)提出一个合作DDoS攻击缓解机制,灯(7层攻击缓解与可编程数据的飞机),这依赖于来自应用层的信息。如果一个主机检测DDoS攻击应用程序层,攻击国旗将填补一个数据包的IP选项头字段,数据包将被发送到入口开关。收到包的入口开关袭击国旗将放弃所有其他流的数据包。
电话拒绝服务(TDoS)事件意味着有大量的恶意SIP邀请网络中的数据包,阻止用户使用电话服务。Febro et al。68年TDoSD@DP]提出缓解机制,对SIP代理DDoS攻击。有状态的P4登记记录邀请和再见消息的数量。如果没有再见消息后大量的邀请信息,SIP INVITE包将被丢弃。TDoSD@DP减轻了攻击的地方最接近源攻击,避免更多的资源消耗引起的攻击数据包进入网络,以及检测和缓解算法简单。
在后续工作69年),提出一种改进的方法来实现DDoS防御解决方案基于分布式检测攻击源附近的来源。在这个解决方案中,每个端口的P4开关记录数据包的数量。控制器比较计算的值在每个端口与一个阈值。如果超出阈值,丢弃数据包的P4开关将安装一个规则相同的端口。通过检测恶意流量在第一跳,这个方案节省了计算和带宽资源。
为了应对反射放大的攻击,库卡等。70年呈现一个FPGA加速装置,过滤恶意流量主干基础设施在一个较高的速度和效率在袭击前交通到达攻击目标。作者移植P4程序运行在FPGA硬件描述语言(VHDL)实现。属于受影响设备提取数据包输入交通的一部分,和向控制器发送一个消化。每个源IP地址的影响在攻击是用来识别攻击的IP地址的启发式算法。一旦检测到攻击,丢包规则将被安装。
作为一种防御机制,飞机推迟起飞71年)可以识别模式的攻击流量和限制攻击源附近的交通。然而,阻力不能识别更复杂和更聪明的DDoS攻击模式由于传统交换机的有限的计算能力。Mi et al。72年]提出一种改进的方案,ML-Pushback(基于机器学习阻力),为DDoS攻击缓解机制,通过机器学习技术。在ML-Pushback P4开关收集丢弃的数据包并发送控制平面的消化。控制平面的深度学习模块提取签名消化和使用决策树模型对收集到的抽象进行分类。确定后,它是攻击流量,它减少了攻击通过限制速度。
DDoS攻击通常会引起骚乱的IP地址分配、蹦极(73年)检测DDoS攻击的熵分析传入的数据包的地址。一次开关检测到任何熵障碍,它向上游交换机发送警报信息。这些上游设备过滤装置,提高了报警的包。此外,这些设备还执行检测机制和警戒自己的上游设备,最后“后退”攻击的影响。要限制攻击流尽可能接近源,重复上面的过程。
Lapolli et al。74年)实现一个entropy-based DDoS检测方案的可编程开关。为了满足处理时间要求有限的存储空间,count-min草图的数据结构被用来估计的频率源IP地址和目的IP地址的数据包在观察窗。查找表水流memory-optimized最长前缀匹配(公升/分钟用来解决计算密集型运算函数和估计的熵值。当熵值超过某一阈值时,攻击警报。作者实现了上述方法在软件开关与匿名网络跟踪和测试数据集。
Khooi et al。75年)提出一个分布式网络防御体系结构(迪达)。利用可编程状态数据平面和有效的数据结构,证明可以自动跟踪每个用户的连接和分布式网络控制器的能量。迪达依赖于count-min草图数据结构和一组监控区间关联请求和响应的数量来确定设备是否有主动攻击数据包发送到受害者的ISP网络。如果检测到DDoS攻击,边缘路由器使用ACL阻止交通接近攻击者。
针对TCP / UDP流量的多个特性,Dimolianis et al。76年实现多功能DDoS防御方案。这个程序检测三个DDoS攻击流量的特性:(i)收到的数据包的数量在一个时间间隔;(2)总数的百分比交通受到特定子网;(3)流入流出的百分比。对两种情况的评估:两个特性情况下只包含前两个特征(F2)和三个特性情况下包含所有三个特性(F3)。结果表明,在小规模的袭击,前两个特征足以识别DDoS,而在其他两个场景,更多的功能更好。
国防缓慢和体积DDoS攻击,周五et al。77年)提出一个DDoS检测和缓解策略。策略由两部分组成。首先,布鲁姆过滤器和与时间相关的统计数据是用于单向交通分析。然后,记录各种应用程序所使用的带宽。动态阈值是根据统计信息确定的。当一个特定的行为流量超过了阈值,确定为恶意流量,流量被丢弃或速率是有限的。管理员可以提供网络参数动态阈值的计算,然后通过API数据飞机上安装它们。
执行DoS攻击的数据包通常来自不同的源IP地址和MAC地址,因此有不同的组合源MAC地址和IP地址。基于以上观察,DroPPPP [78年)提出了减轻DoS攻击P4开关。这种方法比较了散列值的源IP和MAC地址和存储的散列值。如果没有匹配的时间最后的攻击是在5 s,检测到的攻击。TCAM用于存储预先计算的值和估算的值匹配操作表中的数据平面的开关。
丁等。79年)展示一个简单的大规模网络DDoS受害者识别解决方案,INDDoS。它记录的数量目标IP地址基于培根草图。的目标IP地址感动多个源IP超过一个阈值在数据平面在一个给定的时间间隔中被标记为一个受害者。丁等。79年)描述必要的修改实现INDDoS托开关由于有限的物理资源和设置参数基于理论分析的最优值。
4.3.2。欺骗和洪水
传统的DDoS antispoofing清洁工需要专门的中间设备,这就增加了成本,延迟和网络的复杂性。Afek等人。80年)实现OpenFlow 1.5 -和P4-based网络antispoofing系统抵抗SYN和DNS欺骗。采用高速可编程数据平面,该计划可以执行低级原始操作速度线。规则和控制器交换消息的数量比例的合法流量。保护几家大型服务器,交换机共享流表在一个分布式的方式。
林等。81年]提出一种机制来减轻ARP欺骗和SYN洪水攻击。该方案计算SYN / ACK和ACK /鳍的数据包数量,并通知控制器是否异常。控制器将参与攻击的IP地址添加到包丢弃规则。林等。81年)实现一个基于OpenFlow的软件开关和P4和比较两种情况下的性能。OpenFlow-based解决方案,吞吐率相对较大,而P4-based解决方案可以工作在数据层面,大大减少了相关的数据流量。
针对TCP SYN洪水攻击,保鲁西et al。82年,83年光旁路)提供动态交通工程方案和交通卸载并提出基于P4状态攻击缓解机制。每个会话的P4保留登记统计记录SYN洪水攻击。去年SYN数据包的端口号和SYN洪水的次数是由不同的登记记录。如果尝试发现的数量大于预定阈值,包被删除。作者实现了上述功能软件开关bmv2和NetFPGA求职者的板,分别。
针对TCP洪水袭击,Musumeci et al。84年结合最大似然和P4有效地进行数据挖掘和提出一个P4-based DDoS攻击缓解措施使用毫升分类器。作者比较的准确性和复杂性不同的最大似然估计算法,即算法的训练时间和预测时间。P4代码提取提供了最大似然分类器中使用的特性。功能是体现在形式的元数据,用于将附加信息与包本身。是否有受到攻击是根据学习的结果决定的。
4.4。综合防御
与应用程序中实现软件相比,平面计算可以提高吞吐量的数据一个数量级或更多。性能改进,可以实现功能曾经执行控制计划,包括分布式计算、深层数据包检测,机器学习加速度。通过出售一些算法的数据平面,更准确,响应可以部署的解决方案,这有助于减少控制平面的开销。
4.1.1。网络级防御
邢et al。85年]提出一种可编程和分布式洪水防御系统的联系,涟漪,可抵抗LFA的动态变化。连锁发展的策略语言、编译器、防洪和分布式运行时链接。涟漪语言源自一个抽象的防御全景准确提取威胁来自全网流量信号。基于这个全景,全景防御可以在一个完全分布式的方式实现。首先提取攻击信号由当地开关,然后传播到实现视图同步。
波塞冬(86年)提出了减轻体积DDoS攻击。一套防御原语用于表达提出了一系列的安全策略。国防原语的分区是根据它们的属性在交换机和服务器上执行。首先,用户采用一套防御原语来表示他们的防御策略。然后,国防原语被映射到可编程开关,如果有必要,服务器软件实现有效的防御。当攻击变化时,底层的国防原语可以根据攻击模式。基于原型的评估表明,该方案可以抵抗体积攻击和适应动态攻击较低的开销。缺点是编写一个防御策略的人工干预。
刘等人。87年)提出一个开关方案,Jaqen DDoS防御,可以在本地运行一系列检测和缓解功能动态自适应和应对大规模的攻击。Jaqen设计switch-optimized、能效高的组件检测和缓解。一个灵活的API设计建造各种最佳实践(未来)防御策略,可以有效地利用开关函数。构造全网资源管理器,可以快速适应攻击状态的变化。实验表明,Jaqen可以缓解大规模攻击速度线(380 Gbps)。
邢et al。88年FastFlex]提出一个抽象的解决方案,设计防御措施为基于不断变化的网络路径攻击和转移国防数据平面。FastFlex提出一个关键抽象,多通道数据平面和解决编程国防数据平面上的挑战。通常情况下,网络集中控制计算的最佳配置下运行。然而,一旦受到攻击,它执行在一个分布式的方式来缓解。混合矢量攻击会触发共存模式在不同的地区,和改变攻击反应快速的适应模式。缺点是跨域的高复杂性和安全问题关节。
10/24/11。深度数据包检测
DeepMatch [89年)利用网络处理器(NPs)对载荷进行线速正则表达式匹配,支持包数和重新排序,基于流的DPI并执行。作者在Netronome实现DeepMatch SmartNIC。通过正则表达式匹配函数,内部无状态数据包匹配,和执行速度可以达到目标的线速率;有状态的内部匹配包,执行速度大约是20 Gbit / s。DeepMatch [89年]介绍了深层数据包检测(DPI)数据包有效载荷。
李等人。90年)提出一个跳跃数滤波器(HCF)防御机制,NetHCF,这可以减少欺骗IP流量。在NetHCF,数据平面为合法数据包速度线提供服务。控制平面处理的镜子丢失的数据包,根据网络状态动态调整。IP地址和跳数之间的绑定关系维护表,和NAT存在时的跳数是不正确的。
邢et al。91年)提出一个防御系统,称为NetWarden,反对网络隐蔽通道性能的影响。可编程数据采用平面检查和修改每个数据包的头没有通信中断或性能限制。性能增强技术是用于抵消造成的性能损失秘密通道防御。NetWarden影响TCP拥塞控制机制的反馈的形式发送方和接收方的代理,提高发送速率,减少重传。为了弥补的严格模型可编程数据平面和无法支持秘密通道国防所需的所有操作,提出了一种“快速路径/ slowpath架构”,相结合的多功能性软件和硬件的效率。硬件fastpath支持一些关键操作,需要运行速度线,和软件slowpath支持更多的表达一般只有几个电话操作。实现的硬件原型NetWarden在P4,可以检测一系列全速网络隐蔽通道,缓解这些渠道与性能的干扰可以忽略不计,在复杂的应用程序和工作顺利。缺点是slowpath / fastpath通信延迟。
4.4.3。机器学习
智能决策支持系统通常依赖于交通特征的集合,然后输入一个复杂的系统主要基于ML算法。因为毫升可以检测并发现以前看不见的模式和行为在网络流量,它有助于提高精度和响应能力更详细地了解交通,所以它已成功应用于网络安全。SDN最ML-based安全方法的开发环境的控制层面上实现的,而这些方案可能带来问题的准确性和高开销(92年]。数据平面的可编程性使ML-based安全解决方案更加可行。
传统的基于开关函数有一个识别复杂的网络攻击的能力有限。基于机器学习的方法,已经广泛用于报文分类提供高精度,但他们通常需要数据包转发到其他主机,从而增加网络延迟。传统的基于机器学习方法总是需要数据包转发到其他主机,从而增加网络延迟。为了克服这个限制,作者在93年提出一个IDS方案基于二进制神经网络(BNN)和联合学习。实施方案在数据层面,BNN神经网络压缩成一个简化的形式,重量被压缩成一个单一的,和相关的计算转换为逐位操作。然后,BNN应用于识别传入的数据包在网络的边缘。此外,作者提出一种联合学习计划,不断培养BNN函数。控制器连接很多P4目标和火车BNN使用样品收到P4的目标。云服务从控制器收集这些更新,更新加工重量控制器。
Barradas et al。94年FlowLens]提出了系统使用可编程开关有效地支持多用途安全应用基于ML。FlowLens收集包线速度分布的特点,直接把开关上的流,网络运营商可以重用这个测量原始服务在运行时不同的流分类任务。为了克服缺点的数据平面,FlowLens计算高效的内存表示为每个流的相关特征,被称为“流标签。“交通标志的大小虽小,它包含足够的信息对开关对数据包进行分类。
古铁雷斯et al。95年)关注使用提供的功能可编程数据平面实现人工智能,尤其是ML算法,试图找出多少操作在算法执行数据平面。如何将数据平面可以补充基于机器学习的不同阶段讨论了入侵检测系统。两例说明该方法的可行性和强调的因素时必须考虑解决的间接任务部署解决方案。
4.4.4。有限状态机
Laraba et al。96年采用扩展有限状态机(EFSM利率)模型状态安全监控功能。P4开关用于检测ECN(显式拥塞通知)行为异常。seven-tuple用于表示EFSM利率,可以描述更复杂的条件和避免创建大量的状态变量。在操作状态和变量存储在寄存器中。如果最终主机不匹配状态机,数据包就会被丢弃,或者如果可能的话,纠正错误的行为。
5。P4目标比较
P4支持基于软件的目标和基于硬件的目标,如转专业、FPGA和ASIC。表4总结了不同P4的性能目标(6,8,97年),代表产品,他们在研究的比例。大部分研究工作是软件上实现开关,达到了近一半。(1)使用软件来实现网络协议是灵活的功能和复杂性,但CPU的处理能力限制了吞吐量,和中断和缓存的影响可能会影响延迟和抖动。(2)转专业是一种软件可编程asic为网络应用程序进行了优化。他们属于一个独立的网络设备或网络卡。软件开关相比,吞吐量和延迟转专业的性能相对提高,但灵活性降低。(3)FPGA可编程实现几乎任何功能。除了限制内存资源,fpga通常超过大多数目标的吞吐量,抖动,延迟。然而,FPGA编程需要特定的硬件的知识,和实现网络算法在高密度脂蛋白是非常耗时的。(4)ASIC擅长在效率方面,吞吐量,延迟和抖动。然而,ASIC指令集的表达能力有限也限制了其功能实现的灵活性。
有几个论文比较多个目标的性能数据的飞机在实现特定的算法和策略。比较有助于了解相关设备的局限性。表5比较了不同的目标的具体行为。
朔尔茨et al。102年]讨论的必要性数据平面上实现加密哈希函数来减轻潜在攻击哈希碰撞和提出的原型实现加密哈希函数在三个不同的P4目标(CPU、SmartNIC NetFPGA求职者)。主要的评估结果表中可以看到5。总的来说,CPU-based实现最高的灵活性,但SmartNIC-based实现最高的吞吐量。用户可以采用不同的平台实现哈希算法根据他们的性能需求。
可以利用的程度的缺陷在实践中探讨了第一条(103年]。首先,作者编写的一系列程序是由简单的操作来测试三个目标(bmv2开关,P4NetFPGA和托开关)。在某些场景中,这些目标的行为是不准确的,需要注意在编程,以避免这些极端现象。然后,NAT(网络地址转换)函数中实现P4检查,看它是否包含任何可利用的漏洞。发现强大的攻击者可以使用简单的NAT程序和经典的开关程序(switch.P4)来实现攻击不同目标。最后,讨论了上述研究结果对安全的影响。
朔尔茨et al。104年)讨论如何使用他们的表现来保护整个网络从SYN洪水攻击。因此,两个防御方案,SYN身份验证和SYN cookie,进行了分析。实施困难时将它们移植到不同的目标(软件、fpga和网络处理器),以及这三个目标的性能,进行了较为详细的试验研究。
6。趋势和挑战
毫无疑问,P4程控数据平面将在新领域的网络,解决问题或新出现的问题在传统领域,激发更多的数据平面创新,加速网络设备更新,促进网络的方向被可编程和定制。总体而言,有两个主要的趋势。一个是卸载函数:由于高速数据处理能力和可编程性,控制平面的功能的一部分可以由飞机全部或部分的数据。这将是一个新的尝试传统SDN集中控制器的解决方案。此外,一些最初的检测和防御任务执行的服务器也可以卸载智能网卡来减少服务器的处理负担。另一种是应用创新:可编程数据平面可以添加、删除和修改协议字段在数据传输和执行进一步的处理,它提供了极大的方便的实现新协议。基于上述特点,提出了越来越多新的应用研究工作,如聚合和崩溃的物联网包(105年)、网络编码(106年,移交在5克107年]。
相比,然而在新领域解决应用问题,迫在眉睫的是,不可避免的解决自己的问题的缺陷可编程数据平面。
6.1。安全验证
虽然数据的可编程性平面为创新和协议的快速发展提供了极大的便利,它还涉及隐患因为缺乏正确性验证的数据平面。
与设备制造商相比,普通用户,谁定义的转发行为数据平面,通常缺乏经验。攻击者可能发动袭击在设备上基于程序中的错误。特别重要的建立自动化测试和验证工具,以改善飞机的安全可编程数据。
由于不同的编程对象,现有的软件测试工具不能直接使用P4项目。程序分析和验证技术的设计和实现为今后P4构成一个重要的研究方向。
6.2。复杂的计算
可编程开关只支持简单的算术运算为整数值,和线率处理意味着每个包只支持更少的操作步骤。虽然可以通过循环增加处理流程,实现吞吐量为代价的,它只是一个简单操作的叠加,而不是真正意义上的复杂计算。没有复杂的计算影响数据的应用场景平面。
克服现有方案计算的局限性包括precalculation和近似。precalculation方案,计算出的值控制飞机或外来的CPU和安装在匹配操作表或存储在寄存器中,平面和数据查询相关条目按照一定的规则来获得计算结果。这种方法只适合小范围和场景一些目标值。另一个尝试是近似的值可以被应用程序使用,而不是精确值,需要获得极高的计算开销。近似方案可以实现某些功能,但在成本的准确性。
在未来,设备制造商应该生产设备的数据平面可以支持更丰富的计算操作,提高计算能力。另一方面,函数需要复杂的计算可以分解成更简单的操作。可以努力探索适合复杂计算的分解方法。
6.3。有状态的网络功能
作为可编程的一个关键特性数据平面,国家处理可以实现各种新颖的应用程序不可能在nonprogrammable网络,如细粒度的负载平衡、分布式网络遥测和有状态的交通工程。
因为需要保留一定数量的状态数据可编程数据平面,片上内存的大小直接影响的状态数据可以存储,进一步限制流动的规模,可以处理和数据的函数,可以实现平面。
对状态信息的存储空间有限的问题,一个可能的解决方案是可编程开关的记忆应该扩大通过添加更多的SRAM或DRAM,这可能会导致更高的成本和影响灵活性和可扩展性。该算法需要合理设计允许数据平面拯救尽可能少的状态数据。与此同时,数据平面和扩展内存之间的调度需要精心设计尽量减少对性能的影响。
7所示。结论
解决网络安全问题的研究与P4-based可编程数据平面是综述。介绍了编程语言P4和组件在P4工作流和讨论了网络编程的发展。P4-based的优点可编程数据平面在解决安全问题进行了分析。在此基础上,根据被动防御的角度,积极防御,和多种技术的组合,现有的网络安全应用程序分为四个部分:访问控制、隐私和加密,可用性和综合防御。每个类别的方案进行比较,阐明核心理念和局限性。此外,详细比较了P4的性能目标,研究和研究使用多个目标平台上实现函数或算法进行了总结。最后,挑战与P4-based可编程数据平面的局限性进行了讨论。
数据可用性
标签数据集用于支持本研究的发现可以从相应的作者。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是支持的重点大学科学研究项目下江苏省授予19 kjd510008和未来网络科学研究基金项目资助fnsrfp - 2021 - yb - 55。