注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

itoedr的it学苑

记录从IT文盲学到专家的历程

 
 
 

日志

 
 

OVS(openvswitch)交换机工作原理  

2014-09-06 23:07:02|  分类: newswitch |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

           OVS(openvswitch)是软件实现的虚拟交换机,当前可以和KVM、Xen等多种虚拟化平台相整合,为虚拟机提供灵活的网络互连能力。虽然是虚拟交换机,但是其工作原理与物理交换机类似。在虚拟交换机的实现中,其两端分别连接着物理网卡和多块虚拟网卡,同时虚拟交换机内部会维护一张映射表,根据MAC地址寻找对应的虚拟机链路进而完成数据转发。其工作原理如图1所示。
     
OVS(openvswitch)交换机工作原理 - itoedr - itoedr的it学苑
 
    图1  虚拟交换机工作原理

             如图1所示,当数据包从虚拟机发出后,首先将通过虚拟机上配置的虚拟网卡。虚拟网卡会根据一些既定的规则决定如何处理数据包,例如放行、阻隔或者修改。数据包在被网卡放行后将转发至虚拟交换机,与其他虚拟交换机不同的是,提供了OpenFlow支持能力的OVS将根据自身保存的流表对数据包进行匹配,如果匹配成功则按照相应的指令进行数据包操作,如果匹配未成功则将数据包发给控制器等待相关流表的指定和下发。当数据包需要通过物理网卡转发时,它将会被发送到与虚拟交换机相连的物理网卡上,进而被转发给外部网络设备。

    从上述分析可知,支持OpenFlow的OVS核心架构主要包括OpenFlow协议支持和数据转发通路等两个部分,如图2所示。
     
OVS(openvswitch)交换机工作原理 - itoedr - itoedr的it学苑
 
    图2  OVS核心架构

    如图2所示,OVS的数据转发通路(datapath)主要用于执行数据交换工作,即负责从设备入端口接收数据包并依据流表信息对其进行管理,例如将其转发至出端口、丢弃或者进行数据包修改。而OVS的OpenFlow协议支持则用于实现交换策略,即通过增加、删除、修改流表项的方式告诉数据转发通路针对不同的数据流采用不同的动作。
     另外,OVS提供了两种数据转发通路:一种是完全工作在用户态的慢速通道,另一种则是利用了专门的Linux内核模块的快速通道。

     附:
linux用户环境下与openvswitch环境下建立gre遂道的不同    linux下bash命令:
     (root)# ip tunnel add mytunnel mode gre remote 114.114.114.114 local 192.168.240.103
                 #直接为linux系统环境生成一个虚拟遂道接口mytunnel(实际由mode gre调度系统核心资源)
    openvswitch下:
    (root)# ovs-vsctl add-port ovsbr0 gre0 -- set Interface gre0  type=gre options:remote_ip=192.168.88.2
                #只能是为ovs交换机(桥)增加建立一个遂道类型接口gre0(由type=gre激活ovs的gre支持资源)

OVS(openvswitch)交换机工作原理 - itoedr - itoedr的it学苑
  评论这张
 
阅读(541)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017