在主机操作系统上配置设置
本章提供有关调整主机操作系统上的设置以启用高级功能或扩大 cRPD 功能规模的信息。
配置 ARP 扩展
最大 ARP 条目数由 Linux 主机内核控制。如果存在大量邻居,则可能需要调整 Linux 主机上的 ARP 条目限制。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 调整最大 ND 条目数:
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
在 cRPD 下调整 OSPF
要允许更多数量的 OSPFv2/v3 邻接与 cRPD,请增加 IGMP 成员资格限制:
root@host:~# sysctl -w net.ipv4.igmp_max_memberships=1000
配置 MPLS
要在 Linux 内核中配置 MPLS,请执行以下操作:
添加 MPLS 路由
Netlink 消息用于与 Linux 内核通信(添加/学习)路由。MPLS 路由使用实用程序添加到 iproute2
内核中,该实用程序在内部使用 netlink 套接字来更新内核。要使用实用程序将 iproute2
MPLS 路由添加到主机:
添加带有 MPLS 标签的路由
要使用实用程序使用 iproute2
MPLS 标签封装数据包,从而将路由添加到主机:
创建 VRF 设备
要实例化 VRF 设备并将其与表关联,请执行以下操作:
将网络接口分配给 VRF
通过将网络设备分配给 VRF 设备,将网络接口分配给 VRF。连接的路由和本地路由将自动移动到与 VRF 设备关联的表中。
要将网络接口分配给 VRF,请执行以下操作:
root@host:~# ip link set dev <name> master <name>
root@host:~# ip link set dev eth1 vrf test
查看分配给 VRF 的设备
要查看设备:
root@host:~# ip link show vrf <name>
root@host:~# ip link show vrf red
查看 VRF 的邻居条目
要列出与 VRF 设备从属设备关联的邻居条目,请执行以下操作:
root@host:~# ip -6 neigh show vrf <NAME>
root@host:~# ip neigh show vrf red
root@host:~# ip -6 neigh show vrf red
查看 VRF 的地址
要显示与 VRF 关联的接口的地址,请执行以下操作:
root@host:~# ip addr show vrf <NAME>
root@host:~# ip addr show vrf red
查看 VRF 的路由
要查看 VRF 的路由,请执行以下操作:
从 VRF 中删除网络接口
通过中断对 VRF 设备的从属,从 VRF 中删除网络接口
root@host:~# ip link set dev NAME nomaster
删除网络接口后,连接的路由将移动到默认表,本地条目将移动到本地表。
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 对等方收到的路由,并使用链路带宽公共组标记从两个 BGP 对等方收到的路由。
在 cRPD 上启用 SRv6
您可以使用以下 sysctl 命令在 cRPD 上启用 IPv6 分段路由功能: