TCP/IP 详解(第 2 版) 笔记 / 3 链路层 / 3.2 以太网与 IEEE 802 LAN/MAN 标准 / 3.2.4 802.1AX:链路聚合 (以前的 802.3ad)

目录、参考文献


3.2.4 802.1AX:链路聚合 (以前的 802.3ad)

一些具有多个网络接口的系统拥有捆绑bonding)(或称为链路聚合(link aggregation))功能
链路聚合link aggregation)让两个或多个接口被视为一个接口
以便通过冗余实现更高的可靠性(主备),或通过在多个接口之间拆分(条带化(striping))数据来实现更高的性能
IEEE 修订 802.1AX [802.1AX-2008] 定义了执行链路聚合的最常用方法和管理此类链路的链路聚合控制协议(Link Aggregation Control Protocol (LACP))
LACP 使用特定格式(称为 LACPDU)的 IEEE 802 帧

用支持链路聚合的以太网交换机代替拥有高速网络端口的交换机更经济划算
如果可以聚合一个以上的端口来提供足够的带宽就不需要更高速度的端口了
链路聚合不仅可以在网络交换机上使用,还可以用在主机上的多个网络接口卡network interface cards (NICs))上
通常,被聚合的端口必须属于同一种类型,并且以相同的模式(即:半双工或全双工)运行

Linux 能够使用以下命令在不同类型的设备上实现链路聚合(捆绑(bonding)):

Linux# modprobe bonding
Linux# ifconfig bond0 10.0.0.111 netmask 255.255.255.128
Linux# ifenslave bond0 eth0 wlan0

这组命令首先加载 bonding 驱动程序,它是一种特殊类型的支持链路聚合的设备驱动程序
第二条命令用提供的 IPv4 地址信息创建了 bond0 接口
尽管提供与 IP 相关的信息对于创建聚合接口来说并不是必要的,但一般都会这么做
一旦 ifenslave 命令执行,bonding 设备 bond0 将被标记为 MASTEReth0wlan0 设备则被标记为 SLAVE

bond0 Link encap:Ethernet HWaddr 00:11:A3:00:2C:2A 
            inet addr:10.0.0.111 Bcast:10.0.0.127 Mask:255.255.255.128 
            inet6 addr: fe80::211:a3ff:fe00:2c2a/64 Scope:Link 
            UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 
            RX packets:2146 errors:0 dropped:0 overruns:0 frame:0 
            TX packets:985 errors:0 dropped:0 overruns:0 carrier:0 
            collisions:18 txqueuelen:0 
            RX bytes:281939 (275.3 KiB) TX bytes:141391 (138.0 KiB)
eth0 Link encap:Ethernet HWaddr 00:11:A3:00:2C:2A 
            UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1 
            RX packets:1882 errors:0 dropped:0 overruns:0 frame:0 
            TX packets:961 errors:0 dropped:0 overruns:0 carrier:0 
            collisions:18 txqueuelen:1000 
            RX bytes:244231 (238.5 KiB) TX bytes:136561 (133.3 KiB) 
            Interrupt:20 Base address:0x6c00 
wlan0 Link encap:Ethernet HWaddr 00:11:A3:00:2C:2A 
            UP BROADCAST SLAVE MULTICAST MTU:1500 Metric:1 
            RX packets:269 errors:0 dropped:0 overruns:0 frame:0 
            TX packets:24 errors:0 dropped:0 overruns:0 carrier:0 
            collisions:0 txqueuelen:1000 
            RX bytes:38579 (37.6 KiB) TX bytes:4830 (4.7 KiB)

在本例中,我们将有线以太网接口与 Wi-Fi 接口捆绑到一起
(master)设备 bond0 被分配了 IPv4 地址信息(和平时分配给任何一个单独接口的地址信息一样),默认情况下,它接收第一个(slave)设备的 MAC 地址
当 IPv4 流量从 bond0 虚拟接口发送出去时,围绕哪个(slave)接口携带这些流量的问题,存在多种可能的选择
在 Linux 中,可以通过加载 bonding 驱动程序时提供的参数来确定
可以通过 mode 选项决定:

  1. 在接口之间轮训
  2. 一个接口作为另一个接口的备份
  3. 基于执行 MAC 源地址和目的地址的 XOR 来选择接口
  4. 复制帧到所有的接口
  5. 使用 802.3ad 标准链路聚合
  6. 或使用更多高级负载平衡选项

第二种模式用于高可用系统,如果一个链路停止运行(可通过 MII 监控检测到,详细信息见 [BOND]),该系统可以故障转移到一个冗余的网络基础设施上
第三种模式旨在根据流量选择(slave)接口
只要有足够多的目的地,两站点之间的流量就会固定在一个接口上
这在需要在多个接口之间负载均衡,同时又想最小化重排序时非常有用
第四种模式是为了容错
第五种模式与支持 802.3ad 的交换机一起使用,以便在同类链路上启用动态聚合

设计 LACP 协议的目的是为了通过避免手动配置来使设置链路聚合变得更简单
通常,一旦启用,LACP “ 参与者(actor)”(客户端)与 “ 合作伙伴(partner)”(服务器)就会每秒发送一次 LACPDU
LACP 会自动确定哪些成员链路可以聚合到链路聚合组link aggregation group (LAG))中,并将它们聚合起来
这是通过在链路上发送一组信息(MAC 地址、端口优先级、端口号和密钥)来实现的
一个接收站点可以比较它从其他端口看到的值,并在它们匹配时进行聚合
[802.1AX-2008] 中介绍了 LACP 的详细信息


目录、参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值