主机A访问主机B先进行数据封装“SIP:1.1 DIP:1.2(目标ip地址知道)
经过数据链路层进行MAC封装:SMAC:DMAC(这里的目标mac地址是不知道)
因为不知道目的mac,数据不能正常传送到主机B这时候我们需要ARP
什么是ARP:地址解析协议
作用:通过知道目标ip地址,使用arp可以解析出目的mac地址
arp涉及ip所以是三层协议,要标注源IP和目的ip
ARP工作原理
如图:主机a访问主机c
SIP:0.1
DIP:0.3
SAMC:AA
DMAC:FFF(把目标MAC设为广播地址通过询问0.3的MAC而成功通信,因为ARP携带了源的ip和mac地址,当经过主机B,主机B处理但是发现目标ip不一致,就直接丢弃)
去的时候广播回来单播
为什么用交换机而不用路由器广播传递信息:因为路由器隔离广播域
arp请求
arp响应
arp缓存
第一次ping成功后第二次ping不会发送arp包,会进行缓存
通过arp -a 查看arp缓存表
#dynamic动态会老化,可以手工绑定变成静态不会老化
#arp -d清楚缓存(d=delete)
免费ARP
#源ip和目标IP是自己,当访问时候有人回复说明ip地址冲突了(检验IP是否冲突)
然后就会给管理员报错,更改IP
抓免费ARP的包
问题
1:网络设备在什么情况下会发送ARP request?
不知道dmac的情况下
2;网络设备什么时候会产生免费ARP?
给接口刚配置ip地址的时候
DHCP:动态分配IP时候也会发送免费ARP