ARP协议

声明: 本篇博客的学习途径主要为以下网站和课堂讲解,发博客目的仅为学习使用,在该博客的基础上做了一定程序的简略和修改。
参考博客 :
原文链接:https://blog.csdn.net/ever_peng/article/details/80008638
https://blog.51cto.com/13570193/2083332

ARP协议:地址解析协议

ddress Resolution Protocol”(地址解析协议)
【前情铺垫】

  • 以太网中,数据传输依赖MAC地址,而不是IP地址

【ARP作用】:地址解析

  • 将已知IP地址,转化为MAC地址 (通常是目标设备的IP->MAC)

ARP和RARP动态映射

  • ARP把逻辑(IP)地址映射为物理地址。
  • RARP把物理地址映射为逻辑(IP)地址。

ARP原理

ARP协议可以接收来自IP协议的逻辑地址,将其映射为相应的物理地址,然后把物理地址递交给数据链路层。


ARP请求

【已知条件】

  • 发送方ip,MAC地址
  • 接收方的ip

【ARP请求过程】:网络层进行广播

主机发送ARP请求报文(请求报文包含发送方的MAC地址 和 IP地址 以及 接收方的IP地址)
因为发送方不知道接收方的物理地址,所以这个请求报文会在网络层中进行广播

在这里插入图片描述


ARP响应

【ARP响应过程】:单播响应

局域网中的每一台主机都会接受并处理这个ARP请求报文,然后进行验证
验证内容: 查看请求报文内的接收方IP是不是自己
验证成功: 根据发送方的物理地址,以单播的方式,返回一个ARP响应报文(响应报文包含接收方自己的IP地址和物理地址)

在这里插入图片描述


ARP协议 报文字段 抓包解析

报文格式

在这里插入图片描述

ARP报文的总长度为64字节。

英文名作用举例总长
Hardware type硬件类型,标识链路层协议用来定义运行ARP的网络类型。每个局域网基于其类型被指派一个整数。例如:以太网的类型为1。ARP可用在任何物理网络上。16字节
Protocol type协议类型,标识网络层协议例如:对IPv4协议这个字段是0800。ARP可用于任何高层协议16字节
Hardware size硬件地址大小,标识MAC地址长度。例如:对于以太网的值为6,这里是6个字节(48bit)8字节
Protocol size协议地址大小,标识IP地址长度对于IPv4协议的值为4。这里是4个字节(32bit)8字节
Opcode操作代码,标识ARP数据包类型,1表示请求,2表示回应ARP请求(1),ARP响应(2)16字节
Sender MAC address发送者MAC例如:对于以太网这个字段的长度是6字节可变长度字节
Sender IP address发送者IP例如:对于IP协议这个字段的长度是4字节可变长度字节
Target MAC address目标MAC,用来定义目标的物理地址例如,对以太网来说这个字段位6字节。对于ARP请求报文,这个字段为全0,因为发送方并不知道目标的硬件地址。可变长度字节
Target IP address目标IP对于IPv4协议这个字段的长度为4个字节。可变长度字节

报文封装

ARP报文直接封装在数据链路帧中,如图中,ARP分组被封装在以太网的帧中。
注意,帧中的类型字段指出此帧所携带的数据是ARP报文。
在这里插入图片描述

回顾总结

如果两个ip不在同一个VLAN内,则ARP协议会把请求帧发给交换机,交换机通过表,重新向别的VLAN发起新的广播

如果两个ip不在同一个局域网内,则ARP协议会把请求帧发给网关,操作系统初始化时会有默认的网管地址,网关收到消息后会路由表进行消息转发。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值