Redes de Computadores II - UFRJ
Transparent Interconnection of Lots of Links
Prof: Luís Henrique M. K. Costa

Introdução


Na camada 2 da internet foi criado o chamado STP (Spanning Tree Protocol) para se ter caminhos redundantes. Esse protocolo bloqueia dinamicamente alguns enlaces da rede para que não tenha loops na topologia. Entretanto, o STP tinha a desvantagem de que o enlace bloqueado acabava sendo uma largura de banda desperdiçada, ou seja, que era paga e não era utilizada. Com isso e apesar de terem melhorado o protocolo e criado o RSTP (Rapid Spanning Tree Protocol) e o MSTP (Multiple Spanning Tree Protocol), essa melhoria não foi suficiente para evitar alguns problemas de escalabilidade, pois em alguns casos ainda estaríamos não utilizando a largura de banda de alguns enlaces bloqueados.

Dessa forma, foi criado o TRILL (Transparent Interconnection of Lots of Links) como uma tecnologia de substituição de todas as versões do STP. Esse protocolo foi projetado para ser um protocolo de rede local, para fornecer encaminhamento eficiente e escalabilidade em redes Ethernet.

O Protocolo


O segredo por trás desse protocolo é trazer de volta uma específica inteligência de roteador chamado IS-IS (Intermediate System to Intermediate System) que é um protocolo de roteador particular que perdeu lugar para o OSPF (Open Shortest Path First). Muitos dizem que o TRILL é um roteamento de endereço MAC movendo tráfego de switch para switch utilizando a tecnologia de caminho mais curto que é encontrado no IS-IS. Esse protocolo foi escolhido pois ele roda na camada 2 e, portanto, não é necessário configurar os roteadores IS-IS com endereços IP para se configurarem entre eles. Além disso, o cabeçalho é de tamanho flexível, chamado de TLV (Type-Length-Value), sendo um protocolo de fácil extensão. Todos os enlaces estão conectados e ativos, não tendo nenhum bloqueio com roteamento na camada 2, graças a esse protocolo.

RBridges

RBridges, ou Routing Bridges, foram criados para operar com o protocolo TRILL, e vieram para resolver limitações que as tradicionais pontes transparentes e switches enfrentam, especialmente em ambientes de rede grandes e complexos.

As redes Ethernet têm crescido em complexidade e tamanho ao longo dos anos. Isso tornou os métodos tradicionais de roteamento e comutação de camada 2 menos eficientes. As técnicas clássicas, como o protocolo Spanning Tree, têm o efeito indesejado de desativar caminhos redundantes na rede para evitar loops, reduzindo assim a utilização do enlace e a disponibilidade. RBridges foram introduzidos para abordar essas deficiências.

Diferentemente do Spanning Tree, que desativa links redundantes, o protocolo TRILL permite que os RBridges utilizem todos os caminhos disponíveis para roteamento. Isso não apenas aumenta a eficiência da largura de banda, mas também melhora a resiliência da rede, já que há múltiplos caminhos entre qualquer par de nós.

As RBridges funcionam utilizando o protocolo TRILL para criar um mapa da rede, permitindo que cada RBridge conheça a topologia da rede inteira. Isso é essencial para rotear pacotes de maneira mais eficiente e aproveitar todas as rotas disponíveis. A operação básica de um RBridge inclui o encapsulamento, roteamento e desencapsulamento de quadros Ethernet, melhorando assim o fluxo de dados dentro da rede.

As suas principais características são:

Utilização de Link Eficiente: Todos os caminhos entre os nós são utilizáveis, otimizando a largura de banda.

Roteamento Inteligente: Com conhecimento completo da topologia, os RBridges podem determinar o caminho mais curto para cada destino, através da tecnologia do menor caminho.

Alta Disponibilidade: RBridges permitem um balanceamento de carga mais eficaz, tornando a rede mais resiliente a falhas e gargalos.

Compatibilidade: RBridges podem ser introduzidos em uma rede existente sem a necessidade de alterar a infraestrutura já existente.

Cabeçalho

Os quadros que atravessam as RBridges precisam receber o cabeçalho do protocolo TRILL, chamado de TRILL Header. O protocolo ethernet (inner frame) recebe o TRILL Header e é encapsulado por um outro cabeçalho ethernet (outer frame). De uma forma geral, o primeiro RBridge que um quadro unicast encontra, encapsula esse quadro recebido com um cabeçalho TRILL que especifica o último RBridge onde o quadro será desencapsulado. Para economizar espaço no cabeçalho TRILL e simplificar as pesquisas de encaminhamento, um protocolo dinâmico de aquisição de apelidos é executado entre os RBridges para selecionar apelidos de 16 bits para RBridges que são usados para especificar os RBridges de entrada e saída no cabeçalho TRILL.

A seguir, iremos ver cada campo do cabeçalho de forma mais detalhada.

Versão: É um campo de 2 bits onde um RBridge deve verificar esse campo em um quadro encapsulado TRILL recebido. Se esse campo tiver um valor não reconhecido pelo RBridge, então este deve descartar silenciosamente o quadro.

Reservado: É um campo de 2 bits que são reservados para uso futuro em extensões do protocolo. Eles devem ser definidos como zero quando o cabeçalho TRILL é adicionado por um RBridge de entrada, mas ignorado por RBridges de trânsito e ignorado por RBridges de saída.

Multi Destinação: É um campo de 1 bit que indica que o quadro deve ser entregue a uma classe de estações finais de destino através de uma árvore de distribuição e que o campo RBridge de saída específica esta árvore.

Se o bit for igual a 0, o RBridge de saída contém um valor de saída para um endereço MAC unicast conhecido.Se o bit for igual a 1, o RBridge de saída contém um valor que especifica uma árvore de distribuição.

Tamanho da Opção: É um campo de 5 bits que fornece o comprimento das opções do cabeçalho TRILL em unidades de 4 bytes, ou seja, permite até 124 bytes na área de opções (4 bytes são pulados para encontrar o inner frame). Se o campo for zero, não há opções presentes e se as opções estiverem presentes, elas seguem imediatamente após o campo Ingress Rbridge.

Contagem de Saltos: É um campo de 6 bit em que um Rbridge descarta quadros recebidos com uma contagem de saltos zero, caso contrário, diminui a contagem de saltos.

RBridge de Saída: É um campo de 16 bits que ajuda na identificação de uma estação RBridge de origem no processo de encaminhamento de pacotes. Esse campo refere-se a estação RBridge de destino que receberá o pacote.

Ao receber um pacote, o RBridge usa o valor do RBridge de Saída para determinar a próxima etapa do encaminhamento do pacote. Isso garante que o pacote seja encaminhado corretamente ao longo do caminho mais eficiente em direção ao seu destino.

RBridge de Entrada: É um campo de 16 bits que se refere à estação que inicialmente introduz o pacote na rede TRILL. Esse valor ajuda os outros dispositivos TRILL a identificar de onde o pacote se originou e a traçar seu caminho por meio da rede.

O RBridge de Entrada desempenha um papel fundamental na prevenção de loops e garantindo que os pacotes sejam encaminhados de maneira eficiente.

Opção: É um campo opcional de no máximo 992 bits. Para garantir uma operação segura e compatível com versões anteriores, quando esse campo for diferente de zero, indicando que opções estão presentes, os dois bits superiores do primeiro byte da área de opções são especificados da seguinte forma:

Se o bit CHbH (Critical Hop-by-Hop) for 1, uma ou mais opções críticas hop-by-hop estarão presentes. Se o bit CHbH for 0, o quadro é seguro, do ponto de vista do processamento de opções, para um RBridge de trânsito encaminhar para frente.

Se o bit CItE (Critical Ingress-to-Egress) for 1, uma ou mais opções críticas de entrada para saída estarão presentes. Se for 0, tais opções não estão presentes.

Se CHbH ou CItE for diferente de zero, um RBridge que não suporta nenhuma opção deve descartar o quadro.

Os bits Reserved incluem provisões para opções salto a salto e de entrada para saída, bem como opções críticas e não críticas.

Funcionamento

O TRILL tem a ideia de ser compatível com uma ponte ou com as RBridges, de maneira que a rede se comporte exatamente como antes e ainda construa caminhos melhores para os pacotes, com menos loops e mais confiabilidade, e fazer isto sem exigir mais configurações.

É necessário que seja usado um protocolo de estado do enlace para o funcionamento do TRILL, e a escolha foi o IS-IS (Intermediate System - Intermediate System). Isto se deve ao fato de ser mais simples e permitir que campos sejam adicionados sem muita dificuldade. E além disso ele trabalha na camada 2 e não requer que sejam definidos endereços IP para os roteadores na rede. Funciona da seguinte forma: você descobre quem são os roteadores vizinhos, cada um constrói um LSP (Link State Package) que contém o nó raíz e os vizinhos deste nó, e envia para todos os roteadores. Todos os roteadores na rede têm que armazenar o último LSP recebido de cada nó.Desta maneira você conhece a topologia da rede completa. Assim é utilizado um algoritmo para computar os caminhos dada essa topologia.

Para economizar espaço no cabeçalho, o nome das RBridges não têm endereços de 6 bytes e sim um de 2 bytes escolhido dinamicamente através de um algoritmo que roda no protocolo de estado do enlace. A escolha é aleatória e compara com os nomes dos outros nós na rede para certificar que não existam dois nós com o mesmo nome.

O pacote no TRILL é encapsulado dentro de um cabeçalho Ethernet, já que a ideia é substituir as pontes para as RBridges. Caso um pacote saia de uma RBridge e chegue numa ponte comum, ela saberá o que fazer com este pacote.

Com estas definições os pacotes são encaminhados assim como seriam numa rede comum com roteadores, a diferença é que ao invés de um endereço IP, o próximo pulo é o nome de uma RBridge.

Um problema enfrentado é que seria ruim se houvesse duas RBridges encapsulando e desencapsulando os pacotes, pois isso poderia causar loops. Então para se certificar que só tenha uma RBridge que faça isso, uma delas é designada para fazer este trabalho. O IS-IS já tem uma escolha de roteador designado construído no protocolo e isto é utilizado para criar uma RBridge designada também.

A RBridge aprende os nós de destino através dos pacotes de dados recebidos e monta suas árvores geradoras. Com essas árvores geradoras, a primeira RBridge escolhe a árvore pela qual vai mandar os pacotes e especifica através do campo Egress RBRidge do cabeçalho. A quantidade de árvores geradoras que cada RBridge terá, é definida por cada uma delas, porém a RBridge de maior prioridade diz para todas as outras que elas só usarão 8 árvores. Estas 8 árvores são ranqueadas de acordo com a prioridade e ID que toda RBridge possui. No caso de multicast é possível passar parâmetros para um algoritmo que permite que essas 8 árvores sejam selecionadas através de quão próximo a raíz da próxima RBridge está do nó atual, e podem ser escolhidas as melhores rotas a partir disto.

Utilização


O protocolo TRILL é empregado em diversos cenários de rede onde a escalabilidade e eficiência de utilização da largura de banda são críticas. Empresas que gerenciam grandes centros de dados são usuários frequentes do TRILL, pois ele permite um uso mais eficiente da infraestrutura existente, evitando gargalos e facilitando o gerenciamento de tráfego de rede. Os fabricantes de equipamentos de rede, como switches e roteadores, também integram o protocolo TRILL em seus produtos, proporcionando aos clientes uma solução pronta para redes de alta densidade e com múltiplos caminhos.

Além disso, o protocolo é bastante adotado em ambientes de cloud computing e serviços de armazenamento que necessitam de alta disponibilidade e resiliência. O TRILL é ideal para garantir a redundância de caminhos e evitar pontos únicos de falha em redes complexas.

No contexto acadêmico e de pesquisa, o TRILL é objeto de estudo para otimização de algoritmos de roteamento e segurança de rede. Universidades e institutos de pesquisa exploram o protocolo para desenvolver novas metodologias de roteamento e segurança que possam ser aplicadas em larga escala.

Em termos de setores industriais, empresas de telecomunicações e provedores de serviços de internet recorrem ao TRILL para melhorar a eficiência de suas redes, o que é crucial para suportar o crescente tráfego de dados e a demanda por serviços de banda larga mais rápidos e confiáveis.

Conclusão


O protocolo TRILL (Transparent Interconnection of Lots of Links) representa uma inovação crucial na gestão de redes Ethernet de camada 2. Ele supera as limitações dos protocolos tradicionais, como o Spanning Tree Protocol (STP), ao incorporar o roteamento eficiente do Intermediate System to Intermediate System (IS-IS). Isso permite o uso de todos os caminhos disponíveis na rede, eliminando o desperdício de largura de banda e melhorando a resiliência. As RBridges (Routing Bridges) desempenham um papel fundamental no funcionamento do TRILL, permitindo que as redes Ethernet se adaptem às crescentes demandas de complexidade e tamanho, aproveitando efetivamente os links disponíveis e mantendo a compatibilidade com infraestruturas existentes. O cabeçalho TRILL fornece informações essenciais para o encaminhamento eficiente de pacotes, garantindo uma operação segura e eficaz. Em resumo, o TRILL e as RBridges representam uma solução moderna e eficaz para as redes Ethernet de hoje, superando desafios de escalabilidade e eficiência de largura de banda.

Perguntas & Respostas


P1. Qual era a desvantagem do protocolo STP que resultou na criação do protocolo TRILL?

R: No STP o enlace bloqueado acabava sendo uma largura de banda desperdiçada, ou seja, que era paga e não era utilizada. Já com o TRILL, é aproveitado a largura de banda de todos os enlaces.

Resposta


P2. Quais são as operações básicas em um quadro Ethernet no RBridge e qual a importância dessa sequência de operações?

R: Encapsulamento, roteamento e desencapsulamento de quadros Ethernet, melhorando assim o fluxo de dados dentro da rede.

Resposta


P3. Cite os dois motivos pelo qual foi utilizado o protocolo IS-IS no TRILL.

R: Roda na camada 2 e, portanto, não é necessário configurar os roteadores IS-IS com endereços IP para se configurarem entre eles. E o cabeçalho é de tamanho flexível, chamado de TLV (Type-Legth-Value), sendo um protocolo de fácil extensão.

Resposta


P4. Cite dois tipos de organizações que utilizam protocolo TRILL?

R: Fabricantes de equipamentos de rede e empresas de telecomunicações.

Resposta


P5. Como as RBridges contribuem para melhorar a eficiência e resiliência das redes Ethernet ao operar em conjunto com o protocolo TRILL?

R: As RBridges permitem que as redes Ethernet aproveitem ao máximo os caminhos disponíveis eliminando as limitações de protocolos tradicionais. O TRILL permite que as RBridges usem todos os caminhos disponíveis para roteamento.

Resposta

"Este trabalho foi totalmente produzido pelos autores que declaram não terem violado os direitos autorais de terceiros, sejam eles pessoas físicas ou jurídicas. Havendo textos, tabelas e figuras transcritos de obras de terceiros com direitos autorais protegidos ou de domínio público tal como ideias e conceitos de terceiros, mesmo que sejam encontrados na Internet, os mesmos estão com os devidos créditos aos autores originais e estão incluídas apenas com o intuito de deixar o trabalho autocontido. O(s) autor(es) tem(êm) ciência dos Artigos 297 a 299 do Código Penal Brasileiro e também que o uso do artifício de copiar/colar texto de outras fontes e outras formas de plágio é um ato ilícito, condenável e passível de punição severa. No contexto da Universidade a punição não precisa se restringir à reprovação na disciplina e pode gerar um processo disciplinar que pode levar o(s) aluno(s) à suspensão;"