Informática Numaboa - Linux

Desvendando suas placas de rede

Sab

17

Jan

2009


18:25

  • Imprimir
(5 votos, média 4.20 de 5) 


Para entrar na Internet ou para se conectar como um nó de rede, seu computador precisa de uma ou mais placas de rede. Estas placas formam a interface entre seu computador e a rede. Existem diferentes tipos de placas, com diferentes velocidades e outras características mais. Aqui está uma dica de como desvendar as características da sua placa.

Para os linuxeiros inveterados o tema deste pequeno tutorial até pode parecer bobagem. Logo pensam no comando ifconfig e dão o assunto por encerrado. Mas será que só existe o ifconfig? Veremos...

O comando ifconfig

O comando ifconfig é usado para configurar (e posteriormente manter) as interfaces de rede. Se nenhum argumento for informado, o ifconfig mostra apenas o estado das interfaces que já foram definidas. Se informarmos uma interface, ele mostra somente o estado desta interface; caso contrário, ele assume que os parâmetros devem ser configurados.

Para poder usar o ifconfig você precisa estar logado como root. Peguei uma das minhas máquinas para ver quais interfaces estavam configuradas. O resultado foi o seguinte:

# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:14:2B:B3:C3:45
          inet addr:200.195.185.76  Bcast:200.195.185.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1782471 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3561354 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:126048396 (120.2 Mb)  TX bytes:999978935 (953.6 Mb)
          Interrupt:11 Base address:0xe000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4320 (4.2 Kb)  TX bytes:4320 (4.2 Kb)

Como se pode ver, trata-se de uma máquina absolutamente convencional. Possui apenas as interfaces eth0 (uma placa Ethernet) e Local Loopback. O MAC da placa Ethernet é 00:14:2B:B3:C3:45, o endereço de Internet é 200.195.185.76, o broadcast é 200.195.185.255 e assim por diante.

Se quiséssemos obter informações apenas da placa, a chamada seria a seguinte:

# ifconfig eth0

Mas nós queremos saber mais smile

O comando dmesg

O comando dmesg é usado para escrever as mensagens do kernel do Linux e outros sistemas operacionais do tipo Unix numa saída que, por padrão, é a tela. Se quisermos saber um pouco mais sobre a nossa placa, como seu tipo e sua velocidade, então o dmesg é uma boa escolha. Na mesma máquina do exemplo anterior usei o seguinte:

# dmesg | grep eth0

eth0: VIA VT6102 Rhine-II at 0xe000, 00:14:2b:b3:c3:45, IRQ 11.
eth0: MII PHY found at address 1, status 0x7869 advertising 05e1 Link c5e1.
eth0: Setting full-duplex based on MII #1 link partner capability of c5e1.

Já obtivemos mais algumas informações: a placa é VIA VT6102 RHINE-II, o MAC é o mesmo (e nem poderia deixar de ser), está fazendo requisições de interrupção em 11 (IRQ 11) e é full-duplex. Melhorou um pouquinho, mas nós ainda queremos saber mais smile

O comando mii-tool

O mii-tool é meio velhinho, mas ainda presta bons serviços, tanto é que, velhinho ou não, ainda faz parte do Linux. O que é que o mii-tool pode adicionar ao que já sabemos? Veja o que consegui:

# mii-tool -v eth0

eth0: negotiated 100baseTx-FD flow-control, link ok
  product info: vendor 00:40:63, model 50 rev 10
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

Usei -v para ativar o modo "falante" (verbose) afim de obter o maior número possível de dados. A informação negotiated 100baseTx-FDM indica que se trata de uma placa full-duplex que trabalha nos seguintes modos (veja em capabilities):

  • Velocidade de 100 Mbps (FD, full-duplex ou HD, half-duplex) ou
  • Velocidade de 10 Mbps (FD, full-duplex ou HD, half-duplex)

Além disto, esta placa usa o modo de autonegociação para ativar o link (autonegotiation enabled). A esta altura sabemos que se trata de uma placa NIC 10/100. Excelente, mas esta placa está trabalhando a 10 ou a 100 Mbps? Está atuando no modo full ou half-duplex? Queremos saber mais smile

O comando ethtool

O comando ethtool é a versão mais moderna do mii-tool. As informações que podemos obter com este comando são essencialmente as mesmas que o mii-tool fornece, só que a velocidade usada atualmente pela placa é mostrada de forma explícita:

# ethtool eth0

Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Current message level: 0x00000001 (1)
        Link detected: yes

E aqui temos a resposta: a placa está atuando em 100Mbps no modo full-duplex. Agora sim biggrin

Algumas informações adicionais

Full Duplex é a lógica que habilita recebimentos e envios concorrentes. Em outras palavras, esta placa pode enviar dados enquanto estiver recebendo dados e vice-versa, ou seja, trabalha nos dois sentidos simultaneamente. Este modo de operação deve estar habilitado se seu computador estiver conectado a um switch.

Half Duplex - esta lógica exige uma placa que apenas recebe ou apenas envia dados. Quando a sua máquina estiver conectada a um hub, ela se auto-negocia e usa half-duplex para evitar colisões.

Auto-negociação é o processo de decidir se deve trabalhar no modo full-duplex ou no modo half-duplex. Uma placa capaz de auto-negociar decide por conta própria o melhor modo de trabalhar de acordo com o tipo de conexão.

mfx brokerкупить wokлобановский александр досьеноутбук hddvsemsmart Косметика make-upофициальный никас