欢迎来到天天文库
浏览记录
ID:20454880
大小:964.50 KB
页数:11页
时间:2018-10-09
《基于 openflow 实现网络虚拟化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、www.sdnlab.com基于OpenFlow实现网络虚拟化虚拟化技术一直是云计算发展的重要推动因素。作为云计算的基础构架,桌面、存储和服务器的虚拟化都已经发展的如火如荼,而OpenFlow和SDN(SoftwareDefinedNetwork)的提出,使得同为基础架构的网络交换设备支持网络虚拟化多租户架构,将物理网络和逻辑网络有效分离,满足了云计算的服务特性,同时提升了网络资源的利用率。什么是OpenFlowOpenFlow是SoftwareDefindedNetwork的一种,由斯坦福大学的NickMcKeown教授在2008年4月AC
2、MCommunicationsReview上发表的一篇论文OpenFlow:enablinginnovationincampusnetworks转载文章请注明,转载自:SDN技术社区
3、SDN/Openflow社区
4、专注软件定义网络www.sdnlab.com里首先提出来的。它最初的出发点是用于网络研究人员实验其创新网络架构、协议,考虑到实际的网络创新思想需要在实际网络上才能更好地验证,而研究人员又无法修改在网的网络设备,故而提出了OpenFlow的控制转发分离架构,将控制逻辑从网络设备盒子中引出来,研究者可以通过一组定义明确的接口对网络设备进
5、行任意的编程从而实现新型的网络协议、拓扑架构而无需改动网络设备本身。图1.基于OpenFlow的网络交换设备网络交换设备,无论是交换机还是路由器,其核心信息都保存在FlowTable里面,这些FlowTable被用来实现诸如转发、防火墙、Qos、统计分析等各种功能。不同生产厂家的FlowTable有着不同的格式,OpenFlow定义了一套对这些FlowTable进行操作的可扩展的通用标准。如图1所示,一个OpenFlow的交换设备至少由下面三个部分组成:§FlowTable:FlowTable里面的每个条目都会与一个动作相关联,来告诉网络交换
6、设备来如何处理与这个条目相关联的dataFlow;转载文章请注明,转载自:SDN技术社区
7、SDN/Openflow社区
8、专注软件定义网络www.sdnlab.com§SecureChannel:用于连接网络交换设备和远程网络控制器,在控制器和网络交换设备之间互相发送命令和数据包;§OpenFlowProtocol:提供一个开放标准统一的接口,使得控制器和网络交换设备之间可以相互通信。这样通过OpenFlow协议,网络交换设备以外的控制器就可以对网络交换设备的FlowTable进行编程和管理。FlowTable对远程访问控制的支持,将FlowT
9、able的配置与管理从网络交换设备本身中剥离出来,也使得对整个网络中FlowTable进行集中控制与管理成为可能,从而将物理网络和逻辑网络的定义有效分离,如图2所示。而出于性能角度考虑和为了解决单点失效问题,OpenFlow协议还允许多个控制器同时对同一个OpenFlow交换设备进行配置与管理。图2.对整个网络的FlowTable进行集中控制转载文章请注明,转载自:SDN技术社区
10、SDN/Openflow社区
11、专注软件定义网络www.sdnlab.com多个控制器通过修改FlowTable定义不同的规则,对于不同的Flow采取不同的操作,将物
12、理网络有效地分割成互相独立的逻辑网络,从而实现网络的虚拟化。如图3所示,在同一个物理网络中,ControllerA定义FlowTable1用于租户A的网络应用,ControllerB定义FlowTable2用于租户B的网络应用,ControllerC定义FlowTable3用于租户C的网络应用,而红线所标明的部分代表交换设备对网络流量现有的正常处理。图3.物理网络被分割成不同的逻辑网络FlowTable和Pipeline匹配过程FlowTable转载文章请注明,转载自:SDN技术社区
13、SDN/Openflow社区
14、专注软件定义网络www.sd
15、nlab.com要弄清楚什么是FlowTable,得先明白什么是Flow,某种特定的网络流量都可以认为是一个Flow,譬如从某个特定的Mac地址或IP地址发出的TCP连接可以认为是一个Flow,譬如所有的UDP数据包,或者像Tunnels、VLANs都可以认为是一个Flow。通过将网络流量根据FlowTable划分为不同的数据流,这些数据流能被归于不同的组且相互隔离,从而能够分别按照需要来处理和控制。FlowTable中的每个条目由匹配字段、计数器和指令集组成(表1):●匹配字段:报文匹配的输入关键字;●计数器:用于对匹配报文的流量统计;●指
16、令:当有报文匹配时,指令会修改匹配报文的Action集合,或者修改Pipeline的处理流程,来决定报文如何转发;Pipeline匹配过程OpenFlowPipel
此文档下载收益归作者所有