Analisando descartes de pacotes TCP recebidos no GNU / Linux

4

Eu uso o Ubntu 12.04 Server como um gateway / roteador. O servidor possui duas placas Gigabit Ethernet PCI Express NetXtreme BCM5721 para interfaces LAN e WAN. O software de monitoramento Opennms mostra descarte de pacotes de entrada na interface WAN (ISP). O ISP fornece conectividade Ethernet direta via anel SDH / SONET. No entanto, não vejo nenhum descarte de pacotes na interface da LAN. Aqui está o gráfico da interface WAN:

Existem ferramentas / comandos para descobrir o que é responsável por tais descartes de pacotes. É possível saber se alguma configuração incorreta no lado do ISP está causando um problema.

Saída Ifconfig:

eth1      Link encap:Ethernet  HWaddr **:**:**:**:63:5d  
          inet addr:***.***.4.130  Bcast:***.***.4.131  Mask:255.255.255.252
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:865089489 errors:0 dropped:596 overruns:0 frame:3
          TX packets:498072410 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1092458492329 (1.0 TB)  TX bytes:48179244881 (48.1 GB)
          Interrupt:17 
    
por nixnotwin 22.05.2013 / 17:25

1 resposta

1

O comando ethtool é usado para consultar o driver para estatísticas que a NIC está relatando. ethtool -S ethX mostra as estatísticas de um determinado cartão e você pode ver onde estão as quedas.

Mais comumente você estará perdendo pacotes no buffer de toque (reportado como um status como "descartar" "fifo" "bufs", varia de cartão para cartão) e você resolve isso aumentando o buffer de anel com ethtool -g . Veja man ethtool para mais.

O comando netstat é usado para consultar a pilha de rede do kernel. netstat -s mostrará estatísticas e você poderá ver se está perdendo tráfego no backlog (após NIC, mas antes do buffer de soquete) ou em buffers de soquete (buffers muito pequenos ou aplicativos lentos) ou em outro lugar.

    
por 23.05.2013 / 12:57