当企业网络出现异常,如连接故障、性能问题或者其他异常事件时,需要对网络进行排错。此时使用debug命令是一个很不错的选择。通过debug命 令,网络管理员可以收集到很多有用的信息。如可以了解到网络节点所产生的错误信息、特定协议的诊断数据包、某个接口所通过的数据流量等等。

在实际工作中,为了确定事件、数据包是否工作正常或者某个策略是否有效,往往可以通过这个debug命令来查看交换器等网络设备的进程运转情 况。不过这个命令跟ping等其他排错命令不同,其会带来很多的负面作用。所以在使用的时候,网络管理员需要特别的注意。具体的来说,需要注意一下几点。

注意事项一:不要在网络比较繁忙的时候使用这个命令

通常情况下,使用debug命令是可以帮助网络管理员收集到很多有用的信息。但是需要注意的是,与此同时,这个命令也会产生大量的对于解决问题 没有多少帮助的垃圾数据。也就是说,这个命令本身并没有过滤的功能,其只是简单的收集相关的信息。这不仅会增加设备与网络的负担,而且分析这些信息的时 候,也会有不少的障碍。当信息比较多的时候,只有比较专业的人员才可以从繁杂的信息中整理出有用的信息。

其次在debug命令使用的过程中,也会使得CPU出现比较大的开销。这会对网络的性能产生很大的负面影响。有时候甚至导致网络的堵塞。从而使得网络故障雪上加霜,破坏网络设备的正常运转。

基于如上原因,笔者建议,最好能够在网络流量或者用户比较少的时候使用这个debug命令,从而在最大程度上降低这个命令对于其他用户的负面影 响。如果正的有必要马上解决问题,等不到网络空闲的时候,那么必须要遵守如下这个原则。即应当在已经了解故障的特定类型流量或者解决方案,并且已经将故障 限定在某个局部范围内之后,才使用这个debug命令进一步收集相关信息。如此的话,可以在这个命令后面加上相关的参数,来降低设备CPU的开销,提高信 息的使用价值。

注意事项二:需要注意输出结果的不同

在不同的情况下,debug输出结果的格式是不同的。网络管理员掌握这些输出结果的差异,对于他们进行排错具有很大的使用价值。如上所 述,debug命令产生的信息量是比较多的。如果管理员能够了解不同情况下的不同输出格式,那么就可以在最短时间内找到自己所需要的信息。也就是说,可以 帮助管理员提高信息过滤的效率。

那么具体有哪些不同呢?笔者对此做了一些总结,供大家参考。一是需要注意,在使用这个命令进行排错的时候,输出的格式会随着协议的不同而变化。 如某些协议只是为每个数据包产生单行输出,而有些协议则为会数据包产生多行输出。当网络管理员掌握这个规则之后,可以不看内容,而只看输出的格式,就了解 这些输出结果可能是对应哪些协议的。这对于网络管理员从海量的信息中定位所需要的内容,是非常有帮组的。

二是需要注意这个命令所带的参数不同,其输出的结果的数量也是不同的。有些debug命令会产生大量的输出结果,而有些命令输出的结果数量少的 可怜。对于网络排错来说,并不是信息越多越好,也不是说越少越好。而是要看输出的结果是否对口,是否切重要点。这就对网络管理员提出了比较要的要求。要求 管理员必须掌握尽可能多的debug命令,并在恰当的时候使用恰当的debug命令。也就是说,最后输出的结果能够满足管理员的需要。太多的话,是一种呢 浪费,同时也会增加交换机等设备的CPU负担。笔者的建议是,在使用这个命令的时候,最好能够从小到大。只有在当前命令收集的结果不够满足当前需要的情况 下,才使用更大范围的命令。这可以有效的降低设备的CPU负荷。

最后的一个变化就是根据错误的情形、协议的不同、采用命令的不同,其返回结果的格式也会有差异。如有些情况下其产生的结果是文本行的格式。而有 时则是以字段格式的方式提供。这也有助于网络管理员过滤信息。另外需要注意的是,有些管理员可能会把debug命令收集起来的信息存入到数据库中进行更加 复杂的分析。此时就需要这个字段与文本行格式的差异。在某些情况下,需要对文本行格式的数据进行整理,才能够满足管理员的需要。