Introduction to PPP Sharon Katz. History Dial-up file transfer protocol Early 80`s: PC users begin...

28
Introduction to PPP Sharon Katz
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    0

Transcript of Introduction to PPP Sharon Katz. History Dial-up file transfer protocol Early 80`s: PC users begin...

Introduction to PPP

Sharon Katz

History

Dial-up file transfer protocol

Early 80`s: PC users begin to communicate

through file transfer protocols:

X-Modem

Y-Modem

Z-Modem

Asymetric protocols

In the unix world TCP/IP vs. file transfer protocols

Telecommunication technologies:

Local networks: 3MB and 10MB ethernets.

Distance communication: Leased lines

Primitive dial-up modems

Dial-up networking

Using dial-up modems for packet-oriented-networking (I.e connecting to the internet) requires a data-link layer protocol

widely-spread protocols: SLIP PPP

History

SLIP - Serial Line Internet Protocol Defined in the early 80`s Purpose

extending TCP/IP networking with dial-up serial connection

Usersunix users at the beginning and PC users later

Advantages Very simple protocol Easy implementation

SLIP - Serial Line Internet Protocol

Disadvantages Does not support error detction and correction

Supports only IP (and not IPX/SPX etc`)

Requires advance knowledge of the peer`s IP

address

Is not approved internet standard

Does not provide any form of authentication

PPP – design principles

Support multiple network protocols Link configuration Error detection Establishing network addresses Authentication Extensibility

PPP – a layered protocol

PPP relies on another DLP – HDLC – to perform some basic operations

After the initial handshake, PPP executes its own handshake

PPP itself consists of two protocols: LCP – Link Control Protocol NCP – Network Control Protocol

HDLC

Definition

High-level Data Link Control, Bit-oriented link protocol

published by ISO

foundation for other protocols (examples )

Operations

1st stage – frame formation

2nd stage – medium-dependant frame transmission

3 variable-length fields Address – intended for multidrop links Control – specifies the type of message transmitted Information – content transferred by the top level

application 1 fixed-length field

Check

HDLC – frame format

address control information check

HDLC frame

Establishing PPP communication requires

transitioning a connection through several

states

Some of these operations are done by

LCP and some by NCP

PPP state machine

Dead Establish

Network

terminate Authenticate

PPP state machine

opened

Success / None

down

closing

fail

fail

up

PPP – frame format

Protocoltype of information in data/padding field (I.e: IP, IPCP, LCP, CHAP etc`)

Data/Padding data for the upper layer protocols or PPP control packets

dataprotocolflag addr control padding check

PPP frame

LCP

Purposes Link establishment Link maintenance Link termination

Optional operations Link quality determination Authentication

LCP - packets

There are 3 classes of LCP packets: Link configuration

configure-request, configure-ack, configure-nak & configure-reject

Link terminationterminate-request & terminate-ack

Link monitoringcode-reject, protocol-reject, echo-request, echo-reply & discard-request

LCP – packet format

Code – type of LCP packet (configure-ack etc`)

ID – request-response matching ID Length – of the LCP packet Data – the LCP packet

code length DataID PPP framePPP frame

LCP Options

MRU determination Magic number selection Authentication Protocol Escaped characters map

NCP

PurposeConfiguring the network layer protocol.

There exists a separate NCP for each

network layer protocol Negotiation process

Same message formats, code numbers

and state machines as LCP

IPCP – IP Control Protocol Purpose

TCP/IP matching NCP Establishes, configures and terminates the

TCP/IP network layer protocol Options

IP-Compression protocol – I.e Van-Jacobson (VJ) compressed TCP/IP

IP address – allows dynamic IP configuration DNS & NBNS address

IPCP – packet format

data0x80210x7E 0xFF 0x03 check

PPP frame

(protocol)

IPCP datalengthCode ID

PPP – unsupported options Flow control

Any PPP frame sent that overflows thereceiver's buffer are lost

Error correctionPPP includes only Frame Check Sequence (CRC)

Re-sequencingPPP assumes all frames, sent and received, retain their original intended order

Tunneling - definitionThe process of running one network protocol

on top of another.

Common use: VPN (Virtual Private Network) Tunneling method

Extending the link between the HDLC driverand the rest of PPP over a separate network

PPP tunneling protocolsL2TP, L2F, PPTP & ethernet (PPPoE)

Tunneling & PPP

Tunneling & PPP

THE MIDDLE

Next: PPP security

Internet layered architechture

Application

Transport

Network

Data Link

Physical Media, clocking and synchronization

Data link operations (???)

Forwarding and route discovery

Port and traffic management

End-user application

Data link protocol

Defintionmanages node-to-node transfer of data between

two directly connected machines.

Operations Error detection and correction (depends on the protocol) Addressing (in LANs) Frame-level synchronization between sender and

receiver Flow control Maintaining awareness of link conditions

HDLC`s family

HDLC

LAPB)x. 25(

LAPM)v. 42(

LAPD)ISDN(

LLC)LANs(

SDLC)SNA(

LAPX)teletex(

ESF)T1(

MTP-2)SS7(

LAPDm)GSM(

LAPF)frame-relay(

PPP)many(

PPP – a layered protocol

Application

Transport

Network

NCP

LCP

HDLC

Physical

Data LinkPPP

PPP – design principles

Support multiple network protocols Link configuration Error detection Establishing network addresses Authentication Extansibility

Not limited to the internet and other TCP/IP networks, I.e: IPX/SPX and IPv6Includes nagotiation mechanisms for establishing communication parameters betweens two PPP peersDetects datagrams corruption upon reception and discards such corrupted dataSets network addresses necessary for the datagrams routingSupports authentication between peers before useful communication beginsYet, maintains backward compatibility