3 ARQUITETURA RINA
3.2 Componentes da Arquitetura RINA
DAF (Distributed Aplication Facility) - é uma coleção de dois ou mais processos de aplicação cooperando em um ou mais sistemas de processamento, que trocam informações usando o IPC, e mantendo o estado compartilhado da comunicação. O DAF opera sobre um DIF para gerenciá-lo e seus membros são chamados DAP´s Distributed Application Process. Dois ou mais DAP’s compõem uma aplicação distribuída composta por dois ou mais processos de aplicação que cooperam na execução de alguma função. A Figura 3.2 apresenta a relação dos componentes e a sua estrutura interna.
Figura 3.2: Estrutura DAF, DAP e IPCP.
Fonte: (RINA, 2015)
As DAF´s se dividem em duas classes: DAF´s homogêneas, onde todos os processos de aplicação (AP´s) que constituem o conjunto são do mesmo tipo, e DAF´s heterogêneas onde os AP´s que constituem a DAF são de tipos diferentes.
DAF´s são divididos em três submódulos:
- Processos de Aplicação
Que contêm um ou mais “Entidades de Aplicação” (AE), que representa pontos de terminação IPC;
- IPC Resource Manager
Responsável por interligar AP´s e IPCP´s disponíveis, através da consulta ao módulo DA (DIF Allocator) para encontrar o IPCP adequado e retransmitir a comunicação entre AE e IPCP.
- DIF Allocator
Se encarrega de localizar um aplicativo de destino com base em seu nome, e leva informações de controle de acesso, e como resultado de sua busca, retorna uma lista de nomes de DIF´s através dos quais o aplicativo solicitado está disponível.
DIF (Distributed IPC Facility) - é uma estrutura que organiza os processos de aplicação de maneira agrupada. É o que podemos chamar de camadas. É concebido para operar entre múltiplos sistemas impondo limites de atuação para cada camada, ou seja, o que acontece dentro do DIF não é visível fora dele (MATTA; DAY, 2013). Na arquitetura RINA os membros de um DIF, são processos de aplicação, que possuem nomes de aplicação, esses processos de aplicação em sistemas distintos, podem se comunicar usando os serviços fornecidos por um DIF. Em resumo, o DIF é uma aplicação distribuída que consiste em pelo menos um processo IPC em cada sistema de processamento participante daquele DIF.
As políticas implementadas nos DIF´s podem ser ajustadas e instanciadas dinamicamente, de acordo com as condições da rede. Os DIF´s possuem níveis, conhecidos por: (N) -DIF, (N + 1) -DIF, (N - 1) -DIF, dentre outros, como apresentado na Figura 3.3. Um (N)-DIF, por exemplo, pode conhecer apenas os nomes de processos IPC em um (N + 1)–DIF, e um (N + 1)-DIF pode utilizar um (N)-DIF. Já o (N - 1)-DIF é o DIF utilizado por um (N)– DIF.
Figura 3.3: Níveis de DIF´s na Arquitetura RINA.
De acordo com (TROUVA et al., 2012), os DIF´s de primeiro nível operam em cima de um meio físico e suas políticas são otimizadas para lidar com as características do meio físico. Os DIF´s de primeiro nível fornecem serviços IPC a DIF´s de segundo nível, e assim por diante. Os protocolos em cada DIF são os mesmos, eles apenas usam políticas diferentes para atender a requisitos particulares. Por fim, os DIF´s executam um conjunto coordenado de mecanismos gerenciados por políticas para alcançar o serviço IPC desejado, ao invés de um único mecanismo presente no modelo atual em camadas da arquitetura TCP/IP (POSTEL, 1981).
Ainda com base na Figura 3.3 temos os Hosts que são os dispositivos finais para cada IPC e que contêm as AE´s “Entidade de Aplicação” na camada superior que são responsáveis por gerenciar as aplicações com dois ou mais níveis DIF das camadas inferiores. Temos também os roteadores internos, que são dispositivos intermediários responsáveis por interligar as camadas (N)-DIF com as outras camadas (N-1)-DIFs. Por fim, temos os roteadores de borda, que são interligados aos (N)-DIF via (N-1) DIFs, onde alguns (N-1)-DIFs são alcançáveis somente através de (N-2)-DIFs. Esses roteadores são responsáveis por empregar três ou mais níveis de DIF´s.
IPC (Inter Process Comunication) – é uma instância dentro de uma DIF, que permite que o sistema se comunique com outros membros na mesma DIF. A seguir, serão descritos os principais componentes do processo IPC.
RIB Daemon É uma Base de Informação lógica que, de acordo com (MATTA; DAY,
2013), mantém o estado compartilhado das instâncias de comunicação entre aplicativos.
Cada processo IPC tem uma RIB, que armazena todas as informações disponíveis para o processo IPC, tais como informações de alocação de recursos, nomes de aplicativos, mapeamento de endereços e fluxos estabelecidos, representados como objetos. Essas informações são disponibilizadas e atualizadas através do componente RIB Daemon, que é um repositório lógico para informações relacionadas ao estado do DIF e o Processo IPC em particular que tem a função de sincronizar o estado entre os diferentes subconjuntos de membros do DIF, em sua base de dados.
RMT (Relaying and multiplexing) São módulos que proveem tarefas de repasse e
multiplexação, e fazem parte do processo de transferência de dados de uma DIF. Ou seja, é usado para encaminhar as mensagens das PDU´s de instâncias EFCP (Error and Flow Control Protocol) que é o protocolo de transferência de dados da RINA, de um processo IPC para outro, multiplexando seus fluxos.
No RMT são aplicadas as políticas de qualidade de serviço (QoS – Quality of Service) que, em conjunto com informações de roteamento, se encarregam de estabelecer as regras e parâmetros necessários para o encaminhamento das PDU´s (SOCIETY, 2013). Essas informações ficam armazenadas em uma tabela de encaminhamento de PDU, como pode ser visto na Figura 3.4, a qual contém a identificação do fluxo para a porta de um (N-1)- DIF, para que a PDU possa ser enviada, bem como as políticas de QoS a serem aplicadas.
Figura 3.4: Estrutura do RMT.
Fonte: (RINA, 2015)
Os RMT´s podem ser caracterizados de três formas, a depender de onde eles atuem na arquitetura.
Realiza retransmissão e multiplexação na camada "superior" dos roteadores internos;
Realiza retransmissão e multiplexação de agregação encontrada principalmente na camada mais alta, de topo dos roteadores de fronteira.
RA (Resource Allocator) – a partir do instante que é atribuído a um DIF políticas de qualidade de serviço, então vários fluxos terão que ser alocados, com diferentes políticas. O alocador de recursos apresentado em (RINA, 2015) é o núcleo “cérebro” da gestão num processo IPC, e algumas de suas funções são: fazer a modificação de parâmetros de política de transferência de dados, através da criação e exclusão de classes de QoS, bem como exercer um monitoramento da operação do processo IPC fazendo ajustes em seu funcionamento.
O alocador de recursos é capaz de lidar com o gerenciamento de vários recursos IPCP permitindo que uma DIF possa suportar diferentes políticas de qualidade de serviço.