Cisco tunnel keepalives and QoS.

Objetivo: Analizar mediante un laboratorio de que manera se le puede aplicar QoS a los pkts keepalive que permiten al router conocer el estado de la interfaz tunnel en el extremo del enlace lógico punto a punto.

_

Para ellos utilizaremos el siguiente escenario:

Configuraciones:

_

RA config:

!
hostname RA
!
interface FastEthernet0/0
ip address 172.22.26.1 255.255.255.224
!
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
!

_

RB config:
!
hostname RB
!
interface Tunnel1
description T1 Test (FR-)
bandwidth 64
ip address 172.18.4.1 255.255.255.252
no ip redirects
no ip unreachables
ip mtu 1476
ip nbar protocol-discovery
ip flow ingress
ip tcp adjust-mss 1420
ip policy route-map cimex
ip ospf message-digest-key 1 md5 7 106A2B150C191C
ip ospf cost 100
keepalive 10 3
cdp enable
tunnel source FastEthernet1/0
tunnel destination 10.0.8.242
tunnel path-mtu-discovery
!
interface FastEthernet1/0
ip address 10.0.8.2 255.255.255.252
!
router ospf 1
area 1 stub no-summary
network 172.18.4.0 0.0.0.3 area 1
network 172.22.26.0 0.0.0.31 area 0
!
ip route 10.0.8.240 255.255.255.252 10.0.8.1
!

_

RC config:
!
hostname RC
!
interface Tunnel1
description T1 Test (FR-)
bandwidth 64
ip address 172.18.4.2 255.255.255.252
no ip redirects
no ip unreachables
ip mtu 1476
ip nbar protocol-discovery
ip flow ingress
ip tcp adjust-mss 1420
ip policy route-map cimex
ip ospf message-digest-key 1 md5 7 106A2B150C191C
ip ospf cost 100
keepalive 10 3
cdp enable
tunnel source FastEthernet1/0
tunnel destination 10.0.8.2
tunnel path-mtu-discovery
!
interface FastEthernet1/0
ip address 10.0.8.242 255.255.255.252
!
interface FastEthernet1/1
ip address 172.17.1.254 255.255.255.0
!
router ospf 1
area 1 stub no-summary
network 172.0.0.0 0.255.255.255 area 1
!
ip forward-protocol nd
ip route 10.0.8.0 255.255.255.252 10.0.8.241
!

_

1ro – Lo primero que quiero comprobar es la construcción del pkt keepalive y ver si el router le pone alguna marca, para ver si puedo diseñar alguna QoS que me permita asegurar este pkt en tiempos de congestión.
Para esto activo el wireshark del GNS3.

Se cumple lo del doble encabezado que sale en la documentación del keepalive. También se puede ver que el pkt generado por el router tiene una marca cs6 en el campo DS. Esto se pudiera utilizar cómo base para asegurar que el pkt, independientemente de la congestión que pueda tener el enlace, pueda llegar al otro extremo.

_

Cómo se puede ver, una vez que el keepalive llegué al otro extremo, el router descarta el encabezado ip/gre de afuera y se queda con el pkt que tiene cómo destino el router que originó el keepalive. Este pkt también tiene la marca cs6 (para QoS). Lo otro es que en protocolo type de GRE tiene un valor de 0, lo que le indica al router que es la respuesta del keepalive enviado y que por lo tanto el otro extremo está activo.

_

De hecho, el siguiente pkt que muestra el wireshark es la respuesta.

_

_

Para probar una QoS, añadiría la siguiente configuración en RB:

_

!
policy-map IP-64
class class-default
shape average 60800 608 0
service-policy keepalive
!
class-map match-all keepalive
match ip dscp cs6
match access-group name keepalive
!
policy-map keepalive
class keepalive
bandwidth percent 60
class class-default
bandwidth percent 40
!
ip access-list extended keepalive
permit ip host 10.0.8.2 host 10.0.8.242

_

Lo lógico sería aplicar esta QoS en la interfaz física y no en la interfaz tunnel.
!
interface FastEthernet1/0
service-policy output IP-64
!

_

Para comprobar:

_

RB#sh policy-map interface fastEthernet 1/0
FastEthernet1/0

_

Service-policy output: IP-64

_

Class-map: class-default (match-any)
13 packets, 1089 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 13/1187
shape (average) cir 60800, bc 608, be 0
target shape rate 60800

_

Service-policy : keepalive

_

Class-map: keepalive (match-all)
9 packets, 570 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp cs6 (48)
Match: access-group name keepalive
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 9/654
bandwidth 60% (36 kbps)

_

Class-map: class-default (match-any)
4 packets, 519 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 4/533
bandwidth 40% (24 kbps)

_

Lo que puedo ver por el macheo de los pkts es que cada 10 segundos se mandan por default 3 pkts keepalive.

Advertisements
Posted in QoS

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s