ARP协议详解
1.概述
①ARP(Address Resolution Protocol,地址解析协议), 用于实现从 IP 地址到 MAC 地址的映射。
②在网络通信中,主机和主机通信的数据包需要依据OSI模型从上到下进行数据封装,当数据封装完整后,再向外发出。所以在局域网的通信中,不仅需要源目IP地址的封装,也需要源目MAC的封装。一般情况下,上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过ARP协议来获知目的主机的MAC地址,完成数据封装。
2.图解
3.分类
- ARP
- 翻转ARP(Reverse ARP):无盘工作站通过RARP协议来获取IP地址(eg:有了IP地址之后通过TFTP引导加载系统)
- 代理ARP(Proxy ARP):当局域网内部主机发起跨网段的ARP请求时,出口路由器/网关设备将自身MAC地址回复该请求时,则过程称为代理ARP。(eg:1.没有路由功能的主机;2.有路由功能,目的地指向本地出口)
- 免费ARP(Gratuitous ARP又称无故ARP):用于实现局域网内部IP地址冲突检测。(eg:IP地址修改和DHCP刚获取地址)
- 逆向ARP:帧中继环境下,用于实现IP和DLCI地址的映射。
4.封装
Hardware type 硬件类型,标识链路层协议
Protocol type 协议类型,标识网络层协议
Hardware size 硬件地址大小,标识MAC地址长度
Protocol size 协议地址大小,标识IP地址长度
Opcode 操作代码,标识ARP数据包类型
Sender MAC address 发送者MAC
Sender IP address 发送者IP
Target MAC address 目标MAC,此处全0表示在请求
Target IP address 目标IP