ping不通,找房东-----从一个ping包来解析网络转发原理

网友投稿 328 2022-10-15


ping不通,找房东-----从一个ping包来解析网络转发原理

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

在说这些之前,先介绍几个概念:1、ping包ping包走的是ICMP协议,什么是ICMP协议呢,Internet控制报文协议,字面意思不好理解,作用很简单,就是发送一些控制消息,来检测链路。

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

我们知道,MAC地址是用来唯一标识网卡的,暂时理解为网卡门牌号吧。DMAC:目的mac,也就是你的数据包要发给谁,SMAC:源mac,你自己网卡的门牌号type:数据包的类型

IP层,主要看几个吧dscp:最大的用处就是区分报文优先级,我们都知道,协议报文需要高优先级flags:分片的标志,下面的fragment offset是指分片的偏移量protocol:协议类型,可以看到 我们的ping是通过icmp协议

icmp里面比较重要的2个 type和code,以此来决定这个icmp报文是干嘛的这里的type 8 code 0,是icmp request,具体这些代表什么意思,我们可以去查RFC792mac就填00:00:00:00:00:00就行,看上图,这是一个arp请求报文,我想知道10.51.30.122的mac是多少。arp请求报文会在局域网广播,如果你不是10.51.30.122,那么你收到这个报文后,会直接丢弃不处理,如果你恰好是10.51.30.122这个ip,那么就会做一个arp应答。

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

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

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot HandlerIntercepter拦截器修改request body数据的操作
下一篇:庖丁解牛Linux网络核心
相关文章

 发表评论

暂时没有评论,来抢沙发吧~