09.603GPPGeneral Packet Radio Service (GPRS)GPRS Tunnelling Protocol GPT) across the Gn and Gp InterfaceRelease 1998TS
Tunnels are used to carry encapsulated T-PDUs between a given GSN pair for individual MSs. The key Tunnel ID (TID) which is present in the GTP header shall indicate which tunnel a particular T-PDU belongs to. In this manner, packets are multiplexed and demultiplexed by GTP between a given GSN-GSN pair. The Tunnel ID value to use in the key field shall be established by the Create PDP Context establishment procedure which takes place on the signalling plane.
The maximum size of a T-PDU that may be transmitted without fragmentation by GGSN or the MS is defined in GSM 03.60. The GGSN shall fragment, reject or discard T-PDUs, depending on the PDP type and implementation decisions, directed to the MS if the T-PDU size exceeds the maximum size. The decision if the T-PDUs shall be fragmented or discarded is dependent on the external packet data network protocol.
8.1 Protocol Stack
The GTP protocol carries T-PDUs through the GPRS backbone. T-PDUs are carried in a tunnel between GSN pairs, encapsulated in G-PDUs. A G-PDU is a packet with a GTP header and a T-PDU. The Path Protocol defines the path and the GTP header defines the tunnel. Several tunnels may be multiplexed on a single path. The frames have the following general structure:
Figure 39: Transmission Plane – Protocol Stack
8.1.1 Usage of the GTP Header
For the transmission plane messages the GTP header shall be used as follows:
– SNN flag: The GTP header includes the optional SNDCP N-PDU Number field if the LFN flag is set to 1.
– Message Type shall be set to the decimal value 255 indicating a T-PDU.
– Length: Size of the T-PDU excluding the GTP header size.
– Sequence Number: This value shall be used in order to decide whether or not to discard a received T-PDU, as specified in sub-clause 18.104.22.168 Usage of the Sequence Number.
– SNDCP N-PDU Number: This field shall be included if and only if the SNN flag is set to 1. In this case, it is used by the old SGSN, at the Inter SGSN Routeing Area Update procedure, to inform the new SGSN of the N-PDU number assigned to T-PDU. If an N-PDU number was not assigned to the T-PDU by SNDCP, or if the T-PDU is to be transferred using unacknowledged peer-to-peer LLC operation, then SNN shall be set to 0. The SNDCP N-PDU Number shall be set to 255 if the SNN flag is 0.
– The Flow Label identifies the flow which the T-PDU belongs to. The Flow Label is chosen by the receiver of the flow during the context establishment, update or SGSN change procedure.
– TID: Contains the tunnel identifier for the tunnel to which this T-PDU belongs. The TID shall be used by the receiving GSN to find the MM and PDP contexts.
22.214.171.124 Usage of the Sequence Number
The sending GSN shall use 0 for the value of the Sequence Number of the first T-PDU in a tunnel and shall increment the Sequence Number for each following T-PDU. The value shall wrap to zero after 65535.
When a dialogue is opened beween GSNs, the receiving GSN shall set the content of a counter to zero. When the receiving GSN receives a valid T-PDU, it shall increment this counter by one. This counter shall wrap to zero after 65535. It defines the ‘Expected Sequence Number’.
Based on the received and Expected Sequence Number values, the receiving GSN may decide whether or not to discard the received T-PDU. Annex B (Informative) describes a method to determine whether a received T-PDU is valid.
The receiving GSN shall reorder the incoming T-PDUs in sequence if the Reordering Required flag in the PDP context is set. In this case, if needed, the receiving GSN shall take into account a maximum number of valid received frames and a maximum elapsed time to assume that a T-PDU was lost.
8.2 Tunnelling between SGSNs
T-PDUs, stored in the old SGSN and not yet sent to the MS, shall be tunnelled to the new SGSN as a part of the Inter SGSN Routeing Update procedure described in GSM 03.60. Some T-PDUs may still be on their way from the GGSN to the old SGSN because they have been sent before the tunnels change. These T-PDUs shall also be tunnelled to the new SGSN.
8.3 Tunnelling between GGSNs
GTP shall not specify tunnelling between GGSNs. Transfer of MS-to-MS traffic between GGSNs shall use the Gi interface.