MAC 学习和老化
总结 瞻博网络云原生路由器提供 MAC 地址的自动学习和老化功能。阅读本主题,大致了解云原生路由器中的 MAC 学习和老化功能。
MAC 学习
MAC 学习使云原生路由器能够高效地将收到的数据包发送到各自的目的地。云原生路由器维护一个按接口分组的 MAC 地址表。该表包括 MAC 地址、VLAN 以及虚拟路由器获知每个 MAC 地址和 VLAN 的接口。MAC 表通知虚拟路由器每个接口可以访问的 MAC 地址。
云原生路由器缓存新数据包流的源 MAC 地址,以将传入接口记录到 MAC 表中。路由器学习每个 VLAN 或网桥域的 MAC 地址。云原生路由器根据数据包的 MAC 地址和 VLAN 在 MAC 表中创建密钥。发送到 MAC 表的查询将返回与密钥关联的接口。要启用 MAC 学习,云原生路由器请执行以下步骤:
-
通过缓存新数据包流的源 MAC 地址,将传入接口记录到 MAC 表中。
-
学习每个 VLAN 或网桥域的 MAC 地址。
-
根据数据包的 MAC 地址和 VLAN 在 MAC 表中创建密钥。
如果目标 MAC 地址和 VLAN 缺失(查找失败),云原生路由器会将数据包泛洪到桥接域中的所有接口(传入接口除外)。
默认情况下:
-
MAC 表条目在 60 秒后超时。
-
MAC 表大小限制为 10,240 个条目。
建议您不要更改默认值。如果需要更改默认值,请联系瞻博网络支持。
您可以使用以下命令查看 MAC 表条目:
-
自省代理 http://host server IP:8085/mac_learning.xml#Snh_FetchL2MacEntry
-
cRPD CLI 上的命令 show bridge mac-table :
show bridge mac-table Routing Instance : default-domain:default-project:ip-fabric:__default__ Bridging domain VLAN id : 3002 MAC MAC Logical address flags interface 00:00:5E:00:53:01 D bond0
-
vRouter Pod CLI 上的命令 purel2cli --mac show :
purel2cli --mac show ================================================== || MAC vlan port hit_count|| ================================================== 00:01:01:01:01:03 1221 2 1101892 00:01:01:01:01:02 1221 2 1101819 00:01:01:01:01:04 1221 2 1101863 00:01:01:01:01:01 1221 2 1101879 5a:4c:4c:75:90:fe 1250 5 12 Total Mac entries 5
如果超出 MAC 地址限制,计数器 pkt_drop_due_to_mactable_limit 递增。您可以使用 http://host server IP:8085/Snh_AgentStatsReq 中的自检代理查看此计数器。
如果删除或禁用某个接口,云原生路由器将从 MAC 表中删除与该接口关联的所有 MAC 条目。
MAC 条目老化
缓存 MAC 条目的老化超时为 60 秒。可以通过编辑 values.yaml 文件来配置部署时的老化超时。最小超时为 60 秒,最大超时为 10,240 秒。您可以通过自省查看每个 MAC 条目的剩余时间,网址为 http://host server IP:8085/mac_learning.xml#Snh_FetchL2MacEntry。我们展示了下面的输出示例:
l2_mac_entry_list vrf_id vlan_id mac index packets time_since_add last_stats_change 0 1001 00:10:94:00:00:01 5644 615123154 12:55:14.248785 00:00:00.155450 0 1001 00:10:94:00:00:65 6480 615108294 12:55:14.247765 00:00:00.155461 0 1002 01:10:94:00:00:02 5628 615123173 12:55:14.248295 00:00:00.155470