网络ping不通到底有多少原因?一文搞明白!

简介: 网络ping不通是网络中出现频率最高的故障之一,同时也是最让人抓狂的故障,谁没遇到过?今天就和你细说下ping不通的原因,看看能不能和你遇到的情况对上号。

1、引言

网络ping不通是网络中出现频率最高的故障之一,同时也是最让人抓狂的故障,谁没遇到过?今天就和你细说下ping不通的原因,看看能不能和你遇到的情况对上号。

技术交流:

- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM

- 开源IM框架源码:https://github.com/JackJiang2011/MobileIMSDK备用地址点此

本文已同步发布于:http://www.52im.net/thread-4857-1-1.html

2、系列文章

本文是系列文章中的第 20篇,本系列文章的大纲如下:

3、ping命令技术原理

了解ping命令原因,我们来通过一个实例来了解。

假定主机A的IP地址是 192.168.1.1 ,主机B的IP地址是 192.168.1.2 ,都在同一子网内,则当你在主机A上运行“Ping 192.168.1.2”后,都发生了些什么呢?

首先:Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.1.2”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程)。

IP层协议将以地址“192.168.1.2”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包。并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址(也叫MAC地址,这是数据链路层协议构建数据链路层的传输单元帧所必需的),一并交给数据链路层。

后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。

主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合则接收,否则丢弃。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。

同样:IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。

直接说:就是利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

上面的过程就是ping命令的原理:主机A收到了主机B的一个应答包,说明两台主机之间的去、回通路均正常,但也并不是所有网络都是正常的,下面我们来看ping不通的原因。

4、同网段ping不通的原因概述

ping命令不通,主要有两种情况:

  • 1)同网段内的ip地址ping不通;
  • 2)不同网段的ip地址ping不通。

各个情况不一样,我们首先来看同网段ping不通的两种情况。

5、同网段ping不通的情况1:“无法访问目标主机”

目的ip和源ip是同一网段的,ping的结果是“无法访问目标主机”,属于ping的请求没有发出。

我们来看下,ping同网段不存的ip地址:

ping的请求发出后,返回显示“无法访问目标主机"。

什么原因呢?说明此时ping的需求并没有成功发出。

这时要检查:

  • 1)对方是否开机?ip是否存在?
  • 2)有跨交换机vlan的话,检查对应的中间trunk链路是否导通?
  • 3)走直连路由是否正确?是否应该走默认路由,而走了直连路由;
  • 4)子网掩码是否错误;
  • 5)默认网关是否填写正确。

6、同网段ping不通的情况2:“超时(time out)”

目的ip和源ip是同一网段的,ping的结果是“超时或者time out” ,属于ping的请求已经成功发出了,但目标主机没有回复。

ping的请求发出后,返回显示“超时":

什么原因呢?这种情况是ping已经成功发出了,到达了主机,但是没有得到响应

要检查:

  • 1)检查下防火墙,防火墙禁止了对ping的回应;
  • 2)子网掩码的设置错误,导致不在同一个网段;
  • 3)设备硬件故障,导致设备没有对应的mac地址,无法生成路由表,而走默认路由;
  • 4)ip冲突,或ip地址与直联路由不在同一个网段;
  • 5)网关没有设置好。

7、 跨网段ping不通的原因概述

不同网段ping不通,通常的表现有“无法访问目标主机”、“time out”,但具体分析起来其实可能的原因是比较多的,我们还是一起来看下跨网段常见的原因吧。

8、 跨网段ping不通的情况1:“无法访问目标主机”

跨网段出现无法访问目标主机,说明请求没有成功发出,获取不了目的ip地址与mac地址。

可能出现的原因是:

  • 1)目的ip地址不存在;
  • 2)检查路由表是否有缺省的路由;
  • 3)检查arp表是否有网关的mac地址;
  • 4)有网关设置错误;
  • 5)走了默认路由。

9、 跨网段ping不通的情况2:“time out”

若显示 time out,表示 ping 的 request 消息已经发出,目的ip的网关已经获取到目的ip的mac地址,但是目的主机没有回复,或源主机无法收到。

这些应该检查回程路由和节点回程路由。

可能的原因有:

  • 1)检查下防火墙,是否拦截了ping的请求消息;
  • 2)检查经过节点的路由是否正确,或者是否有回程路由;
  • 3)回程路由的硬件网卡出口和ping的request的入口网卡不是同一个;
  • 4)交换机vlan对应的接口全部down了,导致vlan状态down,vlan的对应路由没有生成。

10、本文小结

当我们网络ping不通时,首先要看ping显示的结果是”无法访问目标主机“还是”超时“,再看是同网段,还是不同网段,采取相应的分析方法。

另外在分析与解决网络故障时,我们要熟练的了解ping、arp、tracert、route这几个命令的用法,可以快速的定位ping不通的原因。

尤其是这arp、tracert、route这三个命令的用法,解决故障非常方便。

11、参考资料

[1] 史上最通俗的集线器、交换机、路由器功能原理入门

[2] 通俗讲解,有了IP地址,为何还要用MAC地址?

[3] 外行也能读懂的网络硬件设备功能原理速成

[4] 每天都在用的Ping命令,它到底是什么?

[5] 能Ping通,TCP就一定能连接和通信吗?

[6] 什么是公网IP和内网IP?NAT转换又是什么鬼?

[7] 假如你来设计网络,会怎么做?

[8] 你真的了解127.0.0.1和0.0.0.0的区别?

[9] 一文搞懂localhost和127.0.0.1

[10] 深入操作系统,彻底搞懂127.0.0.1本机网络通信

[11] 冰山之下,一次网络请求背后的技术秘密

[12] 得物自研移动端弱网诊断工具的技术实践分享

(本文已同步发布于:http://www.52im.net/thread-4857-1-1.html)

目录
相关文章
|
24天前
|
Java 测试技术 API
2025 年 Java 开发者必知的最新技术实操指南全览
本指南涵盖Java 21+核心实操,详解虚拟线程、Spring Boot 3.3+GraalVM、Jakarta EE 10+MicroProfile 6微服务开发,并提供现代Java开发最佳实践,助力开发者高效构建高性能应用。
237 4
|
24天前
|
缓存 NoSQL 前端开发
如何开发工程项目部管理系统中的物资管理板块(附架构图+流程图+代码参考)
工程项目部物资管理需构建“申请→审批→采购→入库→领用→盘点→预警”闭环流程,实现库存可视、差异可控、现场高效。本文详解落地思路、架构设计、关键表结构、业务流程及开发技巧,并提供核心代码示例与FAQ,助力企业实现数据驱动的物资管理体系。
|
4天前
|
SQL 人工智能 自然语言处理
一文看懂|数据智能体 AskTable 技术架构
察言观数 AskTable 是一款 AI 数据智能体,通过自然语言实现企业数据问答与智能分析。其四层架构涵盖应用层、AI 引擎、核心技术与数据基础,支持 AI 问答查数与 AI 分析报表,可嵌入主流办公系统及各类大模型,助力企业高效决策。
|
12天前
|
人工智能 自然语言处理 机器人
向量化与嵌入模型:RAG系统背后的隐形英雄
传统搜索只懂字面不懂含义,向量化技术让AI真正理解语言。从日常类比到实际案例,揭秘为何向量化技术是RAG的灵魂,以及如何用最少的努力构建最聪明的AI应用。
125 10
|
22天前
|
XML JSON 数据库
大模型不听话?试试提示词微调
想象一下,你向大型语言模型抛出问题,满心期待精准回答,得到的却是答非所问,是不是让人抓狂?在复杂分类场景下,这种“大模型不听话”的情况更是常见。
125 9
|
22天前
|
缓存 Java Spring
Spring循环依赖:当两个Bean陷入鸡生蛋死循环时...
Spring中循环依赖问题常见于Bean相互依赖时,尤其在单例模式下。文章深入解析了循环依赖的成因及Spring的三级缓存解决方案,帮助理解Bean生命周期与依赖管理。
|
4天前
|
消息中间件 Java Apache
SpringBoot集成RocketMq
RocketMQ 是一款开源的分布式消息中间件,采用纯 Java 编写,支持事务消息、顺序消息、批量消息、定时消息及消息回溯等功能。其优势包括去除对 ZooKeeper 的依赖、支持异步和同步刷盘、高吞吐量及消息过滤等特性。RocketMQ 具备高可用性和高可靠性,适用于大规模分布式系统,能有效保障消息传输的一致性和顺序性。
250 2
|
13天前
|
机器学习/深度学习 数据采集 算法
【风电功率预测】【多变量输入单步预测】基于RVM-Adaboost的风电功率预测研究(Matlab代码实现)
【风电功率预测】【多变量输入单步预测】基于RVM-Adaboost的风电功率预测研究(Matlab代码实现)
201 129
|
13天前
|
编解码 算法 自动驾驶
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
247 125
|
13天前
|
算法 Python
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
【轴承故障诊断】一种用于轴承故障诊断的稀疏贝叶斯学习(SBL),两种群稀疏学习算法来提取故障脉冲,第一种仅利用故障脉冲的群稀疏性,第二种则利用故障脉冲的额外周期性行为(Matlab代码实现)
281 152

热门文章

最新文章