当前位置: 首页 > 网络技术 > 交换技术 > 正文

如何控制端口流量不让交换机被顶死

时间:2015-01-21

交换机是局域网中的重要连接“枢纽”,一旦它的工作状态出现意外的话,那么连接到该交换机上的所有计算机都得“遭殃”,轻则出现上网缓慢的现象,严重的话干脆就不能上网了,为此选择性能优越、质量上乘的交换机来组建一些重要网络,是非常关键的。然而,无论性能多么优越、无论质量怎么上乘的交换机,如果不加以妥善管理、维护,那么它的工作状态就很容易出现意外。这不,本文下面一则网络故障,就是由于网络管理员没有对交换端口的流量进行限制,造成了交换机被大流量“顶死”,最终引发了上网用户大面积断网的现象;为了不让这种故障现象再次发生,网络管理员决定控制上网端口,限制计算机的数据传输速度,确保交换机不会频繁受到大容量数据信息的“冲击”!

交换机被“顶死”

某大楼共有1000台左右的计算机访问Internet,为了方便控制和管理这些计算机,它们被连接到若干台普通二层交换机上,所有二层交换机都通过多模光纤线路连接到大楼机房的路由交换机上,路由交换机通过本地电信部门的一条共享1000MB的宽带光纤线路,与Internet网络直接连接。所有计算机根据所处单位的不同,被划分到不同的虚拟工作子网中,每个虚拟工作子网都互相独立,各个子网中的计算机不能进行跨网访问,如此一来就能避免网络病毒、广播风暴等不正常现象,危险整个大楼网络的运行稳定性。

大楼网络刚开始投入运行的时候,网络管理员在不同的虚拟工作子网中进行测试,发现每台计算机的上网速度都很快,而且各个上网用户对大楼网络的传输速度也很满意,每天几乎没有故障电话前来“骚扰”网络管理员。可是,随着时间的推移,网络管理员接到的故障电话开始多了起来,有说自己的计算机上网速度明显不如以前快了,有说自己的计算机突然上网慢了起来,有说自己的计算机经常不能稳定上网,直到有一天楼层出现了大面积不能上网故障现象,这才让网络管理员意识到问题的严重性。他立即根据组网资料,查找到不能上网楼层使用的交换机IP地址,并尝试远程登录进目标交换机后台系统,来查看各个交换端口的状态信息时,他发现远程登录操作竟然失败了;后来,网络管理员赶到故障交换机现场,通过Console线缆连接并利用超级终端程序直接登录进该交换机的后台系统,再进入该交换机与大楼路由交换机相连的级联端口配置模式,并在该模式状态下使用“display interface”命令,查看了级联端口的状态信息,发现该端口的输入输出流量特别大,特别是最近30秒内的输入数据包流量明显不正常。

按照同样的操作方法,网络管理员又检查了其他普通交换端口的状态信息,发现有的交换端口输入、输出流量大小正常,有的输入、输出流量也比较大;正常情况下,普通交换端口的输入数据包流量应该不会超过每秒钟500个数据包,可是在故障交换机下,网络管理员发现有很多普通交换端口下的输入数据流量竟然超过了每秒钟1000个数据包,这显然是不正常的,那么这些流量究竟为什么会这么大呢?起初的时候,网络管理员怀疑是故障交换机存在网络环路,可是启用了故障交换机的环回受控测试功能后,发现并没有网络环路存在,为此网络管理员估计这些大流量可能是故障交换机下面的上网用户恶意下载造成的。继续在故障交换机的后台系统中,执行“display cpu”命令时,网络管理员发现交换机系统的CPU资源已经被消耗掉90%以上,而正常情况下交换机系统的CPU资源消耗率应该在50%以上,看来故障交换机已经被上网用户的大流量“顶死”了,从而引发了连接到该交换机上的所有用户都不能正常上网了。

解决故障的可行方案

从上面的故障描述来看,楼层用户大面积不能上网的原因,显然就是上网用户毫无节制地消耗宝贵的带宽资源引起的。要想不让交换机被大流量的数据包“顶死”,通常有两种方案可供选择,一种方案是想办法扩大访问Internet网络的出口带宽大小,让上网用户继续在“高速高路”上自由驰骋,另外一种方案就是保持上网出口带宽大小不变,想办法限制每个用户的上网访问流量大小,确保他们不能过度占用上网出口带宽资源。

考虑到目前上网线路的租用,是根据出口带宽大小的不同进行收费的,并且出口带宽大小越大,上网线路的租用费用也是越高,显然通过简单地扩大上网出口带宽的大小来避免交换机被堵死的故障,需要支付较高的网络运行成本,而且即使使用了这种应对方案,交换机仍然存在被大容量数据包“顶死”的可能。经过权衡考虑,网络管理员打算从网络优化设置着手,来限制上网用户的访问流量大小,禁止其进行BT下载或在线欣赏大容量多媒体影片时恶意抢用上网带宽资源。

更多精彩内容:http://www.bianceng.cn/Network/jhjs/

由于限制上网流量大小的方法也有很多,例如选用一些专业的限速工具,我们可以针对某个IP地址,来限制计算机的上网访问流量大小,或者通过代理服务器中转的方法进行流量控制,避免上网用户随意消耗上网带宽资源;不过这些方法都有明显的缺憾,例如使用代理服务器进行中转控制上网流量时,上网用户的访问速度会受制于代理服务器的性能,而且代理服务器同时处理的任务比较多时很容易发生瘫痪现象,而使用专业工具进行限制上网流量时,如果上网计算机的IP地址不停变化的话,那么流量限制效果也不会好到哪里。最后,网络管理员经过认真分析、考虑,决定使用楼层交换机自带的网络管理功能,来限制每个上网交换端口的出入速度,日后无论上网计算机的IP地址怎么变化,只要接入到经过限速设置的交换端口上,它们的上网流量大小都被控制在一个规定的范围,如此一来交换机受到大流量数据包的冲击机率就大大降低了。

很明显,这种应对方案不需要额外支付上网成本,不需要单独增加设备,更不需要调整大楼网络已有的组网结构,因此这种限制端口流量的方案既能保证交换机不容易受到大容量数据信息的“冲击”,又能保证大楼网络可以稳定地运行。当然,这种应对方案仅对中小规模的网络以及上网应用比较单一的网络比较适用!

限制端口的流量大小

选定了解决故障的可行方案后,网络管理员立即动手准备对故障交换机的各个交换端口访问速度进行限制了。由于不同型号的交换机,限制端口流量大小的方法是不一样的,网络管理员发现单位网络中故障交换机使用的是Quidway品牌的交换机,上网搜索相关资料后,他发现该品牌的交换机往往使用line-rate命令来限制端口流量速度,同时他发现该品牌的交换机报文速率限制级别取值为1~127。如果速率限制级别取值在1~28范围内,则速率限制的粒度为64Kbps,这种情况下,当设置的级别为N,则端口上限制的速率大小为N*64K;如果速率限制级别取值在29~127范围内,则速率限制的粒度为1Mbps,这种情况下,当设置的级别为N,则端口上限制的速率大小为(N-27)*1Mbps。

考虑到整个大楼网络的出口带宽大小为共享1000MB,网络管理员决定将楼层交换机上每个普通交换端口最大传输速度的大小限制为5Mbps;假设,局域网中的某台普通计算机要是连接到了楼层交换机的第2个以太端口上,网络管理员现在希望这个以太端口的最大传输速度只能为5Mbps,要达到这个控制目的,那么他只要先以系统管理员身份进入目标楼层交换机后台管理系统,执行“system”字符串命令,将其切换到系统全局配置状态,在该状态下继续执行字符串命令“interface Ethernet 0/2”,进入第2个以太端口配置模式,在该配置界面下执行“line-rate outbound 32”命令,这样一来就能将目标交换端口的出方向报文流量速度限制为5Mbps了;按照同样的操作方法,再执行“line-rate intbound 32”命令,将目标交换端口的入方向报文流量速度也限制为5Mbps。之后,再对其他交换端口执行相同的操作,将它们的流量传输速度全部限制为5Mbps,那样的话整个交换机出口带宽资源就不会被某一个交换端口过度消耗了,那么交换机也就不容易被大容量数据“顶死”了。

当然,在局域网规模比较大、计算机数量比较多的情况下,我们就不能简单地针对普通楼层交换机的交换端口进行限制流量了,毕竟这种限制方法工作量非常大,不利于提高网络的管理效率,而且日后需要恢复普通交换端口的工作状态时,也是比较麻烦的。此时,我们可以尝试在局域网的核心交换机上,对每个楼层交换机的级联端口访问流量进行限制,以便限制各个楼层网络对整个核心交换机产生大流量“冲击”。