ARP协议详解
【摘要】 ARP协议概念:地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(MAC)的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。ARP报文...
ARP协议
概念:
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址(MAC)的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP报文在以太网帧里:
具体的ARP分组格式
使用ARP应当注意的问题
1. ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
2. 如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的网关路由器的硬件地址,然后把分组发送给这个网关路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
我的例子前提
我是通过设备之间发送ICMP报文,来体现ARP的工作过程,ICMP最简单来说,我们平时发送的ping包就是一种ICMP报文,ICMP就是一个IP数据包而已,所以封装ICMP的时候,不仅需要对方的IP还需要对方的MAC你才能把数据包封装起来发送出去,而你的本地只有自己的MAC,没有对方的,所以你就要发送ARP请求来得到想通信的对方的MAC,从而完成通信。
举例如下
注:H为主机,R为路由器
初始情况下的路由表的情况:
情况一
数据包与主机的ARP的详细情况:
解释:
为什么主机1发送ICMP请求包之前需要发送ARP请求,而主机2ICMP应答包却没有,是因为,主机1发送来ARP请求的时候,主机2也就偷偷的把主机1的MAC地址记录在了自己的ARP缓存表中了。
情况二
对应表的情况:
注意:数据包3和数据包6是应该重点思考的包,尤其是MAC地址和IP地址的区别。
情况三
对应表:
情况四
表:
情况五
表:
情况六
表:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)