Você está na página 1de 70

UNIVERSIDADE ESTADUAL DE LONDRINA PÓS-GRADUAÇÃO EM REDES DE COMPUTADORES E COM. DE DADOS DEPARTAMENTO DE COMPUTAÇÃO

DESEMPENHO DO PROTOCOLO TCP EM REDES WIRELESS

Londrina - PR

2005

1

UNIVERSIDADE ESTADUAL DE LONDRINA PÓS-GRADUAÇÃO EM REDES DE COMPUTADORES E COM. DE DADOS DEPARTAMENTO DE COMPUTAÇÃO

JOÃO PAULO ALVES

DESEMPENHO DO PROTOCOLO TCP EM REDES WIRELESS

Monografia apresentada ao curso de Especialização em Redes de Computadores e Comunicação de Dados, da Universidade Estadual de Londrina, como requisito parcial para obtenção do título de especialista.

Orientador: Prof. Msc. Fábio Cézar Martins

Londrina – PR

2005

2

Alves, João Paulo Desempenho do Protocolo TCP em Redes Wireless – Local: Universidade Estadual de Londrina, 2005. 69 páginas

Trabalho (Pós-Graduação) – Universidade

Estadual de Londrina – UEL: Londrina – PR,

2005.

3

JOÃO PAULO ALVES

DESEMPENHO DO PROTOCOLO TCP EM REDES WIRELESS

Esta monografia foi julgada adequada para obtenção do título de Especialista, e aprovada em sua forma final pela Coordenação do Curso de Especialização em Redes de Computadores e Comunicação de Dados, do Departamento de Computação da Universidade Estadual de Londrina.

Banca Examinadora:

4

AGRADECIMENTOS

Agradeço a Deus, pelas grandes maravilhas realizadas em minha vida.

5

DEDICATÓRIA

Dedico este trabalho a todos que contribuíram durante o desenvolvimento.

6

“D eus 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 redução significativa de desempenho se dá principalmente pela grande perda de pacotes ocasionada pelas condições de transmissão neste ambiente de rede, uma vez que é suscetível a diversos tipos de interferências, 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 situações de congestionamentos, o que faz com que o mecanismo específico para a situação seja ativado, reduzindo assim consideravelmente o desempenho. Neste contexto, se faz necessário o entendimento das características do protocolo bem como da tecnologia de transmissão em redes sem fios para compreensão do problema. Existem atualmente algumas propostas para otimização do desempenho nestas condições, as quais também estão abordadas neste estudo.

Palavras-chave: TCP. Desempenho. Wireless. Congestionamento.

8

ABSTRACT

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.

Palavras-chave: TCP. Performance. Wireless. Congestion.

9

LISTA DE FIGURAS

Figura 1 -

Transmissão FHSS

33

Figura 2 -

Transmissão DSSS

35

Figura 3 -

Modulação 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 -

Móbile Ad Hoc Networks (MANET)

41

Figura 8 -

IEEE 802.11

41

Figura 9 -

Estrutura do Protocolo M-TCP

57

10

SUMÁRIO

CAPÍTULO 1 - INTRODUÇÃO

12

CAPÍTULO 2 – PROTOCOLO DE TRANSPORTE TCP

14

2.1 – Introdução

14

2.2 Confiabilidade na Transmissão dos Segmentos

16

2.3 Estabelecimento e Encerramento de Conexões TCP

19

2.4 Portas de Comunicações

19

2.5 Tratamento de Dados Urgentes

20

2.6 Determinação do Tamanho dos segmentos

21

2.7 Confirmação e Retransmissão

22

2.8 Tratando o Timeout e Retransmissão

23

2.9 Reação ao congestionamento

25

CAPÍTULO 3 – TECNOLOGIAS DE REDES SEM FIOS

29

3.1 Introdução

29

3.2 O padrão IEEE 802.11

30

3.3 Técnica de Transmissão Spread Spectrum (Espalhamento Espectral)

31

3.4 Spread Spectrum com Salto de Freqüência

33

3.5 Spread Spectrum com Seqüência Direta

34

3.6 Orthogonal Frequency Division Multiplexing (OFDM)

36

3.7 Modos de Operação

37

3.8 Controle de Acesso ao Meio

41

3.9 Características de transmissão em redes sem fios

42

3.10 Avaliando o desempenho

45

CAPÍTULO 4 – PROPOSTAS EXISTENTES PARA OTIMIZAÇÃO 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 conexão

51

4.2.1 Mecanismos de Notificação Explícita

52

4.2.2 Técnicas de Reconhecimentos Múltiplos

54

4.2.3 TCP Indireto (Indirect TCP)

55

4.2.4 Móbile Transmission Control Protocol (TCP Móvel)

56

4.3 Protocolos com conexão fim-a-fim

4.3.1 Freeze TCP

58

59

11

4.3.3 TCP WestWood

61

5 - CONCLUSÕES

63

5.1 Proposta de trabalho futuro

65

REFERÊNCIAS

67

12

CAPÍTULO 1 - INTRODUÇÃO

As redes sem fios, ou wireless, como também são conhecidas, caracterizam

uma forma de acesso complementar em ambientes corporativos, além de soluções

domésticas. Tudo isso se dá principalmente pela mobilidade oferecida, onde em

apenas alguns instantes são montadas redes estruturadas ou ad hoc capazes de

oferecer acesso através da transmissão de rádio freqüência, dispensando assim a

utilização de cabos.

A diferença entre redes sem fio (wireless) e redes cabeadas (wired) se dá

basicamente no meio físico, onde em uma a transmissão é feita por meio do spectro

(wireless), e na outra é direcionada através de cabos metálicos ou de fibras óticas

(wired).

A

utilização

do

spectro

como

meio

de

transmissão,

possibilita

que

os

equipamentos dispensem a utilização de cabos, o que favorece a mobilidade. Em

contrapartida, traz uma série de problemas não presentes nas redes cabeadas,

principalmente no que tange em relação ao desempenho.

A transmissão realizada através do spectro sofre uma série de interferências

e perdas de potência do sinal causadas por diversos fatores, dentre eles a presença

de paredes e outros equipamentos utilizando a mesma faixa de freqüência. Isto

causa grande perda de pacotes, o que afeta drasticamente o desempenho da rede.

Ainda existe o problema da desconexão e handoff dos equipamentos causados pela

mobilidade, o que caracteriza uma pausa temporária na transmissão.

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 transmissão ou por

13

desconexões, como congestionamentos, pois a versão padrão do protocolo não

consegue distinguir estas situações.

O objetivo deste trabalho é estudar a queda de desempenho em redes

wireless, causada pelo mecanismo de congestionamento do protocolo TCP. Para

isso, no capítulo 2 serão abordadas as características do protocolo, a fim de

entender os princípios básicos de transmissão, principalmente do mecanismo de

congestionamento.

No capítulo 3 será dada uma visão geral das redes sem fio, procurando

estabelecer diferenciais com as tecnologias existentes de redes cabeadas. Já no

capítulo 4 serão demonstradas as soluções existentes para otimizar o desempenho

sobre redes wireless. Ao final serão apresentadas as conclusões sobre o estudo e

apresentada uma nova proposta para otimização do protocolo.

14

CAPÍTULO 2 – PROTOCOLO DE TRANSPORTE TCP

2.1 – Introdução

Em alguns modelos de referência utilizados por protocolos de rede, como por

exemplo no Open Systems Interconection (OSI), existe uma série de camadas com

funções distintas, mas que empregam um objetivo final único, prover a transmissão

de

pacotes

entre

dois

pontos

interligados por um meio físico.

caracterizados

como

transmissor

e

receptor,

Algumas camadas, geralmente de nível mais baixo, aplicam o conceito de

transmissão não confiável, tendo a obrigação apenas de enviar o pacote, deixando

de se preocupar se este foi ou não entregue, ou como foram as condições de

entrega. Neste caso, atrasos, congestionamentos da rede, perdas, duplicidades, ou

até mesmo rompimento do pacote devem ser considerados, porém, não são

tratados, o que não possibilita confiança na transmissão.

Do

outro

lado,

em

camadas

superiores,

aplicativos

necessitam

de

mecanismos para controlar o fluxo da transmissão, uma vez que há grande volume

de dados a serem transmitidos.

Uma solução para isso é implementar meios no

próprio 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 ofereça

principalmente controle de fluxo e confiabilidade na transmissão. O Transmission

Control Protoco (TCP) emprega uma série de mecanismos para oferecer estas

funções, dentre eles está o controle de fluxo através do gerenciamento do tamanho

15

de segmentos e janelas, além da confiabilidade alcançada pela utilização da técnica

de confirmação positiva com retransmissão.

Todas estas características 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 transmissão. Além disso, o TCP

suporta diversas tecnologias, tais como conexões por linha discada, rede local com

par trançado, redes de fibra ótica e redes wireless.

Segundo TANENBAUM (1997), a primeira implementação do TCP foi definida

através da RFC 793. Conforme erros foram detectados e as tecnologias de redes

evoluíram, outras versões como a definida na RFC 1122 surgiram. Outras extensões

do protocolo foram definidas na RFC 1323. Derivadas destas definições surgiram

também versões como o TCP Tahoe e TCP Reno.

Atualmente

existem

diversas

versões

do

protocolo,

muitas

delas

com

características específicas para operar sob uma determinada tecnologia de rede,

como por exemplo em redes wireless. A versão mais utilizada no mundo atualmente

é a TCP Reno, por apresentar melhor desempenho e adaptação nos mais variados

tipos de redes.

No decorrer do capítulo, serão apresentadas algumas características do

protocolo TCP, para fim de melhor entendimento dos mecanismos que envolvem

todo o processo de controle de fluxo e confiabilidade, os quais são os objetos de

estudo deste trabalho por afetar drasticamente o desempenho de uma rede sem fio

ou heterogênea. O principal ponto em estudo é o mecanismo de controle de

congestionamento, o qual será apresentado em maiores detalhes.

16

2.2 Confiabilidade na Transmissão dos Segmentos

Como visto anteriormente, o TCP é um protocolo que oferece confiabilidade

na

transmissão.

Para

que

isso

seja

possível,

são

empregadas

algumas

características que também são comuns a outros protocolos de transporte, são elas:

- Orientação de Stream

- Circuito Virtual

- Transmissão buferizada

- Stream Desestruturado

- Conexão Full Duplex

A orientação pode ser resumida como o sincronismo dos dados, ou seja, os

serviços de transmissão de ambas as partes são sincronizados de forma que a

seqüência 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 conexão através de circuito virtual tenta estabelecer, de forma lógica, um

circuito ponta a ponta, ou seja, entre o transmissor e receptor. A função básica do

circuito é controlar a transmissão, desde o estabelecimento até o encerramento, por

meio de mensagens de controle. Inicialmente, informações são trocadas de forma a

estabelecer

o

circuito.

Posteriormente,

outras

mensagens

informam

tanto

o

transmissor quanto o receptor sobre o estado da conexão. Isso se dá até a

finalização do circuito, seja com consenso de ambas as partes ou por falha de algum

hardware.

No caso da transmissão buferizada, os aplicativos passam os dados ao

protocolo e este se encarrega de dividi-los em segmentos de tamanho variado,

17

sempre buscando a eficiência na transmissão. 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 eficiência na transmissão dos

dados.

Uma outra característica é a desestruturação dos segmentos de dados, onde

não é possível identificar particularidades nos dados transmitidos. Diante disso, os

aplicativos que devem entender o formato e se adaptar, e não o contrário.

 

O

mecanismo de conexão permite também ao TCP implementar conexões do

tipo

full

duplex.

Assim,

existe

na

verdade

duas

conexões

fluindo

dados

simultaneamente, o que permite que haja maior throughput na rede.

O TCP implementa ainda uma técnica de transmissão conhecida como

confirmação positiva com retransmissão, juntamente com o protocolo de janela

deslizante. Com estes recursos, a transmissão deixa de ser realizada por pacotes

isolados e passa a ser composta por um conjunto de pacotes, o que forma a idéia de

uma janela. Desta forma, a capacidade da rede pode ser melhor utilizada, uma vez

que o throughput aumenta devido à redução ou extinção do tempo de inatividade da

rede.

O funcionamento do protocolo de janela deslizante do TCP segue a idéia

inicial apresentada sobre janelas TCP. O que se pode acrescer é em relação ao

tamanho da janela, a qual é variável dependendo do tamanho do buffer disponível

no lado do receptor. O tamanho é definido através das confirmações 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 confirmações chegam juntamente com segmentos de

dados, utilizando-se de uma técnica conhecida como Piggyback (carona). O TCP se

18

utiliza desta técnica para enviar confirmações e o tamanho do buffer. Na realidade

esta técnica é utilizada nos casos onde os aplicativos não trafegam dados em full

duplex, ou seja, através de conexão simultânea.

Em um momento crítico, 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 transmissão seja encerrada

momentaneamente. Enquanto se mantém com a transmissão interrompida, sinais de

controle ZWP (Zero Window Probles) são enviados pela rede, na medida em que o

buffer vai se esvaziando, o valor do notificador aumenta para possibilitar o reinício da

transmissão.

Este mecanismo de controle possibilita ao TCP empregar eficientemente o

controle de fluxo e a transferência confiável. É importante que haja este controle de

fluxo para permitir que aplicativos rodando em máquinas de diferentes portes, como

por

exemplo

um

computador

pessoal

e

um

outro

com

grande

poder

de

processamento, consigam estabelecer uma comunicação eficiente e confiável.

Outro ponto fundamental do controle de fluxo está na interação com máquinas

intermediárias, como por exemplo roteadores. Neste caso, estas máquinas devem

ser capazes de se comunicar com o transmissor quando tiverem em sobrecarga,

informando assim uma possível situação de congestionamento.

A situação de congestionamento é tratada pelo TCP através do mecanismo

de janelas deslizante, simplesmente causando uma redução no tráfego através da

diminuição do tamanho da janela. Maiores detalhes sobre este controle serão

apresentados em sessões seguintes.

19

2.3 Estabelecimento e Encerramento de Conexões TCP

O estabelecimento de conexões no protocolo TCP é realizado através de

handshakes de três vias. Esta técnica utiliza-se de apenas três mensagens para

estabelecer uma conexão entre o transmissor e receptor.

Durante

o

estabelecimento,

mensagens

são

trocadas

para

que

ambos

conheçam que a conexão está sendo iniciada, bem como a seqüência dos octetos

que serão transmitidos. Para que a conexão seja iniciada, um segmento com o

campo SYN marcado e com um número de seqüência gerado aleatoriamente é

enviado pela máquina solicitante da conexão, informando o pedido de conexão. Ao

receber o segmento SYN, o receptor também envia um segmento SYN informando

sua

seqüência,

além

da

confirmação

do

pacote

SYN

recebido

da

máquina

solicitante, através do número de seqüência recebido acrescido de um, informado

através do campo ACK.

Após o recebimento do pacote de SYN/ACK na máquina origem, o TCP envia

novamente um segmento, agora contendo a confirmação de recebimento informada

através do número de seqüência do próximo octeto que espera receber do destino.

Assim, a conexão é efetuada e a seqüência passa a ser conhecida tanto pelo

transmissor como pelo receptor.

2.4 Portas de Comunicações

A exemplo do User Datagram Protocol (UDP), o protocolo TCP também utiliza

o conceito de portas, porém, utiliza um sistema mais complexo para identificar uma

conexão. Segundo TANENBAUM (1997), o TCP utiliza pontos terminais, também

conhecidos como sockets para identificar o circuito virtual, uma vez que em uma

20

porta pode-se ter diversas conexões, todas identificadas através dos circuitos

virtuais. Os pontos terminais, ou sockets, são números compostos pelo número IP

de ambas as máquinas, acrescido o número das referidas portas de comunicação.

Através

deste

modelo,

é

completamente

possível

que

diversas

máquinas

compartilhem simultaneamente uma mesma porta em um determinado servidor.

No momento do estabelecimento da conexão, os programas aplicativos das

partes solicitam aos seus respectivos sistemas operacionais, através de opens

passivos (no receptor) e ativos (no transmissor), os números de portas que serão

utilizados para formar o conjunto de pontos terminais da conexão.

2.5 Tratamento de Dados Urgentes

Mesmo utilizando o conceito de stream para troca de dados, às vezes se faz

necessário a transmissão 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 são urgentes, identificando-os

através de um bit localizado no campo Bit de Código do cabeçalho TCP. Quando

marcado como 1, os dados são enviados imediatamente no momento que chegam

para ser transmitidos. No lado do receptor, o TCP interrompe sua operação normal e

trata os dados urgentes, identificando assim seu respectivo aplicativo e o entregando

o pacote. Após o tratamento de todos os dados urgentes, o TCP volta a sua

operação normal.

Este tratamento é importante para aplicações como sessões remotas, onde

os comandos de controle devem ser transmitidos para executar ou parar uma

21

determinada aplicação. 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 aplicação.

2.6 Determinação do Tamanho dos segmentos

O TCP emprega como forma de transmissão o conceito de stream de dados,

o qual refere-se a uma seqüência de dados a ser transmitida. Esta seqüência é

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 cabeçalho fixo de 20 bytes seguido de zero ou mais octetos de dados. O

tamanho do segmento é definido pelo TCP no momento da conexão, através de uma

negociação por ambas as partes. Para ser eficiente, não deve ser nem pequeno e

nem

grande,

significativas.

pois

ambas

as

situações

oferecem

vantagens

e

desvantagens

No caso de segmentos pequenos, a utilização 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 limitação, 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 Máximum Transfer Unit (MTU) da rede, o que limita o

tamanho máximo de um segmento na rede, o Internet Protocol (IP) é forçado a

fragmentar os segmentos para que possa ser transmitido. Neste caso, não há em

22

caso de perda, como retransmitir apenas um fragmento, necessitando assim uma

retransmissão completa do segmento.

Esta questão do tamanho do segmento também deve ser bem definida no

estabelecimento da conexão, pois tem que permitir uma situação onde uma máquina

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 condições físicas da rede envolvida no caminho do

transmissor ao receptor, e do tamanho máximo 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 cabeçalhos.

2.7 Confirmação e Retransmissão

Segundo COMMER (1998), as confirmações no TCP funcionam de forma

cumulativa, ou seja, é enviada ao transmissor a posição do stream referente ao

maior octeto que espera receber na seqüência. Isso significa que o TCP não

identifica os segmentos bem recebidos, o que nos levam a algumas vantagens e

desvantagens.

Uma das vantagens identificadas é em relação à confirmação não gerar

necessariamente uma retransmissão. Isto ocorre porque uma vez informado o

número do maior octeto a ser recebido, não necessariamente obriga o transmissor a

23

retransmitir um determinado segmento. Outra vantagem é em relação ao tratamento

de confirmações perdidas, pois são facilmente substituídas pela retransmissão da

posição atual referente ao octeto a ser recebido.

Como desvantagem se tem o fato do protocolo não identificar um conjunto de

segmentos recebidos, e sim, o maior octeto a ser recebido em seqüência. Isso nos

leva a um problema onde um determinado número de octetos é enviado por meio de

alguns segmentos, os quais nem sempre chegarão ao seu destino. Neste caso,

pode-se ter uma situação onde o primeiro segmento se perde, e os demais são

recebidos com sucesso pelo receptor.

Assim, a confirmação enviada ao transmissor refere-se à posição antes

informada, uma vez que aguarda um octeto que foi transmitido no primeiro segmento

que se perdeu. Neste caso, após 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

não recebidos.

2.8 Tratando o Timeout e Retransmissão

O timeout em uma conexão refere-se ao fim do tempo de espera por uma

confirmação 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

constantes ou demora na retransmissão.

para

evitar

retransmissões

Para que este controle seja feito da melhor forma possível, o TCP utiliza um

algoritmo adaptável de retransmissão. O cálculo neste algoritmo considera os

24

valores referentes à hora de envio do segmento e à hora de recebimento da

confirmação, isto caracteriza o tempo de amostra de ida e volta (sample round trip

time). O tempo estimado de ida e volta é resultado de uma média ponderada dos

valores, e identificado como Round Trip Time (RTT), o qual é atualizado conforme os

segmentos são transmitidos.

Em COMMER (1998) também diz que, um problema apresentado para a

composição do RTT é em relação a identificação do segmento transmitido. Uma vez

que o TCP devolve confirmações referente a posição do último octeto esperado, e

não

de

um

segmento

específico,

no

caso

de

segmentos

que

tenham

sido

retransmitidos, há uma dificuldade em identificar se a confirmação refere-se ao

segmento original ou à retransmissão. Para solucionar este caso o TCP emprega o

algoritmo de Karn, o qual prevê que pacotes retransmitidos não façam parte da

estimativa RTT.

Isto leva a um novo impasse, pois com a aplicação do Algoritmo de Karn, o

temporizador corre o risco de nunca ser atualizado em casos onde ocorre grande

elevação do tempo de transmissão. Assim, se faz necessário a técnica de backoff do

temporizador. Com isso, a cada retransmissão, o timeout é aumentado, evitando

assim constantes retransmissões.

O cálculo do valor do backoff do temporizador geralmente é dado por um fator

multiplicativo representado pela seguinte fórmula:

Novo_timeout = Y * Timeout, onde Y geralmente é dois.

A eficiência desta técnica em uma rede com grande índice de perdas de

pacotes pode ser afetada, uma vez que a cada retransmissão causada pela perda, e

25

não por atraso na rede, o timeout será ajustado, causando assim maior demora em

casos de retransmissão.

2.9 Reação ao congestionamento

Segundo COMMER (1998), o congestionamento pode ser definido como uma

condição de retardo longo causado por uma sobrecarga de datagramas em um ou

mais

pontos

de

comutação.

Na

prática,

isso

ocorre

quando

algum

ponto

intermediário entre o transmissor e o receptor, como por exemplo um roteador, se

encontra

em

sobrecarga, ou seja, com

processamento.

excesso de pacotes em

sua fila

de

Geralmente estes pontos de comutação 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

eliminação dos pacotes. Como o transmissor não é informado sobre a situação, por

motivo de eficiência, o TCP deve ser capaz de tratar a situação para evitar um

colapso da rede, pois poderiam ser geradas retransmissões contínuas, o que

agravaria mais ainda a situação.

Para resolver o problema foram empregadas duas técnicas, as quais são

conhecidas como início lento (slow start) e redução multiplicável (multiplicative

decrease).

Além do tamanho da janela do receptor, a qual é enviada juntamente com

cada segmento transmitido, surge agora uma nova informação importante para o

26

controle do tráfego injetado na rede, o tamanho da janela de congestionamento.

Este valor, em condições normais da rede, é o mesmo do tamanho do buffer do

receptor. Conforme há perdas de pacotes, ele é reduzido de acordo com a técnica

de redução multiplicável.

Para definição do tamanho da janela que será enviada, o TCP aplica a

seguinte

lógica

sobre

as

congestionamento:

informações

da

janela

do

receptor

e

janela

de

Tamanho Janela = mínimo (Janela Receptor, Janela Congestionamento)

A técnica de redução 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 mantém

no novo valor

e

imediatamente inicia o processo de início lento. Em caso contrário, onde as perdas

passam a ser freqüentes, a janela é reduzida exponencialmente até o limite de um

segmento, o que causa uma redução significativa no tráfego.

Em COMMER (1998, p.237):

Redução Multiplicativa para Prevenção do Congestionamento: com a perda de um segmento, reduzir a janela de congestionamento pela metade (até um mínimo de pelo menos um segmento). Para aqueles segmentos que permanecem na janela permitida, fazer um backoff exponencial do temporizador da retransmissão.”

Como se não bastasse a redução da janela de congestionamento, a qual

diminui a quantidade de segmentos a ser enviados em uma janela de transmissão, o

TCP aplica ainda o backoff do temporizador, o que faz com que os pacotes que

permaneçam na janela tenham o timeout elevado em relação ao tempo anterior.

Com isso, o tráfego é reduzido drasticamente, e o problema do congestionamento é

solucionado com muita eficiência.

27

Para que a transmissão volte ao seu estado anterior, o TCP aplica o início

lento (slow start) para que não haja oscilação brusca no trafego de dados, o que

poderia

retornar

a

situação

de

congestionamento.

Neste

caso,

a

janela

de

congestionamento

 

é

aumentada

em

um

segmento

para

cada

transmitido

e

confirmado. Embora aparente uma redução lenta, esta técnica é muito eficiente, pois

cresce proporcionalmente ao número de pacotes confirmados.

Uma restrição desta técnica de início lento é aplicada quando o valor da

janela de congestionamento atinge metade de seu valor original, ponto também

conhecido

como

threshold

(limite

de

congestionamento),

antes

do

início

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 técnica, 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 situação onde uma seqüência de

segmentos

é

enviada,

porém

normalmente pelo receptor.

o

primeiro

é

perdido

e

os

demais

recebidos

Neste caso, utilizando a técnica fast retransmit, imediatamente são enviados

segmentos contendo ACK’s confirmando o último segmento recebido na ordem.

Assim, ao perceber confirmações duplicadas, mais precisamente ao receber quatro

confirmações 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 técnica, também foi proposto por Jacobson o fast

recovery, que na verdade prevê que, se os ACK’s confirmando o segmento

duplicado estão chegando rapidamente ao transmissor, então os segmentos a

28

serem transmitidos também conseguirão atingir o destino da mesma forma. Assim, a

fast recovery propõe que o valor da janela após uma retransmissão utilizando o fast

retransmit, inicialmente seja o valor do tshreshold, ou seja, metade do valor original.

Neste caso, o slow start não é utilizado, o que propõe um ganho ainda maior de

desempenho na resolução do problema de recuperação.

Segundo TANENBAUM (1997), antigamente era difícil 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

condições

das

redes

eram

precárias,

e

ambas

as

situações

ocorriam

com

freqüência. Hoje em dia, a maioria das redes de grande vazão são constituídas por

fibras óticas, o que praticamente elimina os problemas causados por perdas.

A ausência

de

um

mecanismo

específico

para

o

controle

de

congestionamento levou a esta solução, a qual se demonstra eficiente para a

finalidade. Porém, problemas ocasionados por perdas de pacotes, hoje são tratados

como congestionamento, e nestes casos, agravam a situação da rede. Esta é um

dos principais pontos negativos desta técnica, 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 físico que

favorecem

esta

perda,

além

claro

das

perdas

ocasionadas

pelas

freqüentes

desconexões, ocorridas principalmente em momentos de handoff.

29

CAPÍTULO 3 – TECNOLOGIAS DE REDES SEM FIOS

3.1 Introdução

Devido a grande expansão das redes sem fio em ambientes locais, motivada

principalmente pela sua facilidade de uso e praticidade, cresceram os esforços

aplicados para alcançar melhorias em aspectos como segurança e desempenho,

quesitos

que

são

cruciais

nesta

tecnologia

de

redes,

além

de

buscar

uma

padronização mundial no desenvolvimento de equipamentos.

Atualmente, o mais conhecido padrão de redes sem fio para ambientes locais

(Wireless Lans) é o IEEE 802.11 (Institute of Electrical and Eletronics Engineers),

também conhecido como Wi-Fi (Wireless Fidelity).

Existem também diversas outras tecnologias proprietárias para redes sem

fios, porém, muitas delas já aderiram ao padrão IEEE motivadas pelas diversas

vantagens de se utilizar este padrão aberto, sendo entre elas a interoperabilidade,

baixo custo e principalmente demanda do mercado.

Neste trabalho, devido às vantagens acima apresentadas e sua marcante

presença no mercado, foi adotado o padrão IEEE como a tecnologia de rede sem fio

a ser apresentada, atuando em um ambiente local (WLAN). Ao longo do capítulo

serão apresentadas algumas características desta tecnologia de redes, padrões

existentes e principalmente características técnicas que identifiquem os problemas

causados pela grande perda de pacotes, o que é um fator marcante nestas redes.

Todos os pontos a serem discutidos serão apresentados através de um

comparativo entre redes wireless e cabeadas, isso para destacar os principais

pontos que as diferenciam, justificando assim o propósito do trabalho.

30

3.2 O padrão IEEE 802.11

Nos últimos anos, a tecnologia de transmissão de dados por meio de

conexões sem fio tem deixado de fazer parte apenas de comunicações de longa

distância através de satélites, para fazer parte também de conexões em redes

locais. Esse avanço despertou interesse de muitas corporações para desenvolverem

soluções 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

padrões abertos que pudessem disseminar a tecnologia wireless para redes locais

sem fios (WLANS). Com isso, a primeira especificação surgiu em 1997, e foi

denominada como IEEE 802.11.

O objetivo da especificação era principalmente estabelecer padrões para a

camada de acesso ao meio Medium Access Control (MAC) e para a camada física

PHY

(Physical).

A

primeira

especificação

estabeleceu

todas

as

necessidades

estruturais para a utilização de redes sem fio, tendo como principais fatores o

protocolo de acesso ao meio (CSMA/CA), tipos de codificação utilizados (FHSS e

DSSS), sistemas de segurança como criptografia através do Wireless Equivalent

Protoco (WEP), além de definições sobre componentes.

Ao longo dos anos diversas outras especificações derivadas do 802.11

surgiram, sempre visando melhorias em termos de velocidade e segurança. No

Brasil, os padrões mais utilizados atualmente são o 802.11b e 802.11g, ambos

operando na freqüência de 2,4 até 2,4835 Ghz, que é uma faixa de freqüência não

licenciada (ISM – Industrial Scientific and Medical).

31

As técnicas de transmissão empregadas pelo padrão 802.11 são por rádio

freqüência e infravermelho. No caso da transmissão por rádio freqüência, a mais

utilizada, a técnica utilizada é a spread spectrum, que será apresentada na sessão

seguinte. Já a transmissão por infravermelho, embora seja mais segura em relação à

interceptação de dados, é limitada por necessitar que o sinal seja direcionado.

Embora haja esta limitação, ela é útil em casos onde a transmissão é realizada entre

aparelhos em redes pessoais.

3.3

Espectral)

Técnica

de

Transmissão

Spread

Spectrum

(Espalhamento

Em OLIVEIRA & FILHO diz que, o Spread Spectrum é uma técnica de

codificação para a transmissão digital de sinais. Foi desenvolvida pelos militares

durante a segunda guerra mundial, com o objetivo de fazer com que as informações

a serem transmitidas fossem parecidas com um ruído radioelétrico, evitando assim o

monitoramento por intrusos.

Nesta técnica, o sinal é codificado e modificado, sendo ainda espalhado no

espectro de freqüências. O sinal espalhado ocupa maior banda para ser transmitido,

porém,

por

possuir

baixa

potência,

apresenta

baixa

relação

sinal/ruído.

Para

receptores convencionais, esta comunicação pode até ser imperceptível.

Esta tecnologia se apresenta muito eficiente para transmissão de dados tanto

em redes locais (LANS) como em redes metropolitanas (MANS), pois possibilita

taxas de transmissão elevadas, porém baixas comparadas a uma rede cabeada, e

alta confiabilidade.

32

A faixa de freqüência utilizada nas transmissões spread spectrum é a ISM. A

tabela abaixo demonstra as faixas de freqüência existentes e que não exigem

licenciamento para utilização, de acordo com o Federal Comunications Comission

(FCC).

Faixa de Freqüência

Utilização

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

Satélite Móvel, 802.11a, outras tecnologias

5.725 – 5.85 GHZ

de redes.

24 GHZ e 60 GHZ

Outras Tecnologias

Tabela 1: Faixas de Freqüências Fonte: http://www.teleco.com.br

A maioria dos equipamentos para redes sem fios comercializados atualmente,

se utilizam desta técnica de transmissão, além de serem desenvolvidos utilizando as

definições do padrão IEEE 802.11 em suas derivações.

Uma característica das técnicas de espalhamento espectral (spread spectrum)

é ser de difícil rastreamento sem o prévio conhecimento da seqüência ou código

utilizado na comunicação. Embora o padrão 802.11 empregue esta técnica, ele não

fornece privacidade na camada física, pois utilizam código e seqüência conhecidos.

Existem basicamente três sistemas de codificação utilizados nesta técnica de

transmissão, que é a codificação por salto de freqüência (Frequency Hopping), por

seqüência

direta

(Direct

Sequence)

e

OFDM

(Orthogonal

Frequency

Division

Multiplexing). Estas técnicas serão apresentadas a seguir.

33

3.4 Spread Spectrum com Salto de Freqüência

O salto de freqüência consiste em transmitir a informação por diversos canais,

através de saltos determinados por uma seqüência denominada pseudo-aleatória.

Esta

seqüência

randômicos

que

é

determinada

por

um

circuito

gerador

de

códigos

na

verdade

trabalha

num

padrão

pré-estabelecido.

pseudo-

Tanto

o

transmissor quanto o receptor entendem esta seqüência de saltos, isso é o que

pondera OLIVEIRA & FILHO.

de saltos, isso é o que pondera OLIVEIRA & FILHO. Figura 1: Transmissão FHSS Fonte: OLIVEIRA

Figura 1: Transmissão FHSS Fonte: OLIVEIRA & FILHO

O padrão 802.11 utiliza a faixa de freqüência entre 2,4 GHZ e 2,4835 GHZ

para transmissões 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 mínimo, 75

subcanais para o FHSS, isso diz SANTANA (2003,p.31). O padrão define também a

modulação GFSK (Gaussian Frequency Shift Keying) como a modulação padrão

para o sistema de codificação FHSS.

Em CARVALHO (2004, p.9) diz que existem dois tipos de comunicação

utilizando

o

FHSS

(Frequency

Hopping

Spread

Spectrum).

Estes

tipos

se

34

diferenciam basicamente pela velocidade em que é realizada a troca de freqüências

durante a transmissão.

Um dos tipos é conhecido como Fast Frequecy Hopping Spread Spectrum

(FFH-SS), também conhecido como modo rápido. Neste modo, um símbolo é

parcialmente

transmitido

numa

determinada

freqüência,

sendo

finalizada

a

transmissão do mesmo símbolo em uma freqüência diferente.

No caso do Slow Frequency Hopping Spread Spectrum (SFH-SS), também

conhecido como modo lento, a situação é diferente, ou seja, um ou mais símbolos

são transmitidos em uma mesma faixa de freqüência.

O FHSS é limitado a uma taxa de 2 Mbps, isso devido a limitação do FCC que

impõe que cada subcanal deve ter uma largura de banda de 1 MHZ. Com isso,

forçar o uso de toda a banda de 83,5 MHZ causa um grande overhead pelos

freqüentes saltos, o que limita a velocidade, afirma ABRAS & SANCHES (2002, p.5).

3.5 Spread Spectrum com Seqüência Direta

O processo de espalhamento Direct Sequence Spread Spectrum (DSSS)

também é chamado de modulação digital. Nesta técnica, a informação a ser

transmitida em forma de sinal é multiplicado por um código com características

pseudo-randômica, gerando assim o chip code. Assim, os bits a serem transmitidos

são representados em forma de símbolos.

No lado do receptor, o sinal de informação é recuperado por um processo

similar, ou seja, existe sincronização entre o transmissor e o receptor em relação ao

código utilizado.

35

35 Figura 2: Transmissão DSSS Fonte: SANTANA (2003,p.45) De acordo com o padrão, para se transmitir

Figura 2: Transmissão DSSS Fonte: SANTANA (2003,p.45)

De acordo com o padrão, para se transmitir é necessário que seja adotado

uma seqüência de Baker (Baker Sequence), que consiste em 11 símbolos, definida

como

+1,-1,+1,+1,-1,+1,+1,+1,-1,-1,-1,

sinalizando

assim

uma

taxa

de

chips

(símbolos) de 11 Mchips/s, quando se transmite a 1 Mbps.

Nesta técnica, a banda de 2.4 Ghz, que também é utilizada, é dividida em 14

canais de 22 MHZ. Cada canal adjacente sobrepõe um ao outro parcialmente, com 3

dos 14 canais sendo totalmente não sobrepostos. Os dados são enviados por um

destes canais de 22 MHZ, não havendo saltos para outras freqüências. A velocidade

alcançada nesta técnica pode chegar a 11 Mbps, segundo ABRAS & SANCHES

(2002).

Esta técnica de representação dos bits a serem transmitidos através de chips,

ajuda a resolver o problema de ruído do canal, pois mesmo que alguns chips

venham a ser perdidos ou corrompidos durante a transmissão, técnicas estatísticas

embutidas no rádio são capazes de recuperar os dados originais sem a necessidade

de retransmissão.

A modulação utilizada nesta técnica é a BPSK (Binary Phase Shift Keying)

para velocidades de 1 Mbps e QPSK (Quadrature Phase Shift Keying) para

36

Para que velocidades superiores a 2Mbps sejam alcançadas, a DSSS

emprega uma outra forma de codificação no lugar da Barker Sequence, que é a CCK

(Complementary Code Keying). Esta nova forma de codificação emprega um

conjunto de 64 palavras de 8 bits, sendo CCK com 4 bits de dados representados

em um símbolo para velocidades de 5 Mbps e CCK com 8 bits para 11 Mbps.

3.6 Orthogonal Frequency Division Multiplexing (OFDM)

O OFDM é uma técnica de modulação presente nos mais recentes sistemas de

comunicação, inclusive em redes wireless. Isso se deve principalmente pela sua

grande

eficiência

espectral

apresentada.

No

padrão

802.11,

esta

técnica

é

empregada pelas especificações 802.11a e 802.11g, o que possibilita que ambas

operem em uma velocidade nominal de 54 Mbps.

A idéia básica desta técnica é dividir um fluxo de transmissão de alta taxas de

bits por um fluxo com baixa taxa, utilizando consequentemente uma menor largura

de banda e empregando a sobreposição de canais, através da transmissão paralela

com subportadoras.

Em um sistema onde são empregadas multiplexações por freqüência, como

por exemplo em um sistema FDM (Frequency Division Multiplexing), a transmissão

exige que entre as portadoras exista uma banda de guarda, que funciona como um

espaçamento entre as portadoras. No sistema OFDM isso é diferente, pois a banda

de guarda é substituída pela sobreposição.

Com

o uso do OFDM, a eficiência espectral pode chegar

a

até

50

%

comparados com outras técnicas que empregam FDM. Observe abaixo uma figura

que ilustra esta sobreposição de portadoras.

37

37 Figura 3: Modulação OFDM Antes da transmissão, a informação é dividida em uma grande quantidade

Figura 3: Modulação OFDM

Antes da transmissão, a informação é dividida em uma grande quantidade de

canais com baixa largura de banda e taxa de transmissão. Estes canais auxiliam na

modulação

das

portadoras

ortogonais

de

forma

que

a

duração

do

símbolo

correspondente se torne maior do que o atraso de propagação dos canais de

transmissão.

Algumas das vantagens encontradas neste sistema de modulação é que

além de proporcionar maior taxa de transmissão, apresenta alta robustez aos

ambientes com desvanecimento seletivo em freqüência. Também apresenta bons

resultados em ambientes com interferência de freqüências e ruídos impulsivos.

Em contrapartida, algumas das desvantagens de sua utilização é que a

dificuldade para sincronizar as portadoras é maior, além de exigir maior ampliação

do sinal, uma vez que o sinal não apresenta uma natureza constante durante seu

processo de transmissão.

3.7 Modos de Operação

Basicamente, os modos de operação de uma rede wireless são dois, um

estruturado e o outro ad hoc. Cada um dos modos possui particularidades que os

diferenciam e os fazem importantes para determinadas soluções.

38

As redes estruturadas constituem uma forma de acesso através de um ponto

centralizador, que é o Access Point (AP). Nesta topologia, todas as transmissões

são realizadas através deste AP, o que pode realizar papel também de roteador,

brigde, dentre outras funcionalidades.

Existem duas formas básicas de operação em uma rede estruturada, que é a

Basic Service Set (BSS) e a Extended Service Set (ESS). Em uma BSS, existe a

presença de apenas um AP e diversas estações. Assim, a área de abrangência da

rede é limitada à área coberta por este AP, o que limita bem as características desta

rede.

Na figura abaixo pode-se observar graficamente a composição de uma BSS:

pode-se observar graficamente a composição de uma BSS: Figura 4: Basic Service Set (BSS) Uma outra

Figura 4: Basic Service Set (BSS)

Uma outra forma de operação de uma rede estruturada é em modo estendido.

Neste caso, diversos APs são utilizados para formar um amplo raio de cobertura,

atingindo assim uma área de cobertura bem superior à de apenas uma BSS.

Além 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 composição de uma rede com característica ESS.

39

39 Figura 5: Extended Service Set (ESS) Um outro conceito que surge com esta idéia de
39 Figura 5: Extended Service Set (ESS) Um outro conceito que surge com esta idéia de
39 Figura 5: Extended Service Set (ESS) Um outro conceito que surge com esta idéia de
39 Figura 5: Extended Service Set (ESS) Um outro conceito que surge com esta idéia de

Figura 5: Extended Service Set (ESS)

Um outro conceito que surge com esta idéia de serviço estendido é o

roaming.

Em

ambientes

formados

por

diversos

APs,

as

estações

podem

se

locomover dentro da área de cobertura e terem acesso a rede normalmente, isso

porque a estação é autorizada em todos os APs que compõem o serviço estendido.

Uma característica importante a ser observada neste processo de roaming,

que é a troca de AP pela estação, é que no momento em que ocorre a solicitação

por parte da estação, o processo de desassociação e reassociação é ativado.

Para acontecer o roaming, a estação deve notar, através de mecanismos

próprios, que o sinal da conexão 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 ação. Neste instante é solicitada ao AP atual, pela própria

estação, a desassociação, e uma associação é requerida imediatamente ao novo

ponto de acesso. Com isso, o sistema de distribuição ESS é informado sobre a nova

localização da estação.

40

No momento da troca efetiva de pontos de acesso, ocorre por alguns

instantes, em questão de milisegundos, uma pequena interrupção na transmissão,

que é o período 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 comunicação é interrompida momentaneamente.

Já o modo de operação ad hoc de uma rede funciona sem qualquer tipo de

infra-estrutura, tendo apenas as estações como membros da rede. Neste tipo de

rede, as informações são trocadas diretamente entre as estações, podendo estas

virem a fazer papel de roteadores, estabelecendo rotas para a comunicação entre

estações geograficamente distantes e fora de alcance direto.

Uma das grandes vantagens desta rede é sua facilidade de implantação, pois

em apenas alguns minutos pode-se formar redes para serem utilizadas pelos mais

variados tipos de aplicações. As formas básicas de operação de uma rede ad hoc

são duas, Independent Basic Service Set (IBSS)

(MANET).

e Móbile Ad Hoc Networks

Em uma IBSS, a ligação é feita apenas em duas estações. A figura abaixo

ilustra esta forma:

em duas estações. A figura abaixo ilustra esta forma: Figura 6: Independent Basic Service Set (IBSS)
em duas estações. A figura abaixo ilustra esta forma: Figura 6: Independent Basic Service Set (IBSS)
em duas estações. A figura abaixo ilustra esta forma: Figura 6: Independent Basic Service Set (IBSS)

Figura 6: Independent Basic Service Set (IBSS)

A outra forma de uma rede ad hoc é a MANET. As estações que constituem

uma MANET são capazes de estabelecer rotas para possibilitar a comunicação entre

41

máquinas que diretamente entre si não conseguem estabelecer comunicação,

geralmente pela distância entre elas.

comunicação, geralmente pela distância entre elas. Figura 7: Mobile Ad Hoc Networks (MANET) 3.8 Controle de

Figura 7: Mobile Ad Hoc Networks (MANET)

3.8 Controle de Acesso ao Meio

O IEEE define em suas padronizações aspectos referentes à camada física e

de enlace de dados. Isto prevê os mecanismos básicos para controle do meio físico,

tendo como principal ponto o algoritmo de acesso ao meio.

tendo como principal ponto o algoritmo de acesso ao meio. Figura 8: IEEE 802.11 Em uma

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 contenção. A contenção refere-se à forma que

o acesso ao meio é tratado, e principalmente quem estabelece o controle sobre este

meio.

42

No algoritmo sem contenção, o qual tem como controlador do meio o próprio

AP, as estações solicitam autorização de transmissão diretamente a este, o qual

controla o momento no qual elas poderão transmitir. Este tipo de algoritmo só pode

ser utilizado em redes estruturadas, por depender exclusivamente do AP.

No caso do algoritmo com contenção, amplamente utilizado por diversos

padrões, o controle do meio se dá pela própria estação através do algoritmo

denominado Carrier Sense Multiple Access / Colision Avoidance (CSMA/CA) . Neste

caso, o algoritmo implementa um mecanismo para evitar que as colisões existam,

amenizando assim o problema da perda de pacotes.

Uma característica que pode ser observada em qualquer tipo de algoritmo

definido para atuar sobre redes sem fios é o alto overhead, pois são muitos os

controles necessários para tratar o problema das altas perdas ocasionadas por

diversos fatores, como a perda por deficiências no meio físico (interferências,

reflexos de ondas, dentre muitos outros).

Um fator adicional para resolver um problema específico conhecido como “nó

escondido” foi adicionado ao protocolo CSMA/CA, que é o envio de pacotes

RTS/CTS. Com isso, nós que antes não se enxergavam e provocavam colisão pela

dificuldade de ler o canal com eficiência, agora empregam um mecanismo funcional,

mas que diretamente adiciona mais overhead ao funcionamento da rede.

3.9 Características de transmissão em redes sem fios

Algumas características básicas podem ser definidas para redes sem fios. Em

geral, a questão 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 compreensão 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 condições de transmissões no meio

físico, o qual é suscetível a diversos tipos de interferência, causando assim elevadas

taxas de perdas de pacotes.

Algumas destas características são:

Bit Error Rate (BER): Devido ao uso do ar como meio físico, as condições podem

variar de tempo para tempo, podendo ter períodos com altas taxas de erros

ocasionados

por

interferências

de

diversos

tipos,

além

de

outras

incidências

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 padrões IEEE 802.11a e

IEEE 802.11g. O padrão 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 padrão

Fast Ethernet que opera com até 100 Mbps. Um outro ponto a considerar é a

quantidade de usuários vinculados ao ponto de acesso, o que faz com que a

velocidade seja diminuída proporcionalmente a quantidade de usuários 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 média 20ms, enquanto em

uma rede cabeada não 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 retransmissão. Considerando um caminho onde um trecho seja de rede

sem fio, o RTT será afetado, forçando assim um tempo maior para retransmitir um

pacote.

Interferência nos Transmissores: Como a maioria dos equipamentos utiliza a mesma

freqüência para transmissão, geralmente a faixa de freqüência entre 2,4 e 2,4835

GHz,

podem

pacotes.

ocorrer

interferências

entre

os

mesmos,

provocando

perdas

de

Distância do Ponto de Acesso: Quanto maior a distância entre a estação e o ponto

de acesso, pior a qualidade do sinal e maior a atenuação.

Mobilidade: Característica inexistente em uma rede cabeada, mas que para uma

rede sem fio, além de oferecer uma série de benefícios e engrandecer a tecnologia,

traz

também

alguns

problemas

básicos

de

funcionamento.

Estações

se

locomovendo podem ter momentos de desconexão (handoffs), o que ocasiona a

perda

de

pacotes.

Assim,

congestionamento.

para

o

TCP,

esse

fato

é

considerado

como

45

Consumo de Energia: Um outro ponto fundamental para o sucesso de qualquer

solução sem fio é o consumo de energia. Para transmitir informações pelo meio, é

necessário

que

o

transmissor

faça

uso

de

energia,

o

que

na

maioria

dos

equipamentos é fornecida por meio de baterias. Assim, caso haja pouca potência

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 drástica no

desempenho.

3.10 Avaliando o desempenho

Para

se

avaliar

o

desempenho

em

uma

rede,

é

importante

que

seja

considerado o tipo de tráfego presente. Basicamente podemos identificar como tipos

de tráfegos o interativo e em rajadas.

No tráfego interativo, os dados a serem transmitidos geralmente não atingem

a limitação da rede, pois a fonte geradora dos dados geralmente produz menor

quantidade de informações do que a rede pode transmitir. Assim, são praticamente

imperceptíveis problemas de desempenho ocasionados nesta situação.

Problemas de desempenho geralmente são notados em uma situação onde o

tráfego acontece em rajadas, ou seja, possui momentos de baixos e altos volumes

de dados a serem transmitidos. Isso porque a quantidade de informações a serem

transmitidas supera a capacidade de transmissão da rede, o que utiliza assim o

conceito de buferização, onde na maioria do tempo há informações a espera para

serem transmitidas.

46

Um dos principais motivos que causam a degradação do desempenho do

TCP operando sobre uma rede sem fio é o fato de não conhecer a razão da perda

do pacote, sendo assim, todas as perdas são consideradas como congestionamento

da rede.

Neste contexto, a vazão da rede é diminuída, pois ao estouro do timeout e

retransmissão

de

um

determinado

pacote,

o

tamanho

da

janela

de

congestionamento da rede é diminuído pela metade e o processo de início lento é

ativado (slow start).

Como apresentado em capítulos 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 condições 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

transmissão.

Além 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 eficiência, afinal, a vazão da rede é diminuída para possibilitar

que o ponto de comutação onde está ocorrendo o congestionamento seja poupado e

consiga processar todas as requisições no momento.

Um outro fator que influência no desempenho do protocolo sobre uma rede

sem fio é o handoff, o qual é um caso específico desta tecnologia de rede operando

em modo estruturado. O handoff é caracterizado como a desconexão presente

47

durante o processo de reassociação e desassociação de uma estação de um

determinado ponto de acesso para um novo.

Neste caso, no tempo em que ocorre a desconexão, por mais breve que seja,

pacotes

são

perdidos

e

identificados

pelo

protocolo

com

congestionamento,

diminuindo assim imediatamente a vazão da rede através do mecanismo de

congestionamento.

Assim, fica claro que diante das freqüentes 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 vazão da rede.

48

CAPÍTULO

4

PROPOSTAS

EXISTENTES

PARA

OTIMIZAÇÃO DO PROTOCOLO TCP SOBRE REDES SEM

FIOS

Neste

capítulo

serão

apresentadas

algumas

das

propostas

existentes

atualmente para amenizar o problema em questão. Para tanto, serão apresentadas

as características de cada proposta, bem como aspectos que favorecem ou limitam

sua utilização.

Existem propostas que empregam características distintas entre si, algumas

até fugindo dos princípios básicos do protocolo, como as que oferecem quebra de

conexão. Basicamente, podemos classificar as propostas de acordo com três

modalidades, que são os Protocolos de camadas inferiores ao TCP, os Protocolos

com quebra de conexão e finalmente os Protocolos fim-a-fim, afirma SANTANA

(2003, p.47).

4.1 Protocolos de Camada Inferior ao TCP

A principio existem duas versões do TCP que fazem parte desta gama de

protocolos, um é o Snoop e o outro uma versão modificada deste, o Snoop

Otimizado. Os dois protocolos empregam a idéia de buferização aplicada sobre os

pacotes que passam sobre um determinado ponto, que é o AP.

4.1.1 Protocolo Snoop

49

A operação básica do protocolo snoop consiste em analisar todos os pacotes

que passam

em

ambas

as

direções entre um

host

móvel 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 móvel está conectado é

encarado por este como forwarding, ou seja, lê os pacotes que passam e armazena

até receber o ACK de confirmação, pois caso haja a necessidade de retransmissão

de um determinado pacote, a retransmissão será feita pelo próprio AP, e não pelo

host fixo. Para que a transmissão seja possível pelo próprio AP, o RTT estabelecido

para a transmissão na rede sem fio deve ser menor que o tempo estabelecido pelo

host fixo.

Uma outra técnica empregada por este protocolo é o conceito de multicast,

onde todos os APs próximos ao host móvel são 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 móveis mesmo se associando a um novo AP próximo ao seu atual, não haverá

necessidade de retransmissão por parte do host fixo.

O controle se torna eficiente em casos onde não ocorrem perdas com muita

freqüência, situações presentes nos longos períodos de handoff e desconexões

devido a mobilidade. Isso limita parcialmente a eficiência da solução, que pode ser

considerada uma boa saída em situações em que não ocorrem erros por longos

períodos.

50

Como grande vantagem pode-se citar o fato de não necessitar de alterações

no protocolo TCP da rede fixa, pois todo controle é feito pelo AP. Outro ponto

positivo é que esta proposta mantém a semântica fim-a-fim do TCP.

Uma desvantagem da proposta é a falta de suporte a serviços de criptografia,

uma vez que é necessário que o AP faça a leitura dos dados de endereçamento

para fornecer resposta à origem e retransmissões ao destino, ficando este tipo de

serviço limitado somente à camada de aplicação.

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 otimização do protocolo TCP Snoop traz mais eficiência na

transmissão através da utilização de duas técnicas em conjunto, a de buferização e

de confirmação seletiva. A modificação fica restrita apenas na rede sem fio, sendo

necessárias apenas mudanças no host fixo e no AP.

A técnica de buferização já está presente na versão Snoop do TCP. Como

mencionado anteriormente, está técnica consiste em registrar todos os segmentos

que passam pelo AP a fim de otimizar o processo de retransmissão em casos de

perdas na rede sem fio, onde ao detectar uma perda, o próprio AP retransmite o

segmento, evitando assim o estouro do timeout no transmissor.

51

Nesta solução, o AP desempenha o mesmo papel que desempenhava na

versão Snoop, apenas adicionando algumas melhorias na forma de retransmissão

dos segmentos perdidos.

No caso da confirmação seletiva, característica adicional desta solução, a

confirmação dos segmentos pelo host móvel é equivalente à aplicada na técnica

utilizada pelo TCP Sack, ou seja, a confirmação de múltiplos segmentos que foram

recebidos. O funcionamento básico desta técnica é confirmar não apenas o último

segmento recebido na ordem, como na versão padrão, e sim, todos os segmentos

recebidos, a fim de otimizar o processo de retransmissão.

No AP é necessário que sejam feitas modificações para que este possa

interpretar os ACKs seletivos, também conhecidos como ACKw. Estas modificações

exigem que ele interprete quais foram os pacotes recebidos pelo host móvel, e

reenvie em uma única vez todos os pacotes faltantes, tendo assim maior ganho de

eficiência no processo de transmissão.

A única aplicação desta solução é para redes estruturadas, ou seja, com a

presença de um ponto de acesso, o qual faz o papel de mediador na comunicação.

Os casos de handoffs e longas desconexões são tratados pela solução, onde são

amenizados pela transmissão seletiva dos segmentos, diminuindo assim o tempo de

transmissão total.

Algumas características positivas desta proposta seria a manutenção da

confiabilidade fim-a-fim e a não necessidade de alteração no protocolo do host fixo.

4.2 Protocolos com quebra de conexão

52

A característica de um protocolo com quebra de conexão é a de dividir a

conexão em duas, uma do host fixo até o AP e outra do AP até o host móvel. Mesmo

estabelecendo esta divisão de conexão, algumas implementações conseguem

manter a semântica fim-a-fim do protocolo.

Algumas

versões

do

TCP

apresentadas abaixo.

que

empregam

a

quebra

de

conexão

são

4.2.1 Mecanismos de Notificação Explícita

O mecanismo de notificação explícita emprega a técnica de feedback para

reduzir

o

problema

causado

pelo

mecanismo

de

congestionamento,

pondera

SANTANA (2003, p.74). Algumas variações desta técnica são o Explicit Notification

(EN), Explicit Congestion Notification (ECN), Explicit Bad State Notification (EBSN) e

Explicit Loss Notification (ELN).

O Explicit Congestion

Notification (ECN) é uma técnica derivada de uma

outra empregada por roteadores, a Random Early Detection (RED). Através desta

técnica, os roteadores, antes de entrarem em pleno congestionamento, começam a

descartar alguns pacotes aleatoriamente com fim de prevenir o congestionamento.

A exemplo desta técnica utilizada pelos roteadores, a ECN, em vez de

descartar os pacotes, apenas faz uma marcação quando o estado da fila encontra-

se em um estágio considerado de sobrecarga. Assim, em um próximo ACK enviado

ao transmissor, a marcação é enviada e o transmissor dá início ao processo de

congestionamento.

Já na proposta Explicit Bad State Notification (EBSN), no momento da

detecção de uma perda causada na rede sem fio, o AP é comunicado e este envia

53

uma notificação ao host fixo para o reinício do temporizador, evitando assim um

estouro do tempo e o início do procedimento de congestionamento, o que seria

totalmente prejudicial para o desempenho nesta situação.

Esta técnica, a EBSN, pode ser utilizada juntamente com o protocolo snoop

para otimizar mais ainda o desempenho deste, uma vez que ao retransmitir do

próprio AP para o host fixo, uma notificação de perda seria enviada ao host fixo,

alterando assim sem temporizador e evitando a retransmissão.

Na notificação explicita de perda (ELN), um flag ELN é adicionado ao ACK

que é enviado pelo receptor. Assim, ao detectar a perda no enlace sem fio, o

próximo ACK a ser enviado pelo receptor é indicado com o flag e interpretado pelo

transmissor como um erro e não como congestionamento.

Tanto o ESBN como a ELN necessitam de um mecanismo especifico para

identificar o problema causado no meio, tendo assim condições de informar o

transmissor sobre as condições que causaram o erro.

A principal característica desta solução é apenas identificar o verdadeiro

motivo da perda, embora a maioria das implementações de notificação explicita não

consigam realizar esta identificação sozinha. Conseguem manter a semântica fim-a-

fim em todas suas versões.

Um outro ponto marcante é a questão do protocolo do host fixo, o qual é

necessário ser modificado para possibilitar que o temporizador seja ajustado a cada

ACK recebido com as notificações. Esta questão já inviabiliza a solução, uma vez

que a versão Reno, que é a padrão, tem um desempenho excepcional em redes

cabeadas, não vindo a ser necessária sua alteração, além claro de sua utilização em

nível mundial.

54

4.2.2 Técnicas de Reconhecimentos Múltiplos

Uma outra técnica encontrada para tentar uma solução para o problema foi

através da utilização de múltiplos reconhecimentos (ACKs), ou seja, os pacotes de

confirmação de recebimento são diferenciados para possibilitar que o transmissor

gerencie com mais eficiência a questão da retransmissão de pacotes quando

ocorrerem perdas.

A idéia principal é criar um ACK provisório (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 móvel. Além disso, o temporizador

do transmissor é modificado, passando a ser composto por quatro tipos de

temporizadores, que são os RTT, RTT(w), RTO, RTO(w).

Para

cada

segmento

transmitido

são

ativados

os

quatro

tipos

de

temporizadores. O papel do Round Trip Time (RTT) é controlar o tempo total, como

em outras versões, considerando o tempo de transmissão e recepção 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 máximo que o transmissor espera por

um ACKc vindo do receptor. Por último tem-se o RTO(w), que controla o tempo

máximo que o ponto de acesso (AP) espera por um ACKc vindo do MH (Móbile

Host), afirma SANTANA (2003,p. 78).

Assim, quando um segmento é enviado pelo transmissor, este é armazenado

pelo AP e já confirmado através de um ACKp. Após ter sido confirmado pela estação

móvel, um ACKc é enviado para o transmissor. Em caso de perda na rede sem fio,

os temporizadores do transmissor já estão ajustados através do ACKp já enviado

pelo AP, evitando assim a retransmissão desnecessária.

55

Uma característica positiva desta solução é o suporte a longos períodos de

desconexões devido ao seu controle de temporizadores. Assim, as freqüentes

desconexões causadas pelos constantes handoffs poderiam ser amenizadas. Um

outro ponto positivo esta na retransmissão pelo próprio AP em caso de perda na

rede sem fio.

Embora apresente estas características positivas, uma barreira para sua

utilização está na necessidade de modificação do protocolo tanto do AP quanto do

host fixo, o que inviabiliza a solução pela grande utilização da versão Reno, como

citado anteriormente em outras soluções.

4.2.3 TCP Indireto (Indirect TCP)

A proposta do TCP Indireto é de dividir a conexão entre um host fixo e um

móvel em duas partes, fazendo com que não haja nenhuma relação entre as

mesmas. O ponto de divisão da conexão é no AP, passando este a coordenar toda a

comunicação entre os dois pontos.

A idéia básica é 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 móvel, sendo mantido até que este confirme

o recebimento.

Em

casos onde ocorre o handoff, a solução propõe 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 transmissão,

amenizando assim o problema.

56

Como existem duas redes distintas, o protocolo utilizado pelo lado do host

móvel pode ser algum outro, não sendo necessariamente o TCP. Uma outra

característica particular desta solução é a exigência de recompilação nas aplicações

do host móvel, para fim de acesso através de chamadas especiais (via biblioteca),

diz SANTANA (2003, p.76).

Como

vantagem

desta

solução

pode-se

citar

o

controle

de

fluxo

independente, pois as redes são tratadas como distintas, permitindo assim identificar

e tratar as características de cada uma diferentemente. Além disso, as únicas

alterações necessárias são no ponto de acesso e no host móvel, não sendo preciso

alterar o host fixo.

Dentre

as

desvantagens

estão

sobrecarga gerada no ponto de acesso.

a

quebra

da

semântica

fim-a-fim

e

a

4.2.4 Móbile Transmission Control Protocol (TCP Móvel)

A solução proposta pelo TCP Móvel, ou M-TCP como também é conhecido,

prevê uma estrutura hierárquica de três níveis na rede sem fio, a dos host móveis

(MH), dos pontos de acessos (MSS) e por fim em nível mais superior os SHs, que

gerenciam todo o processo de conexão. A figura a seguir ilustra esta hierarquia em

níveis:

57

Rede Wired

MH
MH
57 Rede Wired MH SH MSS Figura 9: Estrutura do Protocolo M-TCP Nesta hierarquia, a versão
SH MSS
SH
MSS
57 Rede Wired MH SH MSS Figura 9: Estrutura do Protocolo M-TCP Nesta hierarquia, a versão
57 Rede Wired MH SH MSS Figura 9: Estrutura do Protocolo M-TCP Nesta hierarquia, a versão

Figura 9: Estrutura do Protocolo M-TCP

Nesta hierarquia, a versão padrão do protocolo TCP pode ser utilizada até o

nível do SH (primeiro nível), que são equipamentos que fazem o papel de pontes

(bridges). A partir deste nível o M-TCP é utilizado.

O principal ponto desta solução é que ela emprega meios para resolver o

problema das longas desconexões sejam causadas pela saída da estação da área

de cobertura ou até mesmo pelos freqüentes handoffs. Para isso, ela cria toda esta

hierarquia e estabelece algumas funções específicas para os SHs, que são os

gerenciadores das conexões dos hosts móveis.

Todo o controle de handoff é realizado pelos SHs. O papel do SH é de

retransmitir o segmento vindo do host fixo para o host móvel, sem sequer armazena-

lo. O mesmo procedimento ocorre com os segmentos de confirmação, ou ACKs, que

são passados do host móvel ao host fixo.

O mecanismo utilizado pelo M-TCP para possibilitar melhor desempenho na

rede, é colocar o transmissor em estado persistente através da janela do receptor

58

informada nos segmentos de ACK. Isto pode ser conseguido informando que a

janela de recepção (tamanho do buffer do receptor) é zero.

Isso ocorre no momento em que, ao retransmitir um segmento vindo do host

fixo para

o

host

móvel, o SH ativa um temporizador (RTO) para controlar o

recebimento do segmento pelo host fixo. Caso o receptor não receba o segmento e

o temporizador (RTO) expire, o SH envia ao host fixo um segmento ACK informando

a janela do receptor como zero, forçando assim uma parada na transmissão. Isso

apenas

uma

pausa

na

transmissão,

evitando

assim

retransmissões

desnecessárias e diminuição da janela de congestionamento.

Embora haja esta hierarquização proposta pelo protocolo, a semântica fim-a-

fim do protocolo TCP é mantida, pois o SH apenas faz papel de retransmissor. Um

outro ponto positivo nesta solução é o no caso dos handoffs, pois como não há

armazenamento de informações nos SHs, no momento da troca não é preciso trocar

muitas informações.

Esta solução realmente é interessante para períodos longos de desconexões,

mas não resolve os problemas causados pelas freqüentes perdas ocasionadas pelos

erros comuns das redes sem fios.

4.3 Protocolos com conexão fim-a-fim

Os protocolos com conexão fim-a-fim se baseiam no princípio de que a

transmissão

e

confirmação

se

dão

diretamente

entre

dois

pontos,

sem

a

necessidade de qualquer tipo de ponto intermediário. Neste contexto, algumas

propostas

para

solução

do

problema

em

principalmente esta questão.

questão

foram

criadas

mantendo

59

4.3.1 Freeze TCP

Uma proposta que também emprega a semântica fim-a-fim é o Freeze TCP. O

princípio

básico

desta

solução

é

não

utilizar

nenhum

ponto

intermediário

na

conexão, sendo todo o controle realizado pelo próprio receptor.

O funcionamento da proposta se dá basicamente pelo envio de pacotes de

confirmação (ACKs) com o tamanho da janela do receptor zerado, forçando 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 recomeçar a transmissão de forma mais otimizada possível, a solução

propõe que sejam enviados pelo receptor três ACKs seguidos, informando o último

segmento recebido. Isto é interpretado pelo TCP padrão, no transmissor, como uma

solicitação para inicializar o modo fast retransmit, a retransmissão rápida, como

abordada em capítulos anteriores.

O principal foco da solução é amenizar os problemas causados pelas

freqüentes desconexões e não pelos freqüentes erros comuns em redes sem fios.

Esta solução possui muitas semelhanças com o M-TCP, só se diferenciando pela

não utilização de um ponto centralizador.

Um problema que pode comprometer todo o funcionamento da solução ocorre

no momento em que deseja-se que o transmissor interrompa a transmissão. A

estação pode tentar transmitir o pacote Zero Windows Advertisement (ZWA) e não

mais estar conectada, o que simplesmente não 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 padrão utiliza um mecanismo de confirmação cumulativo, ou seja, ao

informar o recebimento de um segmento, o receptor envia ao transmissor um ACK

contendo o número do próximo segmento a ser recebido. Assim, pacotes enviados

com número de seqüência 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 confirmação seletiva, ou seja, múltiplos segmentos são confirmados

ao transmissor, e não 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 múltiplos segmentos

são perdidos. Chegou-se a cogitar sua utilização no protocolo padrão, porém alguns

testes levaram à dúvidas sobre suas melhorias quando utilizado em redes wired. Por

ser modificado apenas o processo de confirmação, toda a semântica fim-a-fim e

outras características da versão padrão são mantidas.

Para que o protocolo possa utilizar o mecanismo de confirmação seletiva,

duas informações devem ser trocadas, uma no estabelecimento da conexão, que é o

envio de um segmento com uma “Sack permited” no cabeçalho, informando a

61

utilizado do SACK, e a outra é trocada durante a conexão, que é a SACK, para

informar os segmentos confirmados.

Para isso, é necessário 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 solução não

trata especificamente do problema de congestionamento do TCP sobre redes sem

fios, e sim, apenas de confirmações seletivas. Isso não soluciona os problemas

causados pela elevada taxa de erros presente na rede.

4.3.3 TCP WestWood

Uma outra solução proposta para otimização do desempenho é o TCP

Westwood (Bandwidth Estimation for Enhanced Transport over Wireless Links), ou

TCPW.

Esta

proposta

emprega

modificações

apenas

no

transmissor,

mais

especificamente no controle de congestionamento.

O princípio básico de funcionamento é baseado no controle da janela de

congestionamento através de estimativas da taxa de transmissão fim-a-fim, que é

totalmente transparente para roteadores e o para o próprio receptor. Com isso, se

torna compatível com qualquer tipo de rede e com a versão original do TCP no

receptor.

A estimativa do tempo de transmissão é criada a partir do RTT, e é utilizada

para configurar o tamanho da janela de congestionamento e o threshold, após a

ocorrência de uma perda.

62

Dentre as vantagens desta solução comparada com outras propostas já

existentes pode-se citar a não necessidade de pontos intermediários, a manutenção

da semântica fim-a-fim e bom desempenho em redes heterogêneas.

Como desvantagem pode-se citar a necessidade de modificações no TCP

transmissor, o que inviabiliza a solução pela grande utilização a nível mundial da

versão Reno. Outro ponto negativo está na utilização em redes com altas taxas de

erros, o que afeta nos tempos de estimativas gerados, prejudicando assim o

desempenho final.

63

5 - CONCLUSÕES

A queda de desempenho provocada pelo mecanismo de congestionamento

do protocolo TCP, operando sobre enlaces sem fios, apresenta perdas significativas

de desempenho na transmissão se comparadas a outras redes onde o meio é

orientado, ou cabeado.

Atualmente é grande a quantidade de pesquisas voltadas para esta questão,

uma vez que as redes sem fios ainda estão 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 soluções apresentadas, o principal foco é

a aplicação em redes heterogêneas, ou seja, onde há presença de redes sem fios e

redes cabeadas, como em ambientes corporativos. As redes ad hoc acabam por não

terem maior atenção pela sua baixa utilização, sendo estas consideradas apenas em

casos específicos.

O protocolo TCP mais utilizado atualmente, a versão Reno, está presente em

diversos sistemas de rede espalhados por todo o mundo. Alterações nesta estrutura

apresentariam altos custos, o que inviabiliza qualquer solução que tem como

proposta a alteração do protocolo padrão, o qual opera eficientemente sobre redes

cabeadas.

Dentre as soluções citadas, as que apresentam necessidade de alteração do

protocolo padrão são as de mecanismos de notificação explicita, a técnica de

reconhecimentos múltiplos (Multiple Acknowledgements), o TCP Sack e o TCP

64

Westwood. Assim, fica evidente a total inviabilidade destas soluções, uma vez que a

alteração na versão Reno se torna inviável pelos motivos já apresentados.

Um outro ponto que deve ser considerado para avaliação destas propostas é

a questão da confiabilidade provida pela proposta do protocolo TCP padrão, o qual

emprega conceitos de conexão orientada e controle de fluxo para prover segurança

na transmissão. A quebra destes conceitos implica em deficiências e insegurança, o

que também descaracteriza a proposta.

Uma proposta cujo foco principal é prover a quebra da conexão é o TCP

Indireto (Indirect TCP). Nesta, cada segmento recebido pelo AP já é confirmado sem

ao menos ser retransmitido ao seu destino, descaracterizando assim a semântica

fim-a-fim.

Além de propor soluções 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 solução proposta deve ainda

oferecer mecanismos de soluções para as freqüentes desconexões, sejam por

handoffs ou até mesmo por desconexões causadas pelo não alcance do sinal pela

estação.

Um outro ponto fundamental a ser considerado é a questão de suporte a

criptografia em camadas inferiores, pois muitas das soluções, por exigir um ponto

intermediário entre o transmissor e o receptor, como é o caso do Snoop, impede

este tipo de serviço e limita apenas à camadas superiores, como à de aplicação.

A tabela abaixo ilustra algumas destas características importantes e relaciona

com as respectivas soluções propostas, identificando se oferecem ou não suporte às

mesmas:

65

Critérios

SNOOP

Snoop

I-TCP

Freeze

M-

TCP

TCP

Otimizado

TCP

TCP

Sack

Westwood