可编程、可控制网络:Ethane与OpenFlow技术解析
立即解锁
发布时间: 2025-08-27 00:01:07 阅读量: 5 订阅数: 11 


GENI:下一代互联网实验平台
# 可编程、可控制网络:Ethane与OpenFlow技术解析
## 1. Ethane技术概述
### 1.1 交换机基础结构
交换机由数据平面(转发平面)和控制平面两个不同实体组成。数据平面是一个高带宽背板,根据路由表转发数据包;控制平面是一个嵌入式计算机,通过分布式路径查找算法和配置的组合来维护和更新路由表。
### 1.2 Ethane的核心思想
Ethane论文的核心见解是,控制平面可以大部分移出交换机,直接从配置更新路由表。实现所有交换机控制平面的中央管理器为运营商提供了对网络的更大控制和更简单的编程接口。
### 1.3 Ethane的创新性
Ethane并非全新概念,早在20世纪90年代末,若局域网内所有设备都从单一供应商购买,就可实现局域网的集中管理,但这种同质环境并不常见,该管理技术的采用率较低。Ethane的新颖之处在于将细粒度的流量管理引入多供应商网络系统(包括无线和有线),这意味着它可用于“棕地”部署,即现有网络设备可支持其安装,具有潜在的革命性。
### 1.4 Ethane交换机抽象
Ethane交换机是一种设备,它匹配报头位的一个子集(包括通配符条目),当数据包匹配时,执行以下四个操作之一:丢弃数据包、重写报头位、输出到特定端口或输出到控制器。这些操作对所有交换机都是通用的,通过精心选择报头匹配位,可以支持各种供应商的交换机。
## 2. OpenFlow协议
### 2.1 Ethane的组件与演变
Ethane有三个组件:交换机上的匹配规则实现、驻留在主机上的网络安全和流量管理应用程序,以及驻留在主机上的中间件元素,它作为应用程序的网络API。最初,交换机部分在NetFPGA系统上实现,中间件和应用程序组件在一个代码块中。2007年12月,HP Labs和斯坦福大学合作在商用交换机HP 5406上实现了Ethane的交换机端,这一实验意义重大,表明Ethane的交换机端通过固件升级在现有网络中是可行的,并为其他供应商支持该协议提供了路线图。此后,Ethane的三个组件被拆分为独立的实体,交换机端成为OpenFlow交换机规范,中间件组件成为网络控制器,第一个实现是Ethane中的中间件,命名为NOX,Ethane本身成为NOX/OpenFlow堆栈上众多应用程序中的第一个。
### 2.2 OpenFlow协议的发展
2008年3月的一篇文章描述了OpenFlow协议的分解和概述,次月描述了NOX控制器。最初的目标是在校园网络上进行实验,定义一个开放、可编程的交换机平台,具有足够的带宽和端口密度,可用于校园配线间,并实现隔离,使运营校园流量和实验流量可以在同一交换结构上运行而互不干扰。2008年底,OpenFlow交换机规范版本0.8.9发布,它基于Ethane,指定了一个通用API,用于对抽象流表进行编程,可跨设备使用,而不论其供应商。该规范仅编码了网络元素(交换机)和控制器之间的接口,Ethane论文中存在的策略语言和更高级别的功能留给了利用这个新API编写控制器的人。
### 2.3 OpenFlow与经典交换机的比较
| 比较项 | 经典交换机 | OpenFlow交换机 |
| ---- | ---- | ---- |
| 控制平面 | 嵌入式控制平面,每个交换机有独立控制平面 | 控制平面移至集中式控制器,通过安全通道通信,实际仍保留基本控制平面 |
| 规则更新 | 通过嵌入式控制平面更新 | 通过集中式控制器安全更新 |
| 流量控制 | 自主控制和按设备配置 | 集中式控制,可实现细粒度流量管理 |
### 2.4 OpenFlow协议的规则
OpenFlow的目标是公开一个交换机转发平面的抽象,该抽象在大多数商用交换机上有效,并允许按流量进行应用程序控制转发。抽象的路由表由一对对(规范,动作)组成。规范是一个三元整数,指定报头选定位的值,字段中的“2”表示通配符。动作字段指定以下操作之一:丢弃数据包、将数据包输出到指定端口j、将数据包发送到控制器进行进一步处理、将报头位重写为某个值。规则表通过安全、加密、认证的协议安全地传输到交换机,数据包由控制器签名。
### 2.5 OpenF
0
0
复制全文
相关推荐










