# IS-IS

IS-IS (del inglés Intermediate System to intermediate System) es un protocolo de estado de enlace, o SPF (shortest path first), que básicamente maneja un mapa para enrutar paquetes mediante la convergencia de la red. Es también un protocolo de Gateway interior (IGP). Este protocolo está descrito por el RFC 1142. En este se refiere a que IS-IS fue creado con el fin de crear un acompañamiento a CNS (Protocol for providing the Connectionless-mode Network Service).

## Introducción

IS-IS es un protocolo de enrutamiento interior desarrollado en los años 80 por Digital Equipment Corporation (DEC) y llamado originalmente DECnet Phase V. Después fue adoptado por la International Organization for Standardization (ISO) como protocolo de enrutamiento para la Interconexión de Sistemas Abiertos (OSI). Su desarrollo estuvo motivado por la necesidad de un sistema no propietario que pudiera soportar un gran esquema de direccionamiento y un diseño jerárquico.
Los grandes proveedores de servicios de Internet han venido usando IS-IS desde su introducción y recientemente se ha comenzado a implementar en otros mercados. IS-IS permite trabajar con Type of Service (ToS) para la ingeniería de tráfico.
Es un protocolo de la capa de red. Permite a sistemas intermedios (IS’s)dentro de un mismo dominio cambiar su configuración e información de ruteo para facilitar la información de encaminamiento y funciones de transmisión de la capa de red.
El protocolo de encaminamiento IS-IS está pensado para soportar encaminamiento en grandes dominios consistentes en combinaciones de muchos tipos de subredes. Esto incluye enlaces punto a punto, enlaces multipunto, subredes X.25 y subredes broadcast tales como las ISO 8802 LANs. Para poder soportar dominios grandes, la previsión está hecha para que el ruteo intradominio sea organizado jerárquicamente. Un dominio grande puede ser dividido administrativamente en áreas. Cada sistema reside en exactamente un área.

## Definiciones generales

* Área: Subdominio que mantiene información de routing detallada sobre su propia composición interna y que mantiene también información de routing que le permita alcanzar otro subdominio. Responde al subdominio de nivel 1.
* Vecino: Sistema adyacente alcanzable atravesando una única subred por un PDU.
* Adyacencia: Porción de la información de routing local concerniente a la alcanzabilidad de un único vecino End-System (ES) o Sistema Intermedio (IS) en un único circuito. Las adyacencias son usadas como entrada al proceso de decisión para crear los caminos a través del dominio. Una adyacencia separada es creada por cada vecino en un circuito y para cada nivel de encaminamiento en un circuito broadcast.
* Circuito: Subconjunto da la base de información de encaminamiento pertinente para un único SNPA local.
* Enlace: Camino de comunicación entre dos vecinos. Un enlace se considera activo cuando la comunicación es posible entre dos SNPAs.
* IS designado: Sistema intermedio en una LAN designado para llevar a cabo funciones adicionales. En particular genera un estado de enlace de PDU en beneficio de la LAN, tratando dicha LAN como un pseudonodo.
* Pseudonodo: Donde una subred broadcast tiene conectados n sistemas intermedios, la propia subred broadcast es considerada como un pseudonodo. El pseudonodo tiene enlaces a cada uno de los n sistemas intermedios y cada uno de los ISs tiene un único enlace al pseudonodo.
* Subred broadcast: Subred que soporta un número arbitrario de end-systems y de sistemas intermedios y, adicionalmente, es capaz de transmitir un único SNPDU a un subconjunto de estos sistemas en respuesta a una única petición de SN_UNITDATA.
* Topología general de la subred: Subred que soporta un número arbitrario de end-systems y de sistemas intermedios pero no soporta la capacidad de transmisión sin conexión multi-destino, a diferencia de una subred broadcast.
* Subdominio de encaminamiento/routing: Conjunto de sistemas intermedios y end systems localizados dentro del mismo dominio de encaminamiento.
* Subdominio de nivel 2: Conjunto de todos los sistemas intermedios de nivel 2 en un dominio de encaminamiento.
* PDU: Protocol Data Unit (Unidad de datos del protocolo).
* SNSDU: Subnetwork Service Data Unit (Unidad de datos del servicio de subred).
* NSDU: Network Service Data Unit (Unidad de datos del servicio de red).
* NPDU: Network Protocol Data Unit (Unidad de datos del protocolo de red).
* SNPDU: Subnetwork Protocol Data Unit (Unidad de datos del protocolo de subred).

## Tipos de sistemas que intervienen en el protocolo

Se definen dos tipos de Routers: Un rúter de Nivel 1 negocia el primer nivel de enrutamiento, encontrando el destino final dentro del área. Un rúter de Nivel 2 encuentra el área dentro de la que se encuentra el destino final. Ambos tipos de enrutadores se combinan con los enrutadores de Nivel 1-2 que corren ambos procesos de Nivel 1 y 2 y puden ser considerados como un tercer tipo de rúter.
Router de Nivel 1: Rúter Intra-área. Es similar a un Stub Router en OSPF. Su conocimiento de la red es limitado al área y emplea una ruta por defecto al rúter de Nivel 2 más cercano para enrutar tráfico externo al área donde se encuentra. Los enrutadores de Nivel 1 tienen una base de datos de estado-enlace idéntica entre ellos.
Router de Nivel 2: Rúter Inter-área. Son necesarios para el enrutamiento entra áreas distintas tal como los enrutadores de backbone en OSPF. Los enrutadores de Nivel 2 se comunican vía Hellos que sólo son comprendidos entre ellos. Su base de datos de estado-enlace es también idéntica.
Router de Nivel 1-2: Son enrutadores tanto Intra como Inter-área, una característica similar a los enrutadores fronterizos de área en OSPF, que pueden tener vecinos en diferentes áreas porque envían Hellos tanto de Nivel 1 como de Nivel 2 y por tanto pueden comunicarse con ambos tipos de enrutadores. Almacenan una base de datos de estado-enlace de Nivel 1 y otra para el Nivel 2 con la información necesaria para el enrutamiento Inter-área. Estos enrutadores informan a los enrutadores de Nivel 1 de que son enrutadores de Nivel 2 y que pueden enviar tráfico a otras áreas. Pueden informar también a otros enrutadores de Nivel 2 de las áreas a las que está conectado. Esta es la configuración por defecto de un rúter Cisco.

## Proceso de encaminamiento/routing
### Principios básicos

* Cuando un router recibe tráfico que enrutar a un destino remoto, realiza una consulta a su tabla de enrutamiento.
* El router extrae del paquete la información relativa al System ID y SEL para revelar la información de área de la dirección de destino. Si la dirección de destino de área es la misma que la suya, enruta el paquete hacia el System ID usando su base de datos de Nivel 1.
* Si el área de destino es diferente:
** Si es un router de Nivel 1 envía el paquete al router de Nivel 2 más cercano.
** Si se trata de un router de Nivel 2, busca la ruta en la base de datos de envío.
** Resuelve la dirección al emparejamiento más largo (tendrá las rutas externas sumarizadas).
* Actualización
* Reenvío
* Recepción

#### Proceso de decisión

Este proceso calcula las rutas a cada destino del dominio. Se ejecuta por separado para encaminamiento de nivel 1 y nivel 2, y por separado dentro de cada nivel para cada una de las métricas soportadas por el sistema intermedio. Usa la base de datos de estado de enlaces, la cual consiste en información del último estado de enlace de PDUs de cualquier otro sistema intermedio del área, para calcular los caminos más cortos desde este IS hasta todos los demás sistemas en el área. La base de datos de estado de enlaces es mantenida por el proceso de actualización. La ejecución del proceso de decisión resulta en la determinación de pares (conocidos como adyacencias [circuito, vecino]), los cuales son almacenados en la base de información de reenvío apropiada y usados por el proceso de reenvío as rutas a través de las cuales reenviar NPDUs. Algunos de los parámetros en la base de datos de ruteo que son usados por el proceso de decisión están determinados por la implementación. Estos incluyen:
* Máximo número de sistemas intermedios y end systems dentro del área de los IS.
* Máximo número de intermedios y end systems vecinos del IS, etc.
De este modo las bases de datos pueden ser dimensionados apropiadamente. También otros parámetros, tales como métricas de encaminamiento para cada circuito y temporizadores, pueden ser ajustados para conseguir mejorar el funcionamiento.

#### Proceso de actualización

Este proceso genera, recibe y propaga el estado de enlaces de los PDUs. Cada PDU de estado de enlace contiene información sobre la identidad y los valores de la métrica de encaminamiento de las adyacencias del IS que originó el PDU estado de enlace. El proceso de actualización recibe el estado del enlace y la secuencia de números PDU del proceso de recepción. Sitúa nueva información de encaminamiento en la base de información de routing y la propaga a otros sistemas intermedios. Las características generales de este proceso son:
* Los estados de los enlaces PDU son generados periódicamente como resultado de cambios topológicos. Pueden ser también generados indirectamente como resultado de acciones de administración del sistema (tales como cambiar una de las métricas de un circuito)
* El estado de enlaces de PDUs de nivel 1 son propagados a todos los sistemas intermedios dentro del área, pero no se propagan hacia fuera de dicha área.
* El estado de enlaces de PDUs de nivel 2 se propagan a todos los sistemas intermedios de nivel 2 en el dominio.
* El estado de enlaces de PDUs no se propaga fuera del dominio.
* El proceso de actualización, a través del conjunto de parámetros de la administración del sistema, establece un límite superior para la cantidad de tráfico que genera.

#### Proceso de reenvío

Este proceso suministra y gestiona los buffers necesarios para soportar transmisión NPDU a todos los destinos. Recibe, a través del proceso de recepción, PDUs para ser reenviadas. Realiza una consulta en la base de datos de reenvío adecuada, la cual es seleccionada eligiendo una métrica de ruteo basada en los campos de mantenimiento de la opción QoS de ISO 8473.

#### Proceso de recepción

El proceso de recepción obtiene sus entradas de las siguientes fuentes:
* PDUs recibidas con NPIDs de encaminamiento intradominio.
* Información de ruteo derivada del protocolo ESIS de la recepción de ISO 9542 PDUs.
* Datos de PDUs ISO 8473 entregados a la función de encaminamiento.
Esta entonces realiza las funciones apropiadas, que pueden requerir pasar el PDU a alguna otra función.

## Comparación entre OSPF e IS-IS

IS-IS y OSPF, son protocolos de estado de enlaces que utilizan el Algoritmo de Dijkstra para encontrar el mejor camino a través de la red. Ambos soportan máscaras de subred de diferente longitud, pueden usar multicast para encontrar routers vecinos mediante paquetes hello y pueden soportar autentificación de actualizaciones de encaminamiento.
Existen diferencias importantes en el modo de operar de IS-IS y OSPF, por ejemplo, en el modo en que la dirección de área es asignada. En IS-IS, la dirección de área y de host son asignados al router entero, mientras que en OSPF el direccionamiento es asignado al nivel de interfaz. Por lo tanto un router IS-IS únicamente estará en un área (Todos los routers de Nivel 1 necesitan un router de Nivel 1-2 para conectarles a otra área). El router de Nivel 1-2 puede ver el resto del SA y se ofrece como ruta por defecto al área de Nivel 1.
Es importante también la diferencia entre estos protocolos de manejar los paquetes hello. Este es el único método por el cual los routers pueden saber si un router vecino sigue estando disponible en la red. A diferencia de OSPF, los routers IS-IS son capaces de enviar dos tipos diferentes de saludos (paquetes hello). Los routers IS-IS pueden ser de Nivel 1, Nivel2 o Nivel 1-2, los routers CISCO son routers L1-L2, por lo que cada interfaz IS-IS estará habilitada para enviar tanto mensajes hello L1 como L2.
Respecto a su encapsulación:
* Mientras que IS-IS opera en la parte superior de la capa 2, OSPF opera en la capa 3.
* IS-IS es un protocolo de capa 3 con su propio paquete de capa 3, mientras que OSPF utiliza paquete IP.
* la fragmentación es responsabilidad de IS-IS, sin embargo en OSPF la fragmentación es responsabilidad de IP.
Otras diferencias:
* En una red de broadcast todos los IS de IS-IS mantienen adyacencia entre ellos, sin embargo en OSPF solo se mantiene adyacencia entre DR y BDR con los demás routers.
* El DIS envía CNSPs a los demás IS. En OSPF, los acks se envían desde el DR en forma de Unicasts.
* En IS-IS se envían de forma periódica CSNPs para asegurar que las bases de datos estén sincronizadas.
* En IS-IS existen dos tipos de LSPs mientras que en OSPF existen siete tipos de LSA.
Finalmente IS-IS tiene otras ventajas tales como compatibilidad con IPv6 o que admite VLSM.