Sei sulla pagina 1di 6

Performance do TCP em Redes de Satlite

Alexandre Amorim, Geraldo Nhadumbuque e Paulo Vilares


Departamento de Cincia de Computadores Faculdade de Cincias da Universidade do Porto

Abstract - Este trabalho apresenta um leque de solues que descrevem e caracterizam as resolues de problemas no controlo de congestionamento, erros de transmisso, longo tempo de transmisso e entre outros aspectos que o protocolo TCP enfrenta na transmisso de dados em canais satlite. O trabalho apresenta trs partes essenciais: a primeira faz uma caracterizao dos mecanismos padres de transmisso utilizados pelo TCP. A outra parte descreve sucintamente os problemas enfrentados e no afinal descreve solues implementadas com vista a minimizar os problemas citados. As solues abrangem a interaco com as camadas inferiores, introduo de novas variantes TCP e incluso de Proxys (PEP). Keywords TCP; Satellite Networks; PEP; BER; FEC; transport protocols;

I.

INTRODUO

segmento de entrega confivel, em que o receptor confirma a recepo de dados enviando uma mensagem de confirmao (ACK) e verifica se os dados so enviados de forma correcta, na sequncia apropriada e sem erros. Cada sequncia de dados transmitida contm uma sequncia numrica seleccionada pelo sistema operativo indicando a posio de dados na transmisso, que relativa posio do segmento do primeiro octeto [8]. responsvel ainda pela diviso da mensagem em datagramas, pelo seu reagrupamento e retransmisso no caso de perda. Quando a transmisso iniciada, inicia tambm um temporizador que estima com base no RTT (Round Trip Time) o tempo necessrio para se efectuar a transmisso dos pacotes (RTO), findo esse perodo se o receptor no receber (ex: se houver perca de pacotes) os pacotes efectua-se a retransmisso dos mesmos. Caso cheguem ao destino o receptor confirma a recepo atravs do envio de ACK como podemos visualizar na fig. 1.

Na internet existe milhares de mquinas interligadas entre si compartilhando diversas informaes e medida que o tempo passa esse nmero tende a crescer, aumentando tambm a quantidade de informao veiculada. Havendo cada vez mais, necessidade de integrao de protocolos que possam gerir de forma eficiente o processo de transmisso, controle adequado de fluxo no envio de dados de um ponto para o outro, com vista a evitar ao mximo a perda de pacotes. O protocolo principal utilizado o TCP que permite o transporte confivel de dados em diversas redes includo as redes satlites. As redes satlites utilizam ondas electromagnticas para a propagao do sinal, que so geradas a partir de uma estaco designada geradora, e projectadas para a orbita da terra, onde so recebidos por satlites, que se encarregam por retransmitir a uma segunda estao terrestre designada receptora. O TCP ao longo do processo de transferncia de dados em redes satlite enfrenta vrios problemas, uns relacionados com a perda de pacotes ou congestionamento, erros de transmisso, entre outros. Com vista a contornar essas dificuldades vrias medidas tm sido adoptadas. Neste trabalho so descritos algumas solues utilizadas para a melhoria da performance de TCP, mas para uma melhor compreenso o presente trabalho foca primeiro as caractersticas deste protocolo e os problemas que o TCP enfrente em redes satlites. II. CARACTERSTICAS DO PROTOCOLO TCP
Figura 1. Envio e recepo de ACKs [14].

Um transmissor envia uma mensagem 1, e o receptor confirma a recepo enviando o ACK 1 origem. O transmissor envia a mensagem 2 se o temporizador (RTO) expirar antes de o receptor confirmar a recepo e a origem retransmite a mensagem 2. Com vista optimizao das suas funcionalidades o protocolo TCP efectua o controlo de fluxo e o controle de congestionamento. O controlo de fluxo consiste em estabelecer uma correspondncia exacta entre a taxa de transmisso do remetente, do receptor e da rede, e o controlo de congestionamento garante o controlo contra eventuais

TCP um protocolo de transporte confivel orientado ligao e representa a base de comunicao na internet de diversos servios (HTTP, NNTP, FTP, etc.). Providencia um

sobrecargas. Durante a fase de transferncia de dados o principal meio utilizado para controlar o fluxo a janela deslizante em que medida que os pacotes vo sendo transferidos a janela vai deslizando para direita dando espao para o envio de novos pacotes [8] Fig.2.

TCP interpreta como sinal de congestionamento tendo implicaes na reduo da janela de congestionamento. Uso da assimetria devido ao alto custo dos equipamentos usados para enviar dados em redes satlites. introduzida a assimetria por exemplo numa situao em que um host ligado a uma rede satlite ir enviar todo o seu trfico de dados recorrendo a um canal terrestre e receber o trfico de entrada atravs de um canal satlite. Outra situao comum verifica-se quando, tanto o envio e recepo feita recorrendo a um link satlite, mas o uplink tem menos capacidade disponvel do que o downlink, devido ao custo do transmissor necessrio para fornecer uma alta largura de banda; Disponibilidade de satlites e a taxa de erro por bit (BER) Variao de condies atmosfricas pode reduzir a disponibilidade dos canais satlites e conduzir a ocorrncia de erros de transmisso. IV. SOLUES

Figura 2. sliding window [8].

Neste exemplo simples, h uma janela deslizante de 4 bytes. medida que o receptor envia ACKS a janela movimenta-se da esquerda para a direita, dando espao para o envio de mais pacotes. III. PROBLEMAS DO TCP NA TRANSMISSO VIA SATLITE

Os problemas do protocolo TCP que degradam o seu desempenho em redes satlite so inerentes s suas caractersticas e destacam-se [12] [5]: Longo retorno para confirmao de entrega ou no dos pacotes ao destino, devido ao atraso na propagao em sistemas GEO, e demora no processamento dos algoritmos de congestionamento, o que pode prejudicar as aplicaes interactivas. Delay Bandwidth Product (DBP) ou Produto entre largura de banda e atraso - Valores altos de DBP = atraso*largura de banda. O DBP define a quantidade de dados que um protocolo deve ter in flight (dados enviados, mas sem receber acks) a qualquer tempo para utilizar completamente a capacidade disponvel do canal. Quando o valor de DBP maior tem de aumentar consideravelmente a janela de transmisso a fim de se manter um grande nmero de pacotes em in flight o que converge no desperdcio de muito tempo pelo TCP na deteco da capacidades de envio, havendo possibilidade da existncia de fila de espera sem nunca alcanar a janela ideal. Erros de transmisso. Comparativamente a redes terrestres, as redes baseadas em links satlite apresentam uma maior taxa de erro por bit. A cada pacote descartado mesmo desconhecendo o motivo, o

Com vista na melhoria de desempenho do TCP vrias solues tm sido propostas para responder aos problemas que o TCP enfrenta em redes de satlite e nesta abordagem algumas solues so propostas destacando-se a interaco com as camadas inferiores, introduo de novas variantes TCP e PEP (Performance Enhancement Proxies). A. TCP Interactions with Lower Layers A interaco com as camadas inferiores uma questo fundamental para a melhoria do desempenho do TCP em redes de satlite e isto conseguido recorrendo aos seguintes mecanismos [1]: Path MTU discovery e Forward Error Correction. 1) Path MTU discovery Este procedimento consiste em determinar o tamanho mximo de pacotes suportados num determinado link sem estar sujeito fragmentao IP e remontagem dos mesmos [11]. No caso em que um pacote no pode ser enviado sem ser submetido fragmentao (1500 bytes em uma rede Ethernet), o remetente informado atravs de uma mensagem ICMP indicando o tamanho mximo que pode ser transmitido pelo gateway, e a origem poder tentar de novo com um segmento de menor tamanho, reduzindo desta forma a sobrecarga do segmento utilizado na transmisso e o remetente TCP pode desta forma aumentar a janela de congestionamento mais rapidamente. Esta soluo permite evitar atrasos desnecessrios ao longo da transmisso [2]. 2) Forward Error Correction

A perda de pacotes interpretada pelo TCP como sinal de presena de um congestionamento tendo implicaes na reduo da janela de congestionamento e como a janela de congestionamento cresce medida que se retorna ACKs, em redes satlites o TCP leva muito tempo a recuperar da perda. Mas quando a perda de pacotes causada pela corrupo ao invs de congestionamento, o ideal seria no reduzir o tamanho da janela de congestionamento. A alternativa passa por recorrer ao mecanismo que introduz a Correco antecipada de erros (FER). O FER consiste em adicionar smbolos redundantes ao contedo da mensagem original (ver a fig. 3).

de segmentos dummy no causa decrscimo do throughput dos segmentos de dados actuais. Se ao longo da transmisso verificar-se um congestionamento de pacotes esses so descartados, enviando primeiro os segmentos dummy. Caso no haja congestionamento o remetente interpreta os ACKs dos dummy segments como uma evidncia da disponibilidade dos recursos na rede para efectuar a transmisso. O principal requisito do TCP Peach que os routers da rede tm de implementar algumas formas de poltica class-based queuing (CBQ) para diferenciar entre trfego de alta prioridade e de baixo, ou seja, entre os pacotes de dados e segmentos dummy [1]. A fig. 4 faz uma comparao do desempenho do TCP Reno e TCP Peach em termos de goodput, quando varias ligaes compartilham o mesmo link.

Figura 3. Funcionamento do FEC [9].

O codificador FEC apresenta dois pacotes de paridade redundante (P1, P2) para cada trs pacotes de dados enviados. Se um pacote de dados (D3) e um pacote de paridade (P2) perdido, o receptor pode reconstruir o pacote de dados (D3) pelo descodificador FEC [9]. Mas no sempre possvel a correco de erros (por exemplo quando se verifica a interferncia militar, misses no espao, o rudo causado pela chuva, etc.). Apesar de no poder corrigir todos os erros um mecanismo eficaz que permite a reduo significativa da taxa erros de transmisso. B. TCP Variants Os problemas do protocolo TCP esto relacionados com limitaes nas caractersticas dos mecanismos utilizados na optimizao das suas funcionalidades (algoritmos, protocolos etc.), com isto a modificao e aprimoramento dessas caractersticas atravs de novas verses TCP uma excelente alternativa. A seguir so descritos alguns exemplos utilizados como o caso de TCP peach e TCP westhood e SCTP. 1) TCP Peach Alm de utilizar os algoritmos congestion avoidance e fast retransmit e em substituio dos algoritmos slow start e fast recovery o TCP Peach introduz dois novos algoritmos: sudden start e rapid recovery. Esses dois algoritmos so baseados no conceito de dummy segments em que o remetente sonda a disponibilidade dos recursos sem levar nenhuma nova informao ao receptor, utilizando a cpia do segmento correspondente aos ltimos dados transmitidos. A transmisso

Figura 4. Comparao do desempenho do TCP-Peach e TCP Reno para diferentes valores de capacidade do link [15].

A figura 4, mostra o goodput (nmero de bits significativos por unidade de tempo transmitido) de TCP-Peach e TCP-Reno [15] para diferentes valores da capacidade de ligao (c). Assumindo a probabilidade de perda de 5.10 -3. Para valores menores da capacidade de ligao, o goodput dos valores obtidos por TCP-Peach e TCP-Reno so quase iguais, porque a maioria das perdas do segmento se deve ao congestionamento. Quanto s perdas causadas por erros de segmentos, a janela de congestionamento do TCP-Reno sempre pequena. Como resultado, na figura 4 o goodput para TCP-Reno no excede 620 pacotes/s, mesmo quando a capacidade do link muito alta. O Rapid Recover resolve este problema, como mostrado na fig. 4. 2) TCP Westwood Bandwidth Estimation for Enhanced Transport over Wireless Links ou simplesmente TCP Westwood, tem em vista limitar as consequncias da perda de pacotes em canais sem fio. Este

modelo TCP introduz melhorias no controlo de congestionamento atravs da modificao do algoritmo fast recover. baseado no controlo da janela de congestionamento e define o ssthresh (Slow-start threshold) mediante a estimativa da largura de banda disponvel, evitando desta forma a reduo da taxa de transmisso como acontece no congestion avoidance. O Westhood implementa um mecanismo, chamado de Adapative start (Astart) para ajustar o ssthresh na fase de start-up, de acordo com a estimativa da largura de banda. O comportamento do TCP Westwood usando o mecanismo Astart numa ligao end-to-end num canal de satlite que apresenta algumas percas (PER 1%) pode ser visualizado na fig. 5.

Figura 6. Optimizao do buffer do receptor [11].

O mecanismo Advertised Receive Window limita o nmero mximo de bytes que podem ser transmitidos para o espao livre do buffer do receptor, tendo em conta uma baixa taxa de erro (PER = 10-4), valores mximos de buffer predefinidos pelo sistema operativo de 64 kByte (ou seja, Windows NT, Linux 2.4), 128 kByte (ou seja, Digital Unix 4.0), e 256 kByte (ou seja, BSD / OS). Os resultados mostram que o TCP Westwood no computador geral apresenta um melhor desempenho como mostra a figura 6. O Westwood redefine o valor de cwnd depois de se verificar um pacote perdido em relao ao valor da largura de banda estimado, o resultado mais reactivo para aumentar a taxa de transmisso. Alm disso, como mostrado na Figura 6, cada caso Westwood chega ao mximo throughput permitido a partir do tamanho do buffer do receptor, enquanto o New Reno fortemente limitado pelos erros de transmisso.
Figura 5. Mecanismo de ajuste dinmico do cwnd.

1) SCTP O protocolo de controlo de fluxo de transmisso SCTP (stream control transmission protoco), faz parte da linhagem de protocolos concebidos para a transmisso de mensagens de sinalizao PSTN em redes baseadas em IP e outras aplicaes. Tal como o TCP um protocolo confivel orientado ligao e foi projectado para resolver as limitaes e complexidade do protocolo TCP, na transmisso de dados em tempo real e sinalizao de dados [4]. Mantm e introduz melhorias em algumas caractersticas importantes do TCP tais como controle de congestionamento, deteco de erros de retransmisso, e apresenta outras funcionalidades que o distingue do TCP, particularmente o multi-homing (Capacidade de ter mltiplos endereos IP e usar qualquer deles ou todos simultaneamente, conforme necessrio) e multistreaming (capacidade de enviar/receber mltiplos fluxos de dados numa nica ligao). O Multi-homing permite dois pontos criarem uma associao com vrios endereos IP para cada terminal (em SCTP, 'associao' representa o nome da relao de comunicao entre os dois pontos). Desta forma, possvel introduzir uma espcie de diversidade de espao na rede, que pode ser til para lidar com falhas de ligaes, sem

O grfico ilustra o mecanismo de ajuste dinmico do cwnd e do inicio de slow start, antes e depois do Astart, com base no RTT de 520 ms, PER de 1%, segmento TCP de 1448bytes, capacidade de canal de 2Mbit/s e tamanho de buffer equivalente ao DBP. Especificamente, quando uma perda de pacotes ocorre, ssthresh e cwnd so definidos como sendo igual estimativa de largura de banda actual. Para uma melhor visualizao do desempenho alcanado pelo TCP Westwood em relao ao TCP NewReno foi considerado por [11] o impacto no tamanho do buffer do receptor sobre o desempenho do TCP numa ligao com valor elevado de PBD que afecta o desempenho do TCP figura 6.

interromper a transferncia de dados. Por exemplo, um canal via satlite pode ser usado como uma interface secundria para um link backup terrestre (interface primria) figura 7.

ligam os hosts aos gateways de satlite, e a terceira entre os gateways dos satlites que constituem a rede satlite [12]. Do ponto de vista da rede, esta arquitectura possibilita esconder o link satlite para os utilizadores finais, que continuam a usar a pilha TCP para ligar-se a gateways de satlite, enquanto que entre eles possvel aproveitar as potencialidades dos protocolo de transporte concebidos. V. CONCLUSO

Figura 7. Multihoming. [13]

O mecanismo Multi-streaming permite mltiplos fluxos simultneos de dados numa associao ou ligao. Cada mensagem enviada para um fluxo de dados pode ter um destino final diferente, mas todas precisam manter os limites das mensagens. Por exemplo, os sistemas no podem enviar partes da mesma mensagem por fluxos diferentes - uma mensagem deve ser enviada recorrendo ao mesmo fluxo. C. Performance Enhancement Proxies PEP um proxy colocado entre os pontos finais do link de comunicao para melhorar o desempenho do TCP em links caracterizado pelo elevado valor de DBP, atravs de melhorias na arquitectura. A seguir so apresentadas as tcnicas TCP spoofing e TCP splitting. 1) Spoofing uma soluo que permite a minimizao de longos RTTs. Nesta abordagem o gateway do satlite responsvel por gerar de forma transparente falsos ACKs automaticamente a um host final sem esperar pelos acks verdadeiros, permitindo o aumento da janela de congestionamento. O gateway funciona tambm como intermedirio entre pontos envolvidos na comunicao e armazena os pacotes reconhecidos que ainda esperam pela confirmao do receptor. Com vista a evitar o reconhecimento duplicado o n intermedirio descarta o pacote correspondente do seu buffer. Para que isto acontea necessrio que, os segmentos de dados TCP e os ACKs relacionados passem pelo mesmo caminho. Se este no for o caso, o gateway via satlite, responsvel pela realizao de operaes de falsificao, no ser capaz de efectivamente gerir as ligaes TCP no link de satlite. [12] 2) Splitting Este procedimento consiste em separar a ligao entre os diversos hosts em trs ligaes separadas, duas das quais

A melhoria do desempenho do TCP uma questo que no requer apenas modificao e actualizao dos mecanismos utilizados no controle de fluxo, mas sim deve abranger tambm a interaco com as camadas inferiores, alterao nos fluxos de dados. Com isso a interaco com as camadas inferiores possibilita uma diminuio dos atrasos causados pela fragmentao de pacotes e uma correco antecipada dos erros de transmisso. A alternativa PEP define alteraes na ligao end-to-end para mltiplas ligaes, permitindo lidar com falhas em ligaes longas, sem interromper a transferncia de dados. A introduo de novas variantes TCP tem como objectivo o update de verses anteriores, introduzindo modificaes e novas funcionalidades nos algoritmos de controlo de congestionamento. As solues aqui apresentadas no so definitivas, possuem fragilidades e potencialidades, verificando-se a necessidade de estudos pormenorizados que minimizem cada vez mais os problemas enfrentadas neste tipo de redes. Por exemplo o TCP peach reutiliza os valores de transmisso correspondentes a um passado recente para efectuar a transmisso, isso eficiente se os valores utilizados forem adequados s condies actuais da rede. Outro cenrio tem a ver com o mecanismo FER que efectua a correco antecipada de erros tornando a transmisso mais robusta devido a adio de bits de paridade e interpreta a rejeio de pacotes como sinal de congestionamento mas a rejeio de pacotes pode ser causado por erros de transmisso, rudos no canal e outros, assim preciso efectuar estudos profundos que possam convergir na criao de novos mecanismos que tenham um tratamento adequado a essas situaes. REFERNCIAS
[1] Carlo Caini, Rosario Firrincieli, Mario Marchese, Tomaso de Cola, Michele Luglio, Cesare Roseti, Nedo Celandroni, and Francesco Potort. Transport layer protocols and architectures for satellite networks. International Journal of Satellite Communications and Networking, Vol. 25, No. 1, pp. 1-26, January-February 2007. Dsvgs M. Allman, D. Glover and L. Sanchez, Enhancing TCP over Satellite Channels using Standard Mechanisms, RFC 2488, January 1999. Zhang, Huang, & Lee, Internetworking and Computing Over Satellite Networks, IEEE SecureComm 2005, Sep 2005. RFC 2960: R. Stewart, Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T. Taylor, I. Rytina, M. Kalla, L. Zhang,V. Paxson, Stream Control Transmission Protocol , October 2000.

[2]

[3] [4]

[5] [6] [7] [8] [9]

[10]

[11]

[12] [13]

[14] [15]

RFC 2001: TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms. W. Stevens. January 1997. J. F. Kurose and K. W. Ross. Computer Networking: A Top-Down Approach, 5th ed. Addison-Wesley, 2009. http://www.freesoft.org/CIE/Course/Section4/8.htm. John Kristoff. TCP Congestion Control, March 2000. Guoping Tan, Application Layer Hybrid Error Correction Techniques for DVB Services in Wireless Home Networks. Site Web http://www.nt.uni-saarland.de/projects/hec/ Md. Ehtesamul,K. Humayun, TCP Congestion control in Heterogeneous Network, Bangladesh University of Engineering and Technology, August 2007. M. Luglio, C. Roseti, M. Gerla, TCP Performance over Satellite in case of Multiple Sessions per Links using Efficient Flow Control and Real OS, d Computer Science Department, University of California Los Angeles. Cesare Roseti, Enhancing Transport Layer in Satellite Systems:Design and Development of an Emulation Platform, 2007. Paul Stalvig. Introduo ao protocolo de controle de fluxo de transmisso (sctp), a prxima gerao do protocolo de controle de transmisso (tcp). Site Web - http://www.f5networks.com.br/pdf/whitepapers/introducao-ao-stream-control-transmission-protocol-sctp-wp.pdf http://www.dcc.fc.up.pt/~ssargento/aulas_2003_2004/RSD/aulas_teorica s/RSD_TCP_10.pdf I. F. Akyildiz, G. Morabito and S. Palazzo, TCP-Peach: A New Congestion Control Scheme for Satellite IP Networks, IEEE/ACM Transaction on Networking, vol. 9, no. 3, pp. 307-321, 2001.

Potrebbero piacerti anche