ARP协议和RARP协议
ARP(Address Resolution Protocol)地址解析协议
RARP(Reverse Address Resolution Protocol)逆地址解析协议
1、ARP协议
ARP协议将网络层的32位IP地址转化成数据链路层48位的MAC地址。
1.1 ARP报文
ARP报文分为ARP请求和ARP应答报文两种,它们的报文格式可以统一为下图所示。
- 硬件类型:占两字节,表示ARP报文可以在哪种类型的网络上传输,值为1时表示为以太网地址。
- 上层协议类型:占两字节,表示硬件地址要映射的协议地址类型,映射IP地址时的值为0x0800。
- MAC地址长度:占一字节,标识MAC地址长度,以字节为单位,此处为6。
- IP协议地址长度:占一字节,标识IP得知长度,以字节为单位,此处为4。
- 操作类型:占2字节,指定本次ARP报文类型。1标识ARP请求报文,2标识ARP应答报文。
- 源MAC地址:占6字节,标识发送设备的硬件地址。
- 源IP地址:占4字节,标识发送方设备的IP地址。
- 目的MAC地址:占6字节,表示接收方设备的硬件地址,在请求报文中该字段值全为0,即00-00-00-00-00-00,表示任意地址,因为现在不知道这个MAC地址。
- 目的IP地址:占4字节,表示接受方的IP地址。
1.2 ARP缓存表
缓存了MAC地址和IP地址的映射关系。是ARP和RARP协议运行的关键。
- 如果在查询ARP缓存表的时候,对应的映射关系存在,则直接告知其对应的目的MAC地址,
- 如果在查询ARP缓存表的时候,映射关系不存在,则会广播目的IP的信息,收到广播的设备回应是否是其为该IP地址,如果是,则会记录下该IP地址以及其对应的MAC地址。
由于MAC地址是永久不变的,而IP地址是时常变化的,所以ARP缓存表不是永久有效的,存在一定期限。
问题:ARP协议属于那一层?
由于ARP协议使用到了IP地址,我们把ARP协议算作网络层内容。ARP是网络层和数据链路层配合使用的协议。
2、RARP协议
做ARP协议相反的工作,就是把MAC地址转化成IP地址。
ARP协议和RARP协议相关推荐
- 【4】TCP/IP协议族详解-ARP协议和RARP协议
声明:本博客参考<TCP/IP协议详解卷一:协议> 1.概述 在以太网中一台主机将数据帧从一台主机发送到另一台主机时,是根据48bit的以太网地址确定目的接口的.设备驱动程序从不检查IP数 ...
- 计算机网络 arp协议和rarp协议
文章目录 1.arp协议 1.1 简介 1.2 功能 1.3 工作原理 2.rarp协议 2.1 简介 2.2 工作原理 1.arp协议 1.1 简介 地址解析协议,即ARP(Address Reso ...
- Linux:数据链路层——以太网协议、NAT协议、ARP协议和DNS协议
Linux:数据链路层--以太网协议.NAT协议.ARP协议和DNS协议 以太网协议 以太网帧格式 MTU以及MTU对IP协议的影响 ARP协议 NAT协议 NAT IP转换过程 静态NAT 动态NA ...
- ARP协议和NDP协议分析
简介 Linux下查询arp表执行arp –n: ARP(Address Resolution Protocol)即地址解析协议,根据IP地址获取MAC地址.主机发送信息时将包含目标IP地址的ARP请 ...
- 基于PT分析ARP协议和Wireshark分析ARP协议。
一.Ip层主要的协议:ARP,ICMP,ip,IGMP ICMP:ping命令.(可以这么理解,先简单这么理解叭) 二.ARP技术原理(图片为网络图片,侵权即删) 首先我们得明白ARP工作在网络层.( ...
- doraemon的python tcp协议和udp协议
### 8.9 tcp协议和udp协议#### 8.9.1 tcp协议 -------打电话 特点:- 可靠 慢 全双工通信 - 建立连接的时候:三次握手 - 断开连接的时候:四次挥手 - ...
- Bytom BIP-32协议和BIP-44协议解读
我们知道HD(分层确定性)钱包,基于 BIP-32:多币种和多帐户钱包,基于 BIP-44:最近比原社区的钱包开发者对比原的BIP-32和BIP-44协议有疑问,所以我今天就专门整理了一下该协议的内容 ...
- 3.7 PPP协议和HDLC协议
3.7 PPP协议和HDLC协议
- RabbitMQ MQTT协议和AMQP协议
RabbitMQ MQTT协议和AMQP协议 1 序言... 1 1.1 RabbitMq结构... 1 1.2 RabbitMq消息接收... 4 1.3 Ex ...
最新文章
- 不甘心只做输入工具,搜狗输入法上线AI助手,提供智能服务
- 如何使用Hololens 这些手势你都要学
- Django Web开发基础环境配置流程
- 计算机主机硬件详细介绍,计算机系统的硬件和系统软件详细介绍
- .NET中使用Memcached的相关资源整理
- mysql如何导出sql文件_MYSQL导入导出.sql文件
- oppo系统android版本下载,oppo手机助手
- 手把手带你玩转Spark机器学习-使用Spark构建分类模型
- 卡尔曼滤波原理图文详解
- scp收容失效找不到服务器,迟来的游戏更新——scp-收容失效高清重制版
- 百度地图获取数据库点的坐标,并定时刷新到页面上 jsp
- 黑苹果、win双系统,丢失黑苹果引导,如何修复黑苹果的引导
- Linux 知:coredump
- linux建立u盘引导分区表,创建Linux之USB启动盘
- Java云原生(Spring Native)开发初体验报告
- RPG游戏角色生成器
- 电影《差等生乔曦》首映 导演分享教育心得
- Android 加固厂商特征
- 桐乡学历提升-学历到底有什么用呢?
- Vue实现切换视图(表单与三列多行)的全选与清除功能: