Rede com cabo par trançado não passa de 10MB/s

Iniciado por brunnux, 19 de Fevereiro de 2013, 16:32

tópico anterior - próximo tópico

brunnux

Olá, fiz uma ligação direta entre 2 computadores com Ubuntu usando um cabo par trançado normal. Tenho quase certeza de que a velocidade máxima deste cabo de a partir de 1 até 100 metros é de até 100MB/s (Megabytes por segundo, não Megabits). Más por algum motivo eu não consigo transferir a mais de 10MB/s, nem entre Ubuntu -> Windows. O estranho é que usando o mesmo cabo uma vez consegui fazer uma transferência de Ubuntu -> Windows entre meu notbook e o de um amigo meu a 99MB/s. Por que será que agora não está funcionando? Alguém sabe por onde começar a procurar o problema?

galactus

Amigo, supondo que na parte do hardware está tudo certo, para que as taxas de transferências sejam altas, as duas máquinas devem possuir placas de rede Gigabit. Só assim você pode conseguir os 99 MB/s a que você se referiu. Se uma das placas não for gigabit, a velocidade vai ser limitada pela placa de menor velocidade!

Agora, tem outras coisas que vão influenciar também, tais como: Processador e quantidade de memória, velocidade dos HDs, tipos de arquivos a serem transferidos, sistema de arquivos dos dois sistemas, drivers da placa de rede e etc.

Já verificou essas coisas?
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

brunnux

Existe alguma forma de descobrir se a placa é Gigabit com algum comando ou terei que fazer o dever de casa no Google?

Arthur Bernardes


zekkerj

Citação de: brunnux online 19 de Fevereiro de 2013, 16:32
Olá, fiz uma ligação direta entre 2 computadores com Ubuntu usando um cabo par trançado normal. Tenho quase certeza de que a velocidade máxima deste cabo de a partir de 1 até 100 metros é de até 100MB/s (Megabytes por segundo, não Megabits).

Mas está errado, a taxa de transferência do cabo é de 100 megabits por segundo mesmo, não megabytes.

Se as duas placas de rede forem gigabit, você vai conseguir 1 gigabit por segundo, ou 1000 megabits por segundo (dez vezes a taxa anterior).

Conectado a 100 megabits por segundo, você deve conseguir transferências de até 12 megabytes por segundo. Conectado a gigabit, você deve conseguir até 125 megabytes por segundo.

CitarMás por algum motivo eu não consigo transferir a mais de 10MB/s, nem entre Ubuntu -> Windows. O estranho é que usando o mesmo cabo uma vez consegui fazer uma transferência de Ubuntu -> Windows entre meu notbook e o de um amigo meu a 99MB/s. Por que será que agora não está funcionando? Alguém sabe por onde começar a procurar o problema?

Um bom programa para você medir o desempenho da sua conexão é o iperf.

sudo apt-get install iperf

Você pode usá-lo tanto no Linux quanto no windows.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

brunnux

A saída do comando lspci -v | grep -A 10 Ethernet:
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
        Subsystem: Hewlett-Packard Company Device 144b
        Flags: bus master, fast devsel, latency 0, IRQ 42
        I/O ports at 2000 [size=256]
        Memory at c1404000 (64-bit, prefetchable) [size=4K]
        Memory at c1400000 (64-bit, prefetchable) [size=16K]
        Expansion ROM at c1410000 [disabled] [size=64K]
        Capabilities: <access denied>
        Kernel driver in use: r8169
        Kernel modules: r8169


Só me referi a velocidade em Megabytes pq o Windows e o Ubuntu medem em Megabytes na barra de transferência, enfim, 1 Gigabit, 1000 Megabits e 119,20 Megabytes (baseados em 1024) são a mesma coisa.

Vou analisar a placa do outro computador para ver se a outra também é Gigabit.
Também vou instalar o iperf, esse eu não conhecia.

zekkerj

1 Gigabit não é a mesma coisa que 119,20 Megabytes. Isso é um limite teórico.

Esses 119,20 Megabytes/s que o Windows mede são baseados em uma transferência de dados que ele faz (ou fez). Ou seja, ele pega um arquivo (ou uma massa de dados qualquer), envia de um lado pro outro, mede o tempo que leva, e te dá essa estatística. Digamos que ele tenha enviado um arquivo de 23840MB, levou 200s, divide o tamanho pelo tempo, dá o resultado que vc viu.

Só que tem um problema: pra enviar esses 23840 Megabytes, ele não gastou 8x23840 Megabits. Na verdade ele gasta mais que isso, pq nem todos os bits que são enviados numa conexão de rede são bits de dados --- há também bits de controle, há bits gastos com outras conversações em paralelo, há bits de uso interno da rede... enfim; no fim, toda transmissão na rede tem um "custo" (também chamado de "overhead") de em torno de 10%.

Então, não espere que seu computador consiga fazer transferências de 119MB/s, ou 125MB/s. Essas taxas são limites teóricos. Na prática, qualquer coisa acima de 80% disso é lucro.

Mais sobre desempenho de transferências...
http://ubuntuforum-br.org/index.php?topic=74566.0
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

brunnux

zekkerj saquei, mas estou mesmo intrigado é no porque que consigo transmitir usando apenas por volta de 10% da capacidade do capo quando já consegui usar quase 100%. Lembro que ficamos boquiabertos, era um jogo de 8GB que passou em menos de 2 minutos.

zekkerj

10% do quê? Quanto vc tirou dessa conexão?

Lembre, a 100Mbps, você vai tirar de 8 a 10MB/s de transferência de dados. Mais que isso, só com conexão Gigabit.

CitarLembro que ficamos boquiabertos, era um jogo de 8GB que passou em menos de 2 minutos.
Isso são pouco mais de 68MB/s. Se você conseguiu isso, sua conexão estava em modo gigabit.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D