domingo, 4 de septiembre de 2011

Subnetting y VLSM (segunda parte)

                                             Por Carlos Quiroz

Continuemos con subnetting para ver otro ejemplos, para ello voy a usar la misma red pero con una dirección de clase B (172.16.0.0 /16).

Recordemos que la red del ejemplo tiene 5 subredes por lo que se debe generar 8 subredes.

Para el caso de la dirección de red 172.16.0.0 /16, la cantidad de bits de red es 16 y los bit de host son 16, al quitarle tres bits, se va a quedar con 13 bits, generando 8 subredes con prefijo /19, tal como se ve gráficamente.

Continuemos con subnetting para ver otro ejemplos, para ello voy a usar la misma red pero con una dirección de clase B (172.16.0.0 /16).


Cada subred va a tener 2 a la 13 direcciones IP, o sea 8 K direcciones (K = 210 = 1024)
            8 K  = 8 x 1024 = 8 x (4 x 256) = (8 x 4) x 256 = 32 x 256

El decimal 256 se puede expresar en binario así:
            256 = 100000000 bin 

El binario lo puedo pasar a octetos como usa el direccionamiento IPv4:
            100000000 bin  = 1 . 00000000  =  1 .  0   octetos en decimal

El decimal 256 se puede expresar en octetos así:
            256 decimal  =  1. 0 octetos

Esto nos permite expresar 8K = 32 x 256  = 32 x (1 . 0)  = 32 . 0 en octetos

Con estas conversiones podemos determinar fácilmente las direcciones de subred, de manera similar a ejemplo anterior, pero ahora la suma abarca dos octetos, debo sumar 32 . 0.

Veamos cual es la tabla resultante:


Direc de subred
Primera IP válida
Última IP válida
Direcc broadcast
1
172.16.0.0
172.16.0.1
172.16.31.254
172.16.31.255   *
2
172.16.32.0
172.16.32.1
172.16.63.254
172.16.63.255
3
172.16.64.0
172.16.64.1
172.16.95.254
172.16.95.255
4
172.16.96.0
172.16.96.1
172.16.127.254
172.16.127.255
5
172.16.128.0
172.16.128.1
172.16.159.254
172.16.159.255
6
172.16.160.0
172.16.160.1
172.16.191.254
172.16.191.255
7
172.16.192.0
172.16.192.1
172.16.223.254
172.16.223.255
8
172.16.224.0
172.16.224.1
172.16.255.254
172.16.255.255


Hemos aplicado la misma regla para obtener las direcciones de subred, parto de la dirección original 172.16.0.0, pero debo considerar ahora que usa el prefijo /19, con lo cual la cantidad de direcciones es de 32.0 octetos. La siguiente subred se logra sumando 172.16.0.0 + 32.0 = 172.16.32.0

Las direcciones de broadcast se obtendrán restándole 1 a la siguiente dirección de subred, por ejemplo: 172.16.32.0 – 1 = 172.16.31.255

En el próximo artículo (tercera parte) desarrollaremos el caso de VLSM.

Subnetting y VLSM (primera parte)

Por Carlos Quiroz Goicochea

Uno de los grandes problemas de mis alumnos es cuando tienen que aprender subnetting y VLSM, en este artículo voy a explicarles de forma sencilla como se realizan ambos procesos, haciendo uso mínimo del formato binario, por el contrario desarrollándolo mediante el sistema decimal.

Existen dos formas de dividir las redes:

La primera forma de dividir, que fue usada inicialmente, tomaba la red en clase y generaba subredes, todas del mismo tamaño, usando la misma máscara de subred, a esta forma de dividir las redes se llama subnetting.

La segunda forma fue diseñada cuando se enfrentaron a la escasez de direcciones IP, ya no se podía seguir usando subredes muy grandes, donde se desperdiciaban muchas direcciones, para solucionar este problema se comenzaron a dividir las redes en subredes de diferentes tamaños, de acuerdo a la necesidad, cada subred al ser de tamaño diferente, tiene la máscara de subred diferente, a esta forma de dividir se le llama VLSM (Máscara de Subred de Longitud Variable).

Una forma de darnos cuenta si la red ha sido dividida usando subnetting o VLSM es observando las máscaras de cada una de las subredes, si todas tienen la misma máscara se trata de subnetting, caso contrario será VLSM.

Vamos a explicar como se realiza el subnetting:
Esto lo vamos a hacer mediante ejemplos, el primero de ellos tiene una red como el de la figura que aparece más adelante, y la dirección de red, en clase C, que vamos a usar es la clásica 192.168.1.0 /24.
Lo primero que debemos tener en cuenta es que, cuando nos dan una dirección de red, nos están dando una cantidad de direcciones, esta cantidad depende del prefijo o de la máscara.

En este ejemplo, el prefijo /24, me indica que la parte de red usa 24 bits y como el total de bits es de 32, le queda 8 bits para la parte de host.


Con esos 8 bits de host se pueden generar 2 a la 8 direcciones IP, o sea, 256 direcciones, de las cuales recordemos no se pueden usar ni la primera (dirección de red) ni la última (dirección de broadcast).

El esquema de red que vamos a trabajar es el siguiente:

Primero, hay que identificar la cantidad de subredes, porque para cada una de ellas necesitamos una dirección de subred. Las interfaces de los routers nos permiten determinar la cantidad de subredes, tenemos tres subredes en las tres LAN, uno en cada router y dos subredes para los enlaces WAN, en total hay 05 subredes.

Para crear las subredes se le debe quitar algunos bits a los bits de host, estos bits serán identificados como los bits de subred.

La dirección de red tiene 8 bits de host, si le quitamos un bit, con ese bit se pueden generar 2 a la 1 subredes, o sea solo 2 subredes y necesitamos 5.
Si le quitamos 2 bits, con ellos podemos generar 2 a la 2 subredes, o sea solo 4 y necesitamos 5, pero si le quitamos 3 bits, podemos generar 8 subredes. Con estas 8 subredes podemos cubrir las cinco que necesitamos y nos sobrarán tres.

Por lo tanto, podemos subnetear la red generando 8 subredes con prefijo /27, porque ahora las subredes se han quedado con solo 5 bits de host. Lo que debemos hacer ahora es determinar cuáles son esas subredes, donde cada una de ellas tiene 5 bits de host.

Cada subred con 5 bits de host puede tener 2 a la 5 direcciones IP, o sea 32 direcciones, aunque no pueden usar ni la primera (dirección de subred) ni la última (dirección de broadcast de la subred) para asignarle a los equipos.

Las direcciones de subred las obtenemos de la siguiente manera:
La primera dirección es la misma dirección de red, pero con prefijo /27 que indica que tiene 32 direcciones:
            Primera subred          192.168.1.0 /27
La segunda subred se obtiene con la primera mas 32 direcciones, esto da como resultado:
            Segunda subred         192.168.1.32 /27
Las siguientes subredes se obtendrán sumándole 32 direcciones a la dirección anterior:
            Tercera subred           192.168.1.64 /27
            Cuarta subred             192.168.1.96 /27
            Quinta subred             192.168.1.128 /27
            Sexta subred              192.168.1.160 /27
            Séptima subred          192.168.1.192 /27
            Octava subred           192.168.1.224 /27

La siguiente tabla determina las principales direcciones de cada una de las subredes, en particular podremos determinar a las direcciones válidas, las cuales se usarán para configurar a los routers y las PC´s



Direc de subred
Primera IP válida
Última IP válida
Direcc broadcast
1
192.168.1.0
192.168.1.1     ***
192.168.1.30     ****
192.168.1.31   *
2
192.168.1.32
192.168.1.33
192.168.1.62
192.168.1.63   **
3
192.168.1.64
192.168.1.65
192.168.1.94
192.168.1.95
4
192.168.1.96
192.168.1.97
192.168.1.126
192.168.1.127
5
192.168.1.128
192.168.1.129
192.168.1.158
192.168.1.159
6
192.168.1.160
192.168.1.161
192.168.1.190
192.168.1.191
7
192.168.1.192
192.168.1.193
192.168.1.222
192.168.1.223
8
192.168.1.224
192.168.1.225
192.168.1.254
192.168.1.255

Para llenar esta tabla, primero llenamos las direcciones de subred, luego llenamos la columna de direcciones de broadcast, la primera dirección de broadcast se puede obtener restándole 1 a la siguiente dirección de subred:
            192.168.1.32 -1 = 192.168.1.31  *
Las siguientes direcciones de broadcast se obtienen restándole 1 a la siguiente dirección de subred:
            192.168.1.64 -1 = 192.168.1.63  **

La columna de Primera IP válida se obtiene sumándole 1 a su correspondiente dirección de subred:
            192.168.1.0 + 1 = 192.168.1.1   ***

La columna de Última IP válida se obtiene restándole 1 a su correspondiente dirección de broadcast:
            192.168.1.31 - 1 = 192.168.1.30   ****

Finalmente elegimos 5 subredes y las asignamos en la red, tal como se puede apreciar en diagrama de red.

Luego de haber asignado las subredes en forma arbitraria, no importa el orden, se recomienda asígnale la primera dirección válida a la interfaz F0/0 de los routers y la última a su PC, tal como se indica en la red Lan de R1, aunque solo se anota el octeto menos significativo (.1 y .30) para no tener que escribir las dirección completa.





viernes, 2 de septiembre de 2011

Uso de Dynagen en redes Cisco (simulador)

Para poder implementar redes con dispositivos Cisco, como switches, routers y otros más, Cisco ha creado un simulador muy útil llamado Packet Tracer y con el podemos experimentar diferentes tipos de redes, entrar a simulación y reproducir el viaje de los paquetes paso a paso, de esta forma podemos conocer cómo se desplazan los PDU´s, usando el modelo OSI y el modelo TCP/IP.
Este simulador está limitado en la totalidad de los comandos que puede utilizar en los routers, en comparación de los routers reales, ya que no usa el IOS original del router, sino una simulación, más pequeño, con sus comandos más importantes.

A medida que han ido apareciendo nuevas versiones, se han incrementado su capacidad de simulación, pero no cubre toda la capacidad que lo hace el router real.

Para poder trabajar con routers Cisco con su IOS original y en un programa simulador, se puede utilizar un simulador en base a Dynagen

Dynagen es un programa para usar con el emulador de router de Cisco Dynamips. Utiliza un archivo de configuración de red, en donde se especifica los componentes de red y sus conexiones. Los routers tienen asociado su IOS, en el cual aparecerá la ruta y el nombre del IOS. A continuación  adjuntamos un ejemplo de archivo de configuración de la red, para que lo puedas usar, pasa este contenido a un block de notas y lo guardas con la extensión .net, por ejemplo: CS 2-3-4.net

##################################
#          Cisco CCNA4                                #
##################################
#   Academia.    Cibertec                           #
#   Instructor:       Carlos Quiroz G.             #
##################################

debug = 0
autostart = True
model = 2691
WIC0/0 = WIC-2T
WIC0/1 = WIC-2T
workingdir = C:\Users\Calo\Desktop\CCNA4
[localhost]
    workingdir = C:\Users\Calo\Desktop\CCNA4
    [[2691]]
        workingdir = C:\Users\Calo\Desktop\CCNA4
        image = C:\Users\Calo\Desktop\IOS\c2691-adventerprisek9-mz.124-25.bin

        ram = 128
        ghostios = True
        sparsemem = True

    [[ROUTER R1]]
        console = 2001
        S0/0 = R2 S0/0
        f0/1 = NIO_udp:30000:127.0.0.1:20000
                # PC1 conectada a un puerto de f0/1, es una PC virtual
        cnfg = none
        model = 2691
       idlepc = 0x60a4ce50

    [[router R2]]
        console = 2002
        S0/1 = R3 S0/1
        f0/1 =NIO_gen_eth:\Device\NPF_{4B78FAA1-F40D-4376-BFD0-5500E2534BCD}
                # PC2 conectada a un puerto de f0/1, es la PC real, para Windows 7 es una interfaz loopback

        cnfg = none
        model = 2691
       idlepc = 0x60a4ce50

    [[router R3]]
        console = 2003
        S0/0 = R1 S0/1
        f0/1 = NIO_udp:30002:127.0.0.1:20002
                # PC3 conectada a un puerto de f0/1, es una PC virtual
        cnfg = none
        model = 2691
       idlepc = 0x60a4ce50

Para poder usar este archivo de configuración de red, se debe adecuarlo de la siguiente manera:
A.- Debemos cambiar el directorio de trabajo: workindir, debes crear una carpeta en donde se van a guardar los archivos que va a generar el simulador, la ruta a esa carpeta debes pegarla en los tres workindir del archivo de configuración de red.
B.- Debemos tener el IOS del router y guardarlo en una carpeta, luego modificar la ruta hacia este IOS, por ejemplo: C:\Users\Calo\Desktop\IOS\c2691-adventerprisek9-mz.124-25.bin, recuerda que la ruta hacia el IOS depende de tu computadora.
El IOS lo tienes que conseguir de Internet, como el que tenemos en la descripción anterior. Para que que puedas conseguir el IOS usa google y busca: intitle:index.of ios parent directory bin.

C.- Note que el archivo tiene tres routers, llamados R1, R2 y R3, el nombre puede cambiar por ejemplo R3 puede ser cambiado por ISP. Además, cada router debe tener  un número de consola diferente, console = 2001 para el primero, 2002 para el segundo, así sucesivamente.

D.- Debe establecer como se conectan las interfaces de los routers, en el ejemplo vemos a R1 conectado a R2 a través de sus interfaces seriales, esto dependerá de la topología de la red (S0/0 = R2 S0/0). Con esta configuración en R1 hemos conectado R1 con R2, ya no es necesario volver a hacerlo en R2. Note además que los número de las interfaces son diferentes al esquema, por lo que debemos considerar que la interfaz serial S0/0/0 es reemplazada por la S0/0.


  Para la conexión de las PC´s, tenemos dos alternativas:

 - Se puede usar PC´s virtuales con el objeto de hacer  ping desde estas PC´s, (luego explicaremos su configuración y cuál es el software que se debe usar), para ello debemos agregar el siguiente comando:
      f0/1 = NIO_udp:30000:127.0.0.1:20000
En el ejemplo dado, indica que la interfaz F0/1 del router está conectada a la PC virtual PC1, ya que se está usando el número de puerto 30000 y 20000. Si se quiere usar otra PC virtual, por ejemplo la PC2, se debe usar el mismo comando, pero, cambiando los número de puertos a 30001 y 20001, para PC3 se debe usar 30002 y 20002, así sucesivamente.

- Se puede usar la PC real, pero para Windows 7, no se puede hacer con su tarjeta de red real Ethernet, sino, se debe agregar una interfaz loopback de Microsoft., de esta forma agregaremos el siguiente comando:
    f0/1 = NIO_gen_eth:\Device\NPF_{4B78FAA1-F40D-4376-BFD0-5500E2534BCD}

En tu computadora, es probable que no tengas agregado esta interfaz, por lo que debes hacerlo de la siguiente manera:

Para instalar un Loopback en Windows 7
**************************************************************************************************
1.  Van al inicio y en el buscador ponen cmd y le dan ENTER.
2.  Escriben "hdwwiz.exe" sin comillas
3. En agregar hardware ponen la opción "instalar el hardware seleccionado manualmente.... (avanzado)"
4.  Saldrá una lista, busquen "Adaptadores de Red" y siguiente.
5.  Elijan el fabricante "Microsoft" y en adaptador de red "Adaptador de bucle invertido de Microsoft" siguiente.
6.  A continuación se ve el proceso de instalación y ya tienen el loopback.
7.  Se debe reiniciar la PC
8.  Luego de reiniciado se ejecuta: Network Device list del grupo de programas: Dynagen
9.  Este programa genera:
   NIO_gen_eth:\Device\NPF_{4B78FAA1-F40D-4376-BFD0-5500E2534BCD}
   Y lo debemos reemplazar en el archivo de configuración de red.
**************************************************************************************************

El programa Dynagen puede ser bajado de http://dynagen.org/, es un software libre, deben bajar también el programa Winpcap. Van a encontrar al Dynagen para diversos sistemas operativos, bajan para windows y lo instalan. Cuando esté instalado podrán verlo como en la siguiente figura:

Debemos ejecutar primero “Dynamips Server”, lo que abre una ventana de comandos, como la siguiente:
Luego de haber realizado los cambios en el archivo de red, debemos guardarlo, recuerde que debe tener la extensión .net. Una vez guardado abrimos al archivo de red con el programa: dg-local, que aparece después de instalar Dynagen (click derecho y abrir con).

Se abre una ventana de comandos de Dynagen.exe, mostrando el prompt:

   =>                       Desde aquí puedo ingresar comandos
   => ?                     Con “?” me muestra los comando que acepta.

Escriba el siguiente comando para ver la lista de dispositivos.

   => list all                 Muestra la lista de routers

Puede abrir cada una las ventanas de configuración para el router R1 mediante el siguiente comando.
   => telnet R1

Puede abrir todos los routers con un solo comando:
=> console /all


Antes de continuar se recomienda determinar el IDLEPC, el cual es un valor importante para el buen funcionamiento de la PC, en el caso de que no se calcule este valor, el procesador estará trabajando al 100%, haciendo que el sistema se vuelva lento.
Solo una sola vez es necesario calcular el IDLEPC, después debemos agregar este mismo valor en los otros ejercicios que desarrollemos, este valor es válido para cada PC, si cambiamos de PC, debemos calcularlo nuevamente. Para realizar el cálculo se debe poner el símbolo “#” antes del comando idlepc, por ejemplo:
    #   idlepc = 0x60a4ce50
En el caso de que no lo desabilite con el símbolo #, me indicará que no ouede calcularlo por que ya tiene idlepc, por el contrario, si los desabilito, aparecerá en la ventana de Dynagen los mensajes "warning" de usencia de los idlepc.

Para calcular el idlepc, debemos primero ejecutar el Dynamips Server y luego abrir el archivo de configuración de red con # en todos los idlepc, luego debemos ejecutar telnet R1 y a continuación se determina el idlepc con el siguiente comando:

   => idlepc get R1                                       
Please wait while gathering statistics...
*  1: 0x604b8db4 [53]
   2: 0x60a52258 [76]
   3: 0x60a4b6f0 [62]
   4: 0x60a4b720 [78]
   5: 0x60a4b8f4 [78]
   6: 0x60a4b964 [77]
   7: 0x60a4cc9c [66]
   8: 0x60a4ce50 [61]
   9: 0x60a4ce84 [41]
* 10: 0x602471f0 [57]
Potentially better idlepc values marked with "*"
Enter the number of the idlepc value to apply [1-10] or ENTER for no change:

La computadora realiza los cálculos y entrega una lista de números, al menos uno de ellos debe estar marcado con un asterico (*), si ninguno tiene *, vuelva a ejecutar el comando. Elija uno de ellos que esté marcado con *, este número lo debe ingresar en el archivo de configuración de red y en todos los archivos .net que genere. Este cálculo se recomienda para un mejor uso del CPU en cada computadora.
Si antes tenía:   idlepc = 0x60a4ce50 ahora debe ser cambiado por: idlepc = 0x604b8db4 en el archivo de configuración de red.

Para terminar en la ventana Dynagen, ejecute:
  => exit

Una vez que se grabado el archivo de red, cierre todos los archivos y vuelva a abrirlos,

Primero: Dynamips Server

Segundo: Abrir el archivo de configuración de red con dg-local. Aparece la ventana de Dynagen

Tercero: Desde Dynagen ejecute: console /all, con ello se abrirán n ventanas si el archivo de red tiene n routers.

Cuarto: Configurar cada uno de los routers, en particular se recomienda que nombre a los routers para poder diferenciar las ventanas de telnet.

Para cada router el comando siguiente, permite cargar una configuración previa, para ello debe dar la ruta y el nombre del archivo:
    cnfg = C:\Users\CCNA\Desktop\ccna4\working\lab-2-5-1\R1.cfg

En el caso de que no se quiere cargar una configuración previa, use:
    cnfg = none

Luego de haber realizado la configuración de todos los routers, salve las configuraciones con el comando copy o con wr, podrá luego volverlos abrir en otro mamento y continuar con la configuración o simplemente revisarla, toda la información estará en la carpeta de trabajo llamada workindir.

Se puede exportar los archivos de configuración de cada router, para ello use el siguiente comando:

   => export /all "C:\Calo\Escritorio\CCNA4\entrega\ccna4\working"
La dirección de la carpeta donde deben guardarse los archivos de configuración debe estar entre comillas. El resultado se muestra a continuación:

The directory C:\Calo\Escritorio\CCNA4\entrega\ccna4\working already exists. Ok to overwrite (Y/N)? y
Exporting R1 to C:\Calo\Escritorio\CCNA4\entrega\ccna4\working\R1.cfg
Exporting R2 to C:\Calo\Escritorio\CCNA4\entrega\ccna4\working\R2.cfg
Exporting R3 to C:\Calo\Escritorio\CCNA4\entrega\ccna4\working\R3.cfg

Para importar estos archivos a los routers lo logramos con el siguiente comando:

import /all "C:\Calo\Escritorio\CCNA4\entrega\ccna4\working"

Esto permite cargar una configuración de los routers, para ello, luego de ejecutar el import, debe cerrar todos los archivos y luego los abrimos, ejecutando primero Dynamips server, en este segundo intento veremos que se cargan las configuraciones en cada uno de los routers.

 Para las PC´s virtuales, lo puedes bajar de Internet, usa Google y busca: vpcs-0.16c PC virtual
Descomprimes el archivo y guardas la carpeta de las PC´s vituales, como aparece en la anterior figura, debes luego configurar las IP, de la siguiente manera:

# The startup file of VPC
###########################################

############################################
# pc1, pc2, pc3, pc4, pc5: ipv4
1
ip   192.168.10.10       192.168.10.1   24
2
ip   192.168.30.10       192.168.30.1    24
3
ip   192.168.30.10       192.168.30.1    24
4
ip   192.168.30.128     192.168.30.1     24
5
ip   209.165.202.158   209.165.202.129 27
6
ip   209.165.201.30     209.165.201.1     27
############################################
# En dynagen agregar:
#   f1/2 = NIO_udp:30000:127.0.0.1:20000
#   para PC1
#   f1/2 = NIO_udp:30001:127.0.0.1:20001
#   para PC2

En esta configuración se ha configurado desde la PC1 a la PC6, con la IP, puerta de enlace y prefijo de la máscara de red. Luego se debe ejecutar el archivo vpcs y aparecerá la siguiente ventana:

Para hacer ping desde la PC1, debemos escribir 1 y le damos enter, de igual forma se debe hacer para usar las otras PC´s.