第一部分: OpenFlow 白皮书解读,
来源: 白皮书: http://archive.openflow.org/documents/openflow-wp-latest.pdf
spec: http://archive.openflow.org/documents/openflow-spec-v1.1.0.pdf
PPT: http://archive.openflow.org/wp/documents/
This white paper proposes OpenFlow: a way for researchers to run experimental protocols in the networks they use everyday. OpenFlow is based on an Ethernet switch, with an internal flow-table, and a standardized interface to add and remove flow entries. Our goal is to encourage networking vendors to add OpenFlow to their switch products for deployment in college campus backbones and wiring closets.We believe that OpenFlow is a pragmatic compromise: on one hand, it allows researchers to run experiments on heterogeneous switches in a uniform way at line-rate and with high port-density; while on the other hand, vendors do not need to expose the internal workings of their switches. In addition to allowing researchers to evaluate their ideas in real-world traffic settings, OpenFlow could serve as a useful campus component in proposed large-scale testbeds like GENI. Two buildings at Stanford University will soon run OpenFlow networks, using commercial Ethernet switches and routers.We will work to encourage deployment at other schools; and We encourage you to consider deploying OpenFlow in your university network too.
OpenFlow的目的是为研究人员找到一种在现有网络上跑实验性协议的方法。 OpenFlow基于一台交换机,一个内部flow-table和一个标准接口用于add/remove flow entry.目标就是鼓励网络设备商将OpenFlow特性加到他们的交换机产品中,以用于校园主干网络部署。我们认为OpenFlow是一个使用的折中方法:一方面,允许研究人员在各种不同交换机上用统一的方法,实现高密度线速网络实验;另一方面,交换机设备商也不需要将交换机的内部实现暴露给用户。另外,由于允许研究人员在现实网路中测试他们的想法,OpenFlow 是一种推荐大规模网络测试方法。
Networks have become part of the critical infrastructure of our businesses, homes and schools. This success has been both a blessing and a curse for networking researchers; their work is more relevant, but their chance of making an impact is more remote. The reduction in real-world impact of any given network innovation is because the enormous installed base of equipment and protocols, and the reluctance to experiment with production traffic, which have created an exceedingly high barrier to entry for new ideas.
现有的网络由于要安装不同的协议、设备,导致新技术大规模网络测试变得非常复杂,减少实验网络规模又会影响网络创新的实现。
Commercial switches and routers do not typically provide an open software platform, let alone provide a means to virtualize either their hardware or software
现在的商业化交换机和路由器都没有提供一个开发的软件平台,更不用说去做硬件或者软件的虚拟化。
Further,network equipment vendors are understandably nervous about opening up interfaces inside their boxes: theyhave spent years deploying and tuning fragile distributed protocols and algorithms, and they fear that new experiments will bring networks crashing down. And, of course,open platforms lower the barrier-to-entry for new competitors.A fe
网络设备商对开放内部API非常谨慎,他们花了多年部署、调试协议和算法,担心新的实验将会导致网络瘫痪,当然,开发底层的平台API将会引入更多新的竞争对手。
- 按照OpenFlow标准,一张流表可以使用任意的字段组合(比如MacDa,MacSa,EtherType,Vlan,Cos,CFI,Protocol,Ipda,Ipsa,L4 Dest Port,L4 Source Port,Dscp等)去做查表,在当前的商业芯片设计中,这意味着必须使用TCAM表来做,因为只有TCAM才支持掩掉任何想掩掉的查找字段。但是TCAM是一种昂贵的资源,具体表现在占用芯片面积大(一条TCAM表项相当于五六条DRAM表项)和功耗大,而占用芯片面积大直接导致芯片成本高以及整机电路板设计成本高,功耗大导致整机散热成本和能耗成本上升。如果按照很多客户的要求,动辄要几十KB甚至上百KB的流表要求,至少需要20Mbit的TCAM,远远超过目前市场上容量最大的交换芯片的TCAM大小。【目前数据中心交换机也就265M的TCAM】
1. 组织:NOXRepo
控制器:NOX & POX。
NOXRepo 称,NOX是一款原始的OpenFlow控制器,它有利于在Linux上进行快速的C 控制器的开发。POX支持Windows,Mac OS和Linux系统的Python开