Come funziona Internet?

© 2002 Rus Shuler @ Pomeroy IT Solutions, tutti i diritti riservati

Contenuto

  1. Introduzione
  2. Da dove cominciare? Indirizzi Internet
  3. Stack e pacchetti di protocolli
  4. Infrastruttura di rete
  5. Infrastruttura Internet
  6. La gerarchia di routing Internet
  7. Nomi di dominio e risoluzione degli indirizzi
  8. Protocolli Internet rivisitati
  9. Protocolli applicativi: HTTP e il World Wide Web
  10. Protocolli applicativi: SMTP e Posta elettronica
  11. Transmission Control Protocol
  12. Internet Protocol
  13. Wrap Up
  14. Risorse
  15. Bibliografia

Introduzione

Come funziona Internet? Bella domanda! La crescita di Internet è diventata esplosiva e sembra impossibile sfuggire al bombardamento di www.com ‘ s visto costantemente in televisione, sentito alla radio, e visto nelle riviste. Poiché Internet è diventata una parte così importante della nostra vita, è necessaria una buona comprensione per utilizzare questo nuovo strumento nel modo più efficace.

Questo whitepaper spiega l’infrastruttura sottostante e le tecnologie che fanno funzionare Internet. Non va in grande profondità, ma copre abbastanza di ogni area per dare una comprensione di base dei concetti coinvolti. Per qualsiasi domanda senza risposta, un elenco di risorse è fornito alla fine del documento. Eventuali commenti, suggerimenti, domande, ecc. sono incoraggiati e possono essere indirizzati all’autore a [email protected].

Da dove cominciare? Indirizzi Internet

Poiché Internet è una rete globale di computer, ogni computer connesso a Internet deve avere un indirizzo univoco. Gli indirizzi Internet sono nella forma nnn.nnn.nnn.nnn dove nnn deve essere un numero compreso tra 0 e 255. Questo indirizzo è noto come indirizzo IP. (IP sta per Internet Protocol; ne parleremo più avanti.)

L’immagine seguente illustra due computer connessi a Internet; il computer con indirizzo IP 1.2.3.4 e un altro computer con indirizzo IP 5.6.7.8. Internet è rappresentato come un oggetto astratto nel mezzo. (Man mano che questo documento progredisce, la parte Internet del diagramma 1 verrà spiegata e ridisegnata più volte man mano che i dettagli di Internet vengono esposti.)

Diagramma 1

il Diagramma 1

Se ci si connette a Internet tramite un Provider di servizi Internet (ISP), si sono di solito assegnato un indirizzo IP temporaneo per la durata del dial-in sessione. Se ci si connette a Internet da una rete locale (LAN) il computer potrebbe avere un indirizzo IP permanente o potrebbe ottenere uno temporaneo da un server DHCP (Dynamic Host Configuration Protocol). In ogni caso, se si è connessi a Internet, il computer ha un indirizzo IP univoco.

Check It Out – Il programma Ping

Se si sta utilizzando Microsoft Windows o un sapore di Unix e avere una connessione a Internet, c’è un pratico programma per vedere se un computer su Internet è vivo. Si chiama ping, probabilmente dopo il suono prodotto dai vecchi sistemi sonar sottomarini.1 Se si utilizza Windows, avviare una finestra del prompt dei comandi. Se stai usando un sapore di Unix, vai a un prompt dei comandi. Tipo ping www.yahoo.com. Il programma ping invierà un ‘ ping ‘(in realtà un messaggio ICMP (Internet Control Message Protocol) echo request) al computer denominato. Il computer con ping risponderà con una risposta. Il programma ping conterà il tempo scaduto fino a quando la risposta non ritorna (se lo fa). Inoltre, se si immette un nome di dominio (es. www.yahoo.com) invece di un indirizzo IP, ping risolverà il nome di dominio e visualizzerà l’indirizzo IP del computer. Più su nomi di dominio e risoluzione degli indirizzi più tardi.

Stack e pacchetti di protocollo

In modo che il computer sia connesso a Internet e abbia un indirizzo univoco. In che modo “parla” con altri computer connessi a Internet? Un esempio dovrebbe servire qui: supponiamo che il tuo indirizzo IP sia 1.2.3.4 e si desidera inviare un messaggio al computer 5.6.7.8. Il messaggio che si desidera inviare è ” Ciao computer 5.6.7.8!”. Ovviamente, il messaggio deve essere trasmesso su qualsiasi tipo di filo collega il computer a Internet. Diciamo che hai composto nel vostro ISP da casa e il messaggio deve essere trasmesso attraverso la linea telefonica. Pertanto il messaggio deve essere tradotto da testo alfabetico in segnali elettronici, trasmessi su Internet, quindi tradotto di nuovo in testo alfabetico. Come si realizza questo? Attraverso l’uso di uno stack di protocollo. Ogni computer ha bisogno di uno per comunicare su Internet e di solito è integrato nel sistema operativo del computer (cioè Windows, Unix,ecc.). Lo stack di protocollo utilizzato su Internet è riferito allo stack di protocollo TCP/IP a causa dei due principali protocolli di comunicazione utilizzati. Lo stack TCP/IP si presenta così:

Protocollo Layer
Protocolli Applicativi Layer Protocolli specifici per applicazioni come WWW, e-mail, FTP, ecc.
Transmission Control Protocol Layer TCP indirizza i pacchetti a un’applicazione specifica su un computer utilizzando un numero di porta.
Internet Protocol Layer IP indirizza i pacchetti a un computer specifico utilizzando un indirizzo IP.
Lo strato hardware Converte i dati a pacchetto binari in segnali di rete e viceversa.
(Ad es. scheda di rete ethernet, modem per linee telefoniche, ecc.)

Se dovessimo seguire il percorso che il messaggio “Ciao computer 5.6.7.8!”preso dal nostro computer al computer con indirizzo IP 5.6.7.8, sarebbe accaduto qualcosa di simile a questo:

Diagramma 2

Diagramma 2

  1. Il messaggio di iniziare il top dello stack del protocollo sul vostro computer e lavorare la sua strada verso il basso.
  2. Se il messaggio da inviare è lungo, ogni livello di stack che il messaggio passa può suddividere il messaggio in blocchi di dati più piccoli. Questo perché i dati inviati su Internet (e la maggior parte delle reti di computer) vengono inviati in blocchi gestibili. Su Internet, questi blocchi di dati sono noti come pacchetti.
  3. I pacchetti passerebbero attraverso il livello dell’applicazione e continuerebbero fino al livello TCP. Ad ogni pacchetto viene assegnato un numero di porta. Le porte saranno spiegate in seguito, ma basti dire che molti programmi potrebbero utilizzare lo stack TCP/IP e inviare messaggi. Dobbiamo sapere quale programma sul computer di destinazione deve ricevere il messaggio perché sarà in ascolto su una porta specifica.
  4. Dopo aver attraversato il livello TCP, i pacchetti procedono al livello IP. Questo è dove ogni pacchetto riceve il suo indirizzo di destinazione, 5.6.7.8.
  5. Ora che i nostri pacchetti di messaggi hanno un numero di porta e un indirizzo IP, sono pronti per essere inviati su Internet. Il livello hardware si occupa di trasformare i nostri pacchetti contenenti il testo alfabetico del nostro messaggio in segnali elettronici e trasmetterli attraverso la linea telefonica.
  6. Dall’altra parte della linea telefonica il tuo ISP ha una connessione diretta a Internet. Il router ISP esamina l’indirizzo di destinazione in ogni pacchetto e determina dove inviarlo. Spesso, la prossima fermata del pacchetto è un altro router. Più su router e infrastrutture Internet più tardi.
  7. Alla fine, i pacchetti raggiungono il computer 5.6.7.8. Qui, i pacchetti iniziano nella parte inferiore dello stack TCP/IP del computer di destinazione e funzionano verso l’alto.
  8. Mentre i pacchetti salgono attraverso lo stack, tutti i dati di routing aggiunti dallo stack del computer mittente (come l’indirizzo IP e il numero di porta) vengono rimossi dai pacchetti.
  9. Quando i dati raggiungono la parte superiore dello stack, i pacchetti sono stati riassemblati nella loro forma originale, ” Hello computer 5.6.7.8!”

Infrastruttura di rete

Così ora sapete come i pacchetti viaggiano da un computer all’altro su Internet. Ma cosa c’è in mezzo? Che cosa rende effettivamente Internet? Diamo un’occhiata ad un altro diagramma:

Diagramma 3

Diagramma 3

Qui vediamo il diagramma 1 ridisegnato con maggiori dettagli. La connessione fisica attraverso la rete telefonica al provider di servizi Internet potrebbe essere stato facile da indovinare, ma al di là che potrebbe portare qualche spiegazione.

L’ISP mantiene un pool di modem per i propri clienti dial-in. Questo è gestito da una qualche forma di computer (di solito uno dedicato) che controlla il flusso di dati dal pool di modem a una spina dorsale o router linea dedicata. Questa configurazione può essere riferita a un server di porta, in quanto “serve” l’accesso alla rete. Le informazioni di fatturazione e di utilizzo vengono solitamente raccolte anche qui.

Dopo che i pacchetti attraversano la rete telefonica e le apparecchiature locali dell’ISP, vengono instradati sulla backbone dell’ISP o su una backbone da cui l’ISP acquista la larghezza di banda. Da qui i pacchetti di solito viaggiano attraverso diversi router e su diverse dorsali, linee dedicate e altre reti fino a trovare la loro destinazione, il computer con indirizzo 5.6.7.8. Ma non sarebbe bello se sapessimo il percorso esatto i nostri pacchetti stavano prendendo su Internet? A quanto pare, c’è un modo…

Check It Out – Il programma Traceroute

Se si sta utilizzando Microsoft Windows o un sapore di Unix e avere una connessione a Internet, ecco un altro programma Internet a portata di mano. Questo si chiama traceroute e mostra il percorso che i pacchetti stanno prendendo per una determinata destinazione Internet. Come ping, è necessario utilizzare traceroute da un prompt dei comandi. In Windows, utilizzare tracert www.yahoo.com. Da un prompt Unix, digitare traceroute www.yahoo.com. Come ping, puoi anche inserire indirizzi IP invece di nomi di dominio. Traceroute stamperà un elenco di tutti i router, i computer e qualsiasi altra entità Internet che i pacchetti devono attraversare per arrivare a destinazione.

Se usi traceroute, noterai che i tuoi pacchetti devono viaggiare attraverso molte cose per arrivare a destinazione. La maggior parte ha nomi lunghi come sjc2-core1-h2-0-0.atlas.digex.net e fddi0-0.br4.SJC.globalcenter.net. Questi sono router Internet che decidono dove inviare i pacchetti. Diversi router sono mostrati nel diagramma 3, ma solo alcuni. Il diagramma 3 ha lo scopo di mostrare una semplice struttura di rete. Internet è molto più complesso.

Infrastruttura Internet

Il backbone Internet è costituito da molte grandi reti che si interconnettono tra loro. Queste grandi reti sono noti come fornitori di servizi di rete o NSP. Alcuni dei grandi NSP sono UUNet, CerfNet, IBM, BBN Planet, SprintNet, PSINet, così come altri. Queste reti peer tra loro per lo scambio di traffico di pacchetti. Ogni NSP è necessario per connettersi a tre punti di accesso di rete o PAN. Durante i PAN, il traffico dei pacchetti può passare dalla backbone di un NSP alla backbone di un altro NSP. NSP interconnettere anche a Metropolitan Area Exchanges o MAEs. MAEs servono allo stesso scopo come i PAN, ma sono di proprietà privata. I PAN erano i punti di interconnessione Internet originali. Sia i PAN che i MAE sono indicati come punti di scambio Internet o IXS. Gli NSP vendono anche larghezza di banda a reti più piccole, come ISP e fornitori di larghezza di banda più piccoli. Di seguito è riportata un’immagine che mostra questa infrastruttura gerarchica.


Diagramma 4

Diagramma 4

Questa non è una rappresentazione vera di un pezzo reale di Internet. Il diagramma 4 ha solo lo scopo di dimostrare come i NSP potrebbero interconnettersi tra loro e gli ISP più piccoli. Nessuno dei componenti fisici della rete è mostrato nel diagramma 4 come lo sono nel Diagramma 3. Questo perché l’infrastruttura backbone di un singolo NSP è un disegno complesso di per sé. La maggior parte degli NSP pubblica mappe della propria infrastruttura di rete sui propri siti Web e può essere trovata facilmente. Disegnare una mappa reale di Internet sarebbe quasi impossibile a causa delle sue dimensioni, complessità e struttura in continua evoluzione.

La gerarchia di routing Internet

Quindi, come fanno i pacchetti a trovare la loro strada attraverso Internet? Ogni computer connesso a Internet sa dove sono gli altri computer? I pacchetti vengono semplicemente “trasmessi” a tutti i computer su Internet? La risposta a entrambe le domande precedenti è “no”. Nessun computer sa dove sono gli altri computer e i pacchetti non vengono inviati a tutti i computer. Le informazioni utilizzate per ottenere i pacchetti verso le loro destinazioni sono contenute nelle tabelle di routing conservate da ciascun router connesso a Internet.

I router sono switch a pacchetto. Un router è solitamente collegato tra le reti per instradare i pacchetti tra di loro. Ogni router conosce le sue sottoreti e quali indirizzi IP usano. Il router di solito non sa quali indirizzi IP sono “sopra”. Esaminare il diagramma 5 qui sotto. Le scatole nere che collegano le dorsali sono router. Le dorsali NSP più grandi nella parte superiore sono collegate in un PISOLINO. Sotto di loro ci sono diverse sotto-reti, e sotto di loro, più sotto-reti. Nella parte inferiore ci sono due reti locali con computer collegati.

Diagramma 5

Diagramma 5

Quando un pacchetto arriva a un router, il router esamina l’indirizzo IP messo lì dal livello del protocollo IP sul computer di origine. Il router controlla la sua tabella di routing. Se viene trovata la rete contenente l’indirizzo IP, il pacchetto viene inviato a tale rete. Se la rete contenente l’indirizzo IP non viene trovata, il router invia il pacchetto su un percorso predefinito, di solito la gerarchia backbone al router successivo. Speriamo che il prossimo router saprà dove inviare il pacchetto. Se non lo fa, di nuovo il pacchetto viene instradato verso l’alto fino a raggiungere una spina dorsale NSP. I router collegati alle dorsali NSP contengono le tabelle di routing più grandi e qui il pacchetto verrà instradato alla spina dorsale corretta, dove inizierà il suo viaggio “verso il basso” attraverso reti sempre più piccole fino a quando non troverà la sua destinazione.

Nomi di dominio e risoluzione degli indirizzi

Ma cosa succede se non si conosce l’indirizzo IP del computer a cui si desidera connettersi? Cosa succede se è necessario accedere a un server Web denominato www.anothercomputer.com? Come fa il tuo browser web a sapere dove su Internet vive questo computer? La risposta a tutte queste domande è il Domain Name Service o DNS. Il DNS è un database distribuito che tiene traccia dei nomi dei computer e dei loro indirizzi IP corrispondenti su Internet.

Molti computer connessi a Internet ospitano parte del database DNS e il software che consente ad altri di accedervi. Questi computer sono noti come server DNS. Nessun server DNS contiene l’intero database; ne contiene solo un sottoinsieme. Se un server DNS non contiene il nome di dominio richiesto da un altro computer, il server DNS reindirizza il computer richiedente a un altro server DNS.

Diagramma 6

Diagramma 6

Il Nome di Dominio Servizio è strutturato come una gerarchia simile alla gerarchia di routing IP. Il computer che richiede una risoluzione dei nomi verrà reindirizzato “su” la gerarchia fino a quando non viene trovato un server DNS in grado di risolvere il nome di dominio nella richiesta. Figura 6 illustra una parte della gerarchia. Nella parte superiore dell’albero ci sono le radici del dominio. Alcuni dei domini più vecchi e più comuni sono visti vicino alla cima. Ciò che non viene mostrato sono la moltitudine di server DNS in tutto il mondo che formano il resto della gerarchia.

Quando viene impostata una connessione Internet (ad esempio per una rete LAN o dial-Up in Windows), vengono solitamente specificati un server DNS primario e uno o più server DNS secondari come parte dell’installazione. In questo modo, tutte le applicazioni Internet che necessitano di risoluzione del nome di dominio saranno in grado di funzionare correttamente. Ad esempio, quando si immette un indirizzo Web nel browser Web, il browser si connette prima al server DNS primario. Dopo aver ottenuto l’indirizzo IP per il nome di dominio immesso, il browser si connette al computer di destinazione e richiede la pagina web desiderata.

Check It Out – Disabilitare DNS in Windows

Se si utilizza Windows 95 / NT e accedere a Internet, è possibile visualizzare il server DNS(s) e anche disabilitarli.

Se si utilizza Dial-Up Networking:
Aprire la finestra di Dial-Up Networking (che può essere trovato in Esplora risorse sotto l’unità CD-ROM e sopra Quartiere di rete). Fare clic destro sulla connessione Internet e fare clic su Proprietà. Nella parte inferiore della finestra Proprietà connessione premere le impostazioni TCP/IP… pulsante.

Se si dispone di una connessione permanente a Internet:
Fare clic destro sul Quartiere di rete e fare clic su Proprietà. Fare clic su Proprietà TCP / IP. Seleziona la scheda Configurazione DNS in alto.

Ora dovresti guardare gli indirizzi IP dei tuoi server DNS. Qui puoi disabilitare DNS o impostare i tuoi server DNS su 0.0.0.0. (Scrivi prima gli indirizzi IP dei tuoi server DNS. Probabilmente dovrai riavviare anche Windows. Ora inserisci un indirizzo nel tuo browser web. Il browser non sarà in grado di risolvere il nome di dominio e probabilmente si otterrà una finestra di dialogo brutta che spiega che un server DNS non è stato trovato. Tuttavia, se si immette l’indirizzo IP corrispondente al posto del nome di dominio, il browser sarà in grado di recuperare la pagina web desiderata. (Utilizzare ping per ottenere l’indirizzo IP prima di disabilitare DNS.) Altri sistemi operativi Microsoft sono simili.

Internet Protocols Revisited

Come accennato in precedenza nella sezione sugli stack di protocollo, si può supporre che ci siano molti protocolli utilizzati su Internet. Questo è vero; ci sono molti protocolli di comunicazione necessari per il funzionamento di Internet. Questi includono i protocolli TCP e IP, i protocolli di routing, i protocolli di controllo degli accessi medi, i protocolli a livello di applicazione, ecc. Le sezioni seguenti descrivono alcuni dei protocolli più importanti e comunemente utilizzati su Internet. I protocolli di livello superiore sono discussi per primi, seguiti da protocolli di livello inferiore.

Protocolli applicativi: HTTP e il World Wide Web

Uno dei servizi più comunemente utilizzati su Internet è il World Wide Web (WWW). Il protocollo dell’applicazione che fa funzionare il web è Hypertext Transfer Protocol o HTTP. Non confondere questo con il linguaggio di markup ipertestuale (HTML). HTML è il linguaggio utilizzato per scrivere pagine web. HTTP è il protocollo che i browser Web e i server Web utilizzano per comunicare tra loro su Internet. È un protocollo a livello di applicazione perché si trova in cima al livello TCP nello stack di protocollo e viene utilizzato da applicazioni specifiche per parlare tra loro. In questo caso le applicazioni sono browser web e server web.

HTTP è un protocollo basato su testo senza connessione. I client (browser web) inviano richieste ai server Web per elementi web come pagine web e immagini. Dopo che la richiesta è stata gestita da un server, la connessione tra client e server su Internet viene disconnessa. Una nuova connessione deve essere effettuata per ogni richiesta. La maggior parte dei protocolli sono orientati alla connessione. Ciò significa che i due computer che comunicano tra loro mantengono la connessione aperta su Internet. HTTP non lo fa tuttavia. Prima che una richiesta HTTP possa essere effettuata da un client, è necessario effettuare una nuova connessione al server.

Quando si digita un URL in un browser Web, questo è ciò che accade:

  1. Se l’URL contiene un nome di dominio, il browser si connette prima a un server di nomi di dominio e recupera l’indirizzo IP corrispondente per il server web.
  2. Il browser web si connette al server web e invia una richiesta HTTP (tramite lo stack di protocollo) per la pagina web desiderata.
  3. Il server web riceve la richiesta e controlla la pagina desiderata. Se la pagina esiste, il server web la invia. Se il server non riesce a trovare la pagina richiesta, invierà un messaggio di errore HTTP 404. (404 significa “Pagina non trovata” come probabilmente sa chiunque abbia navigato sul web.)
  4. Il browser web riceve la pagina indietro e la connessione viene chiusa.
  5. Il browser analizza quindi la pagina e cerca altri elementi della pagina di cui ha bisogno per completare la pagina web. Questi di solito includono immagini, applet,ecc.
  6. Per ogni elemento necessario, il browser effettua ulteriori connessioni e richieste HTTP al server per ogni elemento.
  7. Quando il browser ha terminato il caricamento di tutte le immagini, applet, ecc. la pagina verrà completamente caricata nella finestra del browser.

Check It Out – Utilizzare il client Telnet per recuperare una pagina Web utilizzando HTTP

Telnet è un servizio terminale remoto utilizzato su Internet. Il suo utilizzo è diminuito ultimamente, ma è uno strumento molto utile per studiare Internet. In Windows trova il programma telnet predefinito. Può essere situato nella directory di Windows denominata telnet.exe. Una volta aperto, tirare verso il basso il menu Terminale e selezionare Preferenze. Nella finestra Preferenze, controlla Eco locale. (Questo è così che puoi vedere la tua richiesta HTTP quando la digiti.) Ora tirare verso il basso il menu di connessione e selezionare Sistema remoto. Inserisci www.Google.com per il nome host e 80 per la porta. (I server Web di solito ascoltano sulla porta 80 per impostazione predefinita.) Premere Connetti. Ora digita

GET / HTTP/1.0

e premi Invio due volte. Questa è una semplice richiesta HTTP a un server Web per la sua pagina principale. Si dovrebbe vedere un flash pagina web e poi una finestra di dialogo dovrebbe pop-up per dirvi la connessione è stata persa. Se si desidera salvare la pagina recuperata, attivare l’accesso al programma Telnet. Si può quindi navigare attraverso la pagina web e vedere l’HTML che è stato utilizzato per scriverlo.

La maggior parte dei protocolli Internet sono specificati da documenti Internet noti come Richiesta di commenti o RFC. RFC possono essere trovati in diverse località su Internet. Vedere la sezione Risorse di seguito per l’URL appropriato. HTTP versione 1.0 è specificato da RFC 1945.

Protocolli applicativi: SMTP e Posta elettronica

Un altro servizio Internet comunemente usato è la posta elettronica. E-mail utilizza un protocollo a livello di applicazione chiamato Simple Mail Transfer Protocol o SMTP. SMTP è anche un protocollo basato su testo, ma a differenza di HTTP, SMTP è orientato alla connessione. SMTP è anche più complicato di HTTP. Ci sono molti più comandi e considerazioni in SMTP che in HTTP.

Quando apri il tuo client di posta per leggere la tua e-mail, questo è ciò che accade in genere:

  1. Il client di posta (Netscape Mail, Lotus Notes, Microsoft Outlook, ecc.) apre una connessione al suo server di posta predefinito. L’indirizzo IP o il nome di dominio del server di posta viene in genere configurato quando viene installato il client di posta.
  2. Il server di posta trasmetterà sempre il primo messaggio per identificarsi.
  3. Il client invierà un comando HELO SMTP a cui il server risponderà con un messaggio OK 250.
  4. A seconda che il client stia controllando la posta, inviando posta, ecc. i comandi SMTP appropriati verranno inviati al server, che risponderà di conseguenza.
  5. Questa transazione richiesta/risposta continuerà fino a quando il client non invia un comando SMTP QUIT. Il server dirà quindi addio e la connessione verrà chiusa.

Di seguito viene mostrata una semplice “conversazione” tra un client SMTP e un server SMTP. R: indica i messaggi inviati dal server (ricevitore) e S: indica i messaggi inviati dal client (mittente).

 This SMTP example shows mail sent by Smith at host USC-ISIF, to Jones, Green, and Brown at host BBN-UNIX. Here we assume that host USC-ISIF contacts host BBN-UNIX directly. The mail is accepted for Jones and Brown. Green does not have a mailbox at host BBN-UNIX. ------------------------------------------------------------- R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready S: HELO USC-ISIF.ARPA R: 250 BBN-UNIX.ARPA S: MAIL FROM:<[email protected]> R: 250 OK S: RCPT TO:<[email protected]> R: 250 OK S: RCPT TO:<[email protected]> R: 550 No such user here S: RCPT TO:<[email protected]> R: 250 OK S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> S: Blah blah blah... S: ...etc. etc. etc. S: . R: 250 OK S: QUIT R: 221 BBN-UNIX.ARPA Service closing transmission channel

Questa transazione SMTP è presa da RFC 821, che specifica SMTP.

Transmission Control Protocol

Sotto il livello di applicazione nello stack di protocollo è il livello TCP. Quando le applicazioni aprono una connessione a un altro computer su Internet, i messaggi che inviano (utilizzando uno specifico protocollo a livello di applicazione) vengono trasmessi allo stack al livello TCP. TCP è responsabile dell’instradamento dei protocolli dell’applicazione all’applicazione corretta nel computer di destinazione. Per fare ciò, vengono utilizzati i numeri di porta. Le porte possono essere pensate come canali separati su ciascun computer. Ad esempio, è possibile navigare sul web durante la lettura di e-mail. Questo perché queste due applicazioni (il browser Web e il client di posta) utilizzavano numeri di porta diversi. Quando un pacchetto arriva a un computer e si fa strada nello stack di protocollo, il livello TCP decide quale applicazione riceve il pacchetto in base a un numero di porta.

TCP funziona in questo modo:

  • Quando il livello TCP riceve i dati del protocollo application layer dall’alto, lo segmenta in “blocchi” gestibili e quindi aggiunge un’intestazione TCP con informazioni TCP specifiche a ciascun “blocco”. Le informazioni contenute nell’intestazione TCP includono il numero di porta dell’applicazione a cui i dati devono essere inviati.
  • Quando il livello TCP riceve un pacchetto dal livello IP sottostante, il livello TCP rimuove i dati dell’intestazione TCP dal pacchetto, esegue una ricostruzione dei dati se necessario e quindi invia i dati all’applicazione corretta utilizzando il numero di porta prelevato dall’intestazione TCP.

Questo è il modo in cui TCP instrada i dati che si muovono attraverso lo stack di protocollo all’applicazione corretta.

TCP non è un protocollo testuale. TCP è un servizio di flusso di byte orientato alla connessione, affidabile. Orientato alla connessione significa che due applicazioni che utilizzano TCP devono prima stabilire una connessione prima di scambiare dati. TCP è affidabile perché per ogni pacchetto ricevuto, un riconoscimento viene inviato al mittente per confermare la consegna. TCP include anche un checksum nella sua intestazione per il controllo degli errori dei dati ricevuti. L’intestazione TCP è simile a questa:

Diagramma 7

il Diagramma 7

si Noti che non c’è posto per un indirizzo IP nell’header TCP. Questo perché TCP non sa nulla degli indirizzi IP. Il compito di TCP è quello di ottenere dati a livello di applicazione da un’applicazione all’altra in modo affidabile. Il compito di ottenere dati da computer a computer è il lavoro di IP.

Check It Out – Ben noti numeri di porta Internet
Di seguito sono elencati i numeri di porta per alcuni dei servizi Internet più comunemente utilizzati.

FTP 20/21
Telnet 23
SMTP 25
HTTP 80
Quake III Arena 27960

Internet Protocol

Unlike TCP, IP is an unreliable, connectionless protocol. A IP non importa se un pacchetto arriva alla sua destinazione o meno. Né IP sa di connessioni e numeri di porta. Il lavoro di IP è troppo inviare e instradare i pacchetti ad altri computer. I pacchetti IP sono entità indipendenti e possono arrivare fuori servizio o per niente. È compito di TCP assicurarsi che i pacchetti arrivino e siano nell’ordine corretto. L’unica cosa che IP ha in comune con TCP è il modo in cui riceve i dati e aggiunge le proprie informazioni di intestazione IP ai dati TCP. L’intestazione IP è simile a questa:


Diagramma 8

Diagramma 8

Sopra vediamo gli indirizzi IP dei computer che inviano e ricevono nell’intestazione IP. Di seguito è riportato l’aspetto di un pacchetto dopo aver attraversato il livello dell’applicazione, il livello TCP e il livello IP. I dati del livello dell’applicazione vengono segmentati nel livello TCP, viene aggiunta l’intestazione TCP, il pacchetto continua al livello IP, viene aggiunta l’intestazione IP e quindi il pacchetto viene trasmesso su Internet.


Diagramma 9

Diagramma 9

Concludere

Ora sai come funziona Internet. Ma per quanto tempo rimarrà così? La versione di IP attualmente utilizzata su Internet (versione 4) consente solo 232 indirizzi. Alla fine non ci saranno più indirizzi IP gratuiti. Sorpreso? Non preoccuparti. IP versione 6 è in fase di test in questo momento su una spina dorsale di ricerca da un consorzio di istituti di ricerca e aziende. E dopo? Chi lo sa. Internet ha fatto molta strada da quando è nato come progetto di ricerca del Dipartimento della Difesa. Nessuno sa davvero cosa diventerà Internet. Una cosa è certa, però. Internet unirà il mondo come nessun altro meccanismo ha mai fatto. L’era dell’informazione è in pieno sviluppo e sono felice di farne parte.

Rus Shuler, 1998
Updates made 2002

Resources

Di seguito sono riportati alcuni link interessanti associati ad alcuni degli argomenti discussi. (Spero che funzionino ancora tutti. Tutto aperto in una nuova finestra.)

http://www.ietf.org/ è la home page della Internet Engineering Task Force. Questo corpo è notevolmente responsabile dello sviluppo di protocolli Internet e simili.

http://www.internic.org/ è l’organizzazione responsabile della gestione dei nomi di dominio.

http://www.nexor.com/public/rfc/index/rfc.html è un eccellente motore di ricerca RFC utile per trovare qualsiasi RFC.

http://www.internetweather.com/ mostra mappe animate di latenza Internet.

http://routes.clubnet.net/iw/ è Internet Meteo da ClubNET. Questa pagina mostra la perdita di pacchetti per vari vettori.

http://navigators.com/isp.html è la pagina ISP di Russ Haynal. Questo è un ottimo sito con collegamenti alla maggior parte dei NSP e le loro mappe dell’infrastruttura backbone.

Bibliografia

I seguenti libri sono risorse eccellenti e hanno aiutato molto nella stesura di questo articolo. Credo che il libro di Stevens sia il miglior riferimento TCP/IP di sempre e possa essere considerato la bibbia di Internet. Il libro di Sheldon copre un ambito molto più ampio e contiene una grande quantità di informazioni di rete.

  • TCP/IP Illustrato, Volume 1, I protocolli.
    W. Richard Stevens.
    Addison-Wesley, Reading, Massachusetts. 1994.
  • Enciclopedia del networking.
    Tom Sheldon.
    Osbourne McGraw-Hill, New York. 1998.

Anche se non utilizzato per scrivere questo documento, qui ci sono alcuni altri buoni libri sui temi di Internet e networking:

  • Firewall e sicurezza Internet; Respingere l’hacker Wiley.
    William R. Cheswick, Steven M. Bellovin.
    Addison-Wesley, Reading, Massachusetts. 1994.
  • Comunicazioni dati, reti informatiche e sistemi aperti. Quarta Edizione.
    Fred Halsall.
    Addison-Wesley, Harlow, Inghilterra. 1996.
  • Telecomunicazioni: Protocolli e design.
    John D. Spragins con Joseph L. Hammond e Krzysztof Pawlikowski.
    Addison-Wesley, Reading, Massachusetts. 1992.

Related Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *