系列文章目录
文章目录
一、ARP是什么?
1、是根据IP地址获取物理地址的一个TCP/IP协议。
2、建立在信任的基础上,不检查真实性
3、主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
拿个图举例子说明
ff ff ff ff ff ff 前六个字节为以太网目的地址(非ip地址,而是硬件地址),6个字节,为广播地址,向所有人广播
c0 61 18 e4 79 2a 源地址(如果是本机发送的请求,那么就是本机的硬件地址)
08 06 帧类型(即协议类型0806为arp类型)
00 01 硬件类型0001为以太网
08 00 协议类型0800为ipv4
06 硬件地址长度06是6字节
04 协议地址长度(如果是IP4则这个值为4)
00 01 op操作类型,0001为请求类型0002为回文
c0 61 18 e4 79 2a 发送者硬件地址,和源地址一样
c0 a8 03 01 发送者ip 192.168.3.1,4字节
00 00 00 00 00 00 目标硬件,如果是请求,那么全为0
c0 a8 03 6d 目标ip
二、为什么需要ARP
在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。
而在TCP/IP协议栈中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。
所谓地址解析(ad