QoS para interfaz broadcast con conexión de múltiples routers.

Objetivo: Desarrollar un laboratorio donde se implemente QoS para tráficos de diferentes entidades que entran al nodo central por una interfaz física.

_

En el caso de tener una interfaz física por la cuál entren múltiples conexiones, ya sean a través de interfaces túneles o no, cómo sería mejor aplicar la calidad de servicio que permita aplicar shapping y queuing. Para buscar una mejor solución voy a utilizar la siguiente topología de red:

_

_

En este ejemplo, para el caso del Branch1, el router de la entidad es un router Cisco, aunque el modem del SP está funcionado como L3. Para el Branch2, el modem L3 del SP será el router principal de la entidad.
El enlace de Branch1 tiene un ancho de banda de 256 kbps y la del Branch2 es de 128 kbps. La puerta física que conecta el Nodo Central con el SP es de 1 mbps.
La idea está en diseñar una QoS que permita limitar el tráfico de ambas entidades y que además se pueda diferenciar el tipo de tráfico que pasa por cada enlace.
Hasta ahora el concepto es aplicar la QoS de siempre a nivel de interfaz tunnel, pero esto no es suficiente para las entidades que no tienen túneles. También habría aplicar una a nivel de interfaz física?.
El objetivo del lab es diseñar una sola QoS que se aplique solamente en la interfaz física y que sirva tanto para las entidades que tienen túneles como para las que no lo tienen. Esto se hace basado en el concepto de que los routers Cisco, a la hora de crear el encabezado del tunnel, copian la marca del pkt original en el nuevo encabezado ip correspondiente al pkt gre.

_

Configuraciones:

_

RB:
!
hostname RB
!
interface Loopback0
ip address 172.27.1.1 255.255.255.255
!
interface Loopback1
ip address 172.27.1.2 255.255.255.255
!
interface FastEthernet0/0
ip address 172.24.22.1 255.255.255.224
!
router ospf 52
network 0.0.0.0 255.255.255.255 area 0
!

_

RA:
!
hostname RA
!
interface Tunnel1
description T1 Test (FR-)
bandwidth 256
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 qiquo
ip ospf cost 100
keepalive 10 3
cdp enable
tunnel source 10.0.8.2
tunnel destination 10.0.8.10
tunnel path-mtu-discovery
!
interface FastEthernet1/0
ip address 172.24.22.2 255.255.255.224
!
interface FastEthernet1/1
ip address 10.0.8.2 255.255.255.252
!
router ospf 52
area 1 stub no-summary
redistribute static subnets
network 172.18.4.0 0.0.0.3 area 1
network 172.24.22.0 0.0.0.31 area 0
!
ip route 10.0.8.8 255.255.255.252 10.0.8.1
ip route 172.17.21.0 255.255.255.0 10.0.8.1
!

_

SP:
!
hostname SP
!
interface FastEthernet0/0
ip address 10.0.8.1 255.255.255.252
!
interface FastEthernet0/1
ip address 10.0.8.5 255.255.255.252
!
interface FastEthernet1/0
ip address 10.0.8.13 255.255.255.252
!
ip route 10.0.8.8 255.255.255.252 10.0.8.6
ip route 172.0.0.0 255.0.0.0 10.0.8.2
ip route 172.17.21.0 255.255.255.0 10.0.8.14
!

_

modemL3B1:
!
hostname modemL3B1
!
interface FastEthernet0/0
ip address 10.0.8.6 255.255.255.252
!
interface FastEthernet0/1
ip address 10.0.8.9 255.255.255.252
!
ip route 0.0.0.0 0.0.0.0 10.0.8.5
!

_

modemL3B2:
!
hostname modemL3B2
!
interface FastEthernet0/0
ip address 10.0.8.14 255.255.255.252
!
interface FastEthernet0/1
ip address 172.17.21.254 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.0.8.13
!

_

B2:
!
hostname B2
!
interface Tunnel1
description T1 Test (FR-)
bandwidth 256
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 qiquo
ip ospf cost 100
keepalive 10 3
cdp enable
tunnel source 10.0.8.10
tunnel destination 10.0.8.2
tunnel path-mtu-discovery
!
interface FastEthernet1/0
ip address 10.0.8.10 255.255.255.252
!
interface FastEthernet1/1
ip address 172.17.20.254 255.255.255.0
!
router ospf 52
area 1 stub no-summary
network 172.0.0.0 0.255.255.255 area 1
!
ip route 10.0.8.0 255.255.255.252 10.0.8.9
!

_

Para comprobar la configuración:

_

RA#sh ip route
Codes: C – connected, S – static, R – RIP, M – mobile, B – BGP
D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
E1 – OSPF external type 1, E2 – OSPF external type 2
i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
ia – IS-IS inter area, * – candidate default, U – per-user static route
o – ODR, P – periodic downloaded static route
Gateway of last resort is not set
172.17.0.0/24 is subnetted, 2 subnets
S 172.17.21.0 [1/0] via 10.0.8.1
O 172.17.20.0 [110/101] via 172.18.4.2, 00:07:46, Tunnel1
172.18.0.0/30 is subnetted, 1 subnets
C 172.18.4.0 is directly connected, Tunnel1
172.24.0.0/27 is subnetted, 1 subnets
C 172.24.22.0 is directly connected, FastEthernet1/0
10.0.0.0/30 is subnetted, 2 subnets
C 10.0.8.0 is directly connected, FastEthernet1/1
S 10.0.8.8 [1/0] via 10.0.8.1

_

Diseñaremos una QoS que tenga en cuenta lo siguiente:
-El ancho de banda del enlace del Nodo Central con el SP es de 1 mbps.
-El ancho de banda del enlace del Branch1 con el SP es de 256 kbps.
-El ancho de banda del enlace del Branch2 con el SP es de 128 kbps.
-El tráfico desde la interfaz loopback0 de RB hacia los branches tiene que tener entrar dentro de la clase High.
-El tráfico desde la interfaz loopback1 de RB hacia los branches tiene la menos prioridad entre todos los tráficos.
-El tráfico de keepalive del tunnel debe entrar dentro de la clase Medium.

_

Esta es la configuración añadida a RA:
!
class-map match-all High-in
match access-group name loopback0
class-map match-all Branch1
match access-group name Branch1
class-map match-all Branch2
match access-group name Branch2
class-map match-all High
match ip dscp af31
class-map match-all Medium
match ip dscp cs6
match access-group name keepalives
!
policy-map WAN-EDGE
class High
priority percent 60
class Medium
priority percent 25
class class-default
random-detect dscp-based
bandwidth percent 15
policy-map IP-Branches
class Branch1
shape average 243200 2432 0
bandwidth 256
service-policy WAN-EDGE
class Branch2
shape average 121600 1216 0
bandwidth 128
service-policy WAN-EDGE
class class-default
policy-map IP-Parent
class class-default
shape average 972800 9728 0
bandwidth 1024
service-policy IP-Branches
policy-map MARK-IN
class High-in
set ip dscp af31
class class-default
set ip dscp default
!
interface FastEthernet1/0
ip address 172.24.22.2 255.255.255.224
service-policy input MARK-IN
!
interface FastEthernet1/1
bandwidth 1024
ip address 10.0.8.2 255.255.255.252
service-policy output IP-Parent
!
!
ip access-list extended Branch1
permit ip host 10.0.8.2 host 10.0.8.10
ip access-list extended Branch2
permit ip any 172.17.21.0 0.0.0.255
ip access-list extended keepalives
permit ip host 10.0.8.2 host 10.0.8.10
ip access-list extended loopback0
permit ip host 172.27.1.1 any
!

_

Comprobé y funciona la QoS:

RA#sh policy-map interface fastEthernet 1/1
FastEthernet1/1

_

Service-policy output: IP-Parent

_

Class-map: class-default (match-any)
1453 packets, 172833 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) 1453/174625
shape (average) cir 972800, bc 9728, be 0
target shape rate 972800
bandwidth 1024 kbps

_

Service-policy : IP-Branches

_

Class-map: Branch1 (match-all)
785 packets, 97436 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: access-group name Branch1
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 785/99228
shape (average) cir 243200, bc 2432, be 0
target shape rate 243200
bandwidth 256 kbps

_

Service-policy : WAN-EDGE

_

queue stats for all priority classes:
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 100/13800

_

Class-map: High (match-all)
100 packets, 13800 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp af31 (26)
Priority: 60% (145 kbps), burst bytes 3600, b/w exceed drops: 0

_

Class-map: Medium (match-all)
175 packets, 11246 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp cs6 (48)
Match: access-group name keepalives
Priority: 25% (60 kbps), burst bytes 1500, b/w exceed drops: 0

_

Class-map: class-default (match-any)
510 packets, 72390 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) 510/72530
Exp-weight-constant: 9 (1/512)
Mean queue depth: 0 packets
dscp Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
default 510/72530 0/0 0/0 20 40 1/10
bandwidth 15% (36 kbps)

_

Class-map: Branch2 (match-all)
600 packets, 68400 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: access-group name Branch2
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 600/68400
shape (average) cir 121600, bc 1216, be 0
target shape rate 121600
bandwidth 128 kbps

_

Service-policy : WAN-EDGE

_

queue stats for all priority classes:
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 100/11400

_

Class-map: High (match-all)
100 packets, 11400 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp af31 (26)
Priority: 60% (72 kbps), burst bytes 1800, b/w exceed drops: 0

_

Class-map: Medium (match-all)
0 packets, 0 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: ip dscp cs6 (48)
Match: access-group name keepalives
Priority: 25% (30 kbps), burst bytes 1500, b/w exceed drops: 0

_

Class-map: class-default (match-any)
500 packets, 57000 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) 500/57000
Exp-weight-constant: 9 (1/512)
Mean queue depth: 0 packets
dscp Transmitted Random drop Tail drop Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes thresh thresh prob
default 500/57000 0/0 0/0 20 40 1/10
bandwidth 15% (18 kbps)

_

Class-map: class-default (match-any)
68 packets, 6997 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any

_

queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 68/6997

_

Cómo se puede ver, la clase Medium del service-policy Branch1 está macheando los keepalive, mientras que la clase Medium del service-policy Branch2 no.
Si desde RB le hacemos ping a la ip 10.0.8.9, este tráfico cae en la clase default del service-policy IP-Parent.
De esta manera queda demostrado que no hace falta poner la QoS en las interfaces túneles cuando tienes varios túneles por una sola interfaz física.

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