LWIP-ARP

ARP协议

简介

  • ARP: 地址解析协议

  • ARP属于网络层,与IP协议是对等独立的概念,与网络接口层密切相关

  • 为何需要ARP: IP层看来,源与目的主机之间通过IP地址标识,而数据链路层使用MAC地址标识网络通信设备

  • ARP协议完成: 在数据链路层,完成IP地址与 MAC地址的转化,然后通过网络接口发送

  • 本质: 利用目标主机的IP地址,查询对应的MAC地址,保证数据链路上数据包的通信的进行

    ​ ARP缓存表: 记录 <ip地址 , Mac 地址>

    ​ ARP缓存表的建立: ARP请求包:广播方式发送,请求IP地址对应的设备,发送其MAC地址

    ​ ARP应答包: 比对IP地址,如果匹配,发送自己的MAC地址

    ​ ARP缓存表更新: 收到ARP应答包后,解析MAC地址后,更新ARP表

  • ARP流程: 9.1.2

    ​ 关键点: 1. 如果目的主机不在同一个局域网中,那么ARP缓存表中存储的地址将是 可以通往路由器外的路由器的MAC。

数据结构

ARP缓存表

关键点

  1. Stable状态的表项: ARP缓存表中的目标主机可能因为各种情况导致已经下线,所以需要定时的更新 ARP缓存表 中处于 Stable状态的表项,通常超时时间为 20分钟
  2. Pending 状态的表项: ARP应答包的超时检查,通常为 10s
  3. 1与2的实现依赖,定时处理函数 ethrap_tmr , 5s 周期

ARP报文

ARP数据包输入

处理流程: 图9-4

ARP攻击

ARP数据包输出

处理流程:图9-5

undefined