HDLC es un protocolo para la comunicación de enlaces WAN que opera a nivel de la capa de enlace de datos. Usa "keepalives" para monitorizar la conectividad con el equipo remote. Se puede configurar para enlaces point-to-multipoint usando NRM (Normal Response Mode) y ARM (Asynchronous Response Mode). Sin embargo, la práctica extendida es para enlaces point-to-point usando ABM (Asynchronous Balanced Mode).
HDLC se configura en un marco Master-Slave (DCE-DTE)
DCE -> Data Communications Equipment
DTE -> Data terminal Equipment
El DCE envía keepalives al DCE con un número de secuencia. El DTE le responde con ese mismo número para confirmar la conectividad. Si el DTE no recibe 3 paquetes consecutivos, entonces declara el enlace caído.
Cisco ha creado su propio protocolo donde le añade un campo de "type" de 2 bytes para soportar multiprotocolos sobre HDLC. Le ha llamado cHDLC.
En Propietary está el campo Type. |
Para configurar HDLC en un equipo Cisco:
(config)#interface serial 2/0
(config-if)#encapsulation hdlc
Podemos comprobar la configuración de la encapsulación con un "show interface serial 2/0"
debug interface serial 0/0
Subrayado en rojo los keepalives |
Tenemos unas diferencias con el otro gran protocolo que se usa para capa 2 en WAN, PPP.
PPP (Point-To-Point Protocol)
PPP es un protocolo diseñado con mucho cuidado para poder correr sobre la mayoría del hardware utilizado en WAN. En realidad se estructura igual que HDLC pero le han añadido algunos campos para permitir autenticación y asignación de direccionamiento entre otras. Su popularidad es debida a la gran versatilidad para poder ser configurado sobre enlaces synchronous, asynchronous, ISDN, ADSL y HSSI.
PPP se compone de:
- Network Control Protocol (NCP) -> una familia independiente de protocolos para encapsular los protocolos de la capa de red como TCP/IP.
- Link Control Protocol (LCP) -> negocia, configura y descarta las opciones de control de la conexión en la capa de enlace de datos.
LCP
Gestiona las características independientes de cada protocolo de capa 3 especificado. Para cada protocolo de capa 3 soportado por PPP se define un LCP. LCP controla la negociación de los métodos de autenticación y el orden de estos.
Una vez LCP ha negociado correctamente se le considera UP.
LCP tiene las siguientes características:
- Link Quality Monitoring (LQM) -> se intercambian estadísticas del porcentaje de tramas recibidas sin ningún error. Si ese porcentaje baja de un umbral que hemos configurado, declara el enlace caído.
- Looped Link Detection -> cada equipo genera y envía con frecuencia aleatoria un "número mágico" elegido. Si el equipo recibe su propio "número mágico", declara el enlace caído.
- Layer 2 load balancing -> Multilink PPP (MLP) balancea tráfico enviando una trama por cada enlace.
- Authentication -> Soporta PAP, CHAP y EAP
Hay 3 clases de paquetes LCP:
- Link Configuration
- Link Termination
- Link Maintenance
Formato de paquetes LCP:
- Configure-Request
- Configure-Ack
- Configure-Nak
- Configure-Reject
- Terminate-Request
- Terminate-Ack
Gestiona las necesidades de cada protocolo de la capa de red. Por ejemplo con la asignación de direcciones. NCP trabaja con IP, IPX o AppleTalk.
Una vez que NCP alcanza el estado de "Opened", PPP transportará los paquetes de los protocolos de capa 3.
Fases de PPP |
Compresión en PPP
Con PPP podemos aplicar dos tipos de compresión para reducir el tamaño de las tramas.
- Layer 2 Payload -> para paquetes grandes. 3 opciones:
- Lempel-Ziv Stacker
- MPPC (Microsoft Point-to-Point Compression)
- Predictor
El tipo de compresión y los parámetros tienen que coincidir en ambos lados del enlace. Una vez configurada la compresión, PPP inicia el CCP (Compression Control Protocol), que es un NCP, para hacer la compresión y gestionar el proceso.
- TCP Header -> para paquetes pequeños. 2 tipos:
- RTP (Real Time Protocol) -> encapsulación para flujos de Voz y Vídeo. Reduce las cabeceras en más de un 50%
- TCP Header -> comprime las cabeceras IP y TCP. Reduce los 40 bytes de cabecera a 3 bytes.
Para configurar la compresión:
(config-if)#compress [ predictor stac mppc ignore-pfc ]
Autenticación en PPP
PPP nos ofrece 3 opciones para configurar autenticación:
- CHAP -> Usa el "three-way handshake". El password se encrypta con md5.
- EAP -> soporta múltiples mecanismos de autenticación. Muy usado para Wireless.
- PAP -> Usa el "two-way handshake". Soporta autenticación unidireccional y bidireccional. El password se envía en texto plano. 3 diferentes tipos de paquetes PAP:
- Autthenticate-Request (Auth-Req)
- Autthenticate-Ack (Auth-Req)
- Autthenticate-Nak (Auth-Nak)
Para configurar PPP con PAP:
En R1
username R2PAP password Cisco
int s2/0
encapsulation ppp
ppp quality 80 - con este comando configuramos LQM
ppp authentication pap
ppp pap sent-username R2PAP password 0 Cisco
En R2
username R1PAP password Cisco
int s2/0
encapsulation ppp
ppp quality 80
ppp authentication pap
ppp pap sent-username R1PAP password 0 Cisco
Para configurar PPP con CHAP:
En R1
username R2CHAP password Cisco
int s2/0
encapsulation ppp
ppp quality 80
ppp authentication chap
En R2
username R1CHAP password Cisco
int s2/0
encapsulation ppp
ppp quality 80
ppp authentication chap
MLP (Multilink PPP)
Define un método para combinar múltiples enlaces serial en la capa 2. Envía una trama por cada enlace para el mismo destino remoto. Podemos configurar MLP para balancear el tráfico de entrada, el de salida, pero no podemos configurar ambos a la vez.
Para permitir el reensamblaje del equipo receptor, MLP añade una cabecera a cada trama. En esta cabecera se incluye un "número de secuencia" y una etiqueta (flag).
Se puede configurar usando interface multilink o plantillas virtuales. Los parámetros de capa 3 tienen que ser configurados en la interface multilink.
MLP tiene una característica que podemos usar llamada LFI "Link Fragmentation and Interleaving" (es una especie de QoS). Previene el retardo de paquetes pequeños y de aquellos sensibles al delay para que no tengan que esperar dividiendo las tramas de tamaño grande en varias de un menor tamaño. Las tramas pequeñas sensibles se van intercalando entre estas tramas que crear LFI y de esta manera no tienen que esperar a que se envíe toda la trama grande.
LFI reserva colas para que los flujos RTP puedan ser mapeados con la cola de mayor prioridad que tengamos configurada en nuestra QoS.
Para configurar MLP y LFI:
PPPoE (PPP over Ethernet)
En la época de las conexiones DSl, PPPoE nos ofrecía la posibilidad de establecer una sesión PPPoE desde un PC con un cliente software. Todavía se sigue usando pero ahora el cliente PPPoE suele ser un router enviado por el ISP. Provee un método de autenticación y asignación de direcciones. Se implemente en modo Servidor-Cliente.
Tiene 2 fases.:
- Active Discovery Phase -> el cliente localiza al servidor (access concentrator). Durante esta fase se asigna una "Session ID".
- PPP Session Phase -> se negocian las opciones PPP y la autenticación. Una vez completada esta fase se establece la conexión PPPoE.
PPPoE requiere de ciertas señales e información para establecer, aceptar, contral y terminar la session:
- PADI (PPPoE Active Discovery Initiation) -> señal de broadcast que envía el host a los dispositivos remotos.
- PADO (PPPoE Active Discovery Offer) -> señal de respuesta de los equipos remotos al host.
- PADR (PPPoE Active Discovery Request) -> señal de unicast que envía el host a los dispositivos remotos.
- PADS (PPPoE Active Discovery Session-Confirmation) -> señal de respuesta de los equipos remotos al host.
- PADT (PPPoE Active Discovery Terminate) -> señal para terminar la sesión. Es la forma apropiada de terminar la session pero no quiere decir que sea la causa. Esta puede ser debida a un simple timeout, que la línea se haya caído o que directamente se fuerze desde un lado.
Para configurar PPPoE en el concentrador:
Creamos un grupo BBA (Broadband Aggregation) en el concentrador para gestionar las conexiones entrantes, le asignamos una virtual-template y limitamos las macs que se pueden conectar:
(config)#bba-group pppoe ENTRANTES
(config-bba-group)#virtual-template 1
(config-bba-group)#sessions per-mac limit 2
Ahora creamos la "virtual-template" para que cuando se inicie la sesión PPPoE, automáticamente le asigne una "virtual-interface" y montar el túnel PPP. También le configuramos la dirección ip que tendrá esa virtual-interface y el "pool" de direcciones que tendrá para asignar a los clientes:
(config)#interface virtual-template 1
(config-if)#ip add 172.16.0.1 255.255.255.0
(config-if)#peer default ip address pool DSLAM
(config)#ip local pool DSLAM 172.16.0.2 172.16.0.10
Por último, habilitamos PPPoE en la interface física que enfrenta con los clientes
(config)#interface e0/0
(config-if)#pppoe enable group ENTRANTES
Para configurar PPPoE en los clientes:
En los clientes tenemos que crear también la interface virtual, que aquí la llamamos "dialer interface".Tenemos que bajar la MTU a 1492. La cabecera de PPP añade 8 bytes y suponemos que la MTU, al ser ethernet, está por defecto a 1500.
(config)#interface dialer 1
(config-if)#dialer pool 1
(config-if)#encapsulation PPP
(config-if)#ip address negotiated
(config-if)#mtu 1492
Después habilitamos PPPoE en la interface física:
(config-if)#no ip address
(config-if)#pppoe-client dial-pool-number 1
show pppoe session en el cliente |
show pppoe session en el concentrador |
En el concentrador:
(config)#username DSL password X
(config)#interface virtual-template 1
(config-if)#ppp authentication chap calling
Y en los clientes:
(config)#interface dialer 1
(config-if)#ppp authentication chap X - x es el mismo password
WAN ETHERNET
Para esta versión del CCIE (v5), Cisco quiere que sepamos describir las diferentes tecnologías para conectar enlaces WAN a través de Ethernet.
Normalmente la red Ethernet de nuestro ISP sera llamada como MetroEthernet. la arquitectura de estas redes es muy parecida a la que ya conocemos. Tenemos 3 nivles:
- Access
- Aggregation
- Core
Tenemos dos protocolos destacados:
- EPL (Ethernet Private Line) -> el ISP configura un límite de ancho de banda contratado.
- EVPL (Ethernet Virtual Private Line) -> también llamado ERS (Ethernet Relay Service). Se usa para hacer trunking en los accesos y montar enlaces multipoint.
No hay comentarios:
Publicar un comentario