SDN领域,OpenFLow现在已经成为了广泛使用的南向接口协议。若想好好学习SDN,在这个领域有所进步,需要熟悉OpenFlow协议。我最近找了篇有关OpenFLow的论文,发现最早该协议是在Sigcomm2008中的一篇论文《OpenFlow:Enabling innovation in Campus Networks》,作者之一是SDN领域创始人之一的Nick McKeown。现在我写下一些学习笔)记:
1. 最早该协议是作用于校园网建设,现在已经成为较为通用的SDN南向协议。至于网络的复杂性,南向协议有很多,当前并没有标准出来。
2. SDN的出现背景,因为当前传统网络的架构比较僵硬,对新协议的出现有很大的限制,在弹性设置上效率很低,传统网络基础设施已经僵化。
3. 最早的想法是很简单的,要使得网络设备具有可编程的能力,只要让网络设备供应商给他们的产品提供一些可编程的接口,同时加入可以获得统计数据的接口等,但是由于网络的复杂性,往往一个网络中存在许多不同供应商的产品,并且具体的一些实现细节供应商也是不愿意提供了,所以这种解决方法还是会带来很多的问题。
4. OpenFLow提供一个开源的协议用来编程不同交换机和路由器中的流表。使得网管能够就将流量分开,比如将实验用的数据和真实生活中其它的数据流量分开,并且能够控制交换机路由器的流表等。
5. 为了适应这种协议,提出了OpenfLow交换机的概念,一个OpenFLow交换机必须具备三个部分:
a).A Flow Table,with an action associated with each flow entry,to tell the switch how to process the flow.
b). A secure channel that connects the switch to a remote control process(callede the controller) allowing commands and packets to be sent between a controller and the switch using OpenFlow Protocol.
c).OpenFlow Protocol,which providers an open and standard way for controller to communicate with a switch.
未来几天有必要重新阅读下OpenFlow协议,对于一个SDNer,我想这是基本的要求。