PS-GRADUAO EM REDES DE COMPUTADORES E COM. DE DADOS
DEPARTAMENTO DE COMPUTAO
DESEMPENHO DO PROTOCOLO TCP EM REDES WIRELESS
Londrina - PR 2005 1
UNIVERSIDADE ESTADUAL DE LONDRINA PS-GRADUAO EM REDES DE COMPUTADORES E COM. DE DADOS DEPARTAMENTO DE COMPUTAO
JOO PAULO ALVES
DESEMPENHO DO PROTOCOLO TCP EM REDES WIRELESS
Monografia apresentada ao curso de Especializao em Redes de Computadores e Comunicao de Dados, da Universidade Estadual de Londrina, como requisito parcial para obteno do ttulo de especialista.
Orientador: Prof. Msc. Fbio Czar Martins
Londrina PR 2005
2 Alves, Joo Paulo Desempenho do Protocolo TCP em Redes Wireless Local: Universidade Estadual de Londrina, 2005. 69 pginas
Trabalho (Ps-Graduao) Universidade Estadual de Londrina UEL: Londrina PR, 2005.
3 JOO PAULO ALVES
DESEMPENHO DO PROTOCOLO TCP EM REDES WIRELESS
Esta monografia foi julgada adequada para obteno do ttulo de Especialista, e aprovada em sua forma final pela Coordenao do Curso de Especializao em Redes de Computadores e Comunicao de Dados, do Departamento de Computao da Universidade Estadual de Londrina.
Banca Examinadora:
____________________________________________
____________________________________________
____________________________________________
4
AGRADECIMENTOS
Agradeo a Deus, pelas grandes maravilhas realizadas em minha vida.
5 DEDICATRIA
Dedico este trabalho a todos que contriburam durante o desenvolvimento.
6
Deus quer, o homem sonha, a obra nasce.
Fernando Pessoa
7 RESUMO
O objetivo deste trabalho demonstrar o impacto negativo no desempenho, provocado pelo uso do protocolo de transporte Transmission Control Protocol (TCP) sobre redes sem fios. Esta reduo significativa de desempenho se d principalmente pela grande perda de pacotes ocasionada pelas condies de transmisso neste ambiente de rede, uma vez que suscetvel a diversos tipos de interferncias, dentre outros fatores. Este problema ocorre no TCP devido ao seu mecanismo de congestionamento, o qual interpreta erroneamente a alta taxa de erros presentes nestas redes como situaes de congestionamentos, o que faz com que o mecanismo especfico para a situao seja ativado, reduzindo assim consideravelmente o desempenho. Neste contexto, se faz necessrio o entendimento das caractersticas do protocolo bem como da tecnologia de transmisso em redes sem fios para compreenso do problema. Existem atualmente algumas propostas para otimizao do desempenho nestas condies, as quais tambm esto abordadas neste estudo.
The goal of this paper is to show the negative impact in the performance by the use of transmission control protocol on nets without wires. This reduction significative in the performance happens meanly by the big loss of packages caused by conditions of transmission in this surrounding net, once it is susceptible to some kinds of interferences, among other factors. This problem happens in the TCP because of mechanism of congestion, that expound falsely the high tasc of errors presents in these nets as situations of congestion that make the specific mechanism to the situation to be activated, reducing so considerably the performance. In this context, it is necessary the understanding of characteristics of protocol how the technology of transmission in nets without wires so that we can understand the problem. There are nowadays some offers for better performance in these conditions, that are related in this application.
Figura 1 - Transmisso FHSS.................................................................... 33 Figura 2 - Transmisso DSSS.................................................................... 35 Figura 3 - Modulao OFDM...................................................................... 37 Figura 4 - Basic Service Set (BSS) ........................................................... 38 Figura 5 - Extended Service Set (ESS) ...................................................... 39 Figura 6 - Independent Basic Service Set (IBSS)....................................... 40 Figura 7 - Mbile Ad Hoc Networks (MANET) ............................................ 41 Figura 8 - IEEE 802.11............................................................................... 41 Figura 9 - Estrutura do Protocolo M-TCP................................................... 57
CAPTULO 2 PROTOCOLO DE TRANSPORTE TCP ...................... 14
2.1 Introduo................................................................................................... 14 2.2 Confiabilidade na Transmisso dos Segmentos............................................ 16 2.3 Estabelecimento e Encerramento de Conexes TCP.................................... 19 2.4 Portas de Comunicaes ............................................................................... 19 2.5 Tratamento de Dados Urgentes..................................................................... 20 2.6 Determinao do Tamanho dos segmentos................................................... 21 2.7 Confirmao e Retransmisso....................................................................... 22 2.8 Tratando o Timeout e Retransmisso............................................................ 23 2.9 Reao ao congestionamento ........................................................................ 25
CAPTULO 3 TECNOLOGIAS DE REDES SEM FIOS...................... 29
3.1 Introduo...................................................................................................... 29 3.2 O padro IEEE 802.11 .................................................................................. 30 3.3 Tcnica de Transmisso Spread Spectrum (Espalhamento Espectral) ......... 31 3.4 Spread Spectrum com Salto de Freqncia................................................... 33 3.5 Spread Spectrum com Seqncia Direta....................................................... 34 3.6 Orthogonal Frequency Division Multiplexing (OFDM)............................... 36 3.7 Modos de Operao....................................................................................... 37 3.8 Controle de Acesso ao Meio ......................................................................... 41 3.9 Caractersticas de transmisso em redes sem fios......................................... 42 3.10 Avaliando o desempenho ............................................................................ 45
CAPTULO 4 PROPOSTAS EXISTENTES PARA OTIMIZAO DO PROTOCOLO TCP SOBRE REDES SEM FIOS.................................. 48
4.1 Protocolos de Camada Inferior ao TCP ........................................................ 48 4.1.1 Protocolo Snoop ................................................................................................ 48 4.1.2 Protocolo Snoop Otimizado............................................................................ 50 4.2 Protocolos com quebra de conexo............................................................... 51 4.2.1 Mecanismos de Notificao Explcita.......................................................... 52 4.2.2 Tcnicas de Reconhecimentos Mltiplos.................................................... 54 4.2.3 TCP Indireto (Indirect TCP)........................................................................... 55 4.2.4 Mbile Transmission Control Protocol (TCP Mvel) ............................. 56 4.3 Protocolos com conexo fim-a-fim............................................................... 58 4.3.1 Freeze TCP.......................................................................................................... 59 4.3.2 TCP com reconhecimento seletivo ............................................................... 60
As redes sem fios, ou wireless, como tambm so conhecidas, caracterizam uma forma de acesso complementar em ambientes corporativos, alm de solues domsticas. Tudo isso se d principalmente pela mobilidade oferecida, onde em apenas alguns instantes so montadas redes estruturadas ou ad hoc capazes de oferecer acesso atravs da transmisso de rdio freqncia, dispensando assim a utilizao de cabos. A diferena entre redes sem fio (wireless) e redes cabeadas (wired) se d basicamente no meio fsico, onde em uma a transmisso feita por meio do spectro (wireless), e na outra direcionada atravs de cabos metlicos ou de fibras ticas (wired). A utilizao do spectro como meio de transmisso, possibilita que os equipamentos dispensem a utilizao de cabos, o que favorece a mobilidade. Em contrapartida, traz uma srie de problemas no presentes nas redes cabeadas, principalmente no que tange em relao ao desempenho. A transmisso realizada atravs do spectro sofre uma srie de interferncias e perdas de potncia do sinal causadas por diversos fatores, dentre eles a presena de paredes e outros equipamentos utilizando a mesma faixa de freqncia. Isto causa grande perda de pacotes, o que afeta drasticamente o desempenho da rede. Ainda existe o problema da desconexo e handoff dos equipamentos causados pela mobilidade, o que caracteriza uma pausa temporria na transmisso. Junto a estes problemas, surge um outro derivado do protocolo de transporte da rede, o TCP (Transmission Control Protocol). Neste caso, a rede interpreta as perdas de pacote da rede wireless, sejam causadas por erros de transmisso ou por 13 desconexes, como congestionamentos, pois a verso padro do protocolo no consegue distinguir estas situaes. O objetivo deste trabalho estudar a queda de desempenho em redes wireless, causada pelo mecanismo de congestionamento do protocolo TCP. Para isso, no captulo 2 sero abordadas as caractersticas do protocolo, a fim de entender os princpios bsicos de transmisso, principalmente do mecanismo de congestionamento. No captulo 3 ser dada uma viso geral das redes sem fio, procurando estabelecer diferenciais com as tecnologias existentes de redes cabeadas. J no captulo 4 sero demonstradas as solues existentes para otimizar o desempenho sobre redes wireless. Ao final sero apresentadas as concluses sobre o estudo e apresentada uma nova proposta para otimizao do protocolo. 14 CAPTULO 2 PROTOCOLO DE TRANSPORTE TCP
2.1 Introduo
Em alguns modelos de referncia utilizados por protocolos de rede, como por exemplo no Open Systems Interconection (OSI), existe uma srie de camadas com funes distintas, mas que empregam um objetivo final nico, prover a transmisso de pacotes entre dois pontos caracterizados como transmissor e receptor, interligados por um meio fsico. Algumas camadas, geralmente de nvel mais baixo, aplicam o conceito de transmisso no confivel, tendo a obrigao apenas de enviar o pacote, deixando de se preocupar se este foi ou no entregue, ou como foram as condies de entrega. Neste caso, atrasos, congestionamentos da rede, perdas, duplicidades, ou at mesmo rompimento do pacote devem ser considerados, porm, no so tratados, o que no possibilita confiana na transmisso. Do outro lado, em camadas superiores, aplicativos necessitam de mecanismos para controlar o fluxo da transmisso, uma vez que h grande volume de dados a serem transmitidos. Uma soluo para isso implementar meios no prprio aplicativo, mas com a grande diversidade de sistemas clientes/servidor, se torna uma tarefa rdua e redundante. Neste contexto, se torna essencial o uso de um protocolo que oferea principalmente controle de fluxo e confiabilidade na transmisso. O Transmission Control Protoco (TCP) emprega uma srie de mecanismos para oferecer estas funes, dentre eles est o controle de fluxo atravs do gerenciamento do tamanho 15 de segmentos e janelas, alm da confiabilidade alcanada pela utilizao da tcnica de confirmao positiva com retransmisso. Todas estas caractersticas fazem do TCP atual um excelente protocolo de transporte, o qual foi projetado para se adaptar aos mais variados tipos de redes, com diferentes taxas de erros e capacidade de transmisso. Alm disso, o TCP suporta diversas tecnologias, tais como conexes por linha discada, rede local com par tranado, redes de fibra tica e redes wireless. Segundo TANENBAUM (1997), a primeira implementao do TCP foi definida atravs da RFC 793. Conforme erros foram detectados e as tecnologias de redes evoluram, outras verses como a definida na RFC 1122 surgiram. Outras extenses do protocolo foram definidas na RFC 1323. Derivadas destas definies surgiram tambm verses como o TCP Tahoe e TCP Reno. Atualmente existem diversas verses do protocolo, muitas delas com caractersticas especficas para operar sob uma determinada tecnologia de rede, como por exemplo em redes wireless. A verso mais utilizada no mundo atualmente a TCP Reno, por apresentar melhor desempenho e adaptao nos mais variados tipos de redes. No decorrer do captulo, sero apresentadas algumas caractersticas do protocolo TCP, para fim de melhor entendimento dos mecanismos que envolvem todo o processo de controle de fluxo e confiabilidade, os quais so os objetos de estudo deste trabalho por afetar drasticamente o desempenho de uma rede sem fio ou heterognea. O principal ponto em estudo o mecanismo de controle de congestionamento, o qual ser apresentado em maiores detalhes.
16 2.2 Confiabilidade na Transmisso dos Segmentos
Como visto anteriormente, o TCP um protocolo que oferece confiabilidade na transmisso. Para que isso seja possvel, so empregadas algumas caractersticas que tambm so comuns a outros protocolos de transporte, so elas: - Orientao de Stream - Circuito Virtual - Transmisso buferizada - Stream Desestruturado - Conexo Full Duplex A orientao pode ser resumida como o sincronismo dos dados, ou seja, os servios de transmisso de ambas as partes so sincronizados de forma que a seqncia de envio e recebimento dos dados seja a mesma para o transmissor e receptor. Assim, o problema do recebimento de segmentos desordenados resolvido. J a conexo atravs de circuito virtual tenta estabelecer, de forma lgica, um circuito ponta a ponta, ou seja, entre o transmissor e receptor. A funo bsica do circuito controlar a transmisso, desde o estabelecimento at o encerramento, por meio de mensagens de controle. Inicialmente, informaes so trocadas de forma a estabelecer o circuito. Posteriormente, outras mensagens informam tanto o transmissor quanto o receptor sobre o estado da conexo. Isso se d at a finalizao do circuito, seja com consenso de ambas as partes ou por falha de algum hardware. No caso da transmisso buferizada, os aplicativos passam os dados ao protocolo e este se encarrega de dividi-los em segmentos de tamanho variado, 17 sempre buscando a eficincia na transmisso. Assim, mesmo que o aplicativo envie um octeto por vez ou um conjunto elevado de octetos, o protocolo poder ajust-lo em um tamanho de segmento que proporcione maior eficincia na transmisso dos dados. Uma outra caracterstica a desestruturao dos segmentos de dados, onde no possvel identificar particularidades nos dados transmitidos. Diante disso, os aplicativos que devem entender o formato e se adaptar, e no o contrrio. O mecanismo de conexo permite tambm ao TCP implementar conexes do tipo full duplex. Assim, existe na verdade duas conexes fluindo dados simultaneamente, o que permite que haja maior throughput na rede. O TCP implementa ainda uma tcnica de transmisso conhecida como confirmao positiva com retransmisso, juntamente com o protocolo de janela deslizante. Com estes recursos, a transmisso deixa de ser realizada por pacotes isolados e passa a ser composta por um conjunto de pacotes, o que forma a idia de uma janela. Desta forma, a capacidade da rede pode ser melhor utilizada, uma vez que o throughput aumenta devido reduo ou extino do tempo de inatividade da rede. O funcionamento do protocolo de janela deslizante do TCP segue a idia inicial apresentada sobre janelas TCP. O que se pode acrescer em relao ao tamanho da janela, a qual varivel dependendo do tamanho do buffer disponvel no lado do receptor. O tamanho definido atravs das confirmaes que chegam do receptor, as quais possuem um campo denominado notificador de janela, o qual informa o tamanho atual do buffer do receptor. Muitas vezes estas confirmaes chegam juntamente com segmentos de dados, utilizando-se de uma tcnica conhecida como Piggyback (carona). O TCP se 18 utiliza desta tcnica para enviar confirmaes e o tamanho do buffer. Na realidade esta tcnica utilizada nos casos onde os aplicativos no trafegam dados em full duplex, ou seja, atravs de conexo simultnea. Em um momento crtico, em que o buffer do receptor se encontra totalmente cheio, o notificador de janela que enviado para o receptor pode conter o valor zero (ZWA Zero Window Advertisement) para que a transmisso seja encerrada momentaneamente. Enquanto se mantm com a transmisso interrompida, sinais de controle ZWP (Zero Window Probles) so enviados pela rede, na medida em que o buffer vai se esvaziando, o valor do notificador aumenta para possibilitar o reincio da transmisso. Este mecanismo de controle possibilita ao TCP empregar eficientemente o controle de fluxo e a transferncia confivel. importante que haja este controle de fluxo para permitir que aplicativos rodando em mquinas de diferentes portes, como por exemplo um computador pessoal e um outro com grande poder de processamento, consigam estabelecer uma comunicao eficiente e confivel. Outro ponto fundamental do controle de fluxo est na interao com mquinas intermedirias, como por exemplo roteadores. Neste caso, estas mquinas devem ser capazes de se comunicar com o transmissor quando tiverem em sobrecarga, informando assim uma possvel situao de congestionamento. A situao de congestionamento tratada pelo TCP atravs do mecanismo de janelas deslizante, simplesmente causando uma reduo no trfego atravs da diminuio do tamanho da janela. Maiores detalhes sobre este controle sero apresentados em sesses seguintes.
19 2.3 Estabelecimento e Encerramento de Conexes TCP
O estabelecimento de conexes no protocolo TCP realizado atravs de handshakes de trs vias. Esta tcnica utiliza-se de apenas trs mensagens para estabelecer uma conexo entre o transmissor e receptor. Durante o estabelecimento, mensagens so trocadas para que ambos conheam que a conexo est sendo iniciada, bem como a seqncia dos octetos que sero transmitidos. Para que a conexo seja iniciada, um segmento com o campo SYN marcado e com um nmero de seqncia gerado aleatoriamente enviado pela mquina solicitante da conexo, informando o pedido de conexo. Ao receber o segmento SYN, o receptor tambm envia um segmento SYN informando sua seqncia, alm da confirmao do pacote SYN recebido da mquina solicitante, atravs do nmero de seqncia recebido acrescido de um, informado atravs do campo ACK. Aps o recebimento do pacote de SYN/ACK na mquina origem, o TCP envia novamente um segmento, agora contendo a confirmao de recebimento informada atravs do nmero de seqncia do prximo octeto que espera receber do destino. Assim, a conexo efetuada e a seqncia passa a ser conhecida tanto pelo transmissor como pelo receptor.
2.4 Portas de Comunicaes
A exemplo do User Datagram Protocol (UDP), o protocolo TCP tambm utiliza o conceito de portas, porm, utiliza um sistema mais complexo para identificar uma conexo. Segundo TANENBAUM (1997), o TCP utiliza pontos terminais, tambm conhecidos como sockets para identificar o circuito virtual, uma vez que em uma 20 porta pode-se ter diversas conexes, todas identificadas atravs dos circuitos virtuais. Os pontos terminais, ou sockets, so nmeros compostos pelo nmero IP de ambas as mquinas, acrescido o nmero das referidas portas de comunicao. Atravs deste modelo, completamente possvel que diversas mquinas compartilhem simultaneamente uma mesma porta em um determinado servidor. No momento do estabelecimento da conexo, os programas aplicativos das partes solicitam aos seus respectivos sistemas operacionais, atravs de opens passivos (no receptor) e ativos (no transmissor), os nmeros de portas que sero utilizados para formar o conjunto de pontos terminais da conexo.
2.5 Tratamento de Dados Urgentes
Mesmo utilizando o conceito de stream para troca de dados, s vezes se faz necessrio a transmisso urgente de determinados dados. Para isso, o TCP implementa um mecanismo para controle de dados urgentes, ou seja, os dados que precisam ser enviados sem que o tamanho do segmento seja atingido. Neste caso, o TCP indica que os dados so urgentes, identificando-os atravs de um bit localizado no campo Bit de Cdigo do cabealho TCP. Quando marcado como 1, os dados so enviados imediatamente no momento que chegam para ser transmitidos. No lado do receptor, o TCP interrompe sua operao normal e trata os dados urgentes, identificando assim seu respectivo aplicativo e o entregando o pacote. Aps o tratamento de todos os dados urgentes, o TCP volta a sua operao normal. Este tratamento importante para aplicaes como sesses remotas, onde os comandos de controle devem ser transmitidos para executar ou parar uma 21 determinada aplicao. Em casos onde a rede apresenta altas taxas de erros, como no caso de redes sem fios, a perda de um segmento transportando dados urgentes pode causar um atraso significativo na aplicao.
2.6 Determinao do Tamanho dos segmentos
O TCP emprega como forma de transmisso o conceito de stream de dados, o qual refere-se a uma seqncia de dados a ser transmitida. Esta seqncia formada por um conjunto de octetos recebidos dos programas aplicativos e constitui um segmento TCP. Conforme descrito por TANENBAUM (1997), um segmento TCP consiste de um cabealho fixo de 20 bytes seguido de zero ou mais octetos de dados. O tamanho do segmento definido pelo TCP no momento da conexo, atravs de uma negociao por ambas as partes. Para ser eficiente, no deve ser nem pequeno e nem grande, pois ambas as situaes oferecem vantagens e desvantagens significativas. No caso de segmentos pequenos, a utilizao para trafego de dados na rede passa a ser mal utilizada, uma vez que o overhead muito alto. No caso de segmentos grandes, o primeiro problema uma limitao, ou seja, o segmento deve caber na carga til do IP, que de 65.535 octetos. Segundo TANENBAUM (1997), um outro problema est relacionado a perda de segmentos, uma vez que dependendo do Mximum Transfer Unit (MTU) da rede, o que limita o tamanho mximo de um segmento na rede, o Internet Protocol (IP) forado a fragmentar os segmentos para que possa ser transmitido. Neste caso, no h em 22 caso de perda, como retransmitir apenas um fragmento, necessitando assim uma retransmisso completa do segmento. Esta questo do tamanho do segmento tambm deve ser bem definida no estabelecimento da conexo, pois tem que permitir uma situao onde uma mquina de baixo poder de processamento se conecte a uma outra de alto poder de processamento, ajustando assim os segmentos para que caibam no buffer. Existe grande dificuldade de se estabelecer um tamanho ideal de segmento, uma vez que isso depende das condies fsicas da rede envolvida no caminho do transmissor ao receptor, e do tamanho mximo dos datagramas IP, o que varia de rede para rede. A dificuldade de se estabelecer se d principalmente porque nem sempre a rota estabelecida entre a origem e o destino a mesma, o que submete a rede a diversos tamanhos de datagramas IP. Em COMMER (1998) diz que, um tamanho de segmento geralmente utilizado de 536 bytes, o que corresponde ao tamanho do datagrama IP (576) menos os cabealhos.
2.7 Confirmao e Retransmisso
Segundo COMMER (1998), as confirmaes no TCP funcionam de forma cumulativa, ou seja, enviada ao transmissor a posio do stream referente ao maior octeto que espera receber na seqncia. Isso significa que o TCP no identifica os segmentos bem recebidos, o que nos levam a algumas vantagens e desvantagens. Uma das vantagens identificadas em relao confirmao no gerar necessariamente uma retransmisso. Isto ocorre porque uma vez informado o nmero do maior octeto a ser recebido, no necessariamente obriga o transmissor a 23 retransmitir um determinado segmento. Outra vantagem em relao ao tratamento de confirmaes perdidas, pois so facilmente substitudas pela retransmisso da posio atual referente ao octeto a ser recebido. Como desvantagem se tem o fato do protocolo no identificar um conjunto de segmentos recebidos, e sim, o maior octeto a ser recebido em seqncia. Isso nos leva a um problema onde um determinado nmero de octetos enviado por meio de alguns segmentos, os quais nem sempre chegaro ao seu destino. Neste caso, pode-se ter uma situao onde o primeiro segmento se perde, e os demais so recebidos com sucesso pelo receptor. Assim, a confirmao enviada ao transmissor refere-se posio antes informada, uma vez que aguarda um octeto que foi transmitido no primeiro segmento que se perdeu. Neste caso, aps o timeout no temporizador do transmissor, ele poderia enviar apenas o primeiro segmento, uma vez que os demais j foram recebidos. O problema est em identificar se os demais pacotes realmente foram ou no recebidos.
2.8 Tratando o Timeout e Retransmisso
O timeout em uma conexo refere-se ao fim do tempo de espera por uma confirmao de um segmento enviado. No TCP, como um protocolo desenvolvido para operar nos mais variados tipos de redes, as quais possuem tempos de respostas variados, o controle deve ser eficiente para evitar retransmisses constantes ou demora na retransmisso. Para que este controle seja feito da melhor forma possvel, o TCP utiliza um algoritmo adaptvel de retransmisso. O clculo neste algoritmo considera os 24 valores referentes hora de envio do segmento e hora de recebimento da confirmao, isto caracteriza o tempo de amostra de ida e volta (sample round trip time). O tempo estimado de ida e volta resultado de uma mdia ponderada dos valores, e identificado como Round Trip Time (RTT), o qual atualizado conforme os segmentos so transmitidos. Em COMMER (1998) tambm diz que, um problema apresentado para a composio do RTT em relao a identificao do segmento transmitido. Uma vez que o TCP devolve confirmaes referente a posio do ltimo octeto esperado, e no de um segmento especfico, no caso de segmentos que tenham sido retransmitidos, h uma dificuldade em identificar se a confirmao refere-se ao segmento original ou retransmisso. Para solucionar este caso o TCP emprega o algoritmo de Karn, o qual prev que pacotes retransmitidos no faam parte da estimativa RTT. Isto leva a um novo impasse, pois com a aplicao do Algoritmo de Karn, o temporizador corre o risco de nunca ser atualizado em casos onde ocorre grande elevao do tempo de transmisso. Assim, se faz necessrio a tcnica de backoff do temporizador. Com isso, a cada retransmisso, o timeout aumentado, evitando assim constantes retransmisses. O clculo do valor do backoff do temporizador geralmente dado por um fator multiplicativo representado pela seguinte frmula:
Novo_timeout = Y * Timeout, onde Y geralmente dois.
A eficincia desta tcnica em uma rede com grande ndice de perdas de pacotes pode ser afetada, uma vez que a cada retransmisso causada pela perda, e 25 no por atraso na rede, o timeout ser ajustado, causando assim maior demora em casos de retransmisso.
2.9 Reao ao congestionamento
Segundo COMMER (1998), o congestionamento pode ser definido como uma condio de retardo longo causado por uma sobrecarga de datagramas em um ou mais pontos de comutao. Na prtica, isso ocorre quando algum ponto intermedirio entre o transmissor e o receptor, como por exemplo um roteador, se encontra em sobrecarga, ou seja, com excesso de pacotes em sua fila de processamento. Geralmente estes pontos de comutao possuem determinado poder de processamento de pacotes e um buffer de armazenamento, o qual utilizado para enfileirar os pacotes que chegam e aguardam pelo processamento. Em dado momento, a quantidade de pacotes que chega neste ponto pode ser superior capacidade de armazenamento do buffer, o que imediatamente causa a eliminao dos pacotes. Como o transmissor no informado sobre a situao, por motivo de eficincia, o TCP deve ser capaz de tratar a situao para evitar um colapso da rede, pois poderiam ser geradas retransmisses contnuas, o que agravaria mais ainda a situao. Para resolver o problema foram empregadas duas tcnicas, as quais so conhecidas como incio lento (slow start) e reduo multiplicvel (multiplicative decrease). Alm do tamanho da janela do receptor, a qual enviada juntamente com cada segmento transmitido, surge agora uma nova informao importante para o 26 controle do trfego injetado na rede, o tamanho da janela de congestionamento. Este valor, em condies normais da rede, o mesmo do tamanho do buffer do receptor. Conforme h perdas de pacotes, ele reduzido de acordo com a tcnica de reduo multiplicvel. Para definio do tamanho da janela que ser enviada, o TCP aplica a seguinte lgica sobre as informaes da janela do receptor e janela de congestionamento:
A tcnica de reduo prev que a cada perda de pacote, o tamanho da janela de congestionamento seja reduzido pela metade. Caso seja uma perda isolada, causada por um fato isolado na rede, a janela se mantm no novo valor e imediatamente inicia o processo de incio lento. Em caso contrrio, onde as perdas passam a ser freqentes, a janela reduzida exponencialmente at o limite de um segmento, o que causa uma reduo significativa no trfego. Em COMMER (1998, p.237): Reduo Multiplicativa para Preveno do Congestionamento: com a perda de um segmento, reduzir a janela de congestionamento pela metade (at um mnimo de pelo menos um segmento). Para aqueles segmentos que permanecem na janela permitida, fazer um backoff exponencial do temporizador da retransmisso.
Como se no bastasse a reduo da janela de congestionamento, a qual diminui a quantidade de segmentos a ser enviados em uma janela de transmisso, o TCP aplica ainda o backoff do temporizador, o que faz com que os pacotes que permaneam na janela tenham o timeout elevado em relao ao tempo anterior. Com isso, o trfego reduzido drasticamente, e o problema do congestionamento solucionado com muita eficincia. 27 Para que a transmisso volte ao seu estado anterior, o TCP aplica o incio lento (slow start) para que no haja oscilao brusca no trafego de dados, o que poderia retornar a situao de congestionamento. Neste caso, a janela de congestionamento aumentada em um segmento para cada transmitido e confirmado. Embora aparente uma reduo lenta, esta tcnica muito eficiente, pois cresce proporcionalmente ao nmero de pacotes confirmados. Uma restrio desta tcnica de incio lento aplicada quando o valor da janela de congestionamento atinge metade de seu valor original, ponto tambm conhecido como threshold (limite de congestionamento), antes do incio do congestionamento. Neste momento, o aumento da janela passa a ser de um segmento somente se todos os segmentos da janela atual forem confirmados. Uma outra tcnica, proposta por Jacobson, aplicada em conjunto ao slow start, conhecida como fast retransmit. O principal objetivo resolver ou ao menos amenizar o problema ocasionado em uma situao onde uma seqncia de segmentos enviada, porm o primeiro perdido e os demais recebidos normalmente pelo receptor. Neste caso, utilizando a tcnica fast retransmit, imediatamente so enviados segmentos contendo ACKs confirmando o ltimo segmento recebido na ordem. Assim, ao perceber confirmaes duplicadas, mais precisamente ao receber quatro confirmaes sobre um mesmo segmento, o TCP do transmissor ativa o slow start e retransmite o segmento faltante, sem esperar atingir o timeout. Com isso, tido um ganho significativo no tempo de resposta da rede. Em complemento a esta tcnica, tambm foi proposto por Jacobson o fast recovery, que na verdade prev que, se os ACKs confirmando o segmento duplicado esto chegando rapidamente ao transmissor, ento os segmentos a 28 serem transmitidos tambm conseguiro atingir o destino da mesma forma. Assim, a fast recovery prope que o valor da janela aps uma retransmisso utilizando o fast retransmit, inicialmente seja o valor do tshreshold, ou seja, metade do valor original. Neste caso, o slow start no utilizado, o que prope um ganho ainda maior de desempenho na resoluo do problema de recuperao. Segundo TANENBAUM (1997), antigamente era difcil para identificar se um timeout havia ocorrido por problemas ocasionados na rede, como por exemplo perda de um segmento, ou se era por congestionamentos. Isso ocorria porque as condies das redes eram precrias, e ambas as situaes ocorriam com freqncia. Hoje em dia, a maioria das redes de grande vazo so constitudas por fibras ticas, o que praticamente elimina os problemas causados por perdas. A ausncia de um mecanismo especfico para o controle de congestionamento levou a esta soluo, a qual se demonstra eficiente para a finalidade. Porm, problemas ocasionados por perdas de pacotes, hoje so tratados como congestionamento, e nestes casos, agravam a situao da rede. Esta um dos principais pontos negativos desta tcnica, e ela passa a ser um ponto crucial em redes onde a taxa de erros elevada. Em uma rede sem fio, existem diversos problemas com o meio fsico que favorecem esta perda, alm claro das perdas ocasionadas pelas freqentes desconexes, ocorridas principalmente em momentos de handoff.
29 CAPTULO 3 TECNOLOGIAS DE REDES SEM FIOS
3.1 Introduo
Devido a grande expanso das redes sem fio em ambientes locais, motivada principalmente pela sua facilidade de uso e praticidade, cresceram os esforos aplicados para alcanar melhorias em aspectos como segurana e desempenho, quesitos que so cruciais nesta tecnologia de redes, alm de buscar uma padronizao mundial no desenvolvimento de equipamentos. Atualmente, o mais conhecido padro de redes sem fio para ambientes locais (Wireless Lans) o IEEE 802.11 (Institute of Electrical and Eletronics Engineers), tambm conhecido como Wi-Fi (Wireless Fidelity). Existem tambm diversas outras tecnologias proprietrias para redes sem fios, porm, muitas delas j aderiram ao padro IEEE motivadas pelas diversas vantagens de se utilizar este padro aberto, sendo entre elas a interoperabilidade, baixo custo e principalmente demanda do mercado. Neste trabalho, devido s vantagens acima apresentadas e sua marcante presena no mercado, foi adotado o padro IEEE como a tecnologia de rede sem fio a ser apresentada, atuando em um ambiente local (WLAN). Ao longo do captulo sero apresentadas algumas caractersticas desta tecnologia de redes, padres existentes e principalmente caractersticas tcnicas que identifiquem os problemas causados pela grande perda de pacotes, o que um fator marcante nestas redes. Todos os pontos a serem discutidos sero apresentados atravs de um comparativo entre redes wireless e cabeadas, isso para destacar os principais pontos que as diferenciam, justificando assim o propsito do trabalho. 30
3.2 O padro IEEE 802.11
Nos ltimos anos, a tecnologia de transmisso de dados por meio de conexes sem fio tem deixado de fazer parte apenas de comunicaes de longa distncia atravs de satlites, para fazer parte tambm de conexes em redes locais. Esse avano despertou interesse de muitas corporaes para desenvolverem solues e investirem em pesquisas. Segundo SANTANA (2003, p.24), em 1990 o Institute of Electrical and Eletronics Engineers (IEEE) constituiu um grupo de pesquisas com o intuito de criar padres abertos que pudessem disseminar a tecnologia wireless para redes locais sem fios (WLANS). Com isso, a primeira especificao surgiu em 1997, e foi denominada como IEEE 802.11. O objetivo da especificao era principalmente estabelecer padres para a camada de acesso ao meio Medium Access Control (MAC) e para a camada fsica PHY (Physical). A primeira especificao estabeleceu todas as necessidades estruturais para a utilizao de redes sem fio, tendo como principais fatores o protocolo de acesso ao meio (CSMA/CA), tipos de codificao utilizados (FHSS e DSSS), sistemas de segurana como criptografia atravs do Wireless Equivalent Protoco (WEP), alm de definies sobre componentes. Ao longo dos anos diversas outras especificaes derivadas do 802.11 surgiram, sempre visando melhorias em termos de velocidade e segurana. No Brasil, os padres mais utilizados atualmente so o 802.11b e 802.11g, ambos operando na freqncia de 2,4 at 2,4835 Ghz, que uma faixa de freqncia no licenciada (ISM Industrial Scientific and Medical). 31 As tcnicas de transmisso empregadas pelo padro 802.11 so por rdio freqncia e infravermelho. No caso da transmisso por rdio freqncia, a mais utilizada, a tcnica utilizada a spread spectrum, que ser apresentada na sesso seguinte. J a transmisso por infravermelho, embora seja mais segura em relao interceptao de dados, limitada por necessitar que o sinal seja direcionado. Embora haja esta limitao, ela til em casos onde a transmisso realizada entre aparelhos em redes pessoais.
3.3 Tcnica de Transmisso Spread Spectrum (Espalhamento Espectral)
Em OLIVEIRA & FILHO diz que, o Spread Spectrum uma tcnica de codificao para a transmisso digital de sinais. Foi desenvolvida pelos militares durante a segunda guerra mundial, com o objetivo de fazer com que as informaes a serem transmitidas fossem parecidas com um rudo radioeltrico, evitando assim o monitoramento por intrusos. Nesta tcnica, o sinal codificado e modificado, sendo ainda espalhado no espectro de freqncias. O sinal espalhado ocupa maior banda para ser transmitido, porm, por possuir baixa potncia, apresenta baixa relao sinal/rudo. Para receptores convencionais, esta comunicao pode at ser imperceptvel. Esta tecnologia se apresenta muito eficiente para transmisso de dados tanto em redes locais (LANS) como em redes metropolitanas (MANS), pois possibilita taxas de transmisso elevadas, porm baixas comparadas a uma rede cabeada, e alta confiabilidade.
32 A faixa de freqncia utilizada nas transmisses spread spectrum a ISM. A tabela abaixo demonstra as faixas de freqncia existentes e que no exigem licenciamento para utilizao, de acordo com o Federal Comunications Comission (FCC).
Faixa de Freqncia Utilizao 902 928 MHZ Telefones sem fio e outros 2.4 2.4835 GHZ Telefones sem Fio, Bluetooth, 802.11b e 802.11g 5.15 - 5.35 GHZ 5.725 5.85 GHZ Satlite Mvel, 802.11a, outras tecnologias de redes. 24 GHZ e 60 GHZ Outras Tecnologias
Tabela 1: Faixas de Freqncias Fonte: http://www.teleco.com.br
A maioria dos equipamentos para redes sem fios comercializados atualmente, se utilizam desta tcnica de transmisso, alm de serem desenvolvidos utilizando as definies do padro IEEE 802.11 em suas derivaes. Uma caracterstica das tcnicas de espalhamento espectral (spread spectrum) ser de difcil rastreamento sem o prvio conhecimento da seqncia ou cdigo utilizado na comunicao. Embora o padro 802.11 empregue esta tcnica, ele no fornece privacidade na camada fsica, pois utilizam cdigo e seqncia conhecidos. Existem basicamente trs sistemas de codificao utilizados nesta tcnica de transmisso, que a codificao por salto de freqncia (Frequency Hopping), por seqncia direta (Direct Sequence) e OFDM (Orthogonal Frequency Division Multiplexing). Estas tcnicas sero apresentadas a seguir.
33 3.4 Spread Spectrum com Salto de Freqncia
O salto de freqncia consiste em transmitir a informao por diversos canais, atravs de saltos determinados por uma seqncia denominada pseudo-aleatria. Esta seqncia determinada por um circuito gerador de cdigos pseudo- randmicos que na verdade trabalha num padro pr-estabelecido. Tanto o transmissor quanto o receptor entendem esta seqncia de saltos, isso o que pondera OLIVEIRA & FILHO.
Figura 1: Transmisso FHSS Fonte: OLIVEIRA & FILHO
O padro 802.11 utiliza a faixa de freqncia entre 2,4 GHZ e 2,4835 GHZ para transmisses utilizando FHSS. Com isso, o FCC define que a banda de 83,5 MHZ seja dividida em 83 subcanais de 1 Mhz, devendo ser utilizados, no mnimo, 75 subcanais para o FHSS, isso diz SANTANA (2003,p.31). O padro define tambm a modulao GFSK (Gaussian Frequency Shift Keying) como a modulao padro para o sistema de codificao FHSS. Em CARVALHO (2004, p.9) diz que existem dois tipos de comunicao utilizando o FHSS (Frequency Hopping Spread Spectrum). Estes tipos se 34 diferenciam basicamente pela velocidade em que realizada a troca de freqncias durante a transmisso. Um dos tipos conhecido como Fast Frequecy Hopping Spread Spectrum (FFH-SS), tambm conhecido como modo rpido. Neste modo, um smbolo parcialmente transmitido numa determinada freqncia, sendo finalizada a transmisso do mesmo smbolo em uma freqncia diferente. No caso do Slow Frequency Hopping Spread Spectrum (SFH-SS), tambm conhecido como modo lento, a situao diferente, ou seja, um ou mais smbolos so transmitidos em uma mesma faixa de freqncia. O FHSS limitado a uma taxa de 2 Mbps, isso devido a limitao do FCC que impe que cada subcanal deve ter uma largura de banda de 1 MHZ. Com isso, forar o uso de toda a banda de 83,5 MHZ causa um grande overhead pelos freqentes saltos, o que limita a velocidade, afirma ABRAS & SANCHES (2002, p.5).
3.5 Spread Spectrum com Seqncia Direta
O processo de espalhamento Direct Sequence Spread Spectrum (DSSS) tambm chamado de modulao digital. Nesta tcnica, a informao a ser transmitida em forma de sinal multiplicado por um cdigo com caractersticas pseudo-randmica, gerando assim o chip code. Assim, os bits a serem transmitidos so representados em forma de smbolos. No lado do receptor, o sinal de informao recuperado por um processo similar, ou seja, existe sincronizao entre o transmissor e o receptor em relao ao cdigo utilizado.
35
Figura 2: Transmisso DSSS Fonte: SANTANA (2003,p.45)
De acordo com o padro, para se transmitir necessrio que seja adotado uma seqncia de Baker (Baker Sequence), que consiste em 11 smbolos, definida como +1,-1,+1,+1,-1,+1,+1,+1,-1,-1,-1, sinalizando assim uma taxa de chips (smbolos) de 11 Mchips/s, quando se transmite a 1 Mbps. Nesta tcnica, a banda de 2.4 Ghz, que tambm utilizada, dividida em 14 canais de 22 MHZ. Cada canal adjacente sobrepe um ao outro parcialmente, com 3 dos 14 canais sendo totalmente no sobrepostos. Os dados so enviados por um destes canais de 22 MHZ, no havendo saltos para outras freqncias. A velocidade alcanada nesta tcnica pode chegar a 11 Mbps, segundo ABRAS & SANCHES (2002). Esta tcnica de representao dos bits a serem transmitidos atravs de chips, ajuda a resolver o problema de rudo do canal, pois mesmo que alguns chips venham a ser perdidos ou corrompidos durante a transmisso, tcnicas estatsticas embutidas no rdio so capazes de recuperar os dados originais sem a necessidade de retransmisso. A modulao utilizada nesta tcnica a BPSK (Binary Phase Shift Keying) para velocidades de 1 Mbps e QPSK (Quadrature Phase Shift Keying) para velocidades de 2Mbps. 36 Para que velocidades superiores a 2Mbps sejam alcanadas, a DSSS emprega uma outra forma de codificao no lugar da Barker Sequence, que a CCK (Complementary Code Keying). Esta nova forma de codificao emprega um conjunto de 64 palavras de 8 bits, sendo CCK com 4 bits de dados representados em um smbolo para velocidades de 5 Mbps e CCK com 8 bits para 11 Mbps.
3.6 Orthogonal Frequency Division Multiplexing (OFDM)
O OFDM uma tcnica de modulao presente nos mais recentes sistemas de comunicao, inclusive em redes wireless. Isso se deve principalmente pela sua grande eficincia espectral apresentada. No padro 802.11, esta tcnica empregada pelas especificaes 802.11a e 802.11g, o que possibilita que ambas operem em uma velocidade nominal de 54 Mbps. A idia bsica desta tcnica dividir um fluxo de transmisso de alta taxas de bits por um fluxo com baixa taxa, utilizando consequentemente uma menor largura de banda e empregando a sobreposio de canais, atravs da transmisso paralela com subportadoras. Em um sistema onde so empregadas multiplexaes por freqncia, como por exemplo em um sistema FDM (Frequency Division Multiplexing), a transmisso exige que entre as portadoras exista uma banda de guarda, que funciona como um espaamento entre as portadoras. No sistema OFDM isso diferente, pois a banda de guarda substituda pela sobreposio. Com o uso do OFDM, a eficincia espectral pode chegar a at 50 % comparados com outras tcnicas que empregam FDM. Observe abaixo uma figura que ilustra esta sobreposio de portadoras. 37
Figura 3: Modulao OFDM
Antes da transmisso, a informao dividida em uma grande quantidade de canais com baixa largura de banda e taxa de transmisso. Estes canais auxiliam na modulao das portadoras ortogonais de forma que a durao do smbolo correspondente se torne maior do que o atraso de propagao dos canais de transmisso. Algumas das vantagens encontradas neste sistema de modulao que alm de proporcionar maior taxa de transmisso, apresenta alta robustez aos ambientes com desvanecimento seletivo em freqncia. Tambm apresenta bons resultados em ambientes com interferncia de freqncias e rudos impulsivos. Em contrapartida, algumas das desvantagens de sua utilizao que a dificuldade para sincronizar as portadoras maior, alm de exigir maior ampliao do sinal, uma vez que o sinal no apresenta uma natureza constante durante seu processo de transmisso.
3.7 Modos de Operao
Basicamente, os modos de operao de uma rede wireless so dois, um estruturado e o outro ad hoc. Cada um dos modos possui particularidades que os diferenciam e os fazem importantes para determinadas solues. 38 As redes estruturadas constituem uma forma de acesso atravs de um ponto centralizador, que o Access Point (AP). Nesta topologia, todas as transmisses so realizadas atravs deste AP, o que pode realizar papel tambm de roteador, brigde, dentre outras funcionalidades. Existem duas formas bsicas de operao em uma rede estruturada, que a Basic Service Set (BSS) e a Extended Service Set (ESS). Em uma BSS, existe a presena de apenas um AP e diversas estaes. Assim, a rea de abrangncia da rede limitada rea coberta por este AP, o que limita bem as caractersticas desta rede. Na figura abaixo pode-se observar graficamente a composio de uma BSS:
Figura 4: Basic Service Set (BSS)
Uma outra forma de operao de uma rede estruturada em modo estendido. Neste caso, diversos APs so utilizados para formar um amplo raio de cobertura, atingindo assim uma rea de cobertura bem superior de apenas uma BSS. Alm de oferecer maior cobertura, um sistema ESS possibilita ainda, dentre outras coisas, o balanceamento de carga, o que diretamente afeta no desempenho da rede. A figura abaixo ilustra a composio de uma rede com caracterstica ESS. 39
Figura 5: Extended Service Set (ESS)
Um outro conceito que surge com esta idia de servio estendido o roaming. Em ambientes formados por diversos APs, as estaes podem se locomover dentro da rea de cobertura e terem acesso a rede normalmente, isso porque a estao autorizada em todos os APs que compem o servio estendido. Uma caracterstica importante a ser observada neste processo de roaming, que a troca de AP pela estao, que no momento em que ocorre a solicitao por parte da estao, o processo de desassociao e reassociao ativado. Para acontecer o roaming, a estao deve notar, atravs de mecanismos prprios, que o sinal da conexo atual est se deteriorando. Neste momento, feita uma busca para localizar um sinal de melhor qualidade, provavelmente proveniente de um outro AP, pertencente ao ESS. Encontrando um novo AP com sinal melhor que o atual, o processo de roaming entra em ao. Neste instante solicitada ao AP atual, pela prpria estao, a desassociao, e uma associao requerida imediatamente ao novo ponto de acesso. Com isso, o sistema de distribuio ESS informado sobre a nova localizao da estao. 40 No momento da troca efetiva de pontos de acesso, ocorre por alguns instantes, em questo de milisegundos, uma pequena interrupo na transmisso, que o perodo de troca entre os dois pontos de acesso. Este tempo conhecido como handoff, e um dos motivos que ocasionam perdas de pacotes em redes sem fios, pois a comunicao interrompida momentaneamente. J o modo de operao ad hoc de uma rede funciona sem qualquer tipo de infra-estrutura, tendo apenas as estaes como membros da rede. Neste tipo de rede, as informaes so trocadas diretamente entre as estaes, podendo estas virem a fazer papel de roteadores, estabelecendo rotas para a comunicao entre estaes geograficamente distantes e fora de alcance direto. Uma das grandes vantagens desta rede sua facilidade de implantao, pois em apenas alguns minutos pode-se formar redes para serem utilizadas pelos mais variados tipos de aplicaes. As formas bsicas de operao de uma rede ad hoc so duas, Independent Basic Service Set (IBSS) e Mbile Ad Hoc Networks (MANET). Em uma IBSS, a ligao feita apenas em duas estaes. A figura abaixo ilustra esta forma:
Figura 6: Independent Basic Service Set (IBSS)
A outra forma de uma rede ad hoc a MANET. As estaes que constituem uma MANET so capazes de estabelecer rotas para possibilitar a comunicao entre 41 mquinas que diretamente entre si no conseguem estabelecer comunicao, geralmente pela distncia entre elas.
Figura 7: Mobile Ad Hoc Networks (MANET)
3.8 Controle de Acesso ao Meio
O IEEE define em suas padronizaes aspectos referentes camada fsica e de enlace de dados. Isto prev os mecanismos bsicos para controle do meio fsico, tendo como principal ponto o algoritmo de acesso ao meio.
Figura 8: IEEE 802.11
Em uma rede sem fio existem basicamente dois algoritmos para controlar o acesso ao meio, um sem e outro com conteno. A conteno refere-se forma que o acesso ao meio tratado, e principalmente quem estabelece o controle sobre este meio. 42 No algoritmo sem conteno, o qual tem como controlador do meio o prprio AP, as estaes solicitam autorizao de transmisso diretamente a este, o qual controla o momento no qual elas podero transmitir. Este tipo de algoritmo s pode ser utilizado em redes estruturadas, por depender exclusivamente do AP. No caso do algoritmo com conteno, amplamente utilizado por diversos padres, o controle do meio se d pela prpria estao atravs do algoritmo denominado Carrier Sense Multiple Access / Colision Avoidance (CSMA/CA) . Neste caso, o algoritmo implementa um mecanismo para evitar que as colises existam, amenizando assim o problema da perda de pacotes. Uma caracterstica que pode ser observada em qualquer tipo de algoritmo definido para atuar sobre redes sem fios o alto overhead, pois so muitos os controles necessrios para tratar o problema das altas perdas ocasionadas por diversos fatores, como a perda por deficincias no meio fsico (interferncias, reflexos de ondas, dentre muitos outros). Um fator adicional para resolver um problema especfico conhecido como n escondido foi adicionado ao protocolo CSMA/CA, que o envio de pacotes RTS/CTS. Com isso, ns que antes no se enxergavam e provocavam coliso pela dificuldade de ler o canal com eficincia, agora empregam um mecanismo funcional, mas que diretamente adiciona mais overhead ao funcionamento da rede.
3.9 Caractersticas de transmisso em redes sem fios
Algumas caractersticas bsicas podem ser definidas para redes sem fios. Em geral, a questo do desempenho pode ser colocada como um dos fatores que as 43 diferenciam de uma rede cabeada. importante destacar estes pontos para que se tenha compreenso das causas do problema em estudo. Em uma rede sem fio, os tempos de resposta (RTT), largura de banda e taxa de erros (BER), dentre outros fatores, possuem valores totalmente distintos de uma rede cabeada. Isso ocorre principalmente pelas condies de transmisses no meio fsico, o qual suscetvel a diversos tipos de interferncia, causando assim elevadas taxas de perdas de pacotes. Algumas destas caractersticas so:
Bit Error Rate (BER): Devido ao uso do ar como meio fsico, as condies podem variar de tempo para tempo, podendo ter perodos com altas taxas de erros ocasionados por interferncias de diversos tipos, alm de outras incidncias naturais. Esta taxa de erros em uma rede sem fio se aproxima dos 0,1% ou 10 -3 , enquanto em uma rede cabeada gira em torno de 0,0001%, ou 10 -6, afirma TANENBAUM (1997).
Largura de Banda: Segundo SANTANA (2003, p.46), a largura de banda um outro ponto inferior se comparado a uma rede cabeada. Em uma rede sem fio encontram- se geralmente velocidades de at 54 Mbps, nos atuais padres IEEE 802.11a e IEEE 802.11g. O padro mais utilizado atualmente no Brasil, o IEEE 802.11b, opera com uma velocidade de at 11 Mbps, o que bem inferior a uma rede do padro Fast Ethernet que opera com at 100 Mbps. Um outro ponto a considerar a quantidade de usurios vinculados ao ponto de acesso, o que faz com que a velocidade seja diminuda proporcionalmente a quantidade de usurios conectados.
44 Round Trip Time (RTT): O RTT o tempo que o pacote gasta para ser transmitido e confirmado. Em uma rede sem fio, o tempo do RTT em mdia 20ms, enquanto em uma rede cabeada no ultrapassa os 5ms, o que afirma SANTANA (2003, p.46). Esse um ponto que prejudica consideravelmente o desempenho da rede e um dos alvos indiretos do estudo, uma vez que o TCP utiliza o RTT para controlar os timeouts de retransmisso. Considerando um caminho onde um trecho seja de rede sem fio, o RTT ser afetado, forando assim um tempo maior para retransmitir um pacote.
Interferncia nos Transmissores: Como a maioria dos equipamentos utiliza a mesma freqncia para transmisso, geralmente a faixa de freqncia entre 2,4 e 2,4835 GHz, podem ocorrer interferncias entre os mesmos, provocando perdas de pacotes.
Distncia do Ponto de Acesso: Quanto maior a distncia entre a estao e o ponto de acesso, pior a qualidade do sinal e maior a atenuao.
Mobilidade: Caracterstica inexistente em uma rede cabeada, mas que para uma rede sem fio, alm de oferecer uma srie de benefcios e engrandecer a tecnologia, traz tambm alguns problemas bsicos de funcionamento. Estaes se locomovendo podem ter momentos de desconexo (handoffs), o que ocasiona a perda de pacotes. Assim, para o TCP, esse fato considerado como congestionamento.
45 Consumo de Energia: Um outro ponto fundamental para o sucesso de qualquer soluo sem fio o consumo de energia. Para transmitir informaes pelo meio, necessrio que o transmissor faa uso de energia, o que na maioria dos equipamentos fornecida por meio de baterias. Assim, caso haja pouca potncia nesta bateria, o transmissor passa a ter dificuldades para transmitir, provocando assim aumento na taxa de erros (perdas). Com isso, mais uma vez o TCP interpretar como congestionamento da rede e provocar uma queda drstica no desempenho.
3.10 Avaliando o desempenho
Para se avaliar o desempenho em uma rede, importante que seja considerado o tipo de trfego presente. Basicamente podemos identificar como tipos de trfegos o interativo e em rajadas. No trfego interativo, os dados a serem transmitidos geralmente no atingem a limitao da rede, pois a fonte geradora dos dados geralmente produz menor quantidade de informaes do que a rede pode transmitir. Assim, so praticamente imperceptveis problemas de desempenho ocasionados nesta situao. Problemas de desempenho geralmente so notados em uma situao onde o trfego acontece em rajadas, ou seja, possui momentos de baixos e altos volumes de dados a serem transmitidos. Isso porque a quantidade de informaes a serem transmitidas supera a capacidade de transmisso da rede, o que utiliza assim o conceito de buferizao, onde na maioria do tempo h informaes a espera para serem transmitidas. 46 Um dos principais motivos que causam a degradao do desempenho do TCP operando sobre uma rede sem fio o fato de no conhecer a razo da perda do pacote, sendo assim, todas as perdas so consideradas como congestionamento da rede. Neste contexto, a vazo da rede diminuda, pois ao estouro do timeout e retransmisso de um determinado pacote, o tamanho da janela de congestionamento da rede diminudo pela metade e o processo de incio lento ativado (slow start). Como apresentado em captulos anteriores, o TCP se utiliza de duas janelas para controlar o tamanho do segmento a ser transmitido, a janela com o tamanho do buffer do receptor e a janela de congestionamento. Em condies normais, as duas operam com o mesmo tamanho. No momento da perda, a janela de congestionamento reduzida pela metade, e o menor valor entre elas adotado na transmisso. Alm disso, o TCP ainda efetua o backoff do temporizador, que o tempo baseado no RTT (Round Trip Time) para controlar os pacotes que devem ser retransmitidos. Neste caso, o valor do temporizador dobrado, o que retarda ainda mais o tempo para se retransmitir um pacote perdido. Em casos onde o congestionamento realmente ocorre, isso se torna um mecanismo de muita eficincia, afinal, a vazo da rede diminuda para possibilitar que o ponto de comutao onde est ocorrendo o congestionamento seja poupado e consiga processar todas as requisies no momento. Um outro fator que influncia no desempenho do protocolo sobre uma rede sem fio o handoff, o qual um caso especfico desta tecnologia de rede operando em modo estruturado. O handoff caracterizado como a desconexo presente 47 durante o processo de reassociao e desassociao de uma estao de um determinado ponto de acesso para um novo. Neste caso, no tempo em que ocorre a desconexo, por mais breve que seja, pacotes so perdidos e identificados pelo protocolo com congestionamento, diminuindo assim imediatamente a vazo da rede atravs do mecanismo de congestionamento. Assim, fica claro que diante das freqentes perdas que ocorrem em uma rede sem fio, esperado que o desempenho seja bem inferior, pois na maioria do tempo a rede estar operando com a janela de congestionamento reduzida, o que ocasiona em menor vazo da rede.
48 CAPTULO 4 PROPOSTAS EXISTENTES PARA OTIMIZAO DO PROTOCOLO TCP SOBRE REDES SEM FIOS
Neste captulo sero apresentadas algumas das propostas existentes atualmente para amenizar o problema em questo. Para tanto, sero apresentadas as caractersticas de cada proposta, bem como aspectos que favorecem ou limitam sua utilizao. Existem propostas que empregam caractersticas distintas entre si, algumas at fugindo dos princpios bsicos do protocolo, como as que oferecem quebra de conexo. Basicamente, podemos classificar as propostas de acordo com trs modalidades, que so os Protocolos de camadas inferiores ao TCP, os Protocolos com quebra de conexo e finalmente os Protocolos fim-a-fim, afirma SANTANA (2003, p.47).
4.1 Protocolos de Camada Inferior ao TCP
A principio existem duas verses do TCP que fazem parte desta gama de protocolos, um o Snoop e o outro uma verso modificada deste, o Snoop Otimizado. Os dois protocolos empregam a idia de buferizao aplicada sobre os pacotes que passam sobre um determinado ponto, que o AP.
4.1.1 Protocolo Snoop
49 A operao bsica do protocolo snoop consiste em analisar todos os pacotes que passam em ambas as direes entre um host mvel e um fixo, em um determinado ponto, armazenando assim um cache dos segmentos, at que seja enviado um ACK confirmando o recebimento dos dados pelo receptor, afirma LABRADOR (2002). Neste protocolo, o AP ao qual um determinado host mvel est conectado encarado por este como forwarding, ou seja, l os pacotes que passam e armazena at receber o ACK de confirmao, pois caso haja a necessidade de retransmisso de um determinado pacote, a retransmisso ser feita pelo prprio AP, e no pelo host fixo. Para que a transmisso seja possvel pelo prprio AP, o RTT estabelecido para a transmisso na rede sem fio deve ser menor que o tempo estabelecido pelo host fixo. Uma outra tcnica empregada por este protocolo o conceito de multicast, onde todos os APs prximos ao host mvel so postos como buffering, ou seja, armazenam os pacotes por um determinado instante de tempo. Isto utilizado para amenizar ou solucionar os problemas ocasionados pelo handoff, pois neste caso, os hosts mveis mesmo se associando a um novo AP prximo ao seu atual, no haver necessidade de retransmisso por parte do host fixo. O controle se torna eficiente em casos onde no ocorrem perdas com muita freqncia, situaes presentes nos longos perodos de handoff e desconexes devido a mobilidade. Isso limita parcialmente a eficincia da soluo, que pode ser considerada uma boa sada em situaes em que no ocorrem erros por longos perodos. 50 Como grande vantagem pode-se citar o fato de no necessitar de alteraes no protocolo TCP da rede fixa, pois todo controle feito pelo AP. Outro ponto positivo que esta proposta mantm a semntica fim-a-fim do TCP. Uma desvantagem da proposta a falta de suporte a servios de criptografia, uma vez que necessrio que o AP faa a leitura dos dados de endereamento para fornecer resposta origem e retransmisses ao destino, ficando este tipo de servio limitado somente camada de aplicao. De acordo com SANTANA (2003, p.70), em um ambiente onde a taxa de erro de 10 -4 , o ganho em desempenho do protocolo snoop sobre o TCP de 94%. Se o BER for de 10 -5 , o ganho de 63% e finalmente, se o BER for de 10 -6 o ganho aproximadamente 26%. A medida que a taxa de erro diminui, a medida de ganho diminui proporcionalmente.
4.1.2 Protocolo Snoop Otimizado
A proposta de otimizao do protocolo TCP Snoop traz mais eficincia na transmisso atravs da utilizao de duas tcnicas em conjunto, a de buferizao e de confirmao seletiva. A modificao fica restrita apenas na rede sem fio, sendo necessrias apenas mudanas no host fixo e no AP. A tcnica de buferizao j est presente na verso Snoop do TCP. Como mencionado anteriormente, est tcnica consiste em registrar todos os segmentos que passam pelo AP a fim de otimizar o processo de retransmisso em casos de perdas na rede sem fio, onde ao detectar uma perda, o prprio AP retransmite o segmento, evitando assim o estouro do timeout no transmissor. 51 Nesta soluo, o AP desempenha o mesmo papel que desempenhava na verso Snoop, apenas adicionando algumas melhorias na forma de retransmisso dos segmentos perdidos. No caso da confirmao seletiva, caracterstica adicional desta soluo, a confirmao dos segmentos pelo host mvel equivalente aplicada na tcnica utilizada pelo TCP Sack, ou seja, a confirmao de mltiplos segmentos que foram recebidos. O funcionamento bsico desta tcnica confirmar no apenas o ltimo segmento recebido na ordem, como na verso padro, e sim, todos os segmentos recebidos, a fim de otimizar o processo de retransmisso. No AP necessrio que sejam feitas modificaes para que este possa interpretar os ACKs seletivos, tambm conhecidos como ACKw. Estas modificaes exigem que ele interprete quais foram os pacotes recebidos pelo host mvel, e reenvie em uma nica vez todos os pacotes faltantes, tendo assim maior ganho de eficincia no processo de transmisso. A nica aplicao desta soluo para redes estruturadas, ou seja, com a presena de um ponto de acesso, o qual faz o papel de mediador na comunicao. Os casos de handoffs e longas desconexes so tratados pela soluo, onde so amenizados pela transmisso seletiva dos segmentos, diminuindo assim o tempo de transmisso total. Algumas caractersticas positivas desta proposta seria a manuteno da confiabilidade fim-a-fim e a no necessidade de alterao no protocolo do host fixo.
4.2 Protocolos com quebra de conexo
52 A caracterstica de um protocolo com quebra de conexo a de dividir a conexo em duas, uma do host fixo at o AP e outra do AP at o host mvel. Mesmo estabelecendo esta diviso de conexo, algumas implementaes conseguem manter a semntica fim-a-fim do protocolo. Algumas verses do TCP que empregam a quebra de conexo so apresentadas abaixo.
4.2.1 Mecanismos de Notificao Explcita
O mecanismo de notificao explcita emprega a tcnica de feedback para reduzir o problema causado pelo mecanismo de congestionamento, pondera SANTANA (2003, p.74). Algumas variaes desta tcnica so o Explicit Notification (EN), Explicit Congestion Notification (ECN), Explicit Bad State Notification (EBSN) e Explicit Loss Notification (ELN). O Explicit Congestion Notification (ECN) uma tcnica derivada de uma outra empregada por roteadores, a Random Early Detection (RED). Atravs desta tcnica, os roteadores, antes de entrarem em pleno congestionamento, comeam a descartar alguns pacotes aleatoriamente com fim de prevenir o congestionamento. A exemplo desta tcnica utilizada pelos roteadores, a ECN, em vez de descartar os pacotes, apenas faz uma marcao quando o estado da fila encontra- se em um estgio considerado de sobrecarga. Assim, em um prximo ACK enviado ao transmissor, a marcao enviada e o transmissor d incio ao processo de congestionamento. J na proposta Explicit Bad State Notification (EBSN), no momento da deteco de uma perda causada na rede sem fio, o AP comunicado e este envia 53 uma notificao ao host fixo para o reincio do temporizador, evitando assim um estouro do tempo e o incio do procedimento de congestionamento, o que seria totalmente prejudicial para o desempenho nesta situao. Esta tcnica, a EBSN, pode ser utilizada juntamente com o protocolo snoop para otimizar mais ainda o desempenho deste, uma vez que ao retransmitir do prprio AP para o host fixo, uma notificao de perda seria enviada ao host fixo, alterando assim sem temporizador e evitando a retransmisso. Na notificao explicita de perda (ELN), um flag ELN adicionado ao ACK que enviado pelo receptor. Assim, ao detectar a perda no enlace sem fio, o prximo ACK a ser enviado pelo receptor indicado com o flag e interpretado pelo transmissor como um erro e no como congestionamento. Tanto o ESBN como a ELN necessitam de um mecanismo especifico para identificar o problema causado no meio, tendo assim condies de informar o transmissor sobre as condies que causaram o erro. A principal caracterstica desta soluo apenas identificar o verdadeiro motivo da perda, embora a maioria das implementaes de notificao explicita no consigam realizar esta identificao sozinha. Conseguem manter a semntica fim-a- fim em todas suas verses. Um outro ponto marcante a questo do protocolo do host fixo, o qual necessrio ser modificado para possibilitar que o temporizador seja ajustado a cada ACK recebido com as notificaes. Esta questo j inviabiliza a soluo, uma vez que a verso Reno, que a padro, tem um desempenho excepcional em redes cabeadas, no vindo a ser necessria sua alterao, alm claro de sua utilizao em nvel mundial.
54 4.2.2 Tcnicas de Reconhecimentos Mltiplos
Uma outra tcnica encontrada para tentar uma soluo para o problema foi atravs da utilizao de mltiplos reconhecimentos (ACKs), ou seja, os pacotes de confirmao de recebimento so diferenciados para possibilitar que o transmissor gerencie com mais eficincia a questo da retransmisso de pacotes quando ocorrerem perdas. A idia principal criar um ACK provisrio (ACKp) que enviado do AP ao transmissor para identificar o recebimento at o ponto de acesso, e um outro ACK (ACKc) para confirmar o recebimento pelo host mvel. Alm disso, o temporizador do transmissor modificado, passando a ser composto por quatro tipos de temporizadores, que so os RTT, RTT(w), RTO, RTO(w). Para cada segmento transmitido so ativados os quatro tipos de temporizadores. O papel do Round Trip Time (RTT) controlar o tempo total, como em outras verses, considerando o tempo de transmisso e recepo do ACKc vindo do receptor. O RTT(w) controla o tempo de espera pelo ACKp vindo do AP. No caso do RTO, refere-se ao tempo mximo que o transmissor espera por um ACKc vindo do receptor. Por ltimo tem-se o RTO(w), que controla o tempo mximo que o ponto de acesso (AP) espera por um ACKc vindo do MH (Mbile Host), afirma SANTANA (2003,p. 78). Assim, quando um segmento enviado pelo transmissor, este armazenado pelo AP e j confirmado atravs de um ACKp. Aps ter sido confirmado pela estao mvel, um ACKc enviado para o transmissor. Em caso de perda na rede sem fio, os temporizadores do transmissor j esto ajustados atravs do ACKp j enviado pelo AP, evitando assim a retransmisso desnecessria. 55 Uma caracterstica positiva desta soluo o suporte a longos perodos de desconexes devido ao seu controle de temporizadores. Assim, as freqentes desconexes causadas pelos constantes handoffs poderiam ser amenizadas. Um outro ponto positivo esta na retransmisso pelo prprio AP em caso de perda na rede sem fio. Embora apresente estas caractersticas positivas, uma barreira para sua utilizao est na necessidade de modificao do protocolo tanto do AP quanto do host fixo, o que inviabiliza a soluo pela grande utilizao da verso Reno, como citado anteriormente em outras solues.
4.2.3 TCP Indireto (Indirect TCP)
A proposta do TCP Indireto de dividir a conexo entre um host fixo e um mvel em duas partes, fazendo com que no haja nenhuma relao entre as mesmas. O ponto de diviso da conexo no AP, passando este a coordenar toda a comunicao entre os dois pontos. A idia bsica de que o AP receba o segmento vindo do host fixo e j devolva um ACK confirmando. Neste momento, o mesmo segmento recebido armazenado e retransmitido para o host mvel, sendo mantido at que este confirme o recebimento. Em casos onde ocorre o handoff, a soluo prope que no ACK a ser devolvido ao host fixo pelo AP, seja alterado o tamanho de janela do receptor, sendo esta informada com valor menor justamente para desacelerar a transmisso, amenizando assim o problema. 56 Como existem duas redes distintas, o protocolo utilizado pelo lado do host mvel pode ser algum outro, no sendo necessariamente o TCP. Uma outra caracterstica particular desta soluo a exigncia de recompilao nas aplicaes do host mvel, para fim de acesso atravs de chamadas especiais (via biblioteca), diz SANTANA (2003, p.76). Como vantagem desta soluo pode-se citar o controle de fluxo independente, pois as redes so tratadas como distintas, permitindo assim identificar e tratar as caractersticas de cada uma diferentemente. Alm disso, as nicas alteraes necessrias so no ponto de acesso e no host mvel, no sendo preciso alterar o host fixo. Dentre as desvantagens esto a quebra da semntica fim-a-fim e a sobrecarga gerada no ponto de acesso.
4.2.4 Mbile Transmission Control Protocol (TCP Mvel)
A soluo proposta pelo TCP Mvel, ou M-TCP como tambm conhecido, prev uma estrutura hierrquica de trs nveis na rede sem fio, a dos host mveis (MH), dos pontos de acessos (MSS) e por fim em nvel mais superior os SHs, que gerenciam todo o processo de conexo. A figura a seguir ilustra esta hierarquia em nveis:
57 MSS SH MH Rede Wired
Figura 9: Estrutura do Protocolo M-TCP
Nesta hierarquia, a verso padro do protocolo TCP pode ser utilizada at o nvel do SH (primeiro nvel), que so equipamentos que fazem o papel de pontes (bridges). A partir deste nvel o M-TCP utilizado. O principal ponto desta soluo que ela emprega meios para resolver o problema das longas desconexes sejam causadas pela sada da estao da rea de cobertura ou at mesmo pelos freqentes handoffs. Para isso, ela cria toda esta hierarquia e estabelece algumas funes especficas para os SHs, que so os gerenciadores das conexes dos hosts mveis. Todo o controle de handoff realizado pelos SHs. O papel do SH de retransmitir o segmento vindo do host fixo para o host mvel, sem sequer armazena- lo. O mesmo procedimento ocorre com os segmentos de confirmao, ou ACKs, que so passados do host mvel ao host fixo. O mecanismo utilizado pelo M-TCP para possibilitar melhor desempenho na rede, colocar o transmissor em estado persistente atravs da janela do receptor 58 informada nos segmentos de ACK. Isto pode ser conseguido informando que a janela de recepo (tamanho do buffer do receptor) zero. Isso ocorre no momento em que, ao retransmitir um segmento vindo do host fixo para o host mvel, o SH ativa um temporizador (RTO) para controlar o recebimento do segmento pelo host fixo. Caso o receptor no receba o segmento e o temporizador (RTO) expire, o SH envia ao host fixo um segmento ACK informando a janela do receptor como zero, forando assim uma parada na transmisso. Isso apenas d uma pausa na transmisso, evitando assim retransmisses desnecessrias e diminuio da janela de congestionamento. Embora haja esta hierarquizao proposta pelo protocolo, a semntica fim-a- fim do protocolo TCP mantida, pois o SH apenas faz papel de retransmissor. Um outro ponto positivo nesta soluo o no caso dos handoffs, pois como no h armazenamento de informaes nos SHs, no momento da troca no preciso trocar muitas informaes. Esta soluo realmente interessante para perodos longos de desconexes, mas no resolve os problemas causados pelas freqentes perdas ocasionadas pelos erros comuns das redes sem fios.
4.3 Protocolos com conexo fim-a-fim
Os protocolos com conexo fim-a-fim se baseiam no princpio de que a transmisso e confirmao se do diretamente entre dois pontos, sem a necessidade de qualquer tipo de ponto intermedirio. Neste contexto, algumas propostas para soluo do problema em questo foram criadas mantendo principalmente esta questo. 59
4.3.1 Freeze TCP
Uma proposta que tambm emprega a semntica fim-a-fim o Freeze TCP. O princpio bsico desta soluo no utilizar nenhum ponto intermedirio na conexo, sendo todo o controle realizado pelo prprio receptor. O funcionamento da proposta se d basicamente pelo envio de pacotes de confirmao (ACKs) com o tamanho da janela do receptor zerado, forando assim que o transmissor entre em modo persistente. Depois de entrar em modo persistente, o transmissor constantemente verifica o estado do receptor, confirmando a continuidade da janela zerada (ZWP Zero Window Probe). Para recomear a transmisso de forma mais otimizada possvel, a soluo prope que sejam enviados pelo receptor trs ACKs seguidos, informando o ltimo segmento recebido. Isto interpretado pelo TCP padro, no transmissor, como uma solicitao para inicializar o modo fast retransmit, a retransmisso rpida, como abordada em captulos anteriores. O principal foco da soluo amenizar os problemas causados pelas freqentes desconexes e no pelos freqentes erros comuns em redes sem fios. Esta soluo possui muitas semelhanas com o M-TCP, s se diferenciando pela no utilizao de um ponto centralizador. Um problema que pode comprometer todo o funcionamento da soluo ocorre no momento em que deseja-se que o transmissor interrompa a transmisso. A estao pode tentar transmitir o pacote Zero Windows Advertisement (ZWA) e no mais estar conectada, o que simplesmente no chegaria at o transmissor e este 60 interpretasse como perda, ativando assim todo o procedimento comum, que o mecanismo de congestionamento.
4.3.2 TCP com reconhecimento seletivo
O TCP padro utiliza um mecanismo de confirmao cumulativo, ou seja, ao informar o recebimento de um segmento, o receptor envia ao transmissor um ACK contendo o nmero do prximo segmento a ser recebido. Assim, pacotes enviados com nmero de seqncia superiores a este, mas que tiveram algum perdido no intervalo, acabam sendo retransmitidos. A proposta do TCP Selective Acknowledgement (SACK) de fornecer um mecanismo de confirmao seletiva, ou seja, mltiplos segmentos so confirmados ao transmissor, e no apenas o ltimo como no reconhecimento cumulativo. Assim, o receptor pode informar ao transmissor quais os segmentos que chegaram com sucesso, e apenas retransmitir os que foram perdidos . Em MATHIS (1996) diz que, o TCP SACK um protocolo definido pela RFC 2018 para corrigir problemas de perda de desempenho quando mltiplos segmentos so perdidos. Chegou-se a cogitar sua utilizao no protocolo padro, porm alguns testes levaram dvidas sobre suas melhorias quando utilizado em redes wired. Por ser modificado apenas o processo de confirmao, toda a semntica fim-a-fim e outras caractersticas da verso padro so mantidas. Para que o protocolo possa utilizar o mecanismo de confirmao seletiva, duas informaes devem ser trocadas, uma no estabelecimento da conexo, que o envio de um segmento com uma Sack permited no cabealho, informando a 61 utilizado do SACK, e a outra trocada durante a conexo, que a SACK, para informar os segmentos confirmados. Para isso, necessrio que sejam modificados tanto o TCP do host fixo como o TCP da rede sem fio, pois ambos devem estar preparados para entender e gerar estes pacotes SACKs. Embora apresente melhor desempenho em redes sem fio, esta soluo no trata especificamente do problema de congestionamento do TCP sobre redes sem fios, e sim, apenas de confirmaes seletivas. Isso no soluciona os problemas causados pela elevada taxa de erros presente na rede.
4.3.3 TCP WestWood
Uma outra soluo proposta para otimizao do desempenho o TCP Westwood (Bandwidth Estimation for Enhanced Transport over Wireless Links), ou TCPW. Esta proposta emprega modificaes apenas no transmissor, mais especificamente no controle de congestionamento. O princpio bsico de funcionamento baseado no controle da janela de congestionamento atravs de estimativas da taxa de transmisso fim-a-fim, que totalmente transparente para roteadores e o para o prprio receptor. Com isso, se torna compatvel com qualquer tipo de rede e com a verso original do TCP no receptor. A estimativa do tempo de transmisso criada a partir do RTT, e utilizada para configurar o tamanho da janela de congestionamento e o threshold, aps a ocorrncia de uma perda. 62 Dentre as vantagens desta soluo comparada com outras propostas j existentes pode-se citar a no necessidade de pontos intermedirios, a manuteno da semntica fim-a-fim e bom desempenho em redes heterogneas. Como desvantagem pode-se citar a necessidade de modificaes no TCP transmissor, o que inviabiliza a soluo pela grande utilizao a nvel mundial da verso Reno. Outro ponto negativo est na utilizao em redes com altas taxas de erros, o que afeta nos tempos de estimativas gerados, prejudicando assim o desempenho final. 63
5 - CONCLUSES
A queda de desempenho provocada pelo mecanismo de congestionamento do protocolo TCP, operando sobre enlaces sem fios, apresenta perdas significativas de desempenho na transmisso se comparadas a outras redes onde o meio orientado, ou cabeado. Atualmente grande a quantidade de pesquisas voltadas para esta questo, uma vez que as redes sem fios ainda esto em pleno processo de desenvolvimento. Isso faz com que muitas propostas de melhorias surjam, sempre visando solucionar ou pelo menos amenizar o problema. Como se pode notar na maioria das solues apresentadas, o principal foco a aplicao em redes heterogneas, ou seja, onde h presena de redes sem fios e redes cabeadas, como em ambientes corporativos. As redes ad hoc acabam por no terem maior ateno pela sua baixa utilizao, sendo estas consideradas apenas em casos especficos. O protocolo TCP mais utilizado atualmente, a verso Reno, est presente em diversos sistemas de rede espalhados por todo o mundo. Alteraes nesta estrutura apresentariam altos custos, o que inviabiliza qualquer soluo que tem como proposta a alterao do protocolo padro, o qual opera eficientemente sobre redes cabeadas. Dentre as solues citadas, as que apresentam necessidade de alterao do protocolo padro so as de mecanismos de notificao explicita, a tcnica de reconhecimentos mltiplos (Multiple Acknowledgements), o TCP Sack e o TCP 64 Westwood. Assim, fica evidente a total inviabilidade destas solues, uma vez que a alterao na verso Reno se torna invivel pelos motivos j apresentados. Um outro ponto que deve ser considerado para avaliao destas propostas a questo da confiabilidade provida pela proposta do protocolo TCP padro, o qual emprega conceitos de conexo orientada e controle de fluxo para prover segurana na transmisso. A quebra destes conceitos implica em deficincias e insegurana, o que tambm descaracteriza a proposta. Uma proposta cujo foco principal prover a quebra da conexo o TCP Indireto (Indirect TCP). Nesta, cada segmento recebido pelo AP j confirmado sem ao menos ser retransmitido ao seu destino, descaracterizando assim a semntica fim-a-fim. Alm de propor solues para os problemas gerados pelas altas taxas de erros presentes em redes sem fios, a qual chega ser mil vezes superior s das redes cabeadas, segundo SANTANA (2003), qualquer soluo proposta deve ainda oferecer mecanismos de solues para as freqentes desconexes, sejam por handoffs ou at mesmo por desconexes causadas pelo no alcance do sinal pela estao. Um outro ponto fundamental a ser considerado a questo de suporte a criptografia em camadas inferiores, pois muitas das solues, por exigir um ponto intermedirio entre o transmissor e o receptor, como o caso do Snoop, impede este tipo de servio e limita apenas camadas superiores, como de aplicao. A tabela abaixo ilustra algumas destas caractersticas importantes e relaciona com as respectivas solues propostas, identificando se oferecem ou no suporte s mesmas:
65 Critrios SNOOP Snoop Otimizado I-TCP Freeze TCP M- TCP TCP Sack TCP Westwood N Intermedirio Sim Sim Sim No No No No Semntica fim-a-fim Sim Sim Sim Sim Sim Sim Suporta Longas Desconexes No No Sim Sim Sim No Sim Suporta Freq. Desconexes No Sim Sim Sim Sim Sim Controla Altas Taxas de Erros Sim Sim Sim No Sim No Sim Altera Protocolo Host Fixo No No No No Sim Sim Altera Protocolo AP Sim Sim Sim No Sim No No Altera Protocolo Host Mvel No Sim Sim Sim Sim Sim No Suporta Criptografia via IPSEC No No Sim Sim Sim Sim Custo Implementao Baixo Mdio Mdio Baixo Alto Mdio Alto
Tabela 2: Propostas de Otimizao do TCP Fonte: SANTANA (2003, p.86)
5.1 Proposta de trabalho futuro
Uma nova soluo para o problema poderia ser estudada e avaliada. Esta seria uma evoluo do Snoop Otimizado, apenas acrescentando a idia empregada por uma outra tcnica, a Freeze TCP. Como apresentado anteriormente, o protocolo Freeze TCP oferece um mecanismo eficiente para soluo de problemas de desconexes, pois trabalha com mensagens de Zero Window Advertisemen (ZWA) para interromper a transmisso, evitando assim a ativao do mecanismo de congestionamento no transmissor. Empregando-se a idia de funcionamento do Snoop Otimizado, o qual trabalha com buferizao no AP e confirmao seletiva atravs de ACKs seletivos, um ponto que deixa a desejar no momento em que o buffer se enche por uma 66 longa desconexo causada no host mvel ou por um grande fluxo de dados, o que limitaria a soluo. Neste contexto, a tcnica de estado persistente poderia ser utilizada pelo AP para parar a transmisso no host fixo, evitando assim que os segmentos fossem descartados. Para validar esta proposta e certificar seu desempenho superior, comparado principalmente com o Snoop Otimizado, seriam necessrios recursos, os quais no encontram-se disponveis no tempo de desenvolvimento deste trabalho. Assim, esta idia poder ser trabalhada em uma pesquisa aprofundada sobre o assunto. No entanto, deixa-se aqui uma contribuio para uma proposta de trabalho futura. 67 REFERNCIAS
ABRAS, G.E.; SANCHES, J.C.G., Wireless LAN. Curitiba, 2002. Trabalho monogrfico apresentado na PUC do Paran.
Carvalho, T.C.M.B. et al. Novos Paradigmas de Projeto e Solues de Segurana e Desempenho em Redes sem fio, Gramado, 2004. Mini curso apresentado durante o Simpsio Brasileiro de Redes de Computadores 2004.
CHAN, A.C.F. et al. TCP (Transmission Control Protocol) over Wireless Links. Derpartment of Electrical and Electronic Engineering. The Hong Kong University of Science and Technology, Clear Water Bay, Kowloon, Hog Kong.
CHANDRA, D.; HARRIS, R.J.; SHENOY, N.. V. Congestion and Corruption Loss Detection with Enhanced-TCP. <Disponvel em: http://citeseer.ist.psu.edu/671830.html>. Acesso em: 02 de Nov. 2004.
CHANDRAN, K. et al. A Freedback Based Scheme For Improving TCP Performance In Ad-Hoc Wireless Networks. University of Texas at Dallas.
COMMER, D. E. Interligao de Redes com TCP/IP. 3.ed Rio de Janeiro : Campus, 1998.
GAVIN, H.; VAIDYA, N. Analysis of TCP Performance over Mbile Ad Hoc Networks. Department of Computer Science Texas A&M University, College Station. 68
GERLA, M.; TANG, K.; BAGRODIA R. TCP Performance in Wireless Multi-hop Networks. Wireless Adaptive Mobility Laboratory. University of California, Los Angeles.
LABRADOR, M. A.. Performance of TCP over Wireless Networks with the Snoop Protocol. Disponvel em: <http://citeseer.ist.psu.edu/vangala02performance.html>. Acesso em 02 de Nov. 2004.
MATHIS, M.; MAHDAVI, J. RFC 2018 TCP Selective Acknowledgement Options. Internet Engineering Task Force. Standards Track. Out. 1996.
NATANI, A. ;JAKILNKI, J. e MOHSIN, M.; SHARMA. V. TCP for Wireless Networks. Disponvel em: < http://citeseer.ist.psu.edu/natani01tcp.html>. Acesso em 02 de Nov. 2004.
OLIVEIRA, F.; FILHO, H.B. Rdio Spread Spectrum (Espalhamento Espectral). Disponvel em: http://www.teleco.com.br/tutoriais/tutorialss/default.asp>. Acesso em 24 de Abr. 2005.
PINHEIRO, J.M.S. Multiplexao Ortogonal por diviso de freqncia. Disponvel em: http://www.projetoderedes.com.br/artigos/artigo_multiplexacao_ortogonal_por_divisa o_de_frequencia.php>. Acesso em 24 de Abr. 2005.
69 ROCHOL, J. Tcnicas de Transmisso de Dados. Disponvel em: <http://www.inf.ufrgs.br/~juergen>. Acesso em 13 de Dez. 2004.
SANTANA, A. A. Proposta para Otimizao de desempenho do protocolo TCP em redes wireless 802.11. So Paulo, 2003. Tese de Mestrado apresentada na Escola Politcnica da Universidade de So Paulo.
TANENBAUM, A. S. Redes de computadores. 3 Ed. Rio de Janeiro:Campus,1997.
THOPPIAN, M. e VEDURU, A. TCP for Wireless Networks. Disponvel em < http://citeseer.ist.psu.edu/518654.html>. Acesso em 02 de Nov. 2004.