A Priority Mechanism for the IEEE 802.3ah EPON
Ahmed E. Kamal
Brian F. Blietz
Department of Electrical and Computer Engineering
Iowa State University
Ames, IA 50011-2252
{kamal,bblietz}@iastate.edu
Abstract—In first mile networks, traffic may belong to different
priority classes, which have different levels of delivery urgency. In
this paper we introduce a mechanism for network wide prioritized
access in IEEE 802.3ah EPONs which use the MPCP protocol. The
mechanism is simple, and is compatible with the standard MPCP
protocol. The basic ONU protocol does not have to be changed,
while the protocol used at the OLT side requires little, and simple
changes. Several objectives of priority mechanisms are stated, and
the developed mechanism is shown to satisfy the stated objectives
through a simulation study. The proposed protocol can be used
with any dynamic bandwidth algorithm for EPONs.
I. I NTRODUCTION
The Passive Optical Network (PON) was introduced as a
simple, inexpensive, and reliable approach to provide access
to backbone networks by a steadily growing number of users
[1], [2], [3], [4]. A PON consists of a number of units, called
Optical Network Units (ONUs), which are used to provide access to the network for a number of users. Each ONU transmits
the data it collects from its users to the backbone according to
a schedule determined by a device called the Optical Line Terminal (OLT). The network topology between the OLT and the
ONUs assumes a point-to-multipoint shape, as shown in Figure
1. The ONUs are connected to a passive coupler/splitter, which
ONU1
ONU
2
ONU N
OLT
coupler/splitter
Fig. 1. A typical Passive Optical Network (PON).
in turn connects to the OLT. Communication from the OLT to
the ONUs is regarded as downstream communication, and is
implemented in a point-to-multipoint mode. However, communication between the ONUs and the OLT is a point-to-point
mode, and is regarded as upstream transmission. Upstream
transmission is initiated according to control messages sent by
the OLT to the ONUs, based on requests made by the ONUs,
as will be described in the next section. The OLT can allocate bandwidth using a fixed strategy [5], [6], limited or gated
strategy [6], or a dynamic on-demand strategy that takes into
account ONU queue information and requests [7], [8]. A recent account of Dynamic Bandwidth Allocation (DBA) strategies for PONs is available in [9].
It should be mentioned that, since downstream and upstream
traffic are carried on the same fiber, albeit in different directions, they use different wavelengths, typically, the 1310 nm
band for upstream transmission, and 1550 nm for downstream
transmission. Also, users attached to an ONU continue to use
their legacy IEEE 802.3 devices, hence the name Ethernet PON
(EPON).
Traffic generated by EPON users may belong to different
service classes, and may require different types of handling.
For this reason, access networks should offer prioritized access
to different classes of traffic. The MultiPoint Control Protocol (MPCP), which is the access control protocol recently standardized by the IEEE 802.3ah working group for first mile networks [10], has a provision to report on traffic queued in eight
queues, that may belong to different users, or to different priority classes. However, the standard does not yet provide a strategy for prioritized access and transmission of such traffic. Most
strategies which have been defined for prioritized access are implemented through bandwidth allocation at the OLT, e.g., [11],
[7], [12].
This paper proposes an implementation of prioritized transmission on EPONs using the MPCP protocol, which is independent of the DBA algorithm, but can be utilized by any such
DBA mechanism. The protocol is simple, backward compatible
with the MPCP protocol, and does not require any changes to
the MPCP protocol used by the ONUs. The only modification
required is at the OLT side, which is also very minimal.
There are two things to be noted about the prioritized access
proposal in this paper. First, it is different from Static Bandwidth Allocation (SBA) in a static TDMA manner, e.g., [13].
Our proposal works in an on-demand basis. Second, is that priority is implemented on a network wide basis (i.e., inter ONU),
rather than on a node wide basis (i.e., intra ONU). That is,
higher priority packets queued anywhere in the network, should
be served before lower priority packets, even those which have
been queued before them, and on a non-preemptive basis.
0-7803-8939-5/05/$20.00 (C) 2005 IEEE
The organization of this paper is as follows. In Section II
we describe the standard MPCP protocol, which is the basis
of our prioritized access protocol. In Section III we state the
objectives behind priority access protocols, and then describe
our proposed protocol. An example is also given. In Section IV
we provide some simulation results which show the behavior
of the proposed protocol, and verify that it satisfies the stated
objectives. Section V concludes the paper with a few remarks.
II. T HE MPCP P ROTOCOL
There are two modes of operation of MPCP: the autodiscovery, or initialization, and normal operation. The autodiscovery mode is used by the OLT to detect newly connected
ONUs, and to learn the round-trip delays between the OLT and
the new ONU. It is also used to learn the MAC address of the
ONU, as well as assign a unique ONU ID to the new ONU. We
do not elaborate further on this mode since it will not change
under prioritized access.
Under the normal mode of operation, registered ONUs request certain shares of the bandwidth, and are granted such requests by the OLT in a collision free manner.
We consider downstream and upstream transmissions.
Downstream Transmission
Downstream transmission is implemented using a broadcast
mode, where the signal is split at the passive coupler, and delivered to all ONUs. The 802.3 frames are delivered to the users
behind the ONUs using address filteration.
Upstream Transmission
Upstream transmission uses a dynamic TDMA mode, where
each ONU is allocated a time slot, and the slot duration is determined by the OLT, where multiple frames may be transmitted.
The time slot allocated to ONUi , for 1 ≤ i ≤ N , where N is
the number of ONUs, is advertised by the OLT using a GATE
message, which is a permission to transmit. The determination
of the transmission duration granted to the ONU is based on
REPORT messages from ONUs which report on the status of
the ONUs’ queues, and on the DBA algorithm adopted [9].
This mode uses the following messages:
• The GATE message, from the OLT to the ONUs, and includes:
– The OLT time at which the GATE message was sent.
– The time at which the ONU should start transmission,
using the OLT time-stamp (to be discussed below).
– The duration for which the ONU can transmit.
• The REPORT message, is sent by the ONU to the OLT at
the end of its transmission cycle, and includes a bit map for
up to 8 queues, and for each ready queue (the corresponding bit is 1), the number of bytes awaiting transmission in
this queue.
Normal operation is described from the OLT and ONU viewpoints.
Upstream transmission: ONU protocol
1) The ONU awaits the arrival of the GATE message, and
then sets its clock to the local timestamp included in
the GATE message. The clock then advances using the
ONU’s local oscillator.
2) When the ONU’s local clock reaches the start time of the
transmission, the ONU will start transmitting for the duration received in the GATE message.
3) At the end of transmission, the ONU sends a REPORT
message to report on messages waiting in its queues.
Upstream transmission: OLT protocol
In order to facilitate the description of the operation of the
OLT, we define the following:
• Sk : scheduling end point at the OLT, i.e., the last point in
time at which the channel has been scheduled.
• RT Ti : round trip time between the OLT and ONUi .
• clock: a running clock reading at the OLT.
• r: the REPORT message transmission time.
• g: a guard time.
Every time the OLT receives a REPORT from ONUi , it performs the following GATE scheduling procedure:
1) Determine the timeslot size, Ti , to be assigned to ONUi .
2) Sk+1 = max(Sk , clock + RTTi ) + Ti + r + g.
3) Send GATEi to ONUi , that includes clock,
max(Sk , clock + RT Ti ) and Ti , which correspond
to ON Ui clock initialization value, transmission grant
start time, and grant duration, respectively.
Step 1 above, in which bandwidth is allocated by the OLT is
beyond the scope of the IEEE 802.3ah task force, and will not
be addressed here.
III. T HE P RIORITIZED MPCP P ROTOCOL
Before we describe our protocol, we list the requisites of an
effective priority mechanism:
1) Higher priority traffic should encounter an average access
delay that is significantly less than that encountered by
lower priority traffic.
2) The access delay of higher priority traffic should be upper
bounded.
3) In the presence of heavy low priority load, nodes with
higher priority traffic should be able to satisfy all their
bandwidth requirements (even up to the network capacity), without being adversely affected by the presence of
the low priority traffic. That is, the high priority traffic
sources should be able to completely shut off the lower
priority traffic sources, if needed1 .
Since a REPORT message reports on the status of eight
queues at the ONU, such queues may hold traffic classified according to several classes of priorities, and must be served and
supported by a full priority implementation. In this paper we
outline the implementation of prioritized transmission using P
1 The OLT may decide to allow a minimum bandwidth guarantee for low
priority traffic instead of shutting it completely off.
0-7803-8939-5/05/$20.00 (C) 2005 IEEE
priority levels, where packets in priority level i have a higher
priority than packets in priority level j, for i > j.
Under the protocol, a REPORT message is sent by an ONU
at the beginning of the granted transmission, rather than at the
end.
Our proposal is based on three key concepts:
1) GATE messages for different levels of priority traffic are
transmitted separately, even if they are at the same ONU.
A GATE message for priority level j is referred to as Gj .
However, a REPORT message from an ONU still reports
on all priority queues at the ONU, and each priority level
j report, Rj , will be processed separately.
2) In our prioritized implementation, since low priority
transmissions by the ONUs may have to be delayed (as
will be explained below), a Gj message is transmitted to
the ONU only to arrive at the ONU at the instant when
the ONU is granted permission to transmit. The highest
priority GATE messages, GP , need not be delayed, and
can be transmitted as soon as the RP is processed.
3) A REPORT message containing a Rj causes the Gj messages to be scheduled for transmission, while the transmission of the queued Gl messages for l < j will be delayed to allow for the transmission of the higher j priority
traffic.
Therefore lower priority GATE message transmissions are delayed in favor of transmitting higher priority GATE messages.
The OLT maintains the following variables:
1) The current time, clock.
2) The time required to send a REPORT, r.
3) The guard time, g.
4) The round trip time between the OLT and ONUi , RTTi.
5) The slot size granted for the kth transmission from priority level j, Tkj , as determined by a DBA algorithm.
6) The Last Scheduled Time for priority j traffic, S j , which
is identical to S used by the basic MPCP protocol, except
that it relates to the transmission of Gj messages.
7) The End of Granted Busy Time, B, which is the end of the
busy time (at the OLT) due to already transmitted GATE
messages from all priority levels.
8) The End of the k th busy period for priority j traffic, Ekj ,
based on transmitted and scheduled Gj messages.
9) The Transmission Instant of the k th GATE message for
priority j traffic, Xkj .
10) An Offset variable, Oj , which is used to delay the transmission of Gl messages, for l < j, because of the transmission of Gj messages.
Since a Gj message is scheduled such that it reaches the ONU
just in time for the ONU to start its transmission, the Gj messages are queued in ascending order of their Xkj variables.
The following two procedures are used:
Procedure ProcessRj
The procedure is executed upon the arrival of the k th Rj . Let
this Rj be from ONUi . The following is implemented:
1) A slot size, Tkj , is determined using a DBA algorithms.
2) S j = max(S j , S j+1 , . . . , S P , B, clock + RT Ti ) +
Tkj +r+g
3) Ekj = S j
4) Xkj = S j − Tkj − r − g − RT Ti
5) Form Gj message number k containing (i, 0, 0, Tkj ).
6) Queue the Gj in order of Xkj .
The priority j slot size is calculated in step 1 based on bandwidth availability and the request Rj . Then, in step 2 the OLT
schedules the j priority level start of transmission at ONUi such
that it arrives at the OLT at the end of the latest scheduled busy
period of equal or higher priority traffic, or as soon as the permission to transmit can be delivered to the ONU, whichever
occurs last. In addition, this arrival instant at the OLT should
not occur any earlier than B. Step 4 schedules the transmission
instant of the Gj such that it arrives at the ONU just in time
for the transmission to start, and the GATE message is constructed (step 5), and queued in order of Gate message transmission times (step 6).
Then, the OLT must delay transmission of the Gl messages,
for l < j, which have been queued, but not yet transmitted:
7) Oj = max(0, S j − B)
8) For all priority levels, l and l < j, do
S l = S l + Oj
For all queued Gl messages, k, do
Ekl = Ekl + Oj
Xkl = Xkl + Oj
Step 7 computes the possible delay introduced by priority j traffic scheduling, which can affect lower priority traffic. This delay is used to adjust S l (step 8), and to delay the transmission
of all queued Gl messages for l < j.
Procedure TxGj
This procedure is executed at the transmission instant of the
oldest queued Gj message. Let this message be the k th Gj
message, i.e., clock = Xkj . The following is executed:
1) Transmit Gj message number k
2) If Ekj > B then
B = Ekj
In step 2, the end of the granted time is updated to the end of the
k th grant period for priority level j, if necessary. For example,
if there are two ONU’s, a and b, and RT Ta >> RT Tb , then
Gj for ON Ua may be sent before Gj for ON Ub , and yet have
j
j
j
EON
Ua >> EON Ub . Therefore, an update of B when G for
ON Ub is transmitted is not necessary.
If the REPORT message contains several reports for different
priority levels, then procedure ProcessRj is executed for all
reports, from the highest to the lowest priority reports.
We now present an example to illustrate the above protocol. Consider an OLT serving three ONUs, ONUa, ONUb and
ONUc. There are two priority levels only, Low (L) and HIGH
(H), for the sake of illustration, and without loss of generality,
consider that a REPORT message contains either an RL , or an
0-7803-8939-5/05/$20.00 (C) 2005 IEEE
Beginning of transmission from ONU
H
ONUc
OLT
S0 S1
S2
1111
0000
H
H
11
00
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
00
11
ONUa
S**
S*
LG message from OLT
S5
S3
End of transmission from ONU
including LR
End of transmission from ONU
including HR
S6
S7
S4
H
HG message from OLT
Grant scheduling at OLT
LP message transmission from ONU
ONUb
HP message transmission from ONU
Fig. 2. An example of MPCP priority scheme.
time
S0
TABLE I
TABLE II
S ERIES OF EVENTS FOR THE EXAMPLE IN F IGURE 2.
P ERFORMANCE RESULTS WITH 50% LOAD ; NO LOW PRIORITY TRAFFIC
Event at OLT
RL from ONUa
S1
RL from ONUb
S2
RL from ONUc
S3
RH
S4
RL from ONUb
S**
XL
ON U c
from ONUa
Action
schedule GL to ONUa such that ONUa’s
message transmission arrives at the OLT at
time S2, and ends at S3
schedule GL to ONUb such that ONUa’s
message transmission arrives at the OLT at
time S3, and ends at S4
schedule GL to ONUc at time S*
• Schedule GH transmission to
ONUa, such that its message arrives at the OLT at time S3 and
ends at S4.
• Reschedule the GL transmission
to ONUc at time S** instead of
S*.
schedule GL transmission to ONUb such
that ONUb’s message transmission arrives
at the OLT at time S6 and ends at S7
send GL to ONUc
RH , but not both. In Figure 2, we initially assume that the last
scheduled instant at the OLT is S2, when the end of transmission from ONUc arrives at the OLT. All REPORTs are of the
low priority level, RL , except the second REPORT from ONUa
which has a higher priority, RH . Then, the series of events
shown in Table I takes place.
IV. P ERFORMANCE R ESULTS
In this section we study the behavior of the proposed priority protocol in order to evaluate its effectiveness. A simulation
model of the prioritized MPCP was developed using the C programming language.
First, we study the protocol performance under steady state.
We assume the presence of eight ONUs, numbered 1 through
8. All ONUs are located at a distance of 10 Km from the OLT,
which corresponds to an RTT value of 0.1 ms for all ONUs. The
offered load (Erlangs)
throughput (Gbps)
avg. access delay (µsec)
max. access delay (µsec)
1
0.125
0.124
243
431
ONU Number
2
3
0.125 0.125
0.124 0.126
256
271
441
447
4
0.125
0.126
259
443
transmission speed is 1 Gbps. The guard band and REPORT
transmission times are collectively equal to 10µsec. The size
of data frames is uniformly distributed between 64 and 1500
bytes, and data frames are generated from a Poisson process.
We assume that there are two priority levels, Low Priority
(LP), and High Priority (HP). ONUs 1, 2, 3 and 4 generate high
priority traffic, while ONUs 5 through 8 generate low priority
packets. The results shown in in C. only ONUs 1, 2, 3 and 4
are active while no low priority ONUs are active. All high priority ONUs evenly, and aggregately generate an offered load of
50%. Since there is no interference from lower priority nodes,
this example shows the best achievable HP traffic ONU performance in terms of throughput, and the mean and maximum
packet access delays.
Table III, shows performance results when the total offered
load is 94%. The low priority traffic load becomes 11% per
ONU, and the high priority traffic is constant at 12.5% per HP
ONU. We show the two cases in which MPCP is applied without and with priority.
From the above, it is clear that the first two objectives of a
priority mechanism which have been stated earlier are satisfied.
That is, the mean access delay for the high priority traffic is considerably less than that of the lower priority one, and is almost
unaffected by the low priority traffic, even when the network
is heavily loaded. As the low priority load increases from 0 to
44%, the increase in the mean and maximum delay for the high
0-7803-8939-5/05/$20.00 (C) 2005 IEEE
TABLE III
P ERFORMANCE RESULTS WITH 94% LOAD : WITH AND WITHOUT PRIORITIZED ACCESS
ONU Number
No
Priority
Priority
offered load (Erlangs)
throughput (Gbps)
average delay (µsec)
maximum delay (µsec)
throughput (Gbps)
average delay (µsec)
maximum delay (µsec)
1
0.125
0.125
596
1,544
0.126
274
724
High Priority
2
3
0.125 0.125
0.124 0.124
454
567
1,469 1,509
0.125 0.125
298
261
712
706
4
0.125
0.126
566
1,481
0.125
282
684
5
0.11
0.110
465
1,613
0.111
1,002
3,334
Low Priority
6
7
0.11
0.11
0.110 0.109
578
462
1,534 1,543
0.109 0.108
855
872
3,257 3,178
8
0.11
0.110
541
1,483
0.110
847
3,149
ONU throughput
V. C ONCLUSIONS
1.0
0.9
This paper has presented an algorithm for scheduling GATE
messages from the OLT to the ONUS in order of priority. The
strategy was shown to work on a network wide basis, i.e., inter ONU, rather than on an ONU basis, i.e., intra ONU. It was
also shown that the strategy can allow the higher priority traffic
to acquire any portion of the bandwidth it requests, and as allowed by the DBA strategy, up to the network bandwidth, and
can therefore shut off the lower priority traffic. The strategy
can be used with any DBA algorithm as a mechanism for implementing prioritized bandwidth allocation.
1L
2L
3H
4H
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
0
100
200
300
400
500
600
700
time (in ms)
Fig. 3. Transient behavior of an EPON with two high priority ONUs and two
low priority ONUs
priority traffic is much less than without priority.
Next we wish to show that this mechanism also satisfies the
third property, viz., that high priority traffic can completely shut
off lower priority traffic, if it needs to.
We assume the presence of four ONUs, 1L , 2L , 3H and
4H 2 , generating LP, LP, HP and HP traffic, respectively. The
same distance and transmission rate parameters used earlier
are used in this example. The traffic generation activities are as
follows (assuming that each ONU requests a 100% utilization):
time (ms)
0
100 200 300 400
500
600
ONU
1L
2L
3H
4H
3H
4H
2L
action
ON ON ON ON OFF OFF OFF
The throughput per ONU is measured over a sliding window
of 4ms, which is twice the maximum GRANT slot size. The
transient behavior of this network is shown in Figure 3.
As the figure shows, when ONUs with the same priority level
are active, they share the available bandwidth evenly. However,
when higher priority traffic is transmitted, the ONUs with the
lower priority traffic can be completely shut off. The above
experiment clearly shows that the third objective is satisfied by
the proposed prioritized MPCP access protocol.
2 The
R EFERENCES
[1] G. Pessavento and M. Kelsey, “Pons for the broadband local loop,” Lightwave, vol. 16, pp. 68–74, Sept. 1999.
[2] B. Lund, “Pon architecture futureprofs ftth,” Lightwave, vol. 16, pp. 104–
107, Sept. 1999.
[3] G. Kramer and G. Pesavento, “Ethernet passive optical network (epon):
Building a next-generation optical access network,” IEEE Communications Magazine, vol. 40, pp. 66–73, Feb. 2002.
[4] J. P. E. Green, “Fiber to the home: The next big broadband thing,” IEEE
Communications Magazine, vol. 42, pp. 100–106, Sept. 2004.
[5] G. Kramer, B. Mukherjee, and G. Pesavento, “Ethernet pon (epon): Design and analysis of an optical access network,” Photonic Network Communications, vol. 3, no. 3, pp. 307–319, 2001.
[6] G. Kramer, B. Mukherjee, and G. Pesavento, “Ipact: A dynamic protocol
for an ethernet pon (epon),” IEEE Communications Magazine, vol. 40,
pp. 74–80, Feb. 2002.
[7] C. A. Assi et al., “Dynamic bandwidth allocation for quality-of-service
over ethernet pons,” IEEE Journal on Selected Areas in Communications,
vol. 21, pp. 1467–1477, Nov. 2003.
[8] K. Son, H. Ryu, S. Chong, and T. Yoo, “Dynamic bandwidth allocation
schemes to improve utilization under non-uniform traffic in ethernet passive optical networks,” in the proceedings of IEEE ICC, 2004.
[9] M. P. McGarry, M. Maier, and M. Reisslein, “Ethernet pons: A survey of
dynamic bandwidth allocation (dba) algorithms,” IEEE Optical Communications, vol. 2, pp. S8–S15, Aug. 2004.
[10] IEEE P802.ah Working Group, “Ethernet in the first mile standard,” June
2004.
[11] S.-I. Choi and J.-D. Huh, “Dynamic bandwidth allocation algorithm for
multimedia services over ethernet pons,” ETRI Jour., vol. 24, pp. 465–68,
Dec. 2002.
[12] J. Xie, S. Jiang, and Y. Jiang, “A dynamic bandwidth allocation scheme
for differentiated services in epons,” IEEE Optical Communications,
vol. 2, pp. S32–S39, Aug. 2004.
[13] H.-S. Lee et al., “A two-step scheduling algorithm to support dual bandwidth allocation policies in an ethernet passive optical network,” ETRI
Journal, vol. 26, pp. 185–188, Apr. 2004.
index on the ONU number is its priority level: L(low) and H(high).
0-7803-8939-5/05/$20.00 (C) 2005 IEEE
© Copyright 2026 Paperzz