Point To Point Protocol: Agenda
Point To Point Protocol: Agenda
Point To Point Protocol: Agenda
• PPP COMPONENTS
• GENERAL OPERATIONS
PPP runs at the Datalink layer (ISO layer 2), providing symmetric,
peer-to-peer connections utilizing encapsulation, transmission
and link management services for the upper layer network protocols
• PPP –advantageous
• Operate Synchronous and asynchronous links ,
PPP components
3. Authentication Phase
To authenticate peer before allowing network-layer protocol packets to be exchanged.
By default authentication is not mandatory.
SHOULD take place as soon as possible after link establishment.
Authentication fails—Link termination phase .
Restart Timer
The Restart timer is used to time transmissions of Configure-Request and Terminate-Request
packets. Expiration of the Restart timer causes a Timeout event, and retransmission of the
corresponding Configure-Request or Terminate-Request packet.
Max-Terminate
There is one required restart counter for Terminate-Requests. Max-Terminate indicates the
number of Terminate-Request packets sent without receiving a Terminate-Ack before assuming
that the peer is unable to respond.
Max-Configure
Max- Configure indicates the number of Configure-Request packets sent without receiving a
valid Configure-Ack, Configure-Nak or Configure-Reject before assuming that the peer is
unable to respond
Max-Failure
Max-Failure indicates the number of Configure-Nak packets sent without sending a Configure-
Ack before assuming that configuration is not converging
Initial---In the Initial state, the lower layer is unavailable (Down), and no Open has occurred. The
Restart timer is not running in the Initial state.
Starting---The Starting state is the Open counterpart to the Initial state.Lower layer is still
unavailable (Down). The Restart timer is not running in the Starting state. When the lower layer
becomes available (Up), a Configure-Request is sent
Closed---link is available (Up), but no Open has occurred. The Restart timer is not running in the
Closed state.Upon reception of Configure-Request packets, a Terminate-Ack is sent.
Stopped---Open counterpart to the Closed state. It is entered when the automaton is waiting for a
Down event after the This-Layer-Finished action, or after sending a Terminate-Ack. The Restart
timer is not running in the Stopped state.
Closing---An attempt is made to terminate the connection. A Terminate-Request has been sent and
the Restart timer is running, but a Terminate-Ack has not yet been received. Upon reception of a
Terminate-Ack, the Closed state is entered. Restart timer has expired Max-Terminate times, the
Closed state is entered.
Stopping---Open counterpart to the Closing state. A Terminate-Request has been sent and the
Restart timer is running, but a Terminate-Ack has not yet been received.
AckReceivedA ConfigureRequest has been sent and a Configure
Ack has been received.
AckSentA ConfigureRequest and a ConfigureAck have both been
sent.
OpenedA ConfigureAck has been both sent and received. The
Restart timer is not running. When entering the Opened state, the
implementation SHOULD signal the upper layers that it is now Up.
Conversely, when leaving the Opened state, the implementation
SHOULD signal the upper layers that it is now Down.
Transitions and actions in the automaton are caused by events.
Up This event occurs when a lower layer indicates that it is
ready to carry packets.
DownThis event occurs when a lower layer indicates that it is no
longer ready to carry packets.
Open Link is administratively available for traffic; that is,
the link is allowed to be Opened. When this event occurs, and the
link is not in the Opened state, the automaton attempts to send
configuration packets to the peer.
CloseLink is not available for traffic; that is, the link is not
allowed to be Opened. When this event occurs, and the link is not
in the Closed state, the automaton attempts to terminate the
connection.
Timeout (TO+,TO)Indicates the expiration of the Restart timer.
The Restart timer is used to time responses to ConfigureRequest
and TerminateRequest packets.The TO+ event indicates that the
Restart counter continues to be greater than zero, which triggers
the corresponding Configure Request or TerminateRequest packet to
be retransmitted. The
Agenda Page 13 Client Logo
TO event indicates that the Restart counter is not greater than
EVENTS contd…
ReceiveConfigureRequest (RCR+,RCR)Occurs when a Configure
Request packet is received from the peer. Indicates the desire to
open a connection and may specify Configuration Options. The RCR+
event < > ConfigureRequest was acceptable, and triggers the
transmission of a corresponding ConfigureAck. The RCR event <
> ConfigureRequest was unacceptable, and triggers the transmission
of a corresponding ConfigureNak or ConfigureReject.
ReceiveConfigureAck (RCA)This event occurs when a valid
ConfigureAck packet is received from the peer. The ConfigureAck
packet is a positive response to a ConfigureRequest packet.
ReceiveConfigureNak/Rej (RCN)This event occurs when a valid
ConfigureNak or ConfigureReject packet is received from the peer.
The ConfigureNak and ConfigureReject packets are negative
responses to a Configure Request packet. Receive
TerminateRequest (RTR)This event occurs when a Terminate
Request packet is received. The TerminateRequest packet indicates
the desire of the peer to close the connection.
ReceiveTerminateAck (RTA)Occurs when a TerminateAck packet is
received from the peer. The TerminateAck packet is usually a
response to a TerminateRequest packet. The TerminateAck packet
may also indicate that the peer is in Closed or Stopped states.
ReceiveUnknownCode (RUC)Occurs when an uninterpretable packet
is received from the peer. A CodeReject packet is sent in
response.
ReceiveCodeReject, ReceiveProtocolReject (RXJ+,RXJ)Occurs
when a CodeReject or a ProtocolReject packet is received from the
peer.The RXJ+ event arises when the rejected value is acceptable,
such as a CodeReject of an extended code, or a ProtocolReject of
a NCP. The RXJ event arises when the rejected value is
catastrophic, such as a CodeReject of ConfigureRequest, or a
ProtocolReject of LCP! This event communicates an unrecoverable
error that terminates the connection.
ReceiveEchoRequest, ReceiveEchoReply, ReceiveDiscard
Request(RXR)Occurs when an EchoRequest, EchoReply or Discard
Request packet is received from the peer. The EchoReply packet is
a response to an EchoRequest packet.
Agenda Page 15 Client Logo
ACTIONS
Actions in the automaton caused by events and typically indicate the
transmission of packets
and/or the starting or stopping of the Restart timer.
IllegalEvent ()This indicates an event that cannot occur in a
properly implemented automaton.
ThisLayerUp (tlu)This action indicates to the upper layers
that the automaton is entering the Opened state. used by the LCP to
signal the Up event to a NCP, Authentication Protocol, or Link
Quality Protocol, or MAY be used by a NCP to indicate that the link
is available for its network layer traffic.
ThisLayerDown (tld)Indicates to the upper layers that the
automaton is leaving the Opened state. used by the LCP to signal
the Down event to a NCP, Authentication Protocol, or Link Quality
Protocol, or MAY be used by a NCP to indicate that the link is no
longer available for its network layer traffic.
ThisLayerStarted (tls)Indicates to the lower layers that the
automaton is entering the Starting state, and the lower layer is
needed for the link.
Agenda Page 16 Client Logo
ACTIONS contd…
ThisLayerFinished (tlf)Indicates to the lower layers that the
automaton is entering the Initial, Closed or Stopped states, and
the lower layer is no longer needed for the link.
InitializeRestartCount (irc)Sets the Restart counter to the
appropriate value(MaxTerminate or MaxConfigure). The counter is
decremented for each transmission, including the first.
ZeroRestartCount (zrc)This action sets the Restart counter to
zero.
SendConfigureRequest (scr)A ConfigureRequest packet is
transmitted. Indicates the desire to open a connection with a
specified set of Configuration Options. The Restart timer is
started when the ConfigureRequest packet is transmitted, to guard
against packet loss.
SendConfigureAck (sca)A ConfigureAck packet is transmitted.
This acknowledges the reception of a ConfigureRequest packet.
SendConfigureNak (scn)This negative response reports the
reception of a ConfigureRequest packet with an unacceptable set of
Agenda Page 17 Client Logo
Configuration Options.
ACTIONS contd…
SendTerminateRequest (str)A TerminateRequest packet is
transmitted. This indicates the desire to close a connection.
SendTerminateAck (sta)A TerminateAck packet is transmitted. This
acknowledges the reception of a TerminateRequest packet .
SendCodeReject (scj)A CodeReject packet is transmitted. This
indicates the reception of an unknown type of packet.
SendEchoReply (ser)An EchoReply packet is transmitted. This
acknowledges the reception of an EchoRequest packet.
0116 Configure-request Contains the list of proposed options and their values
0916 Echo-request A type of hello message to check if the other end is alive
Type - The Type field is one octet, and indicates the type of Configuration Option.
1 Maximum- receive-unit
3 Authentication-protocol
4 Quality-protocol
5 Magic-number
7 Protocol-field compression
The Password Authentication Protocol (PAP) provides a simple method for the peer to establish
its identity using a 2-way handshake.
After the Link Establishment phase is complete, an Id/Password pair is repeatedly sent by the
peer to the authenticator until authentication is acknowledged or the connection is terminated.
• PAP
challenge
MD 5 challenge
Hash value
MD 5
Hash value
Compare
Protocol:
1. After the Link Establishment phase is complete, the authenticator sends a
"challenge" message to the peer.
2. The peer responds with a value calculated using a "one-way hash" function.
3. The authenticator checks the response against its own calculation of the
expected hash value. If the values match, the authentication is acknowledged;
otherwise the connection SHOULD be terminated.
- The Network Control Protocol (NCP) phase in the PPP link connection
process is used for establishing and configuring different network-layer
protocols such as IP, IPX or AppleTalk.
- After a NCP has reached the Opened state, PPP will carry the corresponding
network-layer protocol packets. Any supported network-layer protocol packets
received when the corresponding NCP is not in the Opened state MUST be
silently discarded.
- During this phase, link traffic consists of any possible combination of LCP,
NCP, and network-layer protocol packets.
FRAME FORMAT
1. Data Link Layer Protocol Field
One IPCP packet is encapsulated in the Information field of PPP Data Link Layer frames.
2. Code field
Codes 1 through 7 are used.
CODE IPCP PACKET
01 Configure-request
02 Configure-ack
03 Configure-nak
04 Configure-reject
05 Terminate-request
06 Terminate-ack
07 Code-reject
1. Timeout
IPCP packets may not be exchanged until PPP has reached the
NetworkLayer protocol phase.
3. Configuration Option Types
IPCP has a distinct set of Configuration Options.
Agenda Page 32 Client Logo
CONFIGURATION OPTIONS
IPCP COFIGURATION OPTIONS
- Allow negotiation of desirable Internet Protocol parameters.
IP-Compression-Protocol: Allows devices to negotiate the use of something called “Van Jacobson
TCP/IP header compression”. This compresses the size of TCP and IP headers to save bandwidth.
Thus, this is similar in concept to the Protocol-Field-Compression and Address-and-Control-Field-
Compression (ACFC) options in LCP.
IP-Address: Allows the device sending the Configure-Request to either specify an IP address it
wants to use for routing IP over the PPP link, or to request that the other device supply it with one.
This is most commonly used for dial-up networking links.
PROTOCOL FIELD
– "0***" to "3***" -- Identify the network layer protocol of specific packets.
– "8***" to "b***" -- Packets belonging to the associated network control protocols
– "4***" to "7***" -- Protocols with low volume traffic have no associated
NCP.
– "c***" to "f***" --- Link layer control protocols (such as LCP).
INFORMATION FIELD
– Contains the datagrams for the protocol specified in the Protocol field
– Maximum length –1500 octets(MRU)
PADDING
– Information field may be padded with an arbitrary number of octets up to the MRU
Agenda Page 34 Client Logo
PPP SETUP
Authenticate
Transmit Data
DATA Protocol Header PPP