Nombre del autor:César

Enlaces interesantes: Sem. 36/2019

  • IPCalc: Calculadora de subredes pública
  • El robot humanoide que va a ir a Marte: NASA
  • Misión Colmena (Mexicana): conjunto de robots que se encuentran autónomamente en la Luna!

IPCalc: Calculadora de subredes pública

Seguramente algunos de los lectores ya conocen este proyecto, pero para quienes no ahí les va: es un pequeño programa, instalable en Linux (no sé si en otras plataformas) que permite calcular subredes con diferentes tamaños, arrojando: nro de hosts/subred, máscaras, rango de direcciones IP, etc. Hay también una versión web. Aunque es muy útil, no recomiendo su uso frecuente en caso de que se deseen certificar, dado que la certificación no permite usar ayudas externas (Les recomiendo mis tutoriales sobre subnetting). Fuente: http://jodies.de/ipcalc

El robot humanoide que va a ir a Marte: NASA

Por si no sabían, yo por ejemplo apenas me entero (el proyecto lleva tiempo en desarrollo, creo del 2013), la NASA planea usar un robot humanoide en la colonización de Marte. Fuente: https://in.mashable.com/science/5264/nasa-is-counting-on-its-valkyrie-robot-to-build-a-mars-base

Misión Colmena (Mexicana): conjunto de robots que se encuentran autónomamente en la Luna!

La idea es simple y poderosa: enviar separadamente 9 pequeños robots a la Luna, ellos autónomamente se encuentren, se conecten y formen un panel solar en la superficie. El proyecto es un diseño del Laboratorio de Instrumentación Espacial (LINX) del ICN, con apoyo de la Agencia Espacial Mexicana (AEM), del Consejo Nacional de Ciencia y Tecnología (Conacyt), del gobierno del estado de Hidalgo y de diversas empresas de tecnología. Fuente: https://www.tvazteca.com/aztecanoticias/salud-educacion-y-bienestar/notas/mision-colmena-llegara-en-2021-a-la-luna

Enlaces interesantes: Sem. 36/2019 Leer más »

Qué es Eve-NG II: Instalación paso a paso

Como ya les comenté en una entrada anterior, Eve-NG es un poderoso emulador de redes, un poco engorroso de sintonizar, pero muy útil. En ésta ocasión voy a contarles un poco más y a describirles cómo instalarlo paso a paso de la manera en que yo lo he hecho. Disfrútenlo!

Todas las entradas de la serie: [Introducción a Eve-NG] [Instalación] [Puesta a punto]

Qué es Eve-NG II: Instalación paso a paso Leer más »

5 diferencias de configuración entre Cisco y Huawei

Como saben, después de ser instructor de Cisco (en teoría sigo siéndolo), trabajé en varios cargos relacionados con Huawei y con ellos mismos, por lo que adquirí cierto valor agregado de conocer muy bien las dos marcas rivales. Actualmente sigo trabajando en un mundo de varios vendedores en entornos carrier y ahora el turno es de los routers carrier-class ALU o Nokia. Perdón por la digresión, en ésta entrada quiero mostrar 5 diferencias en las configuraciones por CLI entre Cisco y Huawei para quienes estén en medio de una migración (en cualquier dirección) o simplemente porque la red sobre la cual trabajan tiene de las dos marcas. Esta es un poco la continuación de otra entrada que escribí hace algunos meses, más básica que también podrían querer leer antes de ésta. Disfrútenlo.

5 diferencias de configuración entre Cisco y Huawei Leer más »

Introducción a OSPF

OSPF es uno de los protocolos más importantes que debemos conocer en redes IP. Hay muchas cosas qué decir al respecto, es un protocolo óptimo, de rápida convergencia y de gran escalabilidad. Quiero empezar una serie de entradas describiendo detalles de éste interesante protocolo. En éste caso haré la introducción a sus características. Disfrútenlo.

Clasificación de los protocolos de enrutamiento dinámico

Antes de comenzar, quiero recordarles una clasificación de los protocolos de enrutamiento dinámico que siempre menciono en mis clases. Si cree que ya conoce bien éstos conceptos, pase al contenido sobre OSPF. Los protocolos de enrutamiento se pueden clasificar según dos criterios:

  1. Tipo de algoritmo
  2. Alcance

El alcance se define según se use al interior de un Sistema Autónomo o através de diferentes sistemas autónomos, los interiores se llaman IGP (por sus siglas en inglés Interior Gateway Protocol) y los exteriores EGP (Exterior Gateway Protocol). En el último caso sólo hemos tenido variantes de BGP, que es el protocolo encargado de transferir las rutas de internet y la unidad base del protocolo es el sistema autónomo. Los IGPs son los más conocidos, dado que los estudiamos en los primeros niveles de todas las certificaciones de networking.

Si somos más específicos, los protocolos IGP pueden usar dos paradigmas de enrutamiento, que usualmente llamamos algoritmos. Los más simples son los Vector Distancia (en alguna documentación los llaman DV por sus siglas en inglés). Éstos por ser simples requieren menos procesamiento y memoria pero no son óptimos y pueden usar mucho ancho de banda, dado que su principio de funcionamiento es enviar regularmente tablas de enrutamiento completas. Ejemplos de protocolos de enrutamiento por vector distancia es Rip, Ripv2, RipNG y EIGRP.

De otro lado están los protocolos IGP de Estado de Enlace (LS por sus siglas en inglés). Los protocolos LS son óptimos, lo cual significa que una ruta obtenida por éste método obedece una regla matemática que hace que la ruta sea demostrablemente la mejor posible (dentro de unos límites). Los protocolos LS más conocidos son ISIS y OSPF, el 1ro es el protocolo IGP más escalable que existe, lo diseñó OSI, tiene un principio de funcionamiento independiente del protocolo enrutable (incluso tiene su propio protocolo de capa 2/3) y todavía se usa en redes muy grandes. Es uno de los IGP más interesantes que podemos conocer. Finalmente, OSPF, que es el protocolo que quiero describir, es una «evolución» de ISIS, lo diseñó la IETF y es una especie de simplificación de ISIS para enrutar IP.

Vector distancia vs Estado de enlace

Aunque no voy a entrar en muchos detalles, ¿por qué se puede decir que LS es mejor que DV? Básicamente, porque el enrutamiento DV se hace con información sesgada y temporizadores, es decir, como se propagan tablas de enrutamiento y cada router selecciona las que le parecen las mejores, el siguiente router recibe lo que el anterior selecciona como mejores rutas, la visibilidad de la red es desde el vecino y no se conoce más allá. Eso implica que el protocolo tiene que forzar otros mecanismos para evitar bucles o loops de enrutamiento, como horizonte divido y varios timers que sirven para darle tiempo a la red de no propagar información equivocada. Eso hace que el protocolo sea lento e ineficiente, sin contar que cada router tiene una visión incompleta de la red. De otro lado, los protocolos LS propagan las relaciones topológicas entre los routers, es decir, quién es vecino de quién y con qué características de enlace, eso es un Estado de Enlace (o Link State). Luego de que los routers propagan esos LS, cada router conoce cómo está interconectada la red (completa, no sólo con sus vecinos) y por ende cada uno puede correr independientemente de los otros, el algoritmo SPF para hallar las rutas de menor costo. El algoritmo SPF se basa en otro muy conocido para cualquier estudiante de ingeniería: Dijkstra. Es importante aclarar que el algoritmo que usa OSPF no es Dijkstra, es SFP, esa es una equivocación frecuente en los exámenes de certificación. Lo anterior hace que los protocolos LS sean óptimos y mejor que eso, eficientes. Un LS es una pequeña cantidad de información, que identifica al router que la envía, las características del enlace y los routers a los cuales se conecta, por lo tanto enviar LSA (o LS advertisements) no ocupa mucho ancho de banda. En resumen: los protocolos LS convergen más rápido, usan menos ancho de banda y son óptimos; los algoritmos DV convergen muy lento, usan más ancho de banda y no son óptimos. Finalmente, los protocolos DV sí tienen una ventaja: usan menos memoria y CPU.

OSPF

Entonces, OSPF es un IGP de Estado de enlace optimizado para IP, lo cual significa que los routers que lo hablan se comunican entre sí enviando LSAs, es decir, Publicaciones de Estado de Enlace llamadas LSAs (Link State Advertisements). Sin embargo, antes de que eso ocurra, un router debe definir un identificador único, de esa manera los otros routers sabrán de quién es un LSA. Adicionalmente al identificador, llamado router-id, los routers que hablan OSPF establecen unas condiciones de adyascencia, es decir, no intercambian LSAs con cualquier router, se deben cumplir algunas condiciones. Y, finalmente, después de que existan adyascencias se intercambian LSAs, se llenan con ellas la LSDB y se calcula el costo a todos los destinos posibles. Cuando OSPF tiene un conjunto de mejores rutas, se las propone a la tabla de enrutamiento y ésta, como proceso independiente, las acepta o no.

Áreas y roles en OSPF

Una de las diferencias importantes que tiene OSPF con ISIS (y con los demás protocolos) es que el dominio (conjunto de routers) debe tener una estructura basada en áreas. Las áreas son un «truco» que usa OSPF para disminuir el consumo de CPU y memoria que, como ya mencionamos antes, es mayor que en los protocolos DV. En realidad, un router sólo tiene que conocer la topología de su propia área, es decir, todas las LSAs de los routers en su propia «región». Algunos se preguntarán: y cómo conoce las redes fuera de su área? para ello define roles de los routers, en particular, los ABR o routers de borde (area border routers). Cuando un enrutador necesita enviar tráfico fuera de su área lo envía al ABR. Las áreas hacen a OSPF un poco complicado porque existen varios casos particulares que no vamos a tratar en ésta entrada. Pero ténganlo en cuenta: un router sólo debe conocer la topología de su propia área y si hay varias áreas, debe saber llegar al ABR. Si la red es suficientemente simple se puede hacer una sola área, en éste caso, se recomienda que sea el área 0 porque ésta tiene características especiales de backbone. En otras palabras, OSPF obliga a que la red tenga una jerarquía de áreas en dos niveles: el área 0 al centro y todas las demás pegadas a ésta. Cada router que comunica un área con otra es un ABR y si existe uno que recibe información de fuera de ospf, por ejemplo de BGP, éste se considera un ASBR (autonomous system border router). En otra entrada hablaremos más sobre ellos.

Tipos de LSA básicos

Cuando entremos en más detalles analizaremos las adyascencias, pero por ahora supongamos que la elección de vecinos es trivial. Después de establecer adyascencias, cada router va a propagar sus LSAs. La información de red es básicamente la dirección de red del enlace, su máscara y el costo del enlace que representa. Como mencionamos antes, un LSA es la información de una interfaz, sus características y los routers a los cuales se conecta. Otra cosa que me gusta aclarar cuando hablo de LSAs, es que ésta lleva dos tipos de información: topológica y de red. Cuando digo información topológica me refiero a la posición del router respecto a la red, es un vecino, es un ABR, ¿qué rol tiene respecto a las áreas a los otros routers?. Dado que existen diferentes relaciones entre los routers, también se usan diferentes tipos de LSAs para definir diferente tipo de información. Los tipos de LSA están numerados y se puede decir que van de lo más simple a lo más complejo, por ejemplo, las LSAs tipo 1 y 2 se generan al interior de un área, es decir, si sólo tengo área 0 sólo vería LSAs tipo 1 y 2, llamadas router y network respectivamente.

Los tipos de LSA «básicos» son tres: Router, Network y Summary. En realidad casi toda la información topológica tiene origen en un LSA tipo router (tipo 1), ya que ésta identifica al router (envía su router-id) y dice quiénes son sus vecinos (qué router-id tienen sus vecinos), junto con las redes y costos con los cuales se comunica con ellos. Si piensan un poco, eso debería ser todo! Pero no 🙁 lamentablemente hay un par de consideraciones más: cuando un router hace parte de un segmento de acceso múltiple (un switch, por ejemplo), de todos los routers que participan, sólo uno envía la información específica de ese segmento, el resto sólo establecen adyascencia con él pero no envían la información detallada del segmento. A éste router elegido en un segmento de acceso múltiple se le conoce como DR (Designated Router). Cuando existen DRs en la red, la información del segmento es propagada en una LSA tipo 2 o Network.

Comprobando en Cisco

Para terminar, voy a ilustrar brevemente cómo se ve lo anterior en routers Cisco (IOS clásico). Los comandos que vamos a usar son de la familia show ip ospf. La topología, emulación realizada localmente en Eve-NG, es la siguiente:

La configuración es como se ve en la imagen: tenemos dos áreas normales (1 y 2) y un área 0 en su rol de Backbone. Las IP de los segmentos son 10.0.0.0/30, 10.1.0.0/30, 10.2.0.0/30, 10.3.0.0/30 y 10.4.0.0/30, respectivamente. Por lo tanto, antes de cualquier cosa deberíamos hacer ping entre los dos PCs que tienen las IPs 10.0.0.2 y 10.4.0.2, si tal cosa no ocurre es porque el enrutamiento no está bien. Seguro que en otra entrada describiré las configuraciones y todo lo que hice para que ésta topología funcionara, pero ahora el tema es otro 🙂

R1>sh ip ospf database database-summary

            OSPF Router with ID (1.1.1.1) (Process ID 1)

Area 1 database summary
  LSA Type      Count    Delete   Maxage
  Router        2        0        0
  Network       0        0        0
  Summary Net   3        0        0
  Summary ASBR  0        0        0
  Type-7 Ext    0        0        0
    Prefixes redistributed in Type-7  0
  Opaque Link   0        0        0
  Opaque Area   0        0        0
  Subtotal      5        0        0
[...]

En la salida (output) anterior se puede ver que en el área 2 hay dos routers y que se reciben 3 LSAs de otras áreas (las redes de otras áreas). Veamos el detalle:

R1>sh ip ospf database router

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Router Link States (Area 1)

  LS age: 379
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 1.1.1.1
  Advertising Router: 1.1.1.1
  LS Seq Number: 80000005
  Checksum: 0xE9F8
  Length: 60
  Number of Links: 3

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 2.2.2.2
     (Link Data) Router Interface address: 10.1.0.1
      Number of MTID metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 10.1.0.0
     (Link Data) Network Mask: 255.255.255.252
      Number of MTID metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 10.0.0.0
     (Link Data) Network Mask: 255.255.255.252
      Number of MTID metrics: 0
       TOS 0 Metrics: 1


  Routing Bit Set on this LSA in topology Base with MTID 0
  LS age: 158
  Options: (No TOS-capability, DC)
  LS Type: Router Links
  Link State ID: 2.2.2.2
  Advertising Router: 2.2.2.2
  LS Seq Number: 80000003
  Checksum: 0xEE8
  Length: 48
  Area Border Router
  Number of Links: 2

    Link connected to: another Router (point-to-point)
     (Link ID) Neighboring Router ID: 1.1.1.1
     (Link Data) Router Interface address: 10.1.0.2
      Number of MTID metrics: 0
       TOS 0 Metrics: 1

    Link connected to: a Stub Network
     (Link ID) Network/subnet number: 10.1.0.0
     (Link Data) Network Mask: 255.255.255.252
      Number of MTID metrics: 0
       TOS 0 Metrics: 1

Lo anterior significa: el LSA tipo 1 que genera R1, dice que tiene un vecino (R2) y dos redes, de las cuales una es tránsito y otra es stub (osea punto final). También se observan los valores de red y métrica. Todo lo que hemos visto pertenece al área 2, que no es backbone. Así se conocen las redes de otras áreas:

R1>sh ip ospf database summary

            OSPF Router with ID (1.1.1.1) (Process ID 1)

                Summary Net Link States (Area 1)

  Routing Bit Set on this LSA in topology Base with MTID 0
  LS age: 350
  Options: (No TOS-capability, DC, Upward)
  LS Type: Summary Links(Network)
  Link State ID: 10.2.0.0 (summary Network Number)
  Advertising Router: 2.2.2.2
  LS Seq Number: 80000002
  Checksum: 0xA881
  Length: 28
  Network Mask: /30
        MTID: 0         Metric: 1

  Routing Bit Set on this LSA in topology Base with MTID 0
  LS age: 1737
  Options: (No TOS-capability, DC, Upward)
  LS Type: Summary Links(Network)
  Link State ID: 10.3.0.0 (summary Network Number)
  Advertising Router: 2.2.2.2
  LS Seq Number: 80000001
  Checksum: 0xA880
  Length: 28
  Network Mask: /30
        MTID: 0         Metric: 2

  Routing Bit Set on this LSA in topology Base with MTID 0
  LS age: 1737
  Options: (No TOS-capability, DC, Upward)
  LS Type: Summary Links(Network)
  Link State ID: 10.4.0.0 (summary Network Number)
  Advertising Router: 2.2.2.2
  LS Seq Number: 80000001
  Checksum: 0xA680
  Length: 28
  Network Mask: /30
        MTID: 0         Metric: 3

Como se observa, las tres redes faltantes se conocen todas a través de R2: Avertising router: 2.2.2.2 y por ende la tabla de enrutamiento luce así:

      10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
C        10.0.0.0/30 is directly connected, FastEthernet1/0
L        10.0.0.1/32 is directly connected, FastEthernet1/0
C        10.1.0.0/30 is directly connected, FastEthernet0/0
L        10.1.0.1/32 is directly connected, FastEthernet0/0
O IA     10.2.0.0/30 [110/2] via 10.1.0.2, 00:44:08, FastEthernet0/0
O IA     10.3.0.0/30 [110/3] via 10.1.0.2, 00:30:55, FastEthernet0/0
O IA     10.4.0.0/30 [110/4] via 10.1.0.2, 00:30:55, FastEthernet0/0

Conclusiones y continuación

Bueno, como esta es sólo una introducción, más adelante voy a describir en más detalle el protocolo, por lo pronto, espero que les haya gustado. En conclusión, la principal información de la red en OSPF (protocolo interior o IGP de estado de enlace) se propaga mediante LSAs tipo router, network y summary (1, 2, y 3 respectivamente).

¿Qué sigue? No sé, uds díganme en los comentarios 😉 Para mí vienen dos entradas derivadas de éstas: ilustrar lo mismo en otras marcas o en otros sistemas operativos, como IOS XR o VRP de huawei, incluso hasta en TimOS de ALU. Necesito comentarios y ver que el contenido es valioso para poder seguir dedicandole el tiempo que requiere escribir ésto. Lo otro que sigue naturalmente de éste contenido es continuar con otras LSAs más complejas que se originan en tipos de áreas diferentes a la estándar y backbone que fueron las que vimos acá.

Por favor compartan el contenido, divulguen y comenten. Gracias y hasta la próxima.

He acá una página en el que ilustran simplificadamente todos los LSAs : OSPF LSA types explained

Introducción a OSPF Leer más »

La 3a es la vencida

Ésta es la tercera (y creo que última vez) que restauro éste blog. Lamentablemente no he vuelto a tener suficiente tiempo para hacerle mantenimiento ni para escribir y, para completar, hace ya tiempo que los términos de AdSense no me ofrecen ningún ingreso por el contenido, antes por lo menos se pagaba el hosting pero hace ya más de un año que no recibo ingreso alguno. Espero invertirle algún tiempo una vez más y si no puedo o no recibo por lo menos los costos del hosting, creo que será el fin de ésta importante etapa de mi vida profesional.

La 3a es la vencida Leer más »

IPerf o el analizador de los pobres

En la resolución de problemas de red, a veces es necesario observar el comportamiento del tráfico de manera directa. Generar tráfico parecería una tarea simple: transfiera un archivo muy grande de un lugar a otro o abra un video en el navegador. Sin embargo, generar tráfico con ciertas condiciones a veces no es tan fácil, por ejemplo generar cierta cantidad de ancho de banda (p. ej.: 1Mbps), o generarlo durante cierta cantidad de tiempo. Peor aún, si queremos saber cuántos paquetes se envían y cuántos llegan, como sabemos TCP o las aplicaciones se encargan de que no perdamos información, por ende saber exactamente qué pasa con los paquetes es un poco más complejo. Cuando estudiamos o trabajamos en redes a veces es necesario generar tráfico. En ésta entrada les voy a dar un par de ideas al respecto, sin embargo, me enfocaré en una herramienta gratuita de fácil uso llamada IPerf. Disfrútenlo.

IPerf o el analizador de los pobres Leer más »

Colombia: país de castas

Me considero ecologista: reciclo, reutilizo y consumo poco; más allá de eso: publico memes ecológicos, le hablo a mis amigos sobre el consumo de agua, del plástico, le explico a la gente en el super sobre mi bolsa reutilizable para el mercado. Pero si algo está claro en el mundo es que esas acciones individuales sólo sirven para limpiar nuestras conciencias y lamento decirles a todos mis amigos ecologistas: con esa conciencia se limpian el culo todos los políticos que venden los recursos naturales por una prevenda. No siempre los venden por dinero directamente, conque las inversiones se hagan cerca a sus propiedades es suficiente, eso aumenta el valor de las tierras y, aparentemente, están generando desarrollo para su región. Es claro que sólo apoyar movimientos sociales que propendan por el bienestar de la sociedad y una visión de equilibro económico puede hacer algo por una causa por la cual yo realmente tengo poquísimas esperanzas, sobre todo con la cantidad de pendejos creyendo que con una bolsa reutilizable están salvando al mundo (me incluyo). Hay que apoyar movimientos que legislen y ejecuten voluntad política a favor del ambiente. Nuestras acciones individuales no dejan de ser una pose hipster que aporta poco o nada a la magnitud del problema (el límite de emisiones de CO2 para que el cambio climático fuera reversible se sobrepasó hace varios años).

Colombia: país de castas Leer más »

Networking vademecum (o diccionario que llaman)

Cuando uno empieza a trabajar en redes, adicional a los típicos acrónimos que nacen de nuestra disciplina (que no siempre conocemos porque son de la práctica diaria y no de la teoría) aparecen otros términos que resultan ser muy importantes [para los jefes 🙂 ] y por ende tenemos que conocer. En ésta entrada me propongo hacer una especie de diccionario de los términos que en su momento me parecieron extraños, algunos técnicos otros administrativos pero espero que todos les resulten útiles. Disfrútenlo.
NOTA: Creo que será un escrito un poco dinámico porque seguramente iré adicionando términos importantes, si tienes alguna sugerencia dejala en los comentarios.

Networking vademecum (o diccionario que llaman) Leer más »

Qué es EVE-NG? el «nuevo» emulador para redes

Hace muchos años conocí GNS3, un emulador que permitía ejecutar imágenes de sistemas operativos originales de equipos Cisco, lo cual me pareció la locura en su momento, además que alguna vez llegué a conectar un enrutador real con mi PC y establecer una sesión OSPF: Wow! Jajaja. De eso han pasado 10 años ya y al día de hoy me sorprende mucho más ver cómo ha evolucionado ese territorio: Cisco trazó una estrategia de virtualización y su primer paso fue una línea de IOS nueva que se ejecuta sobre Linux, no emulables en el clásico hipervisor Dynamips. Ahora GNS3 no sólo puede emular el clásico IOS de antaño, también las nuevas versiones XE, XR, equipos de otras marcas como Juniper, Alcatel-Lucent e imágenes casi arbitrarias de sistemas basados en Linux. Con la misma base tecnológica, pero en otra filosofía, apareció hace pocos años un proyecto llamado UNetLab que ahora se ha transformado en EVE-NG o Emulated Virtual Environment, un poderoso contrincante para GNS3. A continuación una breve introducción a esta plataforma de emulación. Disfrútenlo.

Todas las entradas de la serie: [Introducción a Eve-NG] [Instalación] [Puesta a punto]

Qué es EVE-NG? el «nuevo» emulador para redes Leer más »