OSPF

  • Es un protocolo de enrutamiento IGP que utiliza la métrica del costo del enlace.
  • Este protocolo obliga a los enrutadores a enviar información actualizada llamada LSA (Link State Advertisement).
  • El LSA contiene información sobre:
    • ID del router
    • Las direcciones IP de las interfaces del router
    • El estado del enlace (up o down)
    • Costo del enlace
  • Esta información es almacenada en una base de datos llamada LSDB (Link State Data Base).
  • La información se envía utilizando el proceso de inundación.

Dijkstra Shortest Path First Algorithm (SPF)

  • El algoritmo decide la mejor ruta en base al costo de cada interfaz.
  • Es necesario que el enrutamiento separe todos los costos de todas las interfaces de todos los enrutadores.
  • Cuando un enlace ha caído, se envía información sobre este para que los demás enrutadores cambien su ruta.

Vecinos

  • Los vecinos son aquellos enrutadores conectados al mismo enlace entre los cuales se puede intercambiar información de ruteo.
  • Dos enrutadores pueden estar conectados al mismo enlace y no necesariamente ser vecinos.
  • Para que los enrutadores sean vecinos deben cumplir con las siguientes características:

Requisitos para ser vecinos:

Máscara de subred, Dirección de subred, Hello interval, Dead interval, OSPF Área ID, Autenticación (opcional)

Proceso para identificar a los vecinos

Para poder conocer a sus vecinos, el enrutador debe tener un identificador único llamado Router ID.

El Router ID es un número de 32 bits escrito en forma decimal, idéntico a como se escribe una dirección IP.

Una vez identificado el Router ID, se envían mensajes Hello, pasando por 4 diferentes fases llamadas Neighbor States.

Neighbor States

  • Down: Un vecino no es alcanzable.
  • Init: Primer intercambio de mensajes Hello.
  • 2-way: Los enrutadores conocen el Router ID uno del otro y están listos para enviar la información del LSDB. Esto implica que los enrutadores se han aceptado como vecinos.
  • Full: Ambos enrutadores tienen exactamente la misma información en su LSDB.

Intercambio de LSDB

  • Una vez que los enrutadores se encuentran en el estado 2-way, estos deben decidir si intercambian información de la topología directa o indirectamente.
  • Intercambio de información directa: Los enrutadores vecinos envían la información del LSDB por medio de LSA.
  • Intercambio indirecto: Este tipo de intercambio se da cuando la topología no presenta una estructura punto a punto. Para evitar el flujo de mensajes Hello redundantes se utiliza el concepto de Designated Router (DR). El DR se encargará de enviar información LSA únicamente a sus vecinos. Al elegir un DR se elige también a un BDR (Backup Designated Router).

Áreas

Separan los dominios de broadcast de los paquetes OSPF.

Cómo se elige el DR

  • Se elige como DR al enrutador con la prioridad OSPF mayor (1-255 configurable por el usuario).
  • Si dos enrutadores empatan, se elige como DR a aquel con el Router ID mayor.
  • Una prioridad de 0 indica que el enrutador no participará en el proceso de elección del DR.

EIGRP

  • Es un protocolo de enrutamiento cuya convergencia es tan buena como OSPF.
  • No requiere de tanta memoria como OSPF.
  • Requiere de menor tiempo de procesamiento.
  • Es un protocolo propietario de Cisco.

EIGRP consta de tres pasos principales:

  1. Descubrimiento de vecinos
  2. Intercambio de topología
  3. Elección de rutas

Vecinos

  • EIGRP necesita conocer sus vecinos para intercambiar información sobre la topología de red.
  • Los enrutadores deben cumplir con los siguientes requisitos:
    • Autenticación
    • Tener el mismo ASN
    • Las interfaces de los enrutadores vecinos deben estar en la misma subred.

Intercambio de topología

  • El intercambio de topología se realiza por medio de los siguientes mensajes:
    • Full Update: Este se realiza cuando se descubre un nuevo vecino.
    • Partial Update: Se realiza para enviar información actualizada de las rutas.
  • El envío de mensajes se realiza utilizando un protocolo llamado RTP.

PPP y HDLC

Un enlace serial entre dos enrutadores no utiliza el estándar Ethernet para enviar y recibir tramas. Por defecto, los enrutadores Cisco utilizan el protocolo High-Level Data Link Control (HDLC).

HDLC

HDLC es un protocolo propietario de capa 2 que define las funciones básicas para la entrega de la información en enlaces punto a punto.

Existen dos vertientes de HDLC:

  • HDLC estándar
  • HDLC propietario (se agrega un tipo a la trama, a diferencia del estándar)

Point-to-Point Protocol (PPP)

Este protocolo surge como contraparte del protocolo propietario HDLC. Además de que presenta mejoras, es un protocolo que permite la conexión PTP entre enrutadores de distintas marcas.

Características de PPP

Las siguientes características distinguen a PPP de HDLC:

  • Looped Link Detection: PPP permite la detección de loops, lo cual ayuda a una convergencia aún mayor del protocolo de enrutamiento.
  • Enhanced Error Detection: PPP utiliza el campo de FCS para detectar errores. Si la trama llega con errores, esta se descarta. La diferencia con Ethernet es que, si por el enlace se recibe muchos errores, el protocolo PPP tirará el enlace y forzará a las tramas a enviarse por una ruta alternativa.
  • PPP Multilink: Si se tiene redundancia en el enlace, PPP permitiría realizar el balanceo de carga sin tener que recurrir al protocolo de ruteo. PPP enviaría la misma cantidad de tramas por ambos enlaces (imagina 2 routers con dos conexiones).
  • Autenticación (más importante): Es el proceso por el cual se confirma como válida la conexión entre dos enrutadores. Las empresas de telecomunicaciones lo utilizan para permitir la conexión de sus usuarios.

Autenticación

La autenticación se lleva a cabo utilizando dos métodos:

  • PAP
  • CHAP

NAT

El internet consta de muchos servidores y usuarios interconectados de tal manera que todos los usuarios puedan tener acceso a la información guardada en todos los servidores. El diseño original del internet contemplaba que cada usuario y cada servidor tuviese una dirección IP classful única e irrepetible. Debido al auge del internet, estas direcciones se habrían terminado a mediados de los 90’s. Era necesario llegar a una solución que permitiera que las direcciones IP no se agotasen. La solución más obvia fue aumentar el número de direcciones. Esta solución no es la mejor, ya que no considera la carga que representaría para los enrutadores.

Classless Inter-domain Routing (CIDR)

CIDR, cuyas especificaciones se encuentran en el documento RFC 4632, tiene por objetivo dos cosas:

  • Asegurar que la asignación de direcciones IP permitan la sumarización.
  • Permitir que los ISP utilicen subneteo.

De esta manera, es posible asignar un rango de direcciones IP por países y por ISP.

  • México tiene asignadas las direcciones IP de la 131.178.0.0 – 207.249.224.0 (no corrido)
  • Estados Unidos 3.0.0.0 – 216.253.0.0 (no corrido)

Direcciones IP Privadas

Estas direcciones fueron pensadas para ser asignadas a usuarios dentro de una red privada, sin tener que solicitar permisos del ICANN. Originalmente se pensaba que estos usuarios jamás saldrían a internet. Para resolver este pequeño problema, se inventó el concepto de NAT (Network Address Translation). El NAT lo podemos encontrar como NAT estático y NAT dinámico.

NAT estático

NAT funciona en base a una tabla en donde relaciona una IP pública con una IP privada. Cisco llama a la IP privada “inside local” y a la IP pública “inside global”.

NAT dinámico

NAT dinámico considera que no todos los usuarios necesitan acceder a internet al mismo tiempo, por lo que no tiene caso dedicar una dirección IP por tiempo indefinido a una dirección privada. Cuando una dirección privada requiere de acceso a internet, se le asigna la primera dirección IP pública disponible.

PAT

Port Address Translation utiliza, al igual que NAT, una tabla donde relaciona direcciones privadas con direcciones públicas. La gran diferencia, es que es su tabla también incluye el concepto de puertos lógicos.

ACL

Las listas de acceso (Access Control List) permiten la implementación de seguridad al evitar que ciertos paquetes lleguen a ciertos destinos. Existen dos tipos principales de ACL:

  • Estándar: El criterio de decisión se basa en la dirección IP fuente.
  • Extendido: El criterio de decisión se basa en:
    • Dirección IP fuente
    • Dirección IP destino
    • Puerto destino
    • Puerto fuente
    • Protocolo (TCP, UDP)

Lógica

La lógica de las ACL se basa en dos puntos:

  1. Determinar si se cumple el criterio (matching): En esta parte, el router analiza el paquete para ver si cumple con alguna de las reglas ya establecidas. Se analizan las reglas una por una en orden descendente hasta encontrar un match.
  2. Acción a tomar (action): Si se realizó un match, el router puede tomar 2 acciones: permitir o denegar. Si no hubo un match, el router toma la acción de denegar el paquete, es decir, no corre riesgos y lo desecha. A menos que se especifique la acción contraria con el comando default.

Filtrado

El filtrado de los paquetes se puede realizar antes o después de efectuar la decisión de ruteo dependiendo de en qué interfaz se asigne la ACL y si es para los paquetes entrantes o salientes de la interfaz.

Configuración de ACL estándar

  1. Planear la ubicación de las ACL (router). Recomendación: ubicar, siempre que se pueda, las ACL lo más cercano al destino.
  2. Determinar en qué interfaz actuarán las ACL.
  3. Determinar si se aplicarán a paquetes entrantes o salientes de la interfaz.
  4. Configurar las ACL. Estas pueden crear tanto en la configuración global o con el subcomando ip access-list. Es conveniente empezar con las ACL generales y terminar con las ACL específicas. Las ACL estándar solo pueden aceptar la numeración 1-99 o 1300-1999.
  5. Habilitar las ACL en la interfaz deseada y si se realiza para paquetes entrantes o salientes.

ACL (Extendido)

Configuración

  1. Acción a tomar (deny o permit)
  2. Protocolo (ip, tcp, udp, icmp, etc)
  3. Dirección IP fuente
  4. Puerto fuente
  5. Dirección IP destino
  6. Puerto destino

Operadores: eq = igual a, neq = no igual a, lt = menor que, gt = mayor que, range = rango del número de puerto

Ejemplos

access-list 101 deny ip any host 10.1.1.1

access-list 101 deny tcp any gt 1023 host 10.1.1.1 eq 23