ICMP协议详解及不同VLAN/VXLAN主机通信中的ICMP示例
一、ICMP协议概述
ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议栈中的一项核心协议,用于在IP网络中传输控制消息和错误报告。ICMP定义在RFC 792中,主要用于诊断网络问题和传递控制信息。ICMP的主要功能包括:
- 错误报告:通知发送方网络错误,如目标不可达、超时等。
- 网络诊断:支持工具如
ping
和traceroute
,用于测试连通性和路径。 - 控制消息:协助网络设备管理流量或调整行为。
ICMP报文封装在IP数据包中,IP协议号为1。ICMP通常与IPv4关联(IPv6使用ICMPv6,RFC 4443)。
ICMP报文格式
ICMP报文包含在IP数据包的数据部分,格式如下:
- IP头部:
| 版本 | 头部长度 | 服务类型 | 总长度 | 标识 | 标志 | 片偏移 | TTL | 协议 (1) | 头部校验 | 源IP | 目的IP |
- ICMP报文:
| 类型 (1字节) | 代码 (1字节) | 校验和 (2字节) | 其余头部 (4字节) | 数据(可选) |
关键字段说明:
- 类型:指示ICMP消息类型(如8为回显请求,0为回显应答)。
- 代码:进一步细分消息类型(如目标不可达的子原因)。
- 校验和:覆盖整个ICMP报文,用于错误检测。
- 其余头部:根据类型/代码不同,包含特定信息(如回显请求的标识符和序列号)。
- 数据:可选,携带额外信息(如
ping
的填充数据)。
常见ICMP消息类型:
- 类型8/0:回显请求/应答(用于
ping
)。 - 类型3:目标不可达(代码细分原因,如端口不可达)。
- 类型11:超时(用于
traceroute
)。 - 类型5:重定向(建议更优路由)。
ICMP工作原理
- 发送ICMP消息:
- 主机或网络设备生成ICMP报文,封装在IP数据包中发送。
- 例如,
ping
发送类型8(回显请求)报文。
- 接收和处理:
- 接收方根据类型/代码处理报文,如回复回显应答或丢弃错误报文。
- 无状态:
- ICMP不维护连接状态,依赖IP的不可靠传输。
二、ICMP在VLAN和VXLAN中的作用
ICMP在VLAN和VXLAN环境中用于网络诊断和错误报告。由于VLAN和VXLAN隔离了二层广播域,ICMP报文的传输可能涉及三层路由:
- VLAN:同一VLAN内的ICMP通信直接通过二层转发,跨VLAN需通过路由器。
- VXLAN:ICMP报文通过VXLAN隧道在Overlay网络中传输,VTEP负责封装和解封装。
下面以不同VLAN和VXLAN的主机通信为例,详细讲解ICMP流程(以ping
为例)。
三、不同VLAN的两台主机通信中的ICMP示例
场景描述
与前述VLAN示例一致:
- 主机A:IP为
192.168.1.10/24
,连接到交换机S1的端口G0/1,属于VLAN 10。 - 主机B:IP为
192.168.2.20/24
,连接到交换机S2的端口G0/2,属于VLAN 20。 - 交换机S1和S2:通过端口G0/3(Trunk端口)互联。
- 路由器R1:用于VLAN间路由,连接到S1的端口G0/4(Trunk端口),子接口为
192.168.1.1/24
(VLAN 10)和192.168.2.1/24
(VLAN 20)。
网络拓扑:
主机A (VLAN 10) --- S1 --- Trunk --- S2 --- 主机B (VLAN 20)|Trunk|R1
ICMP流程(主机A ping 主机B)
-
主机A发起ICMP回显请求:
- 主机A执行
ping 192.168.2.20
,发现目标IP不在同一子网(192.168.1.0/24
)。 - 主机A通过ARP解析网关
192.168.1.1
的MAC地址(见前述ARP流程)。 - 主机A构造ICMP回显请求报文:
- IP头部:源IP
192.168.1.10
,目的IP192.168.2.20
,协议1。 - ICMP报文:类型8(回显请求),代码0,标识符(区分进程),序列号(区分报文)。
- IP头部:源IP
- 以太网帧:目的MAC为
R1的MAC
,源MAC为A的MAC
,类型0x0800
(IP)。 - 帧发送到S1的G0/1。
- 主机A执行
-
S1处理ICMP请求:
- G0/1为Access端口(VLAN 10),为帧添加VLAN 10标签(VID=10)。
- S1根据目的MAC(R1的MAC)将帧转发到G0/4(Trunk端口),保留VLAN 10标签。
- 帧通过Trunk链路发送到R1。
-
路由器R1处理ICMP请求:
- R1的子接口G0/0.10(VLAN 10)接收帧,剥离VLAN标签。
- R1检查目的IP
192.168.2.20
,发现属于VLAN 20网段,进行路由。 - R1通过ARP解析
192.168.2.20
的MAC地址(若ARP表中无记录,触发ARP请求)。 - R1构造新以太网帧:
- 目的MAC为
B的MAC
,源MAC为R1的MAC
。 - IP/ICMP报文保持不变。
- 添加VLAN 20标签(VID=20)。
- 目的MAC为
- 帧通过G0/0.20子接口发送到S1的G0/4。
-
S1转发到S2:
- S1接收VLAN 20的帧,通过G0/3(Trunk端口)转发到S2,保留VLAN 20标签。
-
S2处理ICMP请求:
- S2接收帧,确认VLAN 20合法。
- 根据目的MAC,帧转发到G0/2(Access端口)。
- G0/2剥离VLAN 20标签,发送无标签帧到主机B。
-
主机B处理并回复ICMP:
- 主机B接收ICMP回显请求,构造回显应答:
- IP头部:源IP
192.168.2.20
,目的IP192.168.1.10
。 - ICMP报文:类型0(回显应答),代码0,复制请求的标识符和序列号。
- IP头部:源IP
- 主机B通过ARP解析网关
192.168.2.1
的MAC地址。 - 以太网帧:目的MAC为
R1的MAC
,源MAC为B的MAC
。 - 帧发送到S2的G0/2。
- 主机B接收ICMP回显请求,构造回显应答:
-
应答返回流程:
- S2为帧添加VLAN 20标签,通过Trunk端口G0/3发送到S1。
- S1转发到R1的G0/4。
- R1的子接口G0/0.20接收,路由到VLAN 10,添加VLAN 10标签,发送到S1。
- S1剥离VLAN 10标签,通过G0/1发送到主机A。
- 主机A收到回显应答,确认
ping
成功。
注意事项
- VLAN隔离:ICMP报文跨VLAN需通过三层路由,依赖正确的VLAN和路由配置。
- 防火墙:某些网络可能过滤ICMP(如回显请求),导致
ping
失败。 - MTU:ICMP报文可能触发“需要分片”消息(类型3,代码4),需检查路径MTU。
四、不同VXLAN的两台主机通信中的ICMP示例
场景描述
与前述VXLAN示例一致:
- 主机A:IP为
192.168.1.10/24
,连接到交换机S1的端口G0/1,属于VXLAN 10000。 - 主机B:IP为
192.168.2.20/24
,连接到交换机S2的端口G0/2,属于VXLAN 20000。 - 交换机S1和S2:作为VTEP,IP分别为
10.1.1.1
和10.1.1.2
,通过Underlay网络互联。 - 路由器R1:作为VTEP(IP
10.1.1.3
),提供VXLAN间路由,接口为192.168.1.1/24
(VXLAN 10000)和192.168.2.1/24
(VXLAN 20000)。
网络拓扑:
主机A (VXLAN 10000) --- S1(VTEP: 10.1.1.1) --- Underlay网络 --- S2(VTEP: 10.1.1.2) --- 主机B (VXLAN 20000)| |+----------------- R1 -----------------+
ICMP流程(主机A ping 主机B)
-
主机A发起ICMP回显请求:
- 主机A执行
ping 192.168.2.20
,发现目标IP不在同一子网(192.168.1.0/24
)。 - 主机A通过ARP解析网关
192.168.1.1
的MAC地址。 - 主机A构造ICMP回显请求报文:
- IP头部:源IP
192.168.1.10
,目的IP192.168.2.20
,协议1。 - ICMP报文:类型8(回显请求),代码0,标识符,序列号。
- IP头部:源IP
- 以太网帧:目的MAC为
R1的MAC
,源MAC为A的MAC
,类型0x0800
。 - 帧发送到S1的G0/1。
- 主机A执行
-
S1(VTEP)处理ICMP请求:
- G0/1为Access端口,映射到VLAN 100(VNI 10000)。
- S1根据目的IP
192.168.2.20
,通过路由表或EVPN学习,确定转发到R1(VTEP IP:10.1.1.3
)。 - S1封装帧:
- 添加VXLAN头部(VNI=10000)。
- 添加UDP头部(目的端口4789)。
- 添加外层IP头部(源IP:
10.1.1.1
,目的IP:10.1.1.3
)。 - 添加外层以太网头部。
- 数据包通过Underlay网络发送到R1。
-
路由器R1(VTEP)处理ICMP请求:
- R1接收VXLAN数据包,剥离外层头部,提取VNI 10000的原始帧。
- R1检查目的IP
192.168.2.20
,发现属于VXLAN 20000网段,进行路由。 - R1通过ARP解析
192.168.2.20
的MAC地址(若无记录,触发ARP请求)。 - R1构造新VXLAN数据包:
- 原始帧:目的MAC为
B的MAC
,源MAC为R1的MAC
。 - 添加VXLAN头部(VNI=20000)。
- 添加UDP/IP/以太网头部(目的VTEP IP:
10.1.1.2
)。
- 原始帧:目的MAC为
- 数据包通过Underlay网络发送到S2.
-
S2(VTEP)处理ICMP请求:
- S2接收VXLAN数据包,剥离外层头部,提取VNI 20000的原始帧。
- 根据目的MAC,帧转发到G0/2(Access端口,映射到VLAN 200)。
- S2发送无VXLAN封装的原始以太网帧到主机B。
-
主机B处理并回复ICMP:
- 主机B接收ICMP回显请求,构造回显应答:
- IP头部:源IP
192.168.2.20
,目的IP192.168.1.10
。 - ICMP报文:类型0(回显应答),代码0,复制请求的标识符和序列号。
- IP头部:源IP
- 主机B通过ARP解析网关
192.168.2.1
的MAC地址。 - 以太网帧:目的MAC为
R1的MAC
,源MAC为B的MAC
。 - 帧发送到S2的G0/2。
- 主机B接收ICMP回显请求,构造回显应答:
-
应答返回流程:
- S2封装应答帧(VNI=20000),通过Underlay网络发送到R1(VTEP IP:
10.1.1.3
)。 - R1解封装,路由到VXLAN 10000,封装新VXLAN数据包(VNI=10000),发送到S1。
- S1解封装,通过G0/1发送到主机A。
- 主机A收到回显应答,确认
ping
成功。
- S2封装应答帧(VNI=20000),通过Underlay网络发送到R1(VTEP IP:
注意事项
- VXLAN封装:ICMP报文通过VXLAN隧道传输,需确保Underlay网络连通性和足够MTU(建议1550)。
- EVPN优化:EVPN可减少ARP/ICMP广播,提高VXLAN网络效率。
- 防火墙:VXLAN环境中,Underlay或Overlay网络的防火墙可能拦截ICMP,需检查策略。
- 诊断工具:ICMP超时消息(类型11)可用于
traceroute
,需正确配置路由和VTEP。
五、总结
ICMP协议通过控制消息和错误报告支持网络诊断和错误处理,是IP网络的重要组成部分。在VLAN环境中,ICMP报文跨VLAN需通过三层路由,交换机处理VLAN标签,路由器完成转发。在VXLAN环境中,ICMP报文通过隧道传输,VTEP负责封装和解封装。上述示例展示了ICMP在VLAN和VXLAN场景下的ping
流程,体现了其在跨网络诊断中的关键作用。
相关文章:
ICMP协议详解及不同VLAN/VXLAN主机通信中的ICMP示例
一、ICMP协议概述 ICMP(Internet Control Message Protocol,互联网控制消息协议)是TCP/IP协议栈中的一项核心协议,用于在IP网络中传输控制消息和错误报告。ICMP定义在RFC 792中,主要用于诊断网络问题和传递控制信息。…...
SQL server数据库实现远程跨服务器定时同步传输数据
项目背景 数据需要定期迁移,数据存在于客户政务外网下,从旧数据库迁移到新数据库中,且要求能够定时增量同步。 注意: 源数据库所在服务器为windows服务器,目标数据库所在服务器为linux服务器。 源数据库所在windows服…...
贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现
贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现 目录 贝叶斯优化Transformer融合支持向量机多变量时间序列预测,Matlab实现效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.BO-TransformerSVM多变量时间序列预测,…...
服务器租用与托管注意事项有哪些
在当今数字化的时代,服务器对于企业和个人的重要性不言而喻。无论是搭建网站、运行应用程序,还是存储数据,服务器都是关键的基础设施。而服务器租用与托管作为常见的选择方式,其中的注意事项你可不能马虎。 企业在进行租用或者是…...
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】金融风控分析案例-10.3 风险指标可视化监控
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 PostgreSQL金融风控分析之风险指标可视化监控实战一、引言二、案例背景三、数据准备(一)数据来源与字段说明(二)数据清洗 四、…...
【AI提示词】贝叶斯分析专家
提示说明 一名专业的贝叶斯推断专家,具备统计建模、数据分析和不确定性决策方面的专长。 提示词 # Role: 贝叶斯分析专家## Profile - language: 中文 - description: 一名专业的贝叶斯推断专家,具备统计建模、数据分析和不确定性决策方面的专长 - ba…...
星云智控自定义物联网实时监控模板-为何成为痛点?物联网设备的多样化-优雅草卓伊凡
星云智控自定义物联网实时监控模板-为何成为痛点?物联网设备的多样化-优雅草卓伊凡 引言:物联网监控的模板革命 在万物互联的时代,设备监控已成为保障物联网系统稳定运行的核心环节。传统的标准化监控方案正面临着设备类型爆炸式增长带来的…...
#跟着若城学鸿蒙#HarmonyOS NEXT学习之Blank组件详解
一、组件介绍 Blank(空白)组件是HarmonyOS NEXT中一个简单但非常实用的UI组件,它主要用于在布局中创建空白区域,帮助开发者更灵活地控制界面元素之间的间距和布局结构。虽然Blank组件本身不显示任何内容,但它在界面设…...
《Docker 入门与进阶:架构剖析、隔离原理及安装实操》
1 docker 简介 1.1 Docker 的优点 Docker 是一款开放平台,用于应用程序的开发、交付与运行,能将应用和基础架构分离,实现软件快速交付 ,还能以统一方式管理应用和基础架构,缩短代码从编写到上线的时间。其核心优势如…...
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——mqtt库
准备工作 请依照这篇文章搭建环境 OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——环境配置_openharmony交叉编译-CSDN博客 下载 wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-3.5.9.tar.xz 解压 tar -xf mkdir ./out cd ./out Cmake命…...
【LeetCode 热题 100】二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树
⭐️个人主页:小羊 ⭐️所属专栏:LeetCode 热题 100 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 二叉树的中序遍历二叉树的最大深度翻转二叉树对称二叉树二叉树的直径二叉树的层序遍历将有序数组转换为二叉搜索树验…...
中国版 Cursor---腾讯云 CodeBuddy | 从安装VSCode到数独小游戏问世
中国版 Cursor---腾讯云 CodeBuddy | 从安装VSCode到数独小游戏问世 引言CodeBuddy环境准备VSCodeCodeBuddyNode.js下载安装 游戏开发Craft模型一句话生成数独游戏游戏体验 EdgeOne PagesMCPPages MCP Server配置 MCP Server 游戏源码总结 引言 在正文开始之前,先引…...
【蓝桥杯嵌入式】【复盘】第13届国赛真题
1. 前言 最近在准备16届的蓝桥杯嵌入式赛道的国赛,打算出一个系列的博客,记录STM32G431RBT6这块比赛用板上所有模块可能涉及到的所有考点,如果有错误或者遗漏欢迎各位大佬斧正。 本系列博客会分为以下两大类: 1.1. 单独模块的讲…...
Docker疑难杂症解决指南
Docker疑难杂症解决指南 Docker作为容器化技术的代表,广泛应用于开发、测试和部署环境中。然而,在使用过程中,用户可能会遇到各种问题。以下是一些常见的Docker疑难杂症及其解决方法。 容器无法启动 容器无法启动是常见问题之一࿰…...
嵌入式开发学习日志(数据结构--顺序结构单链表)Day19
一、顺序结构 安装软件命令: sudo apt-get install (软件名) 安装格式化对齐:sudo apt-get install clang-format 内存泄漏检测工具: sudo apt-get install valgrind 编译后,使用命令 valgrind ./a.out 即可看内…...
MySQL 8.0 OCP 1Z0-908 题目解析(2)
题目005 Choose two. Which two actions can obtain information about deadlocks? □ A) Run the SHOW ENGINE INNODB MUTEX command from the mysql client. □ B) Enable the innodb_status_output_locks global parameter. □ C) Enable the innodb_print_all_deadlock…...
短板效应--双指针
1.根据题意取决于最小的高,那么 若当移动最小高的一端,mv可能会变 但若移动较大的一端,v一定会变小就没有意义了,所以我们只需要每次移动一端,直到lr就行 2.原理就是与左右端点有关且每次只要移动一端就行 #include…...
CodeBuddy终极测评:中国版Cursor的开发革命(含安装指南+HTML游戏实战)
一、腾讯云CodeBuddy产品全景解读 1. 什么是腾讯云代码助手? 官方定义: Tencent Cloud CodeBuddy是由腾讯自研的AI编程辅助工具,基于混元大模型DeepSeek双引擎,提供: ✅ 智能代码补全(支持200语言&#x…...
【Linux】简单设计libc库
📝前言: 经过之间两篇文章,【Linux】基础IO(一)和【Linux】基础IO(二)的学些,我们对文件的基础IO已经有了一定的理解。 这篇文章我们来简单设计一下libc库,来复习一下文…...
3335. 字符串转换后的长度 I
3335. 字符串转换后的长度 I class Solution:def lengthAfterTransformations(self, s: str, t: int) -> int:# 大质数mod 10**97# 创建一个长度为26的数组cnt,对应26个小写字母cnt [0]*26# 计算出s中26个字符分别有多少个for ch in s:cnt[ord(ch)-ord(a)] 1f…...
《医院网络安全运营能力成熟度评估指南》(试行版)研究解读
引言 随着数字化转型的不断深入,医院信息化建设已从单点应用走向全面系统集成,信息系统已成为支撑医院业务运行和管理决策的基础设施。然而,信息化发展也带来了日益复杂的网络安全挑战,从传统的边界防护到如今的全方位安全威胁,医院网络安全建设面临着前所未有的压力。20…...
鸿蒙5.0项目开发——鸿蒙天气项目的实现(介绍)
【高心星出品】 文章目录 项目简介:项目运行效果图:主要功能:使用的技能点:开发环境: 项目简介: 这是一个基于鸿蒙系统(HarmonyOS)开发的天气应用,采用 ArkTS 语言开发&…...
软考软件测评师——计算机网络
目录 第一部分 核心知识点解析 1. IPv4地址规范 2. 层次化网络架构 3. 网络设备解析 4. URL结构规范 5. 关键网络命令 6. SNMP配置要求 第二部分 历年真题精析 2020年真题 2016年真题 2015年真题 高频考点总结 第一部分 核心知识点解析 1. IPv4地址规范 特殊地址说…...
Node.js 中的 URL 模块
一、URL 模块基础 1. 模块导入方式 // Node.js 方式 const url require(url);// ES 模块方式 (Node.js 14 或启用 ESM) import * as url from url; 2. 核心功能 解析 URL 字符串 格式化 URL 对象 URL 处理工具方法 WHATWG URL 标准实现 二、URL 解析与构建 1. 传统解…...
JavaWeb 前端开发
JavaWeb前端 初识 HTMLCSS 入门程序 什么是HTML HTML是由标签构成的 什么是CSS HTML快速入门 标签可以是大写,也可以是小写,也可以是大小写混用。 属性值也可以使用单引号,但一般使用双引号。 HTML的语法结构比较松散,不严谨…...
设计模式深度解析:AI大模型下的策略模式与模板方法模式对比解析
目录 一、策略模式:AI大模型的动态决策引擎 1.1 核心原理与工业级实现 1.2 AI时代的技术演进 二、模板方法模式:AI流水线的标准化基石 2.1 多模态处理框架设计 三、策略与模板方法的协同创新 3.1 电商推荐系统实践 四、前沿趋势与挑战 4.1 量子计算增强模式 五、伦理…...
2. 盒模型/布局模块 - 响应式产品展示页_案例:电商产品网格布局
2. 盒模型/布局模块 - 响应式产品展示页 案例:电商产品网格布局 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><style type"text/css">:root {--primary-color…...
H5S 视频监控AWS S3 对象存储
本文介绍一下如何使用S3对象存储作为H5S 存储空间进行录像存储 然后创建一个对象存储,本文以minio 为例(实际项目亲测天翼云): 首先安装 s3fs 如果是redhat系列,使用如下命令 sudo yum install epel-release sudo yum install s3fs-fuse …...
Visual Studio 2022 跨网络远程调试
🚀 Visual Studio 2022 跨网络远程调试实践指南 在本地开发软件时,Visual Studio 的调试器是我们最依赖的工具之一。但是当目标程序运行在远程设备上,例如测试服务器、工控设备或嵌入式终端,如何实现 跨网络远程调试 成为了开发中…...
最短路与拓扑(1)
1、找最长良序字符串 #include<bits/stdc.h> using namespace std; const int N105; int dis[N]; int vis[N]; int edge[N][N]; int n,m; int vnum;void dij(int u, int v) {// 初始化距离数组和访问标记for(int i0; i<vnum; i) {vis[i] 0;dis[i] edge[u][i];}// D…...
【前缀和】和为 K 的子数组(medium)
【前缀和】和为 K 的子数组 题目描述算法原理和细节问题代码 题目描述 和为 K 的子数组 给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。 示例 1: 输入:nums [1,1,1], k 2 输出: 2 解释: 此题 [1,1] 与 [1,1] 为两种不同的…...
深入理解 JVM:StackOverFlow、OOM 与 GC overhead limit exceeded 的本质剖析及 Stack 与 Heap 的差异
摘要 在 Java 开发过程中,内存管理相关的问题一直是开发者需要重点关注的领域。StackOverFlow、OutOfMemory(OOM)和GC overhead limit exceeded是常见的运行时错误,而理解Stack(栈)和Heap(堆&a…...
汽车功能安全--TC3xx MBIST设计要点
英飞凌针对硬件潜伏故障的自测,提供了四种机制:PBIST、LBIST、MONBIST和MBIST。 LBIST和MONBIST我们已经聊过了,今天就快速介绍下MBIST。 MBIST,全程Memory Built-in Self Test,用于检测SRAM数据单元的完整性。 在2…...
blazor与硬件通信实现案例
在网页接入硬件交互通信方案这篇博客中,曾经提到了网页中接入各种硬件操作的方法,即通过Windows Service作为指令的中转,并建立websocket通信连接,进而实现接入硬件的各种操作。这篇博客就以实际的案例来讲解具体怎么实现。 一、建立Windows Service项目 比如我就建立了一…...
思迈特软件携手天阳科技,打造ChatBI金融智能分析新标杆
5月10日,广州思迈特软件有限公司(以下简称“思迈特软件”)与天阳宏业科技股份有限公司(以下简称“天阳科技”)在北京正式签署战略合作协议。思迈特软件董事长吴华夫、CEO姚诗成,天阳科技董事长兼总裁欧阳建…...
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
在上一篇中,我们理解了微服务架构的核心理念以及Spring Cloud为我们提供的强大工具集。我们提到,微服务架构的一个核心挑战在于,服务实例的网络位置是动态的,服务之间需要一种机制来互相定位。 想象一下,你开了一家新…...
Linux之初见进程
1. 冯诺依曼体系结构 冯诺依曼体系结构是计算机的基本设计原则之一,也被认为是现代计算机的基础。它由美国数学家约翰冯诺伊曼在20世纪40年代后期提出。冯诺依曼体系结构包括存储程序概念、将数据和指令存储在同一存储器中、按照顺序执行指令等关键特征。 具体来说…...
Docker入门教程:常用命令与基础概念
目录 简介常用命令Docker 常用命令汇总docker run 命令格式与参数解析 简介 Docker 是一个客户端-服务器(client-server)架构的应用程序,其中包含两个主要组件:Docker 客户端和 Docker 守护进程(也称为 Docker Daemon…...
内核深入学习3——分析ARM32和ARM64体系架构下的Linux内存区域示意图与页表的建立流程
内核深入学习3——ARM32/ARM64在Linux内核中的实现(2) 今天我们来讨论的是一个硬核的内容,也是一个老生常谈的话题——那就是分析ARM32和ARM64体系架构下的Linux内存区域示意图的内容。对于ARM64的部分,我们早就知道一个基本的…...
vim 练习题
文章目录 前言:学习了vim基础命令,上机实操下吧命令模式练习插入模式练习末行模式练习视图模式练习高级操作练习 总结 前言:学习了vim基础命令,上机实操下吧 命令模式练习 打开任意文本文件,使用gg跳转到首行&#x…...
CSS3 选择器完全指南:从基础到高级的元素定位技术
CSS3选择器完全指南:从基础到高级的元素定位技术 一、基本选择器:精准定位的基石 (一)元素选择器 通过元素标签名直接匹配页面元素,语法简洁直观: p { color: #333; } /* 选择所有<p>元素 */ div…...
从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation Promptable Segmentation
SAM的火爆也带来了一项新的任务:Promptable Segmentation,并且作者在文中对比了交互式分割Interactive Segmentation,并且在训练过程中也参考了交互式分割的训练方法,那么可提示分割与交互式分割有什么区别? 个人观点…...
k8s初始化时候,报错无法通过 CRI(容器运行时接口)与 containerd 通信
报错主要信息处 [reset] Unmounting mounted directories in “/var/lib/kubelet” W0513 11:34:19.818023 27124 cleanupnode.go:134] [reset] Failed to evaluate the “/var/lib/kubelet” directory. Skipping its unmount and cleanup: lstat /var/lib/kubelet: no such f…...
k8s之k8s集群部署
一、kubernetes基础环境搭建 1.安装虚拟机 2. 基础环境配置 2.1 关闭防火墙 更改主机名 #系统更新 sudo dnf update -y # 关闭防火墙 sudo systemctl stop firewalld sudo systemctl disable firewalld # 临时关闭 SELinux sudo setenforce 0 # 永久关闭 SELinux sudo sed -i…...
百度智能云千帆携手联想,共创MCP生态宇宙
5月7日,2025联想创新科技大会(Tech World)在上海世博中心举行,本届大会以“让AI成为创新生产力”为主题。会上,联想集团董事长兼CEO杨元庆展示了包括覆盖全场景的超级智能体矩阵,包括个人超级智能体、企业超…...
黑白浮生项目测试报告
文章目录 一、项目背景二、项目功能三、测试计划1. 功能测试1.1 注册页面1.1.1 正常注册1.1.2 异常注册 1.2 登录页面1.2.1 正常登录1.2.2 异常登录 1.3 游戏大厅页面1.3.1 开始匹配1.3.2 取消匹配 1.4 游戏房间页面1.4.1 落子1.4.2 游戏结束 2. 自动化测试2.1 创建浏览器驱动类…...
《操作系统真象还原》第十四章(2)——文件描述符、文件操作基础函数
文章目录 前言文件描述符简介文件描述符原理文件描述符实现修改thread.h修改thread.c 文件操作相关的基础函数inode操作相关函数文件相关函数编写file.h编写file.c 目录相关函数完善fs/dir.h编写fs/dir.c 路径解析相关函数实现文件检索功能修改fs.h继续完善fs.c makefile 结语 …...
k8s v1.26 实战csi-nfs 部署
一 前言 使用自开发的一键k8s基础环境部署后,存储需要解决,就是测试环境故选择nfs比较简单,翻阅很多网上资料感觉都不是很全面,结合网上资料折腾了一天,总算是完成了csi-nfs部署。其实之前也部署过,经过一…...
测试集群的功能-执行wordcount程序
具体的操作步骤如下: 确保hadoop是正确运行的。hdfs和yarn都正常启动了。在集群根目录下创建wcinput目录,并在它的下面上传两个文本文件word1.txt, word2.txt,其中保存了要测试的单词信息。在任意一台设备中,进入到hadoop的主目录…...
聊一聊Electron中Chromium多进程架构
Chromium 多进程架构概述 Chromium 的多进程架构是其核心设计之一,旨在提高浏览器的稳定性、安全性和性能。Chromium 将不同的功能模块分配到独立的进程中,每个进程相互隔离,避免了单进程架构中一个模块的崩溃导致整个浏览器崩溃的问题。 在…...