I have a few questions about GTP.
1) Out of GTP-U, GTP-C and GTP', am I right to say that only GTP-U involves actual tunneling, that is, GTP-C creates, modifies and deletes tunnels, while GTP' transfers charging data to the CGF, but neither act as carriers for packets of other protocols? But GTP-C messages are sent across GTP control plane tunnels, so is it still a form of tunneling?
2) Since GTP-C and GTP-U have the same header, how do we distinguish between a GTP-C packet and a GTP-U packet (except when the message type is 255 which makes it obvious that the packet is GTP-U)? Or is this implicitly deduced by looking at whether the packets are transmitted in the control or user plane?
3) Do GTP-C messages contain only the GTP header and possibly information elements (IEs), unlike GTP-U which also contains a payload?
4) It was mentioned in the specs that "The GTP-C header may be followed by subsequent information elements dependent on the type of
control plane message. Only one information element of each type is allowed in a single control plane message, except for the authentication Triplet, the PDP Context, the Tunnel Endpoint Identifier Data II, NSAPI, PS Handover XID Parameters, Packet Flow ID, and PDU Numbers information element where several occurrences of each type are allowed." I don't really understand the statement. Is it saying that each message type e.g. echo request/response is only allowed one IE? What about those with more than 1 mandatory IE, such as Forward Relocation Request?
5) Would an example of multiple PDP contexts be an user using an email application to check his emails (one PDP context) and a browser to view a website (another PDP context)? What about using one browser to visit multiple websites, would a PDP context be established for each site? And does each PDP address contain the IP address of the websites visited?
6) It was written in the specs that "The receiver of a GTP signalling message Response including a mandatory information element with a Value that is not in the range defined for this information element shall notify the upper layer that a message with this sequence number has been received and should log the error." What is this "upper layer"?
7) What is the difference between a N-PDU and a G-PDU, which I know is a T-PDU plus a GTP-U header?
8) Since GTP is used only within the GPRS network and the GTP headers are stripped when the packets leave the GGSNs and enter the IP network, how are packet sniffers like Wireshark able to detect GTP traffic? Do we put the sniffers within the GPRS network?
9) Are direct tunnels between RNCs and GGSNs applicable for both GPRS and UMTS networks, or only UMTS?
10) There is a new version of GTP-C, version 2. Is there a new version of GTP-U (other than the changes made to the GTP header and IEs that would also affect GTP-U)? What's the status of GTP-Cv2? It appears to still be in its early stage of development. What is the rationale for GTP-Cv2 and how is it better than GTP-Cv1?
Thank you very much!