P4课程学习(一)

软件定义网络:逻辑集中控制

Main Contribution

  • OpenFlow=标准化模型
  • OpenFlow=与交换机交互的标准化协议

下载流表条目、查询统计信息等

  • 通过单个实体进行逻辑集中控制的概念(“SDN控制器”)

简化控制平面

例如,在一个位置(控制器)计算最优路径,而不是等待分布式路由算法收敛

Issue

  • 数据平面变化需要改变标准(从12->40个openflow匹配类型)

现状:自下而上设计

拓展:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API网关开放给用户调用。 API包括基本信息、前后端的请求路径和参数以及请求相关协议。 通过API,即使您不知道如何操作,仍然可以与其他产品或服务进行通信。

  • 由ASIC来控制==>由user 和 controller来控制

数据平面可编程性的好处

  • 可以添加新的协议
  • 减少了复杂性——移除没有用的协议
  • 高效利用资源–灵活使用流表
  • 更高的可视性–新的诊断技术、遥测等
  • 软件风格开发–快速设计周期、快速创新、修复数据平面错误

Data Plane Model(数据平面模型)

PISA:独立于协议的交换机体系结构

  • 可编程解析器->可编程匹配操作管道->可编程解调器

structure

V1模型标准元数据

点击查看代码
struct standard_metadata_t {
 bit<9> ingress_port;
 bit<9> egress_spec;
 bit<9> egress_port;
 bit<32> clone_spec;
 bit<32> instance_type;
 bit<1> drop;
 bit<16> recirculate_port;
 bit<32> packet_length;
 bit<32> enq_timestamp;
 bit<19> enq_qdepth;
 bit<32> deq_timedelta;
 bit<19> deq_qdepth;
 bit<48> ingress_global_timestamp;
 bit<32> lf_field_list;
 bit<16> mcast_grp;
 bit<1> resubmit_flag;
 bit<16> egress_rid;
 bit<1> checksum_error;
}

ingress_port-数据包到达的端口
egress_spec-数据包应发送到的端口
egress_port-数据包离开的端口(仅在出口管道中读取)

posted @ 2022-11-18 16:46  Q·K  阅读(95)  评论(0编辑  收藏  举报