0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

P4与SDN的关系 P4语言典型应用解析

454398 来源:SDNLAB 作者:SDNLAB 2020-12-14 15:29 次阅读

一、P4与SDN的关系
SDN是网络的未来,P4是SDN的未来,基于openflow的传统SDN专注于可编程的控制平面,数据平面仍然是由固定功能的ASIC组成,也就是说openflow的实现仍然需要配套的芯片支持,openflow是与目标硬件相关的。而P4专注于可编程的数据平面,可以自定义芯片对于数据包的处理方式,添加自己的新功能,新协议,或者对原有协议栈进行优化,更合理的分配片上资源。openflow利用匹配域可抽象整个TCP/IP协议栈的绝大部分功能,而P4可以完整描述openflow的功能。

二、可编程数据平面programmable data-plane(PDP)的主要特点:
1、快速开发和验证新协议

为了支持网络的快速演进,标准化组织不断推出新的封装和传输协议,GENEVE,NSH,VXLAN,GEP等等都是最近推出的,与此同时,数据中心也已经开始推出自己的协议用来隔离各个租户,使其业务互相不受影响。每一种自定义的协议都有其独特的优势,基于在大型网络中多年的运行经验。

2、移除一些无用的协议,简化和精简网络

网络世界里有数百种协议,然而一个数据中心网络中往往只需要三到四种,问题在于,不同的数据中心会使用不同的协议组合,因此固定功能的交换机会内置这些协议组合的超集,导致一些珍贵的交换机资源被用到了一些不需要的协议上。比如我们可以减少L2转发表的大小然后重新分配内存空间到L3路由表。在tofino中,我们可以将L3 IP路由表从 300k增加到1.2M 支持更大的网络和地址空间。移除不用的协议也意味着减少出错的机会,网络由于根本不用但是却写入到交换机ASIC中的协议错误而引起的中断。由于并不使用这些协议,所以很难做出判断来debug,使用P4 你只需要添加那些你需要的协议,专注于那些你所需要的表项,简化交换机结构,减少出错的机会。

3、INT实现整个网络的完全可视化,可追溯每一个数据包的转发过程

网络监控是可编程网络的一个典型应用,首先我们可以在几个小时内添加更好的监控特性,而不是需要修改整个转发逻辑而耗费好几年时间,其次,没有什么设备厂家比网络运维人员更清楚到底需要监控哪些指标,使用PDP 运维人员可以快速地添加强大的监控,分析和诊断特性,利用INT,举个例子运维人员可以详细决定什么信息他想获取,比如 数据包通过每一个交换机的精确延时,或者队列中其他数据包, 以及软件的版本,每个包所匹配的表项,因此每个数据包都可以成为一个探测包,不会产生任何新的流量,如此史无前例的可视化能力。基本实现已经可用的INT.p4,这个程序已经可以实现完全的自动化数据采集和修正,可作为self-driven网络的一部分。

4、将middlebox的功能集成到PDP上

许多网络运营商仅仅使用了middlebox中的很少部分功能,现在他们可以直接将需要的功能编程到交换机上, 淘汰掉大量昂贵的middlebox。已经有成功使用barefoot tofino交换机实现middlebox功能进行实际部署的案例,成本方面取得了显著的降低,在大部分情况下,他们的性能比之前更强,因为他们运行在tofino上实现了全线速转发,而不是传统CPU,在一个场景中,L4负载均衡被集成到tofino交换机上,维持十万台服务器的数千万个连接. DIP池可以调整大小,而无需中断此时的连接,所有这些只需几百行P4代码,相似的方法可以集成其他middlebox比如防火墙,入侵检测系统,地址端口转换器,流量重复数据删除等,我们正走在将middlebox合并到交换机中的革命之路上。

5、将部分分布式应用程序直接部署在网络上

一个大型数据中心里运行着大量的分布式应用,并且也有数千台交换机的规模,交换机是否具备加速分布式应用,卸载服务器load的能力呢?最近研究者们证明了如何使用paxos一致性协议可以添加到网络中通过利用P4实现其中的一小部分,并添加到交换机中,如此一来可以对分布式应用可以加速几个数量级,其余部分可以构建新的键-值管理服务直接部署到数据平面上,我们可以参与许多新型的快速的in-network应用和服务,来自由免费无缝集成到网络中。

这仅仅只是一个开始,冰山一角,用户可以使用这项技术完成更多的功能,我们的目标是将差异化的方法交到用户手中,他们可以对他们最熟悉的网络做出创新,PDP开启了网络用户自主权的革命,使得研究者,开放网络社区可以自己演进。

总而言之barefoot首次将性能和可编程能力完美结合在一起,P4-enabled Tofino以及SDK的组合是革命性的,真正的可编程交换机和业界最强的性能。当高性能和可编程能力的优势逐渐普及开来后,我们相信一个经常被忽略的影响将会成为一个巨大的影响力,高性能和可编程能力改变了网络的所有者对于整个网络的洞察力,在过去,网络的可视化是芯片公司或者系统设备公司的领域,他们可以以此提高价格获取利润。如今,网络的运维人员可以在正在运行业务的网络上添加自己的应用程序来优化其工作状态,并且他们无需与系统或者芯片公司分享这些设计,这种由P4程序获得的对于网络的洞察力将成为其自己的知识产权,他们可以将这些IP移植到其他厂家的可编程交换机上,或者同厂家的不同产品上,甚至购买白盒设备,因此,网络的灵活性和开放性得到了进一步的提升。

三、典型应用
1、带内遥测in-band network telemetry (INT)
带内测量是混合测量方法的一个例子,在过去几年中获得了很大的动力。带内遥测[5]的思想是,路径上的每个节点都在数据平面数据包的报头中包含时间戳(和可能的其他信息),从而允许细粒度的测量和拥塞检测。这些方法被称为带内网络遥测(Int)[6]和现场oam(Ioam)[7],它们分别正在p4社区和ietf中讨论。

传统网络监控技术比如SNMP 基于通过控制平面向底层网络获取信息的方式,要么约束性太强要么速度太慢,类似的,比如netflow, sflow,synthetic探针等,并不足够精确来检测由于短时事件或者microbursts 等导致的问题,这可能会造成服务和应用程序的严重事故,缺少可以追溯以及可以将相关事件产生联系的metadata和历史信息都几乎不可能获取,特别是在规模很大的网络中,最后,Network Packet Broker (NPB)网络数据包代理的预先支付的成本和TCO可能会相当高。

INT 使得数据平面具有端到端的搜集能力,实时地状态信息。在端点上直接嵌入指令信息到数据包中列出网络状态的类型将被直接从网络中被搜集起来,每个网元在流经的数据包中插入被请求的网络状态信息,一个P4程序可以被用来作为一种自然的方式来表示INT中数据包所需要被解析和修改的包头类型。

搜集网络数据的过程如今可以直接在实际流量中完成,给与了可以在虚拟或者物理的端到端网络中实时地发现和搜集网络状态的能力,这样打开了无限可能性来监控你的网络,允许网络运维团队来快速捕获和描述哪些由于性能瓶颈,网络故障或者配置错误而出现的问题。

2、PLT(Path-Latency Tracking)路径延时跟踪
搜集每个包在每一跳的物理路径和单跳延时,端点将有用的数据导入分析引擎,INT sink会在事件触发后产生report发送到分析引擎,比如发现新的连接,以存在的链接路径发生变化,端到端或者hop by hop延时发生明显变化等,都会异常行为都会被快速发现并溯源。

PLT为什么有用?
1、实时的网络异常检测和产生告警信息;
2、快速检查链路拥塞,诊断哪些应用导致了拥塞;
3、交换机端口拥塞,异常排队延时的出现;
4、无用的交换机或者链路;
5、链路利用率不均衡(ECMP LAG);
6、网络中出现环路;
7、交互式分析;
8、按需路径可视(E2E 或者 src dst TOR对);
9、生成流量矩阵。

PLT的设计
如果每个包都向分析引擎发送report的话,将会导致产生大量冗余数据,采用智能的反冗余程序让SINK选择恰到时机发送report,report以镜像包的形式发到分析引擎。
分析引擎设计

可扩展型分布式快速数据处理系统,用于实时处理PLT报告,产生告警信息并将报告转存到数据库,基于开源工具集,kafka,spark streaming,cassandra。模块化设计使得用户可以无缝替换组件,是一种低系统开销的设计。

3、in-band DDoS带内防御系统

Barefoot networks公司描述了一种典型的DDOS检测和削弱的解决方案,这种方案有许多带外的DDOS检测应用来监控流量并将其引流到状态防火墙,在这个方案中,DDOS检测设备由于成本和规模问题不能监控所有的网络流量,因此运营商必须设置一些静态的流量镜像规则在边缘路由器上,来仅仅镜像一部分流量,举个例子,如果网络运营商想要保护DNS服务,他们将会镜像那些需要经过DNS的UDP流量到DDOS检测设备。

因此,随着分布性强且复杂的攻击行为,基础设施需要要么有能力扩大规模来检测T比特/秒级别的流量和数百万条连接,要么必须有能力交换更多的选择性模式在其中低精确度的监控小规模流量,以便提高检测速度而不引入额外的开销到控制平面,tofino应用程序也可以估计和阈值在数据平面上进行直接比较。在这种情况下 当DDOS检测开启时数据平面会告知控制平面(data-plane push)。

带内DDOS检测的优势

1. tofino的应用程序可以保证在面对任何类型的攻击时保持高可扩展性和线速的性能,并且尽量减少片上资源的消耗;
2. 带内DDOS检测可以用tofino来实现并且保证高精度,和几乎可忽略不计的误判;
3 P4的可编程能力允许用户灵活地并可定制化DDOS检测方式和攻击削弱行为;
4. 细粒度的统计允许用户快速确定哪个应用和服务正在遭遇攻击;
5 当与其他DDOS解决方案,比如 netflow 进行比较时,基于tofino的方案在检测DDOS攻击时具有多个数量级的速度优势(几十毫秒 vs 几十秒)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDoS
    +关注

    关注

    3

    文章

    171

    浏览量

    23062
  • 数据中心
    +关注

    关注

    16

    文章

    4761

    浏览量

    72034
收藏 人收藏

    评论

    相关推荐

    解惑P4编程语言的常见误区

    作者简介:张渐修,任职于上海同悦信息科技有限公司从事SDN/P4交换机的市场推广工作。 OpenFlow从诞生之日起就与SDN划起了等号,时至今日仍然有用户在寻求SDN方案时潜意识在寻
    的头像 发表于 12-04 11:55 4393次阅读

    手把手教你写支持RMT架构的P4语言后端编译器

    1、手把手教你写支持RMT架构的P4语言后端编译器  P4语言已成为编程基于可重构匹配动作表的可编程交换机的主要选择。V1Model架构是匹配动作架构最广泛可用的实现。
    发表于 09-22 15:57

    STC单片机扩展P4口的应用

    对于PQFP-44和PLCC-44封装的STC89系列单片机增加了4个I/O口P4口,P4口在特殊功能寄存器中的地址为E8H,可以进行位寻址,用户在使用P4口之前需要先定义地址,然后就
    发表于 09-28 18:12 4652次阅读

    p4电源_P4电源介绍

    本内容介绍了什么是P4电源,P4电源的产生和P4电源相关知识及P4电源维修过程
    发表于 05-15 16:16 3033次阅读

    搭建P4C与P4FPGA联合编译环境

    一、简介 在2016 SIGCOMM大会上HanW发表了一篇名为《P4FPGA: High Level Synthesis for Networking》的论文,该论文实现了一个从P4语言
    发表于 10-02 09:00 674次阅读

    用于数据包处理的高级语言P4的探讨

    由Xilinx,Barefoot Networks,Netcope Technologies和MoSys提供的OFC 2017小组会议讨论了P4的采用,P4是用于数据包处理的新兴高级语言,以及用于FPGA和ASIC目标的
    的头像 发表于 11-28 06:58 2173次阅读

    STC单片机扩展P4口应用的介绍

    对于PQFP-44和PLCC-44封装的STC89系列单片机增加了,4个I/O口P4口,P4口在特殊功能寄存器中的地址为E8H,可以进行位寻址,用户在使用P4口之前需要先定义地址,然后
    发表于 11-29 11:47 13次下载
    STC单片机扩展<b class='flag-5'>P4</b>口应用的介绍

    能完整描述openflow功能的P4

    SDN是网络的未来,P4SDN的未来,基于openflow的传统SDN专注于可编程的控制平面,数据平面仍然是由固定功能的ASIC组成,也就是说openflow的实现仍然需要配套的芯片
    发表于 03-16 09:09 2867次阅读
    能完整描述openflow功能的<b class='flag-5'>P4</b>

    如何才能扩展STC89系列单片机P4口的应用

    对于PQFP-44和PLCC-44封装的STC89系列单片机增加了4个I/O口P4口,P4口在特殊功能寄存器中的地址为E8H,可以进行位寻址,用户在使用P4口之前需要先定义地址,然后就
    的头像 发表于 10-13 14:19 4255次阅读

    P4P4运行时:SDN可编程性的新视野

    在软件化时代,SDN正在展开其边界,各行各业正专注于将网络控制置于金字塔顶端 - 从复杂的硬件到软件应用程序。P4已经通过提供低至ASIC的网络可编程性来控制金字塔的底部(转发平面)。近年来,一些概念和协议也开始统治金字塔的顶端(控制平面),但有了
    的头像 发表于 12-08 16:36 2461次阅读
    <b class='flag-5'>P4</b>和<b class='flag-5'>P4</b>运行时:<b class='flag-5'>SDN</b>可编程性的新视野

    辽宁鞍山铁矿国企项目P4户外球形屏案例

    辽宁鞍山铁矿国企项目P4户外球形屏案例 项目地点:辽宁鞍山 项目类型:施工-户外防水P4球形屏直径2米 承建单位:深圳市恒彩光电科技有限公司 完工时间:2023年6月
    的头像 发表于 06-15 16:31 628次阅读
    辽宁鞍山铁矿国企项目<b class='flag-5'>P4</b>户外球形屏案例

    P4全彩LED显示屏用材规格与技术参数

    P4全彩LED显示屏用材规格与技术参数 产品型号:户外P4全彩LED显示屏 LED电子显示屏  外形尺寸:256*128mm 实用范围:P4户外全彩LED显示屏广泛应用于商贸中心、购物中心、传媒中心
    的头像 发表于 08-09 20:47 3610次阅读

    使用P4和Vivado工具简化数据包处理设计

    电子发烧友网站提供《使用P4和Vivado工具简化数据包处理设计.pdf》资料免费下载
    发表于 01-26 17:49 0次下载
    使用<b class='flag-5'>P4</b>和Vivado工具简化数据包处理设计

    P4 Suite for FPGA面市 P4 Suite for FPGA主要功能解析

              基本简介 P4 Suite for FPGA是一款 综合性工具套件, 可在数字网络的不同领域提供广泛功能,该套件能够以高达200 Gbps甚至更高的数据传输速率支持FPGA。这一
    的头像 发表于 07-25 14:55 973次阅读

    P4SDN中的重要性

    ,数据平面依赖于固定功能,仅能使用有限数量的协议来转发数据包。P4(独立于编程协议的数据包处理器)语言的出现使得对SDN数据平面进行编程成为可能,这将SDN推向了一个新的水平。
    的头像 发表于 11-06 10:10 381次阅读
    <b class='flag-5'>P4</b>在<b class='flag-5'>SDN</b>中的重要性