OpenFlow 1.1.0规格详解:协议、表与通信流程

需积分: 10 0 下载量 69 浏览量 更新于2024-07-19 收藏 618KB PDF 举报
OpenFlow-spec-v1.1.0 是一份详细的 OpenFlow 规范,定义了第1.1.0版本的协议实施,专注于网络交换机组件、表结构、匹配规则、操作指令以及通信机制。此标准的核心在于实现一个开放的网络控制平面,允许外部控制器与交换机之间的通信,以实现灵活的网络流量管理。 1. **介绍**:OpenFlow规范旨在通过标准化接口,让网络设备能够接收来自外部控制器的命令,从而实现网络功能的动态配置。这对于虚拟化网络和软件定义网络(SDN)的发展起到了关键作用。 2. **Switch Components**:这部分详细描述了OpenFlow交换机的组成部分,包括流表(Flow Table)、组表(Group Table)等,这些是数据包处理的核心逻辑区域。 - **Flow Table**:负责根据预定义的匹配条件来处理数据包,通过一系列的匹配字段(如源地址、目的地址、协议类型等)决定如何转发或进一步处理。 - **Group Table**:用于聚合多个流量,执行批量操作,如转发到特定队列或执行计数。 3. **Match Fields and Matching**:定义了数据包进入交换机时需要匹配的具体属性,比如端口、IP地址、TCP/UDP端口号等,以及如何组合这些字段进行匹配。 4. **Instructions and Actions**:提供了处理匹配数据包的不同策略,包括但不限于转发、学习、计数、发送组消息或执行特定的操作动作,如丢弃、标记或修改数据包。 5. **OpenFlow Channel**:这部分关注的是协议的通信机制,包括控制器与交换机之间的交互、连接管理、加密措施以及消息处理流程。 - **Controller-to-Switch**:描述了控制器向交换机发送命令的方式,以及交换机响应的过程。 - **Asynchronous**:强调通信可以是非阻塞的,控制器可以同时处理多个请求。 - **Encryption**:说明可能的协议安全措施,保护通信免受未经授权的访问。 6. **Message Handling**:规定了不同类型的OpenFlow消息(如表修改、流移除、组表修改等)的处理规则,以及确保消息的正确接收和解析。 7. **A.1OpenFlow Header** 和 **A.2Common Structures**:这部分深入剖析了OpenFlow消息的结构,如端口、队列和匹配/指令/动作结构,这些都是构建OpenFlow通信的基础。 通过这份规范,开发人员和网络管理员可以理解和实现OpenFlow技术,以创建可编程和可扩展的网络基础设施,提高网络的灵活性和可管理性。