• Nenhum resultado encontrado

3 KeyFlow:Conectividade Virtual Fabric para o Núcleo de Redes Definidas por

3.5 O Plano de Dados KeyFlow

O plano de dados da rede KeyFlow tem a única preocupação de transportar pacotes entre os nodos de borda da rede. Após a fase de inicialização realizada pelo plano de controle, o conjunto de melhores caminhos entre elementos da borda da rede fica disponível no controlador da rede. Este conjunto pode ser representado por uma tabela de rótulos para cada relação origem-destino entre elementos de borda. Estes rótulos são instalados na borda de maneira pró-ativa, reativa ou

de forma híbrida, com os caminhos mais comuns instalados no comutador de borda e os menos comuns obtidos via protocolo de interação comutador-controlador.

Os elementos de núcleo definem a porta de saída de cada pacote pela aplicação direta da função matemática ”resto da divisão” entre o rótulo existente no pacote/quadro e a chave local instalada no comutador. O resultado desta operação determina a porta de saída do pacote. A Fig. 3.1 ilustra o mecanismo de encaminhamento da rede fabric. A partir de dois domínios de rede conectados à núvem fabric, os pacotes chegam ao comutador OpenFlow na borda. Na abordagem reativa ilustrada, um evento OpenFlow ”packet in” é gerador para o controlador, que responde com a regra de alteração do pacote com inserção do rótulo nas bordas relacionadas ao caminho do fluxo. Este rótulo é armazenado nas tabelas de fluxo. Na origem para modificar o pacote e no destino para regenera-lo na entrega às redes clientes conectadas.

Na Fig. 3.1, o caminho definido para a rede do Domínio A passa pelos nodos #4, #7 e #5. Para o domínio B o caminho definido é o #4, #3 e #5. O algoritmo para comutação da chave com a função geratriz dos rótulos encontra-se no apêndice A.1. A política de escolha dos caminhos para cada domínio fica inteiramente a critério do controlador da rede, no exemplo da figura, apesar da existência do caminho direto entre os nodos #4 e #5, os fluxos seguem caminhos totalmente separados e independentes.

Para o caso de falhas nos caminhos escolhidos, uma vez detectados pelo plano de controle, a recuperação se passa pela sinalização da falha junto as bordas. Isso pode ser feito pela alteração da regra de um caminho para outro, ou pela utilização de um rótulo sobressalente que definirá em tempo real o caminho alternativo para o fluxo, ou seja, a informação de caminho alternativo já estará disponível no elemento de comutação e poderá se aplicado diretamente pelo comutador quando da identificação de evento de queda de enlace em uma de suas portas.

Com a utilização da rede fabric, se reduz significativamente o volume de estados instalados nos elementos de encaminhamento. Com isso, espera-se uma redução na latência de processa- mento duranteo o encaminhamento dos pacotes. Além disto, em termos práticos a organização da rede para provimento de serviço de conectividade pode estar organizada como na Figura 3.2. O projeto físico do esquema exposto na Fig. 3.1, pode ser organizado na prática em três camadas, sobrepostas obviamente à infraestrutura de transmissão de bits, ilustradas pela cone- xão direta entre os comutadores Keyflow na Fig 3.2. A camada de operacionalização da rede de núcleo fabric é interconectada pelo arranjo de enlaces físicos disponíveis. Sobre esses equi- pamentos, instala-se a camada de rede de borda, que é responsável pela interface de acesso das redes clientes com a infraestrutura de transporte de pacotes da rede KeyFlow. Nesta camada é concentrada as definições de estado e o controle de acesso aos recursos fabrics. Este controle

1 0 2 2 1 3 2 1 2 1 3 0 4 3 5 7 25 25 25 Fabric Controlador OpenFlow KeyFlow Domínio ADomínio A Domínio ADomínio B 15 15 15 25 15 Domínio ADomínio B 1 2 2 3 3 Evento OF packet-in

OF Flow-Mod para inserção e remoção do rótulo Instalação de Regra: alterar rótulo do fluxo

1 2 3 Comutador de Borda OpenFlow Comutador de Núcleo KeyFlow K Domínio ADomínio A Lista de nodos = [4, 3, 5] Lista de porta de saída = [1, 1, 0]

Função GeraRotulo { [4, 3, 5], [1, 1, 0] } 25 25 mod 4 = 1

25 mod 3 = 1 25 mod 5 = 0

Lista de nodos = [4, 7, 5] Lista de porta de saída = [3, 1, 0]

Função GeraRotulo { [4, 7, 5], [3, 1, 0] } 15 15 mod 4 = 3

15 mod 7 = 1 15 mod 5 = 0

Rota para o Domínio A Rota para o Domínio B

Figura 3.1: Arquitetura para uma rede definida por sofware integrada à solução KeyFlow. pode ser realizado pela utilização de portas lógicas para cada fluxo, que viabilizariam o con- trole da taxa de vazão por fluxo. Essas portas lógicas são vinculadas a porta física diretamente conectada ao comutador KeyFlow. Essa porta física é a porta de saída da rede fabric. A tabela de estados, baseada na tabela de fluxo do comutador OpenFlow, faz o controle da definição de caminhos de saída de cada fluxo. No exemplo da Fig. 3.2, o fluxo parte o elemento de conexão A para o C sem a necessidade de manutenção de estados no elemento B. Com isto, espera-se um custo de manutenção de caminhos mais baixo, uma vez que os elementos provedores de recurso na rede (a borda) têm seus recursos alocados exclusivamente para os fluxos originados ou destinados a eles.

Na visão do usuário conectado à rede de borda, considerando a utilização de rótulo dire- tamente na camada de enlace da conexão, há o estabelecimento de uma adjacência com seus nodos remotos conectados em outra extremidade da rede provedora de conectividade. Caso o

KEY KEY KEY Adjacência lógica Núcleo Fabric Borda de Acesso Domínio Usuário A B C

Figura 3.2: Estrutura de ligação e provimento de serviço de conectividade com o KeyFlow controlador da rede de serviço exponha mecanismos de escolha de caminhos, é possível que o usuário escolha os nodos que deseja conectar diretamente, provendo assim uma forma de programabilidade da estrutura de conexão, sem a necessidade de sobrecarga de sinalização adi- cional na infraestrutura de rede para tal finalidade.

Com a redução da latência de processamento, espera-se que a rede fabric tenha um com- portamento híbrido no processamento dos pacotes com características próximas das redes de circuitos, no que se refere à reduzida variação da latência devido a baixa variabilidade derivada pela não manutenção de estado para definições de comutação.

3.6 KeyFlow e as Tecnologias de Provimento de Conectivi-