博客
关于我
Neutron系列 : Neutron OVS OpenFlow 流表 和 L2 Population(7)
阅读量:792 次
发布时间:2023-02-15

本文共 1668 字,大约阅读时间需要 5 分钟。

OVS桥与Neutron流表机制深入解析

1. OVS桥模式概述

在Open vSwitch(OVS)中,桥(Bridge)主要有两种工作模式:“normal”模式和**“flow”模式**。

  • “normal”模式:与传统的Linux桥类似,通过简单的流表处理数据包转发。
  • “flow”模式:基于流表(Flow Tables)进行复杂的数据包处理,支持更多的网络功能如ARP代理、路由等。

Neutron中使用两种OVS桥:br-intbr-tun。br-int为“normal”模式桥,而br-tun为“flow”模式桥,后者功能更复杂。

2. Neutron中的流表机制

在Neutron中,OVS的流表负责处理网络流量。以下是流表的主要组成部分及分析:

2.1 流表配置示例

以下是Neutron配置中常见的流表类型:

  • DVR_PROCESS:处理从br-int到br-tun的单播流量,用于DVR(直接路由)。
  • PATCH_LV_TO_TUN:将本地虚拟机的流量转发至br-tun。
  • GRE_TUN_TO_LV:从br-tun转发至本地虚拟机,处理GRE隧道流量。
  • VXLAN_TUN_TO_LV:从VXLAN隧道转发至本地虚拟机。
  • ARP_RESPONDER:负责ARP代理,用于处理虚拟网络中ARP请求。
  • FLOOD_TO_TUN:将网络流量从br-tun广播至所有端口。

2.2 流表详细分析

流表的核心作用是定义网络流量的处理规则。以下是流表的关键组成部分:

  • 表号(table):流表的编号,用于区分不同的流表类型。
  • 优先级(priority):流表规则的优先级,高优先级规则优先处理。
  • 输入端口(in_port):数据包通过哪个端口进入流表。
  • 动作(actions):定义数据包的处理方式,如重定向、修改MAC地址、设置隧道ID等。

2.3 MAC地址学习机制

流表中MAC地址学习规则如下:

  • 表号:20
  • 硬超时:300秒
  • vlan标签:1
  • 目的MAC地址:根据规则动态获取
  • 动作:去除vlan标签,设置隧道ID,输出指定端口

通过MAC地址学习机制,Neutron可以优化网络流量,但这种机制仅支持单播流量,组播和广播流量仍需额外处理。

3. ARP代理与DVR技术

3.1 ARP代理作用

ARP代理(ARP Responder)通过路由器代理ARP请求,实现网络的透明化。以下是ARP代理的工作原理:

  • 主机A发送ARP查询,路由器R代替主机B返回ARP响应。
  • 未配置默认网关的主机可以透明地访问其他子网。
  • 优点:无需修改主机路由表,网络拓扑变化不影响主机。
  • 缺点:增加了ARP流量,占用更大的ARP表空间,存在ARP欺骗风险。

3.2 DVR(Direct Virtualization Routing)

DVR技术在虚拟化环境中实现路由功能,避免了传统路由器的依赖。以下是DVR的工作流程:

  • 主机A发送数据包至br-tun。
  • DVR(如OVS)根据流表规则识别数据包的目标网络。
  • 数据包通过GRE隧道转发至对应的虚拟机。
  • 数据包从虚拟机返回时,同样通过DVR处理至目标虚拟机。
  • 3.3 DVR与ARP代理结合使用

    在没有ARP响应或DVR启用的网络中,主机仍需配置默认网关才能访问外网。相比之下,使用ARP代理和DVR结合,可以实现更灵活的网络管理。

    4. 流表与网络性能

    4.1 选择隧道类型

    在实际应用中,OVS可能同时支持GRE和VXLAN隧道。当同时存在这两种隧道时,OVS会优先选择GRE隧道。此原因可能与性能优化有关。

    4.2 MAC地址学习的局限性

    尽管MAC地址学习机制可以优化网络流量,但其效率仍有限。该机制仅支持单播流量,而组播和广播流量仍需额外处理,导致网络成本较高。

    5. 总结

    OVS桥的流表机制是Neutron网络功能的核心。通过合理配置流表,可以实现高效的网络流量处理和优化。在实际应用中,需根据具体需求选择隧道类型,并权衡ARP代理与DVR的使用场景,以实现高性能的网络环境。

    转载地址:http://zxcfk.baihongyu.com/

    你可能感兴趣的文章
    netfilter应用场景
    查看>>
    Netflix:当你按下“播放”的时候发生了什么?
    查看>>
    Netflix推荐系统:从评分预测到消费者法则
    查看>>
    netframework 4.0内置处理JSON对象
    查看>>
    Netgear WN604 downloadFile.php 信息泄露漏洞复现(CVE-2024-6646)
    查看>>
    Netgear wndr3700v2 路由器刷OpenWrt打造全能服务器(十一)备份
    查看>>
    netlink2.6.32内核实现源码
    查看>>
    netmiko 自动判断设备类型python_Python netmiko模块的使用
    查看>>
    NetMizer 日志管理系统 多处前台RCE漏洞复现
    查看>>
    NetMizer-日志管理系统 dologin.php SQL注入漏洞复现(XVE-2024-37672)
    查看>>
    Netpas:不一样的SD-WAN+ 保障网络通讯品质
    查看>>
    netron工具简单使用
    查看>>
    NetScaler MPX Gateway Configuration
    查看>>
    NetScaler的常用配置
    查看>>
    netsh advfirewall
    查看>>
    NETSH WINSOCK RESET这条命令的含义和作用?
    查看>>
    netstat kill
    查看>>
    netstat命令用法详解
    查看>>
    Netstat端口占用情况
    查看>>
    Netty 4的内存管理:sun.misc.Unsafe
    查看>>