Um Protocolo de Alto Desempenho para Rajadas em Redes Ópticas
1. Introdução
Vivemos em uma época onde o aumento crescente do fluxo de informação exige que os meios de transmissão ofereçam serviços confiáveis e de alto desempenho, essenciais para oferecer serviços de comunicação com qualidade.
Cada vez mais as pessoas utilizam a Internet, seja para o acesso a páginas da web, publicação on-line de documentos, comunicação VOIP, transferência de dados, enfim, são utilizados serviços altamente dependentes dos recursos oferecidos pela rede. Muitos usuários ou mesmo empresas são capazes de produzir diariamente, sem muito esforço, milhares de gigabytes de informação que precisam ser transmitidos através das redes. O aumento da velocidade e da taxa de transmissão de dados é necessário para garantir o pronto atendimento às necessidades de comunicação atuais. Por isso, o uso de tecnologias que permitem otimizar o desempenho do tráfego de informação junto à banda disponível torna-se uma importante fonte de estudos[5][6][7].
Dentre esses estudos destacam-se as pesquisas em redes de fibra óptica de alto desempenho que utilizam a tecnologia WDM (Wavelength Division Multiplexing). Essa tecnologia promove a reunião de diversos comprimentos de onda luminosa em uma única fibra óptica [1]. As propriedades inerentes desse meio de transmissão são refletidas nas implementações de protocolos para redes ópticas de alta velocidade.
Este artigo descreve o protocolo JET (Just-Enough-Time) [2] que é uma proposta para oferecer altas velocidades de transmissão de rajadas em redes ópticas. Ele possui duas características únicas: a reserva atrasada (delayed reservation - DR) e os multiplexadores de rajadas buferizadas (buffered burst multiplexers – BBM). Em virtude da DR, o protocolo JET não apenas aumenta a utilização da largura de banda, mas também facilita o gerenciamento inteligente do buffer em BBMs, e conseqüentemente resulta em alta vazão.
O artigo está organizado da seguinte forma: a seção 2 descreve brevemente a utilização da tecnologia WDM sobre redes ópticas. Na seção 3 é apresentada a forma mais usada para reserva do meio de transmissão em redes ópticas (one-way reservation). Na seção 4 é apresentado o protocolo JET para explicar as técnicas DR e BBM utilizadas para otimizar o uso da largura de banda e realizar o gerenciamento inteligente do buffer. Na seção 5 são descritos os 5 elementos do protocolo JET. Finalmente a seção 6 apresenta as considerações finais.
2. Redes DWDM
DWDM é uma tecnologia que promove a reunião de diversos comprimentos de onda luminosa em uma única fibra
óptica. Essa tecnologia utiliza um multiplexador, mux ou multiplex que é um
dispositivo que codifica as informações de duas ou mais fontes de dados em um único canal na origem. No lado receptor um demultiplexador divide o fluxo único do sinal luminoso nos sinais
múltiplos originais. A tecnologia WDM utiliza múltiplos lasers para
gerar vários comprimentos de onda (wavelength division) de luz. A seguir esses sinais são multiplexados e transmitidos através de uma única fibra óptica. Cada sinal trafega dentro de uma
única cor de banda, que modula os dados (texto, voz e vídeo, por
exemplo). WDM amplia a capacidade de transmissão da fibra porque
permite combinar diversos comprimentos de onda em uma única fibra.
O nanômetro é a unidade de comprimento do Sistema Internacional de Unidades, comumente usada para medição de comprimentos de onda de luz
visível (400 nm a 700 nm), radiação ultravioleta, radiação
infravermelha e radiação gama, entre outros. Os comprimentos de onda
inicialmente utilizados em sistemas WDM variavam de 1300nm a 1560nm
permitindo a recepção de até 4 sinais na fibra. Com a evolução da fabricação de equipamentos ópticos foi possível admitir a recepção de mais entradas na fibra. Esses sistemas são denominados DWDM (Dense Wavelength Division Multiplexing).
3. Reserva one-way
Protocolos para reserva do meio de transmissão em redes ópticas podem reduzir o desempenho do tráfego de sinais ao longo da rede. Isso porque é conhecido que o sinal luminoso que trafega pela fibra óptica é imune a interferências eletromagnéticas, o número de caminhos de luz (light path) é limitado pelo número de comprimentos de onda disponíveis e a informação pode ser transmitida a altas taxas sobre distâncias de dezenas de quilômetros sem um repetidor. Em virtude disso, protocolos de reserva one-way (que não têm mensagens de confirmação) do tipo Tell-And-Go (TAG), como podemos ver na Fig.2, são comumente utilizados uma vez que o retorno de mensagens de confirmação (ack) da reserva do canal tem impacto direto na velocidade de transmissão (p é o tempo de delay de um nó no pacote de controle, e δ o tempo requerido para o processamento do nó intermediário da rajada).
A reserva do canal utilizando um protocolo one-way é realizada em nível temporal, ou seja, o nó de origem primeiro envia um pacote de controle para estabelecer o caminho para a rajada seguinte, reservando um a um os recursos necessários em cada nó intermediário (host on path – hop). A rajada com a informação é transmitida após o tempo presumido do processamento do pacote de controle no próximo nó da rede, não sendo necessário esperar o ack de qualquer nó intermediário ou do nó de destino. Buffer e largura de banda são exemplos de recursos que podem ser reservados quando o pacote de controle atinge cada nó. Deste modo, para cada nó intermediário é feita a contabilização do tempo de processamento referente à reserva de recursos, transmissão e recepção da rajada, tradução (ou atualização) do endereço de destino do pacote e o roteamento para a próxima rajada. O caminho permanece bloqueado até que a transmissão seja finalizada.
A vantagem de se utilizar a reserva one-way deve-se ao fato de que a transmissão da rajada precisa aguardar um offset correspondente ao intervalo de tempo para configurar o nó com as informações do pacote de controle, sem a necessidade de se esperar pelo reconhecimento do nó destino. No entanto, podem ocorrer atrasos de transmissão caso ocorram atrasos de processamento nos caminhos intermediários, o que faz com que a rajada tenha que ser particionada. O controle do tempo do processamento deverá ser feito na origem da transmissão através da análise do envio e recepção das rajadas, do processamento da informação e da quantidade de nós entre a origem e o destino.
4. O protocolo JET
O protocolo JET utiliza a reserva one-way com algumas modificações, como se pode observar na Fig.3. A reserva atrasada (delay reservation - DR) e os multiplexadores de rajada buferizadas (buffered burst multiplexers – BBM) são as duas técnicas utilizadas por ele para utilizar eficientemente a largura de banda e promover o gerenciamento inteligente do buffer junto aos nós da rede.
4.1. Reserva atrasada
A reserva atrasada foi desenvolvida para promover uma utilização mais eficiente da banda. Enquanto que no TAG (original) o meio permanece bloqueado após uma requisição, gerando atrasos ao longo da transferência das rajadas, no JET isso não ocorre [3].
Os erros de pacotes perdidos no protocolo TAG são contrabalanceados pelo desempenho na transmissão de rajadas. Outros fatores contribuem para o aumento da latência (tempo para propagação): recursos da rede, retransmissão por perda de dados, redução da taxa de transferência (throughput), entre outros.
Para reduzir esses problemas deve-se otimizar a utilização do canal reservando apenas os recursos que forem necessários e pelo tempo necessário.
A priori, quando um pacote de controle é enviado no tempo t0, a rajada é lançada após o offset t0+T (T é uma estimativa do tempo que o pacote de controle levaria para chegar até o seu destino). Isso é feito para evitar que uma rajada seja disparada antes que todos os nós intermediários tenham sido configurados.
Quando o pacote de controle atinge o próximo nó, o meio de transmissão até este nó já está bloqueado pelo tempo T. Com isso, serão descartadas outras transmissões que consigam realizar uma transferência de dados em um tempo menor do que T. O mau uso da banda se deve pelo tempo que ela fica bloqueada sem permitir o tráfego de outras conexões.
O protocolo JET resolve esse problema realizando a reserva atrasada da banda.
Como mostra a Fig.4 a DR permite que a banda seja reservada apenas do momento que a rajada atinge o host (t1) até a duração da rajada (t1+l1). Com isso, caso existam transmissões de duração menor do que t1 estas ainda irão conseguir trafegar pelo canal ao invés de serem descartadas.
Nas convenções tradicionais de TAG o modo de reserva do recurso é diferente porque o caminho é reservado antes do envio até o final da transmissão. Com a DR essa reserva é feita somente pelo tempo t1+l1. Com isso o planejamento de “liberação” do recurso resulta em alta utilização do meio óptico de transmissão. Se durante o tempo de processamento do pacote de controle de uma transmissão outro pacote de controle precise reservar recursos por um tempo menor do que a transmissão anterior então esta rajada será executada antes da anterior, o que não seria possível com o TAG original que prevê o descarte das rajadas dessa segunda transmissão.
No entanto, uma vez que os recursos tenham sido alocados para uma determinada transmissão a técnica DR não consegue armazenar as rajadas das demais transmissões que ocorram durante esse período. Para diminuir ainda mais o descarte de rajadas e aumentar a efetividade de utilização da banda disponível o protocolo JET utiliza a técnica de multiplexadores de rajada buferizada.
4.2. Multiplexadores de rajada buferizada
A performance do TAG, que é um protocolo de reserva one-way, e de outros protocolos que utilizam comutação por pacotes, células ou por rajadas, pode ser severamente prejudicada caso não ocorra a buferização de rajadas nos hosts intermediários.
Isso porque uma vez que ocorreu a reserva de banda para uma rajada 1 de tempo t1, se tivermos a próxima rajada 2 de tempo t2, com t2
Por isso a buferização contribui consideravelmente para evitar o descarte de rajadas.
Uma vez que a tecnologia para buferização de rajadas ópticas ainda é limitada, a técnica BBM (Buffered Burst Multiplexers) fornece o atraso necessário para reduzir a probabilidade de descarte e aumentar a performance do canal.
Neste caso, o segundo pacote de controle é bloqueado uma vez que não há largura de banda reservada para a rajada. Sem utilizar BBM a segunda rajada será imediatamente descartada quando o pacote de controle for bloqueado. Com BBM é realizado um atraso mínimo, ou seja, espera-se pelo tempo que a segunda rajada demoraria para atingir o tempo t1, mais a duração da rajada 1. Dessa forma, entende-se que esse será o tempo mínimo necessário para que a rajada 1 termine de trafegar, como mostra a fórmula: dmin=t1-t2+l1. Assim, a segunda rajada não precisa ser descartada.
No protocolo JET, o nó intermediário onde o pacote de controle está bloqueado determina se o BBM na porta de saída pode fornecer o atraso necessário para a rajada. Uma vez que a buferização óptica é um recurso caro, o protocolo JET faz com que cada rajada tenha que esperar na origem do domínio eletrônico, não havendo a necessidade de buferização em cada nó intermediário.
O protocolo JET utiliza as técnicas de DR e BBM e estas são utilizadas de forma complementar. Por exemplo, caso um pacote de controle seja bloqueado em algum nó intermediário, a técnica DR garante que ainda não foi liberada a rajada. A técnica BBM, por outro lado, garante um intervalo mínimo de tempo para que ocorra a liberação do pacote de controle nos nós intermediários, com a buferização da rajada mantida apenas na origem da geração do sinal óptico. Isso evita o descarte de rajadas e aumenta a vazão do canal. Se mesmo com a DR não ocorrer a técnica BBM, poderia-se assumir um atraso máximo para cada envio de rajadas. No entanto, esse atraso resultaria em desperdício de utilização do canal.
5. Especificação do protocolo JET
Protocolo de comunicação é um conjunto de regras, padrões e especificações técnicas que regulam a transmissão de dados entre computadores por meio de programas específicos, permitindo a detecção e correção de erros; protocolo de transmissão de dados. [4]. O protocolo JET define 5 elementos:
1.Serviços
Aumentar a utilização da largura de banda em redes ópticas que utilizam WDM e facilitar o gerenciamento inteligente do buffer, resultando em alta vazão.
2. Considerações sobre o ambiente
Canal de fibra óptica para transmissão e recepção de dados.
3. Vocabulário
Assume-se que o vocabulário é definido da seguinte forma:
V = {controle, nack, erro, burst}
- controle: pacote de configuração do meio;
- nack: é um pacote associado a um descontrole de estados. A transmissão pode ser feita corretamente, mas alcançar um estado diferente do esperado.
- erro: pacote que informa um erro na transmissão;
- burst: primitiva que contém um conjunto de pacotes que armazenam os dados.
4. Codificação (formato) de cada primitiva no vocabulário
struct controle {
varchar[] config};
struct nack {
varchar[] nack_info};
struct erro {
varchar[] erro_info};
enum control {
controle, nack, erro};
struct pacote {
varchar origem,
varchar destino,
integer byteCount,
varchar dados};
struct burst {
integer pacoteCount;
struct pacote[MAX] pacotes};
5. Regras procedimentais
- Antes de enviar a rajada um pacote de controle é enviado da origem ao destino com as informações necessárias para configurar todos os nós intermediários. As regras de reserva do meio foram descritas na seção 4.
- Assume-se que todos os roteadores possuem um relógio mundial de tempo idêntico, e que o tempo de processamento de um pacote de controle para cada e todo nó é conhecido na sua fonte. Mas como nem sempre isso é verdade, assume-se que embora o delay de propagação de um link pode variar de um hop a outro, ele não muda pelo tempo e pode ser calculado baseado no comprimento da fibra que conecta os dois nós.
- Assume-se também que um pacote de controle encontra o mesmo delay de propagação que sua rajada de dados correspondente ao longo de cada ligação (embora eles possam usar comprimentos de onda diferentes). Além disto, uma rajada não encontrará nenhum outro atraso, exceto o que ocorre em um BBM e que está reservado para o efeito do pacote de controle.
- Para lidar com possíveis relógios não sincronizados e com o tempo de processamento variado de um pacote de controle a cada nó, dois campos são utilizados, “arrive” para guardar seu tempo de chegada, e “depart” para seu tempo de partida para serem usados em cada pacote de controle. Neste último campo está incluído o tempo de processamento no nó que pode ser obtido (como saída—entrada do pacote no nó). Além de um terceiro campo utilizado para armazenar o tempo compensado, em cada nó, e um quarto campo que pode ser usado para armazenar a hora (estimada de acordo com o relógio na fonte - denominada o relógio "fonte") quando a rajada vai para o próximo nó.
6. Considerações Finais
Este artigo apresentou o protocolo JET para o tráfego de comutação de rajadas em uma rede de backbone óptico de alta velocidade. As técnicas de DR e BBM não apenas aumentam a utilização da largura de banda, mas também facilitam o gerenciamento inteligente de buffer, resultando em uma baixa probabilidade de descarte de rajadas.
A técnica DR evita o bloqueio imediato do meio enquanto o pacote de controle não chegar ao seu destino. Caso haja outra rajada para ser transmitida pelo mesmo caminho e seu tempo de transmissão for menor do que o da rajada anterior, ela pode bloquear o meio e transmitir e, ao final, a primeira rajada com o meio já totalmente configurado dispara os dados.
Já a técnica BBM é a complementar a DR no protocolo JET. Ela diminui o descarte de rajadas porque permite a buferização daquelas que seriam descartadas caso o meio estivesse bloqueado por outra transmissão. Com BBM é realizado um atraso mínimo, ou seja, espera-se pelo tempo que a rajada buferizada demoraria para atingir o tempo da rajada em transmissão, mais a duração desta última.
Essas duas técnicas são viáveis em redes ópticas devido às características inerentes do meio de transmissão. O protocolo JET aumenta a largura de banda, porque mais transmissões aproveitam o meio, o bloqueio é feito apenas durante a transmissão da rajada.
Assim ao se enviar uma rajada entende-se que o dado foi transmitido, não necessitando de um ack excluindo então o tempo de processamento em cada nó.
Anderson X. Filho