Description
The IPv6 Control Protocol (IPV6CP) is a subsidiary protocol of the Point-to-Point Protocol (PPP), defined by the IETF and adopted by 3GPP for use in certain legacy access scenarios. As a Network Control Protocol (NCP), its sole purpose is to configure, enable, and disable the IPv6 protocol on both ends of a PPP data link. It operates after the PPP Link Control Protocol (LCP) has established the basic link. IPV6CP is responsible for negotiating IPv6-specific parameters that are necessary for the two peers to communicate using IPv6 over that link.
The protocol works through a simple exchange of Configure-Request, Configure-Ack, Configure-Nak, and Configure-Reject packets. The most critical parameter negotiated by IPV6CP is the Interface Identifier. In IPv6, a link-local address is formed by combining the well-known link-local prefix (fe80::/64) with an interface identifier. IPV6CP ensures that the two connected interfaces on the PPP link choose unique 64-bit interface identifiers to avoid address collisions on the local link. It may also negotiate an IPv6 compression protocol, though this is less common with modern hardware. Once IPV6CP reaches the Opened state, the IPv6 protocol is considered configured on that PPP link, and IPv6 packets can be exchanged.
In the 3GPP architecture, IPV6CP is specified for use in the Packet Data Protocol (PDP) context activation for IPv6 in 2G (GPRS) and 3G (UMTS) networks. When a mobile station requests an IPv6 PDP context, the network and the terminal use PPP, including IPV6CP, over the logical link to negotiate the IPv6 configuration. This is particularly relevant for the Gi reference point model and interworking with external PDNs. While its prominence has diminished with the move to all-IP 4G/5G architectures where IPv6 is configured via DHCPv6 or Stateless Address Autoconfiguration (SLAAC), understanding IPV6CP remains important for maintaining legacy systems and understanding the evolution of IP configuration in mobile networks.
Purpose & Motivation
IPV6CP was created as part of the PPP suite to extend PPP's capability beyond IPv4 to support the next-generation Internet Protocol, IPv6. PPP was the dominant protocol for establishing direct connections over serial lines, dial-up modems, and, crucially, early mobile data bearers. Before IPV6CP, PPP only had an IPv4 Control Protocol (IPCP). The advent of IPv6 required a parallel control protocol to manage the unique configuration parameters of IPv6 on a point-to-point link.
Its purpose within 3GPP was to provide a standardized method for mobile devices (MS/UE) and network elements (GGSN in GPRS/UMTS) to negotiate and establish IPv6 connectivity during PDP context activation. It solved the problem of how to automatically configure link-local IPv6 addresses and agree on parameters without manual intervention, which is essential for scalability in mobile networks. IPV6CP addressed the limitations of the existing IPv4-only PPP configuration, enabling the early deployment and testing of IPv6 in 3GPP networks. It formed a bridge between the mature PPP framework and the new IPv6 protocol stack, ensuring backward compatibility and a smooth transition path for network operators.
Key Features
- PPP Network Control Protocol (NCP) for IPv6 configuration
- Negotiates a unique 64-bit Interface Identifier for each end of the PPP link
- Uses the same packet exchange mechanism as LCP (Request, Ack, Nak, Reject)
- Enables the formation of IPv6 link-local addresses (fe80::/64)
- Can optionally negotiate IPv6 header compression parameters
- Standardized by IETF RFC 5072 and adopted by 3GPP for legacy access
Evolution Across Releases
Formal adoption and referencing of IPV6CP (based on IETF RFC 5072) within 3GPP specifications for UMTS and evolved GPRS. Defined its use in the PDP context activation procedure for IPv6 connectivity over the Gn/Gp and Gi interfaces, integrating it into the overall mobile data architecture.
Defining Specifications
| Specification | Title |
|---|---|
| TS 27.060 | 3GPP TS 27.060 |
| TS 29.061 | 3GPP TS 29.061 |