b'\n_START_ARTICLE_\nTRILL\n_START_PARAGRAPH_\nTRILL (Transparent Interconnection of Lots of Links, interconexi\xc3\xb3n transparente de m\xc3\xbaltiples enlaces en espa\xc3\xb1ol) es un protocolo est\xc3\xa1ndar usado para t\xc3\xa9cnicas de enrutamiento. Se considera que est\xc3\xa1 situado entre la capa 2 y 3 del modelo OSI (o capa 2 1/2), puesto que implementa funcionalidades de ambas capas. TRILL combina t\xc3\xa9cnicas de bridging y enrutamiento, y utiliza el enrutamiento de estado-enlace para hacer aparecer un conjunto de enlaces IP como un \xc3\xbanico enlace IP (subnet) al que poder dirigirse desde otros nodos IP. De esta forma, permite el uso de t\xc3\xa9cnicas propias de la capa 3 OSI (enrutamiento por caminos m\xc3\xa1s cortos, uso de caminos m\xc3\xbaltiples...) para interactuar con una red configurada en la capa 2 OSI, con direcciones planas, en las que los dispositivos pueden desplazarse libremente sin necesidad de cambiar su direcci\xc3\xb3n IP. Los RBridges son compatibles con anteriores bridges IEEE 802.1, y pueden reemplazarlos de forma gradual. Tambi\xc3\xa9n son compatibles con routers y hosts IPv4 e IPv6. Son invisibles para los actuales routers IP y, como \xc3\xa9stos, son puntos de terminaci\xc3\xb3n de los bridges de STP.\n_START_SECTION_\nConocemos la capa 2\n_START_PARAGRAPH_\nEn un principio casi todas las conexiones eran punto a punto entre nodos vecinos, y los protocolos de capa 2, \xe2\x80\x9cenmarcaban\xe2\x80\x9d los paquetes entre un destino y otro. Con este protocolo se realizaba comunicaci\xc3\xb3n perfectamente sin necesidad de implementar nada m\xc3\xa1s._NEWLINE_Aparecieron las redes LAN y la expansi\xc3\xb3n de Ethernet en particular, con la interconexi\xc3\xb3n de cientos de nodos en un mismo enlace. Ethernet est\xc3\xa1 basado en CSMA/CD que es un protocolo de acceso m\xc3\xbaltiple, con escucha y detecci\xc3\xb3n de colisiones._NEWLINE_El problema que surgi\xc3\xb3 es que las empresas compraban bloques de direcciones, y en muchas ocasiones se necesitaba un n\xc3\xbamero muy elevado de ips, y no hay suficientes ips para identificar todos los elementos de todas las redes distribuidas por el mundo. Por este motivo surgieron los protocolos de enrutamiento de capa 2, que se basaban en las direcciones MAC de los dispositivos en lugar de sus ips.\n_START_SECTION_\nSpanning Tree vs TRILL\n_START_PARAGRAPH_\nTRILL es un protocolo definido en la RFC5556 de mayo de 2009.  Es un est\xc3\xa1ndar propuesto por la IETF que utiliza protocolo de enrutamiento IS-IS, ya que este se basa en OSI y no en TCP/IP._NEWLINE_Este protocolo contiene las capacidades del algoritmo SPF (Short Path First) creado por Dijkstra. _NEWLINE_Permite manejar los bucles de una red de manera diferente a como lo hace STP._NEWLINE_STP (Spanning Tree) es un protocolo que tiene casi 30 a\xc3\xb1os, Spanning Tree se invent\xc3\xb3 en 1985 por Radia Perlman, y se basa en eliminar bucles en la red eliminando enlaces redundantes. Esta idea nos obliga a hacer un uso m\xc3\xa1ximo de la capacidad de la red, y tener enlaces de backup._NEWLINE_STP es ineficiente, ya que no utiliza todas las rutas posibles entre switches, y los caminos que elige tampoco son los m\xc3\xa1s cortos ni los m\xc3\xa1s r\xc3\xa1pidos. Por este motivo, es un protocolo lento._NEWLINE_TRILL utiliza routing de estado de enlace, se puede mapear toda la red, descubrirla y calcular los caminos m\xc3\xa1s cortos y eficientes dentro de nuestra red. Permite un routing de m\xc3\xbaltiples saltos y por la ruta m\xc3\xa1s corta, esto facilita la construcci\xc3\xb3n de redes empresariales m\xc3\xa1s grandes._NEWLINE_STP no permite los bucles de ninguna manera dentro de la Red, sin embardo TRILL si permite en ocasiones tener bucles dentro de la red, si fuese necesario, pero para evitar el efecto negativo hay un campo llamado "Hop Count" que evita que un paquete este de manera indefinida en una red TRILL. _NEWLINE_Gracias a TRILL cada equipo sabe de antemano por que interfaz de salida debe enviar el paquete ya que lo tiene todo en su tabla de enrutamiento. De la misma manera que en los protocolos de enrutamiento de nivel 3. Un paquete de un cliente, conectado a un switch es enrutado internamente y de manera transparente, pudiendo utilizar m\xc3\xbaltiples caminos y manejando los fallos que puedan surgir._NEWLINE_TRILL no bloquea los enlaces, para utilizar los caminos m\xc3\xa1s cortos, como hacen otros protocolos, sino que hay una base de datos con la topolog\xc3\xada de la red, que evita los bucles dejando todos los enlaces activos, y por consiguiente el aprovechamiento de la red es mucho mayor. Disminuyendo el tr\xc3\xa1fico, evitando congestiones\xe2\x80\xa6\n_START_SECTION_\nCaracter\xc3\xadsticas de IP\n_START_PARAGRAPH_\nHoy en d\xc3\xada casi todas las aplicaciones trabajan a nivel IP, entonces, \xc2\xbfPor qu\xc3\xa9 no cambiar todos los dispositivos de capa 2, por routers de capa 3?_NEWLINE_La respuesta es sencilla, los dispositivos de capa 3 tienen que tener una ip asignada a cada una de las interfaces en las que hay conectado un equipo f\xc3\xadsico, ya sea un dispositivo final o un nodo interno de la red. Como hemos comentado anteriormente, el n\xc3\xbamero de ips es limitado, hasta el punto de que las direcciones IPv4 est\xc3\xa1n llegando al l\xc3\xadmite, y por ello se est\xc3\xa1 empezando a utilizar IPv6 que nos permite un rango de direcciones much\xc3\xadsimo mayor que con IPv4._NEWLINE_Para evitar esta sobrecarga de utilizaci\xc3\xb3n de direcciones IP, se utilizan equipos de Capa 2 para montar las redes, de manera que el encaminamiento interno se realiza en capa 2, y no se utilizan las ips.\n_START_SECTION_\nTRILL\n_START_PARAGRAPH_\nLos RBridges ejecutan un protocolo de enrutamiento de estado de enlace, cada uno de ellos tiene informaci\xc3\xb3n de la topolog\xc3\xada, sabiendo todos los RBridges que componen la red. Gracias a esto pueden calcular las rutas m\xc3\xa1s cortas y pueden generar \xc3\xa1rboles para generar tr\xc3\xa1fico multicast._NEWLINE_Para poner un ejemplo. Imaginemos una red en la que tenemos un host Destino (D), host Fuente (S) y dos RBridges RB1 y RB2._NEWLINE_Si RB1 recibe el paquete de D hacia S , encapsula la trama con una cabecera TRILL, dirigi\xc3\xa9ndolo hacia el RB2. Esta cabecera contiene un campo \xe2\x80\x9cRBridge entrada\xe2\x80\x9d (RB1) un campo \xe2\x80\x9cRBridge salida\xe2\x80\x9d (RB2) y un n\xc3\xbamero de saltos. _NEWLINE_Cuando RB2 recibe el paquete de RB1, elimina la cabecera TRILL y se lo entrega al destino.\n_START_SECTION_\nCabecera TRILL\n_START_PARAGRAPH_\nLos principales campos de la cabecera TRILL son:_NEWLINE_-Versi\xc3\xb3n (2 bits)_NEWLINE_-Reservado (2 bits)_NEWLINE_-Multidestino (1bit)_NEWLINE_-Longitud de la cabecera (5 bits)_NEWLINE_-Hop Count (6bits)_NEWLINE_-Nickname del RBridge de entrada (16 bits)_NEWLINE_-Nickname del RBridge de salida (16 bits)_NEWLINE__NEWLINE_A continuaci\xc3\xb3n podemos ver la distribuci\xc3\xb3n de los distintos campos en la cabecera.\n_START_SECTION_\nAprender ubicaciones\n_START_PARAGRAPH_\n\xc2\xbfC\xc3\xb3mo sabe RB1 a que RB debe entregarlo?. Para ello los RBridges deben llenar sus tablas de correspondencia._NEWLINE_Cuando RB1 recibe la trama con destino D, busca en su tabla si tiene el camino hasta el destino. Si no lo tiene, encapsula el paquete con una cabecera TRILL con el campo multidestino activado, y env\xc3\xada la trama a todos los RB\xe2\x80\x99s que tenga conectados._NEWLINE_Cuando RB2 recibe la trama, la desencapsula y realiza el mismo procedimiento que RB1, pero en este caso, D est\xc3\xa1 conectado a RB2 directamente por lo que lo entregar\xc3\xada al destino._NEWLINE_En este proceso RB1 ha \xe2\x80\x9caprendido\xe2\x80\x9d por d\xc3\xb3nde tiene que enviar todo lo que vaya hacia D.\n_START_SECTION_\nProtocolo de estado de enlace\n_START_PARAGRAPH_\nEl protocolo de estado de enlace es un protocolo de enrutamiento en el que cada Router establece cual es su vecino, y todos los Routers entre s\xc3\xad, se env\xc3\xadan informaci\xc3\xb3n del tipo \xe2\x80\x9cSoy R1 y mis vecinos son R2 (con coste x), R3 (con coste y) y R4 (con coste z)\xe2\x80\x9d_NEWLINE_Los protocolos de estado de enlace m\xc3\xa1s extendidos son IS-IS y OSPF._NEWLINE_Trill utiliza IS-IS ya que es utilizado por muchos ISP (proveedores de servicios de internet). IS-IS permite incluir campos adicionales, y se ejecuta directamente en capa 2, mientras que OSPF se ejecute sobre IP y requiere que todos los nodos tengan asignadas direcciones IP\xe2\x80\x99s._NEWLINE__NEWLINE_Como podemos ver en la imagen que hay a continuaci\xc3\xb3n los Routers almacenan en su tabla sus vecinos y los costes para llegar a ellos.\n_START_SECTION_\nApodos\n_START_PARAGRAPH_\nCon el protocolo TRILL, los RBridges necesitan un \xe2\x80\x9capodo\xe2\x80\x9d \xc3\xbanico, para poder identificarse dentro de la red._NEWLINE_Si dos RBridges eligen el mismo \xe2\x80\x9capodo\xe2\x80\x9d tiene lugar un juego de desempate bas\xc3\xa1ndose en su prioridad. El RBridge con menor prioridad, deber\xc3\xa1 elegir otro apodo._NEWLINE_Tambi\xc3\xa9n es posible elegir el apodo manualmente, en ese caso, tendr\xc3\xa1 mas prioridad el apodo manual que el elegido de forma aleatoria.\n_START_SECTION_\nBridges y RBridges\n_START_PARAGRAPH_\nGracias al protocolo TRILL, los Bridges pueden ser sustituidos por RBridges, e incluso pueden usarse simult\xc3\xa1neamente sin necesidad de cambiar todos._NEWLINE_En este caso los RBridges encaminaran los paquetes y los Bridges se limitan a hacer su trabajo, reenviar el tr\xc3\xa1fico. De esta manera se puede conseguir una topolgia particionando el \xc3\xa1rbol de expansi\xc3\xb3n en topolog\xc3\xadas de \xc3\xa1rbol m\xc3\xa1s peque\xc3\xb1os. _NEWLINE__NEWLINE_A continuaci\xc3\xb3n mostramos un ejemplo de una red configurada con RBridges.\n_START_SECTION_\nTipos de enlaces y cabecera Hop-by-Hop\n_START_PARAGRAPH_\nAdem\xc3\xa1s de la cabecera TRILL explicada con anterioridad, este protocolo incluye informaci\xc3\xb3n del tipo de enlace que une dos RBridges adyacentes._NEWLINE_Pueden ser unidos por enlaces de diferentes tipos de protocolos como por ejemplo un enlace Point to Point (P2P), un t\xc3\xbanel IPSec, Ethernet o MPLS._NEWLINE_Este tipo de informaci\xc3\xb3n se incluye en los mensajes para que los RBridges no interfieran en la comunicaci\xc3\xb3n y puedan encaminar los mensajes de manera transparente._NEWLINE_El campo Hop de la cabecera sirve para evitar bucles no controlados dentro de la topolog\xc3\xada. TRILL puede permitir bucles dentro de un \xc3\xa1rbol si fuese necesario, aunque no es muy com\xc3\xban.\n_START_SECTION_\nVLAN\n_START_PARAGRAPH_\nUna VLAN (virtual LAN o red de \xc3\xa1rea local virtual) es un m\xc3\xa9todo para crear redes l\xc3\xb3gicas independientes dentro de una misma red f\xc3\xadsica. _NEWLINE_Con este m\xc3\xa9todo se pueden crear varias redes virtuales dentro de una misma red. Esto supone que para comunicarse entre las VLANs, hace falta un router que encamine los mensajes desde una VLAN hasta otra._NEWLINE_Las VLANs son muy utilizadas en redes de gran tama\xc3\xb1o, ya que permite estructurar las redes internas por grupos, departamentos de empresas, etc._NEWLINE_Los Bridges pueden tener configuradas diferentes puertos en distintas VLANs. Estos puentes utilizan la etiqueta VLAN de los paquetes para saber donde tienen que enviar el paquete. _NEWLINE_Hay un problema con las VLANs y los posibles bucles no controlados que se pueden generar con el protocolo TRILL. Si hay dos RBridges en el mismo enlace, es muy importante que solo uno de ellos pueda encapsular el paquete con la cabecera TRILL, ya que ambos RBridges entregar\xc3\xadan el mismo paquete al host final por duplicado._NEWLINE_Esto no es un problema tan grave, pero si el paquete recibido por los RBridges es multicast, habr\xc3\xada un problema._NEWLINE_El motivo es que ambos RBridges desencapsular\xc3\xadan los paquetes y los reenviar\xc3\xadan sin encapsular. En la imagen que viene a continuaci\xc3\xb3n, podemos ver como R1 mandar\xc3\xada a R2 el paquete sin encapsular, y R2 se lo enviar\xc3\xada a R1. Al no llevar la cabecera TRILL, el capo HOP no est\xc3\xa1 contenido en los paquetes._NEWLINE__NEWLINE_En la siguiente imagen tenemos un ejemplo de un bucle que podr\xc3\xada producirse, de tal forma que el campo Hop Count no tendr\xc3\xada efecto._NEWLINE__NEWLINE_En este punto entra el concepto de RBridge designado, este es el que se encarga de encapsular/desencapsular tr\xc3\xa1fico para un conjunto de VLANs. _NEWLINE_El encargado de realizar la tarea de designar el designado es el protocolo IS-IS nombrado anteriormente. Este RBridge designado puede delegar tareas a otros RBridges para que realicen el mismo trabajo y hacer un reparto de carga si fuese necesario._NEWLINE_De esta manera, si R1 fuese el designado, R2 sabr\xc3\xada que el no tiene que encapsular el paquete, sin embargo R1 si, y el paquete llegar\xc3\xada con el campo HOP a R2 y al llegar a cero R1 o R2 lo desechar\xc3\xadan evitando as\xc3\xad el bucle.\n_START_SECTION_\nLa uni\xc3\xb3n entre VLAN y TRILL\n_START_PARAGRAPH_\nTRILL trata a las VLANs como una manera de dividir dos nodos finales. Esto es un problema ya que entonces 2 RBridges conectados en un mismo enlace Ethernet, solo podr\xc3\xadan enviar tr\xc3\xa1fico de la VLAN a la que ellos pertenezcan._NEWLINE_Para solucionar esto, se utiliza el RBridge Designado. \xc3\x89l puede encapsular tr\xc3\xa1fico para todas las VLANs._NEWLINE_Otro trabajo de este DRBridge, es crear una VLAN para todos los RBridges, as\xc3\xad todos los RBridges recibir\xc3\xa1n tramas destinadas a sus VLANS y ellos lo \xc3\xbanico que tienen que hacer es mirar la VLAN (interna) a la que pertenece ese paquete, y entregarlo al destino correcto.\n_START_SECTION_\nModificaci\xc3\xb3n del protocolo \xe2\x80\x9cHello\xe2\x80\x9d\n_START_PARAGRAPH_\nEs un mensaje \xe2\x80\x9chello\xe2\x80\x9d que se intercambian los Ruters. Este mensaje es utilizado por el protocolo IS-IS y contiene informaci\xc3\xb3n de los vecinos de los routers, y de los vecinos de otros._NEWLINE_Un ruter R2 no se considerar\xc3\xa1 un vecino de R1 sino recibe sus \xe2\x80\x9chello\xe2\x80\x9d._NEWLINE_El problema es que en el momento en el que hay un RBridge designado , R2 ignorar\xc3\xa1 todas las conexiones con otros routers para que las conectividades entre ellos no sean bidireccionales._NEWLINE_IS-IS tuvo que cambiar ligeramente su protocolo para adaptarse a TRILL. Los mensajes de hello eran rellenados hasta un tama\xc3\xb1o m\xc3\xa1ximo. Esto era porque era posible que hubiese entre medias de R1 y R2 otro hardware capaz de procesar y reenviar paquetes de tama\xc3\xb1os peque\xc3\xb1os, y para evitar eso se mandaban con el tama\xc3\xb1o m\xc3\xa1ximo. El paquete solo puede ser fragmentdo por R1, su creador, y de esta manera solo lo podr\xc3\xa1n recibir y procesar los Routers vecinos. El resto de elementos de la red se limitar\xc3\xa1n a reeniviarlo._NEWLINE_Esto tuvo que cambiar, porque como en TRILL solamente un RBridge es establecido como designado, y es el \xc3\xbanico que puede encapsular y desencapsular tramas de todos los tipos de VLAN. El problema es que, si se recibe un mensaje hello, que tiene el tama\xc3\xb1o m\xc3\xa1ximo del tama\xc3\xb1o de Ethernet, cuando el RBridge le introduce la cabecera de la VLAN, el tama\xc3\xb1o de la trama excede el m\xc3\xa1ximo, y no puede ser fragmentado porque como hemos dicho anteriormente solo el router que genera el mensaje \xe2\x80\x9chello\xe2\x80\x9d puede fragmentarlo. Por lo que R2 nunca recibir\xc3\xa1 el mensaje y no podr\xc3\xa1 ser configurado como vecino de R1._NEWLINE_Los cambios que IS-IS tuvo que introducir fueron:_NEWLINE_-Limitar el tama\xc3\xb1o de los \xe2\x80\x9chello\xe2\x80\x9d, sin rellenarlos al m\xc3\xa1ximo tama\xc3\xb1o Ethernet._NEWLINE_-Elegir al RBridge Designado solamente en la prioridad, y no en la conectividad._NEWLINE_-Enviar los paquetes de sondeo en diferentes tama\xc3\xb1os, con esto resuelve el problema de tener m\xc3\xa1s de un RBridge designado y tambi\xc3\xa9n permite localizar los enlaces que permiten \xe2\x80\x9cjumbogram\xe2\x80\x9d._NEWLINE_Jumbogram es una opci\xc3\xb3n que permite que la longitud m\xc3\xa1xima de los datos transportados por IPv6 (16 bits, 65.535 bytes), se extienda hasta 64 bits. Tambi\xc3\xa9n tienen la peculiaridad de que estos paquetes no pueden ser fragmentados._NEWLINE_Hubo bastante confusi\xc3\xb3n por parte de IS-IS por tener que adaptar su protocolo para TRILL ya que IS-IS lleva d\xc3\xa9cadas funcionando sin necesidad de cambiarse. Pero finalmente se cambi\xc3\xb3 en la RFC de manera oficial.\n_START_SECTION_\nTramas Multidestino\n_START_PARAGRAPH_\nTRILL en sus principios estaba pensado para manejar un \xc3\xbanico \xc3\xa1rbol dentro de la topolog\xc3\xada, y de esta manera las tramas multicast se enviar\xc3\xadan por la totalidad del \xc3\xa1rbol. Esa idea se cambi\xc3\xb3 y se realizaron m\xc3\xbaltiples \xc3\xa1rboles dentro de la misma topolog\xc3\xada._NEWLINE_El RBridge designado es la ra\xc3\xadz de cada uno de los \xc3\xa1rboles y \xc3\xa9l se encarga de informar a cada \xc3\xa1rbol que \xc3\xa1rboles hay configurados. El Rbridge se auto asignar\xc3\xa1 un apodo diferente para cada \xc3\xa1rbol al que pertenezca._NEWLINE_Todos los \xc3\xa1rboles se dise\xc3\xb1ar\xc3\xa1n con las rutas m\xc3\xa1s cortas y de menor coste._NEWLINE_Las tramas multidestino lo \xc3\xbanico que tienen que llevar es informaci\xc3\xb3n del \xc3\xa1rbol que tiene que ser utilizado para su difusi\xc3\xb3n.\n_START_SECTION_\nFiltrado\n_START_PARAGRAPH_\nTRILL ofrece un filtrado de capa 2 basado en direcciones MAC. Para ello los Bridges anuncian el conjunto de direcciones MAC que desea recibir._NEWLINE_Gracias a este filtrado, las tramas multidestino se procesan de diferentes maneras:_NEWLINE_-Si el puerto en el que R recibe el paquete no est\xc3\xa1 incluido en el \xc3\xa1rbol de R2, se descarta el paquete._NEWLINE_-Si el puerto en el que R recibe el paquete est\xc3\xa1 en el \xc3\xa1rbol de R2, pero R1 no aparece en la lista RPF para ese puerto, se descarta el paquete._NEWLINE_-Sin embargo si el puerto en el que se recibe, est\xc3\xa1 incluido en el \xc3\xa1rbol, y a parque esta en la lista RPF, el paquete se reenviar\xc3\xa1 correctamente.\n_START_SECTION_\nImplementaci\xc3\xb3n\n_START_PARAGRAPH_\nCISCO est\xc3\xa1 lanzando Fabric Path, una tecnolog\xc3\xada basada en TRILL pero con capacidades adicionales. Es de esperar que m\xc3\xa1s fabricantes incorporen la funcionalidad de este protocolo, como es el caso de Brocade que basa su arquitectura BrocadeOne en el protocolo TRILL.  Versiones no son implementaciones interoperables y de propiedad.\xe2\x80\x8b\xe2\x80\x8b\xe2\x80\x8b\n_START_SECTION_\nEl posible futuro de TRILL\n_START_PARAGRAPH_\n\xc3\x89stos son s\xc3\xb3lo dos posibles mejoras para las que TRILL deber\xc3\xada ser considerado:_NEWLINE_Los centros de datos requieren m\xc3\xa1s VLAN de las que se pueden configurar con los 12 bits de una \xc3\xbanica etiqueta VLAN. Una extensi\xc3\xb3n de TRILL incluye la capacidad de codificar 24 bits en una trama. Por lo tanto la cantidad de VLAN que se pueden configurar en una sola trama es much\xc3\xadsimo mayor._NEWLINE_En redes campus con TRILL. La lista LSP ser\xc3\xa1 m\xc3\xa1s peque\xc3\xb1a, sus c\xc3\xa1lculos para encontrar los caminos m\xc3\xa1s cortos ser\xc3\xa1n mucho m\xc3\xa1s r\xc3\xa1pidos y se tendr\xc3\xa1n que realizar con menos frecuencia. Esto har\xc3\xa1 que la capacidad de la red mejore.'