如何修复网络路由问题?
多年以来,大多数麻烦的网络路由问题都用下面这些方法解决:采用多数供应商设备中的标准技术,或者部署更好的第三方软件。
例如,如果您的生成树网络占据重要位置,或者无法离开nProbe或Wireshark,那么您就应该使用可靠的解决方案,解决以前需要几个小时才能修复的问题。IEEE 802.1D支持无回路的连接,而Wireshark只需要简单的操作就可以清理任意数据包。然而,即使有这么多成熟的网络管理技术和工具,仍然有一些网络路由问题需要管理通过安全shell进行调试。路由分析就是一个很好的例子。
网络便利工具
或许我们不会像安灭火器那样在墙上安装浅蓝色网线,但是每一位管理员都知道从哪里可以马上找到。解决路由问题需要通过命令行接口重复查看状态表,而且您总是需要在各个机架上来回走动。您甚至还可能需要连接几台设备的控制台,才能跟踪路由。但是,这些方法可能还无法解决路由调试的真正挑战。路由似乎经常会出现问题,而寻找问题根源的最有效方法就是实时获取错误信息。
即使您配置了很好的syslog警报,许多路由变化也只会隔几天出现一次,因此很难捕捉它们。而且,用户也不是报告路由错误的最佳来源:在页面加载变慢或聊天应用延迟明显时,他们只是会向周边人抱怨(虽然在传输路径出现抖动或丢包问题时,有一些VoIP客户会故意给出主观的低评分)所以,问题就出现了:“您该如何定期查询路由表,并在网络路由出现问题时马上能接受到警报呢?”
路由解析时产生的影响
网络的实际路由包含许多因素,它们会(但不总是)以各种方式对各自产生影响。路由信息协议、开放最短路径优先、边界网关协议、增强内部网关路由协议和静态配置等都会对最终路由产生影响。本质上,它们一起构成了一种虚拟配置。但是,最终的“物理”路由只能在一个位置验证:路由表。但是,谁有那么多时间整天盯着所有设备的路由表呢(而且也没道理这样做)?
首先,每当路由发生变化时,它会强制路由器重新计算网络拓扑,因此网络会充满更新的数据包。这并不好。其次,路由变化检测通常在问题出现之后,因此您必须花时间查看各个路由叶节点,才能发现几小时前发生了什么。有时候,路由变化可能会降低流量传输速度,因此路由可能回滚到前一条性能不佳的路由。而有时候,这些变化可能会切断某条链路或中断关键用户服务。
幸好,许多网络性能监控解决方案能够轻松访问所监控设备的路由表。因为它们能够感知路由变化,所以您不需要连接控制台,就可以接收到警报、生成报表或直接查看路由表。将它们与网络拓扑发现工具相结合,您就可以监控各个终端的完整流量路由,检查接口连接环境的路由细节。一层网络是否仍然所有问题的根源,跟踪一台服务器到一个连接信号灯熄灭的端口之间的中断数据包流,不需要管理员离开自己的工位。路由变化历史报告和变化路由查看视图通常都是免费的。
肯定,当路由变化时发送syslog消息是很方便,但是您仍然必须监控日志,才能及时捕捉有时很难理解的变化。为了节省您的时间,花一些时间配置路由监控工具,以实时方式发送与变化相关的警报,并且跟踪它们的变化历史。这样,您就能够更快速地修复问题,并且淘汰控制台连线的方法。