ARP协议
ARP(address resolution protocol)地址解析协议
作用:
通过目的ip地址,请求目的mac地址。
1、hardware type:硬件类型。该值固定为Ethernet
2、protocol type:协议类型。该值固定为ipv4
3、opcode:用于标识ARP报文的类型。
ARP request,ARP请求报文。
Ethernet头部,目的mac为广播。
ARP报文中,源mac和源ip地址都是单播。
目的mac:00-00-00-00-00-00
目的ip:单播
是以广播的形式发送的!
ARP reply , ARP应答报文。
ARP报文中:源mac和源ip都是单播。
目的mac和目的ip都是单播。
是以单播的形式发送的!
ARP缓存表
作用:
1、用于记录ip和mac地址的对应关系。
2、用于决定在发送数据包前,是否要发送ARP请求报文。如果有记录,那么不发送。没有记录,那么就要发送。
生成方式:
1、动态学习ARP报文的内容,生成表项。对应动态类型。
2、管理员手工绑定,对应静态的类型。
静态优于动态。
ARP具体工作过程:
主机要发送数据包之前,会进行二层封装。那么就会根据目的ip地址,去ARP缓存表中,查找有没有对应的mac地址。
如果有,那么直接使用该mac地址,完成二层封装。
如果没有,那么以广播的形式发送ARP请求报文。目的主机收到ARP请求报文,就会根据报文的SIP和SMAC生成ARP缓存表。然后,读DIP地址是否为自己,是自己,那么单播回应ARP应答报文。当主机收到ARP应答报文,那么根据报文的源ip地址和源mac地址,生成ARP缓存表。
免费ARP:
作用:
用于检查是否存在ip地址冲突。
触发条件:
1、修改ip地址。
2、通过DHCP动态获取ip地址时。
3、静态手工配置了ip地址
特点:
源ip地址和目的ip地址相同。
免费ARP请求报文和免费ARP应答报文都是广播发送。
什么设备上会有ARP缓存表?
1、路由器
2、终端设备(PC server)
3、三层交换机
如果主机不在同一个网段中,那么ARP请求报文的目的ip地址是多少?
答:网关的ip地址,从而请求到网关的mac地址。
注意:广播报文不能跨网段发送!