that the transmitting side has to use. The TEID values are exchanged between tunnel end points using control messages (GTP-C). The TEID has meaning only within the GTP protocol. In the GTP-U user plane, each PDP context has a one-to-one relationship between the TEID on the one hand and IMSI and NSAPI (network service application port identifier) on the other hand. The algorithm to compute the TEID is implementation-dependent and may vary from manufacturer to manufacturer. When a PDP context is established, the TEID is forwarded to the GGSN and is used in subsequent tunnelling of user data between the GGSN and SGSN for that particular PDP context. 4.8.2 Packet Routing (PDP Context) The Packet Data Protocol (PDP) is used for data transfer and routing. For every GPRS subscription there is a corresponding PDP address associated with it. Each PDP address is described by one or more PDP contexts defined in the MS, the SGSN and the GGSN. The size of a PDP unit is a maximum 1500 octets. If the packet received by the MS or GGSN is bigger than this, it may be segmented or discarded, depending on the PDP type and the implementation. The packet data protocol in the MS may limit the maximum size of the PDP PDUs that are routed and transferred, for example, due to MS memory limitations. The MS is responsible for creating or modifying PDP contexts and their QoS. Core Network Planning and Optimisation Between the SGSN and the GGSN, PDP PDUs are routed and transferred with the UDP (User Datagram Protocol)/IP protocols. The GPRS tunnelling protocol (GTP) transfers data through tunnels. The tunnel end point identifier (TEID) and GSN address identify a tunnel. To support roaming subscribers, and for forward compatibility, the SGSN is not required to know the tunnelled PDP. The SGSN has the capability to transfer PDUs belonging to PDPs not supported in its own PLMN. The GGSN could also optionally support IP multicast: this allows the MS to join multicast groups and start receiving multicast packets. The GGSN duplicates the incoming m