Come funziona Internet (e cosa fare quando non funziona)

Myttex Forum ha chiuso definitivamente. Non è più possibile inviare messaggi, ma il contenuto è ancora consultabile in questo archivio.

arkypita

2011-02-09 11:50

Dopo l'articolo che ho pubblicato riguardante l'indirizzo IP, questo sconosciuto voglio pubblicare anche qualche informazione di base sul funzionamento di internet.

Per non lasciare tutto sul teorico ho pensato di aggiungere anche una piccola guida alla diagnostica dei principali problemi di connessione.

Struttura di Internet

In questo disegno trovate i principali elementi della rete internet:

- Gli utenti finali, cioè noi.

- Gli ISP, che forniscono la connettività agli utenti finali.

- Una rete formata da una serie di apparecchi (router) che instradano i dati da e verso le loro destinazioni, e un enorme quantitativo di cavi che li collegano tra di loro (anche transoceanici).

- Le server farm, aziende che ospitano al loro interno un grosso numero di server e che gli forniscono connettività veloce.

- I server ovvero computer molto potenti in grado di gestire grossi quantitativi di dati (pagine internet, filmati, dati, posta elettronica) ed elaborarli e fornirli su richiesta.

Funzionamento di Internet

Quando noi, tramite il nostro computer (1) vogliamo accedere a http://myttex.net il nostro computer ha bisogno di trasformare questo http://it.wikipedia.org/wiki/Uniform_Resource_Locatorindirizzo URL testuale in un http://myttex.net/forum/Thread-Indirizzo-IP-questo-sconosciutoindirizzo IP numerico. I computer infatti comunicano tra di loro solo tramite l'indirizzo IP.

Se il nostro computer ha già in memoria (per una precedente ricerca) l'indirizzo IP equivalente a myttex.net può cercare di contattarlo immediatamente, viceversa deve prima scoprire a quale indirizzo IP corrisponde (194.177.96.41). E' in questo momento che entra in gioco il http://it.wikipedia.org/wiki/Server_DNSserver DNS (3).

Quando il nostro computer non sa trasformare l'URL in un IP da solo manda una richiesta al suo server DNS (configurato sul pc come indirizzo IP per poter essere contattabile immediatamente).

Il server DNS contiene delle tabelle che associano i http://it.wikipedia.org/wiki/Domain_Name_System#Nomi_DNSnomi di dominio ai rispettivi indirizzi IP. Il server DNS non contiene le associazioni (record) di tutti i domini del mondo ma è capace, qualora non conoscesse l'associazione, di richiederla ad un altro DNS di livello superiore e così via a catena, fino a trovare la risposta.

Contattato il server DNS e risolto l'URL myttex.net nell' indirizzo IP 194.177.96.41 il nostro PC invia la richiesta per la pagina web al http://it.wikipedia.org/wiki/Server_webWEB server che ospita il sito myttex.net (4). Insieme alla richiesta invia il proprio indirizzo IP in modo che il server sappia a chi deve mandare la risposta.

Sia la comunicazione tra PC e server DNS che quella con il WEB server passa attraverso internet grazie ad una rete di router i quali instradano le comunicazioni da e verso tutti gli indirizzi IP della rete in base a delle http://it.wikipedia.org/wiki/Instradamento#routingtabelle di routing. In pratica queste tabelle associano a vari range di indirizzi IP una specifica porta alla quale è connesso un cavo che va verso un altro router, il quale si troverà più "vicino" agli indirizzi di destinazione.

Quando internet non funziona

Quando internet sembra non funzionare conviene avere un minimo di capacità di diagnostica per almeno 3 motivi:

- Se si riesce a risolvere da soli ci si guadagna in tempo, denaro e autostima.

- Se non si riesce a risolvere da soli e si deve telefonare all'assistenza si evitano fanno figure di merda perché un cavo era inserito male.

- Se si telefona all'assistenza si riesce a capire quello che ti dicono e si riesce anche a spiegare la situazione un po' meglio di "non va internet".

Dopo una veloce controllata ai cavi tutta la diagnostica che possiamo fare si basa sulla consolle dei comandi, attivabile dal menù "START: ESEGUI" e scrivendo "cmd" (senza virgolette) quindi INVIO.

Nella finestra di terminale che si apre il primo comando che diamo è "ipconfig /all"

L'output di questo comando ci mostra:

- il nostro indirizzo IP (1)

- l'indirizzo IP dell'apparecchio che ci fornisce la connessione a internet (2)

- l'indirizzo IP del server di DNS (3). Sono 2 perché il secondo viene usato se il primo non risponde.

Questi 3 dati sono indispensabili per la connessione a internet, se manca anche solo uno di loro probabilmente la connessione non funzionerà. Questi 3 dati sono configurati nel nostro computer manualmente o automaticamente tramite il http://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocolservizio DHCP (vedi dopo).

Se questi dati mancano nel 99% dei casi il problema è risolvibile e risiede nella mal-configurazione del computer, quindi dall'assistenza possono fare poco o niente se non mandandoti a casa un tecnico.

Se questi numeri sono a posto possiamo passare a "testare" se il router e il server DNS sono responsivi. Per questo scopo sempre da console dei comandi diamo il comando "ping" seguito dall' indirizzo IP del router (2):

Dobbiamo avere una risposta positiva, in caso contrario il problema potrebbe risiedere nel cavo di connessione tra il nostro PC e il router o nella connessione wireless, o nel router stesso (magari spento?).

La stessa prova la possiamo fare con l'indirizzo IP del server DNS (3). Anche questo ci deve dare esito positivo, in caso contrario possiamo provare a cambiare server DNS (vedi dopo) per vedere se si tratta di un problema temporaneo del DNS.

DHCP e configurazione della scheda di rete + DNS

Dal pannello di controllo, gestione delle connessioni di rete cercate le proprietà della connessione, quindi le proprietà del protocollo IPV4. Purtroppo in ogni versione di windows c'è un modo diverso per accedere a questa schermata, ad ogni modo la finestra delle proprietà del protocollo è comune a tutte le versioni.

Prima parlavamo di DHCP. DHCP è un protocollo che permette al router (2) di fornire in automatico tutta la configurazione al PC. In questa maniera non vi è bisogno di configurare alcun parametro. Ovviamente il router deve essere predisposto e configurato per avere questa funzionalità. In tal caso è sufficiente configurare "ottieni automaticamente indirizzo IP e server DNS".

Se configurando così non otteniamo nulla (ipconfig /all non ci dà il risultato atteso) allora possiamo provare a configurare manualmente prima il server DNS e poi l'indirizzo IP.

Per il server DNS possiamo provare con:

8.8.8.8 (primario)

8.8.4.4 (alternativo)

che sono i DNS gratuiti di google, molto veloci e sempre attivi. In alternativa possiamo provare con:

208.67.222.222

208.67.220.220

che sono i server di OpenDNS, anche essi funzionano egregiamente.

Per quanto riguarda la configurazione dell'indirizzo IP dobbiamo conoscere con certezza quale è l' IP del router (2) se vogliamo configurare correttamente il tutto. La subnet mask se configurata manualmente va messa a 255.255.255.0 nel 99% dei casi.

I seguenti utenti ringraziano arkypita per questo messaggio: ale93, jobba, Nicolò, al-ham-bic, Enotria

ale93

2011-02-09 12:51

Ecco cosa sono quelle scritte che appaiono in fondo al browser quando apro una pagina asd

jobba

2011-02-10 19:18

Bello bravo Arky potresti fare anche un mini tutorial sui comandi di shell linux ifconfig ,route ecc. Oramai gli utenti linux iniziano a crescere , e se non sbaglio conosci il sistema operativo,quindi perchè non aiutare anche loro?

jobba

2011-05-08 18:38

Evviva un altro utente Linux

arkypita

2011-05-08 22:45

Alphariel ha scritto:

siii, pensa anche a noi *Fischietta*

Alcune di queste cose le conoscevo già, però è un tutorial molto utile. Ti faccio una domanda stupida: funziona anche su linux? Ho Ubuntu ma ancora non ho familiarizzato molto con i comandi del terminale...:-/

Sì, i concetti son gli stessi. Per quanto riguarda i comandi spesso la sintassi è la stessa, specie per i comandi più standard (ping, tracert, telnet etc) anzi, su linux gli stessi comandi hanno moltissime più opzioni e output più dettagliati.

Un comando utilissimo (beh, l'utilità dipende molto dall'uso che ne fai) è il comando "netstat" che ti elenca tutte le connessioni aperte (o in ascolto). Con una specifica opzione ti dice anche qual'è il programma in questione.

netstat /? per avere la lista delle opzioni.

Non cago molto l'utente linux quando scrivo queste cose perché presuppongo (e un po' streotipizzo) che l'utente linux sia un po' più autonomo nel trovarsi queste informazioni.

Ad ogni modo per linux non posso scrivere molto, la mia esperienza con il suddetto è piuttosto limitata. Anche se posso vantarmi di aver scritto il sw che gestisce il monitoraggio sismico del sarcofago della centrale di chernobil per sistema operativo linux, la mia conoscenza della shell è limitata ai comandi di cui avevo avuto bisogno.

Ad ogni modo esistono i lug (linux user group). Ce ne sono uno o più di uno in ogni grande città e sono quasi tutti dotati di mailinglist/forum e persone competenti e disponibili.

http://lugmap.linux.it/