¿Dañaste el IOS del Router Cisco? Cómo copiar la imagen IOS de un Router a otro Router

[9] Router_to_Router-2Recientemente en una clase de enrutamiento uno de mis alumnos borró accidentalmente la flash de uno de los Routers del laboratorio, y claro recordemos que la flash contiene nada más y nada menos que la imagen de Sistema Operativo, cosas que pasan. Por suerte tenemos varios Routers en el laboratorio del mismo modelo y por lo tanto compatibles con la misma versión de IOS, así que para solventarlo lo que hice fue copiar la imagen de un router al router que perdió la imagen. Ese es el procedimiento que explicaré a continuación esperando resolver las dudas de muchos.

Topología

Lo primero que debemos hacer es conectar la topología que tenemos a continuación, asumiendo que R1 es el Router que perdió la imagen del IOS, y R2 el Router que tiene una imagen compatible, muy sencillo.

[9] Router_to_RouterConexión

Lo siguiente que debemos hacer es lograr una conexión entre los 2 routers a través de la cual se transfiere la imagen.

Para ello debemos agregar direcciones IP válidas y pertenecientes al mismo dominio de red entre los 2 routers. Por ejemplo:

Router1(config)# interface fastethernet 0/0
Router1(config)# ip address 172.16.0.1 255.255.255.0
Router1(config)# no shutdown
!!!
Router2(config)# interface fastethernet 0/0
Router2(config)# ip address 172.16.0.2 255.255.255.0
Router2(config)# no shutdown

Para verificar que todo saldrá bien deberíamos probar la conectividad con un ping entre ambos equipos.

Router1#ping 172.16.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/7 ms

TFTP

Una vez que estamos seguros de que hay conectividad lo siguiente sería configurar R2 como un servidor tftp para que pueda brindar archivos a otros equipos.

El comando #show flash: muestra todo el contenido de la memoria flash del equipo, como pueden ver a continuación la de R1 está vacía y la de R2 si contiene imagen (por ejemplo, c1841-advipservicesk9-mz.124-15.T1.bin):

Router1#show flash

System flash directory:
File  Length   Name/status
[0 bytes used, 64016384 available, 64016384 total]
63488K bytes of processor board System flash (Read/Write)

Router2#show flash:

System flash directory:
File  Length   Name/status
  3   33591768 c1841-advipservicesk9-mz.124-15.T1.bin
  2   28282    sigdef-category.xml
  1   227537   sigdef-default.xml
[33847587 bytes used, 30168797 available, 64016384 total]
63488K bytes of processor board System flash (Read/Write)

Ahora le diremos a R2 que active su servicio de tftp con el siguiente comando:

Router2(config)#tftp-server flash:

El router pregunta el nombre del archivo que se desea compartir y colocamos el c1841-advipservicesk9-mz.124-15.T1.bin

La Transferencia

Ahora desde R1 debemos solicitar el archivo al servidor tftp:

Router1#copy tftp flash
Proceed? [confirm]

Y nos hace varias preguntas, como la dirección o nombre del servidor TFTP, el nombre del archivo origen y el nombre del archivo destino.

Address or name of remote host []? 172.16.0.2
Source filename []? /c1841-advipservicesk9-mz.124-15.T1.bin
Destination filename [c1841-advipservicesk9-mz.124-15.T1.bin]?

Para esta última pregunta podemos simplemente presionar enter si queremos que se conserve el nombre del archivo origen. El Router tardará un poco en cargar la imagen, se reiniciará y debería estar listo.

Verificación

Para verificar que todo está en orden, primero que nada el Router por si solo debe ser capaz de cargar el sistema operativo al reiniciar, y además podemos ver la imagen utilizando el mismo comando de verificación.

Router1#show flash

System flash directory:
File  Length   Name/status
  1   33591768 c1841-advipservicesk9-mz.124-15.T1.bin
[33591768 bytes used, 30424616 available, 64016384 total]
63488K bytes of processor board System flash (Read/Write)

Procedimientos similares se pueden aplicar desde un servidor TFTP que contenga la imagen adecuada, y un computador cualquiera podría brindar servicio de FTP con programas como Cisco TFTP. Espero esta información les sea de utilidad en caso de cualquier accidente o actualización con las imágenes de sus Routers.

Beto

@betor86

Subnetting – Parte 2

Hace poco expliqué como hacer realizar un subnetting en función de la cantidad de redes que se requieren, y para continuar con el tema explicaré como hacerlo en función de la cantidad de host en cada subred.

¿Porque? ¿Pueden imaginarse un cliente que les pida un diseño de red que tenga 5 subredes? Normalmente el cliente no sabe de esto, y somos nosotros quienes tenemos que determinar cómo agrupar los host. Una de la formas más comunes de hacerlo es por su localización física (i.e. oficinas), o por su función (i.e. analistas, supervisores y jefes), lo que quiere decir que lo que nos interesa en realidad es cuantos usuarios tenemos en cada grupo. La idea es utilizar el espacio de direcciones IP un poco mejor.

Colocaré de nuevo la topología del último artículo, donde tenemos 5 segmentos de broadcast, solo que ahora agrego cuantos host se manejan en cada subred.

[8] Subnetting-2

Nuevamente, como estoy haciendo subnetting, se supone que debo picar en partes iguales, solo que cada una de esas partes debe tener una medida lo suficientemente amplia como para dar abasto a la subred que tenga la mayor cantidad de host. Es decir, que picamos la torta en partes iguales, pero debemos saber exactamente el tamaño de la porción que se come el que más come.

¿Cómo sabemos eso? Similar al método anterior sólo que ahora en lugar de contar la cantidad de bits de host que necesito tomar prestados para la porción de red, simplemente contamos cuantos bits de host necesitamos usar en total. Eso podemos hacerlo con la siguiente fórmula:

(2˄n)-2 ≥ MAX. cant. de host.

Donde n representa la cantidad de bits de host que se requiere. Y ese menos 2, son las 2 direcciones IP de una familia que no se puede usar para asignarlas a un host; la dirección de red y la dirección de broadcast.

Así que para este ejemplo:

(2˄n)-2 ≥ 796

(2˄n) ≥ 796 + 2

(2˄n) ≥ 798

(2˄10) ≥ 798

1024 ≥ 798

Por lo tanto el menor n que cumple con esto es n = 10. Lo que significa que tendremos 10 bits de host y cada segmento tendrá capacidad para albergar (2˄10)-2 direcciones IP utilizables (1022).

Ahora, igual que en el ejercicio anterior simplemente calculamos los parámetros que definen nuestra subred. Suponiendo que ahora tenemos una dirección con clase 172.16.0.0, entonces desglosamos los bits de host de esa dirección con clase y contamos 10 bits de derecha a izquierda para trazar una raya imaginaria que marca la máscara.

172.16.

0 0 0 0 0 0 | 0 0 .

0 0 0 0 0 0 0 0

>

Dir. de Red

0 0 0 0 0 0 | 0 0 .

0 0 0 0 0 0 0 1

>

1er Host

0 0 0 0 0 0 | 1 1 .

1 1 1 1 1 1 1 0

>

Ult. Host

0 0 0 0 0 0 | 1 1 .

1 1 1 1 1 1 1 1

>

Broadcast

Dirección de Red: Dirección que defina la subred. Todos los bits de host apagados.

1er Host: siguiente combinación a la dirección de red.

Ult. Host: último host utilizable de la red, antes del Broadcast.

Dirección de Broadcast: Dirección de difusión de la red. Todos los bits de host encendidos.

Y la máscara sería igual para todas las subredes porque estamos picando en partes iguales, colocando 1’s de izquierda a derecha en toda la porción de red y 0’s en la porción de host. Es decir,

11111111.11111111.11111100.00000000 = 255.255.252.0 = /22

Si lo traducimos al sistema decimal:

Dir. de Red: 172.16.0.0/22

1er Host: 172.16.0.1/22

Ult. Host: 172.16.3.254/22

Broadcast: 172.16.3.255/22

Igual que en el ejercicio anterior, podemos hacer lo mismo con el segmento B, ahora debemos fijar un identificador de subred distinto para no solapar una subred con otra:

172.16.

0 0 0 0 0 1 | 0 0 .

0 0 0 0 0 0 0 0

>

Dir. de Red

0 0 0 0 0 1 | 0 0 .

0 0 0 0 0 0 0 1

>

1er Host

0 0 0 0 0 1 | 1 1 .

1 1 1 1 1 1 1 0

>

Ult. Host

0 0 0 0 0 1 | 1 1 .

1 1 1 1 1 1 1 1

>

Broadcast

En decimal:

Dir. de Red: 172.16.4.0/22

1er Host: 172.16.4.1/22

Ult. Host: 172.16.7.254/22

Broadcast: 172.16.7.255/22

Y así, poco a poco podríamos calcular las 5 subredes que necesitamos Lo más ajustado que podemos.

Seg Red 1er Host Ult. Host BC
A 172.16.0.0 172.16.0.1 172.16.3.254 172.16.3.255
B 172.16.4.0 172.16.4.1 172.16.7.254 172.16.7.255
C 172.16.8.0 172.16.8.1 172.16.11.254 172.16.11.255
D 172.16.12.0 172.16.12.1 172.16.15.254 172.16.15.255
E 172.16.16.0 172.16.16.1 172.16.19.254 172.16.19.255

Todas con la máscara 255.255.252.0, o lo que es lo mismo, /22.

Es importante destacar que estoy haciendo este ejemplo lo más ajustado que se puede a la subred que tiene más host para que se entienda como se hace por un propósito pedagógico. Sin embargo, recuerden que hay que considerar la escalabilidad de la red, si pienso en que esa red a lo mejor tendrá 500 usuarios más dentro de 3 años, lo ideal sería haberlo pensado con antelación a la hora de hacer el diseño, para evitar torturas a la hora de escalar la red.

Nuevamente, espero les sea de utilidad y con esto concluyo el tema del subnetting y en cuanto tenga oportunidad escribiré sobre el VLSM que es incluso más eficiente.
[Subnetting – Parte 1]

Beto

@betor86

Subnetting – Parte 1

Aquí estamos de nuevo. Alguna vez se han preguntado porque ese valor que llamán máscara de subred, a veces tiene valores que no son 255?, solía preguntármelo hace unos cuantos años y se debe a que no siempre usamos direcciones IP con clase. Además, últimamente he tenido varios casos de gente que requiere un empujón aprendiendo a hacer subnetting, así que decidí explicar un poco todo este tema, es algo largo así que lo picaré en varias partes. Y bueno aquí vamos.

IP con clase

[7] Like a sir

Antes de empezar con el tema debemos saber que existe una clasificación de las IP que indica que pueden ser IP con clase (classfull) o IP sin clase (classless), no, no es un meme de like a sir. Cuando decimos que una IP es con clase solo quiere decir que según el 1er octeto de la IP ya debemos saber que máscara de red tiene la IP sin que nadie lo diga. Y cuando decimos que una IP es sin clase siempre debemos indicar la máscara de subred que lleva o la información estará incompleta.

A continuación coloco la tabla de direcciones IP con clase y cómo podemos reconocerla (si no lo recuerda) simplemente viendo el primer octeto en binario.

Clase

Rango

Máscara

1er octeto (bin)

A

0.0.0.0 – 127.255.255.255

255.0.0.0

0XXX XXXX

B

128.0.0.0 – 191.255.255.255

255.255.0.0

10XX XXXX

C

192.0.0.0 – 223.255.255.255

255.255.255.0

110X XXXX

D

224.0.0.0 – 239.255.255.255

N/A

1110 XXXX

E

240.0.0.0 – 255.255.255.255

N/A

1111 XXXX

Es importante destacar que las de clase D, no deben ser asignadas a dispositivos y sólo se usan para dar funciones de red (i.e. enviar mensajes multicast (i.e. protocolo de enrutamiento (i.e. RIPv2 (224.0.0.10)))). Y las clase E son solo para uso experimental o militar, así que los mortales no les damos uso tampoco.

¿Por qué no usar siempre IP’s con clase? El problema de usar IP’s con clase no es – como muchos piensan- que se acabaron las dirección, el principal problema es el tamaño de los dominios de broadcast; para mandar un broadcast en una red clase A por ejemplo, un equipo debe mandar 16.777.214 (2˄24 – 2) paquetes a todos los dispositivos (existentes o no), imagínense lo que sufre el pobre equipo que le toque la tarea de enviar un tonto broadcast, y también las consecuencias para el ancho de banda local.

Subnetting es la solución

Si hacemos que esos dominios de broadcast sean más pequeños, más ajustados a la cantidad de host que realmente están conectados, podemos ser más eficientes. Imagine que la dirección con clase es la torta completa, y según las reglas de subnetting debemos picarla en partes iguales y más pequeñas, suficientes para todos, por ejemplo los 5 dominios que vemos en la imagen.

[7] Subnetting-1

Y ahora la vamos picando en 2, luego horizontalmente dan 4, y si picamos uno más tenemos los 5. ¡Pero no! Como buenos venezolanos hay que picar en partes iguales, para llevarles a mamá y al hermanito, de manera que los cortes deben ser simétricos y binarios. Pueden ver que intentando picar en 5, hemos picado la cosa en 8 partes.

[7] Subnetting-2

Eso explica el principio de la siguiente inecuación, donde:

2˄n ≥ cant. de subredes.

Y n representa en este caso la cantidad de bits de host que la porción de red de una dirección ip debe tomar prestada para picar la cantidad de subredes que deseamos.

Para este ejemplo, 2˄n ≥ 5, entonces n debe ser igual a 3 para que se cumpla la inecuación. En cristiano, en la dirección de red con clase, debemos tomar 3 bits de host prestados, que pasaran a formar parte de la porción de red, generando al menos 5 subredes (8 en realidad).

Empezaré por colocar los parámetros para el segmento A, desglosando en binario para poder sacar las cuentas adecuadas. Como pueden ver, la porción de red original es intocable, por eso ni siquiera la desgloso en binario. Luego, vean que tomé los 3 bits prestados a continuación trazando una línea imaginaria que marca la nueva máscara de subred. Ahora, del lado izquierdo de la línea coloco un identificador único para todos los cálculos de este segmento, simplemente puedo decir que son 0, el siguiente segmento es 1, el siguiente es 2 (en binario) y así sucesivamente. Y del lado derecho van parámetros que definen una subred y que valga la redundancia son una definición.

192.168.16.

0 0 0 | 0 0 0 0 0

>

Dir. de Red

0 0 0 | 0 0 0 0 1

>

1er Host

0 0 0 | 1 1 1 1 0

>

Ult. Host

0 0 0 | 1 1 1 1 1

>

Broadcast

Dirección de Red: Dirección que defina la subred. Todos los bits de host apagados.

1er Host: siguiente combinación a la dirección de red.

Ult. Host: último host utilizable de la red, antes del Broadcast.

Dirección de Broadcast: Dirección de difusión de la red. Todos los bits de host encendidos.

Y la máscara que sería igual para todas las subredes porque estamos picando en partes iguales, debe ser colocar 1’s de izquierda a derecha en toda la porción de red y 0’s en la porción de host. Es decir,

11111111.11111111.11111111.11100000 = 255.255.255.224 = /27

/27 quiere decir que hay 27 1’s encendidos de izquierda a derecha. Simplemente otra forma de expresar una mácara.

Si lo traducimos al sistema decimal, que es el que en realidad  usamos:

Dir. de Red: 192.168.0.0/27

1er Host: 192.168.0.1/27

Ult. Host: 192.168.0.30/27

Broadcast: 192.168.0.31/27

A continuación, podemos hacer lo mismo con el segmento B, sólo que ahora debemos fijar un identificador de subred distinto para no solapar una subred con otra:

192.168.16.

0 0 1 | 0 0 0 0 0

>

Dir. de Red

0 0 1 | 0 0 0 0 1

>

1er Host

0 0 1 | 1 1 1 1 0

>

Ult. Host

0 0 1 | 1 1 1 1 1

>

Broadcast

En decimal:

Dir. de Red: 192.168.0.32/27

1er Host: 192.168.0.33/27

Ult. Host: 192.168.0.62/27

Broadcast: 192.168.0.63/27

Y así, poco a poco podríamos calcular las 5 subredes que necesitamos.

Seg Red 1er Host Ult. Host BC
A 192.168.0.0 192.168.0.1 192.168.0.30 192.168.0.31
B 192.168.0.32 192.168.0.33 192.168.0.62 192.168.0.63
C 192.168.0.64 168.168.0.65 192.168.0.94 192.168.0.95
D 192.168.0.96 192.168.0.97 192.168.0.126 192.168.0.127
E 192.168.0.128 192.168.0.129 192.168.0.158 192.168.0.159

Todas con la máscara 255.255.255.224, o lo que es lo mismo, /27.

Tips:

  1. Luego de sacas un par de redes, como esto es subnetting y son partes iguales, es fácil ver que hay un patrón. Por ejemplo aquí hay saltos de 32 en 32.
  2. Al picar en partes iguales estamos diciendo que la máscara es igual para todos.
  3. La dirección de Red siempre es un número par.
  4. La dirección de Broadcast siempre es un número impar.

Espero les sea de utilidad, en cuanto pueda explicaré la segunda parte, como hacerlo no en función de cuantas redes se necesitan, sino en función de cuantos host existen en cada red, lo cual se apega más a la realidad de lo que se aplica en la calle.

 

[Subnetting – Parte 2]
@betor86

Beto

Redes Virtuales. Ahorremos Dinero.

Ahora hablaré un poco de lo que es una VLAN, para que se usan y sus diferentes tipos. Para empezar VLAN significa Virtual Local Area Network (en cristiano, Red Virtual de Área Local) y es una implementación de redes que busca generar múltiples redes lógicas en lo que físicamente es una sola red.

En este mundo capitalista donde nos gobierna el cochino dinero todas las decisiones aunque sean técnicas se basan en el costo de las implementaciones, quizá dramatizo un poco, pero es cierto. Es por eso que surgen las VLAN que buscan transformar una implementación de muchos equipos muy costosos como la de la 1ra imagen en algo tan simple como la 2da, lo cual es evidentemente mucho más costo eficiente.

Redes Físicas

Redes Físicas

Redes Virtuales

Redes Virtuales

En la primera imagen represento por ejemplo, una organización o empresa con 3 departamentos y un área de visitantes, para lo que se requieren al menos 4 Switch asumiendo que la cantidad de puertos por departamento es suficiente y dependiendo del Router podría necesitar 1 o quizá incluso 2. Mientras que al implementar VLAN la cantidad de Switch que necesito sólo estará determinada por la cantidad de puertos que necesito, así que probablemente sea suficiente con uno, y el Router sólo será necesario si deseo tener comunicación entre las diferentes VLAN. ¿Cuánto se imaginan que se ahorra en costo de equipos?

¿Cómo funcionan?

Ahora, para generar una VLAN lo único que hay que hacer es programar el Switch para que etiquete todas las tramas que entran a un puerto con un número que identifique la VLAN, así como marcar el ganado que pertenece a cada hacienda. Y cuando la trama llega al último puerto donde está a punto de ser entregada al destinatario, se le quita la etiqueta para que el dispositivo final pueda leer la trama como si nada.

Generalmente esto pasa en todas las redes hoy en día aunque no implementemos VLAN intencionalmente porque los Switch que son capaces de manejar VLAN vienen con todos los puertos pertenecientes a la VLAN 1 por defecto, y es el Administrador el que debe cambiar esto si lo requiere.

El inconveniente será cuando deba implementar VLAN y utilizar más de un Switch, si el puerto que conecta dos Switch pertenece a una VLAN, este no puede pertenecer a otra al mismo tiempo para permitir el paso de 2 VLAN, o pasa una VLAN o pasa otra, pero la vaca solo le pertenece a una hacienda.

Es aquí donde entra el concepto de los tipos de puerto, existen los puertos de acceso, los troncales y los negociables. Los puertos de acceso son los que conectan a los equipos terminales, colocan y quitan etiquetas. Los puertos troncales permiten el  paso de cualquier tipo de trama sin importar que etiqueta tenga o incluso sin que tenga etiqueta de VLAN, solventando el problema de la comunicación entre dispositivos intermediarios.  Y por último, los puertos negociables simplemente identifican que tipo de puerto se encuentra en el otro extremo del cable y con ello negocian que función deben cumplir.

Tipos de VLAN

Existen varios tipos de vlan que menciono ahora:

VLAN de Datos: Son las vlan que utiliza el usuario final (aunque sea transparente para él) para la transmisión de su data.

VLAN Predeterminada: Es la VLAN en la que vienen asignados todos los puertos del Switch por defecto, es decir, la VLAN 1. En ocasiones el administrador que implementa VLAN coloca los puertos que no utiliza en otra VLAN a la que también llama VLAN Predeterminada.

VLAN Administrativa: Es una VLAN más de datos, con la diferencia que es la que permite al administrador de red tener gestión de los equipos.

VLAN Nativa: La VLAN nativa es utilizada en los enlaces troncales, cómo dije estos permiten el paso de cualquier etiqueta de VLAN, y cuando reciben tramas sin etiquetas les colocan la etiqueta de la VLAN nativa.

VLAN de Voz: Es una VLAN orientada a dar calidad de servicio (QoS) a las tramas de voz, y dada la topología física con la que se conectan los teléfonos IP, esta es la única excepción en la que un puerto del Switch puede tener 2 etiquetas a la vez.

Voice VLAN

Voice VLAN

Un teléfono IP tiene en su interior un Switch que permite conectar por un puerto el Switch real y en el otro puerto el equipo del usuario. Este puerto del Switch real debe ser capaz de colocar una etiqueta para la voz y otra para los datos.

Decisiones de un Router

Como ya he mencionado en otras oportunidades un Router es un dispositivo intermediario de capa 3 que tiene 2 funciones principales.

  1. Dividir dominios de Broadcast, en castellano eso significa que divide las redes, por lo tanto DEBE tener una dirección de red distinta en cada interface y evita que los mensajes de Broadcast pasen de una red a otra.
  2. Toma la decisión sobre a donde enviar cada paquete que le llega. Es decir, a donde debe enviarlo para garantizar que el mensaje llegue a su destino.

Hoy en día los Routers cumplen con muchas otras funciones que son valor agregado, pero es sobre esto último que les hablaré ahora. ¿Cómo se toma esa decisión? Esto no es exactamente un dardo que tira a ver a quien le pasamos la pelota.

¿Qué se necesita?

En la imagen, cuando el Router A recibe un paquete, sabemos que este tiene una cabecera con cierta información de control, muchos campos que no vienen al caso en este momento, pero lo que sí es importante es que esta cabecera tiene la dirección lógica del destinatario, en otras palabras, la dirección IP de destino, por ejemplo 172.16.55.30 y es en función de ella que se tomarán las decisiones.

Adicionalmente, el Router A (y cualquier Router) posee una tabla que le permite conocer hacia donde enviar cada paquete, y que tiene de manera generalizada una estructura como esta:

# Red de Destino Máscara Siguiente Salto
1 192.168.10.0 255.255.255.0 1
2 10.0.0.0 255.0.0.0 2
3 172.17.0.0 255.255.0.0 10.0.0.2
4 172.16.0.0 255.255.0.0 10.0.0.2

La dirección IP de destino y esta tabla es todo lo que necesita el Router para tomar la decisión.

¿A qué IP le paso el paquete?

El Router toma la dirección IP de destino y trata de compararla con los valores de Red destino en la tabla de Enrutamiento. Sin embargo, esto no lo hace de buenas a primeras, como pueden ver en ninguna parte de la tabla dice algo exactamente igual a 172.16.55.30, porque la tabla solo tiene direcciones de red generalizadas, en ninguna parte se coloca host por host o las tablas serían infinitas.

Lo que en realidad hace es comparar línea por línea de manera estructurada y aplicando una operación de AND entre la IP de destino y la máscara hasta encontrar la entrada en la tabla que coincide. Es importante destacar que todas las operaciones se hacen en binario.

Por ejemplo, comparamos con la primera línea:

IP Destino 172.16.55.30 10101100.00010000.00110111.00011110
Máscara 1 255.255.255.0 11111111.11111111.11111111.00000000
AND 1 172.16.55.0 10101100.00010000.00110111.00000000

Luego comparamos este resultado con la dirección de Red Destino 1 (172.16.55.0 ≠ 192.168.10.0), evidente no son iguales por lo que el Router continua buscando en la siguiente entrada de la tabla.

En este ejemplo ya conozco que las líneas 2 y 3 tampoco corresponden con el resultado que se busca, por lo que saltaré a la 4ta y última línea:

IP Destino 172.16.55.30 10101100.00010000.00110111.00011110
Máscara 4 255.255.0.0 11111111.11111111.00000000.00000000
AND 4 172.16.0.0 10101100.00010000.00000000.00000000

Como pueden ver el Router ha encontrado una coincidencia en la 4ta entrada de la tabla (172.16.0.0 = 172.16.0.0) y es aquí donde se encuentra la decisión a tomar con el paquete. Si se fijan, la derecha de la tabla se indica quién es el siguiente salto para llegar a la red deseada (10.0.0.2), lo que quiere decir que es a esa dirección IP que debemos enviar el paquete.

¿Qué Interfaz utilizar?

Una vez que se conoce la IP a la que se debe mandar el paquete, el Router debe encontrar en que Interface de él mismo se encuentra esa dirección IP por lo que realiza otra búsqueda en la tabla de enrutamiento, esta vez haciendo AND entre la IP del siguiente salto y las máscaras. La primera entrada de este ejemplo no dará el resultado, pero en la segunda encontraremos lo siguiente:

IP Destino 10.0.0.2 00001010.00000000.00000000.00000010
Máscara 2 255.0.0.0 11111111.00000000.00000000.00000000
AND 2 10.0.0.0 00001010.00000000.00000000.00000000

Lo que significa que hemos encontrado una coincidencia con la 2da entrada indicando que la Interface a utilizar debe ser la número 2. Seguidamente simplemente pasamos la pelota al siguiente dispositivo que se encargará de realizar un proceso similar hasta que finalmente el paquete llegue a su destino.

Como pueden notar solo se envía el paquete cuando se conoce qué interfaz utilizar, de lo contrario hay que hacer búsquedas recurrentes en la tabla, buscando primero la IP de siguiente salto y luego la interfaz local que se debe usar. Por lo que es más eficiente colocar las interfaces en la tabla de enrutamiento siempre que se pueda, en lugar de las direcciones IP.

Si algo puede salir mal, saldrá mal…

¿Qué pasa si llegamos al final de la tabla sin encontrar ninguna coincidencia? En este caso el Router descarta el paquete porque simplemente no sabe qué hacer con él y no va a perder más tiempo en eso, estos señores son hasta más inteligentes que uno para distribuir su tiempo.

Pero si realmente sabemos lo que hacemos, podemos agregar una regla más a la tabla que se le llama “Ruta por Defecto”, y permite indicar que todo lo que se desconozca debe ser enviado a algún lado, por ejemplo:

# Red de Destino Máscara Siguiente Salto
5 0.0.0.0 0.0.0.0 2

Aquí estamos indicando al final de la tabla, que todo lo que no coincida con ninguna de las entradas, debe ser enviado a través de la interfaz 2. Sin embargo, esto es muy peligroso porque puede ocasionar bucles y sólo debe ser usado si se está seguro que a través de esa interfaz se encuentra algún dispositivo que si sabe qué hacer con el paquete.

Espero esta información les sea útil para entender cómo funciona un Router e incluso para encontrar fallas de enrutamiento.

El poder de tu Router: DD-WRT Firmware

ADVERTENCIA: Lee hasta el final antes de hacer cualquier modificación. No me hago responsable por ningún dispositivo que se deteriore en el proceso. Realizar esta actualización invalida cualquier garantía del dispositivo.

En el último post hablé de varias de las funciones que tiene un Router inalámbrico común de uso doméstico y también mencioné algunas funciones un poco más avanzadas que puede tener. Ahora hablaré de una herramienta capaz de liberar todo el poder de ese Router que tienes en casa, y es la actualización al Firmware DD-WRT.

Antes de eso empezaré por explicar con qué se come un Firmware. En la arquitectura de un computador, digamos que existe también una especie de modelado en capas, en donde primero que nada se encuentra el Hardware con toda la circuitería y chips integrados del dispositivo, luego tenemos el Firmware, que son un bloque de instrucciones de programa del nivel más bajo que existe, unos y ceros básicamente y estas instrucciones sirven para compilar o procesar el kernel y más arriba el sistema operativo.

A continuación te presentaré un Firmware de Software libre (no necesitas pagar licencia) diseñado para una gran variedad de modelos de Router inalámbrico. Este Firmware es el DD-WRT, y no solo te cambia el firmware sino todo lo que está encima de él (kernel, Sistema operativo, funciones, etc).

¿Por qué hacerlo?

Implementar este cambio de firmware como ya mencioné te permitirá tener muchas más funcionalidades disponibles en tu Router inalámbrico. Por ejemplo, la función WDS que te permitirá extender tu rango de alcance con múltiples routers funcionando como Access Point o incluso alimentandose de antenas punto a punto, implementación de VPN, uso de protocolo SSH para gestionarlo si lo deseas, implementación tipo hotspot o chillyspot, calidad de servicio (QoS), control sobre el NAT, zona desmilitarizada (DMZ), tareas programadas (cron Jobs), mejor control de la seguridad, y más. Si, es en serio, es increíble todo lo que puede hacer un routercito con el firmware adecuado y también es increíble que los fabricantes le bloqueen todo eso.

¿Por dónde empezamos?

Bien, lo primero que diré ahora, tal como mencioné en la advertencia inicial, es que este es un proceso que aunque es fácil es muy delicado y podría dejar tu Router como un pisa papeles intergaláctico si no seguimos los pasos al pie de la letra.

Lo siguiente que diré es que no voy a explicar con precisión aquí como se realiza el proceso dado que este puede cambiar ligeramente de dispositivo en dispositivo dependiendo de la marca y modelo. Mi sugerencia es que te documentes lo más que puedas antes de hacerlo y cuando hayas leído las instrucciones un par de veces y sepas exactamente que debes hacer y que debe pasar ejecútalo. La buena noticia es que si te diré es donde encontrar todas las herramientas.

Las herramientas

La página de DD-WRT (http://www.dd-wrt.com/site/index) contiene todo lo que puedas necesitar para realizar tu actualización de Firmware. Antes de perder tiempo lo primero que te sugiero hacer es verificar que tu Router es compatible con el firmware, para ello, a la derecha tienen un link que dice “Router-Database”, coloca allí el modelo de tu Router, por ejemplo “WRT54GL” y te dirá entre otras cosas si está soportado o no; si le das click al dispositivo te mostrará todas las versiones de firmware soportadas y te permitirá descargarlas; aún no descargues nada, sugiero que sigas documentándote para saber qué bajar. Si no está soportado ni lo intentes, en serio, pisa papeles!!

Lo siguiente que debes hacer es visitar la página wiki de DD-WRT por dos razones:

  1. Debes seleccionar que tipo de Firmware (hay varios) es el más adecuado a tus necesidades asumiendo que tu dispositivo lo soporta. En la tabla de aquí (http://www.dd-wrt.com/wiki/index.php/What_is_DD-WRT%3F#File_Versions) puedes ver las diferentes funciones, contra las versiones de firmware. Aunque siempre debes empezar por instalar la estándar o la mini antes de instalar la que deseas y luego hacer actualización. En mi opinión personal, la estándar es más que suficiente para cualquier mortal, otras versiones más avanzadas probablemente pongan sobre mucho estrés el hardware.
  2. Aquí es donde encontrarás las instrucciones de instalación específicas para tu marca y modelo simplemente colocándolo en el buscador. Además de las instrucciones generalizadas que encontrarás aquí (http://www.dd-wrt.com/wiki/index.php/Installation#Before_You_Download.2C_Upgrade.2C_or_Flash .

Eso es todo por ahora, espero les sea útil y aprovechen al máximo las capacidades del Hardware del que disponen usando este firmware.

ADVERTENCIA: Lee hasta el final antes de hacer cualquier modificación. No me hago responsable por ningún dispositivo que se deteriore en el proceso. Realizar esta actualización invalida cualquier garantía del dispositivo.

Si tienen dudas, recuerden que para eso están las líneas de aquí abajo…

||

vv

Tu Router Inalámbrico Wi-Fi:

Componentes, mejorando el desempeño y la seguridad de tu red.

Muchos de los que leen esto ya lo sabrán, pero sé que hay tantos otros que no tienen idea de todo lo que pueden hacer con su Router inalámbrico casero, empezando por sobornar a su familia para darles acceso a Internet (mentira, no lo hago pero a veces lo pienso), o cómo mejorar su funcionamiento. Pueden mejorar la calidad de la señal, cambiar la clave de acceso a la red, limitar el uso del Internet, bloquear usuarios incluso indicándole horas o días de la semana que pueden tener acceso, pueden extender su alcance utilizando 2 Routers y hasta puede ayudarnos a tener nuestra página web en nuestra casa visible desde cualquier lugar del mundo, es sobre algunas de esas cosas que se pueden hacer que hablaré ahora, otras merecen su propio post en otra oportunidad.

Primero que nada empezaré describiendo el Router y sus componentes. Estos dispositivos en realidad no son solo un Router, ¡¡lo cierto es que son tres dispositivos por el precio de uno!!, lleve ¡3 y pague 1! Algunos hasta vienen con garantía.  Estos equipos siempre tienen un Router de 2 interfaces, la que da hacia Internet y la que da hacia la red local; pero como pueden ver sólo dije 2 a pesar de que usualmente tienen 5 puertos, eso es porque 4 de esos puertos forman la interfaz de tu red local como si fuera un Switch; y el tercer dispositivo sería el Access Point (AP), que podríamos imaginarlo como un Hub pero sin cables. Integrando todo esto tenemos el milagroso Router inalámbrico que muchos usamos en casa o incluso en el trabajo.

Ahora, para ver de qué es capaz nuestro Router debemos conectarnos a él preferiblemente por cable, si cambias alguna configuración puede que se caiga la conexión inalámbrica. Abre cualquier navegador (Explorer, Firefox, Chrome, Safari, etc) y en la barra de direcciones copiamos la dirección IP del Router, dependiendo del fabricante puede ser 192.168.1.1 ó 192.168.0.1, en mi caso tengo un Router Linksys (¡Cisco FTW!) que utiliza la primera dirección. Allí solicita usuario y clave, que si nunca se ha cambiado debería ser “admin” y “admin”.

SSID y Canal

Ya estamos viendo que hay dentro del Router, y en la sección de configuración básica inalámbrica encontrarás el SSID y el canal. El SSID es el nombre de la red inalámbrica que verán las personas que quieran conectarse, por ejemplo “LoQueSea”, y si no quieres que nadie pueda ver la red puedes desactivar la emisión del SSID, pero eso te obliga a crear y configurar la conexión manualmente cuando te quieras conectar desde cualquier equipo, cosa que quizá sepas hacer pero un usuario común normalmente no sabe hacerlo.

El canal que utiliza el WiFi es muy importante para mejorar la calidad de la señal. Si existen otras redes inalámbricas cerca puede que causen interferencia de estar en el mismo canal; fácilmente te encuentras con que tienes señal full, pero si das un paso está en cero por ejemplo, o la conexión se pone lenta. El estándar de Wi-Fi que nosotros utilizamos tiene 11 canales que solapan un poco (bastante) unos con otros, y la manera más eficiente usar estos canales sin que solape con el vecino de al frente es usar los canales 1, 6 y 11 que no se interfieren entre ellos ni un poco.

Si hay muchas redes cerca, entonces no queda de otra sino tratar de usar el canal que esté menos ocupado, existen aplicaciones que te permiten identificar que canales están usando las Wi-Fi cercanas como por ejemplo:

PC

inSSIDer – http://www.metageek.net/products/inssider/
Android

Wi-Fi Scanner – https://play.google.com/store/apps/details?id=gr.androiddev.WifiScanner&hl=en
Wi-Fi Analyzer – https://play.google.com/store/apps/details?id=com.farproc.wifi.analyzer&feature=related_apps#?t=W251bGwsMSwxLDEwOSwiY29tLmZhcnByb2Mud2lmaS5hbmFseXplciJd
iPhone/iPad

eWiFi

Apple eliminó todas las aplicaciones que tienen esta función de la AppStore por razones que desconozco y será difícil conseguir esta a menos que tengas Jailbreak y Cydia.

Seguridad

En la sección de seguridad inalámbrica podrás cambiar la clave de la WiFi, y lo primero que te pregunta es el tipo de seguridad que deseas, podría estar libre o tener WEP, WPA, WPA2 o un servidor RADIUS. Este último es un servidor para empresas o despliegues grandes que permite autenticar a cada usuario; la clave WEP, bueno, siempre que tu vecino no sepa mucho de esto estarás bien, pero digamos que en otra oportunidad enseñaré lo fácil que es Hackear este tipo de redes así que ni yo, ni nadie la recomienda, WPA es mejor porque la manera en que se encripta la clave (o las llaves mejor dicho) cambia frecuentemente, y porqué usar WPA cuando existe la versión 2 WPA2 que encripta con llaves más extensas. Luego simplemente coloca la clave que deseas que tenga la red.

Otra manera de mejorar la seguridad de tu red es usar los filtros de MAC, en la sección filtro de MAC inalámbrico se puede filtrar el acceso de ciertos dispositivos indicando cuales son aquellos que pueden conectarse o indicando aquellos que no pueden conectarse. Así podrías por ejemplo evitar que tu hermanito se conecte y se coma todo el Internet haciendo descargas, o algo menos cruel, hacer una lista de todos los dispositivos en casa y solo permitirles el acceso a estos para que el vecino o el que pase cerca no se conecte con tu Internet.

Para quien no sabe cómo identificar la MAC de su computadora pueden hacerlo abriendo el programa “cmd” y escribiendo el comando “ipconfig /all”, en la lista de parámetros que aparece busca la sección de adaptador Ethernet si estás contado por cable o la de adaptador inalámbrico estás en la Wi-Fi y en estas secciones hay un parámetro que dice “Dirección Física ….: XX-XX-XX-XX-XX-XX” que es la MAC.

Espero sea de utilidad, en otra oportunidad seguiré hablando de otras bondades bondadosas del Router Inalámbrico.

De Principio a Fin…

En el primer post expliqué de qué se trata el modelo OSI, ahora quisiera explicar cómo funciona la comunicación en una red de datos desde un usuario hasta otro basándome en el modelo y aprovechar para hablar un poco de las funciones de cada dispositivo que muchos mortales ven como un alien de muchas lucecitas titilantes.

Primero que nada, digamos que quieres enviar un mensaje desde la máquina “A” hasta la máquina “B” atravesando un Switch, un Router y finalmente un Hub. El usuario genera su mensaje, que va a pasar por todos los procesos de encapsulación del modelo OSI.

El mensaje se genera en capa de aplicación, el testamento que le escribes a tu arrejunte, ¡evidentemente todo eso que escribiste no se puede enviar de una sola vez! Por eso se separa en varios bloques de datos más pequeños, se le da un formato en capa de presentación, se establecen los parámetros que debe tener la sesión con la aplicación remota (de B) y se le pasa a la capa de transporte. Allí se encapsula el bloque de datos en un segmento, agregando entre otras cosas el puerto de origen y destino para identificar las aplicaciones. Luego en capa de red se encapsula en un paquete agregando entre otras cosas las direcciones IP de origen y destino que identifica los dispositivos finales (A y B). En capa de Enlace de Datos se encapsula en una trama que identificará a nivel físico el siguiente salto dentro de la propia red (lo cual sería el Router en este caso, no el Switch), este se hace con las direcciones MAC. Y finalmente llega a capa física donde los datos se convierten en bits e impulsos eléctricos para pasar a través del cable.

Una vez que atravesamos todo el proceso de encapsulaciones en el usuario A, el mensaje llega el Switch. Este es un dispositivo medio brutico, aunque los que fabrican últimamente hacen cotufas de muchos sabores, normalmente trabaja en capa 2, esto quiere decir que al recibir el mensaje lee los bits, identifica la cabecera o encapsulación de capa 2 y con esas direcciones MAC toma la decisión sobre que interface o puerto de él mismo debe usar para reenviar el mensaje hasta el Router. Luego vuelve a colocar la cabecera de capa 2 como estaba, y lo coloca en el cable para que llegue al Router.

El Router es un dispositivo de capa 3, esto si es inteligente, de hecho es una computadora como cualquier otra pero su sistema operativo está diseñado especialmente para cumplir la función de enrutar y tiene más de un puerto de red. Este lee los bits, comprueba que la cabecera de capa 2 dice que el mensaje es para él y la quita, como cuando DHL comprueba el código postal en una oficina de tránsito, y a continuación lee la cabecera de capa 3, para ver la dirección precisa. En función de la dirección IP de destino, esta dirección lógica que me dice donde más o menos está el arrejunte, digo B, el Router toma la decisión de hacia qué red debe enviar el mensaje pues podría tener múltiples redes conectadas, si no conoce cómo llegar a la red de destino descarta el paquete, pero como si la conoce entonces toma la decisión de cuál es el camino, vuelve a colocar la encapsulación de capa 3 como estaba, coloca una nueva encapsulación de capa 2 pues ahora el mensaje estará en otra red, esto implica, MAC de origen él mismo, MAC de destino la del usuario B y nuevamente volvemos a los bit y la corriente.

Llegamos al Hub, este señor es tan interesante que recomiendo no usarlo nunca de ser posible, a menos que solo quieran un repetidor porque la distancia es muy larga o quieran Hackear a alguien. Este dispositivo es de capa 1!!!, no hace nada, es muy básico, la verdad es que por dentro el hub es simplemente cable y amplificadores de corriente, si hubiese más de un mensaje al mismo tiempo en la red del hub los bit o más bien los impulsos eléctricos chocarían y causarían lo que se llama una colisión, el mensaje se daña, genera errores, la red se pone lenta y los usuario belicosos. Total que si solo hay un mensaje a la vez, este señor solo retransmite los bits por todos sus puertos menos por el que llegó el mensaje.

Por tanto el mensaje le va a llegar a B y a C, pero es no es motivo para cortar cabezas si el usuario C es un usuario común que no sabe cómo, ni tiene intenciones de averiguarte la vida porque la dirección MAC de destino en la Trama es la de B, no la de C, y C descartará la trama completa.

Ahora B hace todo el proceso inverso a lo que hizo A. Lee los bits, comprueba que la trama dice que es con él y quita la cabecera, comprueba que el paquete dice que es con él y quita la cabecera del paquete, identifica a que aplicación va dirigido el mensaje con el número de puerto de capa 4, y luego lo pasa a las capas superiores para que decodifiquen el mensaje y se lo presenten al usuario de una manera gráfica, bonita, presentable y entendible para él.

Ese es básicamente todo el proceso de comunicación en una red de datos sencilla, desde que mandas tu testamento a tu arrejunte hasta que le llega, la reacción de esa persona al leerlo no es parte de lo que me compete explicar aquí, pero cuando te responde es básicamente más de lo mismo, y esto pasa con todo, correos electrónicos, chat, páginas web, descargas de archivos, juegos en línea, y demás menesteres del asunto.

Modelo OSI ISO SOI SIO IOS OIS..?

Habrán escuchado hablar de un fulano modelo OSI, que evidente no es ningún modelo de modas, es simplemente un esquema de referencia que explica por capas las funciones que se deberían cumplir en un sistema de comunicación cualquiera, ese será el primer tema de conversación.

El modelo de referencia OSI tiene 7 capas, que cualquiera que desee desempeñarse en esta área debe saberse sin esfuerzo, y de la 7 a la 1 son: Aplicación, Presentación, Sesión, Transporte, Red, Enlace de Datos y Física.

7. Aplicación: La capa de aplicación es la interfaz con el usuario y se encarga de generar los datos que el usuario quiere transmitir. Digamos que son programas o servicios, así como Word, PowerPoint, Paint, solo que evidentemente esas no son las aplicaciones que nos interesan aquí, sino más bien servicios de red como DHCP, DNS, páginas web, etc.

6. Presentación: Se encarga de darle presentación y formato a los datos. Imagina que eres medio cieg@ y para leer las cosas de la computadora tienes que cambiarle el tamaño a la letra a 20 para poder leer, bueno, allí estás cambiando el formato de algo, aquí todos los datos se colocan con un formato estandarizado y además se encriptan de ser necesario, para que ningún intruso pueda leerlos.

5. Sesión: Aquí se controla la comunicación entra la aplicación origen y la aplicación de destino. Es como tener a los controladores de tráfico aéreo indicando a los pilotos cuando pueden despegar, aterrizar y cuantas vueltas deben dar a Maiquetía antes de aterrizar para que los vuelos se retrasen lo suficiente. Bueno, quizá no para retrasarlos, pero creo que entendieron.

Estás capas de la 5 a la 7 forman lo que se llama un bloque de datos que será encapsulado en las siguientes capas.

4. Transporte: Controla la comunicación de origen a destino. Aquí se encapsula el bloque de datos en lo que se llama un segmento. Es decir, entre otras cosas, se le agrega un número de puerto origen y destino que indican que aplicación originó el mensaje y a cual va dirigido. Aquí básicamente empezamos a llenar los datos de la carta que queremos enviar y además, cuando enviamos una carta podemos pedirle a DHL (no me pagan por la cuña) que nos diga si logró entregar la carta. Así es como podemos tener varios programas como MSN, gtalk, IM abiertos al mismo tiempo, pero el mensaje de gtalk nunca te va a aparecer en MSN aunque cumplan la misma función.

3. Red: Se encarga del direccionamiento y enrutamiento lógico desde el origen hasta el destino. Aquí seguimos llenando datos de la carta, colocando una dirección jerárquica de origen y destino, y se le llama lógica porque la dirección la podemos cambiar de dispositivo, no necesariamente tenemos la misma todo el tiempo. En el caso de las redes de datos aquí va la fulana dirección IP, y al agregarla ahora llamamos a esa información un paquete.

2. Enlace de Datos: Da el direccionamiento y la conmutación física por tramos. Esto se parece en algunas cosas al anterior, solo que la dirección física no la podemos cambiar (legalmente al menos), de fábrica siempre es la misma y no nos indica cómo llegar hasta el destino final, solo nos indica cual es el siguiente paso en el camino. Cuando se agrega esta dirección ahora se le llama trama.

1. Física: Estos son los dispositivos y medios como tal, aquí se definen los estándares de todos esos conectores, medios, tarjetas, circuitos, etc, para que tratemos de ser combatibles. A menos que tengas una Mac, en cuyo caso seguro tendrás que comprarte un adaptador para… hmm… todo. Aquí es donde todo se transforma en bits de verdad para pasar a través de los cables o el aire.

Estas son las funciones del modelo y se desarrolló básicamente para promover la competencia y la compatibilidad de los dispositivos y tecnologías. La gran ventaja de estudiar cualquier sistema de comunicaciones de esta forma es que se pueden hacer cambios en una capa sin afectar las demás. Un ejemplo simple, el hecho de que uses cable de cobre UTP, o fibra óptica no nos obliga por ningún motivo a cambiar nuestras aplicaciones ni la manera en la que funcionan o a dejar de usar el protocolo IP en capa 3.

PD: 8. Usuario: Comúnmente la persona fastidiosa que te pide que le arregles la máquina (gratis) porque tú eres informático, aunque en realidad eres de telecomunicaciones, el problema comúnmente se resuelve conectando algún cable en el veintiúnico lugar donde encaja… o reiniciando la máquina.

Mis respetos a los informáticos, tampoco es su trabajo, pero es lo que la gente comúnmente dice.

Hello world!

Hello World!!!

Les doy a la bienvenida a mi primer blog, que como podrán imaginar está dedicado a explicar aspectos y situaciones del networking de datos. Los que me conocen saben que una de las cosas que me gustan es dar clases, así que decidí iniciar este blog para hacer algo semejante explicando que sucede detrás de esos equipos, cables, antenas y esas cosas etéreas que muchos dan por sentado y otros tienen la curiosidad investigar.

Como pueden imaginar esto puede llegar ser muy técnico y hasta tedioso para algunos, pero trataré de mantener los conceptos entendibles, en especial si siguen los artículos desde el inicio pues la intención es ir subiendo poco a poco el nivel de la explicación.

Espero les guste y les sea útil, en especial a aquellos que se están iniciando en este mundo tan extenso y complejo.

 

Eso está vinculado a la IP.