A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Linux

Dicionário do iproute2

Sab

14

Abr

2007


08:35

(19 votos, média 4.37 de 5) 


ip link show

ABREVIAÇÕES: show, list, lst, sh, ls, l

ARGUMENTOS:
dev NOME (default): NOME especifica o dispositivo de rede que deve ser mostrado.
                    Se este argumento for omitido, todos os dispositivos serão listados.

up                : Mostra apenas as interfaces ativas

FORMATO DA SAÍDA:
kuznet@alisa:~ $ ip link ls eth0
3: eth0:  mtu 1500 qdisc cbq qlen 100
    link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
kuznet@alisa:~ $ ip link ls sit0
5: sit0@NONE:  mtu 1480 qdisc noqueue
    link/sit 0.0.0.0 brd 0.0.0.0
kuznet@alisa:~ $ ip link ls dummy
2: dummy:  mtu 1500 qdisc noop
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
kuznet@alisa:~ $

O número antes dos dois pontos é um índice de intercafe ou ifindex. Este número é uma identificação exclusiva da interface. O número é seguido pelo nome da interface (eth0, sit0, etc). O nome da interface também é exclusivo, mas pode desaparecer da lista (por exemplo, quando o driver correspondente for desativado) e o mesmo nome pode ser dado a uma outra interface criada posteriormente. Além disto, o administrador pode alterar o nome de qualquer dispositivo com ip link set para tornar o nome mais inteligível.

O nome da interface pode ter outro nome ou NONE logo depois do sinal @. Isto significa que o dispositivo está ligado a algum outro dispositivo, isto é, os pacotes enviados por ele são encapsulados e enviados através do dispositivo "master". Se o nome for NONE, o master não é conhecido.

Depois aparece a mtu da interface (maximal transfer unit). A unidade de transferência máxima determina o tamanho máximo dos dados que podem ser enviados em cada pacote através desta interface.

qdisk (queuing discipline ou disciplina de fila) mostra o algoritmo de fila usado pela interface. Particularmente, noqueue significa que a interface não coloca nada na fila e noop significa que a interface está em modo "blackhole" (buraco negro), isto é, todos os pacotes que recebe são imediatamente descartados. qlen é o tamanho default da fila de transmissão do dispositivo medido em pacotes.

As flags da interface flags aparecem entre os colchetes.

  • UP -- o dispositivo está ligado. Está pronto para aceitar pacotes para transmissão e pode injetar no kernel pacotes recebidos de outros nós da rede.
  • BROADCAST -- o dispositivo pode enviar pacotes para todos os hosts compartilhando o mesmo link. Um exemplo típico é um link Ethernet.
  • POINTOPOINT -- o link tem apenas duas extremidades com um nó em cada ponta. Todos os pacotes enviados para este link alcançam o peer e todos os pacotes enviados vêm deste peer único.
    Se o LOOPBACK, ou o BROADCAST, ou o POINTOPOINT estiverem ativados, a interface é considerada como sendo NMBA (Non-Broadcast Multi-Access). Este é o tipo mais genérico de dispositivo e o mais complicado porque o host ligado a um link NBMA não tem como enviar pacotes sem informações adicionais.
  • MULTICAST -- é uma flag de aviso indicando que a interface está ocupada com multicasting, isto é, está enviando pacotes para algum subconjunto de nós vizinhos. Broadcasting é um tipo especial de multicasting onde o grupo multicast é composto por todos os nós do link. É importante enfatizar que o software não deve interpretar a ausência desta flag como uma impossibilidade desta interface usar multicasting. Qualquer link POINTOPOINT e BROADCAST é multicasting por definição porque temos acesso direto a todos os vizinhos e, como consequência, a qualquer parte deles. Transferências multicast de banda larga não são recomendadas em links broadcast-only porque são muito onerosas, mas não são proibidas.
  • PROMISC -- o dispositivo ouve e alimenta o kernel com todo tráfego do link, mesmo se não for destinado para nós, não for broadcast e não destinado para um grupo multicast do qual fazemos parte. Usualmente este modo existe apenas em links broadcast e é utilizado por bridges e para monitorar redes.
  • ALLMULTI -- o dispositivo recebe todos os pacotes multicast que perambulam pelo link. Este modo é usado por roteadores multicast.
  • NOARP -- esta flag é diferente das outras. Não tem um valor fixo e sua interpretação depende do protocolo de rede envolvido. Como regra, ela indica que o dispositivo não precisa de tradução de endereço e que o software ou o hardware sabe como entregar pacotes sem qualquer ajuda das pilhas de protocolo.
  • DYNAMIC -- é uma flag de aviso indicando que a interface é criada e destruída dinamicamente.
  • SLAVE -- esta interface depende de alguma outra interfaces para compartilhar capacidades de link.

info Existem outras flags, mas que são obsoletas (NOTRAILERS), ainda não foram implementadas (DEBUG) ou são específicas para alguns dispositivos (MASTER, AUTOMEDIA e PORTSEL). Estas flags não serão discutidas aqui.

info Os valores das flags PROMISC e ALLMULTI mostrados pelos utilitários ifconfig e ip são diferentes. ip link ls mostra o verdadeiro estado do dispositivo, ao passo que o ifconfig mostra o estado virtual que foi estabelecido pelo próprio ifconfig.

A segunda linha contém informação dos endereços da camada link associados ao dispositivo. A primeira palavra (ether, sit) define o tipo de hardware da interface. Este tipo determina o formato e a semântica dos endereços e faz parte do endereço. O formato default do endereço da estação e do endereço de broadcast (ou o endereço peer para links pointopoint) é uma sequência de bytes hexadecimais separados por dois pontos, mas alguns tipos de link podem ter seu formato de endereço natural, por exemplo, endereços de túneis sobre IP são mostrados como endereços IP de quatro números separados por pontos (conhecidos como dotted-quad).

info Links NBMA não possuem broadcast bem definido ou endereços peer. Entretanto, este campo pode conter informações úteis, por exemplo, sobre o endereço do relay de broadcast ou sobre endereços do servidor ARP.

info Endereços multicast não são mostrados por este comando. Veja ip maddr ls.

Com a opção -statistics, o ip também fornece informações estatísticas sobre a interface:

kuznet@alisa:~ $ ip -s link ls eth0
3: eth0:  mtu 1500 qdisc cbq qlen 100
    link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    2449949362 2786187  0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns 
    178558497  1783945  332     0       332     35172  
kuznet@alisa:~ $

As linhas RX: e TX: resumem estatísticas do receptor e do transmissor. Elas contém:

  • bytes -- o número total de bytes recebidos ou transmitidos pela interface. Este número é truncado quando o comprimento máximo do tipo de dado natural para a arquitetura é excedido. Por este motivo um monitoramento contínuo necessita de um daemon em nível de usuário que extraia os dados periodicamente.
  • packets -- o número total de pacotes recebidos ou transmitidos pela interface.
  • errors -- o número total de erros do receptor ou transmissor.
  • dropped -- o número total de pacotes descartados devido à falta de recurso.
  • overrun -- o número total de overruns do receptor que resultaram em pacotes descartados. Como regra, se a interface for atropelada (overrun), isto significa um problema sério no kernel ou que sua máquina é muito lenta para esta interface.
  • mcast -- o número total de pacotes multicast recebidos. Esta opção só é suportada por poucos dispositivos.
  • carrier -- o número total de falhas de meios físicos do link, por exemplo, perdas de transporte (carrier).
  • collsns -- o número total de colisões num meio tipo Ethernet. Este número pode ter um outro significado em outros tipos de link.
  • compressed -- o número total de pacotes compactados. Isto só está disponível para links que usem compressão VJ header.

Se a opção -s aparecer duas ou mais vezes, o ip fornece estatísticas mais detalhadas sobre os erros do receptor e do transmissor.

kuznet@alisa:~ $ ip -s -s link ls eth0
3: eth0:  mtu 1500 qdisc cbq qlen 100
    link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    2449949362 2786187  0       0       0       0      
    RX errors: length   crc     frame   fifo    missed
               0        0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns 
    178558497  1783945  332     0       332     35172  
    TX errors: aborted  fifo    window  heartbeat
               0        0       0       332    
kuznet@alisa:~ $

Estes nomes de erro são puro Ethernetismo. Outros dispositivos podem ter valores diferentes de zero nestes campos, mas podem ser interpretados de forma diferente.

Informações adicionais