Reti di calcolatori e internet
Che cos'è internet?
Esistono un paio di risposte a questa domanda. La prima è descrivere gli ingranaggi di Internet, ossia i componenti di base hardware e software che lo compongono. Un altro modo consiste nel descrivere Internet in termini di infrastrutture di rete che forniscono servizi ad applicazioni distribuite.
Internet è una rete di calcolatori che interconnette centinaia di milioni di dispositivi di calcolo in tutto il mondo. In gergo, tutti questi dispositivi sono detti host (ospiti) o end system (sistemi periferici). I sistemi periferici sono connessi tra loro tramite una rete di collegamenti e commutatori di pacchetti.
Collegamenti diversi possono trasmettere dati a velocità differenti, tale velocità di trasmissione (trasmission rate) viene misurata in bit/secondo (bps). Quando un sistema periferico vuole inviare dati a un altro sistema periferico, suddivide i dati in sottoparti e aggiunge un’intestazione a ciascuna di esse: l’insieme delle informazioni risultanti viene chiamato pacchetto. I pacchetti sono inviati attraverso la rete alla destinazione, dove vengono riassemblati per ottenere i dati originari.
Un commutatore di pacchetto prende un pacchetto che arriva e lo ritrasmette su uno dei suoi collegamenti di uscita. Esistono commutatori di pacchetto di varia forma e natura, ma i due principali nell’odierna internet sono i router e i commutatori a livello di collegamento.
Accesso a internet
I sistemi periferici accedono a Internet tramite i cosiddetti internet service provider (ISP) che comprendono ISP residenziali quali le compagnie telefoniche, ISP aziendali, ISP universitari e ISP che forniscono accesso al Wi-Fi. Sistemi periferici, commutatori e altre parti di Internet fanno uso di protocolli che controllano l’invio e la ricezione di informazioni all’interno della rete. Due dei principali protocolli Internet sono il transmission control protocol (TCP) e l’internet protocol (IP). Quest’ultimo specifica il formato dei pacchetti scambiati tra router e sistemi periferici. I principali protocolli Internet sono noti con il nome di TCP/IP.
Data la loro importanza per Internet, un accordo sulle funzioni svolte da ogni singolo protocollo risulta fondamentale. Ecco dove entrano in gioco gli standard di Internet. Gli standard vengono sviluppati dalla Internet Engineering Task Force (IETF), i documenti degli standard di Internet vengono detti request for comment (RFC).
Protocolli di comunicazione
Possiamo inoltre descrivere Internet da un punto completamente differente, cioè come un’infrastruttura che fornisce servizi alle applicazioni. Tali applicazioni includono posta elettronica, navigazione nel Web e molte altre. Queste applicazioni sono dette applicazioni distribuite, in quanto coinvolgono più sistemi periferici che si scambiano reciprocamente dati.
Una semplice analogia si può fare con la comunicazione umana. Dove la conversazione inizia con un saluto e successivamente prosegue con una domanda da parte dell’interlocutore che riceverà una risposta. In modo del tutto analogo funziona la comunicazione attraverso due macchine. Un protocollo definisce il formato e l’ordine dei messaggi scambiati tra due o più entità in comunicazione, così come le azioni intraprese in fase di trasmissione e/o di ricezione di un messaggio o di un altro evento. Internet fa un uso estensivo di protocolli.
Reti di accesso
Andiamo ad esaminare le reti di accesso (access network), cioè la rete che connette fisicamente un sistema al suo edge router (router di bordo), che è il primo router sul percorso dal sistema d’origine a un qualsiasi altro sistema di destinazione collocato al di fuori della stessa rete di accesso.
- Accesso residenziale: I due accessi residenziali a larga banda più diffusi sono il digital subscriber line (DSL) e quello via cavo. Un accesso residenziale a Internet di tipo DSL viene generalmente fornito dalla stessa compagnia telefonica che fornisce anche il servizio di telefonia fissa. In questo modo, in presenza di un accesso DSL, la compagnia telefonica assume anche il ruolo di ISP. Il modem DSL dell’utente usa la linea telefonica esistente (doppino telefonico intrecciato in rame) per scambiare dati con un digital subscriber line access multiplex (DSLAM) che si trova nella centrale locale della compagnia telefonica. Il modem DLS residenziale converte i dati digitali in toni ad alta frequenza per poterli trasmettere alla centrale locale sul cavo telefonico; tutti i segnali analogici in arrivo dalle abitazioni vengono riconvertiti in formato digitale nel DSLAM. Le linee telefoniche residenziali trasportano contemporaneamente dati e segnali telefonici codificandoli in tre bande di frequenza non sovrapposte: Un canale di downstream (verso l’abitazione) ad alta velocità, nella banda tra 50kHz e 1 MHz. Un canale di upstream (verso il DSLAM) a velocità media, nella banda tra 4 e 50kHz ed un canale telefoni ordinario a due vie, nella banda tra 0 e 4kHz. Tale approccio fa apparire un singolo collegamento DSL come tre collegamenti separati, in modo che una chiamata telefonica, e una connessione a Internet possano contemporaneamente condividere lo stesso collegamento DSL.
- Accesso aziendale (e residenziale): Ethernet e Wi-Fi: Per collegare i sistemi periferici al router di bordo si utilizza una rete locale (LAN, local area network). In una LAN wireless gli utenti trasmettono e ricevono pacchetti da e verso un access point wireless (detto anche base station).
- Accesso wireless su scala geografica 3G e LTE: A differenza del Wi-Fi, l’utente può trovarsi a decine di chilometri dalla stazione base, invece che a pochi metri.
Mezzi trasmissivi
Il mezzo fisico può presentarsi in diverse forme e dimensioni e non deve necessariamente essere dello stesso tipo per ogni coppia trasmettitore-ricevitore lungo il percorso. I mezzi fisici ricadono in due categorie: i mezzi vincolati e quelli non vincolati. Nei primi, le onde vengono contenute in un mezzo fisico, quale un cavo in fibra ottica, un filo di rame o un cavo coassiale. Nei secondi, le onde si propagano nell’atmosfera e nello spazio esterno.
Il costo effettivo di un collegamento fisico è spesso inferiore rispetto ad altri costi delle reti. In particolare, il costo del lavoro associato all’installazione del collegamento fisico può superare di vari ordini di grandezza quello del materiale.
- Doppino di rame intrecciato: Il mezzo trasmissivo vincolato meno costoso e più utilizzato è il doppino di rame intrecciato. È costituito da due fili di rame distinti, ciascuno spesso meno di 1mm, disposti a spirale regolare. I fili vengono intrecciati assieme per ridurre l’interferenza elettrica generata da altre coppie presenti nelle vicinanze. Di regola, un certo numero di doppini viene riunito e avvolto in uno schermo protettivo a formare un cavo. Una coppia di fili costituisce un singolo collegamento di comunicazione. Il doppino intrecciato non schermato (UTP) viene comunemente utilizzato per le reti all’interno di un edificio.
- Cavo coassiale: Costituito da due conduttori di rame, ma questi sono concentrici. Con questa struttura, e grazie a uno speciale isolamento e schermatura, il cavo coassiale può raggiungere alte frequenze di trasmissione. Il cavo coassiale può essere utilizzato come mezzo condiviso vincolato. Più sistemi periferici possono essere connessi direttamente al cavo e tutti ricevono quanto inviato da altri sistemi periferici.
- Fibra ottica: Mezzo sottile e flessibile che conduce impulsi di luce, ciascuno dei quali rappresenta un bit. Una singola fibra ottica può sopportare enormi velocità trasmissive. Tale mezzo è immune all’interferenza elettromagnetica, presenta attenuazioni di segnale molto bassa nel raggio di 100 chilometri ed è molto difficile da intercettare.
- Canali radio terrestri: I canali radio trasportano segnali all’interno dello spettro elettromagnetico. È in grado di attraversare le pareti, fornisce connettività agli utenti mobili e riesce a trasportare un segnale per lunghe distanze. Le caratteristiche dei canali radio dipendono in modo significativo dall’ambiente di propagazione e dalla distanza alla quale il segnale deve essere inviato. L’ambiente determina la perdita di segnale lungo il percorso causata dalla distanza, dall’attraversamento di ostacoli, dalla riflessione sulle superfici o dall’interferenza con altri canali radio o segnali elettromagnetici.
- Canali radio satellitari: Un satellite per le comunicazioni collega due o più trasmettitori terrestri a microonde noti come stazioni terra. Il satellite riceve le trasmissioni su una banda di frequenza, rigenera il segnale utilizzando un ripetitore e trasmette segnali su un’altra frequenza. Nelle comunicazioni si usano due tipi di satelliti: quelli geostazionari e quelli a bassa quota.
Commutazione di pacchetto
Per eseguire compiti, le applicazioni distribuite scambiano messaggi. Possono contenere qualunque cosa il progettista del protocollo desideri. La sorgente suddivide i messaggi lunghi in parti più piccole note come pacchetti. Tra la sorgente e la destinazione, questi pacchetti viaggiano attraverso collegamenti e commutatori di pacchetto. I pacchetti vengono trasmessi su ciascun collegamento a una velocità pari alla velocità totale di trasmissione del collegamento stesso. Quindi, se un sistema periferico o un commutatore inviano un pacchetto di bit su un canale con velocità di R bps, il tempo di trasmissione risulta pari a L/R secondi.
La maggior parte dei commutatori di pacchetto utilizza la store-and-forward. Ciò significa che il commutatore deve ricevere l’intero pacchetto prima di poterne cominciare a trasmettere sul collegamento in uscita il primo bit. Il pacchetto viene ricevuto e verificato, e solo allora viene inoltrato al nodo successivo; ciò implica quindi lo svantaggio che se tra due singoli nodi vi è un ritardo, questo verrà moltiplicato per tutti i nodi che l'informazione dovrà attraversare per giungere a destinazione. Allo stesso tempo, lo store and forward è alla base del funzionamento delle reti a commutazione di pacchetto e consente di raggiungere un'elevata utilizzazione delle risorse di rete, traendo massimo vantaggio dalla multiplazione statistica dei dati.
Ogni commutatore di pacchetto connette più collegamenti. Per ciascuno di questi, il commutatore mantiene un buffer di output per conservare i pacchetti che sta per inviare su quel collegamento. I buffer di output rivestono un ruolo chiave nella commutazione di pacchetto. Se un pacchetto in arrivo richiede l’invio attraverso un collegamento, ma lo trova occupato dalla trasmissione di un altro, quello in arrivo deve attendere nella coda di output. Di conseguenza, oltre ai ritardi store-and-forward, i pacchetti subiscono anche i ritardi di accodamento nei buffer di output. Tali ritardi sono variabili e dipendono dal livello di traffico nella rete. Dato che la dimensione del buffer è finita, un pacchetto in arrivo può trovare il buffer completamente riempito da altri pacchetti che attendono la trasmissione. In questo caso si verificherà una perdita di pacchetto, verrà eliminato o il pacchetto in arrivo o uno di quelli che si trova già in coda.
Ogni sistema periferico ha un indirizzo chiamato indirizzo IP. Ogni pacchetto che percorre la rete contiene nella propria intestazione l’indirizzo della sua destinazione che presenta una struttura gerarchica. Quando un pacchetto giunge a un router nella rete, quest’ultimo esamina una parte dell’indirizzo di destinazione o lo inoltra a un router adiacente. Più specificamente, ogni router ha una tabella di inoltro (forwarding table) che mette in relazione gli indirizzi di destinazione con i collegamenti in uscita. Troviamo la presenza di protocolli di instradamento (routing protocol) specifici che si usano per impostare automaticamente le tabelle di inoltro.
Commutazione di circuito
Oltre alla presenza dei commutatori di pacchetto troviamo anche la presenza dei commutatori di circuito in cui le risorse richieste lungo un percorso per consentire la comunicazione tra sistemi periferici sono riservate per l’intera durata della sessione di comunicazione, a differenza di quella di pacchetto. Le reti telefoniche sono esempi diretti a commutazione di circuito. Gli host sono tutti direttamente connessi a uno dei commutatori. Quando due host desiderano comunicare la rete stabilisce una connessione end-to-end (connessione punto a punto) dedicata a loro.
Confronto tra commutazione di pacchetto e di circuito
I sostenitori della commutazione a circuito ritengono inadatta la commutazione di pacchetto per i servizi in tempo reale a causa dei suoi ritardi end-to-end variabili e non determinabili a priori. I sostenitori della commutazione di pacchetto rispondono che non solo essa offre un maggior utilizzo della lunghezza di banda ma che è anche più semplice. La commutazione di pacchetto risulta più vantaggiosa in quanto:
- Si possono avere più utenti collegati
- Se vi è un solo utente attivo che deve trasferire molti pacchetti impiegherà molto meno tempo in quella a pacchetto in quanto non deve dividere la velocità con nessuno.
Una rete di reti
Nel corso degli anni la rete di reti che forma Internet si è evoluta in una struttura altamente complessa. Per la maggior parte questa evoluzione è stata pilotata da fattori economici e politici più che delle prestazioni. Per comprendere la struttura di rete dell’Internet odierna costruiamo ora una sequenza incrementale di strutture di rete in cui ogni nuova struttura ne sia un’approssimazione migliore.
- Struttura di rete 1: Interconnette tutti gli IPS di accesso con un unico ISP globale di transito. Il nostro ISP globale di transito è una rete di router e collegamenti che non solo copre l’intero globo, ma anche almeno un router prossimo a ognuna delle centinaia di migliaia di IPS di accesso. Naturalmente sarebbe molto costoso per l’ISP globale costruire una rete così estesa. Per averne un profitto dovrebbe far pagare la connettività a ognuno degli ISP di accesso, a un prezzo che rifletta la quantità di traffico che l’ISP di accesso scambia con quello globale. Poiché l’ISP di accesso paga quello globale allora è detto cliente, invece quello globale prende il nome di fornitore. Se tuttavia un’azienda costruisse e gestisse un ISP globale che si rilevasse vantaggioso, allora altre aziende si costruirebbero il proprio ISP globale di transito e si metterebbero in competizione con quello originario. Passiamo alla struttura di rete 2.
- Struttura di rete 2: Gli ISP di accesso connessi a uno dei provider globali di transito non potrebbero comunicare con un ISP di accesso connesso a un altro provider globale di transito. Nella realtà, sebbene alcuni ISP abbiano una copertura globale impressionante, nessun ISP è presente in ogni città al mondo. Al contrario in ogni regione può esservi un ISP regionale al quale tutti gli ISP di accesso della regione si connettono. Ogni ISP regionale si connette a un ISP di primo livello. Un ISP di accesso può anche connettersi direttamente a un ISP di primo livello e in tal caso lo paga direttamente. Quindi c’è una relazione cliente-fornitore a ogni livello della gerarchia. Tale gerarchia a molti livelli ci fa passare alla struttura di rete 3.
- Struttura di rete 3/4: Andiamo ad aggiungere i PoP (point of presence) i quali esistono in tutti i livelli della gerarchia tranne che in quello degli ISP di accesso. Un PoP è un gruppo di router vicini tra loro nella rete del provider, tramite il quale gli ISP clienti possono connettersi al fornitore. Qualsiasi ISP, tranne quelli di primo livello, può scegliere la modalità multi-home che consiste nel connettersi a uno o più ISP fornitori. Per ridurre i costi, una coppia di ISP vicini e di pari livello gerarchico può fare uso di peering, cioè connettere direttamente le loro reti in modo che tutto il traffico tra di esse passi attraverso una connessione diretta piuttosto che transitare da un intermediario. In questa modalità nessun ISP effettua pagamenti all’altro. Utilizzando queste connessioni un’azienda può creare un IXP (Internet exchange point), un punto d’incontro dove più ISP possono fare peering tra di loro.
- Struttura di rete 5: Infine ci basta aggiungere i content provider networks per giungere a una rappresentazione come mostrato in figura.
Ritardi, perdite e throughput nelle reti a commutazione di pacchetto
Un pacchetto parte da un host, passa attraverso una serie di router e conclude il viaggio in un altro host. A ogni tappa, il pacchetto subisce vari tipi di ritardo a ciascun nodo del tragitto. I principali tipi di ritardo sono il ritardo di elaborazione, il ritardo di accodamento, il ritardo di trasmissione e il ritardo di propagazione, che complessivamente formano il ritardo totale di nodo.
- Ritardo di elaborazione: Il tempo richiesto per esaminare l’intestazione del pacchetto e per determinare dove dirigerlo fa parte di tale ritardo. Questo può anche includere altri fattori, tra i quali il tempo richiesto per controllare errori a livello di bit.
- Ritardo di accodamento: Una volta in coda, il pacchetto subisce tale ritardo mentre attende la trasmissione sul collegamento. La lunghezza per uno specifico pacchetto dipenderà dal numero di pacchetti precedentemente arrivati, accordati e in attesa di trasmissione. Se la coda è vuota e non è in corso la trasmissione di un altro pacchetto, il ritardo di accodamento sarà nullo.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.