示例:在 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