Por que algumas conexões de rede dominam outras?

15

Tenho minhas suspeitas sobre o porquê, mas quero que alguém com um background mais forte em redes explique.

Por que ao fazer o download de vários locais diferentes, certas conexões saturam a largura de banda, deixando outras conexões quase inativas até que a conexão dominante seja concluída?

Keltari
fonte

Respostas:

26

Geralmente, a conexão mais rápida vence. No entanto, antes da rede do Windows 7 estar uma bagunça, o desempenho era péssimo. Tente obter mais de 20mb / s do XP, boa sorte com isso.

http://research.microsoft.com/pubs/70189/tr-2005-86.pdf

O algoritmo padrão para evitar congestionamento de TCP emprega um esquema de aumento aditivo e diminuição multiplicativa (AIMD). Quando não há perda de pacotes detectada (por meio de três ACKs duplicados ou tempo limite de retransmissão), a janela de congestionamento (cwnd) é aumentada em um Tamanho Máximo de Segmento (MSS) a cada RTT. Caso contrário, se uma perda de pacote for detectada, o remetente TCP diminui cwnd pela metade. Em uma rede de alta velocidade e longo atraso, é necessária uma janela muito grande, por exemplo, milhares de pacotes, para utilizar totalmente a capacidade do link. Portanto, o TCP padrão precisará de muitos RTTs para recuperar a taxa de envio em um único evento de perda. Além disso, é sabido agora que a janela média de congestionamento de TCP é inversamente proporcional à raiz quadrada da taxa de perda de pacotes.

Uma conexão mais rápida possui pacotes mais bem-sucedidos e, portanto, seu cwnd / mss é aumentado e obtém ainda mais da conexão total.

cybernard
fonte
Isso estava de acordo com o que eu pensava, embora mais técnico.
22416 Keltari
23
20 milibits por segundo é bem baixo, mesmo para o Windows XP. : P
CodesInChaos
@codesinchaos onde está um crachá pedante quando você precisa de um ...
Ashley
1
@CodesInChaos Acho que não há realmente uma ambiguidade, já que você não pode dividir um pouco, mas Mb / s provavelmente seria melhor ;-) Um problema maior é quando as pessoas confundem "Megabit" com "Megabyte" ..
comfreak
-1

Um TCP aberto ativo testará as condições da rede medindo as respostas do servidor. Se os buffers dos roteadores estiverem saturados por outra conexão e causar um atraso alto, o cliente ajustará sua janela de envio de acordo. Se um método clássico de controle de congestionamento estiver em execução, o cliente aumentará continuamente sua taxa de envio até que ocorra uma queda. Portanto, é possível que um recém-chegado se intrometa se o dispositivo que está saturando o roteador começa a sofrer quedas graves, enquanto o recém-chegado não.

Agora existem métodos experimentais e mais inteligentes de controle de congestionamento que usam o atraso como métrica, em vez de simplesmente usar quedas para medir as condições da rede. No entanto, esses novos métodos têm o mau hábito de serem intimidados pelos métodos clássicos mais tenazes que levam a maior largura de banda possível.

Também com conexões UDP, em massa, dominará qualquer rede devido à pulverização descuidada de bits que faz. Dependendo do aplicativo, ele saturará imprudentemente os buffers dos roteadores, sem levar em consideração as condições da rede.

Jeff Pliska
fonte