wireshaek实战中理解ARP协议
ARP协议概述:
网络层以上的协议用IP地址来标识网络接口,但以太数据帧传输时,以物理地址来标识网络接口。因此我们需要进行IP地址与物理地址之间的转化。
对于IPv4来说,我们使用ARP地址解析协议来完成IP地址与物理地址的转化(IPv6使用邻居发现协议进行IP地址与物理地址的转化,它包含在ICMPv6中)。
ARP协议提供了网络层地址(IP地址)到物理地址(mac地址)之间的动态映射。 ARP协议 是地址解析的通用协议
注意:ARP只为同一个子网上的主机和路由器接口解析IP地址。
MAC 地址 与 IP地址
- Mac地址由设备制造商定义/分配,每一个硬件设备都有一个链路层主地址(MAC地址),保存在设备的永久内存中。设备的mac地址不会改变(现在可以进行mac地址伪装)
- IP地址由用户配置给网络接口, 网络接口的IP地址是可以发生变化的(通过DHCP获取IP,变化速度比较快)
获取目的端的MAC地址(在一个以太网中)步骤如下:
-
1.发送ARP请求的以太网数据帧给以太网上的每个主机,即广播(以太网源地址填全1)。ARP请求帧中包含了目的主机的IP地址。
-
2.目的主机收到了该ARP请求之后,会发送一个ARP应答,里面包含了目的主机的MAC地址。
ARP协议工作原理
-
每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
-
主机(网络接口)新加入网络时(也可能只是mac地址发生变化,接口重启等)