阅读本文约需要10分钟,您可以先关注我们,避免下次无法找到。
01 前言
不管你是敲代码的,搞运维的,玩管理项目的,就算你只是想在家上个网,你都可能会用到成哥总结的网络连通性工具。
成哥打算用上下两篇文章把下图总结的工具给大家讲透。
上篇给大家讲讲ICMP和TCP层面的网络连通性测试工具。
02 ICMP
ICMP(Internet Control Message Protocol)是IP层的一个组成部分,用于传递差错报文以及其它差错信息。说的简单点,ICMP协议就是用来确认网络是否正常,以及出现异常时进行问题诊断。
PING和traceroute是ICMP协议的经典实用场景。
ICMP报文格式很简单,ICMP所有报文的前4个字节都是一样的。格式如下图所示:
其中通过类型和代码字段数值组合,可以确认ICMP报文的类型,明确是查询报文还是差错报文。如果是差错报文,还能够进一步分析时何种原因导致的差错。
代码和类型的组合,如下图所示:
这里再提下,当发送一份ICMP差错报文时,报文始终包含IP的首部和产生ICMP差错报文的IP数据报的前8个字节(即能够包含TCP/UDP的源目端口号)。这样接收ICMP差错报文的模块就会把它与某个特定的协议联系起来。