TCP/IP em ligação via satélite

Fonte: wirelesspt.net

Frequentemente, referimos-nos a um VSAT como uma rede de cano longo e grosso (long fat pipe network). Este termo tem a ver com os factores que afectam o desempenho do TCP/IP em qualquer rede que tenha uma largura de banda relativamente grande, mas alta latência. Por exemplo a maioria das ligações à internet em África e em outras partes do mundo em desenvolvimento são feitas utilizando VSAT. Desta forma, mesmo que uma universidade tenha a sua ligação à internet fornecida por um ISP, a instruções fornecidas aqui também se aplicam, caso a ligação deste ISP for através de VSAT.


A alta latência de redes via satélite é devida à longa distância até o satélite e à velocidade constante da luz. A distância adiciona cerca de 520 ms para o tempo de viagem de um pacote (RTT - round-trip time), comparado com um RTT típico entre a europa e os estados unidos, de cerca de 140 ms. Os factores que mais significativamente impactam o desempenho do TCP/IP são RTT longo, atrasos de entrega na largura de banda alta e erros de transmissão.


De maneira geral, sistemas operativos que suportam implementações modernas de TCP/IP devem ser usados em redes via satélite. Estas implementações fornecem o suporte às extensões RFC 1323:


  • A opção window scale para o suporte à largas janelas TCP (maiores que 64 KB)
  • Selective acknowledgement (SACK - reconhecimento selectivo) para permitir a rápida recuperação de erros de transmissão
  • RTT Longo. Links via satélite tem um RTT médio de 520 ms para o primeiro enlace. O TCP usa um mecanismo de inicialização lenta (slow start) no estabelecimento da ligação a fim de descobrir os parâmetros apropriados para a mesma. O tempo gasto no estágio de inicialização lenta é proporcional ao RTT, o que significa que, num link via satélite, este estágio dura mais tempo do que duraria em outros casos. Isto diminui drasticamente a taxa de transferência em ligações TCP de curta duração. Observa-se isto quando um website pequeno demora um determinado tempo surpreendentemente longo para ser carregado, mas um arquivo grande é transferido a taxas de transferência aceitáveis.

Além disto, quando pacotes são perdidos o TCP entra em fase de controle de congestionamento (congestion-control) e, devido ao longo RTT, permanece nesta fase por um longo tempo, assim reduzindo a taxa de transferência tanto para ligações TCP de curta como de longa duração.


Produto do atraso de entrega na largura de banda alta (Large bandwidth-delay product) A quantidade de dados em trânsito num link, em qualquer período de tempo, é produto da largura de banda e do RTT. Devido à alta latência do link via satélite, o atraso de produto em largura de banda é grande. O TCP/IP permite que o servidor remoto envie uma certa quantidade de dados sem a necessidade de confirmação de entrega. Uma confirmação é necessária para qualquer dado recebido numa ligação TCP/IP. Entretanto, o servidor remoto sempre pode enviar uma certa quantidade de dados sem que uma confirmação seja recebida, o que é importante para que se consiga uma boa taxa de transmissão em redes com ligações que apresentam grandes atrasos de entrega.


Esta quantidade de dados é chamada de tamanho de janela TCP (TCP window size). Em implementações modernas de TCP/IP, o tamanho de janela é, usualmente, 64 KB. Em redes via satélite, o valor do produto do atraso de entrega é importante. Para utilizar o link integralmente, o tamanho da janela de ligação deve ser igual ao do produto do atraso de entrega. Se o tamanho máximo de janela permitido é de 64 KB, a taxa máxima de transferência, teoricamente, atingível via satélite é (tamanho da janela) / RTT, ou 64 KB / 520 ms. Isto resulta numa taxa de transferência máxima de 123 KB/s, ou seja, 984 kbps, independente do facto da capacidade do link ser muito maior.


Cada cabeçalho de segmento TCP contém um campo chamado advertised window (janela publicada), que especifica quantos bytes adicionais de dados o receptor está preparado para aceitar. A advertised window é o tamanho disponível do buffer do receptor. O remetente não tem a permissão de enviar mais bytes do que a advertised window. Para maximizar o desempenho, o remetente deve configurar o tamanho de seu buffer de envio e o receptor o tamanho de seu buffer de recepção para um número que não seja menor que o produto do atraso de entrega. Este tamanho de buffer tem o valor máximo de 64 KB na maioria das implementações TCP/IP modernas. Para contornar este problema em TCP/IP em sistemas operativos que não aumentam a janela além dos 64 KB, uma técnica conhecida como TCP acknowledgment spoofing ("trapaça" no reconhecimento de recepção) pode ser usada para melhorar o desempenho com PEP.

Editor

--Cmsv 00h38min de 12 de fevereiro de 2010 (GMT)