一文详解ARP报文格式及工作原理
ARP(地址解析协议)
作用:
将目的IP解析为目的MAC,用于二层帧结构的目标MAC封装,数据必须封装为帧才能够被网卡发送出去,帧中必须包含MAC。
报文格式:
ARP报文不能穿越路由器,不能被转发到其他广播域。
主要参数:
Hardware Type表示硬件地址类型,一般为以太网(值为1);
Protocol Type表示三层协议地址类型,一般为IP;
Hardware Length和Protocol Length为MAC地址和IP地址的长度,单位是字节; Operation Code指定了ARP报文的类型,
ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4); Source Hardware Address指的是发送ARP报文的设备MAC地址; Source Protocol Address指的是发送ARP报文的设备IP地址;
Destination Hardware Address指的是接收者MAC地址,在ARP request报文中,该字段值为0;
Destination Protocol Address指的是指接收者的IP地址。
工作原理:
1. 首先检查自己的ARP缓存表,是否存在目的IP对应的目的MAC,如存在则不会触发ARP请求与应答过程,直接根据ARP缓存表项封装目的MAC;
2. 不存在arp缓存表,触发arp请求,对方收到arp请求,根据arp报文中的目的IP判断,是否寻找的主机是自己,如果是则发送arp响应携带自己的MAC地址, 回复对方。
示例:
1,主机A发送一个数据包给主机C之前,首先要获取主机C的MAC地址。
2,主机A先查询自己的ARP缓存表,看是否存在C的MAC,如果存在则直接封装C的MAC,
如果不存在则发送ARP request;
3,主机A发送时二层封装S.MAC为自己的MAC地址AA,目的MAC为FFFF FFFF FFFF
ARP消息中封装 S.MAC AA S.IP 0.1D.MAC 00/FFD.IP 0.3
4,主机C收到后进行解封装发现D.MAC为FFFF接收后,交于ARP协议处理,ARP协议 再拆包发现D.IP与自己的IP相同则进行接收(将对方IP、MAC记录下放入arp缓存表) 并进行响应arp reply(告诉对方自己的IP、MAC);
5,主机A收到主机C回复的ARP reply之后根据该消息中携带的IP、MAC,生成相应的ARP缓存表后续主机A、主机C之间的互访则直接根据ARP缓存表进行封装,不需要再发送ARP request;
一文详解ARP报文格式及工作原理相关推荐
- http详解 请求报文格式和响应报文格式
题外话: <Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元>相信过去BTC的人,信不信未来的PI,了解一下,唯一一个高度与之持平的项目 HTTP 工作原理 超文本传 ...
- 网络-IP协议详解(报文格式、分类、NAT、子网、CIDR、抓包分析)
目录 简介 报文格式 IPv4地址 分类 网络地址转换NAT 子网划分与子网掩码 CIDR 实战 参考 简介 IP(网际互连协议,Internet Protocol)是TCP/IP协议族中最为核心的协 ...
- DNS协议详解及报文格式分析
https://blog.csdn.net/tianxuhong/article/details/74922454 目录 一. DNS协议理论知识 1.1. 域名结构 1.2. 域名服务器 1.3. ...
- HTTP运作方式、报文格式、工作原理
运作方式: 在WWW中,"客户"与"服务器"是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器.基于HTTP协议的客 ...
- 详解Kafka应用场景及工作原理
一.概述 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的发布/订阅式分布式消息系统 二.特性 持久 ...
- 一文详解 m3u8视频格式与视频秒开优化
公司要求对 视频秒开率 进行优化(一秒内成功加载的播放数/播放总数). 因此本意是想对比一下m3u8与mp4视频格式,并了解m3u8格式优缺点,以确定一个优化大概方向. 但对m3u8做简单了解后,觉得 ...
- HTTP协议 | 一文详解HTTP报文结构
目录
- 【AI产品】超长文详解作业帮产品逻辑和技术原理
今天一起体验作业帮"拍照搜题"功能,从实际产品使用流程中切实感受AI技术如何为教育创造更多可能~ 作者 | Luna 编辑 | Luna 前两期对抖音和美图的体验,让我们见证了计算 ...
- flash写保护原理_一文详解闪存flash读写的原理
首先讲述的是基本原理,因为前面总结了很多基本原理,所以这个位置比较粗略的带过. 1.基本原理 从图上可以看出,Vt为开启电压,对于N沟道的cmos,当门极加的电压逐渐变大的时候,多数载流子被门极所吸引 ...
最新文章
- php ajax mysql 出错,php – 从mysql切换到mysqli后,Ajax的更新语句不能正常工作,但没有错误显示...
- R语言与总体比例的置信区间
- js(jQuery)获取时间的方法及常用时间类
- [学习笔记] 单位根反演
- 202.linux系统相关函数
- 专升本c语言名词解释题_福建普通高校专升本各类别考试题型及分值
- Linux USB驱动框架分析
- 简单谈谈3D打印培训的发展和前景
- 子类化和超子类化http://www.cppblog.com/wangjia184/archive/2008/03/27/45520.html
- Flume+Kafka+Storm+Redis流计算实现wordcount示例
- Java如何把文档转换成PDF
- Intellij idear使用心得
- React + Ant Design Pro项目实现keep-alive页签
- Word技巧之:将PPT框图以可编辑形式插入Word文档
- Word中给论文添加引用
- 线程安全的随机数生成
- PHP生成带图片的Excel
- 索尼随身听体积小吗?
- 关于EXE文件关联的.
- 【数理统计】估计的性质是否具有变换不变性
热门文章
- 《Delta-Sigma数据转换器从入门到精通》笔记之漫谈均值
- PS_BaseUse_红眼擦拭
- 北京大学生物信息学(9)第二代基因组测序技术
- mysql date 24小时制_SpringBoor连接mysql数据库取数据库中时间格式是12小时制的时间,如何显示成24小时制...
- python初体验-hello world答案_Python初体验(一)—【配置环境变量】【变量】【input】【条件语句】【循环语句】...
- Windows去快捷方式角标
- matlab实现三分之一倍频程,三分之一倍频程程序
- JavaScript高级教程(25)——ES6
- 布鲁斯·塔克曼(Bruce Tuckman)的团队发展阶段模型
- 【极客时间-网络编程实战】