Point-to-Point Protocol (PPP)

Download Report

Transcript Point-to-Point Protocol (PPP)

Point-to-Point Protocol (PPP)

 In order for any layer 3 protocol to traverse the WAN over a dialup or dedicated link, it must be encapsulated by a data-link layer protocol.

PPP

, the Serial Line Internet Protocol

(SLIP

), and the AppleTalk Remote Access Protocol (

ARAP

) work at the data-link layer (Layer 2) to encapsulate routed protocols like TCP/IP, Novell IPX and Appletalk.

Point-to-Point Protocol (PPP)

 This chapter focuses only on encapsulating TCP/IP.

 Today, there are essentially two data link layer protocols used to encapsulate TCP/IP:

Point-to-Point Protocol (PPP)

SLIP

- SLIP is a standard protocol for point to-point serial connections, using TCP/IP. SLIP was a predecessor of PPP. 

PPP

- PPP provides router-to-router and host-to-network connections over synchronous and asynchronous circuits, which can be either dialup or leased lines.

PPP

PPP

is a

more recent standard

SLIP

, and is almost always the than preferred data-link layer encapsulation on dialup asynchronous links. On a

Cisco router

, SLIP is the

default

encapsulation on an

asynchronous dialup interface

, so you must

manually configure

the encapsulation in order to use PPP.

PPP

SLIP

is essentially

limited

to use with

IP

, whereas PPP can be used for

other network-layer protocols and AppleTalk.

such as Moreover, PPP

IPX

supports

essential features

such as

dynamic address allocation, PAP authentication, CHAP authentication,

and

Multilink PPP

. SLIP does not support these features.

PPP Overview

 

High-Level Data Link Control (HDLC

) is the

default encapsulation

for

ISDN

and

serial interfaces

on a Cisco router.

Cisco's HDLC is not necessarily compatible with other vendors' HDLC implementations.

PPP

implementations follow open standards and are

almost always compatible

. Thus,

PPP is the protocol of choice

when configuring serial links in a

multivendor

environment.

PPP Overview

 It is important to note that

PPP

actually uses

HDLC

as a

basis

for

encapsulating datagrams

. However, PPP is more

expansible

than HDLC because it adds

extensions

(

features

) to the

link layer

.

PPP Overview

 PPP can

negotiate link options dynamically

and can support

multiple Layer 3 protocols

(IP, IPX, AppleTalk, etc.). PPP accomplishes these two tasks by

encapsulating

Layer 3 datagrams with a specialized frame. PPP's frame format is based on the HDLC frame format.

PPP Overview

 PPP defines the

Link Control Protocol (LCP).

The job of LCP is to

establish,

configure, and test

the data-link connection.

PPP Overview

 When hosts negotiate a PPP connection, they

exchange LCP packets

. These packets allow link partners to

dynamically negotiate link options

, including

authentication

,

compression

, and

multilink PPP MLP

(for load balancing).

PPP Overview

 Once the

LCP establishes

the

Layer 2 connection

, the

Network Control Protocol (NCP)

takes over. Link partners exchange NCP packets to establish and configure different network-layer protocols including IP, IPX, and AppleTalk. Each Layer 3 protocol has its own NCP. For example, IP's NCP is IPCP; IPX's NCP is IPXCP, and Appletalk's NCP is ATALKCP.

PPP Overview

 The NCP can build up and tear down multiple Layer 3 protocol sessions over a single data link. This capability is called

protocol multiplexing

. When a host requests that the connection be terminated, the NCP tears down the Layer 3 sessions and then the LCP tears down the data link.

 PPP's components operate at Layer 2 of the OSI model.

PPP LCP Options

  PPP offers a rich set of features that are configured by LCP during link establishment. The configuration features negotiated through the LCP are:

Authentication

, with

PAP

or

CHAP

, is used as a security measure with PPP. Authentication allows the dial-up target to

identify

that any given

dialup

client is a

valid

client

with a

pre-assigned username

and

password.

PPP LCP Options

Callback

is a PPP option used to provide call and dialup billing consolidation. PPP callback was first supported in Cisco IOS Release 11.0(3).

PPP LCP Options

Compression

reduces the size of data frames to be transmitted over a network link which reduces the time required to transmit the frame across the network. PPP compression was first supported in Cisco IOS Release 10.3. Cisco routers support Stacker, Predictor, and Microsoft Point to Point Compression (MPPC). .

PPP LCP Options

Multilink PPP (MLP) balancing

feature provides

load

functionality over multiple WAN links, while providing multivendor interoperability, proper sequencing, and load calculation on both inbound and outbound traffic. Datagrams are split, sequenced, transmitted across multiple links, and then recombined at the destination. The multiple links together are called a bundle.

PPP LCP Options

 Multilink is especially useful with ISDN BRI configurations, in which both B channels can be used to achieve 128 kbps throughput. MLP also works with modems to provide additional bandwidth. This protocol was first supported in Cisco IOS Release 11.0(3).

PAP and CHAP

 Generally, you should always configure

asynchronous

lines to require

authentication

. With PPP, you have the option to require that callers

authenticate

using

one authentication protocols

,

PAP

of

two

or

CHAP

. If you are using PPP over a

point-to-point leased line

, authentication is unnecessary, and should not be configured.

the lines, as opposed to tunneling through the internet.) (because you control

PAP and CHAP

PAP is not as good as CHAP

CHAP is considered a superior authentication protocol and should be used when possible. When is it appropriate to run PAP? You may find that hosts running legacy software may not support CHAP, in which case PAP is your only authentication option.

PAP and CHAP

 When using

PAP

, the

remote host

the

frequency

and

timing

of is

in control login requests

of . This is undesirable, as the access server must respond to

all

login requests, even the repeated attempts of a hacker to guess, or "

brute force

," a username/password combination.

PAP

passwords as

clear text

also sends over the media, which means a strategically placed packet sniffer could capture and easily decode the password.

PAP and CHAP

 On the other hand, access servers that are configured with

attempts

.

CHAP

are

in control of login

 The

server

must send a

challenge packet.

The challenge packet consists of an

ID

, a

random number

, and the

host name

of the local router.

PAP and CHAP

 The

CHAP request

protocol also allows servers to that the

remote host re-authenticate

at

any time

, which provides another dimension of security. This feature is not typically used with Cisco routers.

Configuring PAP Example

 Enable PPP encapsulation and PAP authentication with the following commands: Router(config if)#

encapsulation ppp

Router(config-if)#

ppp authentication pap

STOP HERE PLEASE

Configuring PAP Example

 You must also configure the router with a local username/password database, or point it to a network host that has that information (such as a TACACS+ server). Without access to a username/password database, the router won't know which combinations are authorized and will deny all login attempts. You can configure a local username/password database by using the following command in global configuration mode:

Configuring PAP Example

 Router(config)#

username username password password

 Router(config)#

username Romeo password Juliet

Configuring PAP Example

  In some cases, you must also configure a router's asynchronous interface to place calls to other access servers. If you want to configure an interface to respond to a peer's request to authenticate with PAP, you must use the

ppp pap sent-username

command: Router(config-if)#

ppp pap sent username username password

password

Configuring PAP Example

 Note that in router RTA's configuration, the

ppp pap sent-username

command is used to specify what username/password information to send in the event that it dials RTB and is asked to authenticate. Router RTB is also configured to send a username and password for PAP, if challenged.

Configuring PAP Example

 The name included with the

username

and

dialer map

commands is case sensitive. If the remote host's name is

RTA

, and you create a username entry for

rta

instead, authentication will fail.

Configuring PAP Example

 To ensure that both systems in the example can communicate properly, their asynchronous interfaces have been configured with the

dialer map

command that includes the remote router's name. By configuring each router with a

dialer map

statement, each system knows what to do with authentication issues because the systems have prior knowledge of each other's names.

Configuring PPP

  You enable PPP encapsulation on an interface by using the following command: Router(config-if)#

encapsulation ppp

  Thus, if you want dial-in hosts on terminal line 2 to use PPP, you would enter the following commands: RTA(config)#

interface async 2

RTA(config-if)#

encapsulation ppp

Configuring PPP

 Note that the

encapsulation

command is issued in interface configuration mode, not line configuration mode.

Configuring PPP

 When a remote host dials into an access server's asynchronous interface, it can start an

EXEC

session with the router. This feature allows remote users to login to the router and issue commands as if the user was connected to the console port. No IP addressing or PPP encapsulation is needed for this type of connection. Data is sent as asynchronous characters.

Configuring PPP

  Alternately, a remote host can dial in to an access server and send a Layer 3 protocol packet encapsulated by PPP, SLIP, or ARA. This type of connection allows the remote user to access network resources such as file servers and mail servers.

You can also configure the router's asynchronous interface to automatically select between PPP data sessions and EXEC sessions.

Configuring PPP

 Generally, you will want to restrict the ability of remote users to start EXEC sessions with your router. Typical end users do not require access to the router's interface. Instead, they need a Layer 3 protocol (IP, etc.) connection to the corporate network or the Internet. In most cases, you should force the asynchronous interface to use PPP and not allow an EXEC connection.

Configuring interactive PPP sessions

 With the PPP

autoselect

feature, you can configure an access server's terminal line to provide either a PPP session or an EXEC session based on input from the remote host.

 Essentially, this feature

allows the remote host to determine the session type

. The access server automatically detects which type of session is being requested, and responds accordingly.

Configuring interactive PPP sessions

 Enabling this feature requires two steps. First, you must configure the asynchronous interface(s) with the

async mode interactive

command in interface configuration mode.

 This command configures the router so that it allows the remote host to choose either a PPP session or an EXEC session.

Configuring interactive PPP sessions

  The following example shows how to configure interface async 1: RTA(config)#

interface async 1

RTA(config-if)#

encapsulation ppp

RTA(config-if)#

async mode interactive.

 Second, you must configure the corresponding terminal line(s) with the

autoselect ppp

command in line configuration mode.

Configuring interactive PPP sessions

  To complete the example configuration, you would enter the following commands: RTA(config)#

line 1

RTA(config-line)#

autoselect ppp during-login

Configuring interactive PPP sessions

 The

autoselect

command permits the access server to allow an appropriate process to start automatically when a starting character is received. If the start character is a return character, then the access server starts an EXEC session. So, users who want to begin an EXEC session typically must press the Return key after establishing a dialup connection.

Configuring interactive PPP sessions

 On the other hand, if the access server recognizes the start character as PPP, SLIP, or ARAP, it will begin a session for whichever protocol it detects.

 So, if an end user is using a program that sends a PPP frame, the access server will automatically start a PPP session.

Configuring interactive PPP sessions

  The

during-login autoselect

option of the command causes the username/password prompt to display in the remote hosts' terminal window without the user having to press the Return key. This command is not required.

After a host has established an EXEC session, the remote user can switch to a PPP session at any time by issuing the

ppp

command at the router prompt.

Dedicated PPP Sessions

 In most cases, you will want to configure your access server's asynchronous lines in

dedicated mode

so that users are forced into using PPP. In dedicated mode, an interface is automatically configured for PPP connections.

There is no user prompt or EXEC level, and no end-user commands are required to initiate remote-node connections

.

Dedicated PPP Sessions

   To ensure that the dial-in user must run PPP on the specified line, use the

async mode dedicated

command: Router(config-if)#

async mode dedicated.

To summarize:

Interactive mode

places the interface in interactive mode: allows an

EXEC

session.

Dedicated Mode

places the interface into dedicated

PPP/SLIP

mode.

Configuring the interface addressing method

 Most dialup PPP sessions are established for the purpose of sending and receiving TCP/IP packets. Asynchronous PPP connections allow remote users to dial up and access the corporate IP network or the Internet. In order for remote nodes to be able to participate in a TCP/IP network, they must have an IP address. This means that the remote node's link partner, the router's asynchronous interface, must have an IP address as well.

Configuring the interface addressing method

 To assign an IP address to an access server's asynchronous interface, use the

ip address

command (which is the same command used to assign addresses to Ethernet or Serial interfaces).

  The following example configures the IP address of interface async 1: RTA(config)#

interface async 1

RTA(config-if)#

ip address 10.1.1.1 255.255.255.

Configuring the interface addressing method

  Because access servers can have literally hundreds of asynchronous interfaces, and because all of them are not likely to be in use at the same time, you may wish to conserve IP addresses by using the

IP unnumbered

feature.

Multiple async interfaces

on the same router can share the same IP address, including an address assigned by the IP unnumbered feature.

Configuring the interface addressing method

  The IP unnumbered feature can only be used with

point-to-point

configurations. The syntax for the

ip unnumbered

command is: Router(config-if)#

ip

unnumbered type number.

Configuring the interface addressing method

 With this command, you must specify the type and number of the interface to borrow the IP address from (Ethernet 0, Loopback 0, etc.). A

loopback interface

is a virtual interface that never goes down and is therefore an ideal line to use as the reference with the

ip unnumbered

command.

Configuring the interface addressing method

  The following commands illustrate how to configure an asynchronous interface for IP unnumbered using a loopback interface: RTA(config)#

interface loopback 0

RTA(config-if)#

ip address 10.1.1.1 255.255.255.0

RTA(config-if)#

exit

RTA(config)#

interface async 1

RTA(config-if)#

ip unnumbered loopback 0.

Configuring the interface addressing method

 Addressing the access server's asynchronous interface is only half of the IP configuration equation. You must also implement a mechanism for assigning IP addresses to remote dial-in users.

Configuring the interface addressing method

  PPP allows for the automatic assignment of IP addresses using a specific address,

an address from a pool defined on the router, or Dynamic Host Configuration Protocol (DHCP

). Alternately, you can configure the access server to allow the remote host to choose its own address.

To assign a default (predefined) IP address to the remote dial-in host, use the

peer default ip address

command.

Configuring the interface addressing method

 Additionally, the

pool

and

dhcp

arguments allow address allocation from a local pool of addresses or a DHCP server.

 Router(config-if)#

peer default ip address

{address | pool

pool name |

dhcp}.

 The following example shows how to configure a

group of asynchronous interfaces

(

rotary group)

to assign IP addresses from a locally defined pool.

Configuring the interface addressing method

 RTA(config)#

IP local pool DIAL-IN 10.1.1.2 10.1.1.254.

 RTA(config)#

Interface group-async 1.

 RTA(config-if)#

peer default ip address pool

DIAL-IN.

Configuring the interface addressing method

 Note that the

pool

option to the

peer default ip address

command require a global command to create the pool of addresses; for example,

ip

local pool pool-name

starting-address end-address

.

Configuring the interface addressing method

 If you have configured an asynchronous interface for interactive mode, you have the option to allow the IP address to be assigned dynamically by the caller. After the remote user enters the

ppp

EXEC command, the access server will prompt the user for an IP address or logical host name.

Configuring the interface addressing method

  To enable this dynamic addressing feature, use the

async dynamic address

command in interface configuration mode, as shown: Router(config-if)#

async dynamic address.