EtherChannel接口捆绑 提高设备之间的安全性

在一些对于安全性要求比较高的场合,往往需要提供冗余的设备来提高设备之间的安全性。如下图所示,为了提高路由器与交换机之间连接的安全,需要多提供一个交换机。如此的话,即使某个交换机与路由器之间的链路出现问题,另外一个交换机仍然可以与路由器进行通信。这就是下图所示的B方案。在这个方案中需要提供额外的设备,无疑会增加企业的投入成本。笔者今天在这里要给各位读者介绍的是下图中的A方案,通过接口捆绑来实现设备之间的高可用性。

一、接口捆绑技术的特点

在企业边缘的路由器与核心交换机之间,一般都会有空余的接口。通常情况下,核心交换机与边远路由器只需要通过一一对接即可。即交换机的一个接口接到路由器上的一个接口。此时剩余接口的作用就没有发挥出来。接口捆绑技术就是利用这些多余的接口来提高设备之间连接的安全性。举一个简单的例子,就是将交换机的三个接口同时连接到路由器或者其他设备的三个接口上。这三个接口的线路可以同时进行通信。如果某条线路出现问题的话,并不会影响其它两条线路的正常运行。可见除了能够提供高可用性之外,还可以提高带宽。

可见通过将多个端口进行绑定,EtherChannel技术就可以充分利用现有端口的优势来增加带宽与提高高可用性。以思科的Catalyst交换机为例,最多可以将8个端口捆绑在一起,实现单个逻辑链路的汇聚。

当某个链路失效之后,通过采用其它未失效的链路来维护链接。通常情况下,如果端口属于同一个模块,此时只有失效链路中正在传输的桢会被丢失,而其它链路上的数据不会有影响。故即使链路出现故障,并不会给企业造成明显的损失。

二、EtherChannel接口捆绑配置的建议

在实际工作中,笔者比较推荐使用EtherChannel接口捆绑技术。不过在使用这个技术来提高设备之间连接的安全性时,笔者要提一些建议。这些建议是笔者经验的总结,有些可能没有理论上的支持。这里提出来供大家讨论。

一是需要注意对所采用端口的限制。如果将交换机上的五个端口捆绑在一起,那么对于这些端口有什么特殊的要求吗?答案是肯定的。通常情况下,要求这些端口采用相同的协议。而且还需要他们具有相同的速度与相同的双工模式。协议的话主要有PAGP和LACP两种。关于这两种协议的差异,笔者在下篇文章中会着重展开,在这里就不做详细叙述了。这里需要强调的一点是,如果采用的是LACP协议,那么要求所有的端口都采用全双工模式。而如果采用PAGP协议的话,只要求双工模式相同即可。即要么都采用半双工模式,要么都采用全双工模式。在实际配置时,这一点需要额外的注意。如果所采用的工作模式不匹配,将会出现难以预料的错误。

二是如果企业重实现了VLAN,那么在实现端口捆绑时,还需要注意Vlan对于这个端口的要求。通常情况下,要求捆绑在一起的端口必须属于同一个虚拟局域网。笔者刚开始接触这个技术的时候,就在这里载过跟斗。那次交换机上已经划分好了Vlan,其中456端口属于VLAN3,78端口属于VLAN4。笔者向江6、7、8三个端口捆绑在一起,以提高交换机与路由器之间连接的安全性。但是怎么配置都不成功。后来研究了好长一段时间,才发现这三个端口分属于不同的Vlan,才导致配置不成功。在实际工作中,往往是先配置了Vlan,然后再考虑实现捆绑技术。此时由于先入为主的影响,一般会忽略Vlan这个限制因素。为此笔者在这里特别强调这一点。如果想要将多个端口捆绑起来,那么这几个端口必须属于同一个Vlan。如果有开销相关方面的设置,那么还同时要求他们具有相同的开销设置。

三是对于端口数量与模块的设置。通常情况下思科对于端口捆绑的数量最多是不超过8个。其它品牌的交换机在这方面可能有不一样的限制。一般来说,对于这些端口的位置没有严格的要求。也就是说,如果需要将三个端口捆绑起来,这三个端口在交换机上的分布并不需要连续的。这个特点对于我们的日常工作非常有用。如2号端口是备用端口。在没用的时候可以将其与678号端口捆绑在一起。如果其另有用途时,再取消捆绑。显然这提高了端口捆绑技术的灵活性。另外对于模块来说,也没有严格的限制。也就是说,对于那些模块化的交换机,其需要捆绑的端口可以分别属于不同的模块。这就有利于我们对交换机进行扩充。如企业现在没有实现捆绑技术。想实现捆绑技术也没有多余的端口。遇到这种情况时,可以给这个交换机增加一个模块(如两个端口)。然后可以将这两个端口与原有的端口捆绑在一起。不过需要注意的是,不同品牌不同规格的交换机对这一点可能有不同的要求。在设备购买或者具体配置之前,需要确认清楚,以免做无用功。

四是特定用途的端口不能够用来捆绑。某些端口有时候往往有特殊的用途。如一般会将交换机的某个端口设置为“交换端口分析器”。对于这种具有特定用途的目标端口,就不能够于其它端口捆绑在一起。在实际工作中,我们往往可以采取折中的方式。如在需要使用时,将这个端口配置为特定用途的端口。不需要使用时,取消相关的设置。然后再将其与其它的端口实现捆绑。这就可以在最大程度上提高端口的利用率。毕竟特定用途的交换机端口往往只用在特殊的场合下。如网络排错或者网络优化。用到的几率比较少。与其放在那边白白的浪费掉,还不如把他们利用起来。

三、端口捆绑同时实现安全与负载均衡

通常情况下,冗余链路只有一条链路可以与相邻设备进行通信,除非进行了特殊的配置。如现在采用三条链路来连接交换机,其它两条链路会因为STP阻塞而转发流量。而采用端口捆绑技术的话,则没有这方面的限制。

因为对于STP来说,是将EtherChannel的接口(多个端口捆绑起来的接口)当作一个单一的逻辑接口。所以在实际运作时可以将数据流量同时分配到多个捆绑起来的接口中。通过将流量分布到捆绑起来的多个端口中,如果某条链路发生故障的话,数据量损失是最小的。因为只有正在传输的流量被丢失。当一条链路发生故障时,设备会自动进行转换,采用正常的链路来发送数据。这里需要注意的是,思科的交换机系统采用的是散列的算法来决定数据流量的分配,来选择某个特定的外出接口,而不简单的根据平均分布的规则。通常情况下,散列的算法比起简单的平均分配来说更加的科学。

在实现端口捆绑时,对于上面提到的注意事项需要引起大家额外的关注。说实话,其具体的配置难度并不是很大。主要的难点在于前提的规划与后续故障的排除上。如果在配制端口捆绑时,能够严格遵守上面提到的一些限制,那么故障就不怎么会发生。相反如果真的出现连接故障或者没有起到预计的效果,在排错时也需要考虑,当前的配置有没有违反上面的这些限制规则。