网络故障是在日常工作中经常会遇到的问题,尤其是对于那些经常需要和网络打交道的网络工程师们,对于他们而言,如何才能快速进行网络故障的排查、及时解决网络问题呢?接下来我们来讲讲网络排障的基本思路。
一、首先需要熟悉OSI七层模型与TCP/IP协议栈
这应该是网络排错要知道的最基本的知识了。
无论是OSI七层模型还是DoD模型,都是用来描述网络通信的一个过程,以让我们对网络数据的发送和接收有一个大致的认识。OSI七层模型对应OSI七层模型的协议,DoD模型对应DoD模型的协议,也就是TCP/IP协议栈。
TCP/IP协议栈里面的协议就显得十分重要了,比如DNS、TCP、UDP、IP、ICMP、ARP,这些最基本的得知道,我们不需要像《TCP/IP协议栈》中说得的那么细,但至少,对于这些协议的基本功能我们是必须得要知道的,这些就不是一两句可以说清楚的了,后续我会发布相关介绍文章。
二、了解网络通信的基础设备和其对应的OSI层次
像交换机、三层交换机、路由器、防火墙这些最基本的网络设备应该要有些了解,尤其是它们对应的OSI层次以及作用,比如普通的二层交换机对应OSI七层模型中的数据链路层,它可以隔绝冲突域,同时可以通过虚拟局域网技术(VLAN)来隔绝广播域,二层交换机通过二层地址即MAC地址来实现数据帧的转发;再比如路由器,它对应网络层,可以提供路由寻址的功能等等。
三、网络排障五个基本步骤
基本思路如下
1、检查物理链路是否有问题。
2、查看本机IP地址、路由的设置是否有问题;
3、测试网关或路由器的通畅情况;
4、测试ping公网ip的通畅情况;
5、测试DNS的通畅情况,直接ping网站地址;
一般进行排障需要用到Windows系统,以下这些命令对于排障来说非常重要。
网络排障详细步骤
为了更好的讲述网络排错的过程和思路,假设有下面的一个网络环境:
接下来,我们就以上面的网络环境为例子,详细介绍网络排错思路。
首先应该检查物理链路是否有问题
检查物理连接:首先,确保所有网络设备(如电脑、路由器、交换机等)都已正确连接并且电源正常。检查电缆是否有损坏或松动的情况,包括网络接口卡(NIC)的连接。观察网卡后侧的指示灯是否正常闪烁,这可以帮助判断是否存在物理层面的连接问题。
检验网络设备状态:查看路由器、交换机等设备的指示灯状态,确认它们是否正常工作。如果设备的指示灯异常或不亮,可能需要重启或更换设备。
1、检查IP地址设置
检查IP地址设置:确保电脑的IP地址、子网掩码、默认网关和DNS服务器都配置正确。错误的IP配置可能导致无法访问网络资源。
如果采用的是DHCP自动获取的方法,只需查看本机设置是否开启了自动获取IP与相关服务。
如果用的是静态IP,则必须注意IP地址有无错误,子网掩码有无问题。
另外提一下,给电脑分配ip地址时,最好是绑定mac地址,避免用户私改ip地址,造成ip冲突。
一般可以用下面的命令查看:
输入
2、检查路由设置
对于服务器、PC,一般是指默认网关的设置了;对于路由器本身或三层交换机,那就是静态路由或动态路由的设置问题了。
3、检查DNS设置
主要是要确保所设置的DNS服务器地址到底有没有提供域名解析服务或者是否出现了故障,你得设置一个正确的DNS服务器地址或可以自动获取。在windows上面你可以通过下面的命令查看:
输入ipconfig/all
测试网关或路由器的通畅情况
在上面的网络环境中,在网络通的情况下,我们在电脑上使用命令tracert -d命令,会得到下面的结果:
输入tracert -d
www.baidu.com 利用百度的网址测试结果,我们可以清楚地知道电脑在访问互联网时,数据的走向情况:
根据这个数据走向,我们就可以得到一个重要的思路,就是根据数据走向来检测网络的通畅情况!因此,我们可以分两步:
1、我们可以在自己的电脑上ping自己网关的地址,看是否有响应?
一般这样的判断方法是比较快的,但有时候,无论怎样都ping不通,那么则可能有以下的几种情况:
1、网关设备做了禁止ping的设置;
2、网关接口或网关设备出现故障。
对于第一种情况,一般很少会在这些设备在做ping的限制操作,当然,网络安全等要求十分严格的除外。
对于ping不通的时候,建议在电脑上执行如下操作:
arp -a :网关地址和网关的mac地址。
即查看电脑本身有没有获取到网关的MAC的地址,显然,如果没有网关的MAC地址,那也是不可能ping通网关的,在排除了前面电脑设置的问题后,你可以猜测是网关设备出了问题,这时就可以联系网络工程师对网关设备进行测试了。
2、测试到其它路由器的通畅情况
前面一步没有问题了,也就是电脑到网关通信正常了,再测试网关到出口路由器的通畅情况:
这里,我们使用tracert -d命令就可以了:
如果发现ping不通,那么可能是下面的情况:
1、网关设备与路由器之间的物理链路问题;
2、网关设备与路由器之间的设置问题,比如路由协议、接口配置之类的。
上面的步骤完成了,假设你的出口路由器设置是没有问题的,比如NAT与默认路由等的设置没有问题,那么我们大致可以知道,内网的一个基本通信是正常的(至少你的电脑和出口路由器的通信没问题),我们就要看看电脑到底能不能访问互联网了。
测试ping公网ip的通畅情况
来到这一步的时候,就说明前面三步是没有问题的,也就是说,本地局域网络的通信是正常的,这时要做的就是判断本地局域网络与外网(公网)之间的通信有没有问题了:
这里采取的是直接ping公网地址的方法,是为了排除DNS的影响(万一你的DNS设置又有问题),我们可以ping一些没有禁止ping的公共DNS服务器地址,比如114.114.114.114和8.8.8.8的
这样之后,基本上就可以确定网络是没有问题的了。能ping通外网,说明网络是没有问题的。
测试DNS的通畅情况。
这一步可以直接ping网站地址,看有没有回显IP地址,至于通不通是另外一回事,只要可以回显IP地址,那么DNS就没有问题了,不过这里仍然要说一下nslookup这个命令,这是一个非常好用的命令。
当然也可以像下面这样使用
使用nslookup命令,作用有二:
1、测试你设置的DNS服务器有没有问题;
2、在不考虑DNS服务器是否智能的前提下,你可以根据回显IP地址速度的快慢来大致判断DNS服务器的优劣情况;
需要充分利用nslookup命令了来进行排障步骤。
对于本文中还有不懂的地方可以点关注随时私信给我,我看到后会在第一时间给到答复,本期就到这里了,我是稿定怪,我们下期再见!
赞(52)