Linux服务架设篇--arp命令
ARP,地址解析协议。在以太局域网中,主机之间交换数据帧时,是通过MAC地址进行的。因此,当以太网的一台主机向另一台IP地址的主机发送数据包时,它需要知道目的IP地址所对应的MAC地址,才能把这个IP数据包发送过去。
工作过程:
主机A(192.168.0.10)向主机B(192.168.0.20)发送一个IP数据包,主机A需要把这个IP数据包封装在以太数据帧中才能发送,此时需要知道主机B的MAC地址。如果主机A不知道主机B的MAc地址,它就会在网络上发送一个广播数据帧,其目标MAC地址是广播地址“FF.FF.FF.FF.FF.FF”。相当于在本地局域网询问:“192.168.0.20的MAC地址是什么”。同一子网下的所有主机都会收到数据帧,但只有B收到数据帧会回复数据帧,内容相当于:“192.168.0.20的MAC地址是12-22-3e-34-4r-6d”。
ARP缓存:
通常,每台主机都会有自己的ARP缓存,其存放着各IP地址所对应的MAC地址,发送数据包时,先检查ARP缓存是否有IP地址与MAC地址的相应记录,若没有,才会进行ARP解析。
ARP缓存条目分为静态和动态两种,静态条目由管理员指定,其固定不变。动态条目,在一定时间内如果缓存表中的某一条目没有被使用,将会自动删除。另一方面,当IP地址与MAC地址对应关系改变时,能及时更新。
arp命令:
-n 不进行域名解析
-s addr hw 添加一条静态arp条目
-a addr 查看指定ip地址arp条目
-d addr 删除指定地址arp条目
-f file 把file文件中指定的ARP条目导入arp缓存中 (默认是/etc/ethers)
[root@ding ~]# arp -n Address HWtype HWaddress Flags Mask Iface 192.168.0.1 ether c8:3a:35:2f:24:f0 C
[root@ding ~]# ping 192.168.0.106 PING 192.168.0.106 (192.168.0.106) 56(84) bytes of data. 64 bytes from 192.168.0.106: icmp_seq=1 ttl=64 time=2.04 ms 64 bytes from 192.168.0.106: icmp_seq=2 ttl=64 time=0.326 ms 64 bytes from 192.168.0.106: icmp_seq=3 ttl=64 time=0.482 ms
[root@ding ~]# arp -n Address HWtype HWaddress Flags Mask Iface 192.168.0.1 ether c8:3a:35:2f:24:f0 C eth0 192.168.0.106 ether 38:ea:a7:86:02:a4 C eth0