转裁于:http://www.javashuo.com/article/p-vxtyqwab-bm.htmlphp
冗余链接及其实现
不管什么设备都没法保障运行的绝对稳定性,即便再优秀的产品也没法保证24×7不间断的工做。除去设备或模块损坏、传输线路中断等硬件故障缘由之外,还可能因为网络流量过载、任务负荷过大而致使核心交换机瘫痪。所以,若欲保障网络的稳定性,保证重要服务不被中断,就必须采起必要的应对措施。一般状况下,这种措施就是冗余链接,即在核心交换机与骨干交换机之间,以及交换机与服务器之间建立多个链接。
1. EtherChannel
EtherChannel也叫聚合端口(Aggregate port AP)和Port Trunking(多干路冗余链接)技术,将交换机上的多个端口在物理上链接起来,在逻辑上捆绑在一块儿,造成一个拥有较大带宽的端口,组成一个干路,既能够增长交换机之间,以及交换机与服务器之间的链接带宽,实现均衡负载,又可提供冗余链接。当全部端口都正常工做时,绑定的带宽为全部端口带宽之和。当某个端口宕掉后,其余端口仍能维持正常链接。Cisco的EtherChannel有两个级别,即Fast EtherChannel和Giga Etherchannel,最大带宽分别为400Mbps和4Gbps。
2. Spanning Tree
Spanning Tree实现冗余链接的工做方式是Stand By。在交换机之间建立两条链路,因为交换机之间存在两条链路时会致使拓扑环,所以,借助于Spanning Tree技术使得除了一条链路工做外,其他链路其实是处于待机(Stand By)状态,这显然影响传输的效率html
聚合端口它可将多物理链接看成一个单一的逻辑链接来处理,它容许两个交换器之间经过多个端口并行链接同时传输数据以提供更高的带宽、更大的吞吐量和可恢复性的技术,而且实现成员端口上的流量平衡.(流量平衡具体有3种方法:根据源MAC地址,目的MAC地址或源IP地址/目的IP地址)
通常来讲,两个普通交换器链接的最大带宽取决于媒介的链接速度(100BAST-TX双绞线为200M),而使用Trunk技术能够将4个200M的端口捆绑后成为一个高达800M的链接。这一技术的优势是以较低的成本经过捆绑多端口提升带宽,而其增长的开销只是链接用的普通五类网线和多占用的端口,它能够有效地提升子网的上行速度,从而消除网络访问中的瓶颈。另外Trunk还具备自动带宽平衡,即容错功能:即便Trunk只有一个链接存在时,仍然会工做,这无形中增长了系统的可靠性。安全
etherchannel特性在switch到switch、switch到router、主机(服务器)到switch或router之间提供冗余的、高速的链接,简单说就是将两个设备间多条FE或GE物理链路捆在一块儿组成一条设备间逻辑链路,从而达到增长带宽,提供冗余的目的。服务器
端口聚合的注意事项:网络
1.AP成员端口的端口速率必须一致负载均衡
2.AP成员端口必须属于同一个VLAN性能
3.AP成员端口使用的传输介质应相同动画
4.缺乏状况下建立的AP是二层APui
5.二层端口只能加入二层AP,三层端口只能加入三层APspa
6.AP不能设置端口安全功能
7.当配置layer 2端口做etherchannel时只要在成员端口配置模式下用channel-group n命令指定该端口要加入的channel-group组,这时switch会自动建立port-channel接口,而当配置layer 3端口做etherchannel时,还需如今全局配置模式下用 interface port-channel n 命令手工建立port-channel接口。
8.一个端口加入AP,端口的属性将被AP的属性所取代
9.一个端口从AP中删除,则端口的属性将恢复为其加入AP前的属性
10.当一个端口加入AP后,不能在该端口上进行任何配置,直到该端口退出AP
1. 建立EtherChannel
建立EtherChannel的具体操做步骤以下。
步骤1:进入全局配置模式.
Switch#configure terminal
步骤2:选择欲配置为EtherChannel的物理端口.PAgP EtherChannel(端口聚合协议)CISCO私有,每组最多支持8条
链路汇聚.LACP EtherChannel(链路聚合控制协议)IEEE802.3ad定义,每组最多支持16条链路汇聚(但只有
8条工做,其他备份)
Switch(config)#interface interface-id
步骤3:将全部端口指定为同一VLAN内的静态访问端口或者配置为Trunk.若是配置为静态端口,只能指定至
一个VLAN,VLAN取值范围为1-4094.
Switch(config-if)#switchport mode {access | trunk }
Switch(config-if)#switchport access vlan vlan-id
步骤4:将端口指定至EtherChannel组,并指定PAgP或LACP模式.EtherChannel端口组的取值范围为1-48.
Switch(config-if)#channel-gropu port_channel_number mode { {auto[non-silent] |
desirable[non-silent] | on} | {active | passive}}
对于使用PAGP的四种模式
Auto:当侦测到PAgP设备时(将只启用PAgP)将端口置于被动协商状态,能够对接收到的PAgP做出响应,可是,
不能主动发送PAgP包进行协商。
Desirable:无条件启用PAgP。将端口置于主动协商状态,经过发送PAgP包,主动与其余端口进行协商。
On:不协商(不用PAgP协议,强制开启).将端口强行指定(加入)至EtherChannel。只有两个on模式端口组链接
时EtherChannel才可用。
non-silent:参数主要用于检测链路是否单向失败.默认条例下被设置为auto或desirable参数并参加通道协商
的接口不用周期性接收到对方的PAgP帧,也能够参加PAgP的计算.(若是链路是单向通讯的状况
下,本端发出PAgP帧,链路(本端)却没法接收对方的数据,但此端口(本端口)也参与了
Etherchannel通讯).加入non-silent参数后(非安静模式),本端会要求周期性的接收到对端
的PAgP帧后再使端口参加EtherChannel的通讯,若是没有接收到对端的PAgP帧则会通知STP把
此端口为down的状态,致使端口没法参加Etherchannel和STP的计算.
若是交换机链接到有PAgP能力的伙伴,能够将端口配置为non silent(非安静模式)运行。若是没有为auto或desirable模式指定non-silent关键字,默认为silent。安静模式设置被用于链接到文件服务器或包分析仪(无PAgP能力的伙伴,即单向通讯.由于文件服务器或包分析仪不会产生PAgP帧)。该设置容许PAgP将端口添加至Channel组,并使用端口进行传输.
对于使用LACP的两种模式
active:当侦测到LACP设备时(将只启用LAC),激活端口的主动协商状态,经过发送LACP包,与其余端口进行主动协商。
passive:当侦测到LACP设备时(将只启用LACP),将端口置于被动协商状态,能够对接收到的LACP做出响应,可是,不能主动发送LACP包进行协商。
采用PAgP协议时(因此无ON模式),如下几种模式能够构建EtherChannel:
一个端口为desirable模式,另外一个端口为desirable或auto模式。
一个端口为auto模式,另外一个端口为desirable模式。
采用LACP协议时,如下几种模式能够构建EtherChannel:
一个端口为active模式,另外一个端口为active或passive模式。
一个端口为active模式,另外一个端口为passive模式。
2. 配置EtherChannel负载均衡
EtherChannel还具备负载分担和线路备份的做用。
http://www.visualland.net.cn/view.php?cid=1729&protocol=EtherChannel&title=1. EtherChannel basics 负载均衡FLASH动画.
所谓负载分担:是指当交换机之间或交换机与服务器之间在进行通讯时,EtherChannel的全部链路将同时参与数据的传输,从而使全部的传输任务都能在极短的时间内完成,线路占用的时间更短,网络传输的效率更高。
etherchannel在做数据转发时,是基于数据包的源或目的MAC地址随机选择etherchannel中的一条物理link进行数据转发的。咱们能够经过全局配置命令port-channel load-balance选择是根据源MAC地址仍是根据目的MAC地址进行数据转发来实现负载平衡。
例如:当有两台switch,它们之间有几条link互联做etherchannel,switchA一端链接一台server,switchB一端链接多台clientPC,这时swithA一端的数据流是同一源MAC地址的数据包经过etherchannel转发向不一样目的MAC地址。这时,为了充分利用etherchannel中的全部的物理link,在swithA一端就应该配置为基于数据包的目的MAC地址方式.而switchB一端的数据流是不一样源MAC地址的数据包经过etherchannel转发向同目的MAC地址。在swithB一端就应该配置为基于数据包的源MAC地址方式。
所谓线路备份:是指当部分EtherChannel链路出现故障时,并不会致使链接的中断,其余链路将可以不受影响地正常工做,从而加强了网络的稳定性和安全性。咱们能够经过接口配置命令 pagp port-priority 改变优先级设定哪条物理link主用,哪条备用,一旦主用物理link上产生阻塞,备用link当即启用
具体操做步骤以下。
步骤1:进入全局配置模式.
Switch#configure terminal
步骤2:配置Etherchannel负载均衡
Switch(config)#port-channel load-balance {dst-mac | src-mac | src-dst-ip | src-dst-mac
| dst-ip | src-ip }
dst-mac:根据输入报文的目的MAC地址进行流量分配。在AP各链路中,目的MAC地址相同的报文被送到相
同的端口,目的MAC不一样的报文分配到不一样的端口。
src-mac:根据输入报文的源MAC地址进行流量分配。在AP各链路中,来自不一样MAC地址的报文分配到不
同的端口,来自相同的MAC地址的报文使用相同的端口。
src-dst-ip:根据源IP与目的IP进行流量分配。不一样的源IP——目的IP对的流量经过不一样的端口转发,同
一源IP——目的IP对经过相同的链路转发。在三层条件下,建议采用此流量平衡的方式。
src-dst-mac:根据源MAC与目的MAC进行流量分配。不一样的源MAC——目的MAC对的流量经过不一样的端口转
发,同一源MAC——目的MAC对经过相同的链路转发。
dst-ip:根据输入报文的目的IP地址进行流量分配。在AP各链路中,目的IP地址相同的报文被送到相同的端
口,目的IP不一样的报文分配到不一样的端口。
src-ip:根据输入报文的源IP地址进行流量分配。在AP各链路中,来自不一样IP地址的报文分配到不一样的端
口,来自相同的IP地址的报文使用相同的端口。
步骤3:校验配置
Switch#show etherchannel load-balance
3. 从EtherChannel中移除端口
从EtherChannel中移除端口的具体操做步骤以下。
步骤1:进入全局配置模式.
Switch#configure terminal
步骤2:指定欲配置的物理端口.
Switch(config)#interface interface-id
步骤3:从EtherChannel中移除端口
Switch(config-if)no channel-group
4. 移除整个EtherChannel端口
移除EtherChannel的具体操做步骤以下。
步骤1:进入全局配置模式.
Switch#configure terminal
步骤2:移除Channel端口
Switch(config)#no interface port-channel port_channel_number
其余一些命令
建立以太通道组:
(config)#interface port-channel EtherChannel_number
定义以太通道组的聚合协议
(config-if)#channel-protocol { pagp | lacp }
查看通道接口配置信息:
#show running-config interface port-channel port-channel_interface_number
查看接口配置信息:
#show running-config interface **
查看配置后的通道信息:
#show etherchannel ** port-channel
核实PAGP和LACP
#show interface *** etherchannel
查看EtherChannel配置状况
#show eherchannel summary
Po1(SU) //SU表示EtherChannl正常.(S-Layer2,U-in use) Fa0/1(P) Fa0/2(P) //P表示Fa0/1和Fa0/2都加入了EthernetChannel,并正常运行.(P-in port-channel)
一般
Switch(config)#hostname SW2
SW2 (config)#int fa0/23-24
SW2(config-if-range)#switchport trunk encapsulation dot1q
SW2(config-if-range)#switchport trunk allowed vlan2
SW2(config-if-range)#channel-group 1 mod on
SW2(config-if-range)#exit
port-channel能够设成trunk!!!经常使用
要想作trunk则必须封装成dot1Q! 不然会提示信息
具体配置:
Switch# configure terminal
Switch(config)# interface range fastethernet0/4 -5
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 10
Switch(config-if-range)# channel-group 5 mode desirable|auto|on
Switch(config-if-range)# end
以上配置将F0/四、F0/5端口加入channel-group 5,做etherchannel的端口能够为access端口也可为trunk端口(中继端口)。
在将两个swith间的link做etherchannel与两个swith间的link做trunk有一点类似的地方就是:
1.配置trunk时两端的端口有几种模式:trunk、auto、desirable,
2.配置etherchannel时两端的端口有desirable|auto|on(使用PAGP)或active|passive(使用LACP)几种模式.
所不一样的是trunk端口间协商是使用DTP(dynamic trunking protocol);而etherchannel端口间协商是使用PAGP(Port Aggregation Protocol,cisco专有)或LACP (Link Aggregation Control Protocol,802.3AD )
注意:在技术领域中把TRUNK翻译为中文是"主干,干线,中继线,长途线",不过通常不翻译,直接用原文.并且这个词在不一样场合也有不一样的解释:
一、在网络的分层结构和宽带的合理分配方面,TRUNK被解释为“端口汇聚”,是带宽扩展和链路备份的一个重要途径。TRUNK把多个物理端口捆绑在一块儿看成一个逻辑端口使用,能够把多组端口的宽带叠加起来使用。TRUNK技术能够实现TRUNK内部多条链路互为备份的功能,即当一条链路出现故障时,不影响其余链路的工做,同时多链路之间还能实现流量均衡,就像咱们熟悉的打印机池和MODEM池同样。
二、在电信网络的语音级的线路中,Trunk指“主干网络、电话干线”,即两个交换局或交换机之间的链接电路或信道,它可以在两端之间进行转接,并提供必要的信令和终端设备。
三、 可是在最广泛的路由与交换领域,VLAN的端口聚合也有的叫TRUNK,不过大多数都叫TRUNKING ,如CISCO公司。所谓的TRUNKING是用来在不一样的交换机之间进行链接,以保证在跨越多个交换机上创建的同一个VLAN的成员可以相互通信。其中交换机之间互联用的端口就称为TRUNK端口。与通常的交换机的级联不一样,TRUNKING是基于OSI第二层.若是你在2个交换机上分别划分了多个VLAN(VLAN也是基于Layer2的),那么分别在两个交换机上的VLAN10和VLAN20的各自的成员若是要互通,就须要在A交换机上设为VLAN10的端口中取一个和交换机B上设为VLAN10的某个端口做级联链接。VLAN20也是这样。那么若是交换机上划了10个VLAN就须要分别连10条线做级联,端口效率就过低了。当交换机支持TRUNKING的时候,事情就简单了,只须要2个交换机之间有一条级联线,并将对应的端口设置为Trunk,这条线路就能够承载交换机上全部VLAN的信息。这样的话,就算交换机上设了上百个个VLAN也只用1个端口就解决了。
若是是不一样台的交换机上相同id的vlan要相互通讯,那么能够经过共享的trunk端口就能够实现,若是是同一台上不一样id的vlan/不一样台不一样id的vlan它们之间要相互通讯,须要经过第三方的路由来实现;vlan的划分有两个须要注意的地方:一是划分了几个不一样的vlan组,都有不一样的vlan id号;分配到vlan 组里面的交换机端口也有port id.好比端口1,2,3,4划分到vlan10,5,6,7,8划分到vlan20,我能够把1,3,4的端口的port id设置为10,而把2端口的 port id设置为20;把5,6,7端口的port id设置为20,而把8端口的port id设置为10.这样的话,vlan10中的1,3,4端口可以和vlan20中8端口相互通讯;而vlan10中的2端口可以和vlan20中的5,6,7端口相互通讯;虽然vlan id不一样,可是port id相同,就能通讯,一样vlan id相同,port id不一样的端口之间却不能相互访问,好比vlan10中的2端口就不能和1,3,4端口通讯。
配置EtherChannel
以太通道捆绑几个以太端口为一个独立的逻辑链路。如4006交换机,你能够捆绑在4006任何模块上最多8个兼容的具备相同速率的端口。每一个以太通道具备一个port-channel端口号。要捆绑一个以太通道时,会产生一个逻辑port-channel端口,逻辑端口下的配置可影响与之捆绑的物理端口,但物理端口下的配置不能影响逻辑端口的配置。
1) 三层以太通道(逻辑port-channe)的配置
Switch# configure terminal
Switch(config)# interface port-channel 1 // 建立一个逻辑端口
Switch(config-if)# ip address 172.32.52.10 255.255.255.0
Switch(config-if)# end
*将以太通道内的全部端口指定到同一个VLAN,或者将其都配置为trunk端口;
*若是将以太通道配置为trunk,在以太通道内全部的端口上配置相同的trunk模式。在以太通道内的各端口上配置不一样的trunk模式会引发意想不到的结果;
*在trunking以太通道内,通道内全部端口上支持的VLAN的范围相同。若是各个端口支持的VLAN范围不相同,即便设为Auto或者Desirable模式,端口也不会造成以太通道;
*不要将以太通道内的端口置为动态VLAN端口,这会严重影响交换机的性能;
*GARP,GVRP或者QOS配置不一样的端口不会造成以太通道;
*若是在端口上配置了对广播的限制,将广播限制配做以通道内全部端口百分比为单位的限制。若是使用“包每秒”形式的广播限制,则在超过广播限制的1秒钟内,单播数据包可能丢失;
*启动了安全策略的端口不能造成以太通道,对于以太通道内的端口,不能启动端口上的安全功能;
*若是以太通道内的端口被IGMP组播过滤使用,则必须将PAG和LACP中的以太通道模式设置为OFF。不能使用其余的模式;
*配置为交换端口分析器(SPAN,switchde port analyzer)目的的端口不能造成以太通道;
*若是其中任何一个端口的协议过滤设置不一样,就没法造成以太通道;
*每一个以太通道最多能能包含8个配置兼容的以太接口;
*同一个以太通道内的全部接口的速率和双工模式要求相同;
*启动以太通道内的全部接口。若是你关闭了以太通道内的一个接口,它会被做为链路状态故障处理,其上通讯会转移到以太通道内剩余的接口上;
*STP端口开销值不一样的接口只要配置兼容就能造成以太通道。在端口上配置不一样的STP端口开销自己不会致使接口因为不兼容而没法造成以太通道。可是,在一个以太通道内的全部接口上,最好将STP端口开销配置为同样;
除了以上列举的限制,还有一个须要关注的问题就是你容许那些端口用于以太通道的配置。