「专注分享网络技术」动态ARP,静态ARP,一分钟了解下,ARP地址解析

一、ARP简介
1、ARP作用
ARP(AddressResolutionProtocol , 地址解析协议)是将IP地址解析为以太网MAC地址(或称
物理地址)的协议 。
在网络中 , 当主机或其它网络设备有数据要发送给另一个主机或设备时 , 它必须知道对方的网络层
地址(即IP地址) 。 但是仅仅有IP地址是不够的 , 因为IP数据报必须封装成帧才能通过物理网络
发送 , 因此发送站还必须有接收站的物理地址 , 所以需要一个从IP地址到物理地址的映射 。 ARP
就是实现这个功能的协议 。
2、ARP报文结构
ARP报文分为ARP请求和ARP应答报文
「专注分享网络技术」动态ARP,静态ARP,一分钟了解下,ARP地址解析
文章图片
1)、硬件类型:表示硬件地址的类型 。 它的值为1表示以太网地址;
2)、协议类型:表示要映射的协议地址类型 。 它的值为0x0800即表示IP地址;
3)、硬件地址长度和协议地址长度分别指出硬件地址和协议地址的长度 , 以字节为单位 。 对于以
太网上IP地址的ARP请求或应答来说 , 它们的值分别为6和4;
4)、操作类型(OP):1表示ARP请求 , 2表示ARP应答;
5)、发送端MAC地址:发送方设备的硬件地址;
6)、发送端IP地址:发送方设备的IP地址;
7)、目标MAC地址:接收方设备的硬件地址;
8)、目标IP地址:接收方设备的IP地址 。
3、ARP地址解析过程
「专注分享网络技术」动态ARP,静态ARP,一分钟了解下,ARP地址解析
文章图片
(1)主机A首先查看自己的ARP表 , 确定其中是否包含有主机B对应的ARP表项 。 如果找到了
对应的MAC地址 , 则主机A直接利用ARP表中的MAC地址 , 对IP数据报进行帧封装 , 并
将IP数据报发送给主机B 。
(2)如果主机A在ARP表中找不到对应的MAC地址 , 则将缓存该IP数据报 , 然后以广播方式发
送一个ARP请求报文 。 ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP
地址和MAC地址 , 目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址 。
由于ARP请求报文以广播方式发送 , 该网段上的所有主机都可以接收到该请求 , 但只有被请
求的主机(即主机B)会对该请求进行处理 。
(3)主机B比较自己的IP地址和ARP请求报文中的目标IP地址 , 当两者相同时进行如下处理:
将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中 。 之
后以单播方式发送ARP响应报文给主机A , 其中包含了自己的MAC地址 。
(4)主机A收到ARP响应报文后 , 将主机B的MAC地址加入到自己的ARP表中以用于后续报
文的转发 , 同时将IP数据报进行封装后发送出去 。
(5)当主机A和主机B不在同一网段时 , 主机A就会先向网关发出ARP请求 , ARP请求报文中的目标
IP地址为网关的IP地址 。 当主机A从收到的响应报文中获得网关的MAC地址后 , 将报文封装并发
给网关 。 如果网关没有主机B的ARP表项 , 网关会广播ARP请求 , 目标IP地址为主机B的IP地
址 , 当网关从收到的响应报文中获得主机B的MAC地址后 , 就可以将报文发给主机B;如果网关
已经有主机B的ARP表项 , 网关直接把报文发给主机B 。 二、ARP表
设备通过ARP解析到目的MAC地址后 , 将会在自己的ARP表中增加IP地址和MAC地址映射关
系的表项 , 以用于后续到同一目的地报文的转发 。
ARP表项分为动态ARP表项、静态ARP表项和OpenFlowARP表项 。
1.动态ARP表项
动态ARP表项由ARP协议通过ARP报文自动生成和维护 , 可以被老化 , 可以被新的ARP报文更
新 , 可以被静态ARP表项覆盖 。 当到达老化时间、接口状态down时 , 系统会删除相应的动态ARP
表项 。
2.静态ARP表项
静态ARP表项通过手工配置和维护 , 不会被老化 , 不会被动态ARP表项覆盖 。