searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享

Linux系统网卡bond技术简析

2024-11-13 09:32:09
3
0

在Linux操作系统中,一般是多张网卡聚合用于提高网络带宽,以及提升线路可用性,提升数据中心服务器可用性。

链路聚合bond有以下几个优点
  • 提高网络的带宽,因为多个网卡可以同时传输数据,相当于增加了网络的通道 。
  • 提高网络的可用性,因为如果某个网卡出现故障,其他网卡可以自动接管流量,避免了网络中断 。
  • 提高网络的冗余性,因为多个网卡可以连接到不同的交换机或路由器,从而实现了网络的多路径 。
  • 提高网络的负载均衡,因为根据不同的链路聚合模式,可以根据流量的源地址、目的地址、端口号等因素来分配流量到不同的网卡,从而实现了网络的均衡利用

bond聚合原理

bond链路聚合支持基于报文的IP地址或MAC地址来进行负荷分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源+目MAC。

bond工作模式分七种,工作原理和特点如下

  • mode 0(balance-rr):平衡轮询模式round-robin。

此模式将传输负载平均分布在所有成员接口之间,并且是轮询的方式比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕,不提供冗余。

特点:需要交换机通过手工模式或者静态模式链路聚合与之对接,传输负载会循环地分配到不同的成员接口上,从而实现负载均衡。但是,为了确保这种负载均衡的效果,交换机需要正常工作并适当地处理从不同成员接口发送的数据包。如果交换机无法正确地处理从多个成员接口发出的数据包,可能会导致数据包的乱序或延迟,从而影响网络性能

  • mode 1 (active-backup) :表示主备模式

在这种模式下,只有一个接口处于活动状态,其余接口处于备份状态。如果活动接口失败,备份接口会自动接管。

特点:冗余性高,不过链路利用率低,两张网卡只有一张网卡在工作
  • mode 2 (balance-xor) :表示平衡异或模式。

使用异或操作将传输负载分布在成员接口之间,提供了负载均衡和部分冗余。它基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使得各种不同处理来源的访问都尽量在同一个网卡上进行处理。

特点:通常与交换机的聚合强制不协商方式配合
  • mode 3 (broadcast) :表示广播模式

将数据广播到所有成员接口,适用于某些特殊情况。

特点:有冗余能力,但是在每一个slave接口上传输每一个数据包,过于浪费资源
  • mode 4 (802.3ad, LACP) :表示IEEE 802.3ad动态链接聚合

使用IEEE 802.3ad标准的链路聚合控制协议(LACP),协商绑定接口的状态,提供负载均衡和冗余。在这种模式下,需要交换机支持LACP协议。

特点:多数厂家均选择此模式
  • mode 5 (balance-tlb) :表示适配器传输负载均衡。

负载根据传输负载和接口状态分布,但接收数据仅通过活动接口。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

特点:该模式不需要任何特别的switch(交换机)支持的通道bonding。必要条件:ethtool需要支持获取每个slave的速率
  • mode 6 (balance-alb) :表示适配器适应性负载均衡

该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

特点:必要条件:ethtool需要支持获取每个slave的速率

 

0条评论
作者已关闭评论
w****n
7文章数
0粉丝数
w****n
7 文章 | 0 粉丝

Linux系统网卡bond技术简析

2024-11-13 09:32:09
3
0

在Linux操作系统中,一般是多张网卡聚合用于提高网络带宽,以及提升线路可用性,提升数据中心服务器可用性。

链路聚合bond有以下几个优点
  • 提高网络的带宽,因为多个网卡可以同时传输数据,相当于增加了网络的通道 。
  • 提高网络的可用性,因为如果某个网卡出现故障,其他网卡可以自动接管流量,避免了网络中断 。
  • 提高网络的冗余性,因为多个网卡可以连接到不同的交换机或路由器,从而实现了网络的多路径 。
  • 提高网络的负载均衡,因为根据不同的链路聚合模式,可以根据流量的源地址、目的地址、端口号等因素来分配流量到不同的网卡,从而实现了网络的均衡利用

bond聚合原理

bond链路聚合支持基于报文的IP地址或MAC地址来进行负荷分担,可以配置不同的模式(本地有效,对出方向报文生效)将数据流分担到不同的成员接口上。常见的模式有:源IP、源MAC、目的IP、目的MAC、源目IP、源+目MAC。

bond工作模式分七种,工作原理和特点如下

  • mode 0(balance-rr):平衡轮询模式round-robin。

此模式将传输负载平均分布在所有成员接口之间,并且是轮询的方式比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕,不提供冗余。

特点:需要交换机通过手工模式或者静态模式链路聚合与之对接,传输负载会循环地分配到不同的成员接口上,从而实现负载均衡。但是,为了确保这种负载均衡的效果,交换机需要正常工作并适当地处理从不同成员接口发送的数据包。如果交换机无法正确地处理从多个成员接口发出的数据包,可能会导致数据包的乱序或延迟,从而影响网络性能

  • mode 1 (active-backup) :表示主备模式

在这种模式下,只有一个接口处于活动状态,其余接口处于备份状态。如果活动接口失败,备份接口会自动接管。

特点:冗余性高,不过链路利用率低,两张网卡只有一张网卡在工作
  • mode 2 (balance-xor) :表示平衡异或模式。

使用异或操作将传输负载分布在成员接口之间,提供了负载均衡和部分冗余。它基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使得各种不同处理来源的访问都尽量在同一个网卡上进行处理。

特点:通常与交换机的聚合强制不协商方式配合
  • mode 3 (broadcast) :表示广播模式

将数据广播到所有成员接口,适用于某些特殊情况。

特点:有冗余能力,但是在每一个slave接口上传输每一个数据包,过于浪费资源
  • mode 4 (802.3ad, LACP) :表示IEEE 802.3ad动态链接聚合

使用IEEE 802.3ad标准的链路聚合控制协议(LACP),协商绑定接口的状态,提供负载均衡和冗余。在这种模式下,需要交换机支持LACP协议。

特点:多数厂家均选择此模式
  • mode 5 (balance-tlb) :表示适配器传输负载均衡。

负载根据传输负载和接口状态分布,但接收数据仅通过活动接口。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

特点:该模式不需要任何特别的switch(交换机)支持的通道bonding。必要条件:ethtool需要支持获取每个slave的速率
  • mode 6 (balance-alb) :表示适配器适应性负载均衡

该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

特点:必要条件:ethtool需要支持获取每个slave的速率

 

文章来自个人专栏
海外网络
3 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0