基于OpenFlow实现网络虚拟化虚拟化技术一直是云计算发展的重要推动因素。作为云计算的基础构架,桌面、存储和服务器的虚拟化都已经发展的如火如荼,而OpenFlow和SDN(work)的提出,使得同为基础架构的网络交换设备支持网络虚拟化多租户架构,将物理网络和逻辑网络有效分离,满足了云计算的服务特性,同时提升了网络资源的利用率。work的一种,municationsReview上发表的一篇论文OpenFlow:works里首先提出来的。它最初的出发点是用于网络研究人员实验其创新网络架构、协议,考虑到实际的网络创新思想需要在实际网络上才能更好地验证,而研究人员又无法修改在网的网络设备,故而提出了OpenFlow的控制转发分离架构,将控制逻辑从网络设备盒子中引出来,研究者可以通过一组定义明确的接口对网络设备进行任意的编程从而实现新型的网络协议、拓扑架构而无需改动网络设备本身。,无论是交换机还是路由器,其核心信息都保存在FlowTable里面,这些FlowTable被用来实现诸如转发、防火墙、Qos、统计分析等各种功能。不同生产厂家的FlowTable有着不同的格式,OpenFlow定义了一套对这些FlowTable进行操作的可扩展的通用标准。如图1所示,一个OpenFlow的交换设备至少由下面三个部分组成:?FlowTable:FlowTable里面的每个条目都会与一个动作相关联,来告诉网络交换设备来如何处理与这个条目相关联的dataFlow;?SecureChannel:用于连接网络交换设备和远程网络控制器,在控制器和网络交换设备之间互相发送命令和数据包;?OpenFlowProtocol:提供一个开放标准统一的接口,使得控制器和网络交换设备之间可以相互通信。这样通过OpenFlow协议,网络交换设备以外的控制器就可以对网络交换设备的FlowTable进行编程和管理。FlowTable对远程访问控制的支持,将FlowTable的配置与管理从网络交换设备本身中剥离出来,也使得对整个网络中FlowTable进行集中控制与管理成为可能,从而将物理网络和逻辑网络的定义有效分离,如图2所示。而出于性能角度考虑和为了解决单点失效问题,OpenFlow协议还允许多个控制器同时对同一个OpenFlow交换设备进行配置与管理。,对于不同的Flow采取不同的操作,将物理网络有效地分割成互相独立的逻辑网络,从而实现网络的虚拟化。如图3所示,在同一个物理网络中,ControllerA定义FlowTable1用于租户A的网络应用,ControllerB定义FlowTable2用于租户B的网络应用,ControllerC定义FlowTable3用于租户C的网络应用,而红线所标明的部分代表交换设备对网络流量现有的正常处理。,得先明白什么是Flow,某种特定的网络流量都可以认为是一个Flow,譬如从某个特定的Mac地址或IP地址发出的TCP连接可以认为是一个Flow,譬如所有的UDP数据包,或者像Tunnel
基于+openflow+实现网络虚拟化 来自淘豆网www.taodocs.com转载请标明出处.