通信人家园

标题: 主机ARP学习流程  [查看完整版帖子] [打印本页]

时间:  2025-4-17 15:56
作者: 丁善明     标题: 主机ARP学习流程

当主机 A 向同一个网段内的主机C 发送数据,但是不知道主机C 的 MAC 地址。
ARP 请求:
主机 A以主机 C 的IP 地址为目的IP 地址,以广播MAC 地址为目的 MAC地址,在同网段内发送这个广播报文,这个报文就叫 ARP 请求报文。
二层交换机不查看 IP地址,根据目的 MAC 地址将报文除接收端口外的所有端口发送。

ARP 响应:
主机 C发现目的 IP 地址是自己的IP 地址,于是主机C 以自己MAC 地址和 IP地址作为源 MAC 地址和源IP 地址,以主机A 的MAC 地址和 IP地址作为目的 MAC 地址和目的IP 地址,发送响应报文给主机A ,这个报文就叫 ARP 响应报文。其它主机收到主机A 的ARP 请求报文,因为目的 IP地址不是自己的 IP 地址,因此不会进行响应。

当主机 A在发送 ARP 广播请求报文时,二层交换机已经有主机A 的MAC 地址表条目。当收到主机 C 发送的单播ARP 响应报文时,二层交换机将报文从相应端口发送出去。并将主机 C 的MAC 地址和对应端口记录到 MAC地址表中。

更新 ARP缓存表:主机A 收到ARP 响应报文后,将主机 C的 IP地址和 MAC 地址记录到ARP 缓存表中。下次再向主机 C 发送数据时,直接将缓存的目的MAC 地址进行封装。

当主机 A 向不同网段的主机C 发送数据,但是不知道主机C 的 MAC 地址。
ü主机 A使用主机 CIP地址查询 ARPARP发现主机 C不在同一个网段,需要通过默认网关(即默认路由的下一跳地址),但是没有网关MAC 地址;
ü主机 A先将发送给主机 C 的数据放入缓存中,然后发送ARP 请求报文,主机A 以网关IP 地址为目的IP 地址发送 ARP 广播请求报文
ü路由器收到 ARP广播请求报文后,将主机 A MAC 地址和对应端口添加到自己的MAC 表中,然后查看目的IP 地址发现是请求自己的MAC 地址,于是单播发送 ARP 响应报文
ü主机 A收到 ARP响应报文后,将发送给主机 C 的数据封装网关 MAC 地址为目的MAC 地址进行发送;
ü路由器收到报文后,查看目的 IP 地址,是发送给主机C 的,于是查询路由表从相应端口发送数据。由于没有主机C MAC 地址,路由器发送 ARP 请求报文,源 MAC地址和源 IP地址替换为发送端口的MAC 地址和IP 地址;
ü主机 C收到 ARP请求报文后,添加路由器的端口和 MAC 地址到MAC 地址表,单播发送 ARP 响应报文
ü路由器收到主机 CMAC地址后,将其添加到 MAC 地址表中。将主机A 发送给主机C 的报文重新封装,以自己的MAC 地址为源MAC 地址,以主机C MAC 地址为目的MAC 地址,发送给主机C
ü主机 C收到主机 A发送的数据,发送过程结束。
ü当主机 C向主机 A发送回复报文时,同主机 A 向主机C 发送数据的步骤一致


时间:  2025-4-17 16:12
作者: laozhu

基础知识
时间:  2025-4-17 18:17
作者: xhy133

基础知识
时间:  2025-4-17 21:58
作者: 不吹不黑

太详细了。
时间:  2025-4-18 07:12
作者: 小Q主人

温故而知新




通信人家园 (https://www.txrjy.com/) Powered by C114