本页内容
示例:配置组播转发缓存
了解组播转发缓存
IP 组播协议可以在组播转发缓存中创建大量条目。如果转发缓存充满了阻止添加更高优先级条目的条目,则应用程序和协议可能无法正常运行。您可以通过限制缓存的大小和控制条目保留在缓存中的时间长度来管理组播转发缓存属性。通过管理超时值,可以优先选择更重要的转发缓存条目,同时删除其他不太重要的条目。
示例:配置组播转发缓存
当路由设备收到组播流量时,它会将 (S,G) 路由信息放入组播转发缓存 inet.1 中。此示例说明如何配置组播转发缓存限制,以防止缓存充满条目。
要求
开始之前:
配置路由器接口。
配置内部网关协议。
配置组播协议。此功能适用于以下组播协议:
DVMRP
PIM-DM
PIM-SM
PIM-SSM
概述
此示例包含以下语句:
forwarding-cache — 指定转发条目如何老化以及如何控制条目数量。
timeout — 指定一个空闲时间段,在此期间,条目将过期并从 inet.1 中删除。可以指定 1 到 720 分钟范围内的超时。
阈值 — 允许您在转发缓存上指定阈值,以便在缓存条目达到特定最大值时抑制(暂停)添加条目,并在该数字降至另一个阈值时开始向缓存添加条目。默认情况下,路由设备上未启用任何阈值。
抑制阈值将暂停添加新的组播转发缓存条目。如果未指定抑制值,则会根据需要创建组播转发缓存条目。如果指定抑制阈值,则可以选择指定重用阈值,用于设置设备恢复添加新组播转发缓存条目的点。在挂起期间,转发缓存条目超时。在一定数量的条目超时后,达到重用阈值,并添加新条目。两个阈值的范围都是从 1 到 200,000。如果配置了重用值,则重用值必须小于抑制值。如果未指定重用值,则组播转发缓存条目的数量将限制为抑制值。一旦组播转发缓存条目的数量低于抑制值,就会创建一个新条目。
拓扑结构
配置
过程
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set routing-options multicast forwarding-cache threshold suppress 150000 set routing-options multicast forwarding-cache threshold reuse 34 set routing-options multicast forwarding-cache timeout 60
分步程序
下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。
要配置组播转发缓存,请执行以下操作:
配置转发缓存的最大大小。
[edit routing-options multicast forwarding-cache] user@host# set threshold suppress 150000
配置条目在被删除之前可以保持空闲状态的时间量(以分钟为单位)。
[edit routing-options multicast forwarding-cache] user@host# set timeout 60
配置抑制停止且可添加新条目时转发缓存的大小。
[edit routing-options multicast forwarding-cache] user@host# set threshold reuse 70000
结果
输入 show routing-options 命令以确认您的配置。
user@host# show routing-options
multicast {
forwarding-cache {
threshold {
suppress 150000;
reuse 70000;
}
timeout 60;
}
}
验证
要验证配置,请运行 show 组播路由 extensive 命令。
user@host> show multicast route extensive
Family: INET
Group: 232.0.0.1
Source: 11.11.11.11/32
Upstream interface: fe-0/2/0.200
Downstream interface list:
fe-0/2/1.210
Downstream interface list rejected by CAC:
fe-0/2/1.220
Session description: Source specific multicast
Statistics: 0 kBps, 0 pps, 0 packets
Next-hop ID: 337
Upstream protocol: PIM
Route state: Active
Forwarding state: Forwarding
Cache lifetime/timeout: 60 minutes
Wrong incoming interface notifications: 0
示例:配置组播流图
此示例说明如何配置流图以防止某些转发缓存条目过时,从而允许更快地从一个源到另一个源的故障切换。通过流图,您可以为流图策略定义的条目配置带宽变量和组播转发缓存超时值。
要求
开始之前:
配置路由器接口。
配置内部网关协议。
配置组播协议。此功能适用于以下组播协议:
DVMRP
PIM-DM
PIM-SM
PIM-SSM
概述
当同一组有多个源时,流图通常用于快速组播源故障切换。例如,当一个视频源主动发送流量时,其他视频源的转发状态将在几分钟后超时。之后,当新源再次开始发送流量时,如果转发状态尚不存在,则需要为新源安装新的转发状态。当存在许多视频流时,这种切换延迟会加剧。使用具有较长超时值或永久缓存条目的流图有助于减少此切换延迟。
路径中的所有路由设备上都必须存在永久转发状态,快速源切换才能正常运行。
此示例包含以下语句:
bandwidth — 指定由流图定义的每个流量的带宽,以确保接口不会过度订阅组播流量。如果再添加一个流会导致总带宽超过接口允许的带宽,则该请求将被拒绝。请求被拒绝意味着流量可能无法从部分或全部预期的传出接口传递。您可以通过指定带宽(以位/秒为单位)或指定对带宽进行测量和自适应修改,来定义与流图匹配的组播流关联的带宽。
使用 自适应 选项时,带宽会根据以 5 秒为间隔进行的测量进行调整。流使用最近 12 个测量值(1 分钟)的最大带宽值。
使用 自适应 选项配置带宽值时,带宽值将充当流的起始带宽。然后,带宽会根据后续测量的带宽值而变化。如果未使用 自适应 选项指定带宽值,则起始带宽默认为 2 Mbps。
例如, bandwidth 2m adaptive 语句等效于 bandwidth adaptive 语句,因为它们都使用相同的起始带宽(默认值为 2 Mbps)。如果实际流量带宽为 4 Mbps,则测量的流量带宽在到达第一个测量点(5 秒)后变为 4 Mbps。但是,如果实际流量带宽速率为 1 Mbps,则在前 12 个测量周期(1 分钟)中,测量的流量带宽保持在 2 Mbps,然后更改为测量的 1 Mbps 值。
flow-map — 定义流图,用于控制指定源和组地址的转发缓存超时,控制每个流的带宽,并指定冗余源。如果一个流可以匹配多个流图,则应用第一个流图。
forwarding-cache—允许您配置流图定义的条目的转发缓存属性。您可以指定 never 超时以使转发条目永久化,也可以指定 1 到 720 分钟范围内的超时。如果将该值设置为 never,那么可以指定 non-discard-entry-only 选项来为处于修剪状态的条目设置例外。换句话说, never-non-discard-entry-only 语句允许处于修剪状态的条目超时,而处于转发状态的条目永远不会超时。
策略 — 指定流图应用到的源地址和组地址。
redundant-sources — 为流图标识的流量指定冗余(备份)源。对于其中一个转发条目获准的出站接口,冗余源配置标识的任何其他条目将自动获准。在以下示例中,两个转发条目 (10.11.11.11) 和 (10.11.11.12) 与为 flowMap1 定义的流图匹配。如果允许某个出站接口进入 (10.11.11.11),则也会自动允许该接口进入 (10.11.11.12),因此一个源或另一个源可以随时发送流量。
配置
过程
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层次结构级别的 [edit] CLI 中,然后从配置模式进入。commit
set policy-options prefix-list permanentEntries1 232.1.1.0/24 set policy-options policy-statement policyForFlow1 from source-address-filter 11.11.11.11/32 exact set policy-options policy-statement policyForFlow1 from prefix-list-filter permanentEntries1 orlonger set policy-options policy-statement policyForFlow1 then accept set routing-options multicast flow-map flowMap1 policy policyForFlow1 set routing-options multicast flow-map flowMap1 bandwidth 2m set routing-options multicast flow-map flowMap1 bandwidth adaptive set routing-options multicast flow-map flowMap1 redundant-sources 10.11.11.11 set routing-options multicast flow-map flowMap1 redundant-sources 10.11.11.12 set routing-options multicast flow-map flowMap1 forwarding-cache timeout never non-discard-entry-only
分步程序
组播流图使您能够管理组播转发表条目的子集。例如,您可以指定某些转发缓存条目是永久性的,或者与未与流映射策略关联的其他组播流具有不同的超时值。
下面的示例要求您在各个配置层级中进行导航。有关导航CLI的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用CLI编辑器。
要配置流图:
配置流图策略。此步骤将创建一个名为 policyForFlow1 的流图策略。策略语句使用 source-address-filter 语句匹配源地址,并使用 prefix-list-filter 匹配组地址。地址必须与配置的策略匹配,才能进行流映射。
[edit policy-options] user@host# set prefix-list permanentEntries1 232.1.1.0/24 user@host# set policy policyForFlow1 from source-address-filter 11.11.11.11/32 exact user@host# set policy policyForFlow1 from prefix-list-filter permanentEntries1 orlonger user@host# set policy policyForFlow1 then accept
定义一个流图 flowMap1,它引用我们刚刚创建的流图策略 policyForFlow1。
[edit routing-options] user@host# set multicast flow-map flowMap1 policy policyForFlow1
配置永久转发条目(即永不超时的条目),并使处于修剪状态的条目超时。
[edit routing-options] user@host# set multicast flow-map flowMap1 forwarding-cache timeout never non-discard-entry-only
将流图带宽配置为自适应带宽,默认起始带宽为 2 Mbps。
[edit routing-options] user@host# set multicast flow-map flowMap1 bandwidth 2m adaptive
指定备份源。
[edit routing-options] user@host# set multicast flow-map flowMap1 redundant-sources [ 10.11.11.11 10.11.11.12 ]
提交配置。
user@host# commit
结果
输入 show policy-options 和 show routing-options 命令以确认您的配置。
user@host# show policy-options
prefix-list permanentEntries1 {
232.1.1.0/24;
}
policy-statement policyForFlow1 {
from {
source-address-filter 11.11.11.11/32 exact;
prefix-list-filter permanentEntries1 orlonger;
}
then accept;
}
user@host# show routing-options
multicast {
flow-map flowMap1 {
policy policyForFlow1;
bandwidth 2m adaptive;
redundant-sources [ 10.11.11.11 10.11.11.12 ];
forwarding-cache {
timeout never non-discard-entry-only;
}
}
}
验证
要验证配置,请运行以下命令:
显示组播流图
显示组播路由扩展