我们平时在工作中,经常会遇到网络不通的情况,通常都通过ping命令来查看结果。比如下图:
那么 ping www.baidu.com 发生了什么?这里就不得不学习一下以太网协议帧。
建议阅读者先准备好 wireshark 抓包工具以及阅读 TCP/IP详解 卷1:协议P - 链路层 。准备好一定知识后,我们再来一步一步分析,深入浅出。
我们先从实战入手,慢慢过渡到理论。通过wireshark抓包。图1.1中我们ping baidu,得到的IP地址是 183.232.231.172。下面我们根据这个IP地址来分析。
如图2.1所示,我们通过wireshark抓包后,通过命令
过滤出来一些报文,这些报文协议都是ICMP协议。
ping , traceroute 都是基于ICMP协议来实现的。
从上图我们get到:
可见IP协议帧是包含在MAC以太帧中的,而ICMP协议帧是包含在IP协议帧中的。下面我们具体一层一层抽丝剥茧的分析。
通过上述分析,我们抽象ICMP类型的IP报文如下:
1.以太帧报文 最小 64字节 = 14字节+46字节+4字节。
2.以太帧报文 最大1518字节 = 14字节+1500字节+4字节。
3.延伸阅读ICMP协议。
我们带着上述问题,继续往后阅读;看是否能够找到答案。
QQ群:383044387 ; 欢迎大家积极讨论,相互学些,共同进步。
1. https://baike.baidu.com/item/ICMP