地址解析协议ARP

Windows下的地址解析协议(ARP) 文章目录使用工具ARP解释用法操作一操作二操作相关问题总结 使用工具 Cmder:功能类似于Windows 自带的命令行窗口程序Cmd,安装及使用方法参考https://blog.youkuaiyun.com/fageweiketang/article/details/100820682 ARP 解释 微软官方释意如下: 显示和修改地址解析协议中的条目 (ARP) 缓存。 ARP 缓存包含一个或多个用于存储 IP 地址及其解析的以太网或令牌环物理地址的表。 计算机上安装的每个以太网或令牌环网络适配器都有一个单独的表。 阅读详情

设计需求

ARP协议解决的问题就是:在同一个局域网中,解决主机IP地址和硬件地址的映射问题

基本使用原理

当数据在网络中某一条链路传输的时候我们知道目的主机的IP地址,但是不知道硬件地址,ARP协议就是解决这个问题的一个协议,IP协议可以使用ARP协议找到相应的硬件地址

  • 因为IP地址和下面的硬件地址没有直接的联系,这个时候就通过一个中间的协议ARP协议进行从网络层到硬件层的一个转化
  • 在网络中可能有一些新的主机加入,或者是撤销一些主机,这个时候就硬件地址都可能会改变,所以ARP解决这个问题的方法就是在主机(包括普通主机和路由器)的ARP高速缓冲区中设置了一个从IP地址到硬件地址的一个映射表,映射表中存放的就是各个主机和路由器的IP地址到硬件地址的一个映射关系,局域网中的发送端可以通过这个映射表把报文发送至目标主机

下面的一个图简单看一下ARP协议的使用的位置
这里写图片描述

具体实现

两种情况

  1. 在本局域网中,主机A要向主机B发送报文时,主机A先在自己的映射表中查找有没有主机B的IP地址,如果有,则获取它的B主机硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网,把该MAC帧发送至B的硬件地址
  2. 有可能主机A没有查到主机B的 IP地址,原因可能是主机A或者 是主机B刚刚接入局域网,也可能 是主机A刚刚通电,这个时候它的高速缓冲区的内容还是空的,这个时候通过下面的方式进行查找主机B
    • 主机A的ARP进程发送一个请求广播,广播的内容是“我的IP地址时aaaa,硬件地址时a0a0,我想知道IP地址时bbbb的硬件地址”。
    • 这个时候在该局域网里面的所有主机的ARP进程都能接受主机ARP的请求广播
    • 每个主机都检查广播中的IP地址是不是自己的,如果不是则直接忽略这则广播,只有主机B发现广播中的IP地址和自己的IP地址是一样的 ,这个时候主机B就通过单播的方式将自己的请求发送给主机A,单播的内容是“我是主机B,我的IP地址是bbbb,我的硬件地址是bb00”
    • 主机A接受到主机B发送的信息之后将主机B的信息放到自己的映射表中,然后向主机B发送报文

补充机制

ARP的高速缓存中为每个映射地址的项目都会设置一个生存时间(一般是10–20分钟),超过生存时间的映射就会被删除掉。原因是,假设一种情况是主机A中的ARP缓存中有主机B的映射,这个时候主机B可能 有一些故障之类的发生,就需要换各种硬件,这个时候主机B的硬件地址就改变了,那么刚刚的那个映射就没有意义了,所以这个时候需要重新发送 广播来获取主机B的IP地址和硬件地址的映射

ARP优点

设置ARP高速缓存的优点在于,如果不设置映射的话,每次发送数据时候都需要广播一次,这个时候在局域网中的数据通信就大大的增加了

ARP使用的4种基本的情况

  1. 发送方是主机,要把IP数据发送至本网络上面的另一台主机,这个时候使用ARP找到目的主机就好
  2. 发送方式主机,要把IP数据发送至另一个网络上面的一台主机,这个时候使用ARP找到本网络上面的一个路由器的硬件地址,将 数据发送过去,剩下的交给路由器去做
  3. 发送方式路由器,要把IP数据发送 给本网络上面的一台主机,这个时候通过ARP找到该主机的硬件地址即可发送 数据
  4. 发送方数路由器,要把IP数据发送给另一个网络上面的主机,这个时候通过ARP找到一个路由器,剩下的事情交给路由器去做

ARP数据报格式

在上文的基础之上,我们具体看看ARP数据的各个字段的内容都是什么,请看下图

这里写图片描述
- 第一个字段表示MAC目的地址,如果是全f,表示这是一条广播,所在局域网中的所有主机都可以收到这个消息
- 第二个地段表示源地址,即发送方的MAC地址
- 第三个地段是0806表示这个数据报是属于ARP的,如果是0800则表示IP数据报,因为我们这里讲的是ARP数据报,所以这里就是0806。
- 硬件类型:指链路层网络类型,这里为1,表示以太网
- 协议类型:指要转换的地址类型,这里为0x0800,表示IP地址
- 硬件地址长度和协议地址长度:就是使用的硬件的地址长度和使用的IP地址的长度,就是图中的op地段后面的那些地段的长度分别是6和4
- op:op字段为1表示ARP请求,op字段为2表示ARP应答
- 发送端MAC地址和发送端IP地址:根据实际内容填写
- 目标MAC地址和目标IP地址:此时的目标MAC地址是空白,因为我这里发送的一个广播,要寻找的就是目标MAC地址,所以此时为空,等待目标主机应答,但是目标IP地址是知道的

ARP地址解析协议-个人总结 ARP介绍 地址解析协议ARP(Address Resolution Protocol):根据IP地址获取对应的物理MAC地址,属于网络层协议。是网络层和链路层的重要枢纽; ARP缓存表 (在ARP缓存表中,有三个选项即IP地址、MAC地址和学习的类型方式,存储了本地IP地址和MAC地址的映射条目) 免费ARP IP地址冲突检测:主机在开机后发送免费ARP,用来确定是否在网络中存在了一台主机设置了一样的IP地址,如果有主机回复了该免费ARP,则代表IP地址冲突; 更新MAC地址:可以使收到该免费ARP的 阅读详情

相关推荐

ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题

ARP原理及防范,ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。

ARP协议

ARP协议、代理ARP、ARP攻击、免费ARP

weixin_71853810的博客 1981

WOL唤醒配置(以太网、PHY、MAC)

MAC 就是以太网控制器,属于OSI的数字链路层。phy 属于OSI的物理层(Physical layer),所以叫phy。CPU Mac与phy通信通过MII接口,数据的传输通过MDIO数据线。通过配置phy的相关寄存器实现不同的功能。

qq_58264156的博客 8632

计算机网络 第三讲:ARP

MAC 地址的全称是 媒体访问控制地址(Media Access Control Address)。如果说,互联网中每一个资源都由 IP 地址唯一标识(IP 协议内容),那么一切网络设备都由 MAC 地址唯一标识。可以理解为,MAC 地址是一个网络设备真正的身份证号,IP 地址只是一种不重复的定位方式(比如说住在某省某市某街道的张三,这种逻辑定位是 IP 地址,他的身份证号才是他的 MAC 地址),也可以理解为 MAC 地址是身份证号,IP 地址是邮政地址。MAC 地址也有一些别称,如 LAN 地址、物理地

一起加油!!! 1866

Xilinx同步FIFO IP核的两种读模式对比:Standard vs FWFT(附Vivado仿真代码)

本文深入解析Xilinx同步FIFO IP核的两种读模式——Standard与FWFT,通过时序仿真和Vivado代码示例对比其性能差异。Standard模式适合严格流水线设计,而FWFT模式在低延迟场景表现更优。文章包含详细的testbench搭建指南和性能实测数据,帮助FPGA工程师优化数据流设计。

table的专栏 348

瑞芯微rv1126 rtsp+mpp+rga取流

瑞芯微rv1109 rtsp+mpp+rga取流

ZuoSeDiao的博客 6339

ARP(地址解析协议)

不能找到B的IP地址。A主机的ARP会在该局域网内广播发送一个ARP请求分组,携带源主机(A)的IP地址,MAC地址,目的主机的IP地址。在该局域网内的所有主机运行的ARP进程都会收到该请求分组,当主机IP与请求分组内携带的目的主机的IP地址相同时会收下该分组并向A发送响应分组,响应报文中写入自己的MAC地址。网络层使用IP地址,但实际网络的链路上传送数据帧时,最终还是必须使用链路层的MAC地址,IP地址与MAC地址因为格式不同所以并不存在简单的映射关系(例如,IP地址有32位,MAC地址有48位)。

m0_67991583的博客 1358

AI Agent开发第85课-DeepSeek-OCR 安装全指南:从 Transformers 到 vLLM,手把手教你跑通企业级 OCR

本文系统讲解 DeepSeek-OCR 的两种部署方式——基于 Hugging Face Transformers 的标准推理与基于 vLLM 的高性能加速推理。详细说明 CUDA 与 PyTorch 版本匹配、环境验证、依赖安装等关键细节,并提供可直接运行的完整代码示例。无论你是单卡调试还是高并发服务部署,都能在这里找到清晰路径。

打造全国最全的AI Agent开发知识领域的博客 2542

ARP(地址解析协议)

ARP(Address Resolution Protocol,地址解析协议)可以在以太网上,根据已知的IP地址查找主机的硬件地址。

weixin_62594100的博客 1万+

【音视频 ffmpeg 学习】 RTMP推流 mp4文件

3.当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。1.RTMP(实时消息传输协议)是Adobe 公司开发的一个基于TCP的应用层协议。2.RTMP协议中基本的数据单元称为消息(Message)。下载地址:http://nginx.org/download。下载 rtmp模块 到nginx 模块下。安装nginx 和 rtmp模块。(1). linux 环境准备。下载nginx安装包。使用 vcl 播放流。

weixin_45397344的博客 2276

GIS数据处理-使用PostGIS+QGIS

GIS数据处理1-使用PostGIS+QGIS 介绍 这里我遇到了一个需求,需要将SQLite的.db数据库中GIS数据导出成shapefile文件 数据库的表结构如下所示,这里存储的是wkt格式的矢量数据 WKT与WKB格式介绍 OpenGIS 规范定义了两种表示空间对象的标准方式:Well-Know Text (WKT) 形式和Well-Known Binary(WKB) 形式。WKT 和 WKB 都包含矢量几何要素的对象类型和构成对象的坐标的信息。WKT可读性强,更方便阅读识别,而在实际数据传输和存

孙霸天的专栏 2528

ARP 地址解析协议

为什么要使用两种地址:IP 地址和 MAC 地址?

m0_64621282的博客 1705

详解舵机的基本原理以及控制方法

文章目录什么是舵机?伺服控制硬件连接舵机规格SG90MG90SMG996R总结 什么是舵机? 舵机是伺服电机的一种,伺服电机就是带有反馈环节的电机,我们可以通过伺服电机进行精确的位置控制或者输出较高的扭矩; 舵机也叫也叫 RC 伺服器,通常用于机器人项目,也可以在遥控汽车,飞机等航模中找到它们。 类似舵机这样的伺服系统通常由小型电动机,电位计,嵌入式控制系统和变速箱组成。 电机输出轴的位置由内部电位计不断采样测量,并与微控制器(例如STM32,Arduino)设置的目标位置进行比较; 根据相应的偏差,控制

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 4万+

地址解析协议——ARP

1. 什么是ARP?    英文原义:Address Resolution Protocol    中文释义:地址解析协议(RFC-826)    是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。    局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的

韦编二绝 4933

4、LTE无人机认证:保障通信安全的新方案

本文针对LTE网络中无人机通信存在的安全风险,提出了一种基于可信第三方GCS的新型认证协议。该协议通过非对称加密和哈希函数保护IMSI等敏感信息,防止身份泄露、中间人攻击、拒绝服务攻击和位置追踪等威胁。利用Scyther工具对协议进行形式化分析,验证了其在机密性、一致性和活性等方面的安全属性,证明该方案能有效提升无人机在LTE网络中的通信安全性与隐私保护能力。

pink的博客 61

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【ARP地址解析协议(完整解析过程、ARP欺骗、免费ARP、ARP代理)】-20211125【下】

目录 一、ARP地址解析协议 ARP地址解析协议:将IP地址解析为Mac地址 ARP地址解析过程 1)pc1首先会查询自身的ARP缓存表,是否存在目标ARP缓存条目。 ARP请求报文(原理) 2)由于pc1已经将自己的源IP、源mac地址发送给pc2,pc2收到后,会将DIP、Dmac填充,以单播的形式响应。 3)当pc1收到响应后,剥离二层头部,将三层头部中的源IP地址、源Mac地址的映射关系,记录在自己的ARP缓存表中。(此时,双方都有对方的ARP条目,可以正常通信了。) 一、ARP地.

AZK707的博客 3311

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ARP地址解析协议及实验证明过程

摘要:本文通过ARP协议实验分析IP地址与MAC地址的映射过程。实验使用交换机查看MAC地址表,PC端通过"arp -a"命令观察ARP缓存表。当PC1 ping PC2时,通过抓包分析发现ARP请求/应答过程,并记录5次ping操作产生的10次通信。实验证明二层交换机仅维护MAC地址表(300s超时),不保存ARP表,而PC的ARP缓存表2分钟刷新。最终通过PC端生成的ARP表项验证了ARP协议的功能,说明交换机因工作于二层转发而不需要处理ARP表。(149字)

2302_80512877的博客 1232

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

ARP地址解析协议

将已知的ip地址与其对应的mac地址存放到ARP映射表中,发送数据包时查看ARP表,在缓存中是否有网关IP对应的mac地址有则进行数据的封装后发送,没有则使用网关IP和广播mac地址发送广播等待其回复后记录再发送。动态ARP缓存:有老化时间(20分钟),但有老化探测机制在华为设备中10分钟,15分钟发送单播20分钟发送广播回复就刷新。因为不知道D.MAC地址所以使用全F广播地址,在广播域中发送信息,希望对方能回复。在交换机不划分VLAN不做任何配置的情况下,交换机的所有端口在同一个广播域。

gxiaoqingfeng的博客 534

地址解析协议ARP和逆地址解析协议RARP

地址解析协议ARP地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。解决的是同一个局域网上的问题。RAP报文格式: 硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1; 协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制); 硬件地址长度:指明了硬件地址的长度,这样ARP报文就可以

继学先生 1683

地址解析协议(ARP)

IP 地址到 MAC 地址的解析:- 在网络通信中,数据链路层使用 MAC 地址来标识和传输数据,但网络层使用 IP 地址来进行逻辑寻址。ARP 协议就是在这种情况下发挥作用,根据已知的目标 IP 地址查询并获取对应的 MAC 地址,从而实现 IP 地址到 MAC 地址的转换,确保数据能够准确地发送到目标主机。维护 IP 地址与 MAC 地址的映射关系缓存:- 为了提高通信效率,减少不必要的 ARP 请求广播,每台主机和网络设备都会维护一个 ARP 缓存表。

luotuo28的博客 2444

ARP地址解析协议学习总结

一、 1.ARP(地址解析协议) 用于确定本地可达的IPv4子网使用的IPv4地址对应的硬件地址。它在数据报的目的地与发送方处于同一子网时使用,还用于数据报的目的地不在当前子网时将其转发到一台路由器。ARP缓存是其运行的基础。 提供网络层(IP)地址到相关硬件地址的动态映射。ARP操作会自动执行和随时间变化,与用户或系统管理员无关。 提供了一种在IPv4地址(32位)和各种网络技术使用的硬...

问道青山的博客 3749
上一篇: 线程
下一篇: 以太网的MAC层
NeilZhy
博客等级 码龄11年 175粉丝 145原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值