Cos'è il dispositivo di loopback e come lo uso?


138

Cosa sono loopback e localhost ?

Perché esistono, a cosa servono e come dovrei usarli?


Non sono due domande separate in 1?
Anwar,

Risposte:


180

Il dispositivo di loopback è un'interfaccia di rete virtuale speciale che il computer utilizza per comunicare con se stesso. Viene utilizzato principalmente per la diagnostica e la risoluzione dei problemi e per connettersi ai server in esecuzione sul computer locale.

Lo scopo del loopback

Quando un'interfaccia di rete viene disconnessa, ad esempio quando una porta Ethernet è scollegata o il Wi-Fi è disattivato o non associato a un punto di accesso , non è possibile alcuna comunicazione su tale interfaccia, nemmeno la comunicazione tra il computer e se stessa. L'interfaccia di loopback non rappresenta alcun hardware reale, ma esiste quindi le applicazioni in esecuzione sul computer possono sempre connettersi ai server sullo stesso computer.

Questo è importante per la risoluzione dei problemi (può essere paragonato a guardare in uno specchio). Il dispositivo di loopback è talvolta spiegato come uno strumento puramente diagnostico. Ma è anche utile quando un server che offre una risorsa di cui hai bisogno è in esecuzione sul tuo computer .

Ad esempio, se esegui un server Web, disponi di tutti i tuoi documenti Web e potresti esaminarli file per file. Potresti anche essere in grado di caricare i file nel tuo browser, sebbene con contenuti attivi sul lato server, non funzionerà come fa quando qualcuno accede ad esso normalmente.

Quindi, se vuoi provare lo stesso sito di altri, il corso migliore è di solito collegarti al tuo server. L'interfaccia di loopback lo facilita.

Indirizzi su Loopback

Per IPv4 , all'interfaccia di loopback sono assegnati tutti gli IP nel 127.0.0.0/8 blocco indirizzi . Cioè, 127.0.0.1attraverso 127.255.255.254 tutti rappresentano il tuo computer. Per la maggior parte degli scopi, tuttavia, è necessario utilizzare solo un indirizzo IP, e cioè 127.0.0.1. Questo IP ha il nome host di localhostmappato ad esso.

Pertanto, per accedere come bobtramite SSH al server SSH in esecuzione sul proprio computer, utilizzare:

ssh bob@localhost

Come altre schede di rete, il dispositivo di loopback viene visualizzato nell'output di ifconfig. Si chiama lo.

ek@Del:~$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:50121 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4381349 (4.3 MB)  TX bytes:4381349 (4.3 MB)

Un esempio: CUPS

Un uso comune (cioè non solo diagnostico) di produzione localhostsu Ubuntu è quello di eseguire una configurazione avanzata della stampante. In un browser Web, vai a:

http://localhost:631

CUPS esegue un server Web sulla porta 631 e può essere utilizzato per configurare la stampa, indipendentemente dalla GUI in esecuzione (o anche se non si esegue affatto una GUI).

Schermata che mostra CUPS in un browser Web

Se provi a connetterti http://127.0.0.1:631, anche questo funzionerà. Tuttavia, se si tenta di connettersi http://127.0.0.2, non lo farà. Tutti gli 127.*.*.*indirizzi identificano il tuo computer sull'interfaccia di loopback, ma un programma server può decidere di collegarsi solo a un indirizzo IP specifico.

Una notevole differenza rispetto a Windows

Se provieni da uno sfondo di Windows, potresti aspettarti loopbackdi essere un sinonimo di localhost(e quindi essere in grado di eseguire il ping loopback, connettersi ai server loopbacke così via). Tale comportamento è peculiare di Windows.

Altri significati di "Loopback"

Il concetto generale di loopback è un meccanismo attraverso il quale un messaggio o segnale finisce (o scorre) di nuovo al punto di partenza.

Quindi ci sono alcuni altri modi in cui si usa il loopback in Ubuntu che non deve essere confuso con il dispositivo loopback in rete.

Supporti ad anello

Per montare un'immagine del disco in Ubuntu, è possibile eseguire:

sudo mount -o loop image.iso /media/label

Questo di solito è chiamato un dispositivo di loop (e non un dispositivo di loopback ), ma il termine interfaccia di file di loopback viene occasionalmente usato.

Questo non ha nulla a che fare con il dispositivo loopback in rete.

Suono

Pulseaudio e altri sistemi audio forniscono un meccanismo per "connettere" il line-in al line-out, in modo che l'ingresso audio venga ripetuto su altoparlanti / cuffie. Il modulo loopback di Pulseaudio facilita questo.

Qui, è corretto usare il termine loopback , ma come i loop mount, anche questo non ha nulla a che fare con il dispositivo loopback in rete. (E niente a che fare con i loop mount, neanche.)

Ulteriori letture


6
Perché 127.0.0.0/8 viene mappato da 127.0.0.1 a 127.255.255.254 anziché da 127.0.0.0 a 127.255.255.255? (Scusate se questo è percepito come un highjack.)
JellicleCat

5
Ha menzionato solo gli indirizzi host utilizzabili e ha escluso gli indirizzi di rete e di trasmissione. Hai ragione nel dire che dovrebbe essere 127.0.0.0-127.255.255.255, ma il primo e l'ultimo hanno altri scopi.
Gabriel Samfira,

1
@Eliah, deve localhostindicare 127.0.0.1? O potrebbe anche indicare un altro indirizzo di loopback, ad esempio 127.0.0.2?
Pacerier,

@GabrielSamfira, quindi perché quando provo a connettermi a quei due indirizzi IP usando SSH (ad esempio eseguendo ssh 127.0.0.0), si dice "La rete non è raggiungibile" invece di "Connessione rifiutata"?
MAChitgarha,

3
@MAChitgarha Il primo indirizzo IP in una sottorete è l'indirizzo di identificazione della rete e l'ultimo indirizzo IP è l'indirizzo di trasmissione. Nessuno di questi può essere assegnato a un host per impostazione predefinita. L'indirizzo di trasmissione viene utilizzato per indirizzare tutti gli host di una rete e l'indirizzo di rete viene utilizzato per identificare la rete stessa. Si prega di consultare: en.wikipedia.org/wiki/IP_address
Gabriel Samfira,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.