O que é uma interface de Loopback

Interface de Loopback

Uma interface de loopback é uma interface de rede virtual que permite que um cliente e um servidor no mesmo host se comuniquem entre si usando a pilha de protocolos TCP/IP.

Para a interface de loopback é reservado todo o bloco de endereços IP classe A com identificação de rede 127.0.0.0/8, e por convenção, a maioria dos sistemas atribuem o endereço IP 127.0.0.1 a esta interface (::1 em redes IPv6), além de usar o nome localhost para identificá-la.

Um datagrama IP enviado à interface de loopback não deve aparecer em nenhuma rede, nem ser roteado para nenhum dispositivo de roteamento, devendo ser processado inteiramente dentro do próprio host que o originou. Se um pacote com destino a uma interface de loopback for recebido em uma interface, sem que tenha sido originado no mesmo host, deve ser descartado, pois pode se tratar de um pacote malicioso.

Além disso, qualquer pacote enviado para um endereço IP do próprio host é enviado automaticamente para a interface de loopback. Veja na figura a seguir que pacotes enviados com o programa ping para o próprio IP da interface são processados pela interface de loopback (captura com Wireshark):

Interface de loopback no Wireshark

Porém, ao tentarmos capturar os mesmos pacotes usando a interface ethernet da máquina, nada é exibido, provando o processamento de pacotes no próprio host:

Interface de loopback no Wireshark com eth0

 

O mecanismo da interface de loopback pode ser usado para propósitos de testes de software ou de conectividade, permitindo verificar a funcionalidade de parte da pilha TCP/IP em uma máquina. Os pacotes enviados a uma interface de loopback nunca chegam à interface de rede física da máquina, o que permite inclusive testar software mesmo na ausência de tal interface de hardware.

Abaixo temos a captura de tela de um pacote ICMP sendo enviado à interface de loopback de um computador usando o programa ping no prompt de comandos do Windows. Note o TTL de 128 e os tempos máximo, mínimo e médio de 0ms da transmissão:

Ping na interface de loopback do Windows

A interface de loopback aparece como se fosse uma camada de enlace para a camada de internet da pilha TCP/IP, de modo que a camada de internet (rede no modelo OSI) envia um datagrama IP para a interface de loopback como se estivesse enviando à camada de enlace normal, e a interface de loopback retorna o datagrama à fila de entrada da camada de internet.

Veja na figura a seguir a saída do comando ifconfig lo no Linux, que mostra a configuração da interface de loopback do sistema:

Endereço de loopback no Linux com ifconfig

Note na figura o endereço 127.0.0.1 com a máscara de sub-rede 255.0.0.0 e o escopo da interface: Máquina, o que significa que os datagramas enviados a essa interface permanecem no host. Note também o MTU de 65536, bem diferente do usual para quadros Ethernet (1500).

Algumas observações interessantes:

  • Tudo o que é enviado a um endereço de loopback é tratado como um pacote IP de entrada.
  • Tudo o que for enviado a um dos IPs do host a partir do próprio host é enviado à interface de loopback.
  • Pacotes que são enviados a endereços de broadcast ou de multicast são copiados para a interface de loopback e então enviados para a interface Ethernet do host.

Aplicações da interface de loopback

As principais aplicações de uma interface de loopback são:

  • Diagnóstico de problemas e troubleshooting
  • Testes de software e conectividade
  • Conexão a servidores que rodam na própria máquina.
  • Configuração de serviços (por exemplo, CUPS no Linux).

Por exemplo, podemos testar o funcionamento de um servidor SSH mesmo sem termos acesso a um cliente ssh de outra máquina no momento. Basta se conectar ao ssh usando o endereço de loopback, como ilustra a figura a seguir:

SSH na interface de loopback do Linux - Redes

É isso aí! Apresentamos neste tutorial a definição e funcionamento de uma interface de loopback. Vamos abordar na próxima lição a noção de MTU. Até mais!

 

Sobre Fábio dos Reis (1193 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Astronomia, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

8 Comentários em O que é uma interface de Loopback

  1. Adriano Sales // 27/08/2015 em 12:27 // Responder

    Muito bom, obrigado por compartilhar!

  2. Marcos César // 01/09/2015 em 0:15 // Responder

    Muito bom! Parabéns pela didática e paciência!

  3. Muito bom! Obrigado por compartilhar.
    Abraços!

  4. Emerson Gonçalves // 14/01/2016 em 7:05 // Responder

    Parabéns Fábio! Didática excelente!

Escreva um comentário

Seu e-mail não será divulgado


*