3.1理解以太通道的理论部分
3.1.1提出以太通道的原因、以太通道的作用和功能
3.1.2建立以太通道的方式(静态、PagP、LACP)
3.1.3理解并取证:以太通道的动态协商机制的工作原理
3.1理解以太通道的理论部分
本小节将描述思科提出以太通道的原因、以太通道的作用和功能、以太通道的特点、建立以太通道的方式(静态、PagP、LACP)、以及PagP和LACP的协商模式、理解并取证以太通道的动态协商机制的工作原理。
3.1.1思科提出以太通道的原因、以太通道的作用和功能
在交换网络中发生链路聚合时,如图所示,可能有N条接入链路需要汇聚成一条链路,连接到汇聚层交换机,此时就可能发生网络拥塞,此时可能会想到两个方案:案1就不断的加大S2连接S1的上连单一链路的带宽,显然这种方案是不具备扩展性的;方案2在S1和S2之间增加新的链路如图中虚线所示。看上去方案2似乎比方案1具备更高的扩展性,但是请大家不要忘记一个问题:那就是当S2与S1之间增加更多的新链路后,交换机S1和S2就会成环,那么生成树STP就会运行,会在S1和S2之间阻塞到多余的链路端口,在同一时刻只有仍然只有一条链路来转发数据。其实这就是多链路(multiple links)面对的挑战。但是以太通道就能解决这个问题。那么什么是以太通道。
以太通道(EtherChannel):
简单的讲以太通道就是将交换机之间的多条物理链路,捆绑成一条逻辑通道,如图所示,去提供更多的带宽、负载均衡和冗余、同时避免上述关于生成树在交换机多条物理链路连接时所引发的问题,因为此时交换机之间的多条物理链路被当作一条链路处理。比如此时图所示的4条1000MB的物理链路,实现以太通道后,就可以看成是一条链路,并且在全双工的模式下该以太通道的带宽可达8G。
以太通道的特点:
ü 提供更多的带宽。
ü 将具备相同属性的链路进行逻辑汇聚。
ü 此时以太通道看上去就是一条链路避免生成树问题。
ü 提供负载均衡和冗余。
ü 既可以支持二层也可以支持三层。
3.1.2建立以太通道的方式(静态、PagP、LACP)
实施以太通道技术有两种形式:静态和动态。所谓静态就是管理员不依赖于任何协议采取手工的方式将其多物理链路捆绑成以太通道;动态配置就是依赖于Pagp和LCAP两个协议在交换机端口上动态的协商是否成为以太通道。注意Page(Port Aggregation Protocol)是思科私有的用于以太通协商的协议,它无法与别的厂商的以太通道进行协商;而LCAP(LinkAggregation control Protocol)是IEEE802.3ad所定义的工业标准,所以厂商都会支持LCAP。
注意:如果静态配置以太通道是不需要在端口上运行Pagp和LCAP协议!
关于PagP(Port Aggregation Protocol)协商时的工作模式:
On:不使用协议来进行协商,也叫非协商模式,直接静态将相关的端口配置为以太通道。
Desirable:主动企望成为通道,如果对方能成通道,那就形成通道。
Auto:被动等待对方的要求,如果对方要求我成通道,我就形成通道,但自己并不主动要求。
Off:关闭以太道道功能,不允许在配置off的端口上使用以太通道。
关于上面描述使用Pagp来完成以太通道协商时不同模式组合所产生结果的示意如图所示,值得注意的是:如果两边都是Auto那么将永远无法形成通道;Off和任何一种模式组合也是永远都无法形成通道;然后Auto和on组合在一起也无法形成能道,因为Auto是被动的,On虽然是能成通道,但是静态的形成通道,在处于On模式下不会产生任何协商数据帧,在掌握这部分知道易错的也是上述三种组合的结果。
关于LCAP(Link Aggregation control Protocol)协商时的工作模式:
On:不使用协议来进行协商,也叫非协商模式,直接静态将相关的端口配置为以太通道。
Active:主动企望成为通道,如果对方能成通道,那就形成通道。等同于PagP协议的Desirable
Passive:被动等待对方的要求,如果对方要求我成通道,我就形成通道,但自己并不主动要求。等同于PagP协议的Auto。
Off:关闭以太道道功能,不允许在配置off的端口上使用以太通道。
配置端口上以太通道的协商模式:
可以通过在某个需要被加入到以太通道的物理接口上通过执行channel-group 1 mode的指令来选择具体的协商模式,具体如图所示。需要注意的是思科在此不会预设任何协议(PagP或者LACP)作为默认的协商协议,那么该端口到底是使用PagP还是LACP?这完全由用户在channel-group 1 mode后面所跟的参数所决定,简单的讲:如果跟上active或者passive,那么该接口就使用LACP;相反如果是跟上desirable或者auto那么该接口就使用PagP;如果是跟上on,那么该接口将不使用任何动态协商。
当然用户可以通过使用channel-protocol指令来申明是使用LACP还是PagP,如图所示,但是这里需要注意一点:如果用户在channel-group1 mode后面跟的是LACP的参数(active或者passive),但是在channel-protocol申明协议中使用了PagP,与模式参数相冲突,此时系统会报告,该接口已经有一个不同的协议被使用,如图所示。
提示:事实上,如果大家用到了以太通道技术,那么静态配置以太通道是首选,如果要动态协商,一般使用LCAP协议;如果你希望使用Pagp协议,除非你的工作环境是“清一色”的Cisco System!所以立于CCNP的阶段,我们需要进一步的来取证LCAP动态协商的工作过程,它为什么能动态协商,它是怎样完成动态协商的,关键的工作状态是怎样的。
3.1.3理解并取证:以太通道的动态协商机制的工作原理
如图所示的取证环境中,当前的S1和S2使用LACP动态的完成以太通道协商,S1处于Active模式,S2处于Passive模式;为了方便理解,笔者将LACP的工作过程进行了步骤化描述,每在这个过程中,需要重点理解LACP的Actor state(行为状态机);其中包括:Activity(主动状态)、Aggregation(聚合能力状态)、synchronization(同步状态)、collecting(侦听收集状态)、Distributing(分发状态)。每个过程如下所示:
第一步:S1发送LCAP数据帧的协商数据帧,具体如图所示:在该数据帧中,可以看到LACP Activity(主动状态):Yes(1),表示S1正被配置为LACP的Active模式,同时还可看到Aggregation(聚合能力状态)=1,表示该端口是一个可聚合的端口,如果该字段为0表示该端口是一个不具备聚合能力的独立端口。目前的S2处于完全静默状态,所以全部状态位字段都是0。
关于Passive模式下“静默”行为的取证说明:
当前的S2是处于Passive模式,注意在S2没有收到S1发来的LACP协商数据帧时,S2将不会发送任何与LACP有关的数据帧,因为S2处于Passive模式时它Activity状态永远都将是0。但是一旦S2收到了S1发来的LACP数据帧,S2就将结束这种静默状态而转向协商过程。如果读者希望取证到S2的静默状态,那么请在执行LACP以太通道协商时,首先配置S2为Passive,然后在没有配置S1为Activity之前使用协议分析器取证S2的端口,会发现S2的静默行为,它(S2)不会发送任何关于LACP的数据帧,直到S1被配置为Activity。有相反的取证手段实施在S1被配置为Activity模下,会发现,S1正积极的发送LACP的数据帧,只是当S2没回应时,S1的LACP数据帧会被置为短超时。
第二步:S2的相关接口被启动,并被配置为Passive模式时,当S2接收到S1发来的数据帧后,立即结束静默,并转向LACP的协商过程,它(S2)会做回应S1如图所示,S2将LACP消息中的Aggregation(聚合能力状态)=1,表示该端口是一个可聚合的端口;并且进入synchronization(同步状态)=1,表示该端口已经被成功的分配到聚合组(通道接口的种逻辑表达式),如果synchronization(同步状态)=0则表示该端口不能选择正确的聚合组。
第三步:此时S1送Activity=1、Aggregation=1、synchronization=1、collecting=1、Distributing=1的LACP数据帧,如图所示,在这个阶段主要关注collecting=1和Distributing=1,它表示加入到以太通道的端口已经可以成功的收包和发包,collecting=1表示可成功收包,0则表示收包失败;Distributing=1表示可以成功的发包,0则表示发包失败。
注意:一个以太通道协商的成败,关键在Aggregation、synchronization、collecting、Distributing四个字段的置位必须要是1,通道才能协商成功,并且在这个过程中,不仅仅需要确保某一端(比如:只是S1)的四个关键字段被置位为1,还必须确保另一端的四个关键字段也必须是1在行,这对于以太通道的故障排除非常的重要,因为协议数据帧是从不会“说谎”!
第四步:跟据上面的描述S2必须也得发送Aggregation、synchronization、collecting、Distributing四个字段被置位为1的数据帧后,通过LACP协商的以太通道才会成功,所以此时S2将发送置位四个关键字段的数据帧如图所示,通过该数据帧可以看出,此时的S1和S2的四个关键字段都被置位为1,这就意味着以太通道协商成功,并且相关的接口已经加入到通道中,在S2的数据帧中也可以看到邻居S1的LACP状态,但是此时需要注意的是在任意时候,S2的activity字段总是0,因为它是passvie模式;与之相反S2的activity字段总是1,因为它是active模式。
本文转自 kingsir827 51CTO博客,原文链接:http://blog.51cto.com/7658423/1727401,如需转载请自行联系原作者