Key Technologies of GPON: GEM
GPON Encapsulation Method (GEM): A data frame transport scheme used in GPON systems that is connection-oriented and that supports fragmentation of the network administrator data frames into variable sized transmission fragments.
GEM Related Definitions:
A traffic bearing object within an ONT that represents a group of logical connections, and is treated as a single entity for the purpose of upstream bandwidth assignment on the PON. In the upstream direction, it is used to bear the service traffic. Each T-CONT corresponds to service traffic of one bandwidth type. Each bandwidth type has its own QoS feature.
Each T-CONT is identified by the ALLOC_ID uniquely. The ALLOC_ID ranges from 0 to 4095. It is allocated by OLT i.e. a T-CONT, and can only be used by one ONT per PON interface on the OLT.
A GPON Encapsulation Method (GEM) port is a virtual port for performing GEM encapsulation for transmitting frames between the OLT and the ONT. Each different traffic-class (TC) per UNI is assigned a different GEM Port. Each T-CONT consists of one or more GEM Ports. Each GEM port bears one kind of service traffic i.e. a T-CONT type.
GEM Port ID:
Each GEM Port is identified by a port ID uniquely. The Port ID ranges from 0 to 4095. It is allocated by the OLT, i.e. a GEM port, and can only be used by a single ONT per PON interface on the OLT.
Generic Framing Procedure
For history reason(it is a long story ^-^), GPON looked to the new ITU-T G.7041 Generic Framing Procedure (GFP) as the model for its encapsulation method. GFP allows direct encapsulation of variable length packets without repeating the encapsulation overhead on a regular basis.
- The GFP frame overhead, however, was optimized for point-to-point NE-to-NE links rather type of encapsulated payload frame, whether a frame check sequence (FCS) is used over the payload, and what type of Extension header (if any) is used.
- Applications using GFP were typically expected to rely on higher layer protocols for packet/frame multiplexing, so G.7041defines a second, optional payload header (i.e., the Extension header) for communicating channel/port number information in applications where it’s needed.
- In contrast, since the ONTs and OLT of a PON system can be logically considered as a single NE with the PON fiber functioning as a backplane extension, much of this information is already known through provisioning.
- Since the PON uplink multiplexes multiple client streams, it typically needs a port identifier for each GEM frame. Due to provisioning, the port identifier gives the OLT and ONT adequate knowledge about the type of encapsulated frame.
- Consequently, the GPON standard re-used the basic concepts of GFP but redefined the overhead fields so that their information and bandwidth are optimized for the PON application.
GEM Frame Header
The Payload Length Indicator (PLI) is the primary mechanism for delineating GEM frames and is functionally equivalent to the GFP PLI. The value of the PLI, L, is the number of bytes in the fragment payload area of the GEM frame. The PLI of the first GEM frame in the downstream GTC frame or upstream burst is located at the beginning of the payload area. The next GEM frame will begin L bytes after the header of the current GEM frame. This GEM frame also contains a PLI, and its value can likewise be used to find the beginning of the next GEM frame, and so forth through the remainder of the GPON payload area.
Note that since each GEM partition or payload begins with a GEM header, GEM frames can be delineated immediately at the start of each partition or payload. This feature is especially valuable for the OLT, since the OLT does not need to keep track of the delineation alignment between upstream frames of each ONT separately.
In contrast to GFP, the GEM payload type indicator (PTI) does not identify the type of client data frame encapsulated into the fragment payload area. It only indicates whether this fragment contains the end of the client data frame or if this GEM frame is carrying a GEM OAM message.
The header error check (HEC) comprises a 12-bit BCH-2 code followed by a parity bit that allows detection and correction of transmission errors within the GEM header. The BCH code is a double error correcting BCH (39, 12, 2) code that covers all the header bits except the parity bit. The BCH generator polynomial is x12+x10+x8+x5+x4+x3+1. The parity bit is set to provide an even number of 1s within the header.
In order to provide good transition density to correctly delineate a series of idle frames, the 40-bit header is exclusive ORed with the pattern 0x0xB6AB31E055 prior to transmitting the frame.