华云数据:ping不通 找房东——从一个ping包来解析网络转发原理

华云数据:ping不通 找房东——从一个ping包来解析网络转发原理

作者:佚名 2019-03-06 09:15:11

云计算 随着云计算业务的快速发展,国内外云计算企业的专利之争也愈发激烈。在云计算这样的技术领域,专利储备往往代表着企业最新的技术实力。华云数据本期“智汇华云”专栏将从一个ping包来解析网络转发原理,与大家共同分享云计算领域的最新技术与解决方案。

 随着云计算业务的快速发展,国内外云计算企业的专利之争也愈发激烈。在云计算这样的技术领域,专利储备往往代表着企业***的技术实力。华云数据本期“智汇华云”专栏将从一个ping包来解析网络转发原理,与大家共同分享云计算领域的***技术与解决方案。

背景

“房东,我ping不通了”,相信在外打工租房的各位都有过这个经历吧。ping不通,一个简单的现象,其实蕴藏着很多的过程,今天我们就来谈谈,ping不通该怎么办。

基础概念

在说这些之前,先介绍几个概念:

1、ping包

ping包走的是ICMP协议,什么是ICMP协议呢,Internet控制报文协议,字面意思不好理解,作用很简单,就是发送一些控制消息,来检测链路。

要了解一个协议,我们一般先看它是怎么封装的,查什么书籍都是假的,***的办法就是自己去抓一个包看看,抓包的工具有很多种,我喜欢用wireshark(windows)和tcpdump(linux),抓包工具怎么用,自行去度娘。

抓到的报文如下,一步步慢慢分析:

 

首先是以太头

 

我们知道,MAC地址是用来唯一标识网卡的,暂时理解为网卡门牌号吧。

DMAC:目的mac,也就是你的数据包要发给谁,

SMAC:源mac,你自己网卡的门牌号

type:数据包的类型

Tips: 小知识,这里插一句,如果是三层转发,DMAC一般是你网关的mac地址,如果是二层转发,DMAC则是目的端的MAC地址,这也是区分一个数据包是二层还是三层转发***的方法。

[[258835]]

 

IP层,主要看几个吧。

dscp:***的用处就是区分报文优先级,我们都知道,协议报文需要高优先级

flags:分片的标志,下面的fragment offset是指分片的偏移量

protocol: 协议类型,可以看到 我们的ping是通过icmp协议

 

icmp里面比较重要的2个 type和code,以此来决定这个icmp报文是干嘛的。

 

这里的type 8 code 0,是icmp request,具体这些代表什么意思,我们可以去查RFC792

https://tools.ietf.org/html/rfc792

WHAT?什么是RFC,我只听过KFC,问题不大,自己去度娘。

[[258836]]

 

2、ARP

ARP是什么,地址解析,所谓的地址解析就是根据IP地址来获取MAC地址,上面的报文你也看到了,你要ping别人,要知道别人的IP,别人的mac,发到网关的需要知道网关的mac,发到目的端的需要知道目的端的mac。

ARP的过程很简单,客户端先发一个ARP请求,比如你知道了10.10.10.10这个IP,但是你不知道mac,你就需要发一个ARP请求来获取。

好了 我们照例抓一个包,来看看ARP是怎么工作的。

 

ARP的请求报文是一个广播报文,所以他的dmac就是ff:ff:ff:ff:ff:ff,你知道了对方的IP,但是不知道对方的mac,所以你的target mac就填00:00:00:00:00:00就行,看上图,这是一个ARP请求报文,我想知道10.51.30.122的mac是多少。ARP请求报文会在局域网广播,如果你不是10.51.30.122,那么你收到这个报文后,会直接丢弃不处理,如果你恰好是10.51.30.122这个IP,那么就会做一个ARP应答。

我们再来看一个ARP应答报文。

 

10.51.30.122这个地址收到ARP请求后,会发一个单播报文给我,告诉我它的mac,同时他也会记录我的mac和IP,在他那边会保存我的ARP信息,同时我也保存了它的,下次我再找他,直接查ARP表就可以了,不再需要再发一起ARP请求,当然,如果ARP老化了,那么这样的流程还得再来一次咯。

3、DNS

有些人喜欢ping百度,如果ping的是域名,那中间又多了一层处理,那就是域名解析,来来来,继续抓包。

 

可以看到 我由于不知道百度的IP是多少,所以我先发给了114.114.114.114,域名解析服务器,他帮我解析以后再把IP告诉我。

 

于是我重新封装报文,目的ip直接选择了216这个地址发送了icmp request。

 

大功告成,ping也就通了。

排查

搞什么??文章的标题不是ping不通吗,那你解释一堆ping通干什么,其实我们从原理里面反推一下,ping不通的理由到底有哪些嘛~ 每一个环节都检查一遍,那么问题不就迎刃而解了嘛~

[[258837]]

 

来来来,我先来画个图,二层转发不过网关我就不画了,直接来一个三层转发图。

[[258838]]

 

这是一个简单的图,下面我来慢慢的一步步的写下步骤,假设我就去ping百度,一般现在看自己能不能上网不都是ping百度嘛。

1、首先客户端要对百度的域名进行解析才能获取到IP地址,才能进一步封装自己的ping包,所以他首先发到域名服务器(假设我配置的是114.114.114.114),等域名服务器帮我解析好以后,给了我百度的IP地址,220.181.57.216,那么这里,我要去域名服务器,我是怎么去的呢,当然首先查看路由表。

 

很明显,我没有直接去114.114.114.114的路由,所以我只能发给网关,也就是上图的192.168.0.1,由网关去处理(如果你不知道网关的mac,需要先发广播ARP给网关,拿到网关的mac来维护ARP表),之后网关把域名解析的结果返还给我,我就有了baidu的IP地址。

2、有了目的IP,客户端就准备封装报文,因为是三层转发,我不需要知道百度的mac地址,我只要知道网关的mac就行了,dmac=网关mac,dip=百度IP,直接发送ping包,由于网关的mac上面已经发送过一次ARP请求了,所有网关的ARP已经保存在客户端的ARP表了。

 

3、数据包到了网关,因为是到公网去,这里面的处理就不说了,用一条命令可以查看你的数据包经过了多少的跃点。

 

4、百度收到了我的ping包以后,于是如法炮制的获取它的网关ARP信息,再把封装好的icmp reply给我发了回来,等我的网关收到了这个reply以后,发现目的IP是我,通过路由直接转发给了我,这里整个过程就完成了。

Tips:对于过来的数据包,网关会自行学习数据包的源mac信息,维护自己的mac表和ARP表。

好了,如果ping不通,那么你想想有哪些原因呢,一步步地去检查,一步步地去抓包分析,你就能找到原因,ping不通,不用找房东,自己把网线捋一捋,不就通了啊。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/276923.html<

(0)
运维的头像运维
上一篇2025-05-10 21:28
下一篇 2025-05-10 21:29

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注