网口聚合模式介绍

链路聚合
什么是链路聚合?为什么要进行链路聚合?
Linux网卡bonding的7种模式
模式一:balance-rr 轮询均衡模式
模式二:active-backup 主备策略模式
模式三:balance-xor 平衡策略
模式四:broadcast 广播策略
模式五:802.3ad
模式六:balance-tlb 适配器传输负载均衡
模式七:balance-alb 适配器适应性负载均衡
Linux配置Bonding模式
交换机链路聚合(Link Aggregation,LA)
Link Aggregation
Link Aggregation Control Protocol (LACP)
静态
动态
Linux网卡bonding与交换机配置关系
Mellanox交换机配置链路聚合
在这里插入图片描述

模式一:balance-rr 轮询均衡模式
mode=0 ,(balance-rr) Round-robin policy 轮询均衡模式

所有链路处于负载均衡状态,轮循环方式(即依次传输:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕)往每条链路发送报文,基于per packet方式发送。服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式 ,进行轮询发送。

这模式的特点是提供负载平衡(增加了带宽),同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。

模式二:active-backup 主备策略模式
mode=1, (active-backup) Active-backup policy(主备策略模式)

只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;但是它的资源利用率较低,只有一个接口处于工作状态,资源利用率为1/n。
这种模式接入不需要交换机端支持,随便怎么接入都行。
模式三:balance-xor 平衡策略
mode=2,(balance-xor) XOR policy(根据hash的平衡策略)

该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器(比如 “网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。此模式提供负载平衡和容错能力。
基于指定的传输HASH策略传输数据包。默认hash算法是: [(source MAC address XOR’d with destination MAC address) modulo slave count]。(XOR:异或),算法可以更改。
模式四:broadcast 广播策略
mode=3,(broadcast)broadcast policy(广播策略)

这种模式的特点是在每个slave接口上传输每个数据包,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;但是这种模式有很好的容错机制,适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
模式五:802.3ad
mode=4,(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)

创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。外出流量的slave选择是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的 是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。
必要条件:
条件1:ethtool支持获取每个slave的速率和双工设定
条件2:switch(交换机)支持IEEE802.3ad Dynamic link aggregation
条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式
模式六:balance-tlb 适配器传输负载均衡
mode=5,(balance-tlb)Adaptive transmit load balancing(适配器传输负载均衡)

不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。
该模式的必要条件:ethtool支持获取每个slave的速率,mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。
模式七:balance-alb 适配器适应性负载均衡
mode=6,(balance-alb)Adaptive load balancing(适配器适应性负载均衡)

该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receiveload balance, rlb),而且不需要任何switch(交换机)的支持。交换机上也是可见多个网卡的MAC,不需要做链路聚合配置。

必要条件:

条件1:ethtool支持获取每个slave的速率;
条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个 bond 中的slave都有一个唯一的硬件地址。

交换机链路聚合(Link Aggregation,LA)
Link Aggregation
不同厂商的交换机在端口聚合(Port Aggregation,PA)方面使用不同的术语。例如,Cisco使用EtherChannel,Brocade使用Brocade LAG,而IEEE 802.3ad LACP(Link Aggregation Control Protocol)则是一种基于标准的协议,它在2008年被转入IEEE 802.1ax标准中。LACP可以动态配置端口聚合,而且不依赖于任何特定的厂商,因此大多数以太网交换机都支持该协议。这些实现的目标都是一致的,即将两个或多个端口绑定在一起,作为一个高带宽的逻辑端口,以提高链路速度、冗余性、弹性和负载均衡性。

从技术上来说,我们可以在交换机之间使用多个端口创建并行的trunk链路,但生成树协议(STP)会将其视为环路,并关闭所有可能造成环路的链接。而端口聚合则生成一个单一的逻辑链路,不会导致环路问题,并可以作为Access Port(连接主机)或Trunk Port(承载多个VLAN流量)使用。

Link Aggregation Control Protocol (LACP)
LACP 是通过向所有启用LACP协议的链路发送LACPDU Frame来工作的,如果发现链路另一端的设备也启用了LACP,LACP将独自在同一条链路上发送Frame,使得两者能够发现它们之间的多条链路,并将它们合并成单条逻辑链路。

LACP的模式分为静态和动态,动态又分为主动和被动。

静态
mode on,手动强制模式:

不发送也不接收LACP协商报文,交换机物理端口被强制捆绑到etherchannel,数据包根据聚合口负载均衡模式在多个物理口上传输。一般默认的为基于包的负载均衡,即在多个网口之间轮询发送数据包。使用这种聚合模式时,对端也必须是mode on,强制形成etherchannel。

动态
active,主动协商模式:
交换机聚合口主动发出LACPDU报文,与对端符合802.3ad规范的动态聚合口主动协商。

一般推荐使用主动模式。

passive,被动协商模式:
交换机聚合口只接收LACPDU报文,被动与对端符合802.3ad规范的动态聚合口进行协商。
在这里插入图片描述
在这里插入图片描述

Linux配置Bonding模式

/etc/netplan/bond-config.yaml
network:
  version: 2
  ethernets:
    ens4f0np0:
      addresses: []
      dhcp4: no
      optional: true
    ens4f1np1:
      addresses: []
      dhcp4: no
      optional: true
  bonds:
    bond0:
      interfaces:
        - ens4f0np0
        - ens4f1np1
      parameters:
        mode: 802.3ad
        mii-monitor-interval: 100
      addresses:
        - "192.168.12.5/24"
      gateway4: "192.168.12.1"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木晓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值