Por que o desempenho do TCP diminui com o tráfego bidirecional?

0

Eu fiz um experimento simples sobre o desempenho do transporte TCP. O experimento é o seguinte:

Existem duas máquinas, A e B, cada uma instalada com o Ubuntu 12.04 Server. Eu instalei "iperf" em qualquer uma das máquinas e usei para testar a taxa de transporte. A e B estão conectados por meio de um link de 100 Mbps. O experimento é assim:

  1. Eu uso iperf para enviar de A para B usando o modo TCP. O resultado é que, em ambos os lados, a taxa de saída do iperf é de 100Mbps e é muito estável.

  2. Eu uso outro processo iperf para enviar de B para A, usando as mesmas configurações. O resultado é que em ambos os lados a taxa de saída é um pouco menor, 99Mbps, estavelmente. Mas isso é compreensível.

  3. Eu uso mais um processo iperf para enviar novamente de A para B, com a presença dos dois fluxos de tráfego anteriores. Agora a coisa ligada acontece. A taxa dos três fluxos de tráfego é de 50 Mbps, em ambos os lados. As taxas são todas muito estáveis.

Eu entendo o motivo pelo qual o fluxo 1 e o fluxo 3 compartilham o link de uma direção e ambos têm uma largura de banda de 50Mbps. Mas qual é a razão pela qual o fluxo inverso, fluxo 2, também é afetado e também é 50Mbps? O link bidirecional não deve ser considerado como dois links diferentes que não têm interferência entre si?

    
por DsRoyster 24.01.2014 / 05:53

1 resposta

0

Eu diria que -

  1. O tráfego de reconhecimento precisa ser levado em conta, isto é, a confirmação de que os pacotes enviados OK.
  2. A ethernet pode ser limitada pelo número de pacotes por segundo - você deve poder para testar essa hipótese usando quadros Jumbo e verificando se seu desempenho aumenta.
por 24.01.2014 / 06:03