ARP协议


上一章节主要阐述了IP协议内容及在进行数据交换中所起到的作用。本章内容是对其内容的补充,仅是靠IP是无法完成数据包在互联网中的准确、高效、便捷传输的。本章就讲述了DNS、ARP、ICMP、DHCP、NAT等相关技术。当然,互联网技术是相当复杂的,即便有了这些补充,也仅是在原理上晓得多了些。

对于从事FPGA的人来说,ARP是需要掌握的知识内容,我将从ARP是什么,为啥需要ARP,如何应用ARP这三个方面来进行阐述。

首先,ARP是什么?

ARP(Address Resolution Protocol)是地址解析协议,是根据IP地址获取物理地址的一个网络层协议。以目标IP地址为线索,用来定位下一个应该接收数据包的网络设备对应的MAC地址。

其次,为什么需要ARP

完成数据的收发不仅需要网络层的IP地址,还需要数据链路层的MAC地址,一个实现网络中的数据传输,一个实现具体链路上的数据迁移,二者必不可少。为什么?如果只有MAC地址,数据包只能在本网段内溜达,由于路由器的限制,其他网段是别想去了。如果没有改限制,那就需要以广播的形式寻址目的主机,那将是非常耗费流量的。如果只有IP地址,那么可以理解为没有数据链路层,

最后,实现机制是什么?

ARP是借助ARP请求与ARP响应两种类型的包确定MAC地址的,如下图。

image.png 

总的来说,就是从一个IP地址发出ARP请求包以了解其MAC地址,目标地址将自己的MAC地址填入其中的ARP响应包返回到IP地址,如下图是ARP格式包。

image.png 

另外,还有RARP(Reverse Address Resolution Protocol),这是将ARP反过来,从MAC地址定位IP地址的一种协议。





快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~

有建议、有需求、有疑问、联系我