关于链路聚合(Link Aggregation)、Trunk和端口绑定/捆绑这三种概念很容易混淆,主旨都是利用链路冗余提供服务器、交换机和存储间的可靠性,或利用冗余端口实现负载均衡等;通常在大多数场景下被不加区别的混用,今天我们简单分析一下各自的含义和区别。
链路聚合是采用不同的聚合、合并方法把多个网络链路并行的连接起以便提供网络带宽和链路冗余,实现网络业务连续性;强调的是交换机端到端的链路,一般涉及端口、网卡和交换机(如LACP)绑定等。不同交换机厂商采用不同术语描述链路聚合,但目标都是一致的,即将两个或多个端口绑定在一起作为一个高带宽的逻辑端口来提升链路速度、冗余、弹性和负载均衡。Cisco称作Ether Channel、Brocade称作Brocade LAG,还有基于标准IEEE 802.3ad的LACP(Link Aggregation Control Protocol),该协议在2008年被转入IEEE 802.1ax作为标准,LACP可以动态配置端口聚合,且不依赖任何厂商,因此大部分以太网交换机都支持该协议。
通常情况,交换机之间使用多个端口创建并行聚合/绑定时,生成树协议(STP)会将其视为环路,从技术上来讲,链路聚合技术就是解决该问题,使聚合端口生成单个逻辑链路(single logical link)而不会造成环路。
Trunk技术一般使用在交换机之间,通过冗余链路实现可靠性、通过级联增加端口数量、通过Trunk提供ISL(交换机间链路)链路使用率。一般分为下面几种场景。
ISL Trunk技术:
指交换机之间的链路中继,一般用于增加链路端口数量、级联和长距离传输(一般指FC交换机,使用单模光纤可以实现长距离传输)。
VSAN Trunk技术:
是思科FC交换机特有的概念,指多个VSAN流量可以通过一条ISL链路承载,VSAN类似与IP交换机的VLAN,实现二层隔离安全访问。博科FC交换机也以类似实现隔离的技术叫Zoning。
VLAN/EthernetTrunk技术:
指对VLAN进行Tag标记,让连接在不同交换机上的相同VLAN中的主机互通,把两台交换机的级联端口设置为Trunk端口,当交换机把数据包从级联口发出去的时候,会在数据包中做一个标记,以便其它交换机识别该数据包属于哪一个VLAN,当其它交换机收到这个数据包后,只会将该数据包转发到标记中指定的VLAN,从而完成了跨越交换机的VLAN内部数据传输。在一个交换机间链路ISL上承载多个VLAN数据,提高了链路使用率,不必为每一个VLAN ID在交换机间提供一条单独的ISL链路。
通常使用的协议有标准的802.1q和思科的ISL协议,ISL是思科私有协议,只能用在思科自己的交换机之间。
VLAN/EthernetTrunk简单总结:
1.VLAN在实际环境中不只是使用一台交换机,而是多台交换机共同作用。每台交换机都划分多个VLAN,且这些VLAN可能在多个交换机上是具有相同的VLAN ID。
2.不同交换机的几个VLAN都连接一条物理的链路,只需要用这条中继链路来承载所有的VLAN通信。
3.交换机链路类型有接入链路和中继链路之分。中继链路才可以承载多个VLAN。
链路捆绑/端口Bonding:
一般是指服务器端口、存储以太网口通过Bonding技术实现链路冗余和负载均衡,目前Linux操作系统内核本身已经支持7种绑定模式,有的绑定模式(如 LACP)建议和以太网交换机的LACP协议配合使用。
Balance-rr(Round-robin)模式
也称bound 0模式,所有相同优先级的网卡端口维持在一个循环队列(slave设备链表)中,Bonding设备驱动在这些网卡端口中顺序轮流选择。一旦某一个网卡端口完成了一次数据传输任务,Bonding驱动将自动调度队列中下一个网卡端口,完成下一个数据包的数据传输任务。如此连续、周而复始地发送数据。新加入的Bonding网卡端口将被放在队列的尾部。
Active-backup(AP)模式
也称bound 1模式,多个网卡端口中的一个端口设定为激活状态,其他的端口处于备用状态。当活动端口或者活动链路出现故障时,启动备用链路。
Balance-XOR(XOR)模式
也称bound 2模式,基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址)% slave数量。其他的传输策略可以通过“xmit_hash_policy”选项指定。
Broadcast(广播)模式
也称bound 3模式,通过Bonding设备中所有的网卡端口发送需要传输的数据,两个网络完全独立的情况下,如果需要某些特定的单向流量能够同时到达这两个独立的网络,需要使用“broadcast”模式。
802.3ad(LACP)模式
也称bound 4模式,动态链接聚合策略。让多个网卡端口工作在同一个激活的聚合体下,共享相同的速率和双工模式。如果对端以太网交换机支持LACP汇聚模式的端口聚合,推荐使用“802.3ad”模式配置Bonding功能。
Balance-tlb(TLB)模式
也称bound 5模式,自适应传输负载均衡策略。Bonding驱动程序根据每一个Bonding网卡端口(slave)的不同处理能力和当前的负载状态,对网络服务请求进行合理的调配,将网络传输的负载在所有网卡端口中重新分布。
Balance-alb(ALB)模式
也称bound 6模式,自适应负载均衡策略。在balance-tlb模式提供传输负载均衡功能的基础上,balance-alb模式增加针对IPv4流量的接收负载均衡(receive load balance)。Bonding驱动程序根据每一个Bonding网卡端口(slave)的不同处理能力和当前的负载状态,对网络服务请求进行合理的调配,将网络发送和传输的负载在所有网卡端口中重新分布。