PDP type in GPRS

Session Management

Advice

In order to well understand this post, you will need to be familiar with what is the PDP address.
Simply, the GGSN should assign an IP address for every PDP created between the MS, and the GGSN. the PDP address is the IP address the GGSN assigns to the PDP.

PDP type is the type of the IP address assigned to the PDP.

PDP type maybe one of the following,

  • IPv4.
  • IPv6.
  • IPv4v6 (Dual stack).

The PDP type exists in subscription information that exists in the HLR for every MS.

PDP context activation procedure
Signaling of PDP context Activation in 3G

The MS puts the requested 'PDP type' in the 'PDP activation request' sent to the SGSN in 'PDP context activation' procedure.

The SGSN will compare the requested PDP type against UE subscription information, and will take a decision based on the following table,

PDP type
PDP type

When the PDP context is having both IPv4 and IPv6 IP addresses, the GGSN will inform the MS during the 'PDP activation procedure' which one of them is having the preference over the other.

according to this preference, the MS will give priority to the preferred IP address while dealing with the PDN.

IPv4v6 Dual stack PDP type example

Suppose the GGSN gave the preference for the IPv6 address over the IPv4 address. And let's assume that the MS would like to connect to website 'mobilepacketcore.com' on the internet.

  • first the MS will ask the DNS server if it has an ‘AAA’ record for this website. The AAA record is used to query for an IPv6 address of the website.
  • If this website is having an IPv6 address exist for it, the DNS will reply the MS with the IPv6 address of this website.
  • Then the MS will start using its own IPv6 address to communicate with the IPv6 address of this web site.

Not all the websites on the internet is having an IPv6 address exist for them.

  • Therefore, if the DNS didn’t find an IPv6 address exist for this website, the DNS will reply with an IPv4 address to the MS.
  • Then, the MS will start using its own IPv4 address to communicate with the IPv4 address of the website.

This is why we should use dual stack instead of IPv6. This is because not all websites on the internet are having an IPv6 IP address exist for them.