网站建设需要哪些成本,网站建站商城,加强网站建设工作,聊天网站开发文章目录 1. ICMP协议简介2. ICMP协议格式3. ping命令4. ping命令与端口号没有关系#xff01;#xff01;#xff01;5. traceroute命令 1. ICMP协议简介
ICMP#xff08;Internet Control Message Protocol#xff0c;控制报文协议#xff09;#xff0c;用于在IP主机… 文章目录 1. ICMP协议简介2. ICMP协议格式3. ping命令4. ping命令与端口号没有关系5. traceroute命令 1. ICMP协议简介
ICMPInternet Control Message Protocol控制报文协议用于在IP主机、路由器直接传递控制消息是一个TCP/IP协议。 ICMP协议的定位 网络层的最典型的协议是IP协议但是除了IP协议之外还有ICMP协议和IGMP协议。
ICMP、IGMP和IP协议虽然都属于网络层的协议但是ICMP协议和IGMP协议属于IP的上层协议。
也就是说IP的上层协议不一定就是传输层协议IP的上层协议可能也属于网络层的协议。与之类似的数据链路层当中的ARP协议和RARP协议这两个协议虽然都属于数据链路层的协议但它们却是MAC帧的上层协议。 ICMP的主要功能 确认IP包是否成功到达目标地址。通知在发送过程中IP包丢弃的原因。ICMP只能搭配IPv4使用如果是IPv6的情况下需要使用ICMPv6。
举个例子比如当主机A在向主机B发送数据的过程中主机B因为某些原因离线了然后当发送的数据包到达主机B所在局域网的入口路由器时入口路由器为了获得主机B的MAC地址于是会向主机B发送ARP请求包。但是此时因为主机B已经离线了因此路由器再多次发送ARP请求包得不到响应后就会返回一个ICMP的包给主机A此时主机A就知道自己发送的数据无法到达主机B。
2. ICMP协议格式 ICMP分为两类报文
一类是通知出错原因的一类是用于诊断查询的
3. ping命令
ping命令是基于ICMP实现的通常用于测试本地主机与另一台主机之间的通信信道是否正常。
例如使用ping www.baidu.com命令测试本地主机与百度服务器之间的通信信道是否正常。
此时ping的是百度的域名该域名会由DNS解析为IP地址。ping命令不仅能验证网络的连通性同时也会统计响应时间和TTLIP包中的Time To Live生存时间。ping命令会先发送一个ICMP Echo Request给对端。对端接收到之后会返回一个ICMP Echo Reply给客户端。 4. ping命令与端口号没有关系 telnet对应的端口号是23ssh对应的端口号是22ping命令对应的端口号是多少 这个问题就是一个圈套ping命令是基于网络层的ICMP协议而端口号是属于传输层的内容因此ICMP协议根本就不关心端口号这样的信息。
5. traceroute命令
traceroute命令也是基于ICMP协议实现的traceroute命令可以遍历数据包传送到目标主机锁经过的所有路由器。
例如使用traceroute www.baidu.com命令遍历数据包到百度服务器所经过的所有路由器。
原理
traceroute命令底层实际是通过增加其存活实际TTL值来实现的。因为每当数据包经过一个路由器其TTL值就会减一当TTL值减为0时对应路由设备就会将数据包丢弃并传送一个ICMP TTL数据包给发送主机。因此traceroute命令底层可以发出多个数据包并给这些数据包设置不同的TTL值最后该主机就能够得到一连串的数据包路径。