计算机网络之---ICMP协议与Ping命令

news2025/1/10 6:32:29

ICMP 协议

ICMP (Internet Control Message Protocol) 是一种网络层协议,主要用于在 IP 网络中传递控制消息。ICMP 主要用于网络设备之间的故障报告和诊断,帮助设备检测网络连接问题。它是 IP 协议的核心部分之一,用于发送错误消息和操作信息。

ICMP 的主要功能
  1. 错误报告:当路由器或目标主机发现网络传输中的问题时,ICMP 会发送错误消息。例如,目标不可达、超时等。
  2. 诊断功能:ICMP 提供了许多网络诊断功能,如 Ping 命令,用于检测网络连通性。
  3. 路由重定向:ICMP 也可以发送路由重定向消息,通知源主机更合适的路由。
  4. 网络拥塞通知:某些 ICMP 消息用于告知发送方网络存在拥塞问题。
ICMP 的局限性
  • ICMP 消息本身并不提供加密或身份验证,因此容易被滥用,例如进行 Ping of Death 攻击或 ICMP Flood 攻击。
  • 由于 ICMP 本身属于网络层,无法保证传输过程中的可靠性。
  • 某些网络设备或防火墙可能会阻止 ICMP 消息,以增加安全性。
ICMP 的常见消息类型

ICMP 消息通常由一个 报头数据部分 组成。常见的 ICMP 消息类型包括:

  1. Echo Request 和 Echo Reply(回显请求和回显应答):这些是 Ping 命令使用的类型,用于测试网络设备之间的连通性。

    • Echo Request (类型 8)
    • Echo Reply (类型 0)
  2. Destination Unreachable(目标不可达):当路由器无法转发数据包到达目标地址时发送。

    • 类型 3(目标不可达)有多个代码,表示不同的不可达原因,如网络不可达、主机不可达、协议不可达等。
  3. Time Exceeded(超时):当数据包在传输过程中经过的时间超过了设定的 TTL(生存时间)时发送,通常用来检测路由环路或路由延迟。

    • 类型 11(超时)
  4. Redirect(重定向):用于提示源主机更好的路由路径。

    • 类型 5(重定向)
  5. Source Quench(源抑制):用来通知发送方减少数据包发送速率(此功能现在已废弃,很多设备不再使用)。

    • 类型 4
ICMP 报文结构

ICMP 报文的基本结构包含:

  • 报文头:包括类型、代码和校验和。
  • 数据部分:根据不同类型,数据部分的结构有所不同,例如回显请求的消息部分包含了发送方的时间戳信息。

Ping 命令

Ping 是一种基于 ICMP 协议的网络诊断工具,广泛用于测试网络连接性。Ping 命令通过发送 Echo Request(回显请求)消息并等待目标主机返回 Echo Reply(回显应答)消息来检查网络是否畅通。

Ping 命令的工作原理
  1. 发送 Echo Request: Ping 命令向目标 IP 地址发送一个 ICMP Echo Request 数据包,包含发送的时间戳信息。

  2. 接收 Echo Reply: 如果目标设备在线并且能够接收 ICMP 请求,它会返回一个 Echo Reply 数据包,其中包含目标设备接收到请求时的时间戳。

  3. 计算往返时间: Ping 命令会根据回显应答的时间戳来计算往返时间(RTT,Round Trip Time),即从发送请求到接收到应答的时间。

  4. 报告结果: Ping 命令会显示每次请求的结果,包括往返时间、丢包率等信息。通常每次请求发送 4 个数据包,并显示每个数据包的 RTT。

Ping 命令的使用场景
  1. 测试网络连接性:最常见的用途是测试计算机或路由器是否能够通过网络到达另一台设备(如另一个主机、路由器、DNS 服务器等)。

  2. 网络故障排除:在网络出现问题时,使用 Ping 可以检查连接问题的原因,比如网络丢包、延迟过高等。

  3. 延迟检测:Ping 命令的 RTT 时间可以帮助判断网络的响应速度和延迟。

  4. 检查丢包情况:通过统计丢失的 Ping 数据包,可以检测网络的丢包情况,有助于定位故障。

Ping 命令的常用选项
  • -t:在 Windows 中,使用 ping -t 可以持续不断地 Ping 目标,直到手动停止。
  • -c:在 Linux/Mac 中,使用 ping -c 4 可以指定 Ping 的次数。
  • -l:在 Windows 中,ping -l 1000 可以设置数据包的大小。
  • -i:指定 Ping 数据包的间隔时间。
Ping 命令的常见输出
PING www.baidu.com (110.242.70.57): 56 data bytes
64 bytes from 110.242.70.57: icmp_seq=0 ttl=50 time=24.960 ms
64 bytes from 110.242.70.57: icmp_seq=1 ttl=50 time=16.367 ms
64 bytes from 110.242.70.57: icmp_seq=2 ttl=50 time=24.184 ms
64 bytes from 110.242.70.57: icmp_seq=3 ttl=50 time=16.960 ms
64 bytes from 110.242.70.57: icmp_seq=4 ttl=50 time=17.882 ms
64 bytes from 110.242.70.57: icmp_seq=5 ttl=50 time=27.531 ms
64 bytes from 110.242.70.57: icmp_seq=6 ttl=50 time=18.157 ms
64 bytes from 110.242.70.57: icmp_seq=7 ttl=50 time=20.231 ms
64 bytes from 110.242.70.57: icmp_seq=8 ttl=50 time=16.918 ms
64 bytes from 110.242.70.57: icmp_seq=9 ttl=50 time=16.276 ms
64 bytes from 110.242.70.57: icmp_seq=10 ttl=50 time=18.593 ms
64 bytes from 110.242.70.57: icmp_seq=11 ttl=50 time=17.677 ms
  • Reply from:表示收到了目标设备的回应。
  • bytes:显示数据包的字节数,通常为 32 字节。
  • time:表示从发送请求到接收到应答的往返时间(以毫秒为单位)。
  • TTL:表示数据包生存时间,即数据包在路由过程中可以经过的最大跳数(时间戳)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2274193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开源免费】基于SpringBoot+Vue.JS企业资产管理系统(JAVA毕业设计)

本文项目编号 T 124 ,文末自助获取源码 \color{red}{T124,文末自助获取源码} T124,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

Linux环境中对Postgrel数据库的安装与配置

一、环境准备 linux操作系统的环境是centos7; Postgrel数据库的版本是12.0,不同版本的下载渠道如下(PostgreSQL: File Browser): 可以看到压缩包是比较小的;下载之后,上传到你的linux环境中即可。 二、…

《零基础Go语言算法实战》【题目 1-11】格式化字符串

《零基础Go语言算法实战》 【题目 1-11】格式化字符串 在 Go 语言中,找到使用变量格式化字符串而不打印值的简单方法。 【解答】 在 Go 语言中,在不打印值的情况下进行格式化的最简单方法是使用 fmt.Sprintf() 函数, 它返回一个格式化的…

【机器视觉】OpenCV 图像轮廓(查找/绘制轮廓、轮廓面积/周长、多边形逼近与凸包、外接矩形)

OpenCV官网 7. 图像轮廓 7.1 什么是图像轮廓 图像轮廓是具有相同颜色或灰度的连续点的曲线. 轮廓在形状分析和物体的检测和识别中很有用。 轮廓的作用: 用于图形分析物体的识别和检测 注意点: 为了检测的准确性,需要先对图像进行二值化或Canny操作。画轮廓时…

Elasticsearch:使用 Playground 与你的 PDF 聊天

LLMs作者:来自 Elastic Toms Mura 了解如何将 PDF 文件上传到 Kibana 并使用 Elastic Playground 与它们交互。本博客展示了在 Playground 中与 PDF 聊天的实用示例。 Elasticsearch 8.16 具有一项新功能,可让你将 PDF 文件直接上传到 Kibana 并使用 Pla…

RabbitMQ 在 Spring Boot 项目中的深度应用与实战解析

RabbitMQ 在 Spring Boot 项目中的深度应用与实战解析 引言 RabbitMQ 作为一款广受欢迎的开源消息队列系统,遵循 AMQP 协议,能够在分布式系统里实现应用程序之间的异步通信、解耦以及流量削峰等关键功能。在 Spring Boot 项目中集成 RabbitMQ&#xff…

简述视觉语言模型(Vision-Language Models, VLMs)

目录 1. 引言 2. 视觉语言模型的基本概念 什么是视觉语言模型 视觉语言模型的工作原理 3. 视觉语言模型的架构 双流神经网络结构 多模态对齐机制 跨模态注意力机制 统一架构:视觉-语言一体化模型 4. 视觉语言模型的关键技术 图像表示学习 文本表示学习 …

分治算法——优选算法

本章我们要学习的是分治算法,顾名思义就是分而治之,把大问题分为多个相同的子问题进行处理,其中我们熟知的快速排序和归并排序用的就是分治算法,所以我们需要重新回顾一下这两个排序。 一、快速排序(三路划分&#xf…

迎接2025Power BI日期表创建指南:模板与最佳实践

故事背景 最近,我们收到了一些关于时间表更新的询问。询问的朋友发现,随着2025年的到来,2024年的日期表已不再适用。这是一个在数据分析领域常见的问题,每年都需要对日期表进行更新。 解决方案 鉴于创建和更新日期表是一项年度…

Trilium Notes中文版本地Docker部署与远程访问打造个人云知识库

文章目录 前言1. 安装docker与docker-compose2. 启动容器运行镜像3. 本地访问测试4.安装内网穿透5. 创建公网地址6. 创建固定公网地址 前言 今天和大家分享一款在G站获得了26K的强大的开源在线协作笔记软件,Trilium Notes的中文版如何在Linux环境使用docker本地部署…

【读书与思考】历史是一个好东西

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 导言 以后《AI日记》专栏我想专注于 AI 相关的学习、成长和工作等。而与 AI 无关的一些读书、思考和闲聊,我打算写到这里,我会尽量控制自己少想和少写。 下图的一些感想…

CSS——26. 伪元素2(“::before ,::after”)

::before伪类 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>伪元素</title><style type"text/css">div::before{content: "我最棒";}}</style></head><body><!--…

在macOS上安装MySQL

macOS的MySQL有多种不同的形式&#xff1a; 1、本机包安装程序&#xff0c;它使用本机macOS安装程序&#xff08;DMG&#xff09;引导您完成MySQL的安装。有关详细信息&#xff0c;请参阅第2.4.2节&#xff0c;“使用本机包在macOS上安装MySQL”。您可以将包安装程序与macOS一…

计算机网络 (32)用户数据报协议UDP

前言 用户数据报协议&#xff08;UDP&#xff0c;User Datagram Protocol&#xff09;是计算机网络中的一种重要传输层协议&#xff0c;它提供了无连接的、不可靠的、面向报文的通信服务。 一、基本概念 UDP协议位于传输层&#xff0c;介于应用层和网络层之间。它不像TCP那样提…

易支付二次元网站源码及部署教程

易支付二次元网站源码及部署教程 引言 在当今数字化时代&#xff0c;二次元文化逐渐成为年轻人生活中不可或缺的一部分。为了满足这一庞大用户群体的需求&#xff0c;搭建一个二次元主题网站显得尤为重要。本文将为您详细介绍易支付二次元网站源码的特点及其部署教程&#xf…

汽车扶手屏里的FPC应用有哪些?【新立电子】

汽车扶手屏作为现代汽车内饰设计的一大亮点&#xff0c;通常被安装在座椅扶手位置&#xff0c;其设计初衷是为了方便乘客在乘车过程中进行各种操作和控制。屏幕不仅具备触控功能&#xff0c;还支持语音控制、手势识别等多种交互方式&#xff0c;使得乘客可以更加轻松、直观地操…

初学stm32 --- DMA直接存储器

目录 DMA介绍 STM32F1 DMA框图 DMA处理过程 DMA通道 DMA优先级 DMA相关寄存器介绍 F1 DMA通道x配置寄存器&#xff08;DMA_CCRx&#xff09; DMA中断状态寄存器&#xff08;DMA_ISR&#xff09; DMA中断标志清除寄存器&#xff08;DMA_IFCR&#xff09; DMA通道x传输…

MT6835天玑6100平台规格参数_MTK联发科安卓核心板方案定制开发

联发科MT6835平台集成了蓝牙、FM、WLAN 和 GPS 模块&#xff0c;是一个高度集成的基带平台。该芯片集成了两个 Arm Cortex-A76 内核&#xff08;运行频率高达 2.2GHz&#xff09;、六个 Arm Cortex-A55 内核&#xff08;运行频率高达 2.0 GHz&#xff09;和强大的多标准视频编解…

认识+安装ElasticSearch

1. 为什么要学习ElasticSearch? 一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的&#xff0c;存在很多问题。 1.1 数据库搜索所存在的问题 1.1.1 查询效率较低 由于数据库模糊查询不走索引&…