gratuitous arp和普通arp报文格式区别_TCP/IP(三):ARP报文格式详解

1d9609df45a517260884f178310d92d2.gif

1、概述

ARP,即地址解析协议(Address Resolution Protocol),是根据 IP 地址获取物理地址的一个 TCP/IP 协议,报文位于以太网帧的数据段内。网络设备给另一台设备发送数据时,需要知道对方的网络层地址(IP 地址),但是仅有 IP 地址是无法发送数据的,IP 报文需要封装为以太网帧才能通过数据链路层发送,而以太网帧需要知道对方的 MAC 地址,因此发送端需要知道目的 MAC 地址。ARP 命令可用于查询本机 ARP 缓存中 IP 地址和 MAC 地址的对应关系。

2、ARP 协议详解

主机发送信息时将包含目标 IP 地址的 ARP 请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回 ARP 应答后将该 IP 地址和物理地址存入本机 ARP 缓存中并保留一定时间,下次请求时直接查询 ARP 缓存以节约资源。

例如,主机 A (192.168.1.5)向主机 B (192.168.1.1)发送数据时,主机 A 会在自己的 ARP 缓存表中查找是否有目标 IP 地址。如果找到了,也就确定了目的 MAC 地址,直接把目的 MAC 地址写到以太网帧里发送;如果在 ARP 缓存表里没有找到对应的 IP 地址,主机 A 会在网络上发送一个 ARP 请求,目的 IP 地址为 192.168.1.1,目的 MAC 地址是 FF-FF-FF-FF-FF-FF,表示向同一网段内的所有主机发出这样的询问:“192.168.1.1 的 MAC 地址是什么?”。网络上其他主机不响应 ARP 请求,只有主机 B 接收到这个帧时,才向主机 A 发出 ARP 应答:“192.168.1.1 的 MAC 地址是 XX-XX-XX-XX-XX-XX(主机 B 的 MAC 地址)”。主机 A 收到 ARP 应答后,就知道了主机 B 的 MAC 地址,同时将主机 B 的 MAC 地址更新到 ARP 缓存表,下次再向主机 B 发送消息时,直接从 ARP 缓存表里查找就可以了。

3、ARP 报文格式

7ebed2d8f804605e20c44c232f6c1011.png

硬件类型(2byte):指明了发送方想知道的硬件接口类型,以太网的值为1;

协议类型(2byte):指明了发送方提供的高层协议类型,IP为 0800(16进制),表示 IPv4;

硬件地址长度(1byte)和协议地址长度(1byte):指明了硬件地址和高层协议地址的长度,单位为字节,硬件地址长度为 6,协议地址长度为 4;

操作类型(2byte):用来表示这个报文的类型,ARP 请求为 1,ARP 响应为 2;

发送方硬件地址(6byte):源主机硬件地址;

发送方 IP 地址(6byte):源主机 IP 地址;

目标硬件地址(6byte):目的主机硬件地址;

目标 IP 地址(6byte):目的主机 IP 地址。

641f8fa4d6729539d16fc08ffa593be4.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值