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

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

3天内不再提示

P4:网络转发平面编程

星星科技指导员 来源:volansys 作者:Komal Shah 2022-12-08 16:41 次阅读

随着物联网设备的巨大增长、数据流量的增加、新协议以及私有云和公共云的不断增长,网络世界的创新步伐正在加快。网络的未来已经超越了分离SDN的数据和控制平面,而是在ASIC深处对转发逻辑进行编程。现在,技术正在从传统的固定架构硅开关转向灵活的可编程开关。新的可编程ASIC允许支持自定义协议以及现在和未来的协议。这需要新的更高级别的域特定语言来简化转发平面的写入。每个ASIC制造商都必须提出自己的自定义语言,这更多地依赖于硬件架构。将转发平面逻辑从一个网络ASIC制造商移植到另一个制造商将需要大量的努力,而且非常痛苦。这产生了对独立于底层硬件和协议的标准语言的需求。

什么是P4?

P4(独立于编程协议的数据包处理器)是一种特定于域的开源编程语言,专为编程可重新配置的网络管道而设计。P4语言是公共语言,由 p4.org 联盟开发,该联盟包括网络,云系统和学术机构领域的各种公司。最初,P4是为网络交换机的数据平面编程而设计的,但其范围已扩大到涵盖可编程网络元素,例如硬件或软件交换机,网络接口卡,路由器或其他数据包处理系统。

P4 编译器:P4 如何独立于目标?

从过去几年来看,很明显,任何网络设备中数据平面处理的数据包大致可以分为三个基本阶段。1)解析器块:负责数据包识别和提取,2)控制块:负责匹配+操作,3)解析器:负责形成所需的出口数据包。网络芯片就是以这种方式构建的,并且是独立于协议的。P4 是可以为任何目标设备编译以指定如何在数据平面中处理数据包的语言。P4 编译器的体系结构通过分离语言和目标模型来帮助使其独立于目标。P4 具有前端开源和后端松散,使其独立于目标。每个芯片供应商都可以实现自己的编译器后端以映射到其硬件架构。P4 的架构还有助于通过定义自己的模型,然后编写 p4 后端来支持相同的硬件细节。

pYYBAGORo1aAS3fEAAC2MRXtKbc530.png

图 1:P4 编译器体系结构

每个芯片制造商只需要拥有与其硬件兼容的P4编译器工具链,用户可以独立于供应商的依赖编写自己的P4程序,在不影响速度的情况下进行编译和运行。用户只需要专注于实际的数据包处理逻辑,而无需担心底层硬件。编译器将为硬件生成运行时代码。图 2 显示了 P4 为数据平面编程提供的核心组件。

pYYBAGORo1yAaPv6AAD9jGhreWo497.png

图 2:P4 组件

P4 有何益处?

适用于所有可编程网络设备的开源语言。易于携带

由于P4程序可以由用户编写,因此有助于保留新IP的所有权。现在不再需要与芯片供应商或有时他们的客户共享新功能规范,从而保留知识产权保护

P4 使新协议的部署变得更加简单,消耗的时间更少

在不同应用程序中使用的网络设备需要不同的协议集。使用 P4,用户可以根据其应用程序仅实现所需的协议,并删除其应用程序不需要的协议。因此,可用资源可以得到有效利用

编程数据平面现在使用软件,您可以使用P4编写程序,在硬件上进行编译和加载,从而提供诸如软件重用,数据隐藏,库创建,硬件和软件组件分离,轻松软件升级和轻松调试等好处

使用 P4 的挑战

自定义专有语言可以更好地控制可编程网络硬件,因为它仅为此而设计。P416 确实支持 extern 方法以满足此类自定义硬件特定要求,但在 P4 中使用 extern 使其不那么便携

哈希、ECMP、组播、广播、镜像、排队、调度和校验和等功能很少非常依赖于硬件。使用通用 P4 解决所有目标并完全访问硬件很困难

P4 中控制平面和数据平面之间的通信方式有限。不支持生成新数据包

P4开辟了很多机会,并改变了网络芯片的设计方式。P4架构给出了设计完全可编程芯片的示例模型和想法。展望未来,所有传统交换机将很快转换为具有完全软件定义数据和控制平面的可编程交换机。

审核编辑:郭婷

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

    关注

    68

    文章

    19096

    浏览量

    228792
  • 交换机
    +关注

    关注

    20

    文章

    2610

    浏览量

    99066
  • 编译器
    +关注

    关注

    1

    文章

    1617

    浏览量

    49014
收藏 人收藏

    评论

    相关推荐

    P4在SDN中的重要性

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

    华纳云:如何理解软件定义网络?和传统网络相比有哪些优势?

    概述 软件定义网络(SDN)是一种将网络资源抽象到虚拟化系统中的 IT 基础架构方法。这被称为网络虚拟化。SDN 将网络转发功能与
    的头像 发表于 09-26 16:03 372次阅读
    华纳云:如何理解软件定义<b class='flag-5'>网络</b>?和传统<b class='flag-5'>网络</b>相比有哪些优势?

    混合动力系统构型P0到P4介绍

    在混合动力技术的不断演进中,不同的动力系统构型为汽车工业注入了新的活力。每一种构型都具备独特的技术特点和应用场景,从P0到P4,本文将深入探讨每种构型的优势与挑战,为读者提供全面而深入的了解。 1
    的头像 发表于 09-16 12:09 498次阅读
    混合动力系统构型<b class='flag-5'>P</b>0到<b class='flag-5'>P4</b>介绍

    三星平泽P4/P5芯片工厂建设延期至2026年

    三星电子近日宣布,其位于韩国平泽的P4/P5芯片工厂建设计划将发生重大调整,原定于加速推进的项目现已决定推迟至2026年。这一变动旨在优先保障位于美国得克萨斯州泰勒市的晶圆厂建设,显示出三星在全球产能布局上的战略调整。
    的头像 发表于 09-04 17:00 598次阅读

    小区户外P4全彩高清LED广告屏性能特点和显示效果解析

    户外全彩LED显示屏的发展历史悠久,几年前的小区户外P10是户外广告传媒的“宠儿”,但随着生产工艺的进步,客户对清晰度的要求越来越高,户外P3、P4应运而生,接过P10/
    的头像 发表于 09-04 15:25 238次阅读

    鞍山163.18平米户外P4条栅屏安装完工

    近期,我公司在鞍山成功完成了一项特殊项目——163.18㎡户外P4条栅屏的安装,这一项目的圆满完成,不仅展示了我们的技术实力,更体现了我们对品质及细节的追求。鞍山P4户外LED条栅屏安装完工单条立式
    的头像 发表于 09-04 15:14 172次阅读
    鞍山163.18平米户外<b class='flag-5'>P4</b>条栅屏安装完工

    三星确认平泽P4工厂1c nm DRAM内存产线投资

    据韩国媒体最新报道,三星电子已正式确认在平泽P4工厂投资建设先进的1c nm DRAM内存产线,并预计该产线将于明年6月正式投入运营。这一举措标志着三星电子在半导体技术领域的又一次重要布局。
    的头像 发表于 08-13 14:29 458次阅读

    SDN全景:架构创新与网络功能的未来

    软件定义网络(SDN)代表了一种前沿的网络体系架构,其核心在于实现数据平面与控制平面的分离,并确保网络的软件可
    的头像 发表于 07-26 14:26 325次阅读

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

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

    三星P4工厂战略调整:优先建设存储器产线

    在半导体产业风云变幻的当下,三星电子再次做出重大战略调整,宣布其平泽P4工厂的建设重心将发生转变。据韩媒最新报道,由于代工业务经营状况的持续恶化以及设计变更等复杂因素,三星电子决定暂停P4工厂第二期
    的头像 发表于 07-17 10:47 489次阅读

    ESP32-P4首秀|启明云端带你解读乐鑫P4多媒体开发板

    此前,乐鑫发布了新一代MCU芯片ESP32-P4的消息,今天ESP32-P4开发板终于登场亮相了,快来一睹真容吧。一、ESP32-P4开发板概述乐鑫
    的头像 发表于 02-19 12:30 3659次阅读
    ESP32-<b class='flag-5'>P4</b>首秀|启明云端带你解读乐鑫<b class='flag-5'>P4</b>多媒体开发板

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

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

    VXLAN网关有哪些种类?VXLAN网络中报文是如何转发的?

    VXLAN网关有哪些种类?VXLAN网络中报文是如何转发的? VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,它使用隧道协议将虚拟局域网(VLAN)扩展到整个
    的头像 发表于 12-07 09:32 651次阅读

    使用可编程数据平面技术重新构想车辆通信

    1.汽车网络的灵活性需求 2.现状 3.可编程数据平面(PDP)技术 4.面向服务的PDP通信 5.公开挑战 6.前景
    的头像 发表于 11-23 12:31 687次阅读
    使用可<b class='flag-5'>编程</b>数据<b class='flag-5'>平面</b>技术重新构想车辆通信

    端口转发和端口映射的区别 端口映射和端口转发的各自意义?

    端口转发和端口映射的区别 端口映射和端口转发的各自意义? 端口转发和端口映射是两种网络技术,它们都用于将网络流量从一个端口
    的头像 发表于 11-22 17:41 4916次阅读