ARP MAC地址解析协议(同一网段)
功能:请求报文,广播到本局域网,让查找的IP地址学习到mac地址。 实现过程 : PC1 首先查看自身ARP缓存信息,是否存在1.1.1.2主机的MAC地址。 不存在
如果目的的主机的MAC地址信息在ARP缓存中不存在,则主机会自动发送ARP请求报文,是一种广播报文。
PC2收到ARP请求后,检查target ip 是否是自身的网卡ip地址。
如果不是,则忽略该ARP请求报文丢弃。
如果是,则将请求报文的sender mac 和 sender ip记录到自己的arp缓存中,并回应arp应答报文。
PC2的arp应答报文单播发送,pc1收到arp应答报文后提取sender mac 和sender IP 记录到自身arp缓存中
存在 arp缓存存在相应表项,无需arp解析。
ARP请求
sender mac 发送arp报文主机网卡的mac地址
sender ip 发送arp报文主机网卡的ip地址
target mac 0000-0000-0000 未知MAC
target ip 被询问的主机网卡的ip地址
ARP应答
sender mac 发送arp应答报文主机网卡的mac地址
sender ip 发送arp应答报文主机网卡ip地址
target mac arp请求报文发送者的mac地址
target ip arp请求报文发送者的ip地址
代理arp(Proxy ARP 跨网段)
功能:代理ARP(Proxy-arp)的原理就是当出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。 具体访问流程: 图中R1和R3处于不同的局域网,R1和R3在相互通信时,R1先发送了一个ARP广播数据包,请求R3的mac地址,但是由于R1是12.1.1.0网段,而R3是13.1.1.0网段,R1和R3之间是跨网段访问的,也就是说R1的ARP请求会被R2拦截到,然后R2会封装自己的mac地址为目的地址发送一个ARP回应数据报给R1(善意的欺骗),然后R2就会代替R1去访问R3。
整个过程R1以为自己访问的是R3,实际上真正去访问R3的是R2,R1却并不知道这个代理过程,这就是所谓的ARP代理,通常用于跨网段访问。
注意:如果R2关闭了arp的代理功能,那么R1再访问R3的时候,R2并不会把自己的mac地址给R1,那么R1和R3之间就无法通信。默认情况下,思科的设备是开启了arp代理功能,也就是说,R2会作为中间代理实现R1和R3之间跨网段通信。
代理ARP的使用场景为 :
- 主机不适合配置网关时
- 目标主机和源主机在同一个网段,但不在同一个广播域
代理ARP
免费ARP何时工作
功能 :用于检查地址冲突
何时触发免费ARP 1、接口配置ip后发送免费ARP 2、通过DHCP协议动态获取ip地址 3、接口地址变更时
具体实例 : 请求流程:设备使用自己的ip地址作为目的地址发送ARP请求。 1、IP地址冲突检测:当设备的协议接口up 设备主动会向外发送arp广播报文,正常情况不会受到报文,如果收到说明检测到ip地址冲突,设备会周期性广播ARP应答报文直到冲突解除。 2、用于通告一个新的mac地址:发送方跟换了网卡,mac地址表 变化了,为了解除mac地址表老化,发送方会提前发送一个免费arp。 3、在vrrp备份组中用老通告主备发生变化。 4、当接口的MAC地址更改时会发送arp
交换机如何处理 ? 用于刷新交换机的MAC地址表 用于刷新同网段其他主机/路由器以存在的arp表项
RARP
由mac地址学习到ip地址
请求过程 : 2、原理: (1)网络上的每台设备都会有一个独一无二的硬件地址,通常是由设备厂商分配的MAC地址。主机从网卡上读取MAC地址,然后在网络上发送一个RARP请求的广播数据包,请求RARP服务器回复该主机的IP地址。
(2)RARP服务器收到了RARP请求数据包,为其分配IP地址,并将RARP回应发送给主机。
(3)PC1收到RARP回应后,就使用得到的IP地址进行通讯。
|