Usually, we refer to PPP as (Layer 2 Wan Protocol) ... But by giving a closer look, we can see that it uses NCP -Network Control Protocol- to negotiate Layer 3 addressing.
I thought lower layer protocols can't negotiate higher level protocols and addressing ?
Shouldn't Layer 2 protocols -such as HDLC and PPP- focus only on encapsulating Layer 3 packets and forward them without changing or negotiation their Layer 3 addresses ?
Or shall we call PPP a Multi-layer Protocol rather than just L2 protocol ?
PPP is in fact a Layer 2 protocol as you corrected noted, however it does include Network Control Protocols (NCP) to allow higher level protocols to be supported. In fact there is one NCP for every higher-layer protocol supported by PPP and this was defined by the RFC 1661 (
In short, PPP is a Layer 2 protocol that provides support for higher layer protocols through NCP. NCP allows the negotiation of higher-level protocol parameters such as IP address, however this alone is not considered enough to classify PPP as a multi-level protocol.
I think there's some kinda argument about when,how or if we should classify PPP as a multi-layer protocol.
I've previously opened such discussion on Cisco forums and one of the founding members -Mr Richard Burts- replied to me suggesting that PPP is a multi-layer protocol and the assumption of limiting such protocol within a single layer may be wrong one.
I'm a little bit confused honestly, there's some kinda foggy area between OSI layers and how to classify protocols around them, and networks experts seem to have a contradictory points of view about it too.