示例:配置带宽管理
了解组播的带宽管理
带宽管理使您能够控制离开组播接口的组播流。通过此控制,您可以更好地管理组播流量,并减少或消除接口超额订阅或拥塞的可能性。
带宽管理可确保接口上不会发生组播流量超额订阅。管理组播带宽时,您可以定义单个接口可以使用的最大组播带宽量以及单个组播流使用的带宽。
例如,如果路由软件无法向接口添加流,如果这样做超过了该接口允许的带宽。在这些情况下,接口将被拒绝。但是,这种拒绝不会阻止多播协议(例如 PIM)向上游发送加入消息。即使路由器未从预期的传出接口发送流量,流量也会继续到达路由器。
您可以通过为流指定带宽值(以位/秒为单位)来静态配置流带宽,也可以启用流量带宽的测量和自适应更改。使用自适应带宽选项时,路由软件会每隔 5 秒查询要测量的流的统计信息,并根据查询计算带宽。路由软件使用最后一分钟内测量的最大值(即最后 12 个测量点)作为流量带宽。
有关详细信息,请参阅以下部分:
带宽管理和 PIM 平稳重启
使用 PIM 平稳重新启动时,路由进程在路由引擎上重新启动后,将始终重新接纳以前允许的接口,并调整接口上的可用带宽。使用自适应带宽选项时,带宽测量最初基于配置的或默认的起始带宽,这在第一分钟内可能不准确。这意味着新流可能会被错误地拒绝或暂时允许。您可以通过发出 清除组播带宽准入 操作命令来更正此问题。
如果未配置 PIM 平稳重新启动,则在路由进程重新启动后,以前允许或拒绝的接口可能会被拒绝或以不可预测的方式允许。
参见
带宽管理和源冗余
使用源冗余时,同一目标组 (g) 可能存在多个源(例如,s1 和 s2)。但是,任何时候只有一个源可以主动传输。在这种情况下,会在每个转发条目通过准入过程后创建多个转发条目 (s1,g) 和 (s2,g)。
对于冗余源,与不相关的条目不同,一个条目(例如 (s1,g))已允许的 OIF 会自动为其他冗余条目(例如 (s2,g))允许。每次添加出站接口时,即使只有一个发送方主动传输,也会扣除接口上的剩余带宽。通过测量带宽,当路由器检测到未传输任何流量时,将为非活动条目扣除的带宽记入贷方。
有关定义冗余源的更多信息,请参阅 示例:配置组播流图。
逻辑系统和带宽超额订阅
您可以在物理 和逻辑接口 级别管理带宽。但是,如果多个逻辑系统共享同一个物理接口,则该接口可能会超额订阅。如果每个逻辑系统上接口的所有单独配置的最大带宽值的总带宽超过物理接口的带宽,则会发生超额订阅。
显示接口带宽信息时,可用带宽值为负表示接口超额订阅。
当配置的最大带宽减少,或者由于配置更改或流量速率的实际增加而导致某些流带宽增加时,接口带宽可能会被超额订阅。
如果发生以下情况之一,接口带宽可以再次可用:
配置的最大带宽增加。
某些流不再从接口传输,而这些流的带宽预留现在可用于其他流。
由于配置更改或流量速率的实际降低,某些流带宽会减少。
由于带宽不足而被流拒绝的接口不会自动重新允许,即使带宽再次可用也是如此。当发生以下情况之一时,被拒绝的接口有机会被重新接纳:
组播路由协议在收到加入、离开或删除消息后,或者在拓扑发生更改后更新流的转发条目。
由于配置更改,组播路由协议会更新流的转发条目。
您可以使用 清除组播带宽准入 操作命令手动将带宽管理重新应用于特定流或所有流。
此外,即使以前可用的带宽不再可用,在发生以下情况之一之前,不会删除已允许的接口:
组播路由协议在收到离开或删除消息后,或者在拓扑发生更改后显式删除接口。
您可以使用 清除组播带宽准入 操作命令手动将带宽管理重新应用于特定流或所有流。
参见
示例:定义接口带宽最大值
此示例说明如何为物理或逻辑接口配置最大带宽。
要求
准备工作:
配置路由器接口。
配置内部网关协议。请参阅 Junos OS 路由协议库了解路由设备。
配置组播协议。此功能适用于以下组播协议:
DVMRP
PIM-DM
PIM-SM
PIM-SSM
概述
最大带宽设置针对配置的接口带宽或底层接口的本机速度(当接口没有配置带宽时)应用准入控制。
如果在同一底层物理接口上配置多个逻辑接口(例如,支持 VLAN 或 PVC),并且没有为这些逻辑接口配置带宽,则假定这些逻辑接口都具有与底层接口相同的带宽。这可能会导致超额订阅。为防止超额订阅,请为逻辑接口配置带宽,或在物理接口级别配置准入控制。
您只需为要应用带宽管理的接口定义最大带宽。未定义最大带宽的接口将传输由接口上运行的组播协议(例如 PIM)确定的所有组播流。
如果指定 最大带宽 但不包含每秒位数值,则会根据为接口配置的带宽启用准入控制。在以下示例中,为逻辑接口单元 200 启用了准入控制,最大带宽为 20 Mbps。如果未在接口上配置带宽,则最大带宽为链路速度。
routing-options { multicast { interface fe-0/2/0.200 { maximum-bandwidth; } interfaces { fe-0/2/0 { unit 200 { bandwidth 20m; } } }
拓扑学
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set interfaces fe-0/2/0 unit 200 bandwidth 20m set routing-options multicast interface fe-0/2/0.200 maximum-bandwidth set routing-options multicast interface fe-0/2/1 maximum-bandwidth 60m set routing-options multicast interface fe-0/2/1.200 maximum-bandwidth 10m
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置带宽上限:
配置逻辑接口带宽。
[edit interfaces] user@host# set fe-0/2/0 unit 200 bandwidth 20m
在逻辑接口上启用准入控制。
[edit routing-options] user@host# set multicast interface fe-0/2/0.200 maximum-bandwidth
在物理接口上,启用准入控制并将最大带宽设置为 60 Mbps。
[edit routing-options] user@host# set multicast interface fe-0/2/1 maximum-bandwidth 60m
对于步骤 3 中所示的同一物理接口上的逻辑接口,请设置较小的最大带宽。
[edit routing-options] user@host# set multicast interface fe-0/2/1.200 maximum-bandwidth 10m
结果
通过输入 show 接口 和 show routing-options 命令来确认您的配置。
user@host# show interfaces fe-0/2/0 { unit 200 { bandwidth 20m; } }
user@host# show routing-options multicast { interface fe-0/2/0.200 { maximum-bandwidth; } interface fe-0/2/1 { maximum-bandwidth 60m; } interface fe-0/2/1.200 { maximum-bandwidth 10m; } }
验证
要验证配置,请运行 show 组播接口 命令。
示例:使用订阅者 VLAN 配置组播
此示例说明如何将 MX 系列路由器配置为宽带服务路由器 (BSR)。
要求
此示例使用以下硬件组件:
一台 MX 系列路由器或 EX 系列交换机,带有支持流量控制配置文件队列的 PIC
一个 DSLAM
准备工作:
配置内部网关协议。请参阅 Junos OS 路由协议库了解路由设备。
在接口上配置 PIM 和 IGMP 或 MLD。
概述和拓扑
当多个 BSR 接口收到同一组播流的 IGMP 和 MLD 加入和离开请求时,BSR 会在每个接口上发送组播流的副本。组播控制数据包(IGMP 和 MLD)和组播数据包与单播数据一起在同一 BSR 接口上流动。由于所有每客户流量在 BSR 上都有自己的接口,因此支持每客户计费、呼叫允许控制 (CAC) 和服务质量 (QoS) 调整。组播使用的 QoS 带宽会减少单播带宽。
BSR 上的多个接口可能会连接到共享设备(例如 DSLAM)。BSR 多次将同一组播流发送到共享设备,从而浪费带宽。将组播流一次发送到 DSLAM 并在 DSLAM 中复制组播流会更有效。您可以使用两种方法。
第一种方法是继续在每个客户的接口上发送单播数据,但让 DSLAM 路由所有每个客户的 IGMP 和 MLD 加入请求,并将请求保留到单个专用接口(组播 VLAN)上的 BSR。DSLAM 从专用接口上的 BSR 接收组播流,无需不必要的复制,并对客户执行必要的复制。由于所有组播控制和数据包仅使用一个接口,因此即使有多个请求,也只会发送流的一个副本。此方法称为反向传出接口 (OIF) 映射。反向 OIF 映射使 BSR 能够将共享接口的组播状态传播到客户接口,从而使每个客户的计费和 QoS 调整能够正常工作。当客户更改电视频道时,路由器网关 (RG) 会发送 IGMP 或 MLD 加入并向 DSLAM 留言。DSLAM 通过组播 VLAN 透明地将请求传递给 BSR。BSR 根据 IP 源地址或源 MAC 地址将 IGMP 或 MLD 请求映射到其中一个用户 VLAN。找到订阅者 VLAN 后,将在该 VLAN 或接口上执行 QoS 调整和计费。
第二种方法是让 DSLAM 继续在各个客户接口上向 BSR 发送单播数据以及所有每个客户的 IGMP 和 MLD 加入和保留请求,但让组播流到达单个专用接口。如果多个客户请求相同的组播流,BSR 会在专用接口上发送一份数据副本。DSLAM 从专用接口上的 BSR 接收组播流,并执行必要的复制到客户。由于组播控制数据包使用许多客户接口,因此 BSR 上的配置必须指定如何将每个客户的组播数据包映射到单个专用输出接口。客户接口支持 QoS 调整。共享接口支持 CAC。第二种方法称为组播 OIF 映射。
同一客户接口或共享接口不支持 OIF 映射和反向 OIF 映射。此示例演示如何配置这两种不同的方法。两种方法都支持 QoS 调整,并且都支持 MLD/IPv6。反向 OIF 映射示例侧重于 IGMP/IPv4 并启用 QoS 调整。OIF 映射示例侧重于 MLD/IPv6 并禁用 QoS 调整。
第一种方法(反向 OIF 映射)包括以下语句:
流图 - 定义控制每个流带宽的流图。
最大带宽 — 启用 CAC。
反向 oif 映射 — 使路由设备能够根据通过组播 VLAN 接收的 IGMP 或 MLD 加入或离开请求识别订阅者 VLAN 或接口。
识别订阅者 VLAN 后,路由设备会立即根据添加或删除订阅者来调整该 VLAN 上的 QoS(在本例中为带宽)。
路由设备使用 IGMP 和 MLD 加入或离开报告来获取订阅者 VLAN 信息。这意味着连接设备(例如 DSLAM)必须将所有 IGMP 和 MLD 报告转发到路由设备,此功能才能正常运行。使用报告抑制或 IGMP 代理可能会导致反向 OIF 映射无法正常工作。
订户休假计时器 — 引入 QoS 更新延迟。收到 IGMP 或 MLD 离开请求后,此语句定义路由设备在更新其余订阅者接口的 QoS 之前等待的时间延迟(1 到 30 秒之间)。您可以使用此延迟来降低订阅者发送快速离开和加入消息时(例如,在 IPTV 网络中更改频道时),路由设备调整 VLAN 上整体 QoS 带宽的频率。
流量控制配置文件 — 在逻辑接口上配置整形速率。配置的整形速率必须配置为绝对值,而不是百分比。
第二种方法(OIF 映射)包括以下语句:
映射到接口 - 在策略语句中,允许您构建 OIF 映射。
OIF 映射是可以包含多个术语的路由策略语句。创建 OIF 地图时,请记住以下几点:
如果指定物理接口(例如 ge-0/0/0),则会在该接口后附加“.0”以创建逻辑接口(例如 ge-0/0/0.0)。
为每个逻辑系统配置路由策略。您无法动态配置路由策略。
接口还必须配置 IGMP、MLD 或 PIM。
您无法映射到映射的接口。
建议您分别配置 IGMP 和 MLD 的策略语句。
指定逻辑接口或关键字 self。 self 关键字指定组播数据包在与控制数据包相同的接口上发送,并且不会发生映射。如果没有匹配的术语,则不会发送组播数据包。
无 QoS 调整 — 禁用 QoS 调整。
QoS 调整会按从客户端接口映射到共享接口的组播流消耗的带宽量来减少客户端接口上的可用带宽。除非显式禁用此操作,否则此操作始终发生。
如果禁用 QoS 调整,则在将组播流添加到共享接口时,客户接口上的可用带宽不会减少。
注意:您可以使用动态配置文件动态禁用 IGMP 和 MLD 接口的 QoS 调整。
oif 映射 - 将映射与 IGMP 或 MLD 接口关联。然后,OIF 映射将应用于在配置接口上收到的所有 IGMP 或 MLD 请求。在此示例中,用户 VLAN 1 和 2 配置了 MLD,每个 VLAN 都指向一个 OIF 映射,该映射将一些流量定向到 ge-2/3/9.4000,将一些流量定向到 ge-2/3/9.4001,将一些流量定向到 自身。
注意:您可以使用动态配置文件将 OIF 映射与 IGMP 接口动态关联。
被动 — 定义 IGMP 或 MLD 以使用被动模式。
OIF 映射接口通常不应传递 IGMP 或 MLD 控制流量,而应配置为被动接口。但是,除了将数据流映射到同一接口之外,OIF 映射实现还支持在接口(控制和数据)上运行 IGMP 或 MLD。在这种情况下,您应该在映射接口上正常配置 IGMP 或 MLD(即不处于被动模式)。在此示例中,OIF 映射接口(ge-2/3/9.4000 和 ge-2/3/9.4001)配置为 MLD 被动接口。
默认情况下,指定 passive 语句意味着不会通过接口发送任何常规查询、特定于组的查询或特定于组源的查询,并且接口会忽略所有收到的控制流量。但是,您可以有选择地激活 被动 语句的三个可用选项中的最多两个,同时使其他函数保持被动(非活动)。
这些选项包括:
发送常规查询 — 指定后,接口将发送常规查询。
发送组查询 — 指定后,接口将发送特定于组的查询和特定于组源的查询。
允许-接收 — 指定后,接口接收控制流量。
拓扑学
图 1 显示了该方案。
在这两种方法中,如果多个客户请求相同的组播流,BSR 会在共享组播 VLAN 接口上发送一个流副本。DSLAM 从共享接口上的 BSR 接收组播流,并对客户执行必要的复制。
在第一种方法(反向 OIF 映射)中,DSLAM 仅将每客户订阅者 VLAN 用于单播数据。IGMP 和 MLD 加入和离开请求在组播 VLAN 上发送。
在第二种方法(OIF 映射)中,DSLAM 将每个客户的用户 VLAN 用于单播数据以及 IGMP 和 MLD 加入和离开请求。组播 VLAN 仅用于组播流,不用于加入和离开请求。
配置
配置反向 OIF 映射
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set class-of-service traffic-control-profiles tcp-ifl shaping-rate 20m set class-of-service interfaces ge-2/2/0 shaping-rate 240m set class-of-service interfaces ge-2/2/0 unit 50 output-traffic-control-profile tcp-ifl set class-of-service interfaces ge-2/2/0 unit 51 output-traffic-control-profile tcp-ifl set interfaces ge-2/0/0 unit 0 family inet address 30.0.0.2/24 set interfaces ge-2/2/0 hierarchical-scheduler set interfaces ge-2/2/0 vlan-tagging set interfaces ge-2/2/0 unit 10 vlan-id 10 set interfaces ge-2/2/0 unit 10 family inet address 40.0.0.2/24 set interfaces ge-2/2/0 unit 50 vlan-id 50 set interfaces ge-2/2/0 unit 50 family inet address 50.0.0.2/24 set interfaces ge-2/2/0 unit 51 vlan-id 51 set interfaces ge-2/2/0 unit 51 family inet address 50.0.1.2/24 set policy-options policy-statement all-mcast-groups from source-address-filter 30.0.0.0/8 orlonger set policy-options policy-statement all-mcast-groups then accept set protocols igmp interface all set protocols igmp interface fxp0.0 disable set protocols pim rp local address 20.0.0.2 set protocols pim interface all set protocols pim interface fxp0.0 disable set protocols pim interface ge-2/2/0.10 disable set routing-options multicast flow-map map1 policy all-mcast-groups set routing-options multicast flow-map map1 bandwidth 10m set routing-options multicast flow-map map1 bandwidth adaptive set routing-options multicast interface ge-2/2/0.10 maximum-bandwidth 500m set routing-options multicast interface ge-2/2/0.10 reverse-oif-mapping set routing-options multicast interface ge-2/2/0.10 subscriber-leave-timer 20
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器。
要配置反向 OIF 映射,请执行以下操作:
为单播数据流量配置逻辑接口。
[edit interfaces ge-2/0/0] user@host# set unit 0 family inet address 30.0.0.2/24
为订阅者控制流量配置逻辑接口。
[edit interfaces ge-2/2/0] user@host# set hierarchical-scheduler user@host# set vlan-tagging user@host# set unit 10 vlan-id 10 user@host# set unit 10 family inet address 40.0.0.2/24
配置两个逻辑接口,在其上进行 QoS 调整。
[edit interfaces ge-2/2/0] user@host# set unit 50 vlan-id 50 user@host# set unit 50 family inet address 50.0.0.2/24 user@host# set unit 51 vlan-id 51 user@host# set unit 51 family inet address 50.0.1.2/24
配置策略。
[edit policy-options policy-statement all-mcast-groups] user@host# set from source-address-filter 30.0.0.0/8 orlonger user@host# set then accept
启用引用策略的流图。
[edit routing-options multicast] user@host# set flow-map map1 policy all-mcast-groups user@host# set flow-map map1 bandwidth 10m adaptive
在接收订阅者控制流量的逻辑接口上启用 OIF 映射。
[edit routing-options multicast] user@host# set interface ge-2/2/0.10 maximum-bandwidth 500m user@host# set interface ge-2/2/0.10 reverse-oif-mapping user@host# set interface ge-2/2/0.10 subscriber-leave-timer 20
配置 PIM 和 IGMP。
[edit protocols] user@host# set igmp interface all user@host# set igmp interface fxp0.0 disable user@host# set pim rp local address 20.0.0.2 user@host# set pim interface all user@host# set pim interface fxp0.0 disable user@host# set pim interface ge-2/2/0.10 disable
通过为物理接口配置整形速率,为进行 QoS 调整的逻辑接口配置较慢的整形速率,配置分层调度程序。
[edit class-of-service interfaces ge-2/2/0] user@host# set shaping-rate 240m user@host# set unit 50 output-traffic-control-profile tcp-ifl user@host# set unit 51 output-traffic-control-profile tcp-ifl [edit class-of-service traffic-control-profiles tcp-30m-no-smap] user@host# set shaping-rate 20m
结果
在配置模式下,输入 显示服务等级、 显示接口、 显示策略选项、 显示协议和 显示路由选项 命令来确认配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show class-of-service traffic-control-profiles { tcp-ifl { shaping-rate 20m; } } interfaces { ge-2/2/0 { shaping-rate 240m; unit 50 { output-traffic-control-profile tcp-ifl; } unit 51 { output-traffic-control-profile tcp-ifl; } } }
user@host# show interfaces ge-2/0/0 { unit 0 { family inet { address 30.0.0.2/24; } } } ge-2/2/0 { hierarchical-scheduler; vlan-tagging; unit 10 { vlan-id 10; family inet { address 40.0.0.2/24; } } unit 50 { vlan-id 50; family inet { address 50.0.0.2/24; } } unit 51 { vlan-id 51; family inet { address 50.0.1.2/24; } } }
user@host# show policy-options policy-statement all-mcast-groups { from { source-address-filter 30.0.0.0/8 orlonger; } then accept; }
user@host# show protocols igmp { interface all; interface fxp0.0 { disable; } } pim { rp { local { address 20.0.0.2; } } interface all; interface fxp0.0 { disable; } interface ge-2/2/0.10 { disable; } }
user@host# show routing-options multicast { flow-map map1 { policy all-mcast-groups; bandwidth 10m adaptive; } interface ge-2/2/0.10 { maximum-bandwidth 500m; reverse-oif-mapping; subscriber-leave-timer 20; } }
如果完成设备配置,请从配置模式输入 提交 。
配置 OIF 映射
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,将命令复制并粘贴到层次结构级别的 CLI [edit]
中,然后从配置模式进入 commit
。
set interfaces ge-2/3/8 unit 0 family inet6 address C300:0101::/24 set interfaces ge-2/3/9 vlan-tagging set interfaces ge-2/3/9 unit 1 vlan-id 1 set interfaces ge-2/3/9 unit 1 family inet6 address C400:0101::/24 set interfaces ge-2/3/9 unit 2 vlan-id 2 set interfaces ge-2/3/9 unit 2 family inet6 address C400:0201::/24 set interfaces ge-2/3/9 unit 4000 vlan-id 4000 set interfaces ge-2/3/9 unit 4000 family inet6 address C40F:A001::/24 set interfaces ge-2/3/9 unit 4001 vlan-id 4001 set interfaces ge-2/3/9 unit 4001 family inet6 address C40F:A101::/24 set policy-options policy-statement g539-v6 term g539-4000 from route-filter FF05:0101:0000::/39 orlonger set policy-options policy-statement g539-v6 term g539-4000 then map-to-interface ge-2/3/9.4000 set policy-options policy-statement g539-v6 term g539-4000 then accept set policy-options policy-statement g539-v6 term g539-4001 from route-filter FF05:0101:0200::/39 orlonger set policy-options policy-statement g539-v6 term g539-4001 then map-to-interface ge-2/3/9.4001 set policy-options policy-statement g539-v6 term g539-4001 then accept set policy-options policy-statement g539-v6 term self from route-filter FF05:0101:0700::/40 orlonger set policy-options policy-statement g539-v6 term self then map-to-interface self set policy-options policy-statement g539-v6 term self then accept set policy-options policy-statement g539-v6-all term g539 from route-filter 0::/0 orlonger set policy-options policy-statement g539-v6-all term g539 then map-to-interface ge-2/3/9.4000 set policy-options policy-statement g539-v6-all term g539 then accept set protocols mld interface fxp0.0 disable set protocols mld interface ge-2/3/9.4000 passive set protocols mld interface ge-2/3/9.4001 passive set protocols mld interface ge-2/3/9.1 version 1 set protocols mld interface ge-2/3/9.1 oif-map g539-v6 set protocols mld interface ge-2/3/9.2 version 2 set protocols mld interface ge-2/3/9.2 oif-map g539-v6 set protocols pim rp local address 20.0.0.4 set protocols pim rp local family inet6 address C000::1 set protocols pim interface ge-2/3/8.0 mode sparse set protocols pim interface ge-2/3/8.0 version 2 set routing-options multicast interface ge-2/3/9.1 no-qos-adjust set routing-options multicast interface ge-2/3/9.2 no-qos-adjust
分步过程
以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅 Junos OS CLI 用户指南。
要配置反向 OIF 映射,请执行以下操作:
为单播数据流量配置逻辑接口。
[edit interfaces ge-2/3/8 ] user@host# set unit 0 family inet6 address C300:0101::/24
为订阅者 VLAN 配置逻辑接口。
[edit interfaces ge-2/3/9] user@host# set vlan-tagging user@host# set unit 1 vlan-id 1 user@host# set unit 1 family inet6 address C400:0101::/24 user@host# set unit 2 vlan-id 2 user@host# set unit 2 family inet6 address C400:0201::/24 lo0 unit 0 family inet6 address C000::1/128 user@host# set unit 2 family inet6 address C400:0201::/24
配置两个映射到逻辑接口。
[edit interfaces ge-2/2/0] user@host# set unit 4000 vlan-id 4000 user@host# set unit 4000 family inet6 address C40F:A001::/24 user@host# set unit 4001 vlan-id 4001 user@host# set unit 4001 family inet6 address C40F:A101::/24
配置 OIF 映射。
[edit policy-options policy-statement g539-v6] user@host# set term g539-4000 from route-filter FF05:0101:0000::/39 orlonger user@host# set then map-to-interface ge-2/3/9.4000 user@host# set then accept user@host# set term g539-4001 from route-filter FF05:0101:0200::/39 orlonger user@host# set then map-to-interface ge-2/3/9.4001 user@host# set then accept user@host# set term self from route-filter FF05:0101:0700::/40 orlonger user@host# set then map-to-interface self user@host# set then accept [edit policy-options policy-statement g539-v6-all] user@host# set term g539 from route-filter 0::/0 orlonger user@host# set then map-to-interface ge-2/3/9.4000 user@host# set then accept
禁用订阅者 VLAN 上的 QoS 调整。
[edit routing-options multicast] user@host# set interface ge-2/3/9.1 no-qos-adjust user@host# set interface ge-2/3/9.2 no-qos-adjust
配置 PIM 和 MLD。将 MLD 用户 VLAN 指向 OIF 映射。
[edit protocols] user@host# set pim rp local address 20.0.0.4 user@host# set pim rp local family inet6 address C000::1 #C000::1 is the address of lo0 user@host# set pim interface ge-2/3/8.0 mode sparse user@host# set pim interface ge-2/3/8.0 version 2 user@host# set mld interface fxp0.0 disable user@host# set interface ge-2/3/9.4000 passive user@host# set interface ge-2/3/9.4001 passive user@host# set interface ge-2/3/9.1 version 1 user@host# set interface ge-2/3/9.1 oif-map g539-v6 user@host# set interface ge-2/3/9.2 version 2 user@host# set interface ge-2/3/9.2 oif-map g539-v6
结果
在配置模式下,输入 show interfaces、 显示策略选项、 显示协议和 显示路由选项 命令来确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show interfaces ge-2/3/8 { unit 0 { family inet6 { address C300:0101::/24; } } } ge-2/3/9 { vlan-tagging; unit 1 { vlan-id 1; family inet6 { address C400:0101::/24; } } unit 2 { vlan-id 2; family inet6 { address C400:0201::/24; } } unit 4000 { vlan-id 4000; family inet6 { address C40F:A001::/24; } } unit 4001 { vlan-id 4001; family inet6 { address C40F:A101::/24; } } }
user@host# show policy-options policy-statement g539-v6 { term g539-4000 { from { route-filter FF05:0101:0000::/39 orlonger; } then { map-to-interface ge-2/3/9.4000; accept; } } term g539-4001 { from { route-filter FF05:0101:0200::/39 orlonger; } then { map-to-interface ge-2/3/9.4001; accept; } } term self { from { route-filter FF05:0101:0700::/40 orlonger; } then { map-to-interface self; accept; } } } policy-statement g539-v6-all { term g539 { from { route-filter 0::/0 orlonger; } then { map-to-interface ge-2/3/9.4000; accept; } } }
user@host# show protocols mld { interface fxp0.0 { disable; } interface ge-2/3/9.4000 { passive; } interface ge-2/3/9.4001 { passive; } interface ge-2/3/9.1 { version 1; oif-map g539-v6; } interface ge-2/3/9.2 { version 2; oif-map g539-v6; } } pim { rp { local { address 20.0.0.4; family inet6 { address C000::1; } } } interface ge-2/3/8.0 { mode sparse; version 2; } }
user@host# show routing-options multicast { interface ge-2/3/9.1 no-qos-adjust; interface ge-2/3/9.2 no-qos-adjust; }
如果完成设备配置,请从配置模式输入 提交 。
验证
要验证配置,请运行以下命令:
显示 IGMP 统计信息
显示服务等级接口
显示接口统计信息
显示 MLD 统计信息
显示组播接口
显示政策
配置 IP 多路复用接口组播路由
在订阅者管理网络中,从 IP 多路复用接口发送的数据包中的字段旨在对应于驻留在聚合设备另一端(例如,多服务访问节点 [MSAN])的特定客户端。但是,从宽带服务路由器 (BSR) 发送到 MSAN 的数据包无法识别多路复用接口。获取数据包后,由 MSAN 设备确定哪个客户端接收数据包。
根据 MSAN 设备的智能,确定哪个客户端接收数据包可能会以低效的方式进行。例如,当它收到 IGMP 控制流量时,MSAN 可能会将控制流量转发到所有客户端,而不是一个目标客户端。此外,一旦建立了数据流目标,尽管 MSAN 可以使用 IGMP 侦听来确定哪些主机驻留在特定组中,并将数据流限制为仅该组,但 MSAN 仍必须向每个组成员发送数据流的多个副本,即使该数据流仅供组中的一个客户端使用。
各种组播功能结合使用时,可以避免上述低效率问题。这些功能包括:
能够将 IP 多路复用接口 系列 语句配置为将 inet 用于带编号或未编号的主接口。
能够在主接口上配置 IGMP,以便为所有客户端发送常规查询。多路复用配置可防止主 IGMP 接口接收任何客户端 IGMP 控制数据包。相反,所有 IGMP 控制数据包都进入多路复用接口。但是,要保证主接口上不会发生联接,请执行以下操作:
对于静态 IGMP 接口 — 在 [编辑协议 igmp 接口interface-name] 层次结构级别的 IGMP 配置中包含被动发送常规查询语句。
对于动态 IGMP 多路复用接口 — 在 [编辑动态配置文件profile-name协议 igmp 接口interface-name] 层次结构级别包含被动发送常规查询语句。
将所有组播组映射到主接口的功能,如下所示:
对于静态 IGMP 接口 — 在 [编辑协议 igmp 接口interface-name] 层次结构级别包含 oif-map 语句。
对于动态 IGMP 多路复用接口 — 在 [编辑动态配置文件profile-name协议 igmp 接口interface-name] 层次结构级别包含 oif-map 语句。
使用 oif-map 语句,您可以将同一 IGMP 组映射到同一输出接口,并且仅从该接口发送组播流的一个副本。
能够在每个多路分离接口上配置 IGMP。要防止重复的常规查询,请执行以下操作:
对于静态 IGMP 接口 — 在 [编辑协议 igmp 接口interface-name] 层次结构级别包含被动允许-接收发送-组-查询语句。
对于动态多路复用接口 — 在 [编辑动态配置文件profile-name协议 igmp 接口interface-name] 层次结构级别包含被动允许-接收发送组-查询语句。
注意:要只发送每个组的一个副本,无论有多少客户加入,请使用前面提到的 oif-map 语句。
参见
按出口接口对数据包进行分类
对于具有智能排队 (IQ)、IQ2、增强型 IQ (IQE)、多服务链路服务智能排队 (LSQ) 接口或 ATM2 PIC 的瞻博网络 M320 多业务边缘路由器和 T 系列核心路由器,您可以根据出口接口对单播和组播数据包进行分类。对于单播流量,您还可以使用多域过滤器,但只有出口接口分类适用于组播流量以及单播流量。如果配置接口的出口分类,则无法在接口上执行差异服务代码点 (DSCP) 重写。默认情况下,系统不基于出口接口执行任何分类。
在包含 MPC 和 MS-DPC 的 MX 系列路由器上,如果路由器包含用作组播接收器的 MLPPP LSQ 逻辑接口,并且网络服务模式配置为路由器上的增强型 IP 模式,则组播数据包将在路由器上被丢弃且无法正确处理。LSQ 接口与增强型 IP 模式配合使用时,会出现此行为。在这种情况下,如果未配置增强型 IP 模式,组播将正常工作。但是,如果路由器包含冗余 LSQ 接口和配置了 FIB 本地化的增强型 IP 网络服务模式,则组播工作正常。
要按出口接口启用数据包分类,请先在层次结构级别为 [edit class-of-service forwarding-class-map forwarding-class-map-name]
出口接口配置转发类映射和一个或多个队列号:
[edit class-of-service] forwarding-classes-interface-specific forwarding-class-map-name { class class-name queue-num queue-number [ restricted-queue queue-number ]; }
对于限制为仅四个队列的 T 系列路由器,您可以使用该 restricted-queue
选项控制队列分配,也可以允许系统以模块化方式自动确定队列。例如,将数据包分配到队列 6 的映射将映射到四队列系统上的队列 2。
如果配置将转发类与队列号相关联的输出转发类映射,则多服务链路服务智能排队 (lsq-
) 接口不支持此映射。
配置转发类映射后,可以使用层次结构级别的语句[edit class-of-service interfaces interface-name unit logical-unit-number ]
将output-forwarding-class-map
映射应用于逻辑接口:
[edit class-of-service interfaces interface-name unit logical-unit-number] output-forwarding-class-map forwarding-class-map-name;
还必须配置与队列和转发类相关的所有参数。有关配置转发类和队列的更多信息,请参阅 为每个队列配置自定义转发类。
此示例说明如何配置特定于 FCMAP1
接口的转发类映射,该映射将队列 5 和 6 限制为四队列系统上的不同队列,然后应用于 FCMAP1
unit 0
ge-6/0/0
接口:
[edit class-of-service] forwarding-class-map FCMAP1 { class FC1 queue-num 6 restricted-queue 3; class FC2 queue-num 5 restricted-queue 2; class FC3 queue-num 3; class FC4 queue-num 0; class FC3 queue-num 0; class FC4 queue-num 1; } [edit class-of-service] interfaces { ge-6/0/0 unit 0 { output-forwarding-class-map FCMAP1; } }
请注意,如果没有 中的FCMAP1
选项,该restricted-queue
示例将FC1
FC2
分别在限制为四个队列的系统上将队列 2 和分配给队列 1。
使用 show class-of-service forwarding-class forwarding-class-map-name
命令显示转发类映射队列配置:
user@host> show class-of-service forwarding-class FCMAP2 Forwarding class ID Queue Restricted queue FC1 0 6 3 FC2 1 5 2 FC3 2 3 3 FC4 3 0 0 FC5 4 0 0 FC6 5 1 1 FC7 6 6 2 FC8 7 7 3
使用 show class-of-service interface interface-name
命令显示分配给逻辑接口的转发类映射(和其他信息):
user@host> show class-of-service interface ge-6/0/0 Physical interface: ge-6/0/0, Index: 128 Queues supported: 8, Queues in use: 8 Scheduler map: <default>, Index: 2 Input scheduler map: <default>, Index: 3 Chassis scheduler map: <default-chassis>, Index: 4 Logical interface: ge-6/0/0.0, Index: 67 Object Name Type Index Scheduler-map sch-map1 Output 6998 Scheduler-map sch-map1 Input 6998 Classifier dot1p ieee8021p 4906 forwarding-class-map FCMAP1 Output 1221 Logical interface: ge-6/0/0.1, Index 68 Object Name Type Index Scheduler-map <default> Output 2 Scheduler-map <default> Input 3 Logical interface: ge-6/0/0.32767, Index 69 Object Name Type Index Scheduler-map <default> Output 2 Scheduler-map <default> Input 3
回收带宽管理
ACX 路由器使用回收接口将流量从出口接口环回或再循环到入口,以进行额外处理。对于需要额外处理的应用程序,这是必需的。
回收接口是一个内部通道化接口,具有限制出站流量流速的出口整形器。默认情况下,回收接口带宽基于机箱超额订阅和特定于平台的 FPC 或接口配置。
使用回收机制的应用程序会根据需要配置通道或虚拟端口,而通道或虚拟端口又会通过类似于回收接口上的出口整形器的应用程序整形器。回收接口最多可支持 256 个通道或虚拟逻辑端口。所有回收通道都以相同的优先级运行。然后,根据分配给它的权重,使用日历槽转发回收的流量。其他类型的接口(如 NIF 接口)通过占用日历上与其带宽成比例的其他插槽来转发流量。
图 1 说明了回收机制及其组件。
-
Sh1 – 回收接口整形器
-
SA1 – 通过回收通道 1 的应用程序 #1 整形器
-
SAn – 循环通道 n 上的应用 #n 整形器(最多 256)
-
B1 – 来自回收接口的流量的日历插槽权重。这反映了分配给回收接口的日历带宽值。
-
B2 – 来自回收接口以外接口的流量的日历插槽权重。例如 NIF 接口。
回收机制有两种操作模式:
-
默认回收带宽模式
-
可配置的循环带宽模式
默认回收带宽模式
顾名思义,默认回收带宽模式默认启用,不需要用户配置。循环接口分配总日历带宽的设定部分。此回收带宽是有保证的,因此在流量拥堵时是稳定的。回收应用程序会尽最大努力共享此带宽,这意味着每个应用程序无法保证带宽。
默认回收带宽的优势包括:
-
高效利用回收带宽。如果没有循环应用程序正在运行,则可以在从其他接口运行的应用程序之间共享未使用的带宽。
-
高效利用芯片带宽。如果回收接口以外的其他接口未承载流量,则回收应用程序可以利用未使用的带宽。
可配置的循环带宽模式
通过基于配置文件配置回收接口,应用程序带宽变得易于管理。通过在配置文件中定义应用程序,可以保证为应用程序分配回收带宽。
可配置的回收带宽的优势包括:
-
为定义的回收应用程序保证带宽分配。
-
灵活更改带宽分配,有助于确定应用程序带宽的优先级。
示例:配置回收带宽
总结 此示例说明如何管理每个应用程序的回收带宽。
概述
应用程序 1、2、3 和 4 是使用回收接口的回收应用程序。表 1 显示了我们的带宽要求。在这种情况下,我们希望保证为应用程序 1 分配 10% 的回收接口带宽,为应用程序 2 分配 20%。应用程序 3 和 4 不是优先级,无需保证。
回收应用程序 | 所需的回收带宽值(百分比) |
---|---|
应用 1 | 10% |
应用 2 | 20% |
应用 3 | 定义 |
应用 4 | 定义 |
配置回收接口带宽
set system packet-forwarding-options recycle-bandwidth profile profile1
set system packet-forwarding-options recycle-bandwidth-profile profile1 application1 10 application2 20
验证
命令 | 验证任务 |
---|---|
show system packet-forwarding-options recycle-bandwidth-profile |
在操作模式下,运行 |
验证每个应用程序的回收带宽
目的
验证每个应用程序的回收带宽分配。
行动
user@router> show system packet-forwarding-options recycle-bandwidth-profile Recycle Interface details: Total Bandwidth : 300 Gbps/Core PFE : 0 Application-Name | Core | Bandwidth(Kbps) | Port | VoQ | Profile ----------------------------------------------------------------------------- application1 0 30000000 234 1336 profile1 application2 0 60000000 242 1400 profile1 application3 0 105000000 243 1408 profile1 application4 0 105000000 245 1424 profile1 PFE : 1 Application-Name | Core | Bandwidth(Kbps) | Port | VoQ | Profile ----------------------------------------------------------------------------- application1 0 30000000 234 2880 profile1 application2 0 60000000 242 2944 profile1 application3 0 105000000 243 2952 profile1 application4 0 105000000 245 2968 profile1
意义
输出显示前面部分中配置的每个应用程序的回收带宽分配。
应用程序 | 配置百分比 | 结果 |
---|---|---|
应用1 | 10 | 300 Gbps x 10% = 30 Gbps |
应用2 | 20 | 300 Gbps x 20% = 60 Gbps |
应用3 | 未配置 | 未使用的带宽/未配置的回收应用程序的数量。(300 x 70%)/ 2 = 105 Gbps |
应用4 | 未配置 | (300 x 70%)/ 2 = 105 Gbps |