30 de abril de 2009

La máscara de subred

Cuando se aborda el estudio del direccionamiento IP (en su actual versión 4), uno de los temas que generan alguna dificultad es el de las subredes, y particularmente la máscara de subred. Por eso, vamos a centrarnos hoy en esta herramienta.

¿Qué es la máscara de subred?
La máscara de subred es un conjunto de 32 dígitos binarios que actúan como una contraparte de la dirección IP, en la que cada bit de la máscara se corresponde con un bit de la dirección IP.
Se utiliza para indicar la función que el Administrador de la red asigna a cada uno de los bits de la porción de nodo de la dirección IP.
La máscara de subred permite al Administrador definir cuántos bits reserva para identificar los nodos dentro de cada dominio de broadcast (subred), y cuántos bits utilizará para identificar las subredes.

  • La máscara de subred no es una dirección IP, acompaña una dirección IP.
  • Todos los nodos o puertos de una subred utilizan la misma máscara de subred.
  • Las posiciones de bits que en la máscara de subred se colocan en “0” son los que se utilizan para identificar los nodos, y las posiciones que se coloquen en “1” definen las subredes.
  • La máscara de subred es definida por el Administrador de la Red, respectando la dirección que le ha sido asignada.
  • El Administrador puede disponer solamente de los bits del campo del nodo, por lo que la cantidad de subredes creadas y la cantidad de nodos asignados a cada subred dependerá de cuántos bits reserve para el nodo o, lo que es lo mismo, cuantos utilice para identificar las subredes.
  • La máscara de subred no define la clase. Por el contrario, la clase define la máscara de subred por defecto.
  • En el encabezado IP de los paquetes sólo se transporta la dirección IP de origen y la dirección IP de destino. No se transporta la máscara de subred.
¿Cómo se expresa la máscara de subred?
Hay varias formas diferentes de escribir la máscara de subred. Para ser más claro utilizaré un ejemplo. Tomando como base la red 192.168.10.0 (red clase C), generaremos 8 subredes para identificar las cuales necesitaremos utilizar 3 bits de la porción de nodo, por lo que nuestra máscara de subred será: 255.255.255.224

  • 255.255.255.224 Notación decimal.
    Traduce en expresión de base 10 (decimal) el patrón de bits de cada uno de los octetos de la máscara.
  • 11111111.11111111.11111111.11100000
    Notación binaria.
    Expresión básica de la máscara de subred, estableciendo los valores de correspondencia con cada bit de la dirección IP.
  • /27
    Notación simplificada o de prefijo.
    Expresa la cantidad de bits en 1 que componen la máscara de subred. Se suele expresar a continuación de la dirección IP que modifica. Por ejemplo, en nuestro ejemplo: 192.168.10.0/27
¿Cómo se calcula la máscara?
Todo dependerá de los objetivos y el punto de partida, pero básicamente es preciso tener presente que:

  • La cantidad de redes que se crean depende de la cantidad de bits de la porción de nodo de la dirección IP que se toman para identificar la subred.
  • En consecuencia, la cantidad de subredes creadas es siempre una potencia de 2: 4 cuando se toman 2 bits, 8 cuando se toman 3 bits, 2 elevado a la cantidad de bits utilizados para la subred.
  • La cantidad de direcciones IP que componen cada subred es consecuencia de la cantidad de bits que se han dejado para la porción de nodo. Si tengo una dirección clase C, y consecuentemente 8 bits para el nodo; al tomar 3 bits para la subred dejo 5 para la porción de nodo. Esto significa que cada subred contendrá 32 direcciones IP (2 elevado a la cantidad de bits dejados al nodo).
  • Adicionalmente se debe considera que en cada subred, la cantidad de nodos que se pueden conectar es igual a la cantidad de direcciones IP menos 2, ya que cada subred tiene 2 direcciones reservadas: la que identifica a la subred misma, y la que identifica el broadcast de esa subred.
Otros post relacionados:

Bibliografía sugerida:
Cuadernillo: Subredes IPv4 - Oscar Gerometta

Tenés alguna información adicional que quieras compartir....?
Bienvenido!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

27 de abril de 2009

Calidad de servicio en redes WLAN

Nuestras redes de datos son hoy en realidad redes convergentes a través de las cuales no sólo circula tráfico de datos, sino adicionalmente comunicaciones de voz y video, sistemas de seguridad, sistemas críticos, etc.
Diferentes tráficos tienen diferentes requerimientos en cuanto a las prestaciones de nuestra red: delay, jitter, descarte de paquetes, preservación del ancho de banda, etc. Consecuentemente, la implementación de calidad de servicio en la red es hoy casi un supuesto básico.
La red wireless no es una excepción. Nuestras redes Wi-Fi ya no se usan exclusivamente para el tráfico de datos o la navegación de Internet. Esas mismas aplicaciones críticas, así como los sistemas de telefonía IP utilizan la infraestructura IEEE 802.11 para extender sus prestaciones. Es entonces necesario extender también las prestaciones de calidad de servicio a la red inalámbrica.

Lo básico de QoS
La implementación de calidad de servicio se basa en una serie de operaciones: clasificación del tráfico, marcación del tráfico y aplicación de políticas.
El marcado del tráfico es una fase clave de la implementación de QoS ya que es la que permite a los dispositivos reconocer los diferentes tipos de tráfico para luego aplicarle políticas.
Esta marcación se realiza aprovechando algún campo destinado a este propósito en los encabezados de capa 2 o capa 3 de la trama. En principio es fundamental la marcación en capa 3 ya que en una comunicación es el único encabezado que permanece constante de extremo a extremo. Con este propósito se utiliza el campo ToS (Type of Service) del encabezado IP dando lugar a 2 modelos de marcación conocidos como IP precedence y DSCP.
Sin embargo, para poder implementar calidad de servicio en dispositivos de capa 2 (propiamente denominada clase de servicio (CoS)), se requiere algún procedimiento que permita marcar tráfico utilizando el encabezado de la trama.
El tráfico Ethernet no puede ser clasificado, ya que el encabezado Ethernet carece de un campo que pueda destinarse a este propósito. Pero en redes switcheadas, puede apelarse a la utilización de 3 bits en encabezado IEEE 802.1Q utilizado para la identificación de VLANs en los enlaces troncales para la marcación de tráfico. Este procedimiento también suele ser denominado IEEE 802.1p en referencia al estándar desarrollado con este propósito.
Las redes WiFi son redes capa 2. En su definición original (IEEE 802.11) son redes tipo best effort, es decir no ofrecen servicios diferenciales para distinto tipo de tráfico.

QoS en redes IEEE 802.11
Las redes Wi-Fi implementan CSMA/CA como protocolo de acceso al medio que permite a los dispositivos competir por un acceso al medio de manera libre de colisiones, pero sin prioridades. De este modo, los dispositivos wireless "escuchan antes de enviar", y si el medio está libre transmiten. Este mecanismo da a todos los dispositivos la misma posibilidad de transmitir, pero cuando la red está congestionada, la performarce de todos los dispositivos y todas las aplicaciones se ve afectada.
Para poder establecer diferentes tipos de tráficos en el medio inalámbrico la IEEE desarrolló el estándar IEEE 802.11e que define la posibilidad de trabajar con hasta 8 clases de servicio diferentes (igual que IEEE 802.1p).
Para acelerar la adopción de tecnologías de calidad de servicio en redes Wi-Fi y mientras se aprobaba el estándar, la Alianza Wi-Fi desarrolló WiFi MultiMedia (WMM).
WMM es una reformulación de los 8 niveles de prioridad originales de IEEE 802.11e agrupados en 4 "categorías de acceso". De esta forma el tráfico que se recibe clasificado en el AP desde la red cableada utilizando IEEE 802.1p o DSCP, puede ser remarcado en IEEE 802.11 de modo que reciba diferente tratamiento sobre el medio inalámbrico, aumentando la probabilidad de que sea rápidamente transmitido el tráfico de alta prioridad.

WMM
Es una extensión de los mecanismos originales de WiFi basados ene CSMA-CA.
Introduce la priorización de tráfico basándose en la definición de 4 categorías de acceso: platino, oro, plata y bronce. Cuanto más alta es la prioridad, mayor es la probabilidad de que el tráfico sea transmitido en primer lugar. De esta manera el tráfico de clase platino será enviado antes que el oro, el plata o el bronce.
Estas cuatro categorías pueden mapearse a la marcación que se realiza utilizando DSCP u 802.1p para facilitar la interoperabilidad de los mecanismos de calidad de servicio implementados en la red.
WMM mapea las prioridades de las 4 colas de transmisión independientes que genera, con los ocho valores de niveles de prioridad que define IEEE 802.11e, de acuerdo a la siguiente tabla:
  • Voz - Platino - prioridades 6 o 7 de IEEE 802.11e.
  • Video - Oro - prioridades 4 o 5.
  • Background - Plata - prioridades 1 o 2
  • Mejor esfuerzo - Bronce - prioridades 0 o 3
    Es el valor de prioridad que recibe todo el tráfico en sistemas que no aplican QoS.
La mayor parte de los dispositivos wireless de primera marca disponibles en le mercado actualmente implementan WMM, y por lo tanto permiten implementar calidad de servicio en la red inalámbrica.

Tenés alguna información adicional que quieras compartir....?
Bienvenido!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

23 de abril de 2009

Configuración de un router Cisco para soporte de VoIP

Un router puede estar equipado con puertos FXO / FXS que permiten su operación como gateway de voz con sistemas de telefonía tradicional, a la vez que realizan el transporte de tráfico de voz paquetizada sobre la red IP. Vamos ahora a revisar la configuración de un router Cisco IOS para operar como gateway de voz, definiendo un dial plan que nos permita utilizar tanto la red de telefonía pública como la red IP para el transporte de la voz.

La topología
Para el desarrollo vamos a utilizar un ejemplo:
Suponemos 2 routers Cisco conectados entre si a través de sus puertos seriales utilizando la subred 172.16.1.0/30. Router1 tiene conectado un teléfono analógico (interno 720) a través de un puerto FXS; el Router2 conecta a la red de telefonía pública utilizando un puerto FXO y da acceso al interno 721 a través de un puerto FXS.

La configuración
Para permitir la operación es necesario definir un dial plan. Vamos a revisar el dial plan configurado en el Router2:
!
interface Serial0/0/0
ip address 172.16.1.1 255.255.255.252
!
! Redirige una llamada dirigida al interno 720
! a través del enlace serial (sobre IP)
! hacia el Router1
dial-peer voice 1 voip
destination-pattern 720
session-target ipv4:172.16.1.2
!
! Una llamada al interno 721
! genera señal de ring en el puerto FXS
dial-peer voice 2 pots
destination-pattern 721
port 1/0/0
!
! Define dial-peer para acceso a línea externa
! Marcando 9 se obtiene línea
dial-peer voice 3 pots
destination-pattern 9
port 2/0/0
!

Cada número de interno definido requiere de un "destination-pattern" que define el ID que se recibe. Cuando se trata de una comunicación telefónica tradicional, a ese destination-pattern se asocia el puerto de voz correspondiente, es el caso por ejemplo del interno 721.Cuando se trata de destination-pattern cuyo tráfico debe encaminarse a través de la red IP se define la dirección IP de destino del dispositivo en el cual se encuentra conectado ese interno, como es el caso del interno 720.

¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

9 de abril de 2009

Configurando un switch Catalyst 2960

Cuando nos iniciamos en la configuración de dispositivos Cisco utilizando CLI (Command Line Interface), muchas veces vemos comandos sueltos y cuesta trabajo integrarlos en un único proyecto o configuración.
Es por eso que me pareció conveniente, para ayudar a quienes están en esta circunstancia, publicar una configuración completa comentando qué es lo que incorporamos en cada parte del proceso. Para esta tarea elegí tomar una topología muy simple como referencia, a fin de que nos sirva de ejemplo:

En nuestro ejemplo:

  • Tenemos 2 switches Catalyst 2960 con Cisco IOS LAN Base versión 12.2(25)FX.
  • Ambos switches se comunican entre si utilizando los puertos GigabitEthernet 1/1, que deberán constituir un enlace troncal.
  • En cada switch asignaremos los puertos FastEthernet 1 a 12 como puertos de acceso de la vlan 2 y los puertos FastEthernet 13 a 24 como puertos de acceso de la vlan 3.
Veamos ahora la configuración de uno de los switches. He insertado en forma de comentario resaltado en rojo diferentes notas respecto de esta configuración:
!
version 12.2
service password-encryption
!
!Asigna un nombre identificatorio al switch
hostname BA_01
!
!Asigna una clave de acceso a modo privilegiado
enable secret 5 $1$mERr$hx5rVt7rPNoS4wqbXKX7m0
!
!
!Configuración básica del servidor VTP
vtp mode server
vtp domain PILOTO
!
!Creación y configuración de VLAN!Esto no aparece en el archivo de configuración
vlan 2
name VENTAS
vlan 3
name ADMIN
!
!Configuración de las interfaces de acceso de la VLAN 2
interface FastEthernet0/1
description puerto acceso vlan 2
switchport access vlan 2
switchport mode access
!Configuración de atributos de port-security
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
!Configuración de port-fast (STP)
spanning-tree portfast
!
interface FastEthernet0/2
description puerto acceso vlan 2
switchport access vlan 2
switchport mode access
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
spanning-tree portfast
!
! --More--
!
!Configuración de las interfaces de acceso de la VLAN 3
interface FastEthernet0/13
description puerto acceso vlan 3
switchport access vlan 3
switchport mode access
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
spanning-tree portfast
!
interface FastEthernet0/14
description puerto acceso vlan 3
switchport access vlan 3
switchport mode access
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
spanning-tree portfast

!
! --More--

!
!Configuración de los enlaces troncalesinterface GigabitEthernet1/1
description puerto troncal
switchport mode trunk
!
interface GigabitEthernet1/2
description puerto troncal
switchport mode trunk
!
!Asignación de una dirección IP a la VLAN 1!Para fines de management
interface Vlan1
ip address 192.168.1.125 255.255.255.0
no shutdown
!
!Definición de un banner en el acceso al dispositivo
banner motd ^C
-----------------------------------------------------------
Usted esta accediendo a la red ABC
Todo acceso no autorizado sera perseguido legalmente.
-----------------------------------------------------------
^C
!
!Configuración del acceso por consolaline con 0
password 7 0822455D0A16
login
exec-timeout 5 0
loggin synchronous
!
!Configuración del acceso por terminal virtual (telnet o SSH)
line vty 0 4
exec-timeout 5 0
password 7 0822455D0A16
login
line vty 5 15
exec-timeout 5 0
password 7 0822455D0A16
login
!
!
end

Algunas notas para la configuración:

  • Los comandos de configuración de VLANs no se guardan en el archivo de configuración. Aquí los he incluido a fin de tener el relato de la totalidad de los comandos utilizados.
  • No he incluido una configuración avanzada de STP ya que requeriría una topología más compleja. Pero incluí la implementación de port-fast en los puertos de acceso.
  • Omití repetir la configuración de cada puerto de acceso (24 en total) y dejé sólo algunos, ya que el post se haría innecesariamente extenso.
  • Para configurar múltiples puertos con los mismos features, se puede utilizar el comando interface range, por ejemplo: interface range FastEthernet 1/1 - 12
Bibliografía recomendada:



¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

6 de abril de 2009

Método simplificado para el cálculo de ancho de banda para VoIP

Un punto fundamental en el diseño de redes o rediseño de redes existentes para el transporte de voz sobre IP (VoIP), es el cálculo del ancho de banda necesario para la prestación adecuada del servicio.
El requerimiento del ancho de banda necesario en un enlace para el transporte de voz paquetizada sobre IP es el resultante de 2 factores:
  • El número de llamadas concurrentes.
    Se suele denominar "llamadas concurrentes" a la estimación de la cantidad máxima de llamadas simultáneas que se podrán cursar sobre un enlace.
    Esta estimación debe considerar tanto la cantidad actual de llamadas telefónicas simultáneas entre diferentes puntos, como el posible margen de crecimiento y las políticas de la organización al respecto.
  • El requerimiento de ancho de banda para cursar cada conversación telefónica.
    Cuando se implementa voz sobre IP se asume un conjunto de elecciones que impactan en ese requerimiento: CODEC, opciones de compresión, enlaces sobre los que se rutearán las llamadas, etc.
Para desarrollar el método, apelaré como otras veces a un ejemplo que nos permita comprenderlo más fácilmente.

Paso 1 - Calcular el tamaño de las tramas de voz.
Para esta tarea, podemos utilizar el siguiente procedimiento:
  • Este parámetro es el resultado del CODEC utilizado, que da como resultado el tamaño de la porción de datos. A esto debe sumarse el tamaño de los encabezados de capa 4, capa 3 y capa 2.

    Tamaño de trama = Payload + Enc. 4 + Enc. 3 + Enc. 2

    Por ejemplo, las tramas obtenidas al utilizar G.729 tienen una longitud de 20 Bytes, a eso debemos sumarle los encabezados RTP, UDP e IP necesarios, que son 40B adicionales, y luego el encabezado de capa de enlace, que suponiendo que se trata de una trama PPP agrega 6B.

    Tamaño de trama = 20B + 40B + 6B = 66B

  • Dado el peso del encabezado en el tamaño de la trama a transmitir, en enlaces de bajo ancho de banda (menos de 768 Kbps) es conveniente aplicar compresión de los encabezados de capa 3 y capa 4, lo que se suele denominar compresión de RTP (cRTP). Esto reduce esos 40B iniciales a 2 o 4B. De este modo nuestro cálculo queda:

    Tamaño de trama = 20B + 2B + 6B = 28B

  • A fin de continuar el cálculo, es necesario convertir el tamaño expresado en Bytes a bits (1B = 8b):

    28 Bytes x 8 bits/Byte = 224 bits/trama
Paso 2 - Calcular el ancho de banda requerido por una llamada.
  • Los CODECs actualmente utilizados para la digitalización de voz (G.711, G.728, G.728) generan 50 tramas por segundo.
  • Para calcular el ancho de banda requerido para cada llamada debemos multiplicar el tamaño de cada trama por la cantidad de tramas que se envían por segundo:

    BW/llamada = tamaño de la trama x tramas por segundo

    BW/llamada = 224 bits/trama x 50 tramas/seg. = 11200 bps/llamada
Paso 3 - Calcular el ancho de banda requeridod en la implementación.
  • Se debe considerar el número de llamadas concurrentes, y multiplicar el ancho de banda requerido para cada llamada por el número de llamadas concurrentes.

    BW requerido = BW/llamada x llamadas concurrentes

    Para nuestro ejemplo vamos a suponer que se trata de cursar un máximo de 10 llamadas concurrentes generadas utilizando CODEC G.729 sobre un enlace PPP con cRTP.

    BW requerido = 11,200 Kbps x 10 = 112 Kbps
Es preciso tener en cuenta que:
  • El tamaño de la porción de datos depende del CODEC implementado.
  • La porción correspondiente a los encabezados de capa 3 y 4 es de 40B si no se implementa compresión, y de 2 o 4B si se implementa cRTP.
  • La porción correspondiente al encabezado de capa 2 está en función del enlace de que se trate. En este ejemplo he considerado un enlace PPP.
  • Cuando se implementa voz sobre VPN IPSec, se debe considerar el overhead correspondiente a la implementación de IPSec que se esté aplicando.
Recursos:
¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta

4 de abril de 2009

FXS / FXO

Quienes desean iniciarse en el universo de la telefonía IP, uno de los primeros temas que deben abordar es la adquisión de los conceptos básicos de la telefonía convencional. Entre estos conceptos están los diferentes tipos de interfaces analógicas: FXS, FXO, E&M.
Las interfaces de telefonía analógica se encuentran en múltiples dispositivos de networking (routers, centrales de telefonía IP, etc.) que operan como gateways hacia los servicios de voz convencionales: teléfonos, faxes, PBXs o el mismo sistema de telefonía pública conmutada.

FXS
(Foreign eXchange Station)
También denominada interfaz de abonado. Es el que envía la línea analógica hacia el abonado.
Se trata de interfaces que permiten conectar dispositivos terminales, como un teléfono.

Una interfaz FXS proporciona alimentación eléctrica, señalización de llamada (ring) y tono al dispositivo terminal.
Estas interfaces son las que permiten conectar un teléfono analógico convencional a un router o central de telefonía IP.

FXO
(Foreign eXchange Office).
Puerto que recibe la línea analógica. Es la interfaz que permite conectar un dispositivo terminal a un servicio de telefonía como el servicio de telefonía pública (PSTN) o una PBX.
Envía al sistema telefónio una señal de colgado o descolgado (cierre de bucle).

FXS y FXO son siempre pares que se corresponden mutuamente: una interfaz FXS se conecta en el otro extremo de la línea a una interfaz FXO.
Cuando se instala una central telefónica (PBX), la línea telefónica se conecta al puerto FXO de la PBX, la cual provee múltiples puertos FXS para conectar los teléfonos o aparatos de fax.
E&M
Las interfaces E&M (Ear & Mouth) implementan técnicas se señalización que permiten conectar PBXs entre sí, es decir la implementación de troncales de telefonía convencional.

Gateway de Voz
Es el dispositivo que permite interconectar la red de telefonía pública o las PBX de telefonía tradicional con la red de telefonía paquetizada o telefonía IP.
Este dispositivo puede ser un router o una central de telefonía IP y debe contar con tantos puertos FXO como líneas telefónicas desea acceder, y puertos FXS como PBXs o teléfonos convencionales desea conectar.

¿Tenés alguna información o comentario para aportar en este tema....?
Perfecto!!!! agregá un comentario con el detalle.
Muchas gracias.
Oscar Gerometta