Come fa il mio browser a sapere where get i dati da un server?

Questo molto bene non può essere il forum giusto per pubblicare questo tipo di cose, ma è una questione che mi ha sconvolto per anni.

Sono molto consapevole di come i server stessi funzionano e sono abbastanza ben conosciuto nella maggior parte delle cose del computer.

Ad esempio prendi serverfault.com.

Tipo http://www.serverfault.com/ nella barra degli indirizzi del browser. A quel punto il mio computer esegue una ricerca dns inversa per get l'indirizzo IP.

So che le informazioni dns si trovano su un server DNS, ma come può il mio computer sapere where cercare immediatamente ciò? Ci sono server DNS a indirizzi IP fisso che il mio computer cerca automaticamente?

In secondo luogo, una volta che il mio computer ha l'indirizzo IP di serverfault.com, va a (nel mio caso) comcast iniziare a fare il suo modo per i server server di server. Come funziona questo process? Quando esegue un path di traccia a serverfault.com, fa circa 16 luppoli fino a trovare esattamente quello che cerco.

Ovviamente non può fare una connessione diretta a serverfault.com perché ciò richiederebbe un path fisico diretto al server, ma cosa controlla la richiesta attraverso la networking? Che cosa rende l'itinerario che vedo nel path di traccia?

So che questa domanda è insanamente aperta, ma se potessi alless avere alcuni collegamenti a fonti esterne o sapere cosa cercare google perché sarebbe enormemente utile.

  • Qual è il miglior design di networking per un nuovo edificio a più piani?
  • Come get la topologia di una networking di switch di livello 2 con le tabelle di inoltro degli switch?
  • Il traffico Wi-Fi da un cliente all'altro viaggio attraverso il punto di accesso?
  • Che software esiste per mappare una networking?
  • 5 Solutions collect form web for “Come fa il mio browser a sapere where get i dati da un server?”

    (Sto tardi a questa festa, ma vediamo cosa posso fare comunque.)

    Stai chiedendo due cose distinte diverse: risoluzione di nome tramite il DNS e il routing IP. Facciamoli adatti individualmente.

    La parte DNS

    So che le informazioni dns si trovano su un server DNS, ma come può il mio computer sapere where cercare immediatamente ciò? Ci sono server DNS a indirizzi IP fisso che il mio computer cerca automaticamente?

    Tipicamente i computer client sono informati degli indirizzi IP dei server DNS da utilizzare tramite i dati in "opzioni" dati loro dal loro server DHCP (il server che fornisce un "affitto" di un indirizzo IP non utilizzato per il client usare).

    Alcuni computer non utilizzano DHCP per get un indirizzo IP, ma hanno il loro indirizzo IP staticamente assegnato. Nei casi in cui i computer dispongono di indirizzi IP staticamente assegnati, gli indirizzi IP del server DNS sono stati staticamente assegnati nella configuration dei computer.

    (Ci sono più methods esoterici per get informazioni sui server DNS ai clienti, ma i due precedenti riguardano ben oltre il 90% dei casi.)

    Sembra che il computer sia in una networking domestica e probabilmente riceve l'indirizzo IP assegnato da un server DHCP in esecuzione su un router nella networking domestica o un server DHCP presso l'ISP.

    Nel caso di un router di casa, avrà ottenuto un indirizzo IP dal server DHCP del tuo ISP e, nel corso dell'ottenimento di tale indirizzo IP, avrà imparato l'indirizzo IP dei server DNS che l'ISP intende utilizzare . Alcuni router domestici forniranno gli indirizzi del server DNS ISP ai client del server DHCP del router. Ancora altri router domestici eseguiranno un server DNS "mini" e dirigeranno i client DHCP al proprio server DNS "mini". Di solito questo server DNS "mini" inoltra semplicemente le richieste ai server DNS dell'ISP.

    Se il computer è collegato direttamente alla networking ISP con w / oa router, molto probabilmente, al computer viene fornito l'indirizzo IP dei server DNS dell'ISP dal server DHCP dell'ISP.

    I datagrammi IP contengono l'indirizzo IP di destinazione e non un nome leggibile dall'uomo. Per "parlare" a un server remoto il computer ha bisogno dell'indirizzo IP di quel server remoto. Il process di "risolvere" un nome leggibile dall'uomo in un indirizzo IP (adatto per essere incluso in datagrammi IP come indirizzo di destinazione) viene definito una ricerca DNS in avanti.

    Non trovo qui una descrizione completa della risoluzione DNS ricorsiva in avanti, ma in pratica il computer client invia una richiesta al suo server DNS (quello che ha appreso da DHCP o staticamente configurato) per il nome "www.serverfault .com". Quella richiesta farà la sua strada, infine, a un server DNS presso l'ISP. Il server DNS presso l'ISP effettuerà una richiesta a uno di un elenco di noti "server DNS di origine". La risposta che il server DNS radice ritorna, a sua volta, guida una richiesta dal server DNS ISP a un server DNS ".com", quindi su un server DNS "serverfault.com". In definitiva, una risposta verrà restituita dal server DNS dell'ISP al computer (possibilmente tramite il server DNS nel router di casa, come sopra indicato).

    Vi incoraggio a esaminare alcune descrizioni più tecniche di come funziona il protocollo DNS se sei interessato ai dettagli.

    Questo ci port attraverso la parte relativa alla DNS della tua domanda. Ora, passiamo alla parte di routing IP della questione.

    La parte di routing IP

    Che cosa rende l'itinerario che vedo nel path di traccia?

    Il risultato di tutte queste query DNS sarà un indirizzo IP (o più adesivi IP, per essere tecnico). Il tuo browser avvia una connessione TCP a uno degli indirizzi restituiti dalla query DNS. Ciò comporterà che il computer invii un datagramma IP (destinato a un indirizzo IP restituito dalla nostra precedente query DNS) al "gateway predefinito" conosciuto dal computer. Quel "gateway predefinito" non è altro che l'indirizzo IP di un altro computer (in genere un router) che il computer "passa fuori" i pacchetti per la consegna a Internet. Supponendo che utilizzi Ethernet, le specifiche di come il computer "esegue" un datagramma IP coinvolgono il protocollo ARP e le specifiche probabilmente un po 'troppo profonde per questa risposta.

    Potresti chiedere: come il tuo computer sa quale sia l'indirizzo IP del suo gateway predefinito?

    Allo stesso modo del modo in cui i computer ricevono gli indirizzi dei server DNS dai computer DHCP hanno il loro "gateway predefinito" fornito loro da un'opzione "ricevuta" quando un indirizzo IP viene "affittato" da DHCP. Se un computer dispone di un indirizzo IP staticamente assegnato, in genere, anche il suo "gateway predefinito" sarà assegnato staticamente.

    Fondamentalmente, il routing IP è un gioco di "distribuire" i pacchetti da un computer (router) ad un altro fino a quando il pacchetto non arriva alla sua destinazione (o "muore prova" se il pacchetto viene inoltrato troppe volte). Ogni router dispone di una serie di interfacce di networking che lo collegano ad altri router. Quando riceve un pacchetto, un router "decide" quale interface di networking sarebbe il "migliore" per quel pacchetto da lasciare e, dopo aver fatto quella "decisione di routing", passa il pacchetto su un altro router tramite l'interface di networking scelta. Quel process viene ripetuto finché il pacchetto non raggiunge la destinazione.

    La mia risposta epic subnetting discute le basi del routing IP statico. Nel routing IP statico, each router dispone di un elenco statico assegnato delle reti di destinazione e comprende l'"adiacenza" delle reti alle interfacce di networking del router. In Real LifeTM il routing IP statico non viene utilizzato all'interno di grandi reti perché è troppo ingombrante per mantenere e non tiene conto del routing intorno alla congestione o ai collegamenti non riusciti.

    Il "traceroute" che esegui mostra i risultati delle decisioni di routing effettuate dai router lungo each "hop" del path del pacchetto. Questi router utilizzano protocolli di routing dinamici, come il Border Gateway Protocol (BGP) o l'Open Shortest Path First (OSPF) per decidere come submit il pacchetto a un altro router. Questi protocolli di routing dinamici possono tener conto di fattori quali la congestione del link o la disponibilità, la relativa "distanza" che il pacchetto avrebbe viaggiato lungo each path prospettico e, eventualmente, altri fattori (inclusi fattori "politici" come accordi di peering) per determinare where va il pacchetto .

    Le specifiche di funzionamento dei protocolli di routing dinamico individuali sono ben al di là di questa risposta. Fortunatamente l'architettura di Internet è tale che gli endpoint (come il tuo computer oi server di Serverfault.com) non hanno bisogno di sapere nulla sul routing dei pacchetti all'interno della "cloud". Fintanto che tutti i router all'interno della networking giocheranno con i corretti pacchetti di regole saranno consegnati (anche se IP consente la consegna fuori servizio e la perdita di pacchetti – i protocolli di livello superiore prendono cura di gestire queste fasi). Ancora meglio, nuovi protocolli di routing dinamici possono essere progettati e implementati all'interno della "nube" e niente deve cambiare per tutti i punti finali per trarre vantaggio dal miglioramento del routing.

    A quel punto il mio computer esegue una ricerca dns inversa per get l'indirizzo IP.

    In realtà, fa una ricerca in avanti. Una ricerca DNS inversa è quando si desidera mappare un indirizzo IP a un dominio

    come può il mio computer sapere where cercare immediatamente?

    Ogni dominio ha i record dei propri nomi. Questi record di nameserver puntano ai server DNS autorizzati per il dominio. Il tuo PC lo trova facendo andare ai propri server DNS preconfigurati. È ansible confermare in Windows:

      C: \ Users \ mark.henderson> nslookup
     Server predefinito: enetsdc1.enets.local
     Indirizzo: 192.168.161.2
    
     > impostare q = ns
     > serverfault.com
     Server: enetsdc1.enets.local
     Indirizzo: 192.168.161.2
    
     Risposta non autorevole:
     serverfault.com nameserver = ns1.serverfault.com 
      serverfault.com nameserver = ns2.serverfault.com 
      serverfault.com nameserver = ns3.serverfault.com
    
     ns1.serverfault.com internet address = 64.34.119.33
     ns2.serverfault.com internet address = 64.34.119.34
     ns3.serverfault.com internet address = 69.59.196.217 

    Ci sono server DNS a indirizzi IP fisso che il mio computer cerca automaticamente?

    Sì. Una specie di. Ci sono server di root , ma la vostra macchina locale è improbabile che li utilizzino. Se sei in una networking aziendale, probabilmente utilizza server root, altrimenti l'ISP può usarli

    va a (nel mio caso) comcast per iniziare a farsi strada ai server server di server. Come funziona questo process?

    Il computer è configurato con un Gateway predefinito (visibile da IPConfig)

      C: \ Users \ mark.henderson> ipconfig
    
     Configurazione IP di Windows
     Adattatore Ethernet Local Area Connection:
    
        Suffisso DNS specifico per la connessione.  : enets.local
        Link-local Indirizzo IPv6.  .  .  .  .  : fe80 :: a9e4: 733: 8949: f70a% 11
        Indirizzo IPv4.  .  .  .  .  .  .  .  .  .  .  : 192.168.161.103
        Gateway predefinito .  .  .  .  .  .  .  .  .  : 192.168.161.17 

    Questo gateway predefinito è la tua window nel mondo. Questo gateway predefinito ha il suo gateway predefinito OWN (il tuo ISP) e questo gateway è generalmente connesso al resto di Internet tramite un protocollo denominato BGP. Questo protocollo BGP è un modo per annunciare tutti i hop e le rotte separate a una destinazione specifica (l'indirizzo IP di ServerFault). Luppetta al router successivo, che poi ricalcola il metodo migliore per arrivare lì, il luppolo, così via e così via fino a raggiungere la fine. È ansible che due pacchetti sequenziali raggiungano la destinazione in mancanza di ordine, per cui TCP dispone di controlli integrati per questo scopo.

    Che cosa rende l'itinerario che vedo nel path di traccia?

    Il protocollo BGP mantiene la salute di each collegamento successivo che ha e quando la salute di quel collegamento cambia (troppo occupato o scende, qualunque cosa), quindi sceglie un altro salto a cui andare.

    1. Il computer può individuare un server DNS perché è stato indicato l'indirizzo di uno (o preferibilmente più) server DNS nella configuration di networking. Queste informazioni vengono ottenute in modo dinamico (da un altro protocollo chiamato DHCP ) oppure è configurato staticamente per un'interface di networking specifica.

    2. Il traffico a un indirizzo IP specifico che non è sulla tua LAN "fisica" viene routed via (è indovinato) router IP che dispongono di tabelle parziali e complete che descrivono l'interconnessione di tutte le reti che formano Internet.

    3. Quando si esegue un traceroute, tutti i luppoli tra di voi e l'host desiderato rappresentano una delle (potenzialmente) routes possibili di tale host.

    Ci sono server DNS a indirizzi IP fisso che il mio computer cerca automaticamente?

    Se si esamina la configuration IP nel computer trovenetworking che dispone di un elenco di server DNS iof da chiedere. Questo è il collegamento. Come il router da utilizzare, il DNS è un valore configurato che viene normalmente via DHCP. Fa parte della configuration IP.

    Il server DNS del provider andrà normalmente in un elenco di server DNS noti che gestiscono l'internet completo (chiamati server ROOT). Fondamentalmente sono le AUTORITA 'RICHIESTE per la "zona" ".", Che è la zona di primo livello. Tecnicamente, ".com" è un sottodominio di ".". Come ho detto di recente, l'elenco dei server root è "conosciuto".

    Maggiori informazioni a http://www.root-servers.org/

    Che cosa rende l'itinerario che vedo nel path di traccia?

    Le connessioni configurate tra tutti gli AS (Sisthemes Autonomici) che vengono assunti i provider, che vengono scambiati tra di loro tramite il protocollo BGP. In pratica, un fornitore ottiene indirizzi da un registro centrale per un AS e pubblica gli altri sisthemes noti ai bordi del suo AS ad altri AS. Scambiano vviaBGP come percorrere altre reti.

    Maggiori informazioni a http://en.wikipedia.org/wiki/Border_Gateway_Protocol

    Il sistema di dominio (DNS)

    Prima di tutto, il process utilizzato per arrivare da http://www.serverfault.com a ww.xx.yy.zz viene chiamato una ricerca DNS in avanti . Una ricerca inversa è il process utilizzato per get un nome DNS da un indirizzo IP.

    Detto questo, il tuo computer va al server DNS impostato nelle sue impostazioni di networking (gestito dal tuo ISP / workplace e chiamato "recursore"). Se il computer ottiene automaticamente un indirizzo IP tramite DHCP (ad esempio non è stato impostato manualmente), l'indirizzo del server DNS viene normalmente ottenuto anche tramite il protocollo DHCP.

    Sebbene sia coinvolto nella cache, il ricercatore gestisce la query iniziando a partire da uno dei tredici indirizzi IP dei server root DNS, anche se in realtà esistono più di 13 server DNS principali, condividendo gli indirizzi IP utilizzando un meccanismo denominato "anycast".

    Il server radice, naturalmente, non contiene le voci DNS per tutti i nomi di dominio. Invece, si riferisce solo tutte le richieste di un nome di dominio .com a uno dei server DNS .com. Il server DNS .com, che contiene il record per serverfault.com, fa riferimento alla richiesta a quel server DNS che contiene il record che cerchiamo: l'indirizzo IP di http://www.serverfault.com (chiamato un record A). Tutto questo avviene all'interno del ricorsore dell'ISP (where i risultati delle ricerche di successo possono essere salvate per un utilizzo successivo) per mantenere il process in esecuzione in modo efficiente e senza problemi; restituisce solo la risposta finale.

    IP Routing

    Anche nelle impostazioni di networking del computer è l'indirizzo IP di un "gateway predefinito", che è l'indirizzo del firewall o del router sulla LAN. Tutti i pacchetti inviati dal computer vengono indirizzati verso quel gateway se non si trovano in un computer collegato direttamente alla LAN, come determinato dalla maschera di substring impostata.

    Il router contiene una "tabella di routing" contenente un elenco di intervalli di indirizzi IP e where submit i pacchetti destinati a loro. Le tabelle di routing sono spesso configurate automaticamente. All'interno della networking ISP, è ansible utilizzare uno qualsiasi dei diversi protocolli, incluso il protocollo RIP (Routing Information Protocol). Una volta che il pacchetto lascia la propria networking ISP (inviata verso l'internet aperta tramite un provider a monte, che è l'ISP dell'ISP), viene utilizzato un protocollo denominato Border Gateway Protocol (BGP). I pacchetti continuano ad essere trasmessi tra i router fino a raggiungere la destinazione finale. I pacchetti tornano al computer nello stesso modo.

    Come funziona il traceroute? Manipula un field nel pacchetto chiamato "Time to Live", che in uso normale è inteso per impedire che i pacchetti vadano senza fine se ci fosse un errore nella configuration del router. È definito come il numero di router che un pacchetto può viaggiare attraverso. Traceroute aumenta la TTL di 1 each volta e ascolta i messaggi di errore generati quando il limite è superato (sotto forma di pacchetti ICMP). Registra l'indirizzo IP del router che ha generato l'errore e, facoltativamente, esegue una ricerca DNS inversa per get un nome DNS che può o non può avere successo.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.