arp协议在TCP/IP模型中属于IP层(网络层),arp协议即地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。它可以解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题。
arp协议,也称地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。它可以解决同一个局域网内主机或路由器的IP地址和MAC地址的映射问题。
MAC表(FDB表,2层):MAC地址——接口;
ARP表(2.5层):MAC地址——IP地址;
ARP表是IP地址到MAC地址对应列表。
MAC对应的是物理地址一般在交换机中。
知识延展:
路由表(FIB表,3层):网段——网关——出接口(网关路由);网段——出接口(直连路由)。
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
MAC(Media Access Control, 介质访问控制)MAC地址是烧录在Network Interface Card(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位是由厂家自己分配.24-47位,叫做组织唯一标志符(oganizationally unique ,是识别LAN(局域网)节点的标识。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
ARP(Address Resolution Protocol)请求是一种在网络层协议中用于将IP地址映射到MAC地址的协议。在计算机网络中,每个设备都有一个唯一的IP地址,用于在Internet上标识设备。但是,当数据包需要在本地网络中传输时,设备需要知道目标设备的物理(MAC)地址,以便将数据包发送到正确的设备。这就是ARP协议发挥作用的地方。
当一个设备想要将数据包发送到同一网络中的另一个设备时,它首先检查其ARP缓存,看看是否有目标设备的MAC地址。如果有,数据包将被直接发送到该MAC地址。如果没有,发送设备将广播一个ARP请求,询问“谁有目标IP地址?请回复您的MAC地址。”
当收到ARP请求时,本地网络中的所有设备都会检查它们是否具有请求中的IP地址。如果是,设备将回复一个ARP响应,其中包含其MAC地址。发送设备收到ARP响应后,会将目标设备的IP地址和MAC地址映射存储在其ARP缓存中,以便将来使用。这样,数据包就可以成功地发送到目标设备。
总之,ARP请求是在计算机网络中用于将IP地址映射到MAC地址的一种协议,以便设备可以在本地网络中正确地发送和接收数据包。
1. ARP协议简介
ARP,即地址解析协议,实现通过IP地址得知其物理地址。为了让报文在物理网路上传送,必须知道对方目的主机的Mac地址。这样就存在把32位的IP地址变换成48位的MAC地址的地址转换问题。
2. MAC 地址 与 IP地址
Mac地址由设备制造商定义/分配,每一个硬件设备都有一个链路层主地址(MAC地址),保存在设备的内存中。设备的mac地址不会改变(现在可以进行mac地址伪装)
IP地址由用户配置给网络接口, 网络接口的IP地址是可以发生变化的(通过DHCP获取IP,变化速度比较快)
3.ARP的工作原理
每个主机都会在自己的 ARP 缓冲区中建立一个 ARP 列表,以表示 IP 地址和 MAC 地址之间的对应关系。
主机新加入网络时,会发送免费ARP报文把自己IP地址与Mac地址的关系广播给其他主机。
网络上的主机接收到免费ARP报文时,会更新自己的ARP缓冲区。将新的映射关系更新到自己的ARP表中。
某个主机需要发送报文时,首先检查 ARP 列表中是否有对应 IP 地址的目的主机的 MAC 地址,如果有,则直接发送数据,如果没有,就向本网段的所有主机发送 ARP 数据包,该数据包包括的内容有:源主机 IP 地址,源主机 MAC 地址,目的主机的 IP 地址等。
当本网络的所有主机收到该 ARP 数据包时:
1)首先检查数据包中的 IP 地址是否是自己的 IP 地址,如果不是,则忽略该数据包。
2)如果是,则首先从数据包中取出源主机的 IP 和 MAC 地址写入到 ARP 列表中,如果已经存在,则覆盖。
3) 然后将自己的 MAC 地址写入 ARP 响应包中,告诉源主机自己是它想要找的 MAC 地址。
RP实际上是英文词组Address Resolution Protocol的简称,它的中文名叫做地址解析协议。它主要指的就是根据电脑的ip地址获取到的一个物理地址上的ip协议,ARP是建立在网络中各个主机之间互相信任的前提下,它还可以对本机ARP缓存中的的ip地址以及mac地址这两者的对应关系进行排查,由此做出添加以及删除各种静态对应关系等等。
现在我们常见的相关协议有rarp、代理arp等等,如果ndp的用户还能在IPv6中来代替arp。
解决办法
根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。
如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。
源主机A的IP地址和MAC地址都包括在ARP请求中,本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。
主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。
还没有评论,来说两句吧...