加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Bonding的七种模式

(2023-09-05 16:26:53)
标签:

网络

bonding

分类: IT基础知识
Bonding 的七种模式

如果经常用 linux 服务器的朋友来说,bond 模式不会陌生,做 Linux 服务器时,受到单网卡速率限制,如100M或者 1000M,要求扩容时,考虑成本或者物理接口原因,会使用 bond 来做负载均衡,这个操作和交换机的链路聚合一个道理。
在 linux 下,bond 一共有 7 种模式,由于 RouterOS 采用 linux 内核,也同样是这七种
目录
1 balance-rr(Round-robin policy)
2 active-backup
3 balance-xor
4 broadcast
5 802.3ad(IEEE 802.3ad 动态链接聚合)
6 balance-tlb(Adaptive transmit load balancing)
7 balance-alb( Adaptive load balancing)
balance-rr(Round-robin policy)
对应 linux 的 mod=0,采用轮询负载均衡的方式,即:第一个包走 ether0,第二个就走 ether1,依次轮询发送,直到最后一个发送完毕,该模式提供负载均衡和容错能力,并且要求交换机配置的支持。该模式也是 Linux服务器最常用的一种方式。

active-backup
对应 linux 的 mod=1,只有一个网卡处于活动状态,另一个处于备份,当一个故障或意外中断,另一个马上由备份转换为主。mac 地址是外部可见得,从外面看来,bond 的 MAC 地址是唯一的,以避免 switch(交换机)发生混乱。此模式只提供了容错能力;但该模式利用率低,并极少被用到。

balance-xor
对应 liunx 的 mod=2,采用指定的 HASH 算法传输数据报,实现对流量的负载均衡。和 balance-rr 一样,交换机端口需要能配置端口聚合。这模式是通过源和目标 mac 做 hash 因子来做 xor 算法来选路的,当所有流量是通过单个路由器(比如 “网关”型网络配置,只有一个网关时,源和目标 mac 都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了)

broadcast
对应 linux 的 mod=3,该模式的特点是一个数据会复制两份往 bond 下的两个或多个接口分别发送出去,当有对端交换机一个接口失效,我们感觉不到任何延迟,但由于将数据复制到两个接口上发送,过于浪费网络接口资源,但该模式有极好的容错机制,因此该模式适用于金融或对数据传输要求极高的行业,因为他们需要高可靠性的网络,不允许出现任何问题。

802.3ad(IEEE 802.3ad 动态链接聚合)
对应 linux 的 mod=4,802.3ad 模式是 IEEE 标准,802.3ad 协议包括聚合的自动配置,要求交换机支持802.3ad,才能使用。802.3ad 标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。802.3ad 也有些缺点:标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr 模式外的其它 bonding 负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。此外,linuxbonding 的 802.3ad 实现通过对端来分发流量(通过 MAC 地址的 XOR 值),因此在“网关”型配置下,所有外出(Outgoing)流量将使用同一个设备。进入(Incoming)的流量也可能在同一个设备上终止,这依赖于对端802.3ad 实现里的均衡策略。因此要求每个 slave 使用相同速率和双工模式,交换机支持 IEEE 802.3ad(Dynamic link aggregation)

RouterOS 的 802.3ad 配置:
/inteface bonding add slaves=ether1,ether2 mode=802.3ad lacp-rate=30secs link-monitoring=mii-type1 transmit-hash-policy=layer-2-and-3

balance-tlb(Adaptive transmit load balancing)
对应 linux 的 mod=5,该模式不需要交换机对 bonding 的配置支持。在每个 slave 上根据当前的负载(根据速度计算)分配外出流量。 不像 802.3ad,该模式的接口可以有不同的速率,而且不需要特别的交换机配置。不利的一面在于,该模式下所有进入的(incoming)流量会到达同一个接口,而且 ARP 监控不可用。

balance-alb( Adaptive load balancing)
对应 linux 的 mod=6,该模式包含了 balance-tlb 模式,同时加入针对 IPV4 流量的接收负载均衡(receive loadbalance, rlb),而且不需要任何交换机的支持。接收负载均衡是通过 ARP 协商实现的。Bonding 驱动器截获本机发送的 ARP 应答,并把源硬件地址改写为 bond 中某个 slave 的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。该模式也是 Linux 服务器最常用的,在不依赖于交换机配置的情况下,交换机只需要将对应的接口配置在相同 VLAN 或广播域,即可完成数据的负载均衡。


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有