LwIP之ARP协议

151 篇文章 3 订阅 ¥299.90 ¥99.00

在网络层,源主机与目的主机之间是通过IP地址来唯一标识的。但是以太网是通过一个48bit的MAC地址来标识不同的网络通信设备的。那么IP数据包最终需要在物理网络上进行发送,就必须将IP地址转换为目标主机对应的MAC地址。

ARP协议被用来解决上述问题。为了实现在IP地址和MAC之间的转换,ARP协议引入了ARP缓存表的概念。ARP缓存表中存放了最近获得周围其他主机IP地址到MAC地址之间的映射记录。

 

系统初始化时,ARP缓存表是空的(静态绑定除外)。此时(调用netif_set_up时),会向外界广播一个自己的地址信息,称为无回报ARP请求。其他主机接收到ARP数据包之后,会更新ARP缓存表。

当主机A要与主机B通信时:

    第1步:主机A在ARP缓存中,检查与主机B的IP地址相匹配的MAC地址。

    第2步:如果主机A在ARP缓存中没有找到映射,它将在本地网络上广播ARP请求帧。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

    第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。

    第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。

    第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。主机B的MAC地址确定后,主机A就能通过IP地址和主机B通信了。

    注:ARP缓存是有生存期的,一般为20分钟。生存期结束后,将再次重复上面的过程。


IP数据包从源主机到达最

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值