ping 问题分析
ping 是什么
ping 是常用的网络管理命令,ping也属于一个通信协议,是TCP/IP协议的一部分,适用于windows和linux以及unix。根据reply 反馈结果,来检查网络是否通畅或者网络连接的速度(time)是否正常。主要是端对端的,针对目标ip或者目标网址。
OSI
- 物理层: 物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输;
eg:RJ45等将数据转化成0和1;
- 数据链路层: 数据链路层通过物理网络链路供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流控;
可以简单理解为:规定了0和1的分包形式,确定了网络数据包的形式;
- 网络层: 网络层负责在源和终点之间建立连接;
可以理解为,此处需要确定计算机的位置,怎么确定?IPv4,IPv6!
- 传输层 传输层向高层提供可靠的端到端的网络数据流服务。
可以理解为:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议;
- 会话层 会话层建立、管理和终止表示层与实体之间的通信会话;
建立一个连接(自动网络寻址);
- 表示层: 表示层供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别;
可以理解为:解决不同系统之间的通信,eg:Linux下的QQ和Windows下的QQ可以通信;
- 应用层: OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等;
规定数据的传输协议;
ping 原理
ping命令使用的是检测源和目的ip间导通性测试的icmp协议,属于三层网络ip层协议。
ping的过程,无论是源主机发出request请求还是目的主机回reply的过程,都是首先根据目的ip查找本地路由表,确定下一跳的出口,然后根据下一跳的ip在arp缓存里确定是否有下一跳ip的mac地址,没有就发出arp请求去查找。有的话,二层和ip层组包发出。
源主机ping发出含一串数据的包(如123456789abcde之类)request消息,封装在二层上,对方收到后,把这串包原路反射送回来,源pc收到后,认为是对方可达。所以它涉及二层的mac地址和ip层的交互。当对方存在问题时(ip地址不存在,没有路由等),对方的ip或者经过的网络节点会返回icmp的差错消息给终端源ip。使用的端口和ip要根据节点的路由表进行确定,发起方根据返回结果来产生回显,若在ping的request消息发出,等待一段时间,win默认是5s,没有收到回复,发起方显示超时time out(linux环境默认定时器是1秒,这种情况没有任何显示)
ping 不通的可能原因
ping 不通的现象
C:\Users> ping 192.168.4.41 正在 Ping 192.168.4.41 具有 32 字节的数据: 请求超时。 请求超时。 ... 192.168.4.41 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
- 对方关机/ip不存在
- 网段不同,通过路由也无法找到
- 防火墙设置,过滤了ping发出的ICMP数据包,导致无反馈,time out
- Ip地址设置错误,对于多个网卡的服务器来说,每个网口的ip配置必须不能在同一个网段,否则会造成路由不知选择哪一个出口
- 网线故障
- 未设置网关,这个对于小网128网段,走路由器的,如果未配置将无法路由
总有分成几类问题:
电脑配置故障;物理线路故障;ARP问题;VLAN问题;路由问题;访问控制。
电脑配置故障
使用ipconfig /all观察本地网络设置是否正确
以太网适配器 本地连接: 连接特定的 DNS 后缀 . . . . . . . : huawei.com 描述. . . . . . . . . . . . . . . : Xen Net Device Driver 物理地址. . . . . . . . . . . . . : 28-6E-D4-88-B7-19 DHCP 已启用 . . . . . . . . . . . : 是 自动配置已启用. . . . . . . . . . : 是 本地链接 IPv6 地址. . . . . . . . : fe80::dd9a:f549:2b85:b027%13(首选) IPv4 地址 . . . . . . . . . . . . : 192.168.1.5(首选) 子网掩码 . . . . . . . . . . . . : 255.255.255.0 ...默认网关. . . . . . . . . . . . . : 192.168.1.1
ping 对方
ping –a 命令,可探测对方,将ip地址解析为主机名。如果存在,说明该主机ip存在,从而去检查防火墙是否关闭;
ping 127.0.0.1
Ping 127.0.0.1地址检查本地的TCP/IP协议有没有设置好。
ping 127.0.0.1 ,若无法ping通,则本地tcp/ip协议栈有问题 若提示为:no route to host,则说明网卡不能正常工作 若提示为:transmit failed error code,则说明网卡驱动有问题 若提示为:time out 说明路由器中有该路由,但是由于其他原因导致包无法传送 若提示为:destination host unreachable 说明路由器中无该路由
ping 本机(ipv4)
Ping本机IP地址,这样是为了检查本机的IP地址设置和网卡安装配置是否有误。
C:\Users> ping 192.168.1.5 正在 Ping 192.168.1.5 具有 32 字节的数据: 来自 192.168.1.5 的回复: 字节=32 时间<1ms TTL=128 来自 192.168.1.5 的回复: 字节=32 时间<1ms TTL=12 ...
请求超时,则表明网卡安装或配置有故障。将网线断开再次执行此命令, 如果显示正常,则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。如果仍然不正常,则表明本机网卡安装或配置有故障,需继续检查相关网络配置。
ping 网关
Ping本网网关或本网IP地址,这样是为了检查硬件设备是否有故障,也可以检查本机与本地网络连接是否正常。
C:\Users> ping 192.168.1.11 正在 Ping 192.168.1.11 具有 32 字节的数据: 来自 192.168.1.11 的回复: 字节=32 时间<1ms TTL=128 来自 192.168.1.11 的回复: 字节=32 时间<1ms TTL=128 ...
Ping不通物理链路故障故障分析
光纤或网线连接的端口和网络链路部署要求不一致;光模块波长参数与实际需求不一致;设备的通信接口损坏;物理连接线老化、破损;接口被阻塞。
常见物理链路故障判断方法如下:
- 查看设备端口指示灯状态,如果是常灰,说明无连接。此时需要更换接口或者网线再进行尝试。
- 通过
display interface interface-type interface-number
命令检查接口的状态,依据端口状态判断故障原因,从而进行解决。 - 通过
display stp brief、display rrpp verbose和display smart-link group all
命令,检查设备上是否运行了STP、RRPP或SMART LINK等二层协议,确认Ping业务经过的物理接口是否被阻塞。如果端口被阻塞,需要修改相关的配置。
Ping不通ARP问题故障分析
通过前面的Ping不通故障定位思路可以判断出是否是由于ARP问题引起Ping不通。设备在封装ICMP报文时需要MAC地址,如果对应的MAC地址不存在,则需要进行ARP学习,ARP学习失败会导致Ping报文被丢弃,从而Ping不通。常见ARP问题导致Ping不通,都是因为设备未正确进行ARP学习。常见ARP问题判断方法如下:
- 通过
display arp interface interface-type interface-number
命令,检查直连地址的ARP是否学习正常。 - 通过
display mac-address interface-type interface-number
命令查看MAC表项,确认MAC地址的出端口和ARP的物理出端口是否一致。 - 如果ARP未正常的学习,首先检查接口配置、VLAN配置、VLANIF接口配置、IP地址配置等是否正确,其次检查ARP和ARP安全的配置是否限制了ARP的学习。
Ping不通VLAN问题故障分析
通过前面的Ping不通故障定位思路可以判断出是否是由于VLAN问题引起Ping不通。常见VLAN问题有以下三种:
接口未加入已经规划好的VLAN;接口的链路类型配置不正确;VLANIF接口的状态不为UP,或配置的IP地址不正确。
常见VLAN问题判断方法如下:
- 通过display port vlan interface-type interface-number命令,查看接口加入的VLAN。接口所属的VLAN一般在网络规划的时候已经完成,如果配置错误,需要重新配置。
- 通过display port vlan interface-type interface-number命令,查看接口的链路类型。不同的链路类型对通过的报文处理方式不同,配置的时候需要关注,如果配置错误,需要重新配置。
- 通过display interface brief和display ip interface brief interface-type interface-number命令,查看接口状态和接口与IP的对应关系。
- 配置VLANIF接口,并将实际物理口加入指定VLAN后,需要保证VLANIF接口状态为UP,才能进行通信。如果配置错误,需要重新配置。
Ping不通路由问题故障分析
通过前面的Ping不通故障定位思路可以判断出是否是由于路由问题引起Ping不通。常见路由问题有以下三种:没有去目的网段的路由;目的设备没有回程路由;设备的路由表已经超规格;路由配置错误。
- 常见路由问题判断方法是通过
display ip routing-table
命令查看路由表信息,看其中是否存在到目的网段的路由,如果没有路由需要重新配置路由。
配置路由时不仅需要关注本端去对端的路由,还需要注意对端的回程路由。设备支持配置多种路由协议,可以依据实际情况进行选择。
Ping不通访问控制故障分析
通过前面的Ping不通故障定位思路可以判断出是否是由于访问控制引起Ping不通。为了保护设备安全或业务需要,会经常在设备上配置访问控制,如果Ping报文正好处于访问控制之列,则可能会导致Ping不通。
常见访问控制有限制报文类型、过滤源地址或目的地址等。常见访问控制判断方法如下:在接口下进行抓包,分析获取报文的信息,然后查看相应的配置。
- 通过
display current-configuration interface interface-type interface-number
命令,检查接口上是否存在访问控制的相关配置。
由于访问控制一般都是依据设备安全或业务需要而配置的,虽然Ping不通但是不影响业务的运行。修改此类问题需要慎重,以免影响设备的正常使用
常见的网络层协议