美文网首页
使用ovs模拟二层mac网段转发

使用ovs模拟二层mac网段转发

作者: 苏苏林 | 来源:发表于2020-05-28 21:40 被阅读0次

        openflow流表的mac地址match项支持对mac地址做掩码,如同ip地址的掩码一般,就想着既然ip路由可以只使用一条路由表转发到网段内所有主机的报文,那么利用这个特性,二层也可以做到相同的效果,正好工作中也在用ovs做骨干测的转发,同时也存在流表的性能问题,就想着使用这种方法优化一下。

       工作业务上的细节不便描述,这里只简单描述一下思路,总体思路就是模仿ip网段和ip三层路由,将同一ovs设备背后的设备的mac地址配置为同一mac地址网段内且全网唯一的地址,从而利用ovs流表mac地址match项支持对mac地址做掩码,将到达同一目的ovs设备背后设备的转发流表聚合为一条基于mac网段的流表,达到大幅缩小流表条目的目的。

    如上图所示,两台ovs 可能是物理位置不同的两台虚拟 或物理设备,其中ovs1背后连接着mac网段为 00:00:01:00:00:00/ff:ff:ff:00:00:00 的一群虚拟或物理转发设备,ovs2后面连接着mac网段为 00:00:02:00:00:00/ff:ff:ff:00:00:00 和00:00:03:00:00:00/ff:ff:ff:00:00:00  的一群虚拟或物理转发设备。

        这样ovs1 上到ovs2的流表只需要配置两条(ovs之间走的overlay的vxlan):

dl_dst=00:00:02:00:00:00/ff:ff:ff:00:00:00,actions=output:"vxlan-1"

dl_dst=00:00:03:00:00:00/ff:ff:ff:00:00:00,actions=output:"vxlan-1"

        这样ovs2 上到ovs1的流表只需要配置一条:

dl_dst=00:00:01:00:00:00/ff:ff:ff:00:00:00,actions=output:"vxlan-1"

         ovs1 和 ovs2 上去往本端具体三层设备的流表下发精确的主机mac流表:

dl_dst=00:00:01:00:00:01,actions=output:"veth1"

dl_dst=00:00:01:00:00:02,actions=output:"veth2"

dl_dst=00:00:01:00:00:03,actions=output:"veth3"

        这样,将来随着系统规模的扩大,每台ovs设备的流表条目数是可控的,首先一台ovs设备受限于自己的转发性能,所连接的三层虚拟或物理设备是有限的,所以到本端的流表是有限的。而到达对端的流表,也只会随着ovs设备的增长而线性的增长,总体是可控的。

        这个思路的前提是:

        1. 三层设备是系统管控的,非用户私有设备,便于三层口mac地址和arp表项的统一管理。

        2. 二层转发设备要支持基于mac网段的转发,除了ofs(如ovs),还可以是一些自研的白牌盒子。

        虚拟机或者容器组网如果使用ovs是比较容易使用这种方式的。

相关文章

  • 使用ovs模拟二层mac网段转发

    偶然发现openflow流表的mac地址match项支持对mac地址做掩码,如同ip地址的掩码一般,就想着...

  • 三层转发基础

    三层转发是发生在osi模型中的ip层,与二层转发的区别在于1.数据转发依靠的关键字不同,二层转发主要依靠MAC地址...

  • [docker 网络] ovs-docker 使用及原理

    1. 当前环境 安装ovs可以参考 在 Centos 上安装 ovs 2. 用ovs模拟docker 添加一个ov...

  • OSPF(开放式最短路径优先协议)

    网络重点:数据转发 交换机:转发相同网段数据路由器:转发不同网段数据 转发带有目的地数据,利用地图(路由表)192...

  • ovs/dpdk

    vm 使用 ovs/dpdk vhost-user ports Follow Kube-OVN with OVS-...

  • LAN交换机自学习算法

    LAN交换机自学习算法 提示 第二层交完全忽略帧的数据部分协议,仅根据第二层以太网的MAC地址做出转发决策。 MA...

  • mac 下端口转发

    Mac下的端口转发 最近开始使用Mac来作为开发机了,还是有很多不习惯,比如端口转发这件小事,windows上可以...

  • Emulator: qemu: available lcd de

    在使用Mac Android Studio添加安卓模拟器后,启动模拟器如下报错 Emulator: qemu: a...

  • 网络设备

    只有核心层和接入层的二层网络结构形式运转简洁,交换机根据MAC地址表进行数据包的转发。 有则转发,无则泛洪,行将数...

  • 跨网段使用SMB共享服务

    环境说明 网段1:192.168.0.0/24 网段2:192.168.1.0/24 两个网段之间可以使用IP地址...

网友评论

      本文标题:使用ovs模拟二层mac网段转发

      本文链接:https://www.haomeiwen.com/subject/vvksohtx.html