SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
© Peter R. Egli 2015
1/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
Peter R. Egli
INDIGOO.COM
PPPPOINT TO POINT PROTOCOL
OVERVIEW OF THE PPP PROTOCOL SUITE
FOR POINT TO POINT LINKS
© Peter R. Egli 2015
2/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
Contents
1. SLIP - Serial Line IP
2. Overview of PPP
3. Layer 2 functions
4. PPP protocol stack
5. PPP protocols
6. PPP framing with HDLC
7. LCP and NCP
8. PPP authentication
9. Typical PPP session
© Peter R. Egli 2015
3/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
1. SLIP (Serial Line IP, RFC1055) versus PPP
SLIP is a predecessor of PPP.
SLIP was used as framing protocol over serial lines before the advent of PPP.
PPP was devised in order to overcome the deficiencies of SLIP.
SLIP framing:
Frame delimiter = The byte 0xC0 serves as frame delimiter.
For transparency, the bytes 0xDB, 0xDC are used as escape sequence for 0xC0 in the payload.
 0xC0 in payload becomes 0xDB 0xDC in SLIP frame.
 0xDB in payload becomes 0xDB 0xDD in SLIP frame.
SLIP deficiencies:
1. SLIP does not have error detection mechanism (left to TCP to detect and recover from errors
on the transmission line).
2. SLIP only supports IP (no other layer 3 protocols).
3. SLIP does not provide dynamic IP address assignment.
4. SLIP does not provide authentication.
© Peter R. Egli 2015
4/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
2. Overview of PPP
PPP is a protocol suite for serial links which do not provide a framing (raw bit pipes).
Physical bit transport
Framing (message boundary)
Link (layer 2) establishment and option negotiation
‚I want compression‘
ok
Exchange of IP packets
Assignment of IP address, DNS server
Your IP: 1.2.3.4 and DNS: 2.3.4.5
HH Payload HT HH Payload HT HH Payload HT
IP
HDLC
Phy
LCP
PAP
CHAP
EAP
IP
NCP
HDLC
Phy
LCP
PAP
CHAP
EAP
IP
NCP
Authentication of user
‚Tell me who you are‘
I am user@domain.com+password
Client (initiator) Server (responder)
IP IP IP
IP: 1.2.3.4
DNS: 2.3.4.5
© Peter R. Egli 2015
5/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
3. Layer 2 functions
Layer 2 functions and corresponding PPP protocol:
L2 Function Description Provided by PPP Protocol
Framing
Serial lines provide bit transport, thus a means for finding the
start of packets is required.
HDLC (not part of PPP protocol
suite but provided by ISO 3309
HDLC). PPP defines HDLC as default
framing protocol.
Link setup, control
Link characteristics like maximum frame size need to be
negotiated between both ends.
LCP
Authentication
Client (and optional server) authentication make sure the
right communication partners talk to each other.
PAP / CHAP / EAP
Encryption Communication may need confidentiality.
ECP along with encryption
algorithms like 3DES or AES
Bandwidth
allocation for multi-
links
To fulfill increased bandwidth demands, bonding of multiple
channels may be required (Multilink PPP-MLPPP).
BAP / BACP
Bridging / routing
mode on both ends
The link ends may be operated in bridged or routed mode.
Bridging requires a control protocol.
BCP
Setup of network
functions
Each network protocol (IP, IPX) requires its own control
protocol for functions like IP address assignment.
NCP (IPCP)
Data compression
on link
Serial links are typically slow (modem lines etc.), so
compression increases available bandwidth.
CCP
Monitoring the link The link quality may need to be monitored. LQR / LQM
© Peter R. Egli 2015
6/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
4. PPP (RFC1661 et.al.) protocol stack
PPP is not a single protocol but a protocol suite containing protocols that address various
aspects of point-to-point layer 2 communication.
PPP is an asymmetric protocol suite. The 2 parties in a PPP session are the initiator (I, usually
client) and the responder (R, usually server).
PPP's main function are:
a. Packet encapsulation and framing on point-to-point links
b. Link setup (LCP sub-protocol)
c. Authentication
d. Network control, basically assigning an IP address and DNS server addresses to clients
HDLC-like framing (ISO 3309)
LCP
PAP / CHAP / EAP
ECP
CCP NCP (IPCP) BCP
LQR / LQM
BAP/BACP
PPP protocol
suite
© Peter R. Egli 2015
7/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
5. PPP protocols (1/2)
LCP Link Control Protocol:
LCP negotiates and controls link parameters on both ends (e.g. MRU Max. Receive Unit,
header compression, encapsulation).
CHAP - CHallenge Authentication Protocol:
Description see below.
PAP - Password Authentication Protocol:
Description see below.
EAP - Extensible Authentication Protocol:
EAP is a protocol that supports a range of authentication algorithms/protocols.
IPCP - IP Control Protocol (is an NCP Network Control Protocol):
IPCP establishes IP operation on both ends of point-to-point links
(mainly assignment of IP address and DNS server from responder to initiator).
© Peter R. Egli 2015
8/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
5. PPP protocols (2/2)
CCP - Compression Control Protocol:
CCP negotiates and controls compression on both ends of link.
BCP - Bridging Control Protocol:
BCP establishes bridging operation on both ends of point-to-point link (similar to IPCP,
but instead of routing it initializes bridging).
BAP/BACP - Bandwidth Allocation (Control) Protocol:
BAP/BACP can be used to add/remove individual links in a multi-link bundle (MultiLink PPP).
ECP - Encryption Control Protocol:
ECP allows configuring and enabling encryption on both ends of the link.
LQM – Link Quality Monitoring:
LQM is used for monitoring the link quality. LQR is used for link quality reporting.
© Peter R. Egli 2015
9/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
6. PPP framing with HDLC
The PPP framing is a variant of HDLC (High Level Data Link Control).
The framing is character oriented, i.e. the frame always has an integral number of bytes (=octet).
When the payload (user data) contains flags, an escape byte 0x7D is inserted (byte stuffing).
The field address is fixed = 0xFF which means that all stations are to accept the frame.
Control = 0x03 means that the frame is unnumbered (PPP does provide error detection, but
no error correction; reliable transmission with PPP is set forth in RFC1663).
The protocol field identifies the layer 3 protocol contained in the payload (for protocol values
see IANA assigned numbers).
The payload is variable length (default 1500 bytes).
The checksum is either a 2 byte CRC16 (default) or 4 byte CRC32 (for frames > 4kB).
Flag=0x7E
Address
0xFF
Control
0x03
Protocol Checksum Flag=0x7EPayload
1 1 1 1 or 2 Variable 2 or 4 1
© Peter R. Egli 2015
10/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
7. LCP and NCP
A. LCP (Link Control Protocol):
LCP is used for establishing the link.
LCP allows negotiating link options like:
a. Authentication protocol to be used.
b. Header compression / address field compression.
c. MRU (maximum receive unit).
LCP periodically tests the link with symmetric LCP-Echo requests / replies.
LCP brings down the link gracefully when it is no longer in use.
B. NCP (Network Control Protocol):
NCP is used for the dynamic assignment of an IP address to the client and the assignment of a
primary and secondary DNS server.
The host must set a default route to the PPP interface since there is no default
gateway IP address (the link is point-to-point, thus typically the link is unnumbered without an
IP address on the server side).
© Peter R. Egli 2015
11/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
8. PPP authentication
PAP and CHAP are used for Authentication with PPP (is the one I am talking to the one
he pretends to be?).
PAP RFC1661 Password Authentication Protocol:
PAP simply sends a username and password (cleartext) to the remote computer.
Thus PAP is considered insecure.
PAP is symmetric and does not allow asymmetric settings with an authenticator
and a peer (authenticator authenticates peer).
CHAP RFC1994 Challenge Handshake Authentication Protocol:
With CHAP, an authenticator (usually server) authenticates a peer (usually client).
Thus CHAP is asymmetric.
CHAP procedure:
1. The authenticator computes a random value (=challenge) to foil replay attacks.
2. The authenticator sends the challenge to the peer.
3. The peer computes a hash (MD5) value on the identifier (username), secret (password)
and challenge.
4. The peer sends hash value to authenticator.
5. The authenticator performs the same calculation and checks if the result is ok.
© Peter R. Egli 2015
12/12
Rev. 2.90
PPP - Point to Point Protocol indigoo.com
9. Typical PPP session
Wireshark trace of a PPP session with CHAP authentication.
I: 1 0.000000 Client -> Server PPP LCP PPP LCP Configuration Request
R: 2 0.028594 Server -> Client PPP LCP PPP LCP Configuration Request
I: 3 0.029362 Client -> Server PPP LCP PPP LCP Configuration Ack
R: 4 0.030818 Server -> Client PPP LCP PPP LCP Configuration Reject
I: 5 0.031299 Client -> Server PPP LCP PPP LCP Configuration Request
R: 6 0.063986 Server -> Client PPP LCP PPP LCP Configuration Ack
I: 7 0.064776 Client -> Server PPP LCP PPP LCP Identification
I: 8 0.066026 Client -> Server PPP LCP PPP LCP Identification
R: 9 0.068683 Server -> Client PPP CHAP PPP CHAP Challenge
I: 10 0.069147 Client -> Server PPP CHAP PPP CHAP Response
R: 11 0.718392 Server -> Client PPP CHAP PPP CHAP Success
I: 12 0.720670 Client -> Server PPP CCP PPP CCP Configuration Request
I: 13 0.722227 Client -> Server PPP IPCP PPP IPCP Configuration Request
R: 14 0.885780 Server -> Client PPP IPCP PPP IPCP Configuration Request
I: 15 0.932285 Client -> Server PPP IPCP PPP IPCP Configuration Ack
I: 16 0.933597 Client -> Server PPP IPCP PPP IPCP Configuration Request
R: 17 0.959508 Server -> Client PPP IPCP PPP IPCP Configuration Nak
I: 18 0.960196 Client -> Server PPP IPCP PPP IPCP Configuration Request
R: 19 0.984960 Server -> Client PPP IPCP PPP IPCP Configuration Ack
... PPP data
R: 20 1.156618 Server -> Client PPP LCP PPP LCP Echo Request
I: 21 1.275972 Client -> Server PPP LCP PPP LCP Echo Reply
R: 22 11.156947 Server -> Client PPP LCP PPP LCP Echo Request
R: 25 13.341129 Server -> Client PPP LCP PPP LCP Termination Ack
Key:
I: Initiator
R: Responder
LCP
CHAP
NCP (IPCP)
LCP

Weitere ähnliche Inhalte

Andere mochten auch

HDLC(high level data link control)
HDLC(high level data link control)HDLC(high level data link control)
HDLC(high level data link control)Anand Biradar
 
Wireless Sensor Networks: MAC protocol of a point-to-point NBE network
Wireless Sensor Networks: MAC protocol of a point-to-point NBE networkWireless Sensor Networks: MAC protocol of a point-to-point NBE network
Wireless Sensor Networks: MAC protocol of a point-to-point NBE networkDaniele Antonioli
 
Framming data link layer
Framming data link layerFramming data link layer
Framming data link layerPREMAL GAJJAR
 
QMI Services - Capabilities 2015
QMI Services - Capabilities 2015QMI Services - Capabilities 2015
QMI Services - Capabilities 2015Sean Robinson
 
Slip Line Field Method - Presentation
Slip Line Field Method - PresentationSlip Line Field Method - Presentation
Slip Line Field Method - PresentationSantosh Verma
 
“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...
“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...
“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...Marcio Francesquine
 
15695 20080506135543
15695 2008050613554315695 20080506135543
15695 20080506135543forgotteniman
 
Service Primitives for Internet Scale Applications
Service Primitives for Internet Scale ApplicationsService Primitives for Internet Scale Applications
Service Primitives for Internet Scale ApplicationsAmr Awadallah
 

Andere mochten auch (16)

HDLC(high level data link control)
HDLC(high level data link control)HDLC(high level data link control)
HDLC(high level data link control)
 
Forouzan ppp
Forouzan pppForouzan ppp
Forouzan ppp
 
Ppp
PppPpp
Ppp
 
Network topology.ppt
Network topology.pptNetwork topology.ppt
Network topology.ppt
 
Wireless Sensor Networks: MAC protocol of a point-to-point NBE network
Wireless Sensor Networks: MAC protocol of a point-to-point NBE networkWireless Sensor Networks: MAC protocol of a point-to-point NBE network
Wireless Sensor Networks: MAC protocol of a point-to-point NBE network
 
Framming data link layer
Framming data link layerFramming data link layer
Framming data link layer
 
QMI Services - Capabilities 2015
QMI Services - Capabilities 2015QMI Services - Capabilities 2015
QMI Services - Capabilities 2015
 
PACE-IT: Firewall Basics
PACE-IT: Firewall BasicsPACE-IT: Firewall Basics
PACE-IT: Firewall Basics
 
Slip Line Field Method - Presentation
Slip Line Field Method - PresentationSlip Line Field Method - Presentation
Slip Line Field Method - Presentation
 
Pppoe
PppoePppoe
Pppoe
 
Accessing internet resources best practices
Accessing internet resources  best practicesAccessing internet resources  best practices
Accessing internet resources best practices
 
“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...
“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...
“I Canada-Brazil Infrastructure Forum: The Canadian PPP Model” - Sao Paulo - ...
 
15695 20080506135543
15695 2008050613554315695 20080506135543
15695 20080506135543
 
Service Primitives for Internet Scale Applications
Service Primitives for Internet Scale ApplicationsService Primitives for Internet Scale Applications
Service Primitives for Internet Scale Applications
 
Framing Protocols
Framing ProtocolsFraming Protocols
Framing Protocols
 
Hdlc ppt..
Hdlc ppt..Hdlc ppt..
Hdlc ppt..
 

Mehr von Peter R. Egli

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosPeter R. Egli
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
Communication middleware
Communication middlewareCommunication middleware
Communication middlewarePeter R. Egli
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Peter R. Egli
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Peter R. Egli
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET PlatformPeter R. Egli
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud ComputingPeter R. Egli
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration TechnologiesPeter R. Egli
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyPeter R. Egli
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development KitPeter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Peter R. Egli
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingPeter R. Egli
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Peter R. Egli
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 

Mehr von Peter R. Egli (20)

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
Communication middleware
Communication middlewareCommunication middleware
Communication middleware
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud Computing
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development Kit
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Web services
Web servicesWeb services
Web services
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 

Kürzlich hochgeladen

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Kürzlich hochgeladen (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

PPP - Point to Point Protocol

  • 1. © Peter R. Egli 2015 1/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com Peter R. Egli INDIGOO.COM PPPPOINT TO POINT PROTOCOL OVERVIEW OF THE PPP PROTOCOL SUITE FOR POINT TO POINT LINKS
  • 2. © Peter R. Egli 2015 2/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com Contents 1. SLIP - Serial Line IP 2. Overview of PPP 3. Layer 2 functions 4. PPP protocol stack 5. PPP protocols 6. PPP framing with HDLC 7. LCP and NCP 8. PPP authentication 9. Typical PPP session
  • 3. © Peter R. Egli 2015 3/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 1. SLIP (Serial Line IP, RFC1055) versus PPP SLIP is a predecessor of PPP. SLIP was used as framing protocol over serial lines before the advent of PPP. PPP was devised in order to overcome the deficiencies of SLIP. SLIP framing: Frame delimiter = The byte 0xC0 serves as frame delimiter. For transparency, the bytes 0xDB, 0xDC are used as escape sequence for 0xC0 in the payload.  0xC0 in payload becomes 0xDB 0xDC in SLIP frame.  0xDB in payload becomes 0xDB 0xDD in SLIP frame. SLIP deficiencies: 1. SLIP does not have error detection mechanism (left to TCP to detect and recover from errors on the transmission line). 2. SLIP only supports IP (no other layer 3 protocols). 3. SLIP does not provide dynamic IP address assignment. 4. SLIP does not provide authentication.
  • 4. © Peter R. Egli 2015 4/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 2. Overview of PPP PPP is a protocol suite for serial links which do not provide a framing (raw bit pipes). Physical bit transport Framing (message boundary) Link (layer 2) establishment and option negotiation ‚I want compression‘ ok Exchange of IP packets Assignment of IP address, DNS server Your IP: 1.2.3.4 and DNS: 2.3.4.5 HH Payload HT HH Payload HT HH Payload HT IP HDLC Phy LCP PAP CHAP EAP IP NCP HDLC Phy LCP PAP CHAP EAP IP NCP Authentication of user ‚Tell me who you are‘ I am user@domain.com+password Client (initiator) Server (responder) IP IP IP IP: 1.2.3.4 DNS: 2.3.4.5
  • 5. © Peter R. Egli 2015 5/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 3. Layer 2 functions Layer 2 functions and corresponding PPP protocol: L2 Function Description Provided by PPP Protocol Framing Serial lines provide bit transport, thus a means for finding the start of packets is required. HDLC (not part of PPP protocol suite but provided by ISO 3309 HDLC). PPP defines HDLC as default framing protocol. Link setup, control Link characteristics like maximum frame size need to be negotiated between both ends. LCP Authentication Client (and optional server) authentication make sure the right communication partners talk to each other. PAP / CHAP / EAP Encryption Communication may need confidentiality. ECP along with encryption algorithms like 3DES or AES Bandwidth allocation for multi- links To fulfill increased bandwidth demands, bonding of multiple channels may be required (Multilink PPP-MLPPP). BAP / BACP Bridging / routing mode on both ends The link ends may be operated in bridged or routed mode. Bridging requires a control protocol. BCP Setup of network functions Each network protocol (IP, IPX) requires its own control protocol for functions like IP address assignment. NCP (IPCP) Data compression on link Serial links are typically slow (modem lines etc.), so compression increases available bandwidth. CCP Monitoring the link The link quality may need to be monitored. LQR / LQM
  • 6. © Peter R. Egli 2015 6/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 4. PPP (RFC1661 et.al.) protocol stack PPP is not a single protocol but a protocol suite containing protocols that address various aspects of point-to-point layer 2 communication. PPP is an asymmetric protocol suite. The 2 parties in a PPP session are the initiator (I, usually client) and the responder (R, usually server). PPP's main function are: a. Packet encapsulation and framing on point-to-point links b. Link setup (LCP sub-protocol) c. Authentication d. Network control, basically assigning an IP address and DNS server addresses to clients HDLC-like framing (ISO 3309) LCP PAP / CHAP / EAP ECP CCP NCP (IPCP) BCP LQR / LQM BAP/BACP PPP protocol suite
  • 7. © Peter R. Egli 2015 7/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 5. PPP protocols (1/2) LCP Link Control Protocol: LCP negotiates and controls link parameters on both ends (e.g. MRU Max. Receive Unit, header compression, encapsulation). CHAP - CHallenge Authentication Protocol: Description see below. PAP - Password Authentication Protocol: Description see below. EAP - Extensible Authentication Protocol: EAP is a protocol that supports a range of authentication algorithms/protocols. IPCP - IP Control Protocol (is an NCP Network Control Protocol): IPCP establishes IP operation on both ends of point-to-point links (mainly assignment of IP address and DNS server from responder to initiator).
  • 8. © Peter R. Egli 2015 8/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 5. PPP protocols (2/2) CCP - Compression Control Protocol: CCP negotiates and controls compression on both ends of link. BCP - Bridging Control Protocol: BCP establishes bridging operation on both ends of point-to-point link (similar to IPCP, but instead of routing it initializes bridging). BAP/BACP - Bandwidth Allocation (Control) Protocol: BAP/BACP can be used to add/remove individual links in a multi-link bundle (MultiLink PPP). ECP - Encryption Control Protocol: ECP allows configuring and enabling encryption on both ends of the link. LQM – Link Quality Monitoring: LQM is used for monitoring the link quality. LQR is used for link quality reporting.
  • 9. © Peter R. Egli 2015 9/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 6. PPP framing with HDLC The PPP framing is a variant of HDLC (High Level Data Link Control). The framing is character oriented, i.e. the frame always has an integral number of bytes (=octet). When the payload (user data) contains flags, an escape byte 0x7D is inserted (byte stuffing). The field address is fixed = 0xFF which means that all stations are to accept the frame. Control = 0x03 means that the frame is unnumbered (PPP does provide error detection, but no error correction; reliable transmission with PPP is set forth in RFC1663). The protocol field identifies the layer 3 protocol contained in the payload (for protocol values see IANA assigned numbers). The payload is variable length (default 1500 bytes). The checksum is either a 2 byte CRC16 (default) or 4 byte CRC32 (for frames > 4kB). Flag=0x7E Address 0xFF Control 0x03 Protocol Checksum Flag=0x7EPayload 1 1 1 1 or 2 Variable 2 or 4 1
  • 10. © Peter R. Egli 2015 10/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 7. LCP and NCP A. LCP (Link Control Protocol): LCP is used for establishing the link. LCP allows negotiating link options like: a. Authentication protocol to be used. b. Header compression / address field compression. c. MRU (maximum receive unit). LCP periodically tests the link with symmetric LCP-Echo requests / replies. LCP brings down the link gracefully when it is no longer in use. B. NCP (Network Control Protocol): NCP is used for the dynamic assignment of an IP address to the client and the assignment of a primary and secondary DNS server. The host must set a default route to the PPP interface since there is no default gateway IP address (the link is point-to-point, thus typically the link is unnumbered without an IP address on the server side).
  • 11. © Peter R. Egli 2015 11/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 8. PPP authentication PAP and CHAP are used for Authentication with PPP (is the one I am talking to the one he pretends to be?). PAP RFC1661 Password Authentication Protocol: PAP simply sends a username and password (cleartext) to the remote computer. Thus PAP is considered insecure. PAP is symmetric and does not allow asymmetric settings with an authenticator and a peer (authenticator authenticates peer). CHAP RFC1994 Challenge Handshake Authentication Protocol: With CHAP, an authenticator (usually server) authenticates a peer (usually client). Thus CHAP is asymmetric. CHAP procedure: 1. The authenticator computes a random value (=challenge) to foil replay attacks. 2. The authenticator sends the challenge to the peer. 3. The peer computes a hash (MD5) value on the identifier (username), secret (password) and challenge. 4. The peer sends hash value to authenticator. 5. The authenticator performs the same calculation and checks if the result is ok.
  • 12. © Peter R. Egli 2015 12/12 Rev. 2.90 PPP - Point to Point Protocol indigoo.com 9. Typical PPP session Wireshark trace of a PPP session with CHAP authentication. I: 1 0.000000 Client -> Server PPP LCP PPP LCP Configuration Request R: 2 0.028594 Server -> Client PPP LCP PPP LCP Configuration Request I: 3 0.029362 Client -> Server PPP LCP PPP LCP Configuration Ack R: 4 0.030818 Server -> Client PPP LCP PPP LCP Configuration Reject I: 5 0.031299 Client -> Server PPP LCP PPP LCP Configuration Request R: 6 0.063986 Server -> Client PPP LCP PPP LCP Configuration Ack I: 7 0.064776 Client -> Server PPP LCP PPP LCP Identification I: 8 0.066026 Client -> Server PPP LCP PPP LCP Identification R: 9 0.068683 Server -> Client PPP CHAP PPP CHAP Challenge I: 10 0.069147 Client -> Server PPP CHAP PPP CHAP Response R: 11 0.718392 Server -> Client PPP CHAP PPP CHAP Success I: 12 0.720670 Client -> Server PPP CCP PPP CCP Configuration Request I: 13 0.722227 Client -> Server PPP IPCP PPP IPCP Configuration Request R: 14 0.885780 Server -> Client PPP IPCP PPP IPCP Configuration Request I: 15 0.932285 Client -> Server PPP IPCP PPP IPCP Configuration Ack I: 16 0.933597 Client -> Server PPP IPCP PPP IPCP Configuration Request R: 17 0.959508 Server -> Client PPP IPCP PPP IPCP Configuration Nak I: 18 0.960196 Client -> Server PPP IPCP PPP IPCP Configuration Request R: 19 0.984960 Server -> Client PPP IPCP PPP IPCP Configuration Ack ... PPP data R: 20 1.156618 Server -> Client PPP LCP PPP LCP Echo Request I: 21 1.275972 Client -> Server PPP LCP PPP LCP Echo Reply R: 22 11.156947 Server -> Client PPP LCP PPP LCP Echo Request R: 25 13.341129 Server -> Client PPP LCP PPP LCP Termination Ack Key: I: Initiator R: Responder LCP CHAP NCP (IPCP) LCP