Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Tema 5Tema 5
Protocolo PPP Protocolo PPP (Point to Point (Point-to-Point
Protocol)Protocol)
Laboratorio de Redes y Servicios de Comunicaciones 1
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
ÍndiceÍndiceP l i l d l • Protocolos a nivel de enlace para redes punto a punto……
• SLIP (Serial Line Internet 3
S (Se a e e eProtocol) …………………………….
• PPP (Point-to-Point Protocol)LCP (Link Cont ol P otocol)
911
– LCP (Link Control Protocol)………– PAP (Password Authetication
protocol)……………………………………CHAP (Challenge Handshake
20
27 – CHAP (Challenge-Handshake
Authentication Protocol) ………….– IPCP (IP Control Protocol)……….
• Cierre de conexión PPP
2931
34• Cierre de conexión PPP……….• Bibliografía………………………….
3435
Laboratorio de Redes y Servicios de Comunicaciones 2
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Protocolos de nivel de enlace
Desde el punto de vista IP: una red física punto a
para redes punto a punto (I)• Desde el punto de vista IP: una red física punto a
punto interconecta dos (y sólo dos) dispositivos IP.• Este tipo de redes físicas son las más habituales • Este tipo de redes físicas son las más habituales
para conectar dispositivos IP separados largas distancias (WAN, Wide Area Networks). Ejemplos:( , ) j p– Enlace con módem analógico a través de la Red Telefónica
Básica (RTB).E l ód RDSI (R d Di it l d S i i – Enlace con módem RDSI (Red Digital de Servicios Integrados).
– Circuito Virtual ATM.– Circuito Virtual Frame Relay.– Línea dedicada de ancho de banda fijo.
Laboratorio de Redes y Servicios de Comunicaciones 3
– ...
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Protocolos de nivel de enlace para redes punto a punto (II)
Ejemplo: Interconexión de routers mediante CV Frame RelayEjemplo: Interconexión de routers mediante CV Frame Relay
Red Frame Relay (operadora)Cab
DTE DCE
DTEDCE(operadora)
Adaptador
Cab.FR Datagrama IP
Adaptador
Circuito Virtual switch
Frame RelayTopología IP Red física pto. a pto.
Frame Relay
Laboratorio de Redes y Servicios de Comunicaciones 4
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Protocolos de nivel de enlace para redes punto a punto (III)
Ejemplo: Interconexión con módem analógico con el Ejemplo: Interconexión con módem analógico con el Proveedor de Servicios de Internet (ISP, Internet Service Provider)
RTB (Red Telefónica Básica)
ISP (Internet Service Provider)
RTB (Red Telefónica Básica)(operadora)
InternetInternet
RAS (Remote Access Server)
Laboratorio de Redes y Servicios de Comunicaciones 5
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Protocolos de nivel de enlace para redes punto a punto (IV)
Datagrama
Protocolo IP Cab. IP Datos IP
Trama nivel de enlaceProtocolo nivel de enlace
Red física
Cab. IP Datos IPCab. enlace
100111010 (entramado red física punto a punto)
• ¿Cómo transmitir datagramas IP sobre enlaces t t ? H l d di ti t
Red física ...100111010... (entramado red física punto a punto)
punto a punto?. Hay enlaces de muy distintas características en cuestiones de capa física (entramado, etc.).
• Existe la necesidad de crear un protocolo de nivel de enlace, que esconda al nivel de red la problemática asociada a las distintas capas físicas.
Laboratorio de Redes y Servicios de Comunicaciones 6
problemática asociada a las distintas capas físicas.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Protocolos de nivel de enlace para redes punto a punto (V)
ISP
RTB Internet
Servicios deseables para un protocolo de nivel de enlace:• Servicios deseables para un protocolo de nivel de enlace:– Entramado de datagramas: Implica, p.e., marcar inicio y fin de
datagrama, para poder distinguir entre datagramas consecutivos.– Detección/corrección de erroresDetección/corrección de errores.– Control de flujo.– Demultiplexado/multiplexado de protocolos de red. Poder usar un
enlace para enviar simultáneamente tráfico de varios protocolos p pde nivel de red (p.e. IP e IPX).
– Control de la calidad del enlace. Determinar y monitorizar la calidad del enlace (basado habitualmente en la medición de los errores de transmisión)
Laboratorio de Redes y Servicios de Comunicaciones 7
errores de transmisión).
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Protocolos de nivel de enlace para redes punto a punto (VI)
ISP
RTB Internet
Resolver problema de transparencia de tráfico Determinados – Resolver problema de transparencia de tráfico. Determinados enlaces no permiten la transmisión de ciertos caracteres o secuencias de bits reservadas (p.e. caracteres XON/XOFF en módems analógicos). Es necesario implementar un mecanismo de t i d t iti t áfi i l t transparencia para poder transmitir tráfico que incluya estos patrones reservados.
– Autenticación. Ofrecer la posibilidad de autenticar la identidad de los extremos de los enlaces.
– Asignación dinámica de direcciones de red. P.e. que un extremo del enlace pida que se le asigne una dirección IP dinámicamente.
– ... (otras funcionalidades, asociadas principalmente a las necesidades de los ISPs)
Laboratorio de Redes y Servicios de Comunicaciones 8
necesidades de los ISPs).
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
SLIP (I)
• El primer protocolo de nivel de enlace empleado masivamente en la década de los 80 fue SLIP (Serial Line Internet Protocol, ( ,RFC 1055).
• Se trata de un protocolo extremadamente sencillo:Si ú i t t iti d t IP ( d t – Sirve únicamente para transmitir datagramas IP (no de otros protocolos de nivel de red) entre los dos extremos del enlace punto a punto.Añ d á END (0 C0) l i i i l fi l d – Añade un carácter END (0xC0) para marcar el inicio y el final de cada datagramas.
END D t IP END END D t IP END
– Si el datagrama incluye el carácter END, se emplea un mecanismo de transparencia mediante el carácter ESC (0xDB).
END Datagrama IP END END Datagrama IP END
p ( )– No realiza detección ni corrección de errores.
• Sin embargo, no llegó a estar completamente estandarizado, y existían distintas versiones de SLIP
Laboratorio de Redes y Servicios de Comunicaciones 9
y existían distintas versiones de SLIP.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
SLIP (II)Mecanismo de transparencia (transmisión)
1. Transmitir carácter END (marca i i i d t )
Mecanismo de transparencia (recepción)
1. Esperar recepción carácter END.inicio datagrama).
2. Para cada carácter c del datagrama:
• Si c=END (0xC0) => transmitir
2. Para cada carácter c recibido:• Si c=ESC (0xDB) => recibir
siguiente carácter cc.• Si cc=0xDC => añadir END a • Si c=END (0xC0) => transmitir
caracteres {ESC,0xDC}.• Si c=ESC (0xDB) => transmitir
caracteres {ESC,0xDD}.
Si cc 0xDC > añadir END a datagrama.
• Si cc=0xDD => añadir ESC a datagrama.
• Sino, error.• Sino, transmitir el carácter
3. Transmitir carácter END (marca fin de datagrama).
• Si c=END => fin de datagrama. • Sino, añadir c a datagrama.
3. Recibir carácter END (fin d )datagrama).
41C023
123
41C023
123ag
ram
a
tagr
ama
23DCDB29
Bytes transmitidos (SLIP)3456 1 2 2’ 3 4 5 5’ 6
DCDB29
456
Byt
es d
ata
Byt
es d
a
Laboratorio de Redes y Servicios de Comunicaciones 10
41 DB DC 23 DC DB DD 29
B
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (I)• SLIP: ampliamente utilizado en la conexión usuario-
ISP de acceso a Internet, en la década de los 80.• Sin embargo, ofrece muy pocas funcionalidades, que
los ISP debían resolver con aplicaciones i d di ( i ió d l i independientes (p.e. autenticación de los usuarios, con vistas a la tarificación, asignación dinámica de direcciones IP )direcciones IP...).
• Parecía clara la necesidad de un nuevo protocolo de nivel de enlace más completo que sea nivel de enlace más completo, que sea estandarizado (incluido en los S.O. comerciales etc.).
• El nuevo protocolo desarrollado es el protocolo PPP (Point-to-Point Protocol).
Laboratorio de Redes y Servicios de Comunicaciones 11
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (II)
• Descripción servicio ofrecido por PPP:– Servicio orientado a conexión (conexión PPP).– Pueda operar sobre cualquier tipo de enlace punto a
t l ú i i it d f ll d lpunto, con el único requisito de ser full-duplex.– Entramado de paquetes (separación entre
datagramas consecutivos)datagramas consecutivos).– Transparencia de datos. En caso de enlaces que
empleen caracteres reservados aplicar el necesario empleen caracteres reservados, aplicar el necesario mecanismo de transparencia.
– Multiplexación/demultiplexación Múltiples Multiplexación/demultiplexación. Múltiples protocolos de nivel de red pueden ser empleados transportados en la misma conexión PPP.
Laboratorio de Redes y Servicios de Comunicaciones 12
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (III)
– Detección de errores (no corrección).C t l d lid d d l ió– Control de calidad de la conexión.
– Autenticación de los extremos de la conexión.C ió d d– Compresión de datos.
– Negociación de la dirección de nivel de red.á– Posibilidad de configurar los parámetros de la
conexión PPP.E t ibl di ñ d d t l d – Extensible: diseñado de tal manera que puedan incorporarse nuevas funcionalidades en futuras versionesversiones.
Laboratorio de Redes y Servicios de Comunicaciones 13
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (IV)
• Funcionalidades no ofrecidas por PPP:C ió d ibl t i i – Corrección de errores, o posibles retransmisiones en caso de detección de error.Control de flujo– Control de flujo.
– Control del orden en la entrega de tramas (si el enlace punto a punto desordenase las tramas PPP enlace punto a punto desordenase las tramas, PPP no las ordenaría).
• Todas estas funcionalidades son legadas a • Todas estas funcionalidades son legadas a capas superiores.
Laboratorio de Redes y Servicios de Comunicaciones 14
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (V)
1 byte 1 byte 1 byte 1 ó 2 bytes nº entero bytes 2 ó 4 bytes 1 byte
Formato de trama
Flag FlagDirección Control Datos CRCProtocolo01111110 011111101111111 00000011
1 byte y y y y y y
• PPP usa una estructura de trama similar a la del protocolo de nivel de enlace HDLC (High-level Data Link Control).
• Flag (01111110 = 0x7E): Empleado para marcar inicio y fin de trama.
• Dirección (11111111 0xFF) Campo heredado de HDLC • Dirección (11111111 = 0xFF). Campo heredado de HDLC. En PPP tiene siempre el valor 0xFF (indica que todas las estaciones deben aceptar la trama).
• Control (00000011 = 0x03). Campo heredado de HDLC. En PPP tiene siempre el valor 0x03 (indica “trama no numerada”).
Laboratorio de Redes y Servicios de Comunicaciones 15
)
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (VI)
1 byte 1 byte 1 byte 1 ó 2 bytes nº entero bytes 2 ó 4 bytes 1 byte
Formato de trama
Flag FlagDirección Control Datos CRCProtocolo01111110 011111101111111 00000011
1 byte y y y y y y
• Protocolo.– Indica tipo de protocolo que se transporta en el campo de datos. P.e. LCP,
IPCP, IP, PAP, CHAP...IPCP, IP, PAP, CHAP...– Usualmente ocupa 2 bytes, aunque es posible configurar el envío
comprimido de este campo en 1 byte.
• Datos.Datos.– Tamaño variable, con un máximo por defecto de 1500 bytes, aunque es un
parámetro a negociar durante el establecimiento de conexión.
• CRC (detección de errores)• CRC (detección de errores).– Usualmente de 2 bytes.– Calculado sobre el campo de dirección, control, protocolo, datos. Es
calculado antes de aplicar el mecanismo de transparencia.
Laboratorio de Redes y Servicios de Comunicaciones 16
calculado antes de aplicar el mecanismo de transparencia.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (VII)Formato de trama
Flag FlagDirección Control Datos CRCProtocolog Datos CRCProtocolo01111110 011111101111111 00000011
2 bytes
Protocolos de nivel de red
Protocolos de tipo control de red (NCP, Network Control Protocols) Comienzan
Protocolos de tipo control de enlace de red.
Comienzan por 0x00:0x0021 – IP0x0029 – Appletalk0x002b Novell IPX
Network Control Protocols). Comienzan por 0x80.0x8021 – IP Control Protocol (IPCP)0x8029 – Appletalk Control Protocol0x802b – Novell IPX Control Protocol
enlace. Comienzan por 0xC0C021h – Link Control Prot. (LCP)C023h – PAPC025h Link Quality Report 0x002b – Novell IPX
0x003d – Multilink0x802b – Novell IPX Control Protocol0x803d – Multi-Link Control Protocol0x80fd – Compression Control Protocol
C025h – Link Quality ReportC223h – CHAP
Asociados a 1º parte establecimiento
de conexión PPP
Asociados a 2º parte establecimiento
de conexión PPP
Empleados durante fase de envío de
datos
Laboratorio de Redes y Servicios de Comunicaciones 17
de conexión PPP de conexión PPP datos
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (VIII)
IP IPX MPPP Otros...
Componentes
LCP
IPCP IPXCP Multilink CP Otros...PPP
Familia protocolos NCP
• El protocolo PPP distribuye parte de sus funciones en otros protocolos. Componentes de PPP:
Medio físico full-duplex (síncrono o asíncrono)
Componentes de PPP:– Protocolo LCP (Link Control Protocol) de control de enlace, encargado de la
configuración de parámetros asociados al enlace físico, parámetros como el protocolo de autenticación a emplear, o protocolo de control de calidad del enlace a emplear.
– Protocolos de autenticación (p.e PAP, CHAP).– Protocolos de control de calidad del enlace (p.e. LQR).– Un protocolo de la familia NCP (Network Control Protocol), para cada
protocolo de nivel de red que utilice el enlace. Se encarga de la configuración de parámetros asociados a cada protocolo de nivel de red, e independientes de la capa física (p e posible asignación dinámica de dirección IP)
Laboratorio de Redes y Servicios de Comunicaciones 18
de la capa física (p.e. posible asignación dinámica de dirección IP).
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Point-to-Point Protocol (IX)óFases de una conexión PPP
Establecimiento de enlace (LCP) LCP
• Fases de la conexión:1. Configuración parámetros
de enlace1
Autenticación
Establecimiento parámetros NCP
PAP, CHAP...
IPCP,...
de enlace.2. Autenticación (opcional).3. Configuración de
parámetros de nivel de red
2
3 pa á et os C
Intercambio de datos a nivel de red
Cierre de conexión a
IP, ...
parámetros de nivel de red. Tantos procesos en paralelo como protocolos de nivel de red utilizarán el enlace
4
Cierre de conexión a nivel NCP
Cierre de conexión a nivel LCP
IPCP,...
LCP
red utilizarán el enlace.4. Intercambio de datagramas.5. Cierre de conexiones NCP.
5
6nivel LCP
6. Cierre de conexión LCP.
Protocolos transportados
Laboratorio de Redes y Servicios de Comunicaciones 19
pen las tramas PPP
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (I)LCP (Link Control Protocol) (I)Flag
(01111110)Address
(11111111)Control
(00000011)Protocol
(C021h - LCP ) FCS Flag(01111110)
Código Identificador Longitud Información (en algunos mensajes LCP)
1 byte 1 byte 2 bytes Variable1 Configure-Request2 Configure-Ack3 Configure-Nak
1 byte 1 byte 2 bytes Variable
• Código: Tipo de mensaje LCP.4 Configure-Reject5 Terminate-Request6 Terminate-Ack7 Code-Reject
g p j• Identificador: Utilizado para asociar
mensajes LCP de consulta (REQUEST) y mensajes LCP de respuesta (ACK, NACK,
8 Protocol-Reject9 Echo-Request10 Echo-Reply11 Discard-Request
mensajes LCP de respuesta (ACK, NACK, REJECT).
• Longitud: Tamaño del mensaje LCP.• Información: Datos auxiliares necesarios 12 RESERVED • Información: Datos auxiliares, necesarios
en algunos mensajes LCP.
Laboratorio de Redes y Servicios de Comunicaciones 20
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (II)Cód. Tipo de mensaje Descripción
1 CONFIGURE REQUEST Prop esta de lista de opciones de ni el de enlace
LCP (Link Control Protocol) (II)
1234
CONFIGURE-REQUESTCONFIGURE-ACKCONFIGURE-NAK
CONFIGURE REJECT
Propuesta de lista de opciones de nivel de enlaceAcepta todas las opciones propuestas
Anuncia que alguna de las opciones no es aceptadaAnuncia que alguna de las opciones no es reconocida4
56
7
CONFIGURE-REJECTTERMINATE-REQUEST
TERMINATE-ACK
CODE REJECT
Anuncia que alguna de las opciones no es reconocidaSolicita el cierre de conexiónAcepta el cierre de conexión
A i ió d j LCP d ódi d id789
10
CODE-REJECTPROTOCOL-REJECT
ECHO-REQUESTECHO REPLY
Anuncia recepción de mensaje LCP de código desconocidoProtocolo desconocido
Tipo de mensaje HELLO para comprobar la actividad del otro extremoRespuesta el ECHO REQUEST10
11ECHO-REPLY
DISCARD-REQUESTRespuesta el ECHO-REQUEST
Solicitud de descartar un mensaje LCP
• Mensajes 1...4: Empleados durante el establecimiento del enlace.• Mensajes 5 y 6: Empleados durante el cierre del enlace.• Mensajes 7...11: Empleados en el mantenimiento y prueba del
enlace.
Laboratorio de Redes y Servicios de Comunicaciones 21
enlace.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (III)( ) ( )Fase de establecimiento de conexión
• Fase de establecimiento: Ambos extremos A y B configuran los y gparámetros de enlace simultáneamente.
• Extremo A:1. Envío de mensaje CONFIGURE-REQUEST con las opciones deseadas. Para 1. Envío de mensaje CONFIGURE REQUEST con las opciones deseadas. Para
las opciones no incluidas, se asumen los valores por defecto. Campo IDENTIFIER con valores distintos (consecutivos) para cada CONF-REQ.
2. B responde a la consulta:– Si B acepta todas las opciones => envía CONFIGURE-ACK, con mismo
identificador.– Si B no acepta alguna de las opciones =>envía CONFIGURE-NAK con mismo
identificador Se incluyen las opciones NO aceptadasidentificador. Se incluyen las opciones NO aceptadas.– Si B no entiende alguna de las opciones => envía CONFIGURE-REJECT.
3. Ante un CONFIGURE-NAK, se genera un nuevo mensaje CONFIGURE-REQUEST (incrementando el identificador), variando las opciones no aceptadas. Si A no puede aceptar el variar esas opciones, se termina el establecimiento del enlace, que no puede producirse.
• Extremo B: proceso en paralelo, similar y simétrico.
Laboratorio de Redes y Servicios de Comunicaciones 22
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (IV)Fase de establecimiento de conexión
• Maximum Receive Unit (MRU): En el mensaje CONFIGURE-REQUEST se especifica el tamaño máximo del campo de datos que se está dispuesto a recibir. Valor por defecto: q p p1500 bytes.
• Protocolo de Autenticación: En el mensaje CONFIGURE-REQUEST se especifica el protocolo de autenticación con el REQUEST, se especifica el protocolo de autenticación con el que se quiere que el otro extremo se autentique (el otro extremo debe por tanto enviar su login y password). Op iones disponiblesOpciones disponibles:
– Autenticación mediante protocolo PAP.– Autenticación mediante protocolo CHAP.– No es necesaria autenticación (opción por defecto).
Laboratorio de Redes y Servicios de Comunicaciones 23
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (V)Fase de establecimiento de conexión
• Protocolo de control de la calidad del enlace: El extremo que envía el mensaje CONFIGURE-REQUEST, indica que espera recibir información de calidad del enlace desde el otro extremo recibir información de calidad del enlace desde el otro extremo, siguiendo el protocolo indicado.
– Opciones disponibles: Link Quality Report (LQR).– Ninguno (opción por defecto).
• Otras opciones (ver RFC 1570, “PPP LCP Extensions”): – Compresión del campo protocolo (de 2 bytes a 1) Opción Compresión del campo protocolo (de 2 bytes a 1). Opción
desactivada por defecto.– Compresión de los campos Dirección y Control.
Utilización de CRC de 32 bits (opción por defecto: CRC 16 bits)– Utilización de CRC de 32 bits (opción por defecto: CRC 16 bits).– ...
Laboratorio de Redes y Servicios de Comunicaciones 24
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (VI)Fase de mantenimiento de la conexión
7 CODE REJECT A i ió d j LCP d ódi d id789
10
CODE-REJECTPROTOCOL-REJECT
ECHO-REQUESTECHO REPLY
Anuncia recepción de mensaje LCP de código desconocidoProtocolo desconocido
Tipo de mensaje HELLO para comprobar la actividad del otro extremoRespuesta el ECHO REQUEST
• Mensajes CODE-REJECT, PROTOCOL-REJECT: Enviados por un
1011
ECHO-REPLYDISCARD-REQUEST
Respuesta el ECHO-REQUESTSolicitud de descartar un mensaje LCP
extremo ante la recepción de una trama PPP de formato desconocido.
• ECHO-REQUEST / ECHO-REPLY: Un extremo que recibe un • ECHO REQUEST / ECHO REPLY: Un extremo que recibe un ECHO-REQUEST, debe responder mediante un ECHO-REPLY. Usados por algunos protocolos de prueba de la calidad del enlace y como comprobación de actividadenlace, y como comprobación de actividad.
• DISCARD-REQUEST: Usados en determinadas situaciones para la prueba de un enlace. El receptor de este mensaje, debe
Laboratorio de Redes y Servicios de Comunicaciones 25
simplemente descartarlo.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
LCP (Link Control Protocol) (VII)Mecanismo de transparencia PPP
• PPP emplea un mecanismo de transparencia a nivel • PPP emplea un mecanismo de transparencia a nivel de byte, con carácter de escape ESC = 0x7D.
• Transmisión de carácter c del campo de datos:p– Si c==0x7E (flag) => enviar {0x7D,XOR(c,0x20)}.– Si c==0x7D (ESC) => enviar {0x7D,XOR(c,0x20)}– Sino: enviar c.
A51 A5 1P PP
A5407D7EDB Bytes datos transmitidos (PPP)
1234
A5407D7EDB
1234da
tos
PPP
s da
tos
PP
DB56
A5 40 7D 5D 7D 5E DB 56
y ( )56 1 2 3 3’ 4 4’ 5 6
DB56
56
Byt
es
Byt
es
Laboratorio de Redes y Servicios de Comunicaciones 26
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
PAP (Password Authentication Protocol) (I)
Flag(01111110)
Address(11111111)
Control(00000011)
Protocol(C023h - PAP ) FCS Flag
(01111110)
Código Identificador Longitud Información (en algunos mensajes LCP)
1 byte 1 byte 2 bytes Variable1 Authenticate-Request2 Authenticate-Ack3 Authenticate-Nak
1 byte 1 byte 2 bytes Variable
• Código: Tipo de mensaje PAP.• Identificador: Utilizado para asociar
mensajes PAP de envío de login password (AUTH-REQUEST) y login,password (AUTH REQUEST) y mensajes PAP de respuesta (ACK, NACK).L it d T ñ d l j PAP• Longitud: Tamaño del mensaje PAP.
• Información: Datos auxiliares.
Laboratorio de Redes y Servicios de Comunicaciones 27
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
PAP (Password Authentication Protocol) (II)
• Los mensajes AUTH-REQUEST envían en
usuario: pedroServidor de acceso (BD claves)
usuario: pedro, clave: aquii li i l
REQUEST envían en texto claro la clave del usuario.El otro extremo
pclave: aqui
usuario: alicia, clave: xxyc
Negociación LCP [C-R: Autentic = PAP]
• El otro extremo comprueba el par {login,password}
dA-REQ (ID=1) {login=pedro, password=aquino}
A NAK (ID=1) {mensaje de texto (opcional)}
enviado, y acepta (A-ACK), a rechaza (A-NAK) la A-NAK (ID=1) {mensaje de texto (opcional)}
A-REQ (ID=2) {login=pedro, password=aqui}autenticación.
• El establecimiento del enlace no
A-ACK (ID=2) {mensaje de texto (opcional)}del enlace no progresa si no se supera la autenticación
Laboratorio de Redes y Servicios de Comunicaciones 28
autenticación.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
CHAP (Challenge-Handshake Authentication Protocol) (I)
Flag(01111110)
Address(11111111)
Control(00000011)
Protocol(C223h -CHAP ) FCS Flag
(01111110)
Código Identificador Longitud Información (en algunos mensajes LCP)
1 byte 1 byte 2 bytes Variable1 Challenge2 Response3 Success
1 byte 1 byte 2 bytes Variable
• Código: Tipo de mensaje CHAP.4 Failure • Identificador: Utilizado para
asociar mensajes CHAP de solicitud y respuestasolicitud y respuesta.
• Longitud: Tamaño del mensaje PAPPAP.
• Información: Datos auxiliares.
Laboratorio de Redes y Servicios de Comunicaciones 29
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
CHAP (Challenge-Handshake Authentication Protocol) (II)
• El usuario no envía su clave t t l l d
usuario: pedroServidor de acceso (BD claves)
usuario: pedro, clave: aquii li i l
en texto claro por la red.• Se utiliza la clave, mediante
una función hash, para crear una nueva cadena que se p
clave: aquiusuario: alicia, clave: xxyc
Negociación LCP [C-R: Autentic = CHAP]El servidor genera una cadena aleatoria
una nueva cadena que se envía al servidor.
Response (ID=1) {hash(ID c ”aqui”)}
Challenge (ID=1) {c=cadena de caract. aleatoria}
se do ge e a u a cade a a ea o a
El usuario devuelve la función hashResponse (ID=1) {hash(ID,c, aqui )}
Success (ID=1) {mensaje de texto (opcional)}de la cadena {ID,c,password}
El servidor comprueba el resultado enviado, con el mismo cálculo ,realizado con la clave de usuario almacenadaNota: Opcionalmente, el proceso de autenticación
puede repetirse en otros momentos tras el
Laboratorio de Redes y Servicios de Comunicaciones 30
puede repetirse en otros momentos tras el establecimiento de la conexión.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
IPCP (IP Control Protocol) (I)Flag
(01111110)Address
(11111111)Control
(00000011)Protocol
(8021h - IPCP ) FCS Flag(01111110)
Código Identificador Longitud Información (en algunos mensajes LCP)
1 byte 1 byte 2 bytes Variable1 byte 1 byte 2 bytes Variable1 Configure-Request2 Configure-Ack3 Configure-Nak • La fase de establecimiento NCP no comienza 4 Configure-Reject5 Terminate-Request6 Terminate-Ack7 Code-Reject
hasta que no finaliza con éxito el establecimiento LCP, la autenticación y la medición de calidad del enlace, si las hubiera.
• Si el enlace se emplea para el intercambio de datagramas IP, el protocolo NCP que gobierna la configuración de parámetros es IPCP. g p
• Campos Código, Identificador, Longitud e Información, tienen similares objetivos al de los mensajes LCP.
Laboratorio de Redes y Servicios de Comunicaciones 31
j
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
IPCP (IP Control Protocol) (II)Cód. Tipo de mensaje Descripción
1 CONFIGURE REQUEST Prop esta de lista de opciones IPCP1234
CONFIGURE-REQUESTCONFIGURE-ACKCONFIGURE-NAK
CONFIGURE REJECT
Propuesta de lista de opciones IPCPAcepta todas las opciones propuestas
Anuncia que alguna de las opciones no es aceptadaAnuncia que alguna de las opciones no es reconocida4
567
CONFIGURE-REJECTTERMINATE-REQUEST
TERMINATE-ACKCODE REJECT
Anuncia que alguna de las opciones no es reconocidaSolicita el cierre de conexión a nivel IPCPAcepta el cierre de conexión a nivel IPCP
Anuncia recepción de mensaje IPCP de código desconocido7 CODE-REJECT Anuncia recepción de mensaje IPCP de código desconocido
• Fase de establecimiento: Ambos extremos A y B configuran los parámetros de enlace simultáneamente mediante mensajes parámetros de enlace simultáneamente, mediante mensajes CONFIGURE-REQUEST/ACK/NAK/REJECT, de manera similar a como se realiza la negociación a nivel LCP.N d i ti i t bi d d t h t i • No puede existir intercambio de datagramas hasta que no se cierre con éxito (C-ACK) la fase de negociación IPCP.
• Las diferencias LCP-IPCP existen en las opciones que se configuran.
Laboratorio de Redes y Servicios de Comunicaciones 32
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
IPCP (IP Control Protocol) (III)Opciones configurables
• IP-Compression-Protocol: Permite negociar la utilización de compresión de datagramas IP. P.e. compresión mediante protocolo Van Jacobson. de datagramas IP. P.e. compresión mediante protocolo Van Jacobson. La opción por defecto es “no compresión”.
• IP-Address: Permite negociar la dirección IP que se va a utilizar en el extremo local (extremo A que envía el CONFIGURE-REQUEST)extremo local (extremo A, que envía el CONFIGURE REQUEST).
1. El extremo A puede anunciar la dirección IP que desea tener.– El extremo A envía esta información en un mensaje C-REQUEST, con la dirección IP
local (A). El extremo B puede aceptar (C-ACK) o rechazar esta petición. Dentro del ( ) p p ( ) pmensaje C-NAK, B puede sugerir una dirección que aceptaría.
2. El extremo A puede pedir al otro extremo que le asigne una dirección IP.– El extremo A envía esta información en un mensaje C-REQUEST, con la dirección IP
0 0 0 0 El extremo B debe rechazar la opción (C NAK) incluyendo una dirección IP 0.0.0.0. El extremo B debe rechazar la opción (C-NAK), incluyendo una dirección IP en la respuesta.
3. Opción por defecto: no se asigna ninguna dirección IP durante el establecimiento IPCP.
• La negociación IPCP se produce simultánea e independientemente en ambos sentidos (al igual que LCP).
• Otras opciones: puede consultarse una lista actualizada en la RFC
Laboratorio de Redes y Servicios de Comunicaciones 33
• Otras opciones: puede consultarse una lista actualizada en la RFC 1060.
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
Cierre de conexión PPPCierre de conexión PPP• El cierre de conexión se
li di t l 1 Establecimiento de
enlace (LCP)
realiza mediante los mensajes TERMINATE-REQUEST y TERMINATE-2
3
Autenticación
Establecimiento parámetros NCP
REQUEST y TERMINATEACK.
• En un cierre ordenado:4
TERMINTATE-REQ
Intercambio de datos a nivel de red
En un cierre ordenado:– Cada protocolo NCP realiza
un cierre ordenado.
5TERMINATE-ACKTERMINATE-REQTERMINATE-ACK
TERMINTATE-REQ
Cierre IPCP– A continuación, existe un
cierre ordenado LCP.
6
TERMINTATE REQTERMINATE-ACKTERMINATE-REQTERMINATE-ACK
Cierre LCP
Laboratorio de Redes y Servicios de Comunicaciones 34
Área de Ingeniería TelemáticaUniversidad Politécnica de Cartagena
BibliografíaBibliografía
• James Carlson “PPP Design Implementation and • James Carlson, PPP Design, Implementation, and Debugging”, 2nd Edition, James Carlson, Addison Wesley, 2000. Capítulos 1, 2, 3, 4, y 5.
• http://www workingcode com/ppp/reference html• http://www.workingcode.com/ppp/reference.html
• Request For Comments (RFC):– (1994) RFC 1661: The Point-to-Point Protocol (PPP).( ) ( )– (1994) RFC 1570: PPP LCP Extensions. – (1992) RFC 1332: The PPP Internet Protocol Control
Protocol (IPCP)Protocol (IPCP).– (1992) RFC 1334: PPP Authentication Protocols.– (1996) RFC 1994: PPP Challenge-Handshake
Authentication Protocol (CHAP)Authentication Protocol (CHAP).– (1996) RFC 1989: PPP Link Quality Monitoring.
Laboratorio de Redes y Servicios de Comunicaciones 35