关于OpenvSwitch避免二层环路问题的研究.docVIP

关于OpenvSwitch避免二层环路问题的研究.doc

  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文档。上传文档
查看更多
关于OpenvSwitch避免二层环路问题的研究.doc

关于OpenvSwitch避免二层环路问题的研究 摘 要:当今,随着网络规模的扩大和网络复杂性的增大,虚拟网络的应用越来越广泛,虚拟网络的平台也越来越多的进入各个数据中心或实验网络环境中。OpenvSwitch是一个由Nicira Networks发起的开源项目,通过运行在虚拟化平台上的虚拟交换机,为物理主机/服务器上的VM提供虚拟网络服务功能。网络管理员通过OpenvSwitch可以构建虚拟网,但虚拟网络可能会产生二层环路的问题,OpenvSwitch原有的避免二层环路的方式会在网络中产生多余的流量,本文分析了虚拟网络中二层环路的产生原因,提出了改进的避免二层环路的方式,解决了网络中多余流量的问题。 关键词:计算机网络 虚拟网络 OpenvSwitch 二层环路 中图分类号 : TP393 文献标识码:A 文章编号:1672-3791(2014)01(A)-0000-00 Open vSwitch基于开源Apache2.0许可下的多层虚拟交换平台,旨在通过可编程扩展,实现大规模网络的自动化(配置、管理、维护)。OpenvSwitch通过运行在虚拟化平台上,为物理主机/服务器上的VM提供二层网络接入和多层网络交换功能。虚拟交换机与云中的其它物理交换机一样工作。Open vSwitch充分考虑了在不同虚拟化平台间的移植性,采用平台无关的C语言开发。它支持现有标准管理接口和协议(如netFlow、sFlow、SPAN、RSPAN、CLI、LACP、802.1ag等),熟悉物理网络维护的管理员可以毫不费力地通过Open vSwitch进行虚拟网络管理[1]。 正因为OpenvSwitch具有如此多的优势,它在实际的应用中越来越广泛。当应用OpenvSwitch构建虚拟网络时,可能会在虚拟网络之间出现二层环路问题,OpenvSwitch默认的方式采用STP生成树协议来避免,但是这种方式会产生流量冗余的问题。本文分析了OpenvSwitch产生二层环路的原因,指出了OpenvSwitch采用STP生成树协议避免二层环路时所产生的问题,提出了改进OpenvSwitch避免二层环路的方式,解决了流量冗余的问题。 1 OpenvSwitch产生的二层环路 1.1 OpenvSwitch端口类型 OpenvSwitch中定了几种类型的端口,这些端口的类型和作用如下: 1)netdev_port:真实的网络设备,提供对外数据通信的功能; 2)inter_dev:由OpenvSwitch实现的内部网络设备,在OVS内部进行数据交换; 3)tunnel_port:由OpenvSwitch实现的用于封装数据包的端口,进行vxlan/gre封装。 1.2 二层环路产生的原因 本文利用OpenvSwitch构建虚拟网络是通过VXLAN格式封装实现的。网络虚拟边缘节点(Network Virtual Edge,NVE)上运行虚拟机(VM),不同的VM之间的通信采用VXLAN隧道封装的格式,VXLAN的封装与解封装都是由NVE完成。当VM首次通信时,会发出ARP广播帧,ARP广播帧会在不同的NVE之间相互传递。 组建由三台NVE构成的网络,NVE1、NVE2和NVE3分别位于不同的网络段,但它们上面的VM属于同一个VN网络。假设NVE1中的虚拟机VM1要与VNE2中的虚拟机VM4通信。 NVE1发送由VXLAN封装的原始ARP帧,当到达目的NVE(如NVE3)后,首先由netdev_port接收,然后送给inter_dev处理,随后到达tunnel_port进行解封装。Tunnel_port解封装后,将原始的ARP广播帧在各个端口进行广播,因而tunnel_port会再次对其进行VXLAN封装,目的NVE为除去发送此帧的NVE2。 经过以上过程的重复,由VXLAN封装的ARP请求帧构成了二层环路。 端口的不适当封装是产生二层环路的原因。NVE接收到的VXLAN封装ARP广播帧再次封装后发送给其他的NVE,因而这些操作会导致网络产生由VXLAN封装的ARP广播风暴。 2 OpenvSwitch默认消除环路的方式 Openvswitch默认提供消除环路的方法是采用STP生成树协议,通过创建生成树来避免二层环路,然而这可能在网络中产生多余的流量。 STP的原理是通过在交换机之间传递报文网桥协议数据单元(BPDU)来确定网络的拓扑结构。 STP将网络拓扑看成是一个树,树的根是称为根桥的桥设备,根桥的确立是由交换机或网桥的BID(Bridge ID)确定的。经过报文交换后,STP选举出根桥,根桥不会对收到数据包进行转发,因而可以消除二层环路。 在上述情形中,无论选举出来的根网桥是哪个NVE,都会产生冗余的数据包。尽管消除了二层环路,但是网络中产生了多余的流量。 3 改进

文档评论(0)

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

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

1亿VIP精品文档

相关文档