7.Frame-Relay

7.1.Introdução

Devido ao crescente aumento nas taxas de transmissão nas redes atuais, as linhas discadas, dedicadas e as redes públicas de comutação de pacotes (X.25), devido aos seus altos retardos e às taxas de transmissão baixas, não se configuram como as melhores opções para conexão. O frame-relay é uma técnica de comutação rápida de pacotes (desenvolvida inicialmente para a RDSI), que visa eliminar uma grande parte do cabeçalho da célula utilizada no X.25, diminuindo o processamento das células nos nós. Vejamos algumas características do X.25, de modo a facilitar o entendimento do frame-relay:

Estas características implicam em um cabeçalho muito grande para as células a serem transportadas. Além disso, o transporte destas células envolve sempre o envio de um reconhecimento de recepção (acknowledgment) da parte de cada nó da rede por onde a célula passa para o nó anterior. O processamento da célula nos nós deve manter, ainda, o circuito virtual compatível com o gerenciador de chamadas e controle de erros/endereços do protocolo. Toda essa complexidade no cabeçalho é necessária devido à susceptividade da informação à influência dos ruídos introduzidos pelos canais da rede. Com o desenvolvimento da tecnologia de transmissão digital e a crescente utilização das fibras ópticas como meio de transmissão (necessária na RDSI-FL devido à largura de faixa), a qualidade da transmissão aumentou muito, de modo que todo esse controle de erros se torna exagerado e subutiliza a capacidade efetiva de altas taxas de transmissão de dados de uma RDSI. Aproveitando isto, o frame-relay visa diminuir o tempo de processamento das células nos nós eliminando uma parte do cabeçalho da célula original X.25. Isso faz com que o frame-relay possua algumas diferenças em relação ao X.25, como: - eliminação completa do nível de rede, pois o roteamento e a multiplexação dos caminhos virtuais ocorrem no nível de enlace;

- não possui campo de controle, de modo que não há o processamento de "acknowledgments", "rejects", mecanismos de janela ou qualquer outro tipo de controle de fluxo (diminuindo o processamento nos nós de comutação da rede);

- não existe controle de erro nem de endereçamento fim-a-fim (estes ocorrem em um nível mais alto, se necessário, porém o controle de erro nó-a-nó foi eliminado totalmente);

- sinalização do controle de chamada transportado num caminho virtual diverso do usuário (nós intermediários não precisam manter seus status ou processar mensagens relativas a controle de chamadas em conexão fim-a-fim).

7.2.Arquitetura Frame-Relay

Na arquitetura frame relay são considerados dois planos distintos: o plano de controle (C) e o plano de usuário (U). O plano de controle diz respeito à conexão e desconexão das conexões lógicas enquanto o plano do usuário envolve a transferência de dados entre assinantes. O protocolo utilizado para transferência de dados entre os usuários finais é o Q.922, que nada mais é do que uma versão melhorada do LAPD (I.441/Q.921). Porém apenas as principais funções do Q.922 são utilizadas pela rede frame relay: - delimitação de quadros, sincronismo e transparência; - multiplexação/demultiplexação de quadros através do campo de endereço; - supervisão dos quadros para mantê-los no tamanho ideal (nem muito grande nem muito pequeno); - detecção de erros de congestionamento; - funções de controle de congestionamento.

* - Funções básicas do Q.922, que não incluem, por exemplo, monitoração do tráfego.

Figura 7.1: Arquitetura do Protocolo Frame Relay

Para o plano do usuário, o Q.922 presta serviços de transferência de dados entre assinantes sem controle de erro nem de fluxo. Já no plano de controle, o Q.922 é utilizado de forma a gerar uma conexão confiável, com controle de fluxo e de erros. Como o controle de erros ocorre em uma camada mais alta, os quadros praticamente não sofrem processamento nos nós da rede. Na figura 7.2 podemos ver uma grossa comparação entre o frame relay e o X.25 e seus processamentos.

+ funções básicas ++ funções avançadas

Figura 7.2: Comparação entre os protocolos X.25 e Frame-Relay

7.3.Controle de chamada do Frame-Relay

Na operação frame-relay, um usuário nunca é conectado diretamente a outro, existe sempre uma ligação entre o usuário e o chamado frame-handler, o que é chamado de conexão de acesso. Existindo esta ligação, é possível multiplexar várias conexões lógicas (conexões frame-relay) sobre esta conexão de acesso, sendo que estas conexões lógicas podem ser discadas ou semipermanentes (nesta, nenhum protocolo de controle de chamada é necessário).

7.3.1.Call control protocol

O protocolo de controle de chamada envolve a troca de mensagens entre o usuário e o frame-handler, sobre uma conexão previamente estabelecida. Há duas maneiras de se enviar uma mensagem do usuário para o frame-handler: * as mensagens são transmitidas em células sobre o mesmo canal de conexão frame-relay, usando a mesma estrutura de quadro desta; * as mensagens são transmitidas em células com formatos diferentes da citada acima (quadros LAPD). Nos dois casos, o conjunto de mensagens é um subconjunto das mensagens utilizadas no protocolo I.451/Q.931, sendo que alguns parâmetros utilizados são diferentes, mas as mensagens utilizadas pelo controle de chamada frame-relay são idênticas às utilizadas pelo controle de conexão de acesso do modo pacote. Algumas mensagens devem ser vistas, como:

Bearer capability: é um parâmetro utilizado para requisitar um serviço de portadora a ser suprido pela rede. Ao contrário de muitas mensagens que passam da fonte para o destino, esta é utilizada pela rede no estabelecimento da conexão.

Link-Layer Core Parameters: relacionado com serviços de troca de dados, esta informação é trocada entre cada usuário final e a rede. Nesta mensagem estão incluídos os parâmetros maximum frame size (tamanho máximo do quadro em bytes - ou octetos - , que pode ser negociado entre os usuários, porém sem ultrapassar o valor máximo permitido), requested/agreed thoughput (número médio de bits de informação transportada por segundo), maximum frame rate value (número máximo de quadros por segundo que podem ser enviados através da interface usuário-rede), burst size (total de quadros acumulados que podem ultrapassar o valor máximo permitido), minimum acceptable thoughput (mínimo de bits que a rede pode suportar; menos que este mínimo a ligação é desfeita).

Link-Layer Protocol Parameters: parâmetros relacionados com a requisição de dados fim-a-fim, entre dois usuários e que ocorre de forma transparente para a rede. Alguns parâmetros aqui incluídos são window value (valor máximo da janela de controle de endereços, podendo ser um valor entre 1 e 127), acknowledgment-timer value (tempo de espera por um reconhecimento antes de uma retransmissão, expresso em décimos de segundos), mode of operation (indica se os números utilizados serão de 3 ou de 7 bits).

7.4.Funcionamento da Rede Frame Relay

O funcionamento de uma rede com suporte para tecnologia frame relay consiste basicamente em rotear os quadros baseado em seus campos de endereço (Data Link Connection Identifier - DLCI). Para entender isso melhor, analisaremos o formato de um quadro frame relay, conforme figura abaixo.

Campo de Endereço -4 octetos

C/R - comando/resposta EA - extensão do campo de endereço DE - indicador de prioridade de descarte BECN - notificação de congestionamento explícito para trás FECN - notificação de congestionamento explícito para frente DLCI - identificador do link de conexão

Figura 7.3: Formatos Frame Relay

Como podemos ver, não existe quadros de controle no frame relay, apenas um tipo de quadro, utilizado para transportar dados do usuário. O campo de endereço possui um comprimento típico de 2 octetos, mas pode ser extendido para 3 ou 4 octetos. É ele quem leva o DLCI, com 10, 17 ou 24 bits. O DLCI tem significado apenas local; após o final de cada conexão local, é atribuída à célula um novo DLCI, ao qual o quadro deve ser encaminhado (caso se desejasse usar o mesmo DLCI até o usuário final, precisaria-se de um gerenciamento global do campo de endereço). O comprimento do campo de endereço depende dos bits EA (Extended Adress). O bit CR não é utilizado pelo protocolo, pois é destinado à aplicação e os bits restantes estão relacionados ao controle de congestionamento (serão discutidos mais à frente). Quando em DLCI tivermos carregado o valor zero, há a conexão entre o FRS e o usuário. DLCI=8191 é exclusivo para procedimentos de gerenciamento. Se quisermos incluir um controle adicional de conexão fim-a-fim, o seu quadro pode ser transportado dentro do campo de informações. Como este protocolo implementado é destinado especificamente para os usuários finais, ele será transparente para a rede.

7.5.Controle de Congestionamento

Um dos parâmetros críticos de um projeto de uma rede frame relay é o controle de congestionamento. Basicamente, uma rede frame relay é uma rede baseada em filas, onde em cada FRS há uma fila de quadros para cada link de saída. Se a taxa em que os quadros chegam e se enfileram for maior que a taxa em que eles podem ser transmitidos, a fila cresce sem limites e o retardo de um quadro é muito alto. Mesmo se a taxa de chegada de quadros é menor do que a taxa de transmissão, a fila crescerá dramaticamente quando as duas taxas tiverem seus valores aproximadamente iguais. Via de regra, quando o espaço em que os quadros são enfileirados atinge mais de 80% de utilização, o comprimento da fila cresce assustadoramente. Consideremos um nó e seus links de saída (transmissão). Como em cada link há quadros chegando e partindo, podemos considerar que existem dois buffers em cada link: um que recebe os quedros e outro que armazena os quadros que esperam para ser transmitidos. Na prática, devem haver dois buffers de tamanho fixo para cada link, ou uma memória comum disponível para todos os processamentos locais envolvendo buffers. Neste caso podemos considerar que cada link possui dois buffers de tamanho variável, sem esquecer que a soma das suas capacidades é constante. De qualquer maneira, os quadros chegam e são armazenados nos buffers de entrada correspondentes e são examinados pelo FRS, que os roteia para os seus buffers de saída correspondentes. Os quadros que estão na fila no buffer de saída são enviados o mais rapidamente possível, mas se os quadros que chegam estão a uma taxa maior do que a capacidade de processamento do FRS (por processamento entende-se, no caso, como as tomadas de decisões de roteamento) ou a taxa maior que a capacidade de eliminação das células dos buffers de saída, os quadros podem chegar sem que haja memória disponível para armazená-los. Quando uma situação de saturação como esta é detectada, podem haver duas maneiras de se lidar com o problema. Uma é simplesmente eliminar os quadros enviados que não puderem ser armazenados (desde que haja possibilidade de retransmissão). A outra é o que chamamos realmente de "controle de congestionamento". Esta técnica consiste em limitar a taxa de entrada de quadros, quando se está na eminência de um congestionamento.

(a) Demanda

(b) Atraso

Figura 7.4: Efeitos do Congestionamento

Podemos ver pelos gráficos o efeito do congestionamento de uma maneira geral. O primeiro mostra a relação entre a demanda da rede (número de quadros entregues ao destinatário por unidade de tempo) e a entrada (número de quadros recebidos de todos os assinantes). Sob taxas mais baixas, a utilização da rede (saída) cresce linearmente com o aumento da taxa de entrada dos dados, até um certo ponto (ponto A), a partir do qual a saída começa a crescer menos que a entrada e, por conseqüência, a rede entra em um estado de congestionamento suave. Caso a taxa de entrada continue a crescer, haverá um ponto (ponto B) em que a taxa de saída diminui com a taxa de entrada. Isto acontece porque os buffers são limitados e quando um deles está saturado, ele começa a descartar alguns quadros. Quanto mais quadros são transmitidos (aumento na taxa de transmissão), mais buffers ficarão saturados. Desta maneira, enquanto o sistema tenta eliminar os acúmulos, os usuários estão bombardeando o sistema com quadros novos e retransmitidos. Por causa da demora de reconhecimento, que ocorre em um nível mais alto, até quadros que foram transmitidos com sucesso podem vir a ser retransmitidos, fazendo com que o usuário pense que o quadro não chegou ao FRS, torvando a capacidade efetiva do sistema praticamente nula. No segundo gráfico, está plotado o atraso médio que um quadro leva ao atravessar a rede. Este atraso aumenta de maneira extraordinária quando a rede entra em congestionamento. Torna-se necessário, então, evitar a saturação da rede, aplicando-se um técnica de controle de congestionamento. Os objetivos de uma técnica de controle de congestionamento são definidas pelo CCITT, em I.3xx, como:

No caso da rede frame relay, o problema do controle de congestionamento é particularmente difícil, devido aos poucos recursos existentes no cabeçalho da célula para controle do tráfego de quadros. Por causa disso, o controle de congestionamento se torna uma responsabilidade da rede e do usuário final, uma vez que a rede possui melhores condições de monitorar o grau de congestionamento que está ocorrendo, enquanto que os usuários possuem maior facilidade de controlar o congestinamento, limitando o fluxo. Com isso, podemos definir duas técnicas de controle de congestionamento utilizadas: prevenção de congestionamento com sinalização explícita e recuperação de congestionamento com sinalização implícita.

7.5.1.Prevenção de Congestionamento com Sinalização Explícita

Na sinalização explícita, são incluídos dois bits no campo de endereço de cada quadro, como sinalização da rede para o usuário. Ambos os bits podem ser setados por qualquer FRS, quando é detectado um congestionamento, e se um FRS receber um quadro em que um ou dois bits estão setados, ele não deve resetá-los antes de passá-los para o próximo FRS. Esses bits são:

Backward Explicit Congestion Notification (BECN): indica ao usuário que a rotina de prevenção de congestionamento deve ser iniciada para o tráfego aplicado à direção oposta à do quadro recebido, ou seja, os quadros transmitidos por esta conexão lógica podem encontrar congestionamento.

Forward Explicit Congestion Notification (FECN): mesma função do BECN, porém indica que o congestionamento está ocorrendo no mesmo sentido do quadro recebido.

Os bits BECN e FECN (ou uma combinação dos dois) são setados quando o tamanho da fila atinge um ponto limite, para tentar reduzir o tráfego que flui pelo FRS. A resposta à combinação dos bits BECN e FECN é configurada junto com a rede e implica na escolha da conexão lógica a ser alertada do congestionamento, sendo que se este começa a se tornar problemático, todas as conexões lógicas ligadas ao FRS devem ser alertadas. Cada FRS deve monitorar suas filas, e uma maneira de se fazer isto é citada no ANSI T1.606: o tamanho de cada fila é monitorada e um ciclo se inicia quando o circuito de saída muda de ocioso (fila vazia) para o ocupado (fila não vazia, incluindo o quadro atual). O tamanho médio de uma fila no ciclo anterior e no atual são calculados e se ele exceder um valor de referência, isto indica que o circuito está em um estado de congestionamento leve, portanto os bits de prevenção de algumas (ou de todas) as conexões lógicas ligadas àquele circuito devem ser setados. Controlando a média dos dois ciclos ao invés de controlar apens o tamanho do quadro atual, evita-se reações a surtos que não implicam necessariamente em congestionamento. A resposta do usuário ao congestionamento dependerá do recebimento de um bit BECN ou FECN. A resposta a um bit BECN é simples: a taxa de transmissão do usuário é simplesmente reduzida até que a indicação de congestionamento cesse. Já a resposta a um bit FECN é um pouco mais complexa, uma vez que um usuário tem que notificar o seu par na conexão a reduzir a taxa de transmissão. Mas como o protocolo frame relay não possui autonomia para realizar esta indicação, isto será feito em um nível mais alto, como o de transporte, por exemplo.

7.5.2.Recuperação de Congestionamento com Sinalização Implícita

Quando um quadro é descartado, isto é detectado pelo usuário em um nível superior, que deduz que existe congestionamento na rede. Neste caso, a sinalização de congestionamento está implícita no quadro descartado e um nível superior pode ser utilizado para o controle de congestionamento. Por exemplo, quando um quadro é descartado no protocolo Q.922, o próximo quadro gerado será um REJECT, que fará com que ocorra o controle de tráfego. O padrão ANSI sugere que um usuário cuja janela de controle de fluxo seja variável use esta capacidade para responder à sinalização de congestionamento implícita. Geralmente procura-se reduzir o tamanho da janela do nível 2 conforme o congestionamento aumenta, de modo a estrangular gradualmente a transmissão de quadros. Transmissões bem sucedidas (medições feitas pelo recebimento de acknowledgments) indicam que o problema do congestionamento acabou e o tamanho da janela deve ser aumentado. Isso tudo se refere às funções do usuário na recuperação de congestionamento. O papel da rede é diferente do usuário, se resumindo basicamente em descartar quadros quando necessário. Existe no campo de endereço de cada quadro um bit chamado discard elgibility (DE). Este bit orientará a rede de modo a descartar alguns quadros (quadros cujo bit DE esteja setado) dentre vários enviados, quando o descarte for realmente necessário. Isto permite ao usuário o recurso de enviar mais quadros que a média permitida, setando os DE dos quadros de excesso. Caso a rede tenha condições, esses quadros serão enviados adiante. O bit DE também pode ser setado pelo FRS para proteção da rede. Se um FRS achar que um usuário que está conectado a ele está enviando quadros em excesso, ele seta o bit DE de cada quadro que chega e os envia adiante na rede. Além de controlar o descarte de quadros, o bit DE serve também como um meio de garantir a entrega de um nível de serviço adequado. Isto assegura que usuários que necessitam de um tráfego maior tenham suas necessidades atendidas sem prejudicar os usuários que geram menos tráfego. Os usuários podem negociar um committed information rate (CIR), que representa uma estimativa do tráfego normal do usuário durante um período de trabalho pleno. O CIR concedido pela rede (que é menor ou igual ao CIR requisitado pelo usuário) é a taxa de compromisso da rede de entrega de dados sem erros. O FRS ao qual o usuário está conectado executa uma função de medida: se os dados enviados pelo usuários estão abaixo do CIR, o bit DE dos quadros que chegam não é alterado. Se a taxa excede o CIR, o bit DE dos quadros excessivos é setado e os quadros são enviados adiante (ou descartados, em caso de congestionamento). Finalmente, uma taxa máxima é definida e qualquer quadro que a exceda é descartado pelo FRS. Porém na prática, o que ocorre é que o tráfego é medido, em cada conexão lógica, durante um certo intervalo de tempo Tc, ajustado pela rede. Por conseguinte, há dois parâmetros a serem negociados:

- committed burst size (Bc): quantidade de dados máxima que a rede se compromete a entregar a uma conexão lógica durante um intervalo de tempo Tc;

- excess burst size (Be): quantidade máxima de dados que podem exceder Bc durante um intervalo de tempo Tc. Esses dados possuem menor probabilidade de serem entregues que os dados em comformidade com Bc.

Os padrões ANSI sugerem o uso do algoritmo "leaky-bucket" para controle de tráfego. O FRS grava a soma acumulada da quantidade de dados enviados por cada usuário em um contador C. O contador é decrementado de Bc a cada Tc unidades de tempo. Como o contador não pode se tornar negativo, o seu valor atual é C=min[C,Bc]. Sempre que o valor do contador exceder o valor Bc, porém for menor que Bc+Be, os dados que estão chegando são enviados adiante com o bit DE setado. Se o contador atingir o valor Bc+Be, todos os quadros que chegarem serão descartados até o contador ser decrementado.

Voltar