Como a velocidade do link afeta o throughput do TCP? [fechadas]


4

Alguém pode me explicar como os dados são transmitidos através de uma rede usando TCP / IP? Digamos que atualmente receba 500 Mbps de dados em uma linha de 1 Gbps no momento. Se eu atualizar a linha para 10 Gbps, minhas velocidades de dados aumentariam para 5 Gbps devido à serialização (mais faixas para a movimentação de dados, mesmo que ela ainda esteja se movendo na mesma velocidade por faixa)?

Estou realmente confuso sobre o que realmente determina o rendimento e por que o rendimento real varia de acordo com a velocidade rotulada do link. Acredito que a taxa de transferência real seja determinada pelo tempo de ida e volta, mas, para atingir 10 Gbps, isso não significa que você precisaria de um ping com menos de um milissegundo? Ou essa taxa de transferência por faixa e, dependendo da velocidade do link, você multiplica essa taxa de transferência pelo número apropriado de faixas?


Você diz que obtém "500 Mbps de dados em 1 Gbps" - usando qual protocolo?
Robert

Eu acredito no TCP? Este é apenas um cenário hipotético.
eek142

Qual é a sua pergunta, você não está sendo claro.
wizlog

Respostas:


2

Existem muitos fatores que limitam a velocidade na qual você pode transferir dados, e você só pode transferir tão rápido quanto o link mais lento na cadeia. Depois de entrar na faixa de 1 Gbps, coisas como a velocidade do seu disco rígido serão o link mais lento em vez do seu adaptador de rede.

Você também está amarrando largura de banda e latência juntos quando você não deveria, essas duas coisas não têm nada a ver uma com a outra. Vamos mostrar isso por um exemplo do mundo real, se eu tenho uma fábrica que pode produzir 100 Widgets por segundo, não importa se eu levo uma hora para entregar o Widget para o cliente ou uma semana, contanto que a taxa que eu Estou produzindo os widgets permanece na mesma velocidade. Se eu atualizar minha fábrica para fazer 1000 Widgets por segundo, meus caminhões de entrega ainda levam o mesmo tempo para chegar lá, eu só posso estar enviando caminhões maiores ou mais deles.

Agora, ter uma alta latência diminuirá sua taxa de transferência devido a como algoritmos de controle de congestionamento funcionam No entanto, aumentar a largura de banda não afetará sua latência (em um sentido teórico, no mundo real, você provavelmente verá algumas mudanças, mas isso é causado pelos efeitos colaterais da mudança de protocolos e equipamentos).

Eu recomendo fortemente listar a série de Steve Gibson sobre a maneira como a Internet funciona em "Segurança Agora!" (Começando às ep 309 ), em seguida, passar para o modo como o TCP funciona alguns episódios mais tarde. Eles examinam as porcas e parafusos de como o TCP funciona e isso pode ajudá-lo a entender o que você quer.


Na verdade, o throughput TCP depende muito da latência e da largura de banda. Isto é devido ao algoritmo de controle de congestionamento que vem com. De fato, a má utilização do enlace da abordagem clássica de aumento / diminuição de aditivação multiplicativa com canais longos de gordura (isto é, produto de alta largura de banda no caminho da comunicação) deu origem ao desenvolvimento de algoritmos de controle de congestionamento mais adequados, como BIC, CUBIC ou Relentless. TCP.
artistoex

@Artistoex Eu não quis dizer que a taxa de transferência não depende de latência e largura de banda. Eu estava tentando educar o OP com base em seu comentário " ... mas para alcançar 10 Gbps, isso não significa que você precisaria de um ping de sub-milissegundos ". Sim, ter uma alta latência lhe dará uma taxa de transferência ruim devido aos algoritmos de congestionamento, mas não é diretamente amarrado a isso do jeito que o OP estava falando.
Scott Chamberlain

@artistoex Eu mudei o texto um pouco para esclarecer que eu estava querendo falar sobre largura de banda e latência, não throughput e latência, esperamos que ele irá satisfazer a sua satisfação para remover o -1.
Scott Chamberlain

1

Um único host não conseguirá saturar seu link de 10 Gbps, a menos que ele também tenha uma interface de 10 Gbps. Muitos hosts acessando o link através de um switch podem fazê-lo (isso pressupõe, por exemplo, que você tenha um switch no seu lado do link de 10Gbps que tenha uma interface de 10Gbps), como poderia dizer, um servidor com uma interface de 10Gbps.

Todos os protocolos, como TCP e IP, têm sobrecarga. Portanto, você não pode mover arquivos a 10 Gbps por uma interface de 10 Gbps por causa disso.

Aumentar o MTU pode diminuir a sobrecarga, pois aumenta o tamanho da carga útil de cada pacote. É por isso que uma das características importantes do Gigabit ethernet são "Jumbo Frames", permitindo um MTU máximo de 8192 a partir de 1500. No entanto, isso significa que se os dados passarem por uma interface com um MTU menor, a fragmentação é necessária. Isso pode adicionar milissegundos à sua latência. Outras coisas que adicionam latência são o tempo gasto no roteamento e na troca do tráfego.


Meu exemplo assume que você tem uma NIC de 10 Gbps no servidor, um comutador de 10 Gbps e uma linha de 10 Gbps. Atualizar tudo isso de 1 Gbps leva a 10x a taxa de transferência?
eek142
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.