基于 OpenFlow 实现网络虚拟化.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于OpenFlow实现网络虚拟化基于OpenFlow实现网络虚拟化

基于 OpenFlow 实现网络虚拟化 虚拟化技术一直是云计算发展的重要推动因素。作为云计算的基础构架,桌面、存储和服务器的虚拟化都已经发展的如火如荼,而 OpenFlow 和 SDN(Software Defined Network)的提出,使得同为基础架构的网络交换设备支持网络虚拟化多租户架构,将物理网络和逻辑网络有效分离,满足了云计算的服务特性,同时提升了网络资源的利用率 。 什么是 OpenFlow OpenFlow 是Software Definded Network 的一种,由斯坦福大学的 Nick McKeown 教授在 2008 年 4 月 ACM Communications Review 上发表的一篇论文 OpenFlow: enabling innovation in campus networks 里首先提出来的。它最初的出发点是用于网络研究人员实验其创新网络架构、协议,考虑到实际的网络创新思想需要在实际网络上才能更好地验证,而研究人员又无法修改在网的网络设备,故而提出了 OpenFlow 的控制转发分离架构,将控制逻辑从网络设备盒子中引出来,研究者可以通过一组定义明确的接口对网络设备进行任意的编程从而实现新型的网络协议、拓扑架构而无需改动网络设备本身。 图 1. 基于 OpenFlow 的网络交换设备 网络交换设备,无论是交换机还是路由器,其核心信息都保存在 Flow Table 里面,这些 Flow Table 被用来实现诸如转发、防火墙、Qos、统计分析等各种功能。不同生产厂家的 Flow Table 有着不同的格式,OpenFlow 定义了一套对这些 Flow Table 进行操作的可扩展的通用标准。如图 1 所示,一个 OpenFlow 的交换设备至少由下面三个部分组成: Flow Table:Flow Table 里面的每个条目都会与一个动作相关联,来告诉网络交换设备来如何处理与这个条目相关联的 data Flow; Secure Channel:用于连接网络交换设备和远程网络控制器,在控制器和网络交换设备之间互相发送命令和数据包; OpenFlow Protocol:提供一个开放标准统一的接口,使得控制器和网络交换设备之间可以相互通信。 这样通过 OpenFlow 协议,网络交换设备以外的控制器就可以对网络交换设备的 Flow Table 进行编程和管理。Flow Table 对远程访问控制的支持,将 Flow Table 的配置与管理从网络交换设备本身中剥离出来,也使得对整个网络中 Flow Table 进行集中控制与管理成为可能,从而将物理网络和逻辑网络的定义有效分离,如图 2 所示。而出于性能角度考虑和为了解决单点失效问题,OpenFlow 协议还允许多个控制器同时对同一个 OpenFlow 交换设备进行配置与管理。 图 2. 对整个网络的 Flow Table 进行集中控制 多个控制器通过修改 Flow Table 定义不同的规则,对于不同的 Flow 采取不同的操作,将物理网络有效地分割成互相独立的逻辑网络,从而实现网络的虚拟化。如图 3 所示,在同一个物理网络中, Controller A 定义 Flow Table1 用于租户 A 的网络应用,Controller B 定义 Flow Table2 用于租户 B 的网络应用,Controller C 定义 Flow Table3 用于租户 C 的网络应用 , 而红线所标明的部分代表交换设备对网络流量现有的正常处理。 图 3. 物理网络被分割成不同的逻辑网络 Flow Table 和 Pipeline 匹配过程 Flow Table 要弄清楚什么是 Flow Table, 得先明白什么是 Flow, 某种特定的网络流量都可以认为是一个 Flow, 譬如从某个特定的 Mac 地址或 IP 地址发出的 TCP 连接可以认为是一个 Flow, 譬如所有的 UDP 数据包,或者像 Tunnels、VLANs 都可以认为是一个 Flow。通过将网络流量根据 Flow Table 划分为不同的数据流,这些数据流能被归于不同的组且相互隔离,从而能够分别按照需要 来处理和控制 Pipeline 匹配过程 OpenFlow Pipeline 定义了报文的匹配过程。每个 Pipeline 都包含 1 个或多个 Flow Table,匹配从 Pipeline 中的第一个 Flow Table 开始,然后按照 Pipeline 中 Flow Table 的序列依次进行,如图 4 所示。如果一个报文在当前 Flow Table 中找到匹配的条目,那么这个条目对应的指令集将会被执行。指令集会修改匹配报文的 Act

文档评论(0)

cxiongxchunj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档