数通王国历险记之地址分析协议(ARP)
系列文章目录
数通王国历险记(4)
目录
前言
一,什么是地址解析协议(ARP)
二,封装和解封装
三,为什么需要地址解析协议(ARP)
四,ARP的验证实验
4.1,先创建拓扑结构:
4.2,配置PC1和路由器
4.3,我们先开始进行抓包
4.4,抓包结果
4.5,总结ARP协议
五,ARP的工作原理
5.1
5.2
5.3
5.4
总结
前言
随着华为公司的不断发展,数据通信这门技术也越来越重要,很多人都开启了数据通信学习,本文就介绍了地址分析协议(ARP),是我们通过数通王国的第四站(我们在文章中使用的是华为的ENSP软件)。
一,什么是地址解析协议(ARP)
二,封装和解封装
因为我们发出的数据包它是要进行封装的,什么叫做封装呢?
不同层里面出现的这种数据要以每层可以识别的这种格式出现
举个例子:
既假如说你在网络层,你就必须是ip地址,以数据包的形式出现
如果你是物理层,你就老老实实的以比特流的身份出现、
如果你在物理层出现的一个端口号,物理层就直接不好意思直接丢弃,因为物理层就根本无法识别什么是端口号,只能识别比特流,端口号是传输层所能做的
为什么需要封装,因为我们后面讲通信原理的时候,经常会用到一个封装和解封装:其实就是为了在每一层里面可以以正确的本层能识别和处理的格式出现
所以我们需要封装,解封装就是把你不能识别的,其他层的这些格式去掉,换成我们能识别的本层的一个协议,进行处理,所以为什么需要封装和解封装的原因。
三,为什么需要地址解析协议(ARP)
因为在我们已知ip地址解析,我们进行封装的时候,三层分装完就要进行二层封装,因为是从应用层开始封装的,到了这个数据链路层的时候,我们没有办法知道所要访问的目标ip对应的MAC地址是什么?所以我们没有办法进行ARP解析,没有办法进行数据链路层的一个封装,所以这个时候我要请求一个ARP协议报文,根据我访问的这个目标ip去请求对方的这个地址对应的MAC地址。
主机a主动去请求主机b发送了一个广播报文,arp是一种广播报文,去请求192.168.1.2/24这个ip所对应的这个终端的mac地址是多少?所以这个终端在相同的广播域里面会收到这个报文,192.168.1.2/24收到之后他会给192.168.1.1/24进行回应,返回一个ARP的广播报文,说明自己的mac地址,给他回复,所以这个时候主机a就清楚了,在进行数据链路层封装的时候,就会把源MAC地址和目标MAC地址进而完成数据的封装,把数据发送出去。
所以为什么需要ARP解析:
因为数据的转发需要进行封装和解封装,当封装到第二层的时候,由于第一次通信
设备没有办法获知目标ip对应的MAC地址,所以需要借助ARP协议请求目标IP地址对应的MAC地址:
四,ARP的验证实验
因为数据转发需要进行封装和解封装,当封装到第二层时候,由于第一次通信,设备没法获知目标IP对应的MAC地址,所以需要借助ARP协议请求目标IP地址对应的MAC地址。
4.1,先创建拓扑结构:
4.2,配置PC1和路由器
我们知道对方的ip地址,但是不知道对方的MAC地址
先配置设备地址
4.3,我们先开始进行抓包
然后ping一下我们才能看到ARP协议的具体。
4.4,抓包结果
查看我们的抓包的结果
我们对抓包的数据进行解析:
这是我们抓包看到的结果可以看到arp协议的工作:因为在里面的通信肯定是使用了封装和解封装,所以我们也可以抓到这个报文,可以看出arp是一个广播报文,报文格式是什么?它是一种arp报文,并且它们的一种广播的报文,它问谁是10.1.1.254告诉10.1.1.1
然后10.1.1.254就把自己mac地址告诉了对方
4.5,总结ARP协议
总结arp协议:就是已知对方的三层地址但是没法知道对方三层ip对应的的MAC地址
所以无法知道数据链路层的封装,所以需要讲arp的协议以广播的报文形式发送出去寻求对方的对应的ip的地址所在的mac地址才能够顺利的完成数据的封装完成通信。
ARP协议的作用:就是已知目标ip,请求对应的Mac地址(三层转二层)
五,ARP的工作原理
5.1
我们还要刚才实验拓扑
看pc1当中的mac地址表
查看路由器当中的mac路由器地址表的存在时间
5.2
发送一个arp请求,目标地址为全f的arp的请求报文,称之为arp的请求报文
5.3
对方也能收到,因为它是一种广播包,才开解封装,发现找的就是我的解封装地址,所以我就会以单播的形式,以自己的mac地址
给对方进行回复,所以我们的主机1就得到了主机2的mac地址
5.4
最后完成封装,完成通信。
总结
恭喜你,你通过本章的学习ARP地址解析协议,数通王国的第四个关卡,后面还有很多的关卡,数通王国还有很多宝藏等着你去探险,加油!只为成为更好的自己。
相关文章:

数通王国历险记之地址分析协议(ARP)
系列文章目录 数通王国历险记(4) 目录 前言 一,什么是地址解析协议(ARP) 二,封装和解封装 三,为什么需要地址解析协议(ARP) 四,ARP的验证实验 4.1&#x…...

Mac端显示服务器上show的内容
Mac端显示服务器上show的内容 1. 需求描述 在Mac端(终端和PyCharm中)编写代码,在服务器端运行程序。需要在Mac端显示服务器端运行的内容,比如,运行的视频等。 2. 常见报错 SSH 运行命令时报错示例。 (cv) czjing…...
【SQL】每类视频近一个月的转发量/率
【问题】 统计在有用户互动的最近一个月(按包含当天在内的近30天算,比如10月31日的近30天为10.2~10.31之间的数据)中,每类视频的转发量和转发率(保留3位小数)。 【数据】 用户-视频互动表 tb_user_video…...
chatgpt读论文
在当今的数字化时代,人工智能(AI)正在颠覆我们的生活方式。 OpenAI的GPT系列模型——尤其是最新一代的GPT-4和它的聊天机器人版本ChatGPT——是最近AI进步的显著代表。通过深度学习和海量数据训练,这些模型已经可以生成出色的人类般的文本。它们可以被用…...

关于visual studio 2010 及以上版本 引入boost库的最新解决方法
之前没有怎么用到boost库,出来实习需要去编译一些代码,需要引入boost第三方库,在这过程中,一直出现 LINK : fatal error LNK1104: 无法打开文件“libboost_filesystem-vc100-mt-gd-x3 错误, 但是也确实是跟其他教程学过…...

SpringBoot+ Dubbo + Mybatis + Nacos +Seata整合来实现Dubbo分布式事务
1.简介 “ 本文主要介绍SpringBoot2.1.5 Dubbo 2.7.3 Mybatis 3.4.2 Nacos 1.1.3 Seata 0.8.0整合来实现Dubbo分布式事务管理,使用Nacos 作为 Dubbo和Seata的注册中心和配置中心,使用 MySQL 数据库和 MyBatis来操作数据。 ” 如果你还对SpringBoot、Dubbo、Nacos…...
MongoDB使用
文档连接: link 创建表 不需要创建表的语句,当插入表的第一条语句时,会隐式的创建表。 增 插入一条 db.people.insertOne({ user_id: "bcd001", age: 45, status: "A" } )插入多条 db.collection.insertMany([ <document 1&g…...
C#文件安全管理解析
在实际的项目开发中,我们经常需要使用到文件的I/O操作,主要包含对文件的增改删查等操作,这些基本的操作我们都是很熟悉,但是较少的人去考虑文件的安全和操作的管理等方面,例如文件的访问权限管理,文件数据的…...

基于Dubbo分布式学校信息管理系统设计与实现
一、引言 1.1 课题背景 随着时代的发展与进步,计算机网络也随之日益完善,渐渐覆盖了我们生活的各个方面。在信息化和数字化的时代背景下,使用计算机管理学校信息来提升教育工作的质量和效率,是大势所趋,所以近年来,随着网络技术的不断发展,使用信息管理系统的学校越来…...
oracle面试问题和笔记整理
oracle面试笔记 ORACLE 面试问题-技术篇(2) 如何判断数据库的时区? 解答:SELECT DBTIMEZONE FROM DUAL; 解释GLOBAL_NAMES设为TRUE的用途 解答:GLOBAL_NAMES指明联接数据库的方式。如果这个参数设置为TRUE, 在建立数据库链接时就必须用相同的名字连结远程数据库 23。如何…...

Hadoop_Yarn实践 (三) => (Yarn的基础架构、原理、容量/公平调度器、Tool接口、Yarn常用命令、核心参数)
目录 Hadoop_HDFS、Hadoop_MapReduce、Hadoop_Yarn 实践 (三)一、Hadoop_HDFS二、Hadoop_MapReduce三、Hadoop_Yarn1、Yarn资源调度1.1、基础架构1.2、Yarn的工作调度机制(Job提交过程)1.3、Yarn 调度器和调度算法1.3.1、先进先出调度器(FIFO…...

postgresql 从应用角度看快照snapshot使用,事务隔离控制不再神密
专栏内容:postgresql内核源码分析 个人主页:我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 快照使用 快照是事务中使用,配合事务的隔离级别,体现出不同的可见性。…...
mysql(mariadb)读写分离部署
目录 一、原理 二、准备环境 三、部署mysql主从复制 1.五台服务器下载mariadb 2.修改master配置文件,重启数据库 3.登录mysql创建replication 4.从服务器登录验证 5.获得master服务器 DB的相关信息 6.备份master原有数据 7.修改slave1、slave2配置 8. 进入…...

ES-工作原理
前言 搜索引擎是对数据的检索,而数据总体分为两种:结构化数据和非结构化数据。而对于结构化数据,因为他们具有特定的结构,所以一般都是可以通过关系型数据库MySQL/oracle的二维表的方式存储和搜索,也可以建立索引。…...
C++小结(4)
C 字符串 C 提供了两种类型的字符串表示形式: C 风格字符串C 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字…...

Java框架之spring 的 messaging
写在前面 本文看下spring message相关的内容。 1:Message?Messaging? Message是消息的意思,是一个名词。而Messaging是一个动名词,是将消息发送出去的意思,因此,我们的消息系统是messaging s…...

linux使用grep命令查询nginx的进程情况时总是出现 grep --color=auto nginx
问题: 每次使用ps aux | grep 服务名 命令查询某个服务的进程时,总会出现一条grep --colorauto 服务名 例如: ps aux | grep nginx # 会出现图片中的情况解答: 这是因为grep 也是一条命令,它在输出时,会…...
FFmpeg音视频开发知识点(二)
系列文章目录 FFmpeg音视频开发知识点(一) 文章目录 系列文章目录前言一、AAC音频编码1. ffmpeg编译第三方的libfdk_aac2. S16重采样FLTP 二、AAC音频解码总结 前言 该篇讲解一下,音频编解码中的难点,以及开发过程中遇到问题&am…...

【Java可执行命令】(十)JAR文件签名工具 jarsigner:通过数字签名及验证保证代码信任与安全,深入解析 Java的 jarsigner命令~
Java可执行命令之jarsigner 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法3.1.1 可选参数:jarsigner -keystore < url>3.1.2 可选参数:jarsigner -storepass <口令>3.1.3 可选参数:jarsigner -keypass <口令>3.1.4 可选参…...

c#调用c++ dll,Release版本内存访问错误
最近遇到个比较经典的案例,在c#中调用yara进行文件检测,yara是c编写的一个非常强大库,github有个大佬用c#对其进行了封装,使其能在跨平台下,只需编译yara的so或dll就能直接跑。但总是在Release版本下时不时就崩溃&…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...