Hello, friends of the forum!
In the Access Network Forum, many friends are asking about how to limit the bandwidth of a device. Today, I want to share with you how to limit the bandwidth of a device.
First of all, I need to explain that the bandwidth limit cannot be set on the ONT.
Do you know why?
You may learn from the ONT documentation that:

These parameters are only the specifications of the ONT hardware.
ONT bandwidth depends on the OLT configuration, just as our network speed depends on the ISP network service package. Our network data information is transmitted and received through the channel between the OLT and the ONT. If you need to limit the bandwidth of the ONT, you can only use the OLT to limit the bandwidth.
Here we need to explain:
In the PON system, the OLT controls an ONU's upstream data traffic by sending authorization signals to the ONU. PON requires an effective TDMA mechanism to control the upstream traffic so that data packets from multiple ONUs do not collide in upstream transmission. However, the mechanism requires QoS management in an ODN network. The management cannot be implemented or may cause severe efficiency decrease because ODN is a passive network.
A mechanism for upstream PON traffic management has been a primary focus in standardization of PON traffic management. To resolve the problem, ITU-T Recommendation G.984.3 is developed, which defines the DBA protocol for managing upstream PON traffic.

Now, you only need to know that the OLT allocates bandwidth to the ONT through DBA.
To limit the bandwidth of the ONT, you can configure the DBA profile on the OLT.
On the OLT, you can run the dba-profile add command to add a dynamic bandwidth assignment (DBA) profile. When the default DBA profile cannot meet the service requirements, run this command to add a DBA profile according to the service requirements.
Format:
1) In global config mode:
dba-profile add [ profile-id profile-id | profile-name profile-name ]* { type1 fix fix-bandwidth [ bandwidth_compensate bandwidth_compensate | fix-delay fix-delay-value ] * | type2 assure assure-bandwidth | type3 assure assure-bandwidth max max-bandwidth | type4 max max-bandwidth [ priority priority | weight weight ] * | type5 fix fix-bandwidth assure assure-bandwidth max max-bandwidth [ additional-bandwidth { non-assure | best-effort [ priority priority | weight weight ] * } ] }
2) In diagnose mode:
dba-profile add [ profile-id profile-id | profile-name profile-name ]* { type1 fix fix-bandwidth [ bandwidth_compensate bandwidth_compensate | fix-delay fix-delay-value | assignment-frequency assignment_frequency_value ] * | type2 assure assure-bandwidth [ assignment-frequency assignment_frequency_value ] | type3 assure assure-bandwidth max max-bandwidth assignment-frequency assignment_frequency_value | type4 max max-bandwidth [ priority priority | weight weight ] * assignment-frequency assignment_frequency_value | type5 fix fix-bandwidth assure assure-bandwidth max max-bandwidth [ additional-bandwidth { non-assure | { best-effort | both } [ priority priority | weight weight ] * } ] assignment-frequency assignment_frequency_value }
Example
1. In global config mode, the device dynamically adjusts the upstream access bandwidth allocated to the ONU according to the upstream burst traffic requirements of the ONU and adds a DBA profile for a VoIP service. Related data planning is as follows:
Template ID: 20
Profile name: dba_15M (dba_assured bandwidth)
Bandwidth configuration type: Type3
CIR: 15 Mbit/s
Maximum bandwidth: 30 Mbit/s
huawei(config)#dba-profile add
{ profile-id<K>|profile-name<K>|type1<K>|type2<K>|type3<K>|type4<K>|type5<K> }:profile-id
{ profile-id<U><10,512> }:20
{ profile-name<K>|type1<K>|type2<K>|type3<K>|type4<K>|type5<K> }:profile-name
{ profile-name<S><Length 1-33> }:dba_15M
{ type1<K>|type2<K>|type3<K>|type4<K>|type5<K> }:type3
{ assure<K> }:assure
{ assure-bandwidth<U><128,10000000> }:15360
{ max<K> }:max
{ max-bandwidth<U><128,10000000> }:30720
Command:
dba-profile add profile-id 20 profile-name dba_15M type3 assure 15360 max 30720
Adding a DBA profile succeeded
Profile ID : 20
Profile name: dba_15M
2. In the global config mode, add a DBA profile of type 5 with the additional bandwidth type as best-effort. Data planning is as follows:
Template ID: 21
Profile name: dba-profile_21
Bandwidth configuration type: Type 5
Fixed bandwidth: 128 Mbit/s
Guaranteed bandwidth: 128 Mbit/s
Maximum bandwidth: 500 Mbit/s (adapted to 448 Mbit/s)
huawei(config)#dba-profile add profile-id 21 type5 fix 131072 assure 131072 max 512000
{ <cr>|additional-bandwidth<K> }:additional-bandwidth
{ best-effort<K>|non-assure<K> }:best-effort
{ <cr>|priority<K>|weight<K> }:priority
{ priority<U><0,7> }:1
{ <cr>|weight<K> }:weight
{ weight<U><1,10000> }:1000
Command:
dba-profile add profile-id 21 type5 fix 131072 assure 131072 max 512000 additio
nal-bandwidth best-effort priority 1 weight 1000
Adding a DBA profile succeeded
Profile ID : 21
Profile name: dba-profile_21
Attention: DBA-profile Maximum bandwidth value 512000 has been adjusted to 458752
3. In the global config mode, add a type 1 DBA profile with fixed delay enabled. The data plan is as follows:
Template ID: 12
Profile name: dba-profile_12
Bandwidth configuration type: Type1
Fixed bandwidth: 222 Mbit/s (adapted to 192 Mbit/s)
huawei(config)#dba-profile add profile-id 12 type1
{ fix<K> }:fix
{ fix-bandwidth<U><128,10000000> }:227328
{ <cr>|bandwidth_compensate<K>|fix-delay<K> }:fix-delay
{ fix-delay-value<E><no,yes> }:yes
{ <cr>|bandwidth_compensate<K> }:
Command:
dba-profile add profile-id 12 type1 fix 227328 fix-delay yes
Adding a DBA profile succeeded
Profile ID : 12
Profile name: dba-profile_12
Attention: DBA-profile Fixed bandwidth value 227328 has been adjusted to 196608
4. In the diagnosis mode, add a type 5 DBA profile with fixed delay enabled. The data plan is as follows:
Template ID: 22
Profile name: dba-profile_22
Bandwidth configuration type: Type 5
Fixed bandwidth: 128 Mbit/s
Guaranteed bandwidth: 128 Mbit/s
Maximum bandwidth: 500 Mbit/s (adapted to 448 Mbit/s)
huawei(diagnose)%-profile add profile-id 22 type5 fix 131072 assure 131072 max 512000
{ <cr>|additional-bandwidth<K>|assignment-frequency<K> }:additional-bandwidth
{ best-effort<K>|both<K>|non-assure<K> }:best-effort
{ <cr>|assignment-frequency<K>|priority<K>|weight<K> }:priority
{ priority<U><0,7> }:1
{ <cr>|assignment-frequency<K>|weight<K> }:weight
{ weight<U><1,10000> }:1000
{ <cr>|assignment-frequency<K> }:assignment-frequency
{ assignment_frequency_value<E><calculate-period,single-frame> }:calculate-period
Command:
dba-profile add profile-id 22 type5 fix 131072 assure 131072 max 512000 additio
nal-bandwidth best-effort priority 1 weight 1000 assignment-frequency calculate-period
Adding a DBA profile succeeded
Profile ID : 22
Profile name: dba-profile_22
Attention: DBA-profile Maximum bandwidth value 512000 has been adjusted to 458752
Generally, after creating a DBA profile on the OLT, bind the DBA profile to the line profile, and then bind the line profile to the ONT when adding the ONT.
Today's sharing content is as above. If you have any questions, please leave a message in the comment area.
Thank you for reading!

For more information about ONT basics, click the homepage of the topic.


