在主机作系统上配置设置
本章提供有关如何调整主机作系统上的设置以启用高级功能或扩大 cRPD 功能规模的信息。
配置 ARP 扩展
最大 ARP 条目数由 Linux 主机内核控制。您可以在 Linux 主机上使用命令 sysctl 调整 ARP 或 NDP 条目限制。
例如,要使用 IPv4 调整最大 ARP 条目数:
root@host:~# sysctl -w net.ipv4.neigh.default.gc_thresh1=4096
root@host:~# sysctl -w net.ipv4.neigh.default.gc_thresh2=8192
root@host:~# sysctl -w net.ipv4.neigh.default.gc_thresh3=8192
例如,要使用 IPv6 调整最大 NDP 条目数:
root@host:~# sysctl -w net.ipv6.neigh.default.gc_thresh1=4096
root@host:~# sysctl -w net.ipv6.neigh.default.gc_thresh2=8192
root@host:~# sysctl -w net.ipv6.neigh.default.gc_thresh3=8192
Linux 下的 IGMP 成员资格
要允许更多数量的 OSPFv2/v3 邻接与 cRPD,请增加 IGMP 成员资格限制:
root@host:~# sysctl -w net.ipv4.igmp_max_memberships=1000
内核模块
在第 3 层模式下部署 cRPD 之前,您需要在主机上加载以下内核模块。这些模块通常包含在或kernel-modules-extra包中linux-modules-extra。运行以下命令以添加内核模块。
-
modprobe tun -
modprobe fou -
modprobe fou6 -
modprobe ipip -
modprobe ip_tunnel -
modprobe ip6_tunnel -
modprobe mpls_gso -
modprobe mpls_router -
modprobe mpls_iptunnel -
modprobe vrf -
modprobe vxlan
配置 MPLS
要在 Linux 内核中配置 MPLS,请执行以下作:
Linux 上 ECMP 负载平衡的散列字段选择
您可以为转发和本地生成的流量 (IPv4/IPv6) 选择 ECMP 散列策略 (fib_multipath_hash_policy)。
IPv4 流量
在 Linux 上使用 BGP 的 wECMP
不等成本负载平衡是一种在不同路径(包括多路径下一跳)之间不均匀分配流量的方法;当路径具有不同的带宽能力时BGP 协议使用链路带宽扩展社区使用链路的带宽标记每个路由/路径。相应链路的带宽可以编码为此链路带宽社区的一部分。RPD 使用每条路径的带宽信息,使用适当的 linux::weights 对多路径下一跃点进行编程。使用 linux::weight 的下一跳允许 linux 内核不对称地对流量进行负载均衡。
BGP 形成多路径下一跃点,并使用各个路径的带宽值来找出形成 ECMP 下一跃点的每个下一跃点应接收的流量比例。链路带宽中指定的带宽值不必是接口的绝对带宽。这些值需要反映一条路径与另一条路径的相对带宽。有关详细信息,请参阅 了解如何定义 BGP 社区和扩展社区 以及如何 在路由策略匹配条件下评估 BGP 社区和扩展社区。
假设 R1 接收从 R2 和 R3 到目标 R4 的等价路径的网络。如果要使用 wECMP 通过路径 R1-R2 发送 90% 的负载均衡流量,并通过路径 R1-R3 发送剩余 10% 的流量。您需要通过配置 policy-options来使用链路带宽社区标记从两个 BGP 对等方收到的路由。
在 cRPD 上启用 SRv6
您可以使用以下 sysctl 命令在 cRPD 上启用 IPv6 SR 功能: