Internet

TCP/IP
Questo modello presenta due protocolli principali:IP (Internet Protocol);TCP (Transmission Control Protocol).Si basa su quattro livelli. (leggere dal livello a destra)
Livello di rete
Il modello sottostante l'Internet Layer, detto anche host-to-network layer, non è in realtà specificato rigorosamente dal modello di riferimento TCP/IP, in quanto il protocollo che si utilizza varia da un host all'altro e da rete a rete, includendo quindi tutte le tecnologie LAN e WAN e tutti i dettagli contenuti nei livelli 1 e 2 del modello OSI.
Livello internet
Il livello Internet (o livello IP) ha lo scopo di selezionare il miglior percorso attraverso la rete per recapitare il messaggio al destinatario.A ogni computer di una rete TCP/IP viene assegnato un indirizzo IP (di cui parleremo meglio in seguito), detto indirizzo logico, che rappresenta un identificativo univoco e opera al livello 3 della pila ISO/OSI, a differenza dell'indirizzo MAC, che individua fisicamente un dispositivo a livello 2. Il messaggio da trasmettere ad alto livello viene suddiviso in pacchetti (segmentazione) di dimensioni inferiori.L'Internet Layer effettua la spedizione dei pacchetti che costituiscono il messaggio in ogni tipo di rete e in un qualsiasi nodo di destinazione attraverso il protocollo IP (Internet Protocol), che li inoltra all'indirizzo IP finale utilizzando meccanismi di instradamento (routing) per mezzo di dispositivi appositi (router).
Indirizzo IP
Nelle reti TCP/IP a ogni host deve essere assegnato l'indirizzo IP; quest'ultimo, composto da 32 bit (4 byte), viene espresso scrivendo i valori decimali di ciascun byte da 0 a 255, separati da un punto (rappresentazione dotted-decimal).L'indirizzo IP è composto da due parti:indirizzo di rete (Net-ID o Network-ID);indirizzo dell'host (Host-ID).L'indirizzo IP viene assegnato dall'ICAAN (Internet Corporation for Assigned Names and Numbers).Risolvere un indirizzo IP significa individuare l'indirizzo fisico oppure il nome di una macchina in una rete o in un suo segmento.Sono disponibili due protocolli:ARP (Address Resolution Protocol): da IP a MAC;RARP (Reverse Address Resolution Protocol): da MAC a IP.
Classi
Configurare il PC
Ogni host connesso alla rete IP deve avere al suo interno tre parametri essenziali:l'indirizzo IP completo dell'host;la Subnet-mask che permette l'estrazione del prefisso di rete (o sottorete);il gateway predefinito a cui saranno inviati i pacchetti IP i cui destinatari non si trovano sulla stessa subnet del mittente.
Manualmente
Nella configurazione manuale l'amministratore di rete deve provvedere ad effettuare il piano di indirizzamento, seguendo per esempio le seguenti fasi operative in caso di subnetting:determinazione del numero di Subnet-ID necessari oggi e per le future esigenze di crescita;determinazione del numero massimo di indirizzi IP su ogni subnet, considerando la crescita futura;determinazione delle Subnet-Mask;calcolo dei Subnet-ID da utilizzare;calcolo degli Host-ID e assegnazione degli indirizzi IP agli host.
Automaticamente
L'assegnazione degli indirizzi viene effettuata a ogni accensione dell'host da un particolare programma, il DHCP (Dynamic Host Configuration Protocol).Ci sono due possibili modalità di funzionamento del DHCP:allocuzione automatica: il DHCP assegna permanentemente un indirizzo IP;allocuzione dinamica: il DHCP assegna un indirizzo IP per un intervallo di tempo limitato.
Livello di trasporto
Il livello di trasporto (Transport layer) crea una connessione logica tra sorgente e destinazione indipendentemente dalla rete utilizzata, assemblando e segmentando i dati che riceve dal livello di applicazione e inviando al destinatario un segmento per volta.Offre servizi quali:trasferimento dati affidabile;ampiezza di banda;temporizzazione;sicurezza.
Livello di applicazione
Il livello di applicazione (o Application layer) comprende tutti i protocolli di alto livello e il dialogo con l'utente, tra cui quelli specifici per il trasferimento di file, le e-mail, il login remoto.Le applicazioni di rete seguono un'architettura:client-server: deve sempre esserci un server attivo che offre un servizio, restando in attesa che uno o più client si connettano a esso per poter rispondere alle richieste che gli vengono effettuate;peer-to-peer (P2P): le coppie di host che comunicano (peer) possono essere viste come una comunità che collabora con il binomio di dare e ricevere: ogni peer fornisce una risorsa e ottiene in cambio altre risorse. Può essere centralizzata e decentralizzata;ibrida o P2P ibrido: sono presenti alcuni peer (super-nodi, o super-peer o ultra-peer) determinati dinamicamente che hanno la funzione di indicizzazione: gli altri nodi sono chiamati leaf peer.
FTP
FTP (File Transfer Protocol) è un servizio TCP per i trasferimento dei file.Gli obiettivi principali dell'FTP sono:promuovere la condivisione dei file (programmi o dati);incoraggiare l'uso indiretto o implicito di computer remoti;risolvere in maniera trasparente incompatibilità tra differenti sistemi di deposito file;trasferire dati in maniera affidabile ed efficiente.L'FTP si rifà a un modello client/server e per realizzare la connessione entrambe le macchine devono avere installato un software FTP, rispettivamente un FTP client e un FTP server.Il software FTP server mette a disposizione opzioni quali:download/upload di file;recupero di trasferimenti interrotti;rimozione e rinomina dei file;creazione di directory;navigazione tra directory.Un programma FTP client svolge generalmente le seguenti funzioni:connessione al server remoto;trasferimento di un file dal server al client (get);trasferimento di un file dal client al server (put);lettura dei files presenti nella directory corrente sul server (dir);cambiamento di directory corrente sul server (cd);disconnessione (bye).La specifica RFC 4217 aggiunge al protocollo FTP originale un layer di cifratura SSL più una nuova serie di comandi e codici di risposta: tale protocollo prende il nome di FTPS.
Collegamento normale
Quando viene avviata una sessione FTP con un server remoto, il lato client FTP apre una porta per la trasmissione e ricezione dei dati e l'altra per i segnali di controllo.Il client instaura una connessione TCP di controllo con il server, specificando TCP come protocollo di trasporto e il numero di porta dati del client.Il client dell'FTP invia l'identificazione dell'utente e la password su questa connessione di controllo. Quindi il server apre il data channel per iniziare il trasferimento. Al termine del trasferimento di un file, il server chiude la connessione sulla linea dati.
Collegamento passivo
La modalità denominata passiva (passive mode o PASV mode) consente al client di aprire sia la connessione di controllo, sia quella per i dati. E' il server a comunicare al client il numero di porta che riserva per il trasferimento dei dati e quindi non è più la porta numero 21 di default.
DNS
Con DNS (Demain Name System) si intende:un data base distribuito che memorizza coppie (nome simbolico-indirizzo IP) su un insieme di nodi della rete (name servers);un protocollo a livello applicazione che regola la comunicazione tra hosts e name servers utilizzato da altri protocolli per la risoluzione dei nomi simbolici.Possiamo individuare tre funzioni principali del DNS:traduzione dei nomi simbolici in indirizzi IP;gestione degli alias, cioè permettere la definizione di più nomi simbolici per lo stesso host;esecuzione del bilanciamento del carico: molti web server devono gestire una enorme quantità di richieste e per soddisfarle senza collassare le connessioni è necessario replicare i server in modo tale da avere più PC che contemporaneamente possano offrire lo stesso servizio; allo stesso nome simbolico viene quindi associato un insieme di indirizzi IP ed è compito del DNS restituire gli indirizzi IP associati allo stesso nome simbolico secondo una disciplina circolare.
NFS
NFS (Network File System) è un protocollo che permette l'accesso a file memorizzati su un dispositivo remoto, per esempio su un hard disk in rete.
Posta elettronica
Gli indirizzi di posta elettronica, in Internet, hanno la forma:nomeutente@dominiodove:nomeutente è la stringa che identifica l'interlocutore che è univoca per dominio: è un nome scelto dall'utente o dall'amministratore del server, che identifica in maniera univoca un utente;dominio è rappresentato dal nome del provider e dalla nazionalità oppure da un indirizzo IP.La realizzazione della posta elettronica viene implementata mediante due sottoinsiemi:Mail User Agent (MUA): è un programma di gestione di posta che viene mandato in esecuzione sul client e mediante un'interfaccia grafica user friendly offre all'utente le funzionalità che permettono l'inserimento, la composizione, la ricezione e la lettura dei messaggi;Mail Transport Agent (MTA): si occupa della ricezione di tutti i messaggi e del loro recapito e ha quindi la funzione di ponte tra due MUA: è quello che noi indichiamo come mailserver.
SMTP
Il protocollo SMTP (Simple Mail Transfer Protocol) è un protocollo utilizzato per il trasferimento dei messaggi di posta elettronica. Un documento di posta elettronica è composto dall'header, che contiene le informazioni per il trasporto, e da un body, che contiene il messaggio vero è proprio. Grazie allo standard MIME (Multiporpose Internet Mail Extensions) è possibile inserire, oltre al testo, files contenenti immagini, segnali audio e video.L'invio di un messaggio è composto da tre fasi principali:il programma di posta elettronica usato dall'utente invia il messaggio al proprio server usando il protocollo SMTP;il server trasferisce il messaggio al server del destinatario;il destinatario preleva il messaggio dal proprio server.
POP3
Il protocollo Post Office Protocol (POP) permette ad un client di posta di accedere al server ed effettuare il trasferimento dei messaggi dalla propria mailbox ("fermoposta") al proprio PC, nel programma client di posta che è installato su di esso. La versione di fatto utilizzata è la versione 3 (POP3).La conversazione POP3 avviene in tre fasi:autorizzazione (AUTHORIZATION): il client si identifica e il server verifica che abbia le dovute autorizzazioni per accedere alla casella postale;transazione (TRANSACTION): è la fase nella quale la posta viene effettivamente scaricata e al termine della stessa il client lancia il comando QUIT;aggiornamento (UPDATE): in questa fase il server elimina dalla casella postale tutti i messaggi scaricati e chiude la connessione.
Web mail
E' la modalità di consultazione della posta offerta direttamente dai siti Web che offrono l'accesso alle proprie caselle di posta (Hotmail, GMail, libero, inwind, tin, Yahoo! ecc.) attraverso la connessione a un sito dedicato a questo scopo direttamente con il browser.
IMAP
L' Internet Message Access Protocol (IMAP) è particolarmente utile per gli utenti "remoti o mobili". Il principale vantaggio di IMAP è quello di permettere l'accesso alla posta sia on line che off line.Il protocollo IMAP consente inoltre di:rinominare la propria casella elettronica;cancellare singoli messaggi senza essere costretto a prelevarli;leggere le intestazioni dei messaggi senza doverli leggere interamente;prelevare addirittura solo delle porzioni dei messaggi;effettuare l'accesso simultaneo alla stessa casella di posta.
Telnet
Telnet (Terminal Emulation) offre la possibilità di accedere da remoto a un altro computer.
HTTP
HTTP (HyperText Transfer Protocol) è un protocollo usato per caricare le pagine del World Wide Web.Il meccanismo che sta alla base della comunicazione attraverso il protocollo HTTP è il seguente:si apre una connessione TCP tra client e server;il browser richiede una risorsa al server http (web server);il server risponde (se possibile, fornendo la risorsa richiesta);si chiude la connessione.Il formato dei messaggi HTTP è formato da una start-line (riga di richiesta/risposta), una HEADER (intestazione HTTP) e da un BODY (corpo http).La riga di richiesta contiene un comando metodo (GET e POST sono i più usati, ma esistono anche HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS).Nell'intestazione (HEADER) compaiono i dati che riguardano il tipo di documento richiesto, il tipo di browser che ha richiesto la pagina, la data e alcune informazioni generali sulla configurazione del sistema richiedente. Il corpo (BODY) del messaggio di richiesta da parte del client può essere omesso, verrà usato invece dal server per rispondere con la pagina HTML vera e propria.Prevede l'utilizzo di proxy server, dei software che in un'architettura client-server si frappongono tra il server e il client con funzione di ponti nella rete: al proxy viene delegato il compito di scaricare le informazioni e di memorizzarle su una memoria di massa in modo da poter essere restituite il più rapidamente possibile durante successive richieste identiche.Un cookie invece è un file che viene memorizzato nel computer del client dal sito web che viene visitato.Il protocollo HTTPS (Secure HyperText Transfer Protocol) incapsula HTTP in una connessione cifrata con il Web Server di destinazione in modo da rendere più complesso, o per lo meno più macchinoso, un attacco da parte di malintenzionati.
World Wide Web
Il WWW (World Wide Web) è l'insieme delle pagine ipermediali di internet, cioè è un ipertesto multimediale distribuito.Ciascuna risorsa è individuata in modo univoco mediante un indirizzo URI (Universal Resource Identifier). Esso include la localizzazione del protocollo, l'indirizzamento internet e il nome del file, ed eventualmente la localizzazione interna a quel documento.L'URL (Uniform Resource Locator) è un particolare tipo di URI. Un URL è formato da:protocollo per la connessione (HTTP per pagine web);nome simbolico (o indirizzo IP) del server;pathname del file sul server.