为什么要有arp以及arp原理

news2024/9/21 12:34:57

今天给大家说说arp吧!在学网络的时候,我们知道的是自顶向下交付数据包。但是我们在交付给数据链路层的时候,我们已经有了ip的报头,但是要注意的是,ip层可不会给我们传输数据包,他还要向下交付。我们学过ip协议就会知道的是,ip数据包在向下交付的时候,我们已经对查过路由表了,也就是说我知道这个数据包要去哪,但是我们数据包在网络上务必要经过路由器等节点,我们经过节点的时候会用到mac地址,但是对方的mac地址我们应该如何得知?此时我们就要用到的是arp协议。如下:

其实我们可以理解为arp协议是在以太网数据帧之上的。我们知道以太网数据帧的协议中有一个帧类型,如果是0800,那么此时就是要把这个数据包交付给网络层的ip协议的,如果是0806的话,那么就代表这个是交付给arp协议的,也就是说明这个数据包是arp请求或是应答。说完怎么交付那么就说说有什么用吧。

我们得知的是我们下一跳不知道在一个主机的mac地址,所以要用arp协议,下面先来看看arp协议的报头吧。

硬件类型代表的是次子网是什么网络,1代表是以太网。

协议类型就是0800,代表转换的地址,这里就是ip。

硬件长度是6。

协议地址长度是4。

op代表是应答还是请求,1是请求,2是应答

剩下就很简单了,就是源mac,ip,目的mac,ip地址。

看完此协议报,我们要知道该怎么填。我们知道,我们是不知道下一跳的主机的mac地址的,所以我们在发送请求的时候,我们要把目的mac地址写成广播地址。也就是全是F。目的ip地址我们是知道的。所以在局域网中,源主机想要知道下一跳的mac地址,所以我们要发送请求,这个局域网中的所有的主机都会处理这个请求,根据目的ip地址来对比这个请求是否是自己。不是就丢弃,是的话就构建arp应答,这样就知道了。

然后返回给源主机以后,我们就知道了下一跳的主机mac地址。

那么,此时问题来了,这样的话,局域网中是否是有大量的arp请求,其实不这样的,因为arp层会有一个缓存,它对应的是以前所应答的ip地址所对应的mac地址,可以理解为他是具有记忆的,但是这个记忆是有时间限制的。如果没有时间限制的话,就会出现问题。

还有就是,我们可以用ping命令在自己所在的局域网来获取自己这个局域网中其他主机的mac地址。

以上就是本篇文章的内容,大家如果感觉有所收获希望点一下赞!!谢谢。

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

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

相关文章

一分钟带你了解电容

电容器中的电容究竟是怎么定义的? 一个电容器,如果带1库的电量时两级间的电势差是1伏,这个电容器的电容就是1法拉,即:CQ/U 。但电容的大小不是由Q(带电量)或U(电压)决定…

Ubuntu18.04.6下samba服务的安装及配置

目录 01 安装samba服务: 03 重启samba服务 04 设置samba登录密码 05 测试 前言 虚拟机下Ubuntu18.04.6samba服务的安装及配置 01 安装samba服务: 命令行中输入 sudo apt-get install samba 02 配置 2.1 先创建一个需要共享的目录&#xff0c…

探索 Coinbase 二层链 Base 的潜力与风险

作者:lesleyfootprint.network 在不断变化的加密货币领域,Coinbase 已经确立了自己领先中心化交易所(CEX)的地位。然而,Coinbase 坚信去中心化是创造一个开放、全球范围内对每个人都可访问的加密经济的关键&#xff0…

【Axure教程】区间评分条

区间评分条是一种图形化的表示工具,用于展示某一范围内的数值或分数,并将其划分成不同的区间。这种评分条通常用于直观地显示数据的分布或某个指标的表现。常用于产品评价、调查和反馈、学术评价、健康评估、绩效评估、满意度调查等场景。 所以今天作者…

【Python】—— 文本分析

文本分析 相关知识1. 文本数据处理2. 文本可视化3. Python编程4. 词频统计5. 人名提取6. 自然段划分7. 人物出现频率分布分析8. 词云生成 实验内容数据下载地址:1.对纯英文小说进行分析。2.对中文小说进行分析。 问题与解决附录1.对纯英文小说进行分析。2.对中文小说…

【C语言】超详解strncpystrncatstrncmpstrerrorperror的使⽤和模拟实现

🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…

Python自动化测试系列[v1.0.0][多种数据驱动实现附源码]

前情提要 请确保已经熟练掌握元素定位的常用方法及基本支持,请参考Python自动化测试系列[v1.0.0][元素定位] 数据驱动测试是自动化测试中一种重要的设计模式,这种设计模式可以将测试数据和测试代码分开,实现数据与代码解耦,与此同…

openHarmony添加system_basic权限安装报错

openHarmony添加system_basic权限安装报错 12/14 13:49:57: Install Failed: [Info]App install path:D:\huawei\project\FCTTest\entry\build\default\outputs\default\entry-default-signed.hap, queuesize:0, msg:error: failed to install bundle. error: install failed …

k8s常用命令及示例(三):apply 、edit、delete

k8s常用命令及示例(三):apply 、edit、delete 1. kubectl apply -f 命令:从yaml文件中创建资源对象。 -f 参数为强制执行。kubectl apply和kubectl create的区别如下:kubectl create 和 kubectl apply 是 Kubernetes 中两个常用的命令&…

若依打包将vue放到.jar里面部署

1.vue静态文件,以及单页面 ruoyi-admin\src\main\resources\static \ruoyi-admin\src\main\resources\templates 2.后台开放白名单 "/cms", "/cms#/login" 3. mvc访问vue页面入口,接口 package com.ruoyi.web.controller.syst…

信号继电器 DX-31B DC220V 电压型 带板前接线底座

系列型号 DX-31B信号继电器DX-31BJ信号继电器 DX-32A信号继电器DX-32AJ信号继电器 DX-32B信号继电器DX-32BJ信号继电器 DX-31A信号继电器DX-33/1信号继电器 DX-33/2信号继电器DX-33/3信号继电器 DX-33/4信号继电器DX-33/5信号继电器 一. 继电器用途 DX-30系列信号继电器…

从池化的角度看GNN(包含PR-GNN,EdgePool等7篇论文)下篇

从池化的角度看GNN(包含PR-GNN,EdgePool等7篇论文)下篇 前言一些总结一些早期论文的简要介绍5️⃣论文StructPool:《StructPool: Structured Graph Pooling via Conditional Random Fields》6️⃣论文ASAP:《ASAP: Ada…

Kotlin 笔记 -- Kotlin 语言特性的理解(二)

都是编译成字节码,为什么 Kotlin 能支持 Java 中没有的特性? kotlin 有哪些 Java 中没有的特性: 类型推断、可变性、可空性自动拆装箱、泛型数组高阶函数、DSL顶层函数、扩展函数、内联函数伴生对象、数据类、密封类、单例类接口代理、inter…

Linux ed命令教程:如何使用ed命令编辑文本文件(附案例详解和注意事项)

Linux ed命令介绍 ed命令是Linux中的一个简单文本编辑器。它是一种基于行的文本编辑器,用于创建、修改和操作文本文件。它是Unix中最早的编辑器,后来被vi和emacs文本编辑器所取代。 Linux ed命令适用的Linux版本 ed命令在大多数Linux发行版中都可以使…

华为战略管理的核心工具与方法论:五看三定之“三定”定什么

上一篇文章,华研荟介绍了华为在战略管理中使用的工具之一:五看三定中的五看含义和主要的一些工具(模型),今天继续为您介绍“三定”。 在“五看”中,最后一看是“看机会”,将我们面临的各种可能…

[Linformer]论文实现:Linformer: Self-Attention with Linear Complexity

文章目录 一、完整代码二、论文解读2.1 介绍2.2 Self-Attention is Low Rank2.3 模型架构2.4 结果 三、整体总结 论文:Linformer: Self-Attention with Linear Complexity 作者:Sinong Wang, Belinda Z. Li, Madian Khabsa, Han Fang, Hao Ma 时间&#…

Leetcode—1822.数组元素积的符号【简单】

2023每日刷题&#xff08;五十九&#xff09; Leetcode—1822.数组元素积的符号 实现代码 class Solution { public:int arraySign(vector<int>& nums) {int neg 0;for(int i 0; i < nums.size(); i) {if(nums[i] 0) {return 0;}if(nums[i] < 0) {neg;}}i…

机器人制作开源方案 | 智能助老机器人

作者&#xff1a;刘颖、王浩宇、党玉娟 单位&#xff1a;北京科技大学 指导老师&#xff1a;刘新洋、栗琳 1. 项目背景 1.1 行业背景 随着越来越多的服务机器人进入家庭&#xff0c;应用场景呈现多元化和专业化&#xff0c;机器人产业生态体系正在不断完善&#xff0c;服务…

亚马逊云科技发布企业生成式AI助手Amazon Q,助力企业迈向智能化时代

&#xff08;声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 亚马逊云科技开发者社区、知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道&#xff09; 一、前言 随着人工智能技术的快速发展和广泛应用&#xff0c;我们…

数据结构篇-双向循环链表

目录 一、学习目标 二、概念 节点设计&#xff1a; 节点初始化&#xff08;链表初始化&#xff09;&#xff1a; 节点头插&#xff1a; 插入数据的变形&#xff1a; 遍历显示&#xff1a; 有序插入&#xff1a; 四、总结 一、学习目标 知识点&#xff1a; 一文掌握数据…