EtherChannel(PAgP,LACP)

29 Jul

EtherChannel就是将多条链路捆在一起,使其有多条链路的带宽。多条链路可以负载均衡,某条链路down掉,也有冗余链路不至于断网。如两台交换机各连多个终端,两台交换机间就一条链路的话带宽不够,可以多连几条,然后将它们捆绑起来增加带宽。

你可以手动配,也可以用动态协商:PAgP(思科私有),LACP(IEEE 802.3ad)。

手动配置:

20160127212902451

20160127213809778

在另一台交换机上同样手动配置即可(配置要两边一起配,如果只配了SW1,不配SW2的话会检测到错误)。这样两台交换机间的两条链路被捆绑成了一条虚拟链路。

20160127215918933

因为上面两条链路均配成了trunk,因此用show interface trunk命令可以看到f0/5和f0/6不见了,只能看到po1口。同样此时就算down掉一个口,po1口仍旧是ok的,使Trunk链路有了冗余能力。

动态协商:

PAgP:Auto和Desirable,两个Auto不能协商成功,其他可以协商成功

LACP:Active和Passive,两个Passive不能协商成功,其他可以协商成功

20160127221532767

上面手动配的命令:mode后面跟on。自动协商的话,SW1(config-if-range)#channel-protocol pagp/lacp修改协议后,mode后面可以跟auto,desirable,active,passive。

active和passive用LACP协商,auto和desirable用PAgP协商。两者不能兼容,一边LACP,一边PAgP是起不来的

EtherChannel要点:

端口需要支持EtherChannel(这是不言自明的)

端口速率和双工要一致(一端100M,另一端1000M是无法捆在一起。LACP只支持全双工模式)

相同VLAN(想一下就知道了,捆起来后两个端口变成了一个端口,一个端口怎么能属于不同VLAN呢?)

如果捆了Trunk端口那allowed VLAN也要一致

捆成EtherChannel后,支持不同的cost开销(即端口开销不一致没关系)

捆起来后端口不能成为目标端口destination port(流量分析时会将一个端口的流量引导向某一目标端口,如果成为了EtherChannel就不能引导向该端口了)

捆起来后三层IP地址应该配到EtherChannel下

通常经验:要捆成EtherChannel,需要端口基本情况一致,因此配置前先将端口都default一下。另外两个端口的配置信息(如VLAN等,当然前提是配置一样)会被EtherChannel直接继承,不用重新配。在EtherChannel上改动配置信息后,物理端口的配置信息会跟着变。

EtherChannel负载均衡:

EtherChannel是支持负载均衡的。可以基于源IP地址(src-ip)、目的IP地址(dst-ip)、源MAC地址(src-mac)、目的MAC地址(dst-mac)、源IP地址和目的IP地址(src-dst-ip),以及源MAC地址和目的MAC地址(src-dst-mac),来负载均衡。默认是基于源MAC地址(src-mac)的。

例如SW1和R1间用EtherChannel捆绑后,SW1接的大量终端访问R1时,对于R1来说源MAC地址都是一样的(SW1的MAC地址),所以要改成基于目标MAC地址来负载均衡。如果是路由器间捆绑成EtherChannel的话,那源MAC和目标MAC就区分不出来,就要基于三层源IP或目标IP来负载均衡。

SW1#show etherchannelload-balance          //可以看当前基于何种方式来负载均衡
SW1(config)#port-channelload-balance dst-mac   //修改负载均衡的方式

Leave a Reply

Your email address will not be published. Required fields are marked *