MAC表&ARP表&路由表&FIB表

查询时机与场景

(1) MAC表(CAM表)

查询时机:

当交换机收到一个二层以太网帧时,根据目标MAC地址查找对应的出端口。
仅用于二层交换场景(同一子网内通信)。

典型操作:

bash
# Cisco查看MAC表
show mac address-table
# 华为/H3C查看MAC表
display mac-address

(2) ARP表

在计算机网络中,两台主机首次互访时最初运行的协议通常是 ARP(Address Resolution Protocol,地址解析协议)(用于 IPv4)或 NDP(Neighbor Discovery Protocol,邻居发现协议)(用于 IPv6)。

查询时机:

当设备需要发送三层IP数据包时,根据目标IP地址查询对应的MAC地址。

若ARP表中无条目,触发ARP请求广播。

典型操作:

bash
# 查看ARP表
show arp          # Cisco
display arp       # 华为/H3C

(3) 路由表

查询时机:

控制平面决策阶段(路由协议计算路径时)。

当设备收到首包且FIB表中无对应条目时,需查询路由表生成FIB条目。

典型操作:

bash
# 查看路由表
show ip route     # Cisco
display ip routing-table  # 华为/H3C

(4) FIB表

查询时机:

所有数据包转发时,直接通过硬件查表(TCAM)确定下一跳和出接口。

仅依赖FIB表,不再访问路由表(除非FIB未命中)。

典型操作:

bash
# 查看FIB表
show ip cef       # Cisco
display fib       # 华为/H3C

2、区别

表类型 作用层级 核心功能 典型存储位置
MAC表(CAM表) 数据链路层(L2) 记录MAC地址与交换机端口的映射关系,用于二层帧转发 硬件(TCAM)
ARP表 网络层(L3) 记录IP地址与MAC地址的映射关系,辅助三层转发 内存(软件表)
路由表 网络层(L3) 记录目标网络的路由路径(下一跳、接口、优先级等) 内存(软件表)
FIB表 网络层(L3) 基于路由表生成的硬件加速转发表,用于快速决策数据包转发 硬件(TCAM/ASIC)
对比维度 MAC表 ARP表 路由表 FIB表
作用层级 L2(数据链路层) L3(网络层) L3(网络层) L3(网络层)
核心内容 MAC地址 ↔ 端口 IP地址 ↔ MAC地址 目标网络 → 下一跳/接口 目标IP → 硬件转发信息
查询时机 帧转发时 封装数据帧时(IP→MAC) 路由计算、首包处理 所有数据包转发时
存储位置 硬件(TCAM) 内存(软件表) 内存(软件表) 硬件(TCAM/ASIC)
更新方式 自动学习(或静态配置) 动态学习(ARP请求/响应) 路由协议或静态配置 由路由表自动同步
性能影响 微秒级硬件查表 软件查表(可能延迟) 软件查表(高延迟) 纳秒级硬件查表
典型故障场景 MAC地址漂移、端口错误绑定 ARP欺骗、表项超时 路由环路、未收敛 FIB未同步、TCAM溢出

实际应用场景

(1) 二层环路问题
查MAC表:若MAC表中同一MAC地址对应多个端口,可能由STP失效导致环路。

解决方案:检查生成树协议(STP)状态,修复拓扑。

(2) ARP欺骗攻击
查ARP表:若ARP表中同一IP对应多个MAC地址,可能存在ARP欺骗。

解决方案:启用动态ARP检测(DAI)或绑定静态ARP条目。

(3) 路由黑洞
查路由表:路由表中有条目但FIB表未同步,导致流量被丢弃。

解决方案:检查路由协议状态,强制刷新FIB表。

(4) FIB表溢出
查FIB表:TCAM容量不足时,部分路由无法被硬件加速转发。

解决方案:优化路由聚合(Summarization),减少FIB条目。
FIB表

FIB表是一个存储最优转发路径的数据库,基于路由表生成,但优化了查找速度,用于快速决策数据包的转发接口和下一跳。可能包含目的网络、下一跳IP、出接口、MAC地址等信息。

核心作用

  • 快速转发决策:根据数据包的目的IP地址,直接查找对应的下一跳和出接口,避免传统路由表逐条匹配的低效操作。
  • 硬件加速:通常存储在专用内存(如TCAM)中,支持并行查找,实现线速转发。
  • 与路由表协同:路由表负责路径计算(如通过OSPF、BGP等协议),FIB表则是计算后的最优路径集合。

总结

  • MAC表:用于二层帧转发,硬件查表,解决“从哪个端口发出”。

  • ARP表:解决“目标IP对应的MAC地址是什么”,辅助三层封装。

  • 路由表:控制平面核心,决定“数据包应该走哪条路径”。

  • FIB表:数据平面核心,解决“如何以最快速度转发数据包”。

posted @ 2025-05-18 22:36  *一炁化三清*  阅读(188)  评论(0)    收藏  举报