etherchannel

etherchannel

Scroll Down

一、链路聚合

随着内网即时应用比如视频桌面、互动消息、VoIP、会议协作等的蓬勃发展,园区网核心及边缘内部对带宽的扩容需求日益增加,同时关键任务应用也需要弹性的网络设计。伴随着园区网中部署的交换以太网链路带宽越来越大,用户也会聚合其已有资源或升级上行链路或核心的速度,从而扩展全网性能,为了实现该需求,etherchannel技术应运而生。etherchannel可以将多条物理链路逻辑上捆绑成为一条逻辑链路来解决流量拥塞的问题。

来自多个VLAN的流量在低端接入层交换机上以100Mbps的速度汇聚到汇聚层交换机,那么接入层和汇聚层的链路需要大于100Mbps才能满足所有VLAN的流入流量需求。针对这种情况,解决方案有两种,但是都存在弊端:

  • 提高端口速度:比如升级成1Gbps或10Gbps,但是随着VLAN链路速度的提升,该方案存在局限性
  • 增加交换机之间的互联链路数量:以此来增加交换机间通信的总速率,该方案也存在局限性,因为所有物理链路的配置需要严格一致,还有就是STP可能会阻塞某个端口导致某个链路失效。

链路聚合的作用就是增加交换机间的带宽,链路聚合的优势有如下:

  • 利用交换机已有端口,无需升级交换机互联链路,从而节省投资成本
  • 支持交换端口和路由端口
  • 对逻辑通道操作,同步至端口配置中
  • 支持多条链路负载均衡

链路聚合链路可以部署在交换机之间、服务器和交换机间。但是同一条etherchannel不能向两台不同的交换机发送流量。一条etherchannel链路的两端始终只连接着两台设备,而且两台设备上etherchannel组成员的端口配置必须相同。etherchannel技术只能捆绑相同类型的物理端口。etherchannel可以用于access或trunk端口,两端逻辑捆绑接口都需要配置为access或trunk。

链路聚合创建的聚合链路会被看作一条逻辑链路/逻辑通道(port-channel),如果在两台交换机间创建多条聚合链路,会被STP阻塞一条,处于逻辑链路中的物理接口全部被阻塞。如果两台交换机间只存在一条逻辑链路,那么STP会将其看作一条链路,不会阻塞其中任何一个物理接口。

  • VSS(即虚拟交换系统)或者VPC(虚拟端口通道)可以使来自接入层的一组聚合链路同时上联到两台汇聚交换机上,从而提供更好的冗余性。
  • 配置port-channel后,配置将在被捆绑的物理端口上生效
  • 三层交换机上将交换端口转成路由端口,转后的路由端口也可以配置etherchannel

二、链路聚合协议

通过三种机制来创建聚合链路,分别是:

  1. LACP
  2. PAGP
  3. 静态配置

1、LACP

LACP(link aggregation control protocol,链路汇聚控制协议)是由802.3ad定义的公有标准。作用就是协商将多个物理端口捆绑到一起形成一个逻辑通道。启用LACP的交换机将发送LACP数据包来和对端自动协商捆绑通道。LACP的优点就是公有协议,允许多厂商的交换机创建逻辑通道

LACP会检查两台交换机的配置一致性以及链路状态用来确保port-channel创建时,所有端口配置有相同的端口速率、双工模式、VLAN信息等。在确保逻辑通道建立后,任一端口配置修改都会影响通道另一端的端口状态。

接收方会将对端的端口属性自身的端口属性进行比较。LACP会为etherchannel端口分配角色。带有最低的系统优先级的交换机将决定哪些活动端口可以加入etherchannel。端口根据其优先级选举出active端口(数值越低表示越优先)。正常情况下一个port-channel最大支持16条链路,同一时间只能有8条处于active状态。其余8条处于standby状态。如果某条active链路发生故障,standby端口将接管成为active端口。

  • 两台交换机之间建立的port-channel的最大active链路数量是可变的
  • 链路聚合不仅仅在交换机之间使用,也可以在防火墙上使用,典型的就是cisco ASA

LACP包括以下两种操作模式:

  • active:启用LACP
  • passive:当检测到LACP时启用LACP
LACP模式activepassive
active
passive

在配置LACP时,可以附加以下参数:

  • 系统优先级:每台运行LACP的交换机都有,系统优先级可以是自动生成,也可以手动指定,系统优先级由2 bytes的优先级值和6 bytes的MAC地址构成。系统优先级低的交换机负责选定active端口。
  • 端口优先级:交换机的每个端口都有,端口优先级可以是自动生成,也可以手动指定,端口优先级由2 bytes的优先级值和2 bytes的端口号构成。交换机会优选端口优先级低的端口成为active端口

系统优先级和端口优先级在STP中也是非常重要的根桥选举参数

2、PAGP

PAGP(port aggregation protocol,端口聚合协议)是思科私有协议,用于协商链路聚合的协议。

PAGP包括以下两种操作模式:

  • desirable:启用PAGP
  • auto:当检测到PAGP时启用PAGP
PAGP模式desirableauto
desirable
auto

3、静态配置

以静态方式手动将捆绑链路配置成port-channel,两端都配置成on模式即可。

三、链路聚合配置

1、聚合端口配置

在配置etherchannel时,需要遵循以下方法和限制:

  • 端口速率和双工模式:etherchannel中的所有端口必须工作在相同的端口速率和双工模式下。此外如果捆绑中的某个端口down了,对应的链路也会失效,流量则会通过etherchannel中的其他端口承载。
  • VLAN匹配:trunk模式的port-channel中,所有端口上配置的允许VLAN范围必须一致。如果不一致,无法聚合。
  • STP路径开销:不同的STP路径开销不会导致聚合失败
  • 捆绑端口和port-channel:所有在port-channel中的操作都会自动下发到每个端口。而每个物理端口上的配置仅会对操作的端口有效。
  • port-channel不能作为SPAN的目的端口

1)L2 etherchannel

1st.int range e0/0-2
2nd.链路聚合协议(多接口):channel-protocol [pagp | lacp]
3rd.物理链路形成逻辑链路,捆绑成为链路组:channel-group group-number mode [active | passive | on | desirable | auto]
4th.进入逻辑通道:int port-channel group-number

后续对逻辑通道做的操作就可以了,比如sw mo ac、sw tr en dot、sw mo tr、sw ac vl 11都会被同步到具体捆绑端口中

2)L3 etherchannel

1st.int range e0/0-2
2nd.将交换接口转换成路由接口:no switchport (仅限三层交换机)
3rd.链路聚合协议(多接口):channel-protocol [pagp | lacp]
4th.物理链路形成逻辑链路,捆绑成为链路组:channel-group group-number mode [active | passive | on | desirable | auto]
5th.进入逻辑组:int port-channel group-number
6th.将逻辑组接口配置为三层接口:no switchport
7th.逻辑组配置IP地址:ip address x.x.x.x x.x.x.x

3)查看

查看逻辑通道配置:sh run int port-channel group-number
查看逻辑通道状态:sh etherchannel summary

2、链路聚合负载均衡方式

链路聚合中的流量可以分担到捆绑中的每条链路上,但是并不是严格平均分布到每条链路上的。数据帧选择etherchannel链路上哪条链路转发取决于hash结果,不同的设备使用的hash算法也不同。

一般平台支持的链路聚合负载均衡hash算法:dst-ip、dst-mac、src-dst-ip(默认)、src-dst-mac、src-ip、src-mac。4500/6500/6800系列增加的hash算法:src-port、dst-port、src-dst-port。

查看采用的负载均衡算法:sh etherc load-balance
查看/配置支持的负载均衡算法:port-channel load-balance ?