P4+Sonic(2)
作者:互联网
一些定义与缩写
P4 Programming Protocol-independent Packet Processors,定义数据平面如何处理数据包
gRPC:Remote Procedure Calls,一个开源的客户端-服务器 RPC 框架
P4RT:P4Runtime (P4RT) 是一种控制平面规范,用于控制由 P4 程序定义或描述的设备的数据平面元素。
PI:Platform Independent representation of P4RT messages不会随着P4程序的改变而改变
PD:Program Dependent representation of P4RT messages 提升P4程序的可读性和安全性
ECMP: Equal Cost Multipath (ECMP):在到目的地址最短路径中的分离流量的路由协议
WCMP: Weighted Cost Multipath (WCMP)是一种路由协议,它根据不断变化的网络拓扑结构、可用链路容量在可用的下一跳之间分配流量。
PINS:P4 Integrated Network Stack (PINS):提供额外的部件变更SONiC并且允许栈能够通过P4和P4Runtime被远程控制
SAI: Switch Abstraction Interface (SAI)是一种标准化接口,允许以独立于供应商的方式对不同的交换机 ASIC 进行编程和管理。
需求:
1)P4RT 应用程序应符合 p4 维护的开放标准。
2)支持SDN控制器链接并通过gRPC发送请求
3)在多个活动 SDN 控制器连接之间进行仲裁
4)验证转发管道配置(ACL、PacketIO),拒绝任何无法在 SAI 管道中实现的配置。
5)允许从 APPL_DB 中的 P4RT 表中插入、修改或删除 P4 表条目。
6)对每个请求做出成功/失败的回应
7)允许在APPL_DB中的P4RT表条目能反读取
8)支持 P4RT 定义的punt规则的数据包 I/O
设计
P4RT应用将在Docker容器中允许
一个控制器可以和用户进行gRPC服务的连接并编写回应SAI表的P4表条目。这些条目用于 ASIC 数据库,但遵循 SONiC 架构,P4RT 应用程序将转换/格式化 gRPC 请求并将其输出写入 APPL_DB。 从那里,P4Orch(TODO:参考 OA HLD)处理请求。
在这个实例中,P4RT应用将仲裁所有客户使用election ID所建立的连接
P4 prgrams & P4Info
SONiC介绍
SONiC 是一个基于 Linux 的开源网络操作系统,可在多个供应商和 ASIC 的交换机上运行。SONiC提供了一整套网络功能,如BGP和RDMA,这些功能已经在一些最大的云服务提供商的数据中心进行了生产强化。它为团队提供了创建所需网络解决方案的灵活性,同时利用了大型生态系统和社区的集体力量。
用户应使用默认用户名/密码"admin/YourPaSsWoRd"通过控制台端口登录设备。
标签:Sonic,SAI,P4,SONiC,gRPC,P4RT,条目 来源: https://www.cnblogs.com/hhhf/p/15976886.html