网络故障检测和排除的方法自己总结了下,大概有三种:

A ISO七层模型法(包括什么自上而下,自下而上,分而治之等)

B 跟踪流量路径法

C 对比替代法

排错的功夫也大概分为三个层次:

1.就是使用对比替代法的层次,对深层次的网络原理不是很熟悉,但是可以解决一些问题,像我这种菜鸟目前就是这个层次,大多只是为了解决问题而解决问题,完了之后什么也没学到。

2.使用AB两种方法的综合,心中有基本的网络模型,和数据流量,协议工作过程,可以有目的有计划的排除错误,能明白问题大致的原因和原理。可以从中吸取和积累经验。

3.这是我能认识到的最高层次了,对网络模型,协议原理,数据包结构等各个细节都有深入的认识,可以说是心中有丘壑的境界了,可以找到问题的根源和本质,这个层次使用的思路也是AB两种的结合。需要有抓包,分析数据包,分析流量的能力。

第一层次的基本思路是:只让一个量变化,保持其他所有的量不变,以测试其问题所在。

第二层次见到的是以七层模型和链路组成的平面模型,可以通过各种命令和方法缩小故障范围,逐步定位故障。


网络排错模型之我见----模型,基线,协议,数据包_第1张图片

如能从CNT ping 通RT,则大多情况下都能说明如下区域是工作正常的,(有时候能ping通不能,但是延迟大或者丢包等,不能说没问题,这种问题大概需要第三次的能力。)

这个层次我自己最常用的命令有:

首先是ping,能通说明网络层及以下都没有问题,如果ping不通也不能就说明有问题,比如路由交换机上的ACL对ICMP做了限制,也会导致ping不通,而其它服务实则是正常的。

接着就是telnet,它可以再以上说的情况下使用,telnet IP address port 用这种方式可以测试端口的连通性,如果成功,当然也能说明网络层是通的,但是这需要知道目的服务器有哪些服务端口。80端口已经是很常见的端口了,不仅仅应用于web服务了。

还有就是tracert,用于判断大致的故障设备,它使用的也是ICMP协议,很可能也被限制。


网络排错模型之我见----模型,基线,协议,数据包_第2张图片

之前说了,在这个层次需要有基本的网络原理,协议等概念。大致要明白:每层的功能,有哪些协议,最常见的问题,问题的验证方法,排错工具等。反正是越深入越好。

我自己总结的,水平有限,希望高手补充:

网络排错模型之我见----模型,基线,协议,数据包_第3张图片

第三个层次,是我所能认识到的最高层次了,目前。

在这个层次,看到的应该是一条线,一个流程,是以数据包的产生,封装,转发,拆分,重封装,等等每一个步骤为基准组成的“线”。这就要求知道,协议是如何工作的,它是根据什么做出决定的,封装时怎样的,数据包的哪些字节的作用是什么,都要心中有数。要明白正常的情况应该是怎样的,产生现在这种情况是哪个环节出了错,哪个协议没有工作,原因是什么,协议的配置哪里出了错。(我的想法:配置文件就是进程实体的行为标准。)

这里主要关注的对象应该是:协议(还包括任何会对数据包的转发,生产,处理等各个方面产生影响的服务,如软件防火墙,ACL,QOS等等),数据包,基线。show,debug,wireshark,等等工具和命令就是显示协议的运行状态,参数和数据结构的。

这个层次,我没有发言权,不过我知道,要达到这个层次,大概需要的:

1.需要学会wireshark的使用,学会端口映射等抓包技术。

2.《TCP/IP协议详见》,需要看完并有所悟。

3.当然,如果搞路由交换,思科的话,至少也得是NP级别。

总之,关键点是协议和数据包!

菜鸟浅见,敬请拍砖!