Estudio de priorización de tráfico para VoIP

Fecha: 5 y 7 de mayo del 2015

 

Escenario

 

Este escenario es similar al desarrollado en http://www.vilarrasa.com.ar/escenario_zbf_voice.htm

pero esta vez sin la implementación del firewall.

El router actúa sólo como gateway de las dos redes, e implementa clasificación y priorización de tráfico

en sus interfaces y se estudia como interpretar el marcado de paquetes.

 

Las llamadas se realizaron con el softphone Cisco IP Communicator para verificar que al igual que los

teléfonos por hardware, también marcan el tráfico para su priorización.

 

 

Capturas realizadas

 

Las capturas se realizaron mediante SPAN, en elport del swith que conecta el CNE VoIP_1.

 

 

Captura del tráfico entre el softphone y el CME VoIP_1 mediante Skinny:

 

Puede observarse que el tráfico está etiquetado como AF31 (Assured Forwarding –reenvío asegurado),

el número 31 significa: clase 3 (reenvío flash -o rápido-), nivel 1 (probabilidad de descarte baja) (ver la tabla mas abajo).

 

Este tráfico no llega al gateway sino que es sólo entre el softphone y el CME.

 

 

Captura del tráfico entre ambos CME:

 

Puede observarse que el tráfico está etiquetado como AF31 (Assured Forwarding –reenvío asegurado),

el número 31 significa: clase 3 (reenvío flash o rápido) nivel 1 (probabilidad de descarte baja) (ver la tabla mas abajo).

 

 

Captura del tráfico de voice:

 

Puede verse que el tráfico se genera en el softphone local hacia el CME local, se reenvía hacia el CME remoto

y de este al softphone de destino.

Puede observarse que el tráfico está etiquetado como EF (expedited forwarding –reenvío expedito, urgente-).

 

La trama #64 corresponde a RTP (Real-time Transport Protocol) que lleva el audio entre el softphone y el CME,

este tráfico se genera a travéz de Skinny (puerto de destino UDP 2000).

 

 

La trama #65 corresponde a RTP (Real-time Transport Protocol) que lleva el audio entre ambos CME,

este tráfico se genera a travéz de H.323 (puerto de destino UDP variable 16384-32767).

 

 

Detalle de un paquete (con un segmento UDP) y RTP con su payload (carga de capa 7)

 

 

Interpretación de códigos de etiquetado de QoS en un paquete IP

 

 

 

Puede observarse  el campo DSCP 0-5 (6 bits) que se corresponde a Binary Value de la siguiente tabla,

allí pueden buscarse AF31 (H.323) y EF (RTP).

 

En AF31 los primeros 3bits (011) corresponden a la secuencia de reenvío flash y en EF (101) es critic,

los nombres de los valores dan a entender la prioridad.

 

 

 

Configuración de las políticas de QoS en el gateway:

 

Gateway#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

Gateway(config)#class-map match-any H.323 (identifica tráfico de señalización entre ambos CME)

Gateway(config-cmap)# match  dscp af31

Gateway(config-cmap)#class-map match-any RTP (identifica el tráfico de voice que lleva la etiqueta de crítico)

Gateway(config-cmap)# match  dscp ef

Gateway(config-cmap)#policy-map QoS-Policy-1 (se define una política)

Gateway(config-pmap)# class RTP

Gateway(config-pmap-c)#  priority percent 33 (priority significa reenvío prioritario y con una reserva del 33% del

Gateway(config-pmap-c)# class H.323                  ancho de banda total)

Gateway(config-pmap-c)#  bandwidth percent 5 (para este tráfico de señalización se reserva el 5% del total)

Gateway(config-pmap-c)# class class-default (resto del tráfico, podrían ser datos de usuario en general)

Gateway(config-pmap-c)#  fair-queue (intenta mantener la cola (buffer) lomas limpia (vacía) posible)

Gateway(config-pmap-c)#  random-detect (descarta paquetes aleatoriamente cuando hay exceso, esto hace que

Gateway(config-pmap-c)#exit                          no se reinicien las conexiones TCP sino que se soliciten nuevamente

Gateway(config-pmap)#exit                             los segmentos descartados)

Gateway(config-cmap)#policy-map QoS-Policy-2

Gateway(config-pmap)# class RTP

Gateway(config-pmap-c)#  priority percent 33

Gateway(config-pmap-c)# class H.323

Gateway(config-pmap-c)#  bandwidth percent 5

Gateway(config-pmap-c)# class class-default

Gateway(config-pmap-c)#  fair-queue

Gateway(config-pmap-c)#  random-detect

Gateway(config-pmap-c)#exit

Gateway(config-pmap)#exit

Gateway(config-pmap-c)#interface FastEthernet0/0

Gateway(config-if)# service-policy output QoS-Policy-1 (se aplica a la interface)

Gateway(config-if)#exit

Gateway(config)#interface FastEthernet0/1

Gateway(config-if)#service-policy output QoS-Policy-2 (se aplica a la interface)

Gateway(config-if)#end

Gateway#

 

Gateway#sh policy-map interface fa0/0 (verificación)

 FastEthernet0/0

 

  Service-policy output: QoS-Policy-1

 

    Class-map: RTP (match-any)

      1405 packets, 103970 bytes

      5 minute offered rate 6000 bps, drop rate 0 bps

      Match:  dscp ef (46)

        1405 packets, 103970 bytes

        5 minute rate 6000 bps

      Queueing

        Strict Priority

        Output Queue: Conversation 264

        Bandwidth 33 (%)

        Bandwidth 33000 (kbps) Burst 825000 (Bytes)

        (pkts matched/bytes matched) 0/0

        (total drops/bytes drops) 0/0

 

    Class-map: H.323 (match-any)

      19 packets, 2172 bytes

      5 minute offered rate 0 bps, drop rate 0 bps

      Match:  dscp af31 (26)

        19 packets, 2172 bytes

        5 minute rate 0 bps

      Queueing

        Output Queue: Conversation 265

        Bandwidth 5 (%)

        Bandwidth 5000 (kbps)Max Threshold 64 (packets)

        (pkts matched/bytes matched) 0/0

        (depth/total drops/no-buffer drops) 0/0/0

 

    Class-map: class-default (match-any)

      216335 packets, 307005377 bytes

      5 minute offered rate 5342000 bps, drop rate 0 bps (aprox 5 Mbps)

      Match: any

      Queueing

        Flow Based Fair Queueing

        Maximum Number of Hashed Queues 256

        (total queued/total drops/no-buffer drops) 0/0/0

         exponential weight: 9

 

  class    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark

           pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob

      0  216365/307047957       0/0              0/0           20      40  1/10 (tráfico por default –datos-)

      1       0/0               0/0              0/0           22      40  1/10

      2       0/0               0/0              0/0           24      40  1/10

      3       0/0               0/0              0/0           26      40  1/10

      4       3/120          0/0              0/0           28      40  1/10 (ver AF31 en tabla de Queue Class, correponde a clase 4)

      5       0/0               0/0              0/0           30      40  1/10

      6       0/0               0/0              0/0           32      40  1/10

      7       0/0               0/0              0/0           34      40  1/10

   rsvp       0/0               0/0              0/0           36      40  1/10

 

Gateway#sh policy-map interface fa0/1 (verificación)

 FastEthernet0/1

 

  Service-policy output: QoS-Policy-2

 

    Class-map: RTP (match-any)

      1888 packets, 139712 bytes

      5 minute offered rate 8000 bps, drop rate 0 bps

      Match:  dscp ef (46)

        1888 packets, 139712 bytes

        5 minute rate 8000 bps (una conversación es 8 de 33%)

      Queueing

        Strict Priority

        Output Queue: Conversation 264

        Bandwidth 33 (%)

        Bandwidth 33000 (kbps) Burst 825000 (Bytes)

        (pkts matched/bytes matched) 0/0

        (total drops/bytes drops) 0/0

 

    Class-map: H.323 (match-any)

      12 packets, 1911 bytes

      5 minute offered rate 0 bps, drop rate 0 bps

      Match:  dscp af31 (26)

        12 packets, 1911 bytes

        5 minute rate 0 bps

      Queueing

        Output Queue: Conversation 265

        Bandwidth 5 (%)

        Bandwidth 5000 (kbps)Max Threshold 64 (packets)

        (pkts matched/bytes matched) 0/0

        (depth/total drops/no-buffer drops) 0/0/0

 

    Class-map: class-default (match-any)

      68641 packets, 3706814 bytes

      5 minute offered rate 90000 bps, drop rate 0 bps

      Match: any

      Queueing

        Flow Based Fair Queueing

        Maximum Number of Hashed Queues 256

        (total queued/total drops/no-buffer drops) 0/0/0

         exponential weight: 9

 

  class    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark

           pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob

      0   68653/3707462         0/0              0/0           20      40  1/10

      1       0/0               0/0              0/0           22      40  1/10

      2       0/0               0/0              0/0           24      40  1/10

      3       4/160          0/0              0/0           26      40  1/10

      4       0/0               0/0              0/0           28      40  1/10

      5       0/0               0/0              0/0           30      40  1/10

      6       0/0               0/0              0/0           32      40  1/10

      7       0/0               0/0              0/0           34      40  1/10

   rsvp       0/0               0/0              0/0           36      40  1/10

 

Gateway#

 

Verificación de las reservas de ancho de banda:

 

Se satura el gateway mediante una aplicación de testing entre ambos segmentos y con una comunicación

establecida entre ambos softphones.

No se verificaron cortes de servicio ni degradación de audio y no hubo disminución en el ancho de banda

utilizado por la  aplicación por reservas en las políticas, ya que se consumieron sólo 8Kbps para voice

(son 0,008 Mbps y hay reservados 33 de los 100 Mbps), pero se priorizó el tráfico de VoIP, disminuyendo

la latencia y el jitter para no perder calidad.

 

 

La configuración de QoS en el switch en este escenario no se evalúa, ya que en una LAN el ancho de banda

hoy por hoy abunda, el escenario apunta a enlaces mas austeros.

 

Configuración de equipos:

 

Gateway#sh runn (sólo lo relevante)

Building configuration...

 

Current configuration : 3355 bytes

!

version 12.4

!

hostname Gateway

!

class-map match-any H.323

 match  dscp af31

class-map match-any RTP

 match  dscp ef

!

policy-map QoS-Policy-1

 class RTP

  priority percent 33

 class H.323

  bandwidth percent 5

 class class-default

  fair-queue

  random-detect

policy-map QoS-Policy-2

 class RTP

  priority percent 33

 class H.323

  bandwidth percent 5

 class class-default

  fair-queue

  random-detect

!

interface FastEthernet0/0

 description INSIDE

 ip address 192.168.1.1 255.255.255.0

 service-policy output QoS-Policy-1

!

interface FastEthernet0/1

 description WAN

 ip address 172.16.0.1 255.255.255.0

 service-policy output QoS-Policy-2

!

end

 

Gateway#

 

 

(2015) Networking for lonely nights

Rosario, Argentina