CN107231248B - Method and device for allocating uplink bandwidth of Ethernet passive optical network - Google Patents

Method and device for allocating uplink bandwidth of Ethernet passive optical network Download PDF

Info

Publication number
CN107231248B
CN107231248B CN201610177786.3A CN201610177786A CN107231248B CN 107231248 B CN107231248 B CN 107231248B CN 201610177786 A CN201610177786 A CN 201610177786A CN 107231248 B CN107231248 B CN 107231248B
Authority
CN
China
Prior art keywords
bandwidth
logical link
corresponding logical
allocated
allocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610177786.3A
Other languages
Chinese (zh)
Other versions
CN107231248A (en
Inventor
杨君体
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201610177786.3A priority Critical patent/CN107231248B/en
Priority to PCT/CN2017/077938 priority patent/WO2017162195A1/en
Publication of CN107231248A publication Critical patent/CN107231248A/en
Application granted granted Critical
Publication of CN107231248B publication Critical patent/CN107231248B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/525Queue scheduling by attributing bandwidth to queues by redistribution of residual bandwidth

Abstract

The embodiment of the invention discloses a Dynamic Bandwidth Allocation (DBA) method for an Ethernet Passive Optical Network (EPON) uplink, which comprises the following steps: in the current DBA period, distributing authorized bandwidth for each logical link according to a preset first bandwidth distribution strategy; allocating a compensation bandwidth for a logical link of which the authorized bandwidth allocated according to the first bandwidth allocation strategy is greater than 0, wherein the compensation bandwidth is obtained by subtracting the actually uploaded data traffic of the corresponding logical link in the previous DBA period from the authorized bandwidth allocated to the corresponding logical link in the previous DBA period; the embodiment of the invention also discloses an EPON uplink DBA device.

Description

Method and device for allocating uplink bandwidth of Ethernet passive optical network
Technical Field
The invention relates to the field of Ethernet Passive Optical Networks (EPON), in particular to a method and a device for allocating uplink dynamic bandwidth of an Ethernet Passive Optical Network, which can allocate bandwidth to an Optical Network Unit (ONU) according to the service configuration and flow demand of the ONU.
Background
In an EPON system, one Optical Line Terminal (OLT) may connect multiple ONUs, in which case the ONUs need to time-multiplex upstream bandwidth; in an EPON system, an entity that receives a GATE message and feeds back a REPORT message is called a Logical link, and the Logical link may be identified by a Logical Link Identification (LLID); LLID is a kind of digital identifier assigned to logical links by the EPON system, and each logical link is assigned to a different LLID; in an EPON system, an LLID is assigned by a network manager through an OLT.
In an EPON system, data packets are not fragmented, and if the tail part of the bandwidth is less than one data packet, the bandwidth at the tail part is wasted; therefore, when the uplink flow of the logical link of the ONU is lower than the allocable bandwidth of the OLT, the request bandwidth of the logical link is smaller than the allocable bandwidth, and the bandwidth is directly allocated to the logical link according to the request bandwidth of the logical link, so that the problem of bandwidth waste at the tail part of the bandwidth can be ensured; when the uplink flow of the logical link of the ONU is large, the requested bandwidth of the logical link of the ONU may exceed the bandwidth allowed to be allocated by the OLT, and at this time, the OLT cannot allocate the bandwidth according to the requested bandwidth of the logical link, and at this time, the OLT can only allocate the bandwidth according to the bandwidth allowed to be allocated by itself, and when the bandwidth allocation scheme is adopted, the ONU cannot upload a data packet according to the requested bandwidth, and the total flow of the data packets actually uploaded by the ONU is usually smaller than the allocated bandwidth, which inevitably causes a waste problem at the tail of the bandwidth; for bandwidth of hundreds of megabytes, certain waste at the tail can be ignored, but when the service bandwidth is small, the tail waste occurs, and great influence is caused on the user experience; for example, if a user originally purchased only 2M of bandwidth, the actual user may only be able to enjoy about 70% of the bandwidth due to the waste of the end-of-frame bandwidth.
Disclosure of Invention
In order to solve the foregoing technical problems, embodiments of the present invention are intended to provide a Dynamic Bandwidth Allocation (DBA) method and apparatus for an ethernet passive optical network uplink, which can ensure that Bandwidth services purchased by a user are guaranteed in a sufficient amount.
The technical scheme of the invention is realized as follows:
the embodiment of the invention provides an EPON uplink DBA method, which comprises the following steps:
in the current DBA period, distributing authorized bandwidth for each logical link according to a preset first bandwidth distribution strategy;
and allocating a compensation bandwidth for the logic link of which the authorized bandwidth allocated according to the first bandwidth allocation strategy is greater than 0, wherein the compensation bandwidth is obtained by subtracting the data traffic actually uploaded by the corresponding logic link in the previous DBA period from the authorized bandwidth allocated to the corresponding logic link in the previous DBA period.
In the foregoing solution, after allocating the compensation bandwidth, the method further includes:
and when the corresponding logical link has the remaining bandwidth allowed to be allocated, allocating the authorized bandwidth for the corresponding logical link according to a preset second bandwidth allocation strategy.
In the foregoing scheme, the allocating authorized bandwidth to the corresponding logical link according to the preset second bandwidth allocation policy includes:
obtaining the authorized bandwidth which is allowed to be allocated by the corresponding logical link according to the value of the remaining bandwidth which is allowed to be allocated and corresponds to the logical link after the bandwidth is allocated through compensation, the sum of the weights of all the logical links which do not meet the requirement bandwidth after the bandwidth is allocated through compensation and the preset weight of the corresponding logical link; and allocating the authorized bandwidth for the corresponding logical link based on the authorized bandwidth allowed to be allocated by the corresponding logical link.
In the above scheme, the method further comprises:
and when the authorized bandwidth allocated to the corresponding logical link according to the first bandwidth allocation strategy is equal to 0 and the value of the compensation bandwidth is greater than a preset compensation bandwidth allocation threshold, allocating the compensation bandwidth to the corresponding logical link.
In the foregoing solution, the allocating an authorized bandwidth to each logical link according to a preset first bandwidth allocation policy includes:
when the request bandwidth of the corresponding logical link is larger than the set bandwidth allocation threshold, allocating an authorized bandwidth with the size not exceeding the bandwidth allocation threshold for the corresponding logical link;
and when the request bandwidth of the corresponding logical link is less than or equal to the set bandwidth allocation threshold, allocating the authorized bandwidth for the corresponding logical link according to the request bandwidth of the corresponding logical link.
The embodiment of the invention also provides an EPON dynamic bandwidth allocation DBA apparatus, which includes a first allocation module and a second allocation module, wherein,
the first allocation module is used for allocating authorized bandwidth for each logical link in the current DBA period according to a preset first bandwidth allocation strategy;
a second allocating module, configured to allocate a complementary bandwidth for a logical link whose authorized bandwidth allocated according to the first bandwidth allocation policy is greater than 0; the compensation bandwidth is obtained by subtracting the data traffic actually uploaded by the corresponding logical link in the previous DBA period from the authorized bandwidth allocated to the corresponding logical link in the previous DBA period.
In the above scheme, the apparatus further includes a third allocation module; and the third allocating module is configured to, after allocating the compensation bandwidth, allocate the authorized bandwidth to the corresponding logical link according to a preset second bandwidth allocation policy when the corresponding logical link still has a remaining bandwidth allowed to be allocated.
In the foregoing solution, the third allocating module is specifically configured to obtain an authorized bandwidth allowed to be allocated to the corresponding logical link according to a value of a remaining bandwidth allowed to be allocated to the corresponding logical link after bandwidth compensation is allocated, a sum of weights of all logical links that have not yet satisfied a requested bandwidth after bandwidth compensation is allocated, and a preset weight of the corresponding logical link; and allocating the authorized bandwidth for the corresponding logical link based on the authorized bandwidth allowed to be allocated by the corresponding logical link.
In the foregoing solution, the second allocating module is further configured to allocate the compensation bandwidth to the corresponding logical link when the authorized bandwidth allocated to the corresponding logical link according to the first bandwidth allocation policy is equal to 0, and the value of the compensation bandwidth is greater than a preset compensation bandwidth allocation threshold.
In the foregoing solution, the first allocating module is specifically configured to allocate, when a requested bandwidth of a corresponding logical link is greater than a set bandwidth allocation threshold, an authorized bandwidth whose size does not exceed the bandwidth allocation threshold for the corresponding logical link; and when the request bandwidth of the corresponding logical link is less than or equal to the set bandwidth allocation threshold, allocating the authorized bandwidth for the corresponding logical link according to the request bandwidth of the corresponding logical link.
The embodiment of the invention provides a method and a device for allocating dynamic bandwidth of an Ethernet passive optical network uplink, wherein in the current DBA period, authorized bandwidth is allocated to each logic link according to a preset first bandwidth allocation strategy; allocating a compensation bandwidth for a logical link of which the authorized bandwidth allocated according to the first bandwidth allocation strategy is greater than 0, wherein the compensation bandwidth is obtained by subtracting the actually uploaded data traffic of the corresponding logical link in the previous DBA period from the authorized bandwidth allocated to the corresponding logical link in the previous DBA period; therefore, the bandwidth service purchased by the user is guaranteed in a sufficient amount by issuing the compensation bandwidth in the current DBA period.
Drawings
Fig. 1 is a flowchart of a first embodiment of a method for ethernet passive optical network uplink dynamic bandwidth allocation according to the present invention;
fig. 2 is a schematic diagram of a bandwidth allocation flow performed in each dynamic bandwidth allocation period in a second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method according to the present invention;
fig. 3 is a flowchart of guaranteed bandwidth allocation for any logical link according to a second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method of the present invention;
fig. 4 is a flowchart of compensating bandwidth allocation for any logical link in a second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method according to the present invention;
fig. 5 is a flowchart of allocating best effort bandwidth to any one logical link in the second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method of the present invention;
fig. 6 is a flowchart of the compensation bandwidth calculation in the third embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method according to the present invention;
fig. 7 is a schematic diagram of a component structure of an EPON uplink DBA apparatus according to an embodiment of the present invention.
Detailed Description
The technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
For the problem of bandwidth tail waste in the prior art, the embodiment of the invention can reasonably allocate the bandwidth to the logical link according to the allowed allocation bandwidth and the requested bandwidth of each logical link, thereby achieving the full and reasonable utilization of bandwidth resources; the embodiment of the invention can provide better service for the user under the condition of limited bandwidth resources, and ensure the bandwidth experience purchased by the user.
Here, the allowed allocated bandwidth of each logical link is generally the purchased bandwidth of the logical link, and the allowed allocated bandwidth of each logical link can be obtained through Service-Level Agreement (SLA) table configuration information.
First embodiment
In the first embodiment of the present invention, a centralized dynamic bandwidth allocation strategy may be adopted, that is, bandwidth allocation is performed according to a set period; the set period is called a DBA period, the bandwidth allocation of the uplink flow is carried out on each logic link in each DBA period, and after the bandwidth allocation is finished, the bandwidth allocation corresponding to the DBA period is carried out again when the next DBA period arrives.
Here, the process of allocating the bandwidth for each logical link may be implemented by the OLT, and when allocating the bandwidth for each logical link, the OLT issues the bandwidth allocation information to the corresponding ONU through the corresponding logical link; in this way, the ONU may upload at least one data packet to the OLT through the corresponding logical link based on the acquired allocation information of the bandwidth.
Fig. 1 is a flowchart of a first embodiment of a method for ethernet passive optical network uplink dynamic bandwidth allocation according to the present invention, as shown in fig. 1, the flowchart includes:
step 100: in the current dynamic bandwidth allocation period, allocating authorized bandwidth for each logical link according to a preset first bandwidth allocation strategy;
in this step, the authorized bandwidth allocated to any logical link may be greater than 0 or equal to 0, and obviously, when the authorized bandwidth allocated to any logical link is equal to 0, the bandwidth allocation information may not be issued.
Specifically, when the requested bandwidth of the corresponding logical link is greater than the set bandwidth allocation threshold, allocating an authorized bandwidth with the size not exceeding the bandwidth allocation threshold for the corresponding logical link; and when the request bandwidth of the corresponding logical link is less than or equal to the set bandwidth allocation threshold, allocating the authorized bandwidth for the corresponding logical link according to the request bandwidth of the corresponding logical link.
Step 101: and allocating a compensation bandwidth for the logic link of which the authorized bandwidth allocated according to the first bandwidth allocation strategy is greater than 0, wherein the compensation bandwidth is obtained by subtracting the data traffic actually uploaded by the corresponding logic link in the previous DBA period from the authorized bandwidth allocated to the corresponding logic link in the previous DBA period.
Here, the authorized bandwidth allocated to the corresponding logical link in the previous dynamic bandwidth allocation period is the sum of the authorized bandwidths allocated to the corresponding logical link in the previous dynamic bandwidth allocation period, where the authorized bandwidth allocated to the corresponding logical link in the previous dynamic bandwidth allocation period does not include the compensation bandwidth allocated to the corresponding logical link in the previous dynamic bandwidth allocation period.
For example, if the previous dynamic bandwidth allocation cycle allocates only the authorized bandwidth and the compensation bandwidth to the corresponding logical link, the total bandwidth allocated to the corresponding logical link by the previous dynamic bandwidth allocation cycle is the authorized bandwidth allocated to the corresponding logical link by the previous dynamic bandwidth allocation cycle; if the authorized bandwidth allocation is performed again after the previous dynamic bandwidth allocation period allocates the authorized bandwidth and the compensation bandwidth for the corresponding logical link, the authorized bandwidth allocated for the corresponding logical link by the previous dynamic bandwidth allocation period is the sum of the authorized bandwidths allocated twice for the corresponding logical link by the previous dynamic bandwidth allocation period.
It can be seen that the compensation bandwidth actually represents the tail bandwidth wasted by the corresponding logical link in the previous bandwidth period; in the prior art, the wasted tail bandwidth exists, and the bandwidth service purchased by the user is not guaranteed by the full amount, but in the embodiment of the invention, the bandwidth service purchased by the user is guaranteed by the full amount by issuing the compensation bandwidth in the current DBA period, so that the user experience is improved.
It should be noted that, for the first dynamic bandwidth allocation period, the allocation of the compensation bandwidth may not be performed, that is, in the first dynamic bandwidth allocation period, the bandwidth is allocated to each logical link according to the preset initial bandwidth allocation policy.
Here, there is no limitation on how the initial bandwidth allocation policy is set, and the initial bandwidth allocation policy may be, for example: bandwidth of a set value is allocated to each logical link.
Further, when the authorized bandwidth allocated to the corresponding logical link according to the first bandwidth allocation policy is equal to 0 and the value of the compensation bandwidth is greater than a preset compensation bandwidth allocation threshold, allocating a compensation bandwidth to the corresponding logical link; and when the authorized bandwidth allocated to the corresponding logical link according to the first bandwidth allocation strategy is equal to 0 and the value of the compensation bandwidth is less than or equal to a preset compensation bandwidth allocation threshold, allocating the authorized bandwidth only to the corresponding logical link instead of allocating the compensation bandwidth to the corresponding logical link.
Further, after the compensation bandwidth is allocated, when the corresponding logical link still has the remaining bandwidth allowed to be allocated, the authorized bandwidth is allocated to the corresponding logical link according to a preset second bandwidth allocation policy.
Specifically, the allocating the authorized bandwidth to the corresponding logical link according to the preset second bandwidth allocation policy includes: obtaining the authorized bandwidth which is allowed to be allocated by the corresponding logical link according to the value of the remaining bandwidth which is allowed to be allocated and corresponds to the logical link after the bandwidth is allocated through compensation, the sum of the weights of all the logical links which do not meet the requirement bandwidth after the bandwidth is allocated through compensation and the preset weight of the corresponding logical link; and allocating the authorized bandwidth for the corresponding logical link based on the authorized bandwidth allowed to be allocated by the corresponding logical link.
In the prior art, when the uplink flow of the logical link of the ONU is large, the requested bandwidth of the logical link of the ONU may exceed the bandwidth allowed to be allocated by the OLT, and at this time, the OLT cannot allocate the bandwidth according to the requested bandwidth of the logical link, and at this time, the OLT can allocate the bandwidth only according to the bandwidth allowed to be allocated by itself, and when the bandwidth allocation scheme is adopted, the ONU cannot upload a data packet according to the requested bandwidth, and the total flow of data packets actually uploaded by the ONU is usually smaller than the allocated bandwidth, which inevitably causes a waste problem at the tail of the bandwidth; for bandwidth of hundreds of megabytes, certain waste at the tail can be ignored, but when the service bandwidth is small, the tail waste occurs, and great influence is caused on the user experience; further, the bandwidth utilization rate of the uplink logical link and the packet sending size of the ONU have a large relationship, and the larger the data packet is, the lower the corresponding bandwidth utilization rate is, and the smaller the data packet is, the corresponding bandwidth utilization rate will be improved.
In view of the above problems in the prior art, the first embodiment of the present invention issues the compensation bandwidth in the current DBA period, so that the bandwidth service purchased by the user is guaranteed by a sufficient amount, and the user experience is improved.
Second embodiment
To further illustrate the object of the present invention, the first embodiment of the present invention is further illustrated.
In the second embodiment of the present invention, a centralized DBA allocation policy may be adopted, that is, bandwidth allocation is performed according to a set period; the set period is called a DBA period, the bandwidth allocation of the uplink flow is carried out on each logic link in each DBA period, and after the bandwidth allocation is finished, the bandwidth allocation corresponding to the DBA period is carried out again when the next DBA period arrives.
Here, the DBA period is generally several hundred microseconds, when a DBA period arrives, the bandwidth allocated to each logical link in the corresponding DBA period is calculated, after the calculation is completed, the bandwidth allocated to each logical link may be carried to a gate MPCP frame through gate _ length information according to a Multipoint control protocol (MPCP), and then the gate MPCP frame is issued to the ONU corresponding to the logical link; and after all the gate mpcp frames are issued, finishing the bandwidth allocation process corresponding to the DBA period.
In the second embodiment of the present invention, the bandwidth allocation process in each DBA cycle may include a fixed bandwidth allocation step, a guaranteed bandwidth allocation step, a compensation bandwidth allocation step, and a best effort bandwidth allocation step, which are performed in sequence; here, each bandwidth allocation step polls all logical links, i.e. for the current bandwidth allocation step, the next bandwidth allocation step is only performed after the bandwidth allocation procedure of the respective logical link is finished.
In the second embodiment of the present invention, the unit of the bandwidth may be M, G, etc., in this case, the bandwidth unit is set by the station in the angle of the user using the layer, and in practical application, when the OLT configures the hardware bandwidth, the OLT needs to convert the bandwidth into a Time Quanta (TQ) unit and configure the Time Quanta unit into the SLA table. In the second embodiment of the present invention, the bandwidth may be calculated according to TQ units in the hardware bandwidth calculation process.
Fig. 2 is a schematic diagram of a bandwidth allocation process performed in each DBA cycle in a second embodiment of an ethernet passive optical network uplink dynamic bandwidth allocation method according to the present invention, as shown in fig. 2, the process includes:
step 200: fixed bandwidth (fixed bandwidth) allocation is performed for each logical link.
Here, the fixed bandwidth is a bandwidth that needs to be allocated regardless of traffic demand, and the fixed bandwidth is exchanged for a fast and stable response time at the expense of bandwidth.
In this step, the size of the fixed bandwidth allocated to each logical link may be preset, and when the fixed bandwidth is allocated to any logical link, the fixed bandwidth may be allocated once in each DBA cycle, or may be allocated once every fix _ alloc _ cycle DBA cycles, where the fix _ alloc _ cycle is a natural number greater than 1.
When a fixed bandwidth is allocated to any one logical link, if a mode of allocating the fixed bandwidth once every fix _ alloc _ cycle DBA cycle is adopted, if the current DBA cycle is not a cycle capable of allocating the fixed bandwidth, fixed bandwidth allocation is not performed on the corresponding logical link, if the current DBA cycle is a cycle capable of allocating the fixed bandwidth, a fixed bandwidth with the size of fix _ alloc _ cycle bw _ f is allocated to the corresponding logical link, bw _ f is a first bandwidth configuration value configured in advance for the corresponding logical link, and bw _ f can be configured in an SLA table.
Here, in order to implement allocation of the fixed bandwidth once every fix _ alloc _ cycle DBA cycle, a counter fix _ bw _ cnt may be set, an initial count value of the counter fix _ bw _ cnt is 0, a count value of the counter fix _ bw _ cnt is incremented bw _ f every DBA cycle, when the count value of the counter fix _ bw _ cnt reaches fix _ alloc _ cycle bw _ f, a corresponding fixed bandwidth is allocated to a corresponding logical link, and the count value of the counter fix _ bw _ cnt is set to be 0.
Step 201: guaranteed bandwidth (allocated bandwidth) allocation is performed for each logical link.
Fig. 3 is a flowchart illustrating guaranteed bandwidth allocation for any logical link according to a second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method of the present invention; when the guaranteed bandwidth allocation is performed on any one logical link, recording the value of the requested bandwidth of the corresponding logical link, which is not met after the fixed bandwidth allocation, as req, recording the value of the remaining bandwidth allowed to be allocated, which is allowed to be allocated, of the corresponding logical link after the fixed bandwidth allocation, as sleft, recording a second bandwidth configuration value configured in advance for the corresponding logical link as bw _ a, wherein the bw _ a can be configured in an SLA table; setting a guaranteed bandwidth leaky bucket corresponding to the logical link as token _ a, recording a minimum threshold of the guaranteed bandwidth allocated to the corresponding logical link each time as thre _ min, recording a maximum threshold of the guaranteed bandwidth allocated to the corresponding logical link each time as thre _ max, and recording a value of the guaranteed bandwidth allocated to the corresponding logical link in the current DBA period as ass _ pure.
Here, when the fixed bandwidth allocated to the corresponding logical link in the current DBA cycle is greater than or equal to the requested bandwidth of the corresponding logical link, the requested bandwidth of the corresponding logical link that has not been satisfied after the fixed bandwidth allocation is 0, and when the fixed bandwidth allocated to the corresponding logical link in the current DBA cycle is less than the requested bandwidth of the corresponding logical link, the requested bandwidth req of the corresponding logical link that has not been satisfied after the fixed bandwidth allocation is the difference between the requested bandwidth of the corresponding logical link in the current DBA cycle and the fixed bandwidth allocated to the corresponding logical link; for example, the fixed bandwidth allocated to the corresponding logical link in the current DBA cycle is a1, and the requested bandwidth of the logical link corresponding to the current DBA cycle is a2, and then the requested bandwidth req of the corresponding logical link that has not been satisfied after the fixed bandwidth allocation is a2-a 1.
token _ a represents a guaranteed bandwidth leaky bucket of the corresponding logical link, token _ a cannot exceed token _ a _ max, and token _ a _ max is bw _ a × num; the size of token _ a _ max is related to bw _ a, for example, if bw _ a is 2M when DBA period is 750us, num is configured to be 30; if bw _ a is 200M, configuring num to be 10; the token _ a is used to record the guaranteed bandwidth allowed to be allocated after the previous DBA cycle, and if the token _ a exceeds the token _ a _ max, it indicates that the guaranteed bandwidth allowed to be allocated of the latest corresponding logical link is sufficient, at this time, the token _ a may automatically overflow, that is, when the token _ a exceeds the limit token _ a _ max, the token _ a is made to be the token _ a _ max.
Here, the purpose of setting the minimum threshold thre _ min is to prevent overhead waste caused by frequent allocation of the guaranteed bandwidth and waste of a bandwidth tail, where the overhead caused by each allocation of the guaranteed bandwidth includes, but is not limited to, layer _ on overhead, layser _ off overhead, sync _ time overhead, and the like; illustratively, when bw _ a is 2M, thre _ min may be set to 1518 bytes, so that the largest packet may be sent, and when bw _ a is 200M, a larger minimum threshold thre _ min may be set, but thre _ max cannot be exceeded.
Here, the maximum threshold thre _ max is set, so that the situation that the guaranteed bandwidths of other logical links in the current DBA cycle cannot be allocated due to the fact that the guaranteed bandwidth allocated for a single time by the corresponding logical link is too large can be prevented; for example, taking the DBA period 750us as an example, when bw _ a is 2M, the maximum threshold thre _ max may be set to 1518 × 2 bytes; when bw _ a is 20M, a maximum threshold value thre _ max may be set to 10 × bw _ a; when bw _ a is 200M, a maximum threshold value thre _ max may be set to 3 × bw _ a.
Referring to fig. 3, the process of allocating guaranteed bandwidth for any logical link includes:
step 2011: and judging whether the req is less than or equal to token _ a, if so, jumping to step 2012, and otherwise, jumping to step 2013.
Here, when req is equal to or less than token _ a, it is described that req can be satisfied in the guaranteed bandwidth allocation stage, and when req is greater than token _ a, it is described that req cannot be satisfied in the guaranteed bandwidth allocation stage.
Step 2012: judging whether req is greater than thre _ max, if req is greater than thre _ max, assigning the guaranteed bandwidth with the size of thre _ max to the corresponding logical link; if the req is less than or equal to thre _ max, the ass _ pure is equal to req, and the guaranteed bandwidth with the size of req is distributed to the corresponding logical link; after allocating the guaranteed bandwidth for the corresponding logical link, go to step 2014.
In this step, when req is greater than thre _ max, in order to prevent the situation that the guaranteed bandwidths of other logical links in the current DBA cycle cannot be allocated due to the fact that the guaranteed bandwidth allocated for a single time by the corresponding logical link is too large, only the guaranteed bandwidth with the size of thre _ max is allocated to the corresponding logical link, and the requested bandwidth exceeding thre _ max is not satisfied for a while in the current DBA cycle; when the req is less than or equal to thre _ max, it is stated that the req can be satisfied in the guaranteed bandwidth allocation stage.
Step 2013: judging whether token _ a is larger than thre _ max, if yes, ass _ pure is thre _ max, and allocating the guaranteed bandwidth with the size of thre _ max to the corresponding logic link; if token _ a is not larger than thre _ max, judging whether token _ a is larger than or equal to thre _ min, if token _ a is larger than or equal to thre _ min, ass _ pure is token _ a, and allocating the guaranteed bandwidth with the size of token _ a to the corresponding logical link; if token _ a is smaller than thre _ min, ass _ pure is 0, and the guaranteed bandwidth is not allocated to the corresponding logical link;
then, go to step 2014.
Step 2014: token _ a is updated.
Here, the process of updating token _ a may include: and adding the token _ a to the bw _ a and then subtracting the ass _ pure to obtain the updated token _ a.
Further, after step 2014, the bandwidth actually allocated for the corresponding logical link after the fixed bandwidth allocation and the guaranteed bandwidth allocation is calculated.
It should be noted that, in four bandwidth allocation steps of the bandwidth allocation process in each DBA cycle, the fixed bandwidth allocation step has the highest priority, and if the fixed bandwidth and the guaranteed bandwidth are allocated together, due to the burst characteristic of leaky bucket allocation, the fixed bandwidth may need to be delayed for several DBA cycles to allocate the bandwidth, so that the fixed bandwidth cannot be stably responded; thus, although both the fixed bandwidth allocation step and the guaranteed bandwidth allocation step are necessarily performed, they are divided into two steps to be sequentially performed.
It can be seen that, when the guaranteed bandwidth allocation is performed, a guaranteed bandwidth leaky bucket token _ a may be set, and the leaky buckets are accumulated every period. In addition, the guaranteed bandwidth is allocated when a new report message comes, and the guaranteed bandwidth allocation is not performed when no new report comes or the report _ max _ interval period started from the last time of receiving the report message is not finished, so that the new bandwidth requirement of the ONU end can be accurately known; when the bandwidth of the request of the corresponding logical link which is not met after the fixed bandwidth allocation is less than or equal to token _ a, directly allocating the bandwidth to meet the requirement of req; when the request bandwidth of the corresponding logical link, which is not yet satisfied after fixed bandwidth allocation, is greater than token _ a, the buffer head information of the ONU end cannot be known, and the problem of bandwidth tail waste occurs; at this time, a compensation bandwidth allocation function needs to be started to perform bandwidth compensation work; and when the bandwidth requirement of the ONU is detected to be satisfied, closing the bandwidth compensation work.
Here, referring to the first embodiment of the present invention, the granted bandwidth allocated to each logical link according to the first bandwidth allocation policy includes a fixed bandwidth allocated to the corresponding logical link according to step 200 and a guaranteed bandwidth allocated to the corresponding logical link according to step 201.
Step 202: and allocating compensation bandwidth (compensation bandwidth) for the logical link.
Fig. 4 is a flowchart of performing complementary bandwidth allocation for any logical link in a second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method according to the present invention, as shown in fig. 4, the flowchart includes:
step 2021: and judging whether the bandwidth actually allocated to the corresponding logical link after the fixed bandwidth allocation and the guaranteed bandwidth allocation is greater than 0, if so, allocating a compensation bandwidth with the size bw _ c to the corresponding logical link, and if not, jumping to the step 2022.
Here, according to the first embodiment of the present invention, bw _ c is a difference value obtained by subtracting a data traffic actually uploaded by the corresponding logical link in the previous dynamic bandwidth allocation period from a bandwidth allocated to the corresponding logical link in total in the previous dynamic bandwidth allocation period.
Step 2022: and judging whether the corresponding logical link meets the set condition, if so, allocating a compensation bandwidth with the size bw _ c to the corresponding logical link, and if not, jumping to the step 2023.
Here, the third bandwidth allocation value preconfigured for the logical link is denoted as bw _ b, and the setting condition is as follows: a first bandwidth configuration value bw _ f pre-configured corresponding to the logical link is 0, a second bandwidth configuration value bw _ a pre-configured corresponding to the logical link is 0, a third bandwidth configuration value bw _ b pre-configured corresponding to the logical link is greater than 0, and bw _ c is greater than thre _ cm; thre _ cm represents a preset compensation bandwidth allocation threshold.
Step 2023: the compensation bandwidth is not allocated for the corresponding logical link.
For the compensation bandwidth allocation step, bw _ c may be calculated first by the compensation bandwidth calculation means; in the current DBA period, the compensation bandwidth is allocated only when the bandwidth already allocated in the fixed bandwidth allocation stage or the bandwidth guarantee stage is greater than 0, otherwise, the compensation bandwidth is allocated when the bandwidth already allocated in the fixed bandwidth allocation stage or the bandwidth guarantee stage of a corresponding logic link in a certain DBA period is greater than 0; for the logical link only meeting the set condition, since the best effort bandwidth allocation step is after the compensation bandwidth allocation step, it cannot be determined whether the bandwidth allocated for the corresponding logical link in the current DBA cycle is greater than 0, at this time, a compensation bandwidth allocation threshold needs to be set, and only when bw _ c exceeds the compensation bandwidth allocation threshold, the compensation bandwidth is allocated.
Here, when the bw _ c is calculated by using the compensation bandwidth calculating means, it is necessary to count the total bandwidth allocated to the corresponding logical link in the previous dynamic bandwidth allocation period and the data traffic actually uploaded through the corresponding logical link in the previous dynamic bandwidth allocation period; the total bandwidth allocated for the corresponding logical link by the previous dynamic bandwidth allocation period may be: and the bandwidth is obtained by deducting the following bandwidth from grant _ length in the gate information received by the OLT: the delay _ on overhead, the delay _ off overhead, the sync _ time overhead and the bandwidth obtained in the compensation phase. It can be seen that bw _ c calculated by the compensation bandwidth calculating means allocates the wasted bandwidth in the tail wasted period of the bandwidth for the previous dynamic bandwidth allocation period.
Step 203: best effort bandwidth (best effort bandwidth) allocation is made for the logical links,
fig. 5 is a flowchart illustrating a second embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method according to the present invention, wherein the second embodiment allocates a best effort bandwidth to any one logical link; when best-effort bandwidth is allocated to any one logical link, the value of the requested bandwidth of the corresponding logical link which is not satisfied after the compensation bandwidth allocation is recorded as Req, the value of the bandwidth which is allowed to be allocated and is left of the corresponding logical link after the compensation bandwidth allocation is recorded as Sleft, the preset weight of the corresponding logical link is recorded as we, the sum of the weights of all the logical links which are not satisfied with the requested bandwidth after the compensation bandwidth allocation is recorded as total _ we, the priority weight leakage bucket of the corresponding logical link is set as token _ pw, the bandwidth speed limiting leakage bucket of the corresponding logical link is set as token _ b, the minimum threshold value of best effort which is allocated to the corresponding logical link each time is recorded as thre _ bmin, the maximum threshold value of best-effort bandwidth which is allocated to the corresponding logical link each time is recorded as thre _ bmax, and the value of best-effort bandwidth which is allocated to the corresponding logical link in the current DBA period is recorded as be _ pure-effort bandwidth.
Here, when the bandwidth actually allocated to the corresponding logical link after the compensation bandwidth allocation is greater than or equal to the requested bandwidth of the corresponding logical link, the value Req of the requested bandwidth of the corresponding logical link that has not been satisfied after the compensation bandwidth allocation is 0, and when the bandwidth actually allocated to the corresponding logical link after the compensation bandwidth allocation is less than the requested bandwidth of the corresponding logical link, the value Req of the requested bandwidth of the corresponding logical link that has not been satisfied after the compensation bandwidth allocation is a difference value obtained by subtracting the bandwidth actually allocated to the corresponding logical link after the compensation bandwidth allocation from the requested bandwidth of the corresponding logical link; for example, the bandwidth actually allocated to the corresponding logical link after the current DBA cycle is subjected to the bandwidth compensation allocation is A3, and the requested bandwidth of the logical link corresponding to the current DBA cycle is a4, and then the value Req of the requested bandwidth of the corresponding logical link, which is not yet satisfied after the bandwidth compensation allocation, is a 4-A3.
It is understood that after the bandwidth allocation is compensated, the requested bandwidth of any one logical link may or may not be satisfied; when the requested bandwidth of any logical link is less than or equal to the bandwidth actually allocated to the corresponding logical link after the bandwidth allocation compensation, it indicates that the requested bandwidth of any logical link may have been satisfied after the bandwidth allocation compensation; otherwise, the bandwidth request of any one logical link is not satisfied after the bandwidth allocation is compensated.
Here, a weight may be preset for each logical link, and the sum of the weights of the logical links that the bandwidth is requested to satisfy after the bandwidth allocation is compensated is total _ we; in practical applications, the weight of each logical link may be set in the SLA table, and the corresponding weight may be set according to the requested bandwidth of each logical link, for example, the weight of the logical link is proportional to the size of the requested bandwidth of the logical link.
token _ pw represents a priority weight leaky bucket of the corresponding logical link, the token _ pw cannot exceed bw _ b × num, the size of the token _ pw is related to a third bandwidth configuration value bw _ b preconfigured by the corresponding logical link, and the token _ pw is used for recording a best effort bandwidth allocated according to weight allowance after a previous DBA cycle and deducting a bandwidth used in the previous period. If token _ pw exceeds bw _ b × num, it indicates that the best effort bandwidth allowed to be allocated by the latest corresponding logical link is sufficient, at this time, the best effort bandwidth may automatically overflow, that is, when token _ pw exceeds bw _ b × num, token _ pw is made to be bw _ b × num; further, when the priority weight leaky bucket of the logical link corresponding to the current DBA cycle overflows, best-effort bandwidth allocation is not performed on the corresponding logical link in the next DBA cycle.
token _ b represents a bandwidth speed-limiting leaky bucket of the corresponding logical link, the maximum value of the token _ b leaky bucket is greater than the maximum value of the token _ pw, and the token _ b is used for playing a role of limiting the speed leaky bucket and ensuring that the best-effort bandwidth allocated to any one logical link does not exceed a preconfigured third bandwidth configuration value bw _ b.
Here, the purpose of setting the minimum threshold value thre _ bmin is to prevent the best effort bandwidth from being frequently allocated, causing overhead waste and bandwidth tail waste, where the overhead caused when allocating the guaranteed bandwidth each time includes, but is not limited to, layer _ on overhead, layser _ off overhead, sync _ time overhead; setting the maximum threshold value thre _ max can prevent the situation that the best-effort bandwidth of other logical links in the current DBA cycle cannot be allocated due to the fact that the best-effort bandwidth allocated to the corresponding logical link in a single time is too large.
Referring to fig. 5, the process of performing best effort bandwidth allocation for any one logical link includes:
step 2031: the best effort bandwidth bw _ pw allowed to be allocated to the corresponding logical link is obtained.
Specifically, according to the value Sleft of the remaining allowable allocated bandwidth of the corresponding logical link after the compensation bandwidth allocation, the sum total _ we of the weights of all logical links that have not yet satisfied the requested bandwidth after the compensation bandwidth allocation, and the preset weight we of the corresponding logical link, the best effort bandwidth bw _ pw allowed to be allocated for the corresponding logical link is obtained, and bw _ pw is (we/total _ we)' Sleft.
Step 2032: and judging whether the Req is less than or equal to token _ pw, if so, jumping to the step 2033, otherwise, jumping to the step 2034.
Here, if Req is equal to or less than token _ pw, it indicates that Req can be satisfied in the best effort bandwidth allocation stage, and if Req is greater than token _ pw, it indicates that Req cannot be satisfied in the best effort bandwidth allocation stage.
Step 2033: judging whether Req is greater than thre _ bmax or not, if the Req is greater than thre _ bmax, then be _ pure is thre _ bmax, and allocating best effort bandwidth with the size of thre _ bmax to a corresponding logical link; if Req is less than or equal to thre _ bmax, be _ pure is Req, the best effort bandwidth with the size Req is allocated to the corresponding logical link, and after allocating the best effort bandwidth to the corresponding logical link, the process jumps to step 2035.
Here, when Req is greater than thre _ bmax, in order to prevent the situation that the best effort bandwidth of other logical links in the current DBA cycle cannot be allocated due to the excessively large best effort bandwidth allocated for a single logical link, only the bandwidth allocation request with the size of thre _ bmax can be satisfied, and the bandwidth allocation request exceeding thre _ bmax is temporarily not satisfied in the current DBA allocation; if Req is less than or equal to thre _ bmax, it indicates that Req can be satisfied during the best effort bandwidth allocation phase.
Step 2034: judging whether token _ pw is greater than thre _ bmax, if yes, be _ pure is thre _ bmax, and allocating best effort bandwidth with the size of thre _ bmax to a corresponding logical link; if token _ pw is not greater than thre _ bmax, judging whether token _ pw is greater than or equal to thre _ bmin, if token _ pw is greater than or equal to thre _ bmin, be _ pure is token _ pw, and allocating best effort bandwidth with the size of token _ pw to a corresponding logical link; if token _ pw is less than thre _ bmin, be _ pure is 0, and the best effort bandwidth is not allocated to the corresponding logical link.
Then, the process goes to step 2035.
Step 2035: token _ b and token _ pw are updated.
Specifically, updating token _ b and token _ pw may include: adding the token _ b to the bw _ b, and then subtracting the be _ pure to obtain an updated token _ b; then, judging whether the sum of token _ pw and bw _ pw is greater than token _ b, and if so, taking the token _ b as the updated token _ pw; if the sum of token _ pw and bw _ pw is less than or equal to token _ b, subtracting be _ pure from token _ pw and adding bw _ pw to obtain updated token _ pw.
Further, step 2035 may further comprise: and obtaining the bandwidth which is actually distributed for the corresponding logic link after fixed bandwidth distribution, guaranteed bandwidth distribution, compensation bandwidth distribution and best-effort bandwidth distribution.
Referring to the first embodiment of the present invention, the granted bandwidth allocated to each logical link according to the second bandwidth allocation policy is the best effort bandwidth allocated to the corresponding logical link according to step 203.
According to the four bandwidth allocation steps, it can be seen that the compensation bandwidth and the best effort bandwidth are not necessarily the bandwidth allocated to the corresponding logical link, and the compensation bandwidth and the best effort bandwidth can be allocated to the corresponding logical link only when the corresponding logical link meets the corresponding condition.
Step 204: and judging whether the next DBA period arrives, if not, continuing to wait, and returning to the step 200 when the next DBA period arrives to perform corresponding dynamic allocation again.
Before step 204, a corresponding future uplink timeslot of each logical link may also be obtained, and then a sending time start _ time of a gate frame is calculated according to an expected arrival time exp _ up _ burst _ time of the future burst, where the start _ time is exp _ up _ burst _ time-RTT, and the RTT is round-trip delay; then, generating a gate frame corresponding to the logical link according to the sending time start _ time of the gate frame; after gate frames for all logical links are derived, step 204 is performed.
Further, in the second embodiment of the present invention, in order to avoid the problem of bandwidth waste caused by the tail of the bandwidth allocated by the EPON being less than one complete packet, when bandwidth allocation is performed at the beginning of one DBA cycle, it is necessary to acquire accurate information of the ONUbuffer header. The accurate information of the ONU buffer header mainly refers to the grant _ length required by the first several data packets to be uploaded by the ONU. Therefore, when the OLT receives a new report message through the logical link, bandwidth allocation of the current DBA cycle is performed, otherwise bandwidth allocation of the current DBA cycle is not performed.
Meanwhile, when the report message is discarded abnormally, in order to ensure that the bandwidth can be allocated continuously, an allocation interval report _ max _ interval needs to be set, if a new report message is received in report _ max _ interval DBA periods which are up to the current DBA period, the bandwidth allocation of the current DBA period is performed, otherwise, after the report _ max _ interval periods started from the last reception of the report message are ended, the bandwidth allocation is performed on the corresponding DBA period. Therefore, the problem of bandwidth waste caused by the fact that the tail part of the bandwidth allocated by the EPON is not enough for a complete data packet is avoided as much as possible, and meanwhile, the reliability of dynamic bandwidth allocation is improved. Here, the report _ max _ interval does not need to be set to be large, as long as it can be determined that the report message is discarded abnormally.
Third embodiment
In order to further embody the object of the present invention, the second embodiment of the present invention is further illustrated.
The third embodiment of the present invention provides a method for allocating an uplink dynamic bandwidth of an ethernet passive optical network, which is basically the same as the second embodiment of the present invention, and the differences are mainly as follows: and calculating the size of the compensation bandwidth.
In the third embodiment of the present invention, the process of calculating the compensation bandwidth value runs through the bandwidth allocation step of the whole DBA cycle, and in order to realize the calculation of the compensation bandwidth, one traffic statistic device and one traffic compensation device may be provided.
Here, the traffic statistic device is configured to count traffic actually uploaded through each logical link, and for any logical link, the data traffic actually uploaded through the logical link is recorded as up _ statistics, and an initial value of the up _ statistics is 0; in practical applications, each time a packet is uploaded through a corresponding logical link, the value of up _ statistics is accumulated by pkt _ len, ipg _ len, and premble _ len, where pkt _ len represents the data length of the uploaded packet, ipg _ len represents the frame space length, premble _ len represents the preamble length corresponding to the uploaded packet, e.g., ipg _ len equals 12, and premble _ len equals 8.
Next, the start time of counting the traffic actually uploaded through each logical link will be described. The OLT may be provided with a DBA module for calculating a grant _ length in the GATE frame, and when calculating a start time start _ time of a traffic actually uploaded through a corresponding logical link, the OLT may gradually divide a future upstream timeslot, and for each GATE entry, a burst future upstream time exp _ up _ burst _ time corresponding to the GATE frame may be calculated in advance, so that the exp _ up _ burst _ time may be determined; in order to ensure the accuracy of the traffic statistics, when a certain logical link needs to perform bandwidth compensation allocation, it needs to indicate an up _ status _ clear _ ind to a Gate frame of a corresponding logical link, after calculating a burst future uplink time exp _ up _ burst _ time corresponding to a Gate frame, after the future uplink time exp _ up _ burst _ time arrives, clearing 0 a data traffic actually uploaded through the corresponding logical link, and then starting to count the traffic actually uploaded through each logical link, where the actual allocated bandwidth for the corresponding logical link also starts to count at a time when the next actually allocated bandwidth for the corresponding logical link is greater than 0.
And the flow compensation device is used for calculating the total actually-allocated bandwidth for the corresponding logical link in the current DBA period and obtaining the numerical value of the compensation bandwidth of the next DBA period based on the actually-allocated authorized bandwidth for the corresponding logical link in the current DBA period and the actually-uploaded data flow of each logical link.
The flow of the compensation bandwidth calculation is explained by using fig. 6, fig. 6 is a flow chart of the compensation bandwidth calculation in the third embodiment of the ethernet passive optical network uplink dynamic bandwidth allocation method of the present invention, as shown in fig. 6, the flow chart includes:
step 301: after the fixed bandwidth allocation step, the fixed bandwidth actually allocated for the corresponding logical link is obtained, and the value of the compensation enable cm _ en is set.
Here, the fixed bandwidth actually allocated to the corresponding logical link obtained in the fixed bandwidth allocating step does not include overhead, and the fixed bandwidth actually allocated to the corresponding logical link obtained in the fixed bandwidth allocating step is recorded as fix _ pure; according to step 200, when the current DBA cycle can allocate a fixed bandwidth, fix _ pure ═ fix _ bw _ cnt; when the current DBA period is a DBA period to which a fixed bandwidth cannot be allocated, fix _ pure is 0.
Here, the compensation enable cm _ en takes a value of 0 or 1, and when the compensation enable is 0, the bandwidth compensation function is turned off, and after step 200, if req is smaller than bw _ fix _ cnt + token _ a + token _ pw, cm _ en is set to 0, so that the bandwidth compensation function is in a turned-off state; on the contrary, if req is not less than bw _ fix _ cnt + token _ a + token _ pw, the compensation enable cm _ en remains unchanged.
After setting the value of the compensation enable cm _ en according to the size relationship between req and bw _ fix _ cnt + token _ a + token _ pw, if the bandwidth compensation function is in an off state and the fixed bandwidth allocated in the fixed bandwidth allocation step cannot meet the bandwidth req requested by the corresponding logical link, setting cm _ en to 1, and starting the bandwidth compensation function.
Step 302: and after the step of allocating the guaranteed bandwidth, obtaining the guaranteed bandwidth actually allocated to the corresponding logical link, and updating the value of the compensation enable cm _ en.
Here, the guaranteed bandwidth actually allocated to the corresponding logical link does not include overhead, the value of the guaranteed bandwidth allocated to the corresponding logical link in the current DBA cycle is denoted as ass _ pure, and when the bandwidth compensation function is in an off state and the bandwidth actually allocated after the guaranteed bandwidth allocation step cannot satisfy the requested bandwidth of the corresponding logical link, cm _ en is set to 1, and the bandwidth compensation function is started.
Specifically, based on step 201, when req is equal to or less than token _ a and req is greater than thre _ max, cm _ en is set to 1; when req is less than or equal to token _ a and req is less than or equal to thre _ max, keeping cm _ en unchanged; when req is larger than token _ a and token _ a is larger than or equal to thre _ min, setting cm _ en to be 1; when req is greater than token _ a and token _ a is less than thre _ min, set cm _ en to 0.
Step 303: and performing compensation bandwidth allocation for the logical link.
This step is implemented in the same manner as step 202 and is not repeated here.
Step 304: and after the step of best-effort bandwidth allocation, obtaining the best-effort bandwidth allocated to the corresponding logical link in the current DBA period, and updating the value of the compensation enable cm _ en.
Here, the best effort bandwidth allocated to the corresponding logical link does not include overhead, the value of the best effort bandwidth allocated to the corresponding logical link in the current DBA cycle is recorded as be _ pure, and when the bandwidth compensation function is in an off state and the bandwidth actually allocated after the best effort bandwidth allocation step cannot satisfy the bandwidth requested by the corresponding logical link, cm _ en is set to 1, and the bandwidth compensation function is started.
Specifically, based on step 203, when Req is equal to or less than token _ pw and Req is greater than thre _ bmax, cm _ en is set to 1; when the Req is less than or equal to token _ pw and the Req is less than or equal to thre _ bmax, the cm _ en is kept unchanged; when the Req is larger than token _ pw and the token _ pw is larger than or equal to thre _ bmin, setting cm _ en to be 1; cm _ en remains unchanged when Req is greater than token _ pw and token _ pw is less than thre _ bmin.
Step 305: and obtaining the authorized bandwidth actually allocated to the corresponding logical link in the current DBA period.
Specifically, the value of the granted bandwidth actually allocated to the corresponding logical link in the current DBA cycle is denoted as bw _ pure, and bw _ pure is fix _ pure + ass _ pure + be _ pure,
further, the value of the granted bandwidth actually allocated for the corresponding logical link in the next cycle is denoted as bw _ pure _ next, and bw _ pure _ next is bw _ pure + fix _ pure + ass _ pure + be _ pure.
Step 306: and calculating to obtain a value bw _ c of the compensation bandwidth.
Specifically, obtaining a value of a compensation bandwidth leaky bucket token _ c, wherein an initial value of the compensation bandwidth leaky bucket token _ c is an initial _ token _ c; the process of deriving the value of the compensation bandwidth leaky bucket token _ c may include: if the current time cm _ en is 1, token _ c _ clear _ flag needs to be set to 1, and token _ c is initial _ token _ c; if the current cm _ en is 0, in the working process of the flow compensation function, carrying out balance work of flow statistics and actually issued bandwidth, and at this time, token _ c is token _ c _ next token _ c + bw _ pure-up _ statistics.
After token _ c is derived, if token _ c is greater than the intra _ token _ c, the value of the compensation bandwidth bw _ c is the difference obtained by subtracting the intra _ token _ c from token _ c, whereas if token _ c is not greater than the intra _ token _ c, the value of the compensation bandwidth bw _ c is equal to 0.
Fourth embodiment
A fourth embodiment of the present invention provides an EPON uplink DBA apparatus based on the EPON uplink DBA method provided in the first embodiment of the present invention.
Fig. 7 is a schematic diagram of a component structure of an EPON uplink DBA apparatus according to an embodiment of the present invention, and as shown in fig. 7, the apparatus includes: a first distribution module 401 and a second distribution module 402, wherein,
a first allocation module 401, configured to allocate, in a current DBA period, an authorized bandwidth for each logical link according to a preset first bandwidth allocation policy;
a second allocating module 402, configured to allocate a complementary bandwidth for a logical link whose authorized bandwidth allocated according to the first bandwidth allocation policy is greater than 0; the compensation bandwidth is obtained by subtracting the data traffic actually uploaded by the corresponding logical link in the previous DBA period from the authorized bandwidth allocated to the corresponding logical link in the previous DBA period.
Specifically, the first allocating module 401 is configured to allocate, when the requested bandwidth of the corresponding logical link is greater than the set bandwidth allocation threshold, an authorized bandwidth whose size does not exceed the bandwidth allocation threshold for the corresponding logical link; and when the request bandwidth of the corresponding logical link is less than or equal to the set bandwidth allocation threshold, allocating the authorized bandwidth for the corresponding logical link according to the request bandwidth of the corresponding logical link.
Further, the second allocating module 402 is further configured to allocate a compensation bandwidth to the corresponding logical link when the authorized bandwidth allocated to the corresponding logical link according to the first bandwidth allocation policy is equal to 0 and the value of the compensation bandwidth is greater than a preset compensation bandwidth allocation threshold.
Further, the apparatus further comprises a third assignment module 403; the third allocating module 403 is configured to, after allocating the compensation bandwidth, allocate an authorized bandwidth to the corresponding logical link according to a preset second bandwidth allocation policy when the corresponding logical link still has a remaining bandwidth allowed to be allocated.
Specifically, the third allocating module 403 is configured to obtain the authorized bandwidth allowed to be allocated by the corresponding logical link according to the value of the remaining bandwidth allowed to be allocated of the corresponding logical link after bandwidth compensation is allocated, the sum of the weights of all logical links that have not yet satisfied the requested bandwidth after bandwidth compensation is allocated, and the preset weight of the corresponding logical link; and allocating the authorized bandwidth for the corresponding logical link based on the authorized bandwidth allowed to be allocated by the corresponding logical link.
In practical applications, the first distributing module 401, the second distributing module 402, and the third distributing module 403 may be implemented by a Central Processing Unit (CPU), a microprocessor Unit (MPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), or the like located in the OLT.
Fifth embodiment
A fifth embodiment of the present invention provides an OLT including any one of the EPON uplink DBA apparatuses in the fourth embodiment of the present invention.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention.

Claims (10)

1. An Ethernet Passive Optical Network (EPON) uplink Dynamic Bandwidth Allocation (DBA) method is characterized by comprising the following steps:
in the current DBA period, distributing authorized bandwidth for each logical link according to a preset first bandwidth distribution strategy;
and allocating a compensation bandwidth for the logic link of which the authorized bandwidth allocated according to the first bandwidth allocation strategy is greater than 0, wherein the compensation bandwidth is obtained by subtracting the data traffic actually uploaded by the corresponding logic link in the previous DBA period from the authorized bandwidth allocated to the corresponding logic link in the previous DBA period.
2. The method of claim 1, wherein after allocating the backoff bandwidth, the method further comprises:
and when the corresponding logical link has the remaining bandwidth allowed to be allocated, allocating the authorized bandwidth for the corresponding logical link according to a preset second bandwidth allocation strategy.
3. The method according to claim 2, wherein the allocating the authorized bandwidth for the corresponding logical link according to the preset second bandwidth allocation policy includes:
obtaining the authorized bandwidth which is allowed to be allocated by the corresponding logical link according to the value of the remaining bandwidth which is allowed to be allocated and corresponds to the logical link after the bandwidth is allocated through compensation, the sum of the weights of all the logical links which do not meet the requirement bandwidth after the bandwidth is allocated through compensation and the preset weight of the corresponding logical link; and allocating the authorized bandwidth for the corresponding logical link based on the authorized bandwidth allowed to be allocated by the corresponding logical link.
4. The method of claim 1, further comprising:
and when the authorized bandwidth allocated to the corresponding logical link according to the first bandwidth allocation strategy is equal to 0 and the value of the compensation bandwidth is greater than a preset compensation bandwidth allocation threshold, allocating the compensation bandwidth to the corresponding logical link.
5. The method according to any one of claims 1 to 4, wherein the allocating the authorized bandwidth for each logical link according to the preset first bandwidth allocation policy comprises:
when the request bandwidth of the corresponding logical link is larger than the set bandwidth allocation threshold, allocating an authorized bandwidth with the size not exceeding the bandwidth allocation threshold for the corresponding logical link;
and when the request bandwidth of the corresponding logical link is less than or equal to the set bandwidth allocation threshold, allocating the authorized bandwidth for the corresponding logical link according to the request bandwidth of the corresponding logical link.
6. Ethernet Passive Optical Network (EPON) uplink Dynamic Bandwidth Allocation (DBA) device, characterized in that the device comprises a first allocation module and a second allocation module, wherein,
the first allocation module is used for allocating authorized bandwidth for each logical link in the current DBA period according to a preset first bandwidth allocation strategy;
a second allocating module, configured to allocate a complementary bandwidth for a logical link whose authorized bandwidth allocated according to the first bandwidth allocation policy is greater than 0; the compensation bandwidth is obtained by subtracting the data traffic actually uploaded by the corresponding logical link in the previous DBA period from the authorized bandwidth allocated to the corresponding logical link in the previous DBA period.
7. The apparatus of claim 6, further comprising a third distribution module; and the third allocating module is configured to, after allocating the compensation bandwidth, allocate the authorized bandwidth to the corresponding logical link according to a preset second bandwidth allocation policy when the corresponding logical link still has a remaining bandwidth allowed to be allocated.
8. The apparatus according to claim 7, wherein the third allocating module is specifically configured to obtain the granted bandwidth allowed to be allocated to the corresponding logical link according to a value of a remaining bandwidth allowed to be allocated to the corresponding logical link after the bandwidth compensation allocation, a sum of weights of all logical links that have not yet satisfied the requested bandwidth after the bandwidth compensation allocation, and a preset weight of the corresponding logical link; and allocating the authorized bandwidth for the corresponding logical link based on the authorized bandwidth allowed to be allocated by the corresponding logical link.
9. The apparatus of claim 6, wherein the second allocating module is further configured to allocate the backoff bandwidth for the corresponding logical link when the granted bandwidth allocated for the corresponding logical link according to the first bandwidth allocation policy is equal to 0 and a value of the backoff bandwidth is greater than a preset backoff bandwidth allocation threshold.
10. The apparatus according to any one of claims 6 to 9, wherein the first allocating module is specifically configured to, when the requested bandwidth of the corresponding logical link is greater than a set bandwidth allocation threshold, allocate, to the corresponding logical link, an authorized bandwidth whose size does not exceed the bandwidth allocation threshold; and when the request bandwidth of the corresponding logical link is less than or equal to the set bandwidth allocation threshold, allocating the authorized bandwidth for the corresponding logical link according to the request bandwidth of the corresponding logical link.
CN201610177786.3A 2016-03-24 2016-03-24 Method and device for allocating uplink bandwidth of Ethernet passive optical network Active CN107231248B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610177786.3A CN107231248B (en) 2016-03-24 2016-03-24 Method and device for allocating uplink bandwidth of Ethernet passive optical network
PCT/CN2017/077938 WO2017162195A1 (en) 2016-03-24 2017-03-23 Bandwidth allocation method and device for link, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610177786.3A CN107231248B (en) 2016-03-24 2016-03-24 Method and device for allocating uplink bandwidth of Ethernet passive optical network

Publications (2)

Publication Number Publication Date
CN107231248A CN107231248A (en) 2017-10-03
CN107231248B true CN107231248B (en) 2020-05-19

Family

ID=59899265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610177786.3A Active CN107231248B (en) 2016-03-24 2016-03-24 Method and device for allocating uplink bandwidth of Ethernet passive optical network

Country Status (2)

Country Link
CN (1) CN107231248B (en)
WO (1) WO2017162195A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115118603B (en) * 2022-06-21 2023-08-08 烽火通信科技股份有限公司 Bandwidth allocation method, system and device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941681A (en) * 2005-09-30 2007-04-04 财团法人工业技术研究院 Internet wide band distribution
CN101039214A (en) * 2006-03-17 2007-09-19 华为技术有限公司 Method and system for distributing dynamically bandwidth resource
CN101729939A (en) * 2008-10-31 2010-06-09 中兴通讯股份有限公司 Method and system for distributing passive optical network bandwidth
CN101742368A (en) * 2009-12-09 2010-06-16 华为技术有限公司 Bandwidth allocation method and device in Ethernet passive optical network
CN103391585A (en) * 2012-05-07 2013-11-13 中兴通讯股份有限公司 Bandwidth regulating method and device
WO2013189017A1 (en) * 2012-06-18 2013-12-27 中兴通讯股份有限公司 Dynamic bandwidth allocation method, device and system
CN103684866A (en) * 2013-12-16 2014-03-26 和记奥普泰通信技术有限公司 Dynamic bandwidth allocation method for Ethernet passive optical network

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8755284B2 (en) * 2009-08-28 2014-06-17 Lg Electronics Inc. Method and apparatus for requesting bandwidth in a wireless communication system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1941681A (en) * 2005-09-30 2007-04-04 财团法人工业技术研究院 Internet wide band distribution
CN101039214A (en) * 2006-03-17 2007-09-19 华为技术有限公司 Method and system for distributing dynamically bandwidth resource
CN101729939A (en) * 2008-10-31 2010-06-09 中兴通讯股份有限公司 Method and system for distributing passive optical network bandwidth
CN101742368A (en) * 2009-12-09 2010-06-16 华为技术有限公司 Bandwidth allocation method and device in Ethernet passive optical network
CN103391585A (en) * 2012-05-07 2013-11-13 中兴通讯股份有限公司 Bandwidth regulating method and device
WO2013189017A1 (en) * 2012-06-18 2013-12-27 中兴通讯股份有限公司 Dynamic bandwidth allocation method, device and system
CN103684866A (en) * 2013-12-16 2014-03-26 和记奥普泰通信技术有限公司 Dynamic bandwidth allocation method for Ethernet passive optical network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Adaptive Dynamic Bandwidth Allocation Scheme for Multiple-Services in 10G-EPON System.;Masaki Tanaka et al.;《 2011 IEEE International Conference on Communications (ICC)》;20110729;全文 *
EPON上行接入带宽分配算法研究.;郭俊娜.;《中国优秀硕士学位论文全文数据库信息科技辑2009年》;20090115(第1期);全文 *

Also Published As

Publication number Publication date
WO2017162195A1 (en) 2017-09-28
CN107231248A (en) 2017-10-03

Similar Documents

Publication Publication Date Title
KR100832531B1 (en) Dynamic bandwidth allocation apparatus and method in Ethernet Passive Optical Network, and EPON master apparatus using the same
US8913549B2 (en) Congestion control in an optical line terminal
US20160080208A1 (en) Master station device, slave station device, optical communication system, control device, and bandwidth allocation method
US8639117B2 (en) Apparatus and method for allocating dynamic bandwidth
KR100950337B1 (en) Apparatus and method efficient dynamic bandwidth allocation for TDMA based passive optical network
US20220131610A1 (en) Network control device, communication resource allocation method, and communication system
EP2234340B1 (en) Band allocation method and passive optical communication network system
KR20140021540A (en) Optimized dynamic bandwidth scheduler
WO2011017992A1 (en) Bandwidth allocation method and optical line terminal
WO2012009997A1 (en) Bandwidth allocation method and apparatus
US10735129B2 (en) Bandwidth allocation apparatus and method for providing low-latency service in optical network
CN111464890B (en) Dynamic bandwidth allocation method for network slice and OLT (optical line terminal)
CN112887107B (en) Bandwidth allocation method and system and optical line terminal
CN109428827B (en) Flow self-adaptive cache allocation device and method and ONU (optical network Unit) equipment
Han Dynamic bandwidth allocation with high utilization for XG-PON
CN104348753B (en) Data packet forwarding method and packet transfer device, packet
WO2016050022A1 (en) Method, device, system and computer storage medium for allocating uplink bandwidth
CN107231248B (en) Method and device for allocating uplink bandwidth of Ethernet passive optical network
WO2024077988A1 (en) Configuration information sending method and apparatus, and storage medium and electronic apparatus
CN113596628A (en) Service transmission method, device, sending end and storage medium
CN109286580B (en) Uplink bandwidth allocation method and device for passive optical network
JP4877483B2 (en) Transmission allocation method and apparatus
JP2004336578A (en) Point-multipoint optical transmission system and station-side communication device
CN113873361A (en) Configuration method for uplink service transmission capability of ONU (optical network Unit) and optical line terminal
KR102288487B1 (en) Traffic explosion resolving apparatus and method for sdn-based passive optical networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant