示例:在 Junos 多接入用户平面上配置 GBR 转发
概述
此示例说明如何在 Junos 多接入用户平面上配置 GBR 和尽力而为转发。GBR 队列使您能够确定流量的优先级。您还可以保证 GBR 流量的最低带宽。
Junos OS 根据分配给它的传输级别标记 (TLM) 以不同的方式处理订阅者流量。TLM 包含一个 DSCP 值,分类器使用该值将流量映射到相应的转发类。每个转发类都与锚数据包转发引擎的 VRF 环路接口上的输出队列相关联。
我们在 VRF 接口上支持 8 个队列,其中 4 个是 GBR 队列,4 个是尽力而为队列。这些队列预配置了一组固定的属性。您无法修改队列配置。
号队列 | 名称 | 说明 |
---|---|---|
0 | 低-0 | 优先级最低的最佳尽力服务队列 |
1 | 低-1 | 具有低到中等优先级的最佳努力队列 |
2 | 高-0 | 具有中到高优先级的最佳努力队列 |
3 | 高-1 | 具有最高优先级的最佳努力队列 |
4 | GBR-低 | 低优先级的 GBR 队列 |
5 | GBR-MED | 具有中等优先级的 GBR 队列 |
6 | GBR 高 | 具有高优先级的 GBR 队列 |
7 | 表达 | 具有最高优先级的 GBR 队列 |
确保将转发类映射到正确的队列。您可以为转发类使用不同的名称,但必须正确映射队列。
如果TLM提供了新的或修改的GBR承载或流映射到非GBR队列,则系统将拒绝会话建立或修改。确保控制平面和用户平面的 TLM 配置一致。
在此示例中,我们定义了八个转发类,并将这些类映射到 VRF 队列。我们定义一个分类器, upf-class-1
并配置转发类、其 PLP 值和适用的 DSCP 值。我们定义另一个名为 upf-class-2
的分类器,并配置 DSCP 的默认映射。我们将这些分类器添加到与网关 upf
上的传出接口关联的对等路由实例中。分类器 upf-class-1
处理路由实例 4g-access
和 4g-core
的流量。分类器 upf-class-2
处理所有其他路由实例的流量。您可以选择定义为 GBR 队列保留的系统带宽比例。
要求
此示例使用以下硬件和软件组件:
-
配置为 SAEGW-U 或 UPF 的 MX480(也可以是 MX240、MX960)路由器
-
Junos OS 22.2R1 或更高版本
配置
CLI 快速配置
要快速配置此示例,请复制以下命令并将其粘贴到文本文件中。删除所有换行符,并更改任何必要的详细信息以匹配您的网络配置。将命令复制并粘贴到 [edit] 层次结构级别的 CLI 中。
set class-of-service forwarding-classes class be-low-0 queue-num 0 set class-of-service forwarding-classes class be-low-1 queue-num 1 set class-of-service forwarding-classes class be-high-0 queue-num 2 set class-of-service forwarding-classes class be-high-1 queue-num 3 set class-of-service forwarding-classes class gbr-low queue-num 4 set class-of-service forwarding-classes class gbr-med queue-num 5 set class-of-service forwarding-classes class gbr-high queue-num 6 set class-of-service forwarding-classes class express queue-num 7 set class-of-service classifiers dscp upf-class-1 import default set class-of-service classifiers dscp upf-class-1 forwarding-class be-high-0 loss-priority low code-points cs1 set class-of-service classifiers dscp upf-class-1 forwarding-class be-high-0 loss-priority low code-points cs2 set class-of-service classifiers dscp upf-class-1 forwarding-class be-high-0 loss-priority low code-points cs3 set class-of-service classifiers dscp upf-class-1 forwarding-class be-high-0 loss-priority low code-points cs4 set class-of-service classifiers dscp upf-class-1 forwarding-class be-high-0 loss-priority low code-points cs5 set class-of-service classifiers dscp upf-class-1 forwarding-class be-high-1 loss-priority medium-low code-points nc1 set class-of-service classifiers dscp upf-class-1 forwarding-class be-low-0 loss-priority medium-high code-points be set class-of-service classifiers dscp upf-class-1 forwarding-class be-low-1 loss-priority high code-points nc2 set class-of-service classifiers dscp upf-class-1 forwarding-class express loss-priority high code-points ef set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-high loss-priority low code-points af11 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-high loss-priority low code-points af12 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-high loss-priority low code-points af13 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-low loss-priority medium-high code-points af31 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-low loss-priority medium-high code-points af32 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-low loss-priority medium-high code-points af33 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-low loss-priority medium-high code-points af41 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-low loss-priority medium-high code-points af42 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-low loss-priority medium-high code-points af43 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-med loss-priority medium-low code-points af21 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-med loss-priority medium-low code-points af22 set class-of-service classifiers dscp upf-class-1 forwarding-class gbr-med loss-priority medium-low code-points af23 set services mobile-edge gateways saegw upf system class-of-service downlink-dscp-to-forwarding-class classifier upf-class-1 routing-instance 4g-access set services mobile-edge gateways saegw upf system class-of-service downlink-dscp-to-forwarding-class classifier upf-class-1 routing-instance 4g-core set services mobile-edge gateways saegw upf system class-of-service downlink-dscp-to-forwarding-class classifier upf-class-2 set services mobile-edge gateways saegw upf system class-of-service reserved-bandwidth express 2 set services mobile-edge gateways saegw upf system class-of-service reserved-bandwidth gbr 10
分步程序
要配置 GBR 和尽力转发,请执行以下步骤:
-
定义八个转发类,并将其映射到 VRF 环路接口上的输出队列。
[edit class-of-service forwarding-classes] user@host# set class be-low-0 queue-num 0 user@host# set class be-low-1 queue-num 1 user@host# set class be-high-0 queue-num 2 user@host# set class be-high-1 queue-num 3 user@host# set class gbr-low queue-num 4 user@host# set class gbr-med queue-num 5 user@host# set class gbr-high queue-num 6 user@host# set class express queue-num 7
-
定义和配置将 DSCP 值映射到转发类的分类器。您可以配置分类器应用到的转发类、PLP 值和 DSCP 值。
[edit class-of-service] user@host# set classifiers dscp upf-class-1 user@host# set classifiers dscp upf-class-2 [edit class-of-service classifiers dscp upf-class-1] user@host# set import default user@host# set forwarding-class be-high-0 loss-priority low code-points [ cs1 cs2 cs3 cs4 cs5 ] user@host# set forwarding-class be-high-1 loss-priority medium-low code-points nc1 user@host# set forwarding-class be-low-0 loss-priority medium-high code-points be user@host# set forwarding-class be-low-1 loss-priority high code-points nc2 user@host# set forwarding-class express loss-priority high code-points ef user@host# set forwarding-class gbr-high loss-priority low code-points [ af11 af12 af13 ] user@host# set forwarding-class gbr-low loss-priority medium-high code-points [ af31 af32 af33 af41 af42 af43 ] user@host# set forwarding-class gbr-med loss-priority medium-low code-points [ af21 af22 af23 ] [edit class-of-service classifiers dscp upf-class-2] user@host# set import default
-
将分类器分配给与传出接口关联的路由实例。如果未将任何路由实例分配给分类器,则系统会将分类器用于未分配分类器的所有路由实例。
[edit services mobile-edge gateways saegw upf system class-of-service downlink-dscp-to-forwarding-class] user@host# set classifier upf-class-1 routing-instance 4g-access user@host# set classifier upf-class-1 routing-instance 4g-core user@host# set classifier upf-class-2
-
(可选)为快速队列和 GBR 队列保留总带宽的百分比。系统会在所有锚数据包转发引擎上保留相同百分比的带宽。
[edit services mobile-edge gateways saegw upf system class-of-service reserved-bandwidth] user@host# set express 2 user@host# set gbr 10
结果
在配置模式下,输入 show services
和 show class-of-service
命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。
user@host# show class-of-service forwarding-classes { class be-high-0 queue-num 2; class be-high-1 queue-num 3; class be-low-0 queue-num 0; class be-low-1 queue-num 1; class express queue-num 7; class gbr-high queue-num 6; class gbr-low queue-num 4; class gbr-med queue-num 5; } classifiers { dscp upf-class-1 { import default; forwarding-class be-high-0 { loss-priority low code-points [ cs1 cs2 cs3 cs4 cs5 ]; } forwarding-class be-high-1 { loss-priority medium-low code-points nc1; } forwarding-class be-low-0 { loss-priority medium-high code-points nc2; } forwarding-class be-low-1 { loss-priority high code-points be; } forwarding-class express { loss-priority high code-points ef; } forwarding-class gbr-high { loss-priority low code-points [ af11 af12 af13 ]; } forwarding-class gbr-low { loss-priority medium-high code-points [ af31 af32 af33 af41 af42 af43 ]; } forwarding-class gbr-med { loss-priority medium-low code-points [ af21 af22 af23 ]; } } dscp upf-class-2 { import default; } }
user@host# show services mobile-edge { gateways { saegw upf { system { class-of-service { downlink-dscp-to-forwarding-class { classifier upf-class-2; classifier upf-class-1 { routing-instance 4g-access; routing-instance 4g-core; } } reserved-bandwidth { express 2; gbr 10; } } } } } }
验证
使用各种 show
命令验证 GBR 转发是否正常工作。
验证转发队列配置
目的
显示转发队列的配置,并验证系统是否为 GBR 队列预留了带宽。
行动
在 CLI 中,输入 show services mobile-edge anchor class-of-service
命令。
user@host> show services mobile-edge anchor class-of-service Downlink forwarding queues/classes of service: Queue 0 (BE-LOW-0) Guaranteed priority: low Excess priority: low Reserved Bandwidth: 0 % Weight: 10 Queue 1 (BE-LOW-1) Guaranteed priority: low Excess priority: low Reserved Bandwidth: 0 % Weight: 20 Queue 2 (BE-HIGH-0) Guaranteed priority: low Excess priority: high Reserved Bandwidth: 0 % Weight: 20 Queue 3 (BE-HIGH-1) Guaranteed priority: low Excess priority: high Reserved Bandwidth: 0 % Weight: 50 Queue 4 (GBR-LOW) Guaranteed priority: low Excess priority: low Reserved Bandwidth: 10 % Weight: 0 Queue 5 (GBR-MEDIUM) Guaranteed priority: medium-high Excess priority: low Reserved Bandwidth: 10 % Weight: 0 Queue 6 (GBR-HIGH) Guaranteed priority: high Excess priority: low Reserved Bandwidth: 10 % Weight: 0 Queue 7 (EXPRESS) Guaranteed priority: strict-high Excess priority: low Reserved Bandwidth: 2 % Weight: 0
验证 GBR 和非 GBR 流
目的
验证系统是否将流量分类为 GBR 和非 GBR 承载或流。
行动
在 CLI 中,输入 show services mobile-edge sessions summary
命令。
user@host> show services mobile-edge sessions summary Sessions by State: ESTABLISHED: 2000 Total: 2000 Bearers by State: ESTABLISHED: 2000 Total: 2000 Bearers by Downlink FAR State: FORWARD: 2000 Total: 2000 Bearers by Resource Type: Non-GBR: 2000 Total: 2000 5G QoS Flows by State: ESTABLISHED: 4000 Total: 4000 5G QoS Flows by Resource Type: GBR: 2000 Non-GBR: 2000 Total: 4000