4 Avaliação de Desempenho do TCP em Canal Satélite · Terminal Estaçªo Terrena Estaçªo...

34
55 4 Avaliação de Desempenho do TCP em Canal Satélite Como foi visto no Captulo 3, o canal satØlite apresenta diversas caractersticas que afetam significativamente o desempenho do protocolo TCP. Recentemente muitos estudos tŒm sido feitos sobre diversos aspectos deste problema. Neste trabalho abordamos especificamente o efeito dos erros no canal visando determinar seu impacto no desempenho do TCP. 4.1. Modelo do Sistema O sistema de transmissªo TCP via satØlite considerada neste trabalho estÆ representado na figura 11. A aplicaªo Ø uma transferŒncia de arquivo atravØs do protocolo FTP, operando sobre TCP. Como mostra a figura 11, dois terminais se conectam a duas estaıes terrenas, que por sua vez, sªo conectadas atravØs de um satØlite que Ø simplesmente um repetidor passivo. As ligaıes dos terminais s estaıes terrenas consistem de dois enlaces terrestres com taxa de 6 Mbps e atraso de propagaªo de 10 ms. O satØlite Ø geostacionÆrio, de forma que o valor do atraso total de subida e descida Ø aproximado por 250 ms. 6 Mbps 10 ms 6 Mbps 10 ms 1 Mbps 250 ms Figura 11 Topologia do enlace fim a fim

Transcript of 4 Avaliação de Desempenho do TCP em Canal Satélite · Terminal Estaçªo Terrena Estaçªo...

55

4 Avaliação de Desempenho do TCP em Canal Satélite

Como foi visto no Capítulo 3, o canal satélite apresenta diversas

características que afetam significativamente o desempenho do protocolo TCP.

Recentemente muitos estudos têm sido feitos sobre diversos aspectos deste

problema. Neste trabalho abordamos especificamente o efeito dos erros no canal

visando determinar seu impacto no desempenho do TCP.

4.1. Modelo do Sistema

O sistema de transmissão TCP via satélite considerada neste trabalho está

representado na figura 11. A aplicação é uma transferência de arquivo através do

protocolo FTP, operando sobre TCP. Como mostra a figura 11, dois terminais se

conectam a duas estações terrenas, que por sua vez, são conectadas através de um

satélite que é simplesmente um repetidor passivo. As ligações dos terminais às

estações terrenas consistem de dois enlaces terrestres com taxa de 6 Mbps e atraso

de propagação de 10 ms. O satélite é geostacionário, de forma que o valor do

atraso total de subida e descida é aproximado por 250 ms.

6 Mbps10 ms

6 Mbps10 ms

1 Mbps250 ms

Figura 11 Topologia do enlace fim a fim

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

56

O sistema de transmissão entre as duas estações terrenas e o satélite é

basicamente caracterizado por um modem e opcionalmente um código corretor de

erro. Como foi descrito no Capítulo 2, a grande distância de propagação obriga o

sistema a operar com limitação na relação sinal ruído, e geralmente recorrer aos

códigos corretores de erro, a fim de diminuir os erros presentes na recepção do

sinal. Porém, estes códigos mudam a correlação entre os eventos errados

introduzindo erros em surtos. Assim, o nosso sistema está sujeito a ocorrência de

erros estatisticamente independentes ou em surtos, dependendo da utilização ou

não do código corretor de erro. Na Figura 12 mostra-se o modelo equivalente do

enlace digital entre as duas estações terrenas. Observa-se, além do modem e do

código corretor de erro, o efeito do ruído e da amplificação no satélite

Figura 12 Modelo equivalente do sistema de transmissão no enlace satélite

O sistema da figura 12 corresponde à ligação das camadas físicas nas duas

estações terrenas, de acordo com o modelo em camadas representado na figura 13.

Tipicamente, nas estações terrenas, a principal funcionalidade da camada de

enlace é a de múltiplo acesso (camada MAC) que permite o compartilhamento do

canal por pacotes de dados de diversos usuários.

Figura 13 Modelo em camadas do enlace fim a fim

FTPTCPIP

ENLACE

FÍSICA

FTPTCPIP

ENLACE

FÍSICA

ENLACE (MAC)

FÍSICA FÍSICA

ENLACE (MAC)

FÍSICA FÍSICA

Terminal Estação Terrena Estação Terrena Terminal

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

57

4.2. Fundamentos da análise de desempenho

Apresentamos a seguir os principais elementos de um modelo analítico para

a análise de desempenho da transmissão considerada. O parâmetro de

desempenho é a vazão obtida na transferência, entendendo como vazão a taxa de

pacotes efetivamente recebidos. O objetivo é relacionar este parâmetro com o

comportamento dos erros de transmissão através do canal.

O relacionamento entre a vazão do protocolo TCP e a probabilidade de

perda de pacotes tem sido abordado em alguns trabalhos [26, 27]. Note-se que o

impacto da perda de um pacote é bastante grande por causa do mecanismo de

controle de congestionamento do TCP. Muito mais do que exigir a retransmissão

do pacote, a perda provoca a redução drástica e imediata da janela de transmissão

do TCP, pois o mecanismo de controle considera que as perdas de pacotes como

indicadores de congestionamento em algum ponto da conexão. Assim, idealmente,

perdas devidas a erros não deveriam provocar a redução da janela e neste caso, o

impacto seria bem menor.

Em [26] obtém-se a seguinte expressão geral para a vazão

+

+

=

)321(8

33,1min3

21,min)(

20

max

ppbpTbpRTTRTTW

pB (4.1)

onde p é a probabilidade de perda de pacote, Wmax é o valor máximo da janela de

transmissão, RTT é o round trip time, T0 é o valor do time out e b é o número de

pacotes confirmado por cada pacote de confirmação (ACK).

Podemos então separar o nosso problema em duas partes: (i) a relação entre

vazão e probabilidade de perda de pacotes; (ii) a relação entre a probabilidade de

perda de pacote e taxa de erro no canal.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

58

4.2.1. Relação entre probabilidade de perda de pacote e taxa de erro de bit

Vamos, a seguir, determinar a relação entre a probabilidade de perda de

pacote e a taxa de erro no canal. Esta relação, entretanto, não é única, mas

depende primeiramente da estatística dos erros, que podem ocorrer com

independência estatística ou não. Por outro lado, a perda do pacote depende de

outros fatores relacionados ao formato do pacote TCP e à aplicação. Em princípio,

será considerado aqui que o pacote será descartado quando 1 ou mais bits errados

ocorrem dentro do pacote.

Erros independentes

Para erros estatisticamente independentes, considerando a ocorrência de um

ou mais erros como a causa de perda de pacotes, pode-se escrever, com base na

distribuição binomial, que a probabilidade de perda de pacote, Pp será dada por,

N

ep BERnPP )1(1)0(1 −−==−= (4.2)

,onde ne é o número de bits em um pacote, BER é a probabilidade de erro de bit e

N é o número de bits em um pacote. Para BER<<1 e N>>1, (4.2) pode ser

calculada, com boa aproximação, através da distribuição de Poisson, resultando:

BERN

p eP .1 −−=

Erros em surtos

Para erros em surtos, o problema se torna mais complexo e dependente do

mecanismo específico de produção de surtos. Uma conhecida função distribuição

do número de erros em um intervalo de N bits, em um canal com erros em surtos,

é a distribuição de Neyman [ref], dada por,

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

59

∑∞

=

−−

==1

.

!

.

!)(

n

n

nkBERNk

e n

BERN

enek

knP αα αα

; k>0 (4.3)

onde α é o número médio de bits por surto. Pode-se mostrar que:

( )α

α−−−

==eBERN

e enP1.

)0( (4.4)

( )α

αα

αα

−−−−⋅==

eBERN

e eBERNnP1.

..)1( (4.5)

Usualmente α >> 1 e αα

<<BERN. . Neste caso,

αBERN

e enP.

)0(−

≅= (4.6) α−== eBERNnP e ..)1( (4.7)

Com base em (4.2) e (4.7) podemos deduzir que, para um mesmo valor da

probabilidade de erro de bit, BER, a ocorrência de erros em surtos se traduz em

uma menor probabilidade de perda de pacote. Como ilustração, apresentamos o

seguinte exemplo: se uma seqüência de erros em surtos tem comprimento médio

de 10 bits, a perda de pacotes provocada por esta seqüência, será a mesma

provocada por uma seqüência de erros independentes, com BER 10 vezes menor.

A explicação é simples, pois se os erros são estatisticamente independentes,

tendem a se distribuir por vários pacotes provocando a perda dos mesmos, uma

vez que, basta um erro para que o pacote seja perdido. Por outro lado, com erros

em surtos, os grupos de erros se concentram em determinados pacotes, reduzindo

as perdas.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

60

4.3. Análise estatística de alguns códigos convolucionais

Nesta seção será descrito o modelo analítico usado para caracterizar os erros

em surto apresentado neste trabalho e os resultados estatísticos das simulações.

Este modelo é baseado em [28] e [29].

Inicialmente é preciso estabelecer de forma mais precisa o conceito de surto.

Para isto será usada a definição adotada em [30]: surto é um grupo de bits onde

dois bits errados sucessivos estão separados por uma quantidade de bits corretos

menor que um valor L, que será denominado distância de referência. Logo, um

surto de erros sempre termina e começa com um bit errado, e o valor de L deve ser

especificado arbitrariamente. O tamanho do surto será igual ao número de bits

entre os dois bits errados que delimitam o surto.

Um surto de erros pode corresponder a uma única seqüência de bits com um

número de bits corretos menor que L entre dois bits errados, ou pode ser formado

por um conjunto de pequenos surtos, onde a distância entre dois surtos

consecutivos é menor que L, resultando em um único surto. No primeiro caso, o

tamanho do surto será no máximo igual a L + 2 enquanto no segundo caso pode

assumir qualquer valor.

Uma vez estabelecido o valor da distância de referência L, pode-se

identificar os surtos e determinar seus tamanhos. Um importante parâmetro para

caracterização estatística dos surtos de erro é o seu tamanho médio.

Utilizando o software Matlab, realizamos simulações para caracterizar o

comportamento da seqüência de erros produzida por um decodificador de Viterbi

associado a alguns códigos convolucionais. A figura 14 ilustra a configuração

usada no MatLab para representar a situação descrita.

Figura 14 Modelo do canal satélite fim a fim no MatLab

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

61

O modelo da figura 14 é composto por uma fonte de bits pseudo-aleatória, o

codificador convolucional, o canal de transmissão e o decodificador de Viterbi. O

canal utilizado é o BSC � Canal Simétrico Binário � que é caracterizado pela

probabilidade p de um bit qualquer mudar de estado independente de qualquer

outro bit. Esta probabilidade p é a taxa de erro do canal, sendo os erros

estatisticamente independentes.

4.3.1. Tamanho médio dos surtos

A fim de caracterizar o comportamento dos surtos foram feitas simulações

com os códigos da tabela 3 e a configuração descrita na figura 14. No

decodificador de Viterbi foi usada uma profundidade de decisão igual a cinco

vezes o valor do comprimento de restrição K e hard-decision. Os resultados são

apresentados nas figuras 15-19.

Polinômio Gerador Taxa Comprimento de restrição

[15 13] octogonal 1/2 K = 4

[171 133] octogonal 1/2 K = 7

[171 133] octogonal 3/4 K = 7

[171 133 145] octogonal 1/3 K = 7

[4335 5723] octogonal 1/2 K = 12 Tabela 3 Códigos convolucionais usados nas simulações

Como se observa nas figuras 15-19, para cada código, são considerados

diversos valores da distância de referência L. Nota-se que o valor de L influencia

bastante o tamanho médio dos surtos ( B ) para valores elevados da taxa de erro de

bit no canal, mas esta influência praticamente desaparece para de taxas de erro

médias e baixas. Este fato está de acordo com o observado em [29]. Na verdade, o

tamanho médio do surto depende do código empregado, mais especificamente do

valor do comprimento de restrição do codificador (K).

Nas figuras 16-18 são apresentados os tamanhos médios do surto para

códigos com K = 7 e diferentes taxas, ½, ¾ e 1/3. Nas três figuras, o valor médio

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

62

fica em torno de 5 bits. Já na figura 15, que retrata um código com taxa ½ e K = 4,

o valor médio do surto ficou abaixo de 5 bits, e na figura 19, que retrata um

código de taxa ½ e K = 12, o tamanho médio do surto ficou bem maior, próximo a

15 bits. Isto sugere que o tamanho médio do surto aumenta com o tamanho do

comprimento de restrição, confirmando a dependência entre estes parâmetros,

observada no parágrafo anterior.

Para os surtos gerados por códigos convolucionais, uma definição

conveniente para a distância de referência é L = K – 1, onde K é a comprimento de

restrição. Esta definição foi adotada em [31, 32, 33], devido ao fato de uma

palavra código de K – 1 bits levar o codificador de volta ao caminho de

decodificação correto. E pode-se notar, nas figuras 15-19, que L=K – 1 é um valor

praticamente equivalente a outro qualquer para valores de BER menores que 10-3.

Código taxa=1/2 K=4

05

101520253035404550

1.E-04 1.E-03 1.E-02 1.E-01 1.E+00BER

Tam

anho

méd

io d

o su

rto L=6L=15L=30L=50L=100

Figura 15 Dependência de B com BER para o código [15 13]

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

63

Código taxa=1/2 K=7

05

10152025303540455055

1.E-06 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00BER

Tam

anho

méd

io d

o su

rtoL = 6L = 15L = 30L = 50L = 100

Figura 16 Dependência de B com BER para o código [171 133]

Código taxa=3/4 K=7

0

5

10

15

20

25

30

35

40

1.E-06 1.E-05 1.E-04 1.E-03 1.E-02 1.E-01 1.E+00BER

Tam

anho

méd

io d

o su

rto

L = 6L = 15L = 30L = 50L = 100

Figura 17 Dependência de B com BER para o código [171 133] com

puncturing

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

64

Código taxa=1/3 e K=7

05

101520253035404550

1.E-04 1.E-03 1.E-02 1.E-01 1.E+00BER

Tam

anho

méd

io d

o su

rto

L=6L=15L=30L=50L=100

Figura 18 Dependência de B com BER para o código [171 133 145]

Código taxa=1/2 e K=12

0

5

10

15

20

25

30

35

40

45

50

1.E-05 1.E-04 1.E-03 1.E-02 1.E-01BER

Tam

anho

méd

io d

o su

rto

L=6L=11L=30L=50L=100

Figura 19 Dependência de B com BER para o código [4335 5723]

4.3.2 Função distribuição

Baseado em resultados de simulações, em [33,34] é proposta uma

distribuição geométrica como modelo para a fdp do comprimento do surto de

erros, isto é:

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

65

( )1111 −

−=

l

BBlp (4.9)

Nas figuras 20 e 21 estão apresentados as distribuições de probabilidade de

comprimento de surto simulada e a teórica para o código [171 133] de taxa ½ e

K=7.

Figura 20 fdp do comprimento do surto para BER alto

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

66

Figura 21 fdp do comprimento do surto para BER médio

Nas figuras de 22 e 23 estão apresentados as distribuições de probabilidade

de comprimento de surto simulada e a teórica para o código [171 133] com taxa ¾

e K=7.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

67

Figura 22 fdp do comprimento do surto para BER alto

Figura 23 fdp do comprimento do surto para BER médio

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

68

Os resultados apresentados nas figuras 20-23 estão de acordo com as

referências [33 e 34]. A distribuição simulada e a teórica ficam mais próximas

quando é usada uma taxa de erro alta, valores próximos de 10-3. A medida que a

taxa diminui, a relação entre as duas distribuições fica como o apresentado nas

figuras 21 e 23.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

69

4.4. Simulações do TCP em canal satélite

Será descrito nesta seção o trabalho de simulação realizado para avaliar e

analisar o desempenho de uma transmissão TCP em canal satélite, com base no

modelo apresentado na seção 4.1. Esta descrição será precedida pela discussão de

alguns trabalhos publicados que tratam do mesmo problema.

4.4.1. Trabalhos Relacionados

Serão discutidos trabalhos aplicados a enlaces celulares e via satélite. Com

relação ao problema em questão, a diferença básica entre os dois ambientes é o

produto banda-retardo que é pequeno no ambiente celular e bastante elevado nos

enlaces satélite.

4.4.1.1. Trabalhos com produto banda-retardo alto

O efeito de perdas de pacotes no desempenho do protocolo TCP em enlaces

com produto banda-retardo alto foi avaliado em vários trabalhos. Na maioria dos

casos, as análises consideram que as perdas ocorrem por falta de espaço nos

buffers devido a congestionamento. Este é o caso de [39,40,41,42,43,45,46 e 48].

Em [39] é estudado o desempenho do protocolo TCP em redes WANs por

meio de análise e simulações. Em particular, é avaliada a relação entre tamanho

do buffer e a utilização efetiva do enlace no TCPs Reno e Tahoe, sendo

apresentada como técnica de melhoria algum tipo de reconhecimento seletivo. As

referências [40] e [41] são estudos da mesma época, porém mais completos,

incluindo NewReno e Sack-Reno, e, no caso de [40], procurando mostrar os

benefício do TCP Sack em situações de múltiplas perdas em uma mesma janela de

transmissão. A influência do tamanho do buffer e o valor inicial da janela de

congestionamento na vazão é avaliada mais recentemente em [46].

Em [42,48] a influência do produto banda-retardo no desempenho de várias

implementações do TCP é avaliada em uma rede híbrida, composta por duas

partes terrenas separadas por uma conexão satélite, sem presença de ruído. Em

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

70

particular é avaliada a técnica Split descrita na seção 3.1. Um estudo mais recente

[43], faz comparações semelhantes em um cenário mais simples, composto por

um nó receptor e um nó transmissor, ligados por um enlace satélite, chegando a

conclusões similares às apresentadas em [42]. Já em [45] a vazão do TCP é

avaliada em presença de tráfego de fundo. O trabalho tem uma grande

preocupação em caracterizar este tráfego de fundo, para tal são simuladas 30

fontes de tráfego Web e 30 fontes FTPs para as duas direções, de maneira que os

recursos disponíveis fiquem sendo disputados entre essas fontes e a conexão TCP

de interesse. A literatura que aborda os erros no canal, como causa das perdas de pacote,

é bem menos extensa. Em [38] é avaliada a vazão de uma conexão TCP/IP sobre

um enlace satélite e faz-se um estudo dos erros em surtos gerados por um código

convolucional com decodificador de Viterbi. Para caracterizar o enlace satélite o

autor simula um canal com retardo de ida e volta de 930ms e taxa de 1024 Kbps.

Este trabalho analisa apenas uma versão do protocolo TCP e o retardo causado

pelo enlace satélite é quase o dobro do valor real. A referência [44] é um estudo que propõe analisar a performance do TCP

em enlaces satélites, com ou sem erros. Para o ambiente livre de erros no enlace,

os autores comparam a vazão do TCP Reno e do Sack-Reno para diferentes

quantidades de dados a serem transmitidas. Com a presença de erros no enlace, a

vazão das duas versões do TCP é comparada para diferentes valores de BER. O

erro é caracterizado da seguinte maneira: é introduzida uma seqüência de 500

bytes errados em intervalos aleatórios dados pela taxa de erro (BER), por

exemplo, para uma BER de 10-7 serão introduzidos 500 bytes errados a cada

10.000.000 bits. Nos dois ambientes, o TCP Sack teve melhor desempenho. Esta

caracterização dos erros não condiz com o tipo de erro em surto provocado pelo

codificador de Viterbi.

Finalmente, deve ser mencionada a referência [24] que, além de avaliar a

vazão do TCP Reno e do Sack-Reno, introduz e mostra as vantagens do protocolo

STP. O desempenho dos protocolos é avaliado em canais sem erros e com erros

aleatórios.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

71

4.4.1.2. Trabalhos com produto banda-retardo baixo

Com exceção de [38], os trabalhos mencionados na seção anterior, ou não

consideram erros no canal, ou consideram erros independentes. Por outro lado,

alguns trabalhos recentes abordam o efeito de surtos de erros no desempenho do

TCP em sistemas sem fio, que se caracterizam por um baixo produto banda-

retardo. Este é o caso de [27] onde é avaliada a vazão do protocolo TCP nas

implementações Tahoe, Reno e New Reno. Isto é feito através de abordagem

analítica e simulações. O sistema em questão é caracterizado por uma única

conexão TCP sobre um canal sem fio de taxa de 1,5 Mbps com desvanecimento

por multipercursos. A modelagem do erro causado pelo desvanecimento é feita

por uma cadeia de Markov de primeira ordem. Como a distância entre o receptor e

o transmissor é pequena, considera-se que o reconhecimento chega

instantaneamente, ou seja, o ACK não tem retardo. Por isso os resultados obtidos

para o TCP New Reno, valem para o TCP-Sack.

Em trabalhos anteriores como [35], o autor se restringia ao TCP Tahoe, e

em [36] apenas comparou o Tahoe com o New Reno. Quando comparado o

desempenho do Tahoe com o Reno, houve um desempenho quase idêntico em

presença de erros estatisticamente independentes e um melhor desempenho por

parte do Tahoe em presença de erros correlatados, devido ao fast recovery do

Reno. É interessante ainda citar [37], onde os autores estudam o uso de

mecanismos na camada de enlace para otimizar a performance do TCP, linha de

pesquisa que já havia sido sugerida nos trabalhos anteriores.

O presente trabalho apresenta semelhanças com diversos trabalhos citados.

Ele se distingue ao focalizar a questão dos erros, em particular dos erros em surtos

em um enlace com valor elevado do produto banda retardo típico, de um enlace

satélite. Com exceção de [38], os surtos de erros têm sido avaliados em enlaces

sem fio com baixo produto banda retardo. Em relação a [38], que segue a mesma

linha, devemos notar que os autores analisaram a vazão de uma única

implementação do TCP e o tempo de retardo do enlace satélite usado, 930 ms,

está acima do valor real, 500 ms. Neste trabalho serão analisados os desempenhos

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

72

das versões do TCP: Reno, New Reno, Tahoe e Sack, em presença de enlaces

satélites ruidosos, e comparados com a vazão do STP nos mesmo ambientes.

4.4.2. Metodologia e definição de parâmetros

Serão descritas a seguir a metodologia utilizada e os parâmetros utilizados

nas simulações.

Para a simulação da transmissão dos pacotes usando o protocolo TCP, foi

utilizado o simulador de rede ns-2 [49]. Para caracterizar o comportamento dos

códigos convolucionais, foi utilizada a ferramenta matemática MatLab, de acordo

com a metodologia descrita na seção 4.3..

O simulador NS-2 tem na sua biblioteca os elementos necessários para

simulação do modelo considerado: fonte de tráfego FTP, protocolo TCP, roteador

e enlace de transmissão com taxa e retardo definidos.

A figura 24 ilustra a configuração utilizada no simulador ns-2, que

corresponde à conexão via satélite representada da seção 4.1.

FTP

TCP

FTP

TCP 1 Mbps

250 ms

6 Mbps

10 ms

6 Mbps

10 ms Roteador

1 Roteador

2

Figura 24 Modelo de referência para simulação no ns

A fim de avaliar a vazão alcançada pelo protocolo nos cenários que serão

apresentados nas próximas seções, utilizou-se a numeração dos pacotes de

reconhecimentos recebidos pelo emissor. Para se conhecer a vazão média de uma

simulação em bit/s basta dividir a maior numeração do ACK recebido pelo tempo

de simulação em segundos, e multiplicar pelo tamanho do pacote em bits .

O protocolo TCP foi configurado com os seguintes parâmetros:

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

73

Valor inicial do cwnd 4 pacotes

Valor inicial do ssthresh 70 pacotes

Valor máximo da cwnd 70 pacotes

Valor máximo da acwnd 70 pacotes

Tamanho do pacote 1000 Bytes

Tabela 4 Características do TCP

Simulação dos erros no canal

Se a seqüência de bits errados for estatisticamente independente,

obviamente a seqüência de pacotes errados também será estatisticamente

independente. Assim, foi usada nestas simulações uma rotina do ns-2 (função

Error) que descarta pacotes, independentemente, com probabilidade Pp. Através

de (4.2), este parâmetro pode ser associado à probabilidade de erro de bit no

enlace. Para que as perdas fossem provocadas apenas por erros de transmissão, foi

adotada fila infinita em todos os roteadores.

Na simulação com erros em surtos, supomos que estes surtos são gerados

pelo processo de decodificação de um código convolucional. Assim, inicialmente

caracterizamos o comportamento destes erros através de simulação de alguns

códigos convolucionais, como descrito na Seção 4.3. Nestas simulações são

inseridos erros estatisticamente independentes, com uma dada probabilidade, em

uma seqüência de bits de referência, gerada de forma pseudo-aleatória. Esta

seqüência com erros, em seguida, passa por um decodificador de Viterbi que

realiza a correção, diminui a taxa de erro, mas introduz erros em surtos. Através

da comparação com a sequência de bits original, são obtidas longas sequências

binárias representando os bits errados produzidos pelo decodificador de Viterbi,

para uma série de valores da taxa de erro de bit na saída deste decodificador.

Estas sequências binárias devem ser transformadas em sequências que

representam os pacotes errados. Esta transformação é feita tomando-se, ao longo

da sequência, blocos de bits de tamanho igual ao tamanho do pacote IP e

identificando-se, através de uma varredura, se o pacote está ou não errado. Cria-se

assim uma sequência binária que funciona com um "trace" de sinalização para

descarte de pacotes. No nó de destino, o estado de cada pacote é determinado

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

74

através de uma consulta a este "trace". Este processo foi implementado no ns-2

através de uma rotina desenvolvida para esta finalidade.

O critério para caracterizar um pacote como errado e, conseqüentemente

descartá-lo, é a existência de um único erro dentro do pacote. Este é o critério

padrão usado pelo protocolo TCP para considerar um pacote como corrompido e

requisitar a sua retransmissão [52, 53].

O tempo de simulação para todos os experimentos foi sempre grande o

suficiente para que os dados fossem confiáveis. Para as simulações com erros

estatisticamente independentes, o tempo de simulação foi de 106 segundos, o que

possibilita a geração de 1012 bits por simulação, valor mais que suficiente para

validar taxas de erro de até 10-9. Para as simulações com erros em surtos foram

geradas seqüências (�traces�) de pacotes errados com comprimento igual a 109

bits e para a taxa de erro de 10-9 foi utilizado um �trace� com 1010 bits.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

75

4.4.3. Desempenho em presença de erros estatisticamente independentes

Serão apresentados, a seguir, os resultados de vazão efetiva alcançada nas

simulações realizadas da transmissão da aplicação FTP/TCP, descrita na Seção

4.4, considerando erros estatisticamente independentes no enlace satélite. Foram

simuladas e comparadas as versões TCP Tahoe, Reno, New-Reno e Sack. Todas

as perdas de pacotes são devidas exclusivamente aos erros do enlace, ou seja, não

há perda de pacotes devido ao congestionamento nas filas dos roteadores, uma vez

que foram adotadas filas de tamanho infinito (seção 4.4.2.).

Mostra-se na Figura 25, a vazão relativa em função da taxa de erro de bit no

enlace satélite. Pode-se notar nesta Figura 22,7 que a vazão decresce à medida que

a taxa de erro de bit começa a aumentar a partir de 10-9, reduzindo à metade para

BER em torno de 10-7. Observa-se que os desempenhos das implementações Sack,

New Reno e Reno são muito semelhantes entre si e um pouco superiores ao

desempenho do TCP Tahoe.

Erro E.I.

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03BER

SackNew RenoRenoTahoe

Figura 25 Vazão efetiva das implementações do TCP em presença de erros

estatisticamente independentes .

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

76

A fim de validar o ambiente de simulação proposto e ter uma base para

comparação, foram feitas simulações no modelo de simulação proposto na seção

4.4.2, porém com um retardo muito baixo, que permite considerar que o

reconhecimento é instantâneo. Este novo ambiente é muito semelhante ao

proposto em [27, 35, 36], e os resultados obtidos são muito parecidos. A figura 27

mostra o desempenho idêntico do Sack e New Reno devido ao reconhecimento

instantâneo que inutiliza a melhoria de reconhecimento seletivo. Na figura 26

pode-se notar que o New Reno tem o melhor desempenho, enquanto o Tahoe tem

uma melhor vazão frente ao Reno, fato já apresentado em [27].

Erro E.I.

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1.E-07 1.E-06 1.E-05 1.E-04BER

NewRenoTahoeReno

Figura 26 Vazão efetiva das implementações do TCP com PBR baixo.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

77

Erro E.I.

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1.E-07 1.E-06 1.E-05 1.E-04BER

NewRenoSack

Figura 27 Vazão do Sack e New Reno com PBR baixo

4.4.4 Desempenho em presença de erros em surtos

Dando continuidade, apresentamos ainda os resultados de vazão efetiva

alcançada nas simulações realizadas da transmissão da aplicação FTP/TCP,

descrita na Seção 4.4, considerando erros em surto provocados pelo codificador

convolucional no enlace satélite, conforme descrito na seção 4.5.1. Foram

simuladas e comparadas as versões TCP Tahoe, Reno, New-Reno e Sack,

observando-se mais uma vez que todas as perdas de pacotes são devidas

exclusivamente aos erros do enlace.

A figura 28 mostra a vazão alcançada pelo TCP em presença de erros em

surto provocado pelo código [171 133] com taxa ½ e K = 7, e a figura 29 mostra o

desempenho do protocolo para o mesmo código com taxa ¾ e K = 7.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

78

Erro em Surto

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02BER

TahoeRenoNew Renosack

Figura 28 Vazão do TCP em presença de erro em surto provocado por código de taxa

1/2.

Erro em Surto

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1,E-09 1,E-08 1,E-07 1,E-06 1,E-05 1,E-04 1,E-03 1,E-02BER

Tahoe

Reno

New Reno

Sack

Figura 29 Vazão do TCP em presença de erro em surto provocado por código de taxa

3/4.

Assim como para erros estatisticamente independentes, a vazão alcançada

pelas versões Sack, Reno e New Reno foi idêntica em presença de erros em surto

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

79

para os dois códigos apresentados. E o desempenho do Tahoe foi um pouco pior

que o das outras três implementações do TCP. Ao final do capítulo, será feita a

avaliação do modelo de erros no desempenho das diversas versões do TCP e do

protocolo STP, que será avaliado na próxima seção.

4.4.5 Desempenho do STP

Nesta seção serão apresentados resultados de desempenho do protocolo STP

descrito na seção 3.3. O STP tem como opção de controle de congestionamento o

controle por taxa, onde o emissor estipula um valor máximo de transmissão e o

protocolo se ajusta para esse valor (seção 3.3.).

FTP

STP

FTP

STP 1 Mbps

250 ms

6 Mbps

10 ms

6 Mbps

10 ms Roteador

1 Roteador

2

Figura 30 Modelo do canal satélite para o ns-2 com o STP

Foram feitas simulações com o STP no ns-2 usando o controle

congestionamento por taxa no mesmo ambiente proposto em 4.5 para o TCP,

figura 30. A taxa máxima de transmissão do protocolo STP foi ajustada para

960Kbps, as rotinas de filas e os parâmetros do protocolo são idênticos aos

utilizados para o TCP. O desempenho do STP para os dois tipos de erros: erros

estatisticamente independentes (STP E.I) e erros em surto provocados por códigos

de taxa 1/2 e 3/4 (STP 3/4 e STP 1/2), estão apresentados na figura 31.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

80

STP

0%10%20%30%40%50%60%70%80%90%

100%

1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02BER

STP 3/4STP 1/2STP E.I.

Figura 31 Desempenho do STP em presença de erros no enlace

A utilização do controle de congestionamento por taxa possibilita uma

vazão muita alta para valores de taxa de erro muito elevados. Por exemplo, BER =

10-4 representa um taxa de perda de pacote p = 0.55 (equação 4.2). Sob estas

condições, o STP alcançou uma vazão de 14% para erros estatisticamente

independentes e valores maiores que 80% para erros em surto. O desempenho do

STP para as duas taxas de códigos convolucionais empregadas foi muito similar e

superior ao desempenho do protocolo para erros estatisticamente independentes.

A simulação do STP, em presença de erros estatisticamente independentes,

mostrou-se condizente com o resultado do estudo [24], que também apresenta

uma análise de desempenho do STP em um enlace satélite com erros E.I., porém

sem muita ênfase. [42] é outro trabalho que estuda o desempenho do STP, porém

em um cenário que utiliza a técnica de Split (seção 3.1) e o autor está interessado

na influência do produto banda-retardo na vazão alcançada pelo STP.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

81

4.5. Comparação de Resultados

Nesta seção será apresentada uma comparação dos resultados das

simulações apresentadas neste capítulo. Como já foi visto nas seções anteriores, as

versões do TCP Sack, New Reno e Reno têm desempenho muito semelhante. Por

isso, nos gráficos desta seção, o TCP-Sack irá representar os três.

Nas figuras 32-34 estão apresentadas as vazões efetivas alcançada pelos

protocolos STP, TCP-Sack e TCP-Tahoe, em presença de erros estatisticamente

independentes, erros em surto provocado pelo código convolucional de taxa ½ e

erros em surto provocados pelo código convolucional de taxa ¾, respectivamente.

Nos três casos, o desempenho do STP foi superior devido ao controle de

congestionamento por taxa, inexistente no TCP. O TCP-Sack teve uma

performance um pouco melhor que o Tahoe, porém abaixo do esperado, se

considerarmos as melhorias existentes no Sack, tais como fast recovery, fast

retransmit e reconhecimento seletivo. Esse resultado evidencia que, para um

ambiente sem congestionamento nas filas dos roteadores, com alto retardo e erros

no enlace, as melhorias feitas no protocolo TCP ao longo dos anos não

proporcionam um ganho no desempenho.

Erro E.I.

0%10%

20%30%40%50%

60%70%80%

90%100%

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02BER

STP

Sack

Tahoe

Figura 32 Desempenho dos protocolos em presença de erros estatisticamente

independentes.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

82

Taxa 1/2

0%10%20%30%40%50%60%70%80%90%

100%

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02BER

Tahoe

Sack

STP

Figura 33 Desempenho dos protocolos em presença de erros em surto provocado por

código convolucional de taxa 1/2

Taxa 3/4

0%10%20%30%40%50%60%70%80%90%

100%

1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02BER

Tahoe

Sack

STP

Figura 34 Desempenho dos protocolos em presença de erros em surto provocado por

código convolucional de taxa 3/4

Nas figuras 35-37 são apresentadas as comparações de um único protocolo

em presença dos três modelos de erros propostos. Na figura 35, pode-se ver que a

vazão alcançada pelo TCP-Tahoe em presença de erros estatisticamente

independentes (Tahoe E.I) foi inferior ao desempenho do protocolo em presença

de erros em surto, fato esperado devido ao maior grau de correlação entre os erros.

E para os dois casos de erros em surto - erros provocados pelo codificador de taxa

½ (Tahoe ½) e erros provocado pelo codificador com taxa ¾ (Tahoe ¾) - o

desempenho foi muito semelhante, fato que pode ser explicado se olharmos as

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

83

figuras 16 e 17, onde estão apresentados os gráficos de tamanho médio do surto

em função da taxa de erro para os dois códigos utilizados, e notarmos que para um

mesmo valor de BER, o tamanho médio do surto é muito próximo nos dois casos.

Códigos com taxas de ½ e ¾ são os mais usados em comunicações via

satélite, logo, uma análise de códigos com taxas diferentes, e que produzissem

surtos com tamanho médio diferente dos dois casos apresentados aqui, sairia do

escopo deste trabalho.

Na verdade, a análise feita para o TCP-Tahoe também vale para o TCP-

Sack, figura 36, e para o STP, figura 37.

Tahoe

0%10%20%30%40%50%60%70%80%90%

100%

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03BER

Tahoe3/4Tahoe1/2TahoeE.I.

Figura 35 Desempenho do protocolo TCP - Tahoe para diferentes tipos de erros

Sack

0%10%20%30%40%50%60%70%80%90%

100%

1.E-09 1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03BER

Sack1/2Sack3/4SackE.I.

Figura 36 Desempenho do protocolo TCP - Sack para diferentes tipos de erros

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

84

STP

0%10%20%30%40%50%60%70%80%90%

100%

1.E-08 1.E-07 1.E-06 1.E-05 1.E-04 1.E-03 1.E-02BER

STP3/4STP1/2STPE.I.

Figura 37 Desempenho do protocolo STP para diferentes tipos de erros

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

85

4.6. Simulações Complementares

Neste capítulo serão apresentadas simulações que complementam a

avaliação de desempenho do protocolo TCP.

Em todas as simulações apresentadas neste trabalho foi utilizado um

tamanho de pacote igual a 1000 bytes, porém seria interessante saber, qual a

influência do tamanho do pacote transmitido no desempenho dos protocolos. Esta

avaliação é apresentada na figura 38.

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1,E-09 1,E-08 1,E-07 1,E-06 1,E-05 1,E-04 1,E-03 1,E-02BER

STP 1000

STP 1500

Sack 1000

Sack 1500

Tahoe 1000

Tahoe 1500

Figura 38 Desempenho dos protocolos TCP e STP em função do tamanho de pacote

Na figura 38 estão apresentados os resultados obtidos nos mesmos cenários

das figuras 24 e 30 para dois tamanhos de pacotes transmitidos: 1000 e 1500

bytes. Esses valores foram escolhidos pela ampla utilização na literatura e por

estarem próximos ao tamanho máximo de um pacote Ethernet, 1500 bytes. Para

facilitar o entendimento do gráfico o TCP-Sack representa o desempenho dele, do

TCP-New Reno e do TCP-Reno.

Ao observarmos a figura 38 podemos notar que, mais uma vez, o protocolo

STP teve um desempenho muito superior ao TCP para os dois tamanhos de

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

86

pacotes. Se olharmos apenas o Sack e o Tahoe é possível perceber que os dois

tiveram uma melhor vazão quando o tamanho do pacote era 1500 bytes. Isto

confirma o resultado obtido em [38], onde o autor, para uma versão do TCP,

constatou que quanto maior o tamanho do pacote melhor será a utilização do

meio. Além disso, pode-se notar que o Tahoe com pacotes de 1500 bytes e o Sack

com pacotes de 1000 bytes, tiveram um desempenho muito semelhante. Esta

conclusão em conjunto com o fato de que todos os casos estudados neste trabalho

mostraram um melhor desempenho do Sack em relação ao Tahoe, porém não

muito expressivo, nos conduz a pergunta feita por outros autores [36]: Não seria

mais vantajoso utilizar algum mecanismo nas camadas inferiores que aumente o

desempenho do protocolo ao invés de utilizar um protocolo de transporte mais

complexo?

Continuando a análise da influência do tamanho do pacote sobre os

protocolos, podemos notar que ao contrário do TCP o STP teve um desempenho

pior para pacotes de 1500 bytes. O controle de taxa usado no STP utiliza ao

máximo o meio de transmissão e os pacotes retransmitidos tem prioridade, logo

uma perda de pacote de tamanho maior é mais significativa.

Outra abordagem para avaliar o desempenho dos protocolos TCP e STP é a

utilização pelas camadas inferiores de algum mecanismo que corrija pelo menos

um bit por pacote. A figura 39 mostra o desempenho dos protocolos TCP e STP

em enlaces com ruído estatisticamente independente (EI), e para enlaces com

erros em surto provocado pelo código convolucional com taxa de ¾ (Surto), onde

foi corrigido um bit por pacote. O eixo X da figura 39 é o valor da taxa de erro

antes da correção de um bit.

Pode-se notar que todos os protocolos (Sack, Tahoe e STP) tiveram um

melhor desempenho em presença de erros estatisticamente independente se

comparados ao desempenho de cada um deles em presença de erros em surto.

Ainda na figura 39, o TCP-Sack e o TCP-Tahoe tiveram uma vazão efetiva muito

parecida em presença de erros estatisticamente independente. Esta última

observação nos leva novamente a interrogação, se um protocolo de transporte

menos sofisticado e uma inteligência nas camadas inferiores não é mais vantajoso

que o uso de um protocolo de transporte mais complexo.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

87

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1,E-06 1,E-05 1,E-04 1,E-03 1,E-02BER

Sack-EITahoe-EISTP-EISack-SurtoTahoe-SurtoSTP-Surto

Figura 39 Desempenho dos protocolos TCP e STP com correção de um bit por pacote

A grande diferença de desempenho entre os protocolos, para os diferentes

tipos de erros, pode ser explicada pelo ganho na probabilidade de perda de

pacotes, que a correção de um bit proporciona para erros estatisticamente

independentes. Se retornarmos a seção 4.2.1 e reformularmos a equação 4.2 para o

cenário atual, teremos uma probabilidade de perda de pacote, Pp, para erros

estatisticamente independentes dada por:

( ) ( ) ( ) ( )( ) ( ) 11

1 .111

1101

BERBERCBER

nPcorreçãosemPnPnPPNN

epeep

−−−−−=

==−==−=−=

(4.8)

Para erros em surto com distribuição de Neyman, podemos usar as equações

(4.6) e (4.7) para calcular a probabilidade de perda de pacotes com correção de

um bit por pacote:

( ) ( ) αα −−−−==−=−= eBERNenPnPP

BERN

eep ..1101.

(4.9)

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA

88

Se calcularmos a probabilidade de ter um bit errado no pacote, P(ne=1),

com valores típicos como: 8000 bits por pacote, taxa de erro igual 10-5 e α = 10,

teremos para erros estatisticamente independentes P(ne=1) = 7,38e-2 e para erros

em surto P(ne=1) = 3,63e-6. Fica evidente, que para erros estatisticamente

independentes, a correção de um bit por pacote é mais eficaz.

Outra maneira de entendermos essa diferença de desempenho é

considerarmos, que para um pacote estar errado são necessários pelo menos dois

erros. Se ocorrerem erros em surto, a chance deste evento acontecer é muito maior

do que com erros estatisticamente independentes, devido a maior correlação entre

os erros.

DBD
PUC-Rio - Certificação Digital Nº 0116358/CA