zoukankan      html  css  js  c++  java
  • openstack 中ovs-vlan 转换

    我们生产中得openstack ,使用得网络时linux brige 与openvswitch 网络组合而成,我们走得数据网络使用得网络时ovs 网络

    openstack 中得网络neutron 创建得网络或者neutron 管理得网络我们一般称为: 租户网络   

    一般neutron 创建出来得network 如果不手动指定vlan得话,我们创建出来的网络会在租户网络池自己划分一个可用得vlan 段。

    我们在环境的中通过neutron 创建一个网络。创建完网络后我们可以在ovs 下的br-int 下回发现多出来一个port 口

    我们创建好的neutron 网络,都会在br-int 出去。那我们创建好的neutron 网络在br-int 的口是否可以进行同信的那?

    默认的话,我们br-int 下的port 口都会有tag 标记,这个tag 就是为了隔离我们在br-int 下的port 口的

    注意: Open vSwitch 中的 tag 是内部 VLAN,用于隔离网桥中的 port,与物理网络中的 VLAN 没有关系。

    Ovs 如何实现vlan隔离

    与 Linux Bridge 不同,Open vSwitch  并不通过 eth1.100, eth1.101 等 VLAN interface 来隔离不同的 VLAN

    Ovs 上所有创建好的网络都是挂载在br-int 下的

    Ovs 是通过流规则(flow rule)来指定如何对br-int 的数据流做转发,来实现vlan 的隔离

    当数据进出br-int ,flow rule 可以修改添加或者是剥离掉数据包的vlan tag, neutron 负责创建这些流规则(flow rule)并且把他们配置到br-int 上

    查看flow rule 命令: ovs-ctrl dump-flow  网桥名

    Priority    规则的优先级,值越大优先级越高。Ovs会按照优先级从高到低应用规则。

    in_port      inbound 端口编号,每个 port 在 ovs中会有一个内部的编号(查看prot编号root@cic-1:~# ovs-ofctl show br-int)

    dl_vlan      数据包的原始vlan id

    在我们的环境的网络br-int 到br-prv 数据流量进行了vlan 的转换如何

    Actions    对数据包的操作

    NORMAL  此规则的含义是:根据 vlan 和 mac 进行转发。

    eg:

    查看ovs  下得br-int 下得流规则

    ovs-ofctl dump-flows br-int

     cookie=0xa975ebb1a678388e, duration=242850.115s, table=0, n_packets=8285, n_bytes=535156, priority=3,in_port="int-br-prv",dl_vlan=3203 actions=mod_vlan_vid:1,NORMAL

    (当数据流带有vlan 3229 进入br-int 时会将vlan 3229 转换成tag 2 )

     cookie=0xa975ebb1a678388e, duration=242850.082s, table=0, n_packets=8079, n_bytes=517056, priority=3,in_port="int-br-prv",dl_vlan=3229 actions=mod_vlan_vid:2,NORMAL

     cookie=0xa975ebb1a678388e, duration=71524.138s, table=0, n_packets=2422, n_bytes=157504, priority=3,in_port="int-br-prv",dl_vlan=3234 actions=mod_vlan_vid:3,NORMAL

     cookie=0xa975ebb1a678388e, duration=242934.589s, table=0, n_packets=1279776, n_bytes=75885080, priority=2,in_port="int-br-prv" actions=drop

     cookie=0xa975ebb1a678388e, duration=242934.704s, table=0, n_packets=333, n_bytes=28322, priority=0 actions=NORMAL

     cookie=0xa975ebb1a678388e, duration=242934.697s, table=23, n_packets=0, n_bytes=0, priority=0 actions=drop

     cookie=0xa975ebb1a678388e, duration=242934.690s, table=24, n_packets=0, n_bytes=0, priority=0 actions=drop

     查看ovs 网络中br-prv 得流规则

    ovs-ofctl dump-flows br-prv

     cookie=0xa88ce574b188ab3e, duration=243865.883s, table=0, n_packets=229, n_bytes=18336, priority=4,in_port="phy-br-prv",dl_vlan=1 actions=mod_vlan_vid:3203,NORMAL

     cookie=0xa88ce574b188ab3e, duration=243865.849s, table=0, n_packets=31, n_bytes=1358, priority=4,in_port="phy-br-prv",dl_vlan=2 actions=mod_vlan_vid:3229,NORMAL

     cookie=0xa88ce574b188ab3e, duration=72539.905s, table=0, n_packets=59, n_bytes=7528, priority=4,in_port="phy-br-prv",dl_vlan=3 actions=mod_vlan_vid:3234,NORMAL

     cookie=0xa88ce574b188ab3e, duration=243950.344s, table=0, n_packets=14, n_bytes=1100, priority=2,in_port="phy-br-prv" actions=drop

     cookie=0xa88ce574b188ab3e, duration=243950.394s, table=0, n_packets=1303905, n_bytes=77409686, priority=0 actions=NORMAL

    检查ovs 网桥  br-int 下得网络下的信息状态

    ovs-ofctl show br-int

    OFPT_FEATURES_REPLY (xid=0x2): dpid:000036e26a127340

    n_tables:254, n_buffers:0

    capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP

    actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst

     1(int-br-prv): addr:e2:dd:6e:09:a9:25

         config:     0

         state:      0

         speed: 0 Mbps now, 0 Mbps max

     4(tapab1bac7c-60): addr:00:00:00:00:00:00

         config:     PORT_DOWN

         state:      LINK_DOWN

         speed: 0 Mbps now, 0 Mbps max

     5(tap1ec33f32-c8): addr:00:00:00:00:00:00

         config:     PORT_DOWN

         state:      LINK_DOWN

         speed: 0 Mbps now, 0 Mbps max

     6(tape86c7b63-5f): addr:00:00:00:00:00:00

         config:     PORT_DOWN

         state:      LINK_DOWN

         speed: 0 Mbps now, 0 Mbps max

     LOCAL(br-int): addr:36:e2:6a:12:73:40

         config:     PORT_DOWN

         state:      LINK_DOWN

         speed: 0 Mbps now, 0 Mbps max

    OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0

    查看neutron 网络,我们网络创建出来随机划分3229 vlan 

    neutron net-show yb

    +---------------------------+--------------------------------------+

    | Field                     | Value                                |

    +---------------------------+--------------------------------------+

    | admin_state_up            | True                                 |

    | availability_zone_hints   |                                      |

    | availability_zones        | nova                                 |

    | created_at                | 2019-11-26T04:14:19                  |

    | description               |                                      |

    | id                        | 6bde373e-a26e-4eb2-9407-8964fd0eb041 |

    | ipv4_address_scope        |                                      |

    | ipv6_address_scope        |                                      |

    | mtu                       | 1500                                 |

    | name                      | yb                                   |

    | port_security_enabled     | True                                 |

    | provider:network_type     | vlan                                 |

    | provider:physical_network | default                              |

    | provider:segmentation_id  | 3229                                 |

    | qos_policy_id             |                                      |

    | router:external           | False                                |

    | shared                    | False                                |

    | status                    | ACTIVE                               |

    | subnets                   | 79540426-3d24-4aab-b649-30913a15da22 |

    | tags                      |                                      |

    | tenant_id                 | 04b8cf9ab1c647abb0d9721a3484d799     |

    | updated_at                | 2019-11-26T04:14:19                  |

    | vlan_transparent          | False                                |

    +---------------------------+--------------------------------------+

  • 相关阅读:
    音乐分类/生成杂记
    音视频编码笔记
    《The challenge of realistic music generation: modelling raw audio at scale》论文阅读笔记
    使用基于Caffe的MobileNet分类踩坑备忘录
    四大轻量化模型对比(转)
    WaveNet: 原始音频生成模型
    《SONG FROM PI: A MUSICALLY PLAUSIBLE NETWORK FOR POP MUSIC GENERATION》论文笔记
    上采样 及 Sub-pixel Convolution (子像素卷积)
    python之sys._getframe() 用于查看函数被什么函数调用以及被第几行调用及被调用函数所在文件
    11
  • 原文地址:https://www.cnblogs.com/yk0625/p/14027326.html
Copyright © 2011-2022 走看看