Se invio dati al mio computer utilizzando il suo nome host pubblico, passa effettivamente su Internet?


12

Chiarire:

Sto usando il mio nome host pubblico per connettermi a un database MySQL. Il nome host si risolve nell'IP esterno del mio server (ad es. 1.2.3.4). I dati che invio / ricevo tramite la connessione MySQL passano su Internet? Sarebbe più veloce usare localhost? Occuperà la larghezza di banda del mio server?

Risposte:


28

Se vuoi essere sicuro, puoi usare traceroute 1.2.3.4. Verranno elencati tutti i router tra l'host che esegue il comando e il dispositivo con l'indirizzo IP 1.2.3.4.


3
+1 per incorporare la parola "deviva" nella tua frase. Ora conosco un'altra parola inglese.
Gani Simsek,

en.wiktionary.org/wiki/devive dice "devive - Per rendere senza vita". Non ho capito bene. Forse dovrebbe essere "dispositivo"?
anon

7
Quindi in pratica " è l'ultimo traceroute che correrà mai "
Xeoncross,

5
@xeoncross - Questo è un inferno di un traceroute. Dove trovo la versione con questa opzione da riga di comando? Sono su Windows XP. Sono anche interessato a installare il ping della morte.
anon

6
in windows useresti tracert
Mauro

15

Se si utilizza "localhost" come nome host per la connessione al server MySQL, MySQL non utilizzerà TCP, ma socket. Questo dovrebbe essere il modo più veloce per connettersi a un server MySQL che esegue localmente.

Se il tuo server ha l'IP esterno impostato "correttamente", ovvero non si trova dietro un firewall o un proxy in una rete interna, il traffico non lascerà il tuo server in quanto sa che l'indirizzo IP di destinazione è lo stesso sistema.


1
Inoltre, se sei su Linux, l'utilizzo di "localhost" o "127.0.0.1" si collegherà tramite l' loadattatore, che è pseudo-adattatore utilizzato solo per quegli indirizzi. Non sono sicuro di Windows, ma penso che abbia qualcosa di simile.
Nathan Moos,

2
@Nathan Moos Come indicato nel manuale di MySQL : per le connessioni a localhost, i programmi MySQL tentano di connettersi al server locale utilizzando un file socket Unix.
Shi

1
Stavo descrivendo una situazione più generica in cui ti stai connettendo a localhost, non necessariamente a MySQL. Mi dispiace di aver ignorato la formulazione della domanda e della risposta.
Nathan Moos,

5

Non menzionate nulla sul routing o sul cambio di equipaggiamento, ma potreste fare del vostro meglio per assicurarvi che i vostri dati vadano fuori prima di tornare, ma in realtà quasi certamente i vostri dati non usciranno in questo modo.


Sono abbastanza sicuro che ci sia una domanda implicita: "Cosa devo verificare per sapere che i dati non viaggiano affatto all'esterno?"
Lie Ryan,

Sono d'accordo, ma non fornisce alcun dettaglio sul suo instradamento o commutazione, quindi in questa fase è impossibile aggiungere altro senza fare ipotesi selvagge.
Chopper3

3

No se tutto è su una macchina non lascia la macchina.


Tutto il traffico dalla macchina alla macchina viene instradato attraverso l'interfaccia di loopback. Se ti disconnetti dalla rete funzionerà comunque.
BillThor,

@BillThor certo, ma non era questa la domanda.
mailq,

Non ne sono sicuro: ha detto che il nome si risolve nell'indirizzo IP pubblico (internet) della macchina. Se la macchina si trova dietro NAT usando il portforwarding, deve arrivare almeno fino al gateway.
Joel Coel,

Gli indirizzi IP diversi da 127.0.0.1 @BillThor sono assegnati alla macchina dalla rete (router / switch / ISP), quindi la disconnessione dalla rete annulla l'assegnazione effettiva degli indirizzi.
Lukman,

2
Questo è vero solo se il server sa che è 1.2.3.4, se sa solo che ha nell'ip interno (cioè 192.168.xx) che i dati saranno, come minimo, inviati al router.
Unkwntech,

2

se la configurazione IP del tuo server sulla sua macchina utilizza l'indirizzo IP pubblico, nessun traffico lascerà il tuo server (ma è più sicuro essere sicuro e utilizzare localhost comunque per i vantaggi delle prestazioni)

se il tuo IP è natato e il tuo router ha un IP pubblico e il tuo server ha un IP interno, almeno il traffico probabilmente lascerà il tuo server e verrà riflesso sul tuo server dal router supponendo che il router esegua il port riflesso come parte del suo port forwarding - quindi in un certo senso nessun traffico lascerà la tua rete ma un po 'di traffico lascerà il tuo server

senza alcuna informazione sulla configurazione della rete non posso essere più definitivo di così


1

Scollega il cavo Ethernet o scollega il wifi e prova la connessione al database e avrai la tua risposta. Niente storie, niente storie!


Nemmeno vicino per correggere. Rete locale?
navaho,

@navaho Il poster originale diceva "sarebbe più veloce usare localhost" che indica che il database si trova sulla stessa macchina della sua applicazione; pertanto per utilizzare la mia soluzione non è necessario l'accesso alla rete locale.
Steven Striga,

La domanda era: se invio dati al mio computer su Internet, in realtà passa su Internet? La descrizione è che sto usando il mio> nome host pubblico <per connettermi a un database MySQL. Il nome host> si risolve nell'IP esterno del mio server <(ad es. 1.2.3.4). I dati che invio / ricevo tramite la connessione MySQL passano su Internet? La tua risposta non ha risposto alla domanda come posta. Strappa il cavo e vedi cosa succede è, nella migliore delle ipotesi, venire a breve. Sì, hai risposto alla domanda secondaria, sarebbe più veloce usare localhost, ma per quanto riguarda la domanda originale ti è venuta meno.
navaho,

0

I risultati potrebbero essere diversi ma sono in grado di accedere al mio sistema tramite l'indirizzo esterno correttamente con il router disconnesso da Internet. Tuttavia, per fare ciò ho dovuto configurare il router con l'indirizzo IP fisso appropriato, dato che normalmente viene emesso dall'ISP tramite DHCP.

Per quanto riguarda la differenza di velocità, teoricamente l'uso di localhost dovrebbe essere più veloce perché rimuove le varie spese generali coinvolte nella traversata di una rete. In termini reali, sebbene la differenza dovrebbe essere così minima che non dovresti mai essere in grado di notarla.


0

Oltre a traceroute (già menzionato) puoi usare tcpdump o WireShark e guardare per eventuali connessioni mysql che vengono dirottate dal tuo host. Localhost dovrebbe essere sempre più veloce.

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.