梦飞数据中心 > 帮助中心 > VPS相关 > VPS服务器诊断网络教程

VPS服务器诊断网络教程

Ping程序的目的在于测试另一台美国VPS服务器主机是否可达,一般如果Ping不到某台主机,就说明对方主机已经出现了问题,但是不排除链路中防火墙的因素、Ping包被丢弃等原因而造成Ping不通。
 
Ping命令最简单的使用方式是接收一个主机名或IP作为其单一的参数,在按回车键后,执行Ping命令的主机会向对端主机发送一个ICMP的echo请求包,对端主机在接收到这个包后会回应一个ICMP的 reply回应包,在 Linux系统下Ping命令并不会主动停止,需要使用Ctrl+C组合键来停止,Ping命令将会对发出的请求包和收到的回应包进行计数,这样就能计算网络丢包率。
 
Host命令是用来查询DNS记录的,如果使用域名作为Host的参数命令返回该域名的IP。
 
在IP包结构中有一个定义数据包生命周期的TTL字段,该字段用于表明IP数据包的生命值,当IP数据包在网络上传输时,每经过一个路由器该值就减1,当该值减为0时此包就会被路由器丢弃。这种设计可避免出现一些由于某种原因始终无法到达目的地的包不断地在互联网上传递,无谓地耗用网络资源。
 
不过路由器也不是直接就将TTL值为0的IP包丢奔的,它会同时给发送该IP数据包的美国VPS服务器主机发送一个ICMP超时消息,主机在接收到这个ICMP包后就同时能得到该路由的IP地址。
 
根据上面两个特点,一个检测数据包是如何经由路由器的程序 Traceroute出现,该程序的工作原理是先构造出一个TTL值为1的数据包发送给目的美国VPS服务器主机,这个数据包在经由第一个路由器时,路由器先将TTL值减1变为0,然后路由器将该IP包丢弃,同时给发送一份ICMP消息,这样就得到了经过的第一台路由器的IP地址,然后再构造出一个TTL值为2的数据包,以此类推,就能得到该IP包经历的整条链路的路由器IP。
 
这里会有一个问题,Traceroute如何确认该IP包成功地被目的主机接收。这里Traceroute所做的工作就是发送一个UDP包给目的主机,同时制定该UDP接收的端口为主机不可能存在的端口,主机在接收到这样的包后,由于端口不可达,因此会返回一个“端口不可达”的通知,这样就能确认目的主机是否可以接收到数据包。
 
基于以上的命令和原理,解决网络在故障时采用的步骤总结如下:
 
1、确认网卡本身是否能正常工作。利用Ping工具可以确认这点。如果Ping不通,一般可以认为本机 TCP/IP协议有问题,但出现这种现象的概率比较低。
 
2、确认网卡是否出现了物理或驱动故障。使用Ping本机IP地址的方式,如果能Ping通则说明本地设备和驱动都正常。
 
3、确认是否能Ping通同网段的其他主机。这一步主要是确认二层网络设备工作是否正常。如果Ping不通往往说明二层网络上出现了问题,可能涉及交换机的端口工作模式、Wan划分等因素。
 
4、确认是否能Ping通网关IP。如果数据包能正常到达网关,则说明主机和本地网络都工作正常。
 
5、确认是否能Ping通公网上的IP,如果可以说明本地路由设置正确,否则就要确认路由设备是否做了正确的Nat或路由设置。
 
6、确认是否能Ping通公网上的某个域名,如果能Ping通,则说明DNS部分设置正确。
 
部分文章来源与网络,若有侵权请联系删除,谢谢!

(责任编辑:Anny) 部分网站内容及图片来源于网络,如有侵权或违规内容请联系管理员删除!