Estratto del documento

Appunti di Giuseppe Ferrara del corso di reti di calcolatori 1

Tenuto dal Prof. A. Pescapè. Le slide sono a cura del professore e sono inserite al solo scopo di illustrare meglio i concetti. Questi appunti non sostituiscono il libro di testo o il corso ma vogliono essere solo un’integrazione.

Introduzione alle reti di calcolatori

25 set. 18

Inizialmente il mondo dell’informatica era orientato verso mainframe e super computer sempre più grandi e potenti. Con l’avvento dei personal computer si inventò un modo per poter permettere agli elaboratori di comunicare, nascono le prime reti di calcolatori.

Attorno agli anni 2003-4 si inizia a scoprire la condivisione dell’informazione, condivisione delle risorse, quindi la possibilità di condividere tramite la rete le risorse hardware, software e dati. Questo ha consentito alle compagnie di risparmiare sull’hardware che veniva condiviso (una stampante ad ufficio anziché una per ogni scrivania) oltre alla possibilità di velocizzare i tempi di trasmissione e di elaborazione condividendo informazioni e potenza di calcolo.

Un altro motivo per cui tutto è diventato distribuito è che l’affidabilità è migliore nei sistemi distribuiti rispetto ai sistemi centralizzati, infatti il fallimento di un singolo elemento della rete non compromette l’intero sistema, ma al più lo rallenta, cosa diversa rispetto al fallimento di una parte di un supercomputer. Anche l’approccio distribuito ha i suoi problemi e per questo alcuni sistemi sono ancora sviluppati con un approccio centralizzato (pochi e specifici).

Architettura delle reti

Gli elementi alle estremità della rete si chiamano end-system o host, e sono i dispositivi su cui girano programmi applicativi di vario tipo come PC, laptop, smartphone, … L’architettura dei programmi deve essere o di tipo Client-Server o di tipo P2P.

L’architettura Client-Server prevede due tipi di elementi, il client che richiede servizi e il server che li fornisce. Non accade mai che un server invii delle informazioni di sua spontanea volontà, tutto ciò che invia deve essere necessariamente richiesto.

L’architettura P2P invece è formata da dispositivi detti peer. I peer si scambiano dati tra loro. Un esempio di sistema P2P è il torrent. Quando voglio scaricare un film da torrent scarico un file da un motore di ricerca che contiene gli identificativi di chi è già in possesso del film. Poiché a me serve il film tramite il software il mio PC richiede il film a un server che contiene gli indirizzi corrispondenti agli identificativi che hanno il film e gli dice di inviarmelo, quindi non sono io a richiederlo, altrimenti sarebbe client-server.

Componenti della rete

I nodi intermedi di una rete sono gli apparati che sono dispositivi tra di loro interconnessi e possono essere modem, router, access point, hub, …

Gli archi di una rete (collegamenti) definiscono i supporti trasmissivi che realizzano le interconnessioni. Questi supporti possono essere doppini in rame, fibre ottiche, collegamenti satellitari, …

L’infrastruttura di una rete può essere divisa in due grosse categorie:

  • Reti di accesso
  • Reti di backbone

Le reti di accesso si dividono in due altre categorie, a seconda della natura fisica:

  • Tecnologie wired (cablate)
  • Tecnologie wireless (senza fili)

Esse sono la parte finale della rete, che è collegata con i dispositivi host. Le reti di backbone sono le dorsali vere e proprie della rete, si collegano alle reti di accesso e sono strutturate in sottoreti tra di loro interconnesse. Sono la parte centrale della rete, costituite solo da collegamenti tra apparati.

Tipi di reti

27 set. 18

È possibile arrivare da una rete di accesso ad un’altra mediante i backbone. Esistono due tipi di reti, a commutazione di pacchetto e a commutazione di circuito.

Nella comunicazione a commutazione di circuito si chiede il setup della rete, quindi viene instaurato il circuito e si procede allo scambio dei dati. In questo paradigma, che è il modello con il quale funziona la telefonia via cavo, si instaura un vero e proprio collegamento diretto mediante lo spostamento fisico di ponti che chiudono il circuito, in effetti quello che si ottiene è il lavoro automatizzato dei centralini di una volta.

Il traffico su una rete telefonica è composto da due parti, il traffico di signaling che corrisponde all’atto della composizione del numero di telefono, cioè quando si richiede la composizione del circuito, e il traffico di payload che è il flusso di dati, ovvero la chiamata telefonica.

Commutazione a pacchetto

La commutazione a circuito non è efficiente per il modello di internet perché il flusso di dati non è continuo e la commutazione a circuito è pensata per realizzare un flusso di dati continuo. La natura discontinua della trasmissione di dati digitali può essere utilizzata per far sì che flussi differenti possano condividere la stessa connessione. Questo è il principio alla base della commutazione a pacchetto.

Un pacchetto è una porzione di bit di una dimensione massima prefissata. Alla parte payload, che contiene i dati effettivi che si vogliono trasmettere, si aggiunge una parte, header, che serve ai fini della identificazione e della gestione dei pacchetti di bit e che contiene tutte le informazioni necessarie alla trasmissione e alla rielaborazione.

Un file infatti viene scomposto in pacchetti e, per essere utilizzato, deve essere riassemblato correttamente. L’header contiene informazioni del tipo:

  • Indirizzo sorgente
  • Indirizzo destinazione
  • Numero identificativo di pacchetto (1 di 38 o 4 di 56 ad esempio)

E altre informazioni che scopriremo più avanti. L’header rappresenta l’overhead della comunicazione tra i due dispositivi. Ogni nodo intermedio (apparato) riceve un pacchetto sull’interfaccia e leggendo le informazioni sull’header instrada correttamente il pacchetto lungo la rete per farlo arrivare alla giusta destinazione.

Instradamento e qualità del servizio

L’algoritmo dell’instradamento dei pacchetti è basato su un modello stateless, ovvero non si sa nulla dello stato, in questo modo non si fanno né calcoli né previsioni e la trasmissione è più veloce possibile. L’instradamento avviene da parte dei router che si limitano a leggere dall’header le informazioni sulla destinazione e instradano il pacchetto sull’interfaccia corretta.

Ogni nodo si limita a conoscere solo il next stop del pacchetto, non sa quale itinerario ancora dovrà affrontare. L’instradamento può non essere identico per più pacchetti con la stessa coppia sorgente-destinazione, ma non avviene in modo casuale, i nodi possono decidere sulla base dello stato della rete la strada che il pacchetto dovrà fare.

La commutazione di pacchetto presenta problemi come la possibilità di perdere pacchetti e il ritardo dovuto a eventuali code che si fermano nei buffer dei router. La qualità del servizio di una rete si misura in base a:

  • Ritardo della consegna dei pacchetti
  • Throughput (velocità con cui i dati realmente viaggiano)
  • Loss-rate: probabilità che un pacchetto venga consegnato a destinazione
  • Jitter: variazione temporale del ritardo

Il jitter crea i problemi più grandi soprattutto nelle applicazioni multimediali, è determinato da fattori come:

  • Tempo di elaborazione nel nodo dovuto a operazioni come controllo errori, determinazione del link di uscita ecc…
  • Tempo di attesa nelle code dei router
  • Tempo di trasmissione su ciascun link
  • Tempo di propagazione sulle linee

È possibile creare una rete a circuito virtuale su una rete a commutazione a pacchetto, quindi impongo prima la strada che ogni pacchetto prenderà, ma il modello è sempre a commutazione a pacchetto. Le informazioni su eventuali circuiti virtuali che il pacchetto deve attraversare sono contenute nell’header.

Tipologie di rete

La tipologia di rete varia in base al numero di dispositivi connessi e alla dimensione. Più è grande più ha dispositivi ma la capacità di banda è minore. Oggigiorno la differenza di velocità di banda non è così evidente tra i diversi tipi di rete. Tante LAN formano una MAN e tante MAN formano una WAN. Internet è la WAN più grande che esista, la rete di reti più grande.

Per far comunicare due computer si richiedono soluzioni tecniche complesse per una serie di problemi come:

  • Ricezione e Trasmissione fisica
  • Controllo degli errori
  • Controllo di flusso
  • Conversione dei dati
  • Crittografia e sicurezza
  • Sincronizzazione

Un approccio logico è quello che ha condotto al modello a strati, ossia di analizzare tali problematiche singolarmente con il processo “Divide et Impera”.

Modello a strati

28 set. 18

Il modello a strati, con cui è realizzato Internet, è utilizzato anche in altri ambiti di ingegneria, in questo caso agevola la gestione della complessità. Ciascuno strato del modello a livelli è responsabile di compiti ben specifici, ciò significa che tutti i livelli danno per buono che ci sono altri livelli che completano correttamente i compiti a loro demandati. Ogni livello interagisce con il livello immediatamente superiore e inferiore, i salti non sono ammessi. Se voglio modificare un livello, magari per renderlo più efficiente, se l’interfaccia non cambia gli altri livelli non si accorgono di nulla. Ogni livello fornisce servizi al superiore e usa i servizi di quello inferiore.

Il livello fisico definisce le caratteristiche dell’interfaccia Ethernet, ad esempio. Se gli strati sono troppi però il modello diventa troppo complesso, inefficiente e inutilizzabile. La parte che separa uno strato dal successivo si chiama interfaccia, essa definisce i servizi offerti dallo strato inferiore a quello superiore. Il protocollo invece coinvolge le due strati uguali di due macchine differenti, definisce le regole, sintattiche e semantiche, affinché questi possano scambiarsi informazioni. Il protocollo consente la corretta instaurazione, mantenimento e terminazione di una connessione.

Protocollo TCP/IP

Definiamo ad esempio il protocollo stack TCP/IP. È formato in questo esempio da 5 strati:

  • Applicazione
  • Trasporto
  • Reta
  • Data-link
  • Fisico

Consiste in un arricchimento semantico seguito da un impoverimento semantico. Immaginiamo di mandare un messaggio, viene formato un pacchetto dal livello applicativo. Com’è possibile che il messaggio arrivi al destinatario? Il messaggio viene creato sulla base del protocollo da utilizzare, ad esempio TCP/IP o SMTP. Il messaggio viene passato al livello sottostante che si limita ad aggiungere un header, non lavora sul messaggio (information hiding non cifratura), l’header contiene tutte le informazioni del protocollo scelto necessarie al trasferimento. Mediante l’interfaccia viene passato al livello successivo che a sua volta aggiunge il suo header fino al livello fisico dove si muovono i veri e propri bit che arrivano a destinazione.

Per il momento tralasciamo come sia possibile individuare l’interfaccia fisica corretta del dispositivo che deve ricevere il messaggio. Adesso il ricevente deve, a partire dal livello più basso leggere l’ultimo header inserito e sulla base delle informazioni contenute solo lì lo passa al livello corretto, fino ad arrivare all’applicazione installata sull’altro dispositivo che riesce a ricevere il messaggio.

Definizione dei termini

Definiamo adesso un po' di nomi:

  • SAP = Service Access Point
  • SDU = Service Data Unit
  • PDU = Protocol Data Unit

Il primo è il punto di accesso che un servizio di un livello offre ad un servizio di un livello superiore, è l’acronimo dell’interfaccia. La SDU rappresenta il payload che si scambiano due entità appartenenti allo stesso livello, la PDU invece contiene in genere più informazioni in quanto ogni strato, come si vede dalle slide, aggiunge alla SDU una parte di dati, tra i quali quelli che fanno parte dell’header e rappresentano le istruzioni ai livelli equivalenti dell’altra entità per la gestione corretta dei dati.

Modello OSI

Inizialmente ogni brand tecnologico importante aveva creato un protocollo per consentire la comunicazione delle macchine che produceva. Si decise di formare un team incaricato di definire un protocollo standard che però fosse compatibile con le macchine già in commercio. Il risultato fu un modello fallimentare troppo complesso. Il modello in questione è un modello a 7 strati, il modello OSI (Open System Interconnection):

  • Applicazione
  • Presentazione
  • Sessione
  • Trasporto
  • Rete
  • Data link
  • Fisico

Lo standard attualmente in uso è il TCP/IP che è basato su 5 livelli. Nel modello OSI l’intera pila dei 7 livelli è realizzata tipicamente solo negli end-system, mentre nei sistemi intermedi della rete sono realizzati solo fino a 3 livelli, in base alla loro natura:

  • 1 nei ripetitori
  • 2 nei bridge/switch di rete locale
  • 3 nei router

I vari strati funzionano nel seguente modo:

  • Applicazione: è il livello dei programmi applicativi, attraverso i quali l’utente finale utilizza la rete
  • Presentazione: gestisce la sintassi dell’informazione da trasferire, ad esempio effettua conversioni da binario a testo o viceversa
  • Sessione: è responsabile dell’organizzazione, del dialogo e della sincronizzazione tra due programmi applicativi e del conseguente scambio di dati.
  • Trasporto: Fornisce i dati per il trasferimento end to end
  • Rete: gestisce l’instradamento dei messaggi
  • Data Link: ha come scopo la trasmissione affidabile di pacchetti
  • Fisico: si occupa di trasmettere sequenze binarie sul canale di comunicazione

Rete Internet e il modello TCP/IP

Il modello TCP/IP è simile a quello OSI solo che i livelli 1-2 e 3-4 sono fusi tra loro. Internet nasce dall’esigenza di poter consentire una comunicazione anche in caso di bombardamento. Scherzi a parte, per poter spiegare meglio questo concetto dobbiamo fornire un contesto storico, ci troviamo poco dopo la seconda guerra mondiale. Chiaramente lo stato delle persone tendeva verso il pensiero dello scoppio di una terza guerra mondiale, che per fortuna, almeno finora non è mai scoppiata.

Pensiamo ora alla prima cosa che viene bombardata quando un paese attacca un altro: i ponti. L’abbattimento dei ponti è importante perché interrompe vie di comunicazione imponendo il percorso di vie alternative, se disponibili e comunque limita o rende impossibile la ricezione e invio di provviste e approvvigionamenti vari.

Per come funziona il paradigma di commutazione a circuito visto in precedenza, se distruggo fisicamente il circuito, ma anche in caso di malfunzionamento ad un nodo, il collegamento (rete telefonica in questo caso) è impossibile. Con quest’esigenza viene richiesto a 3 università di sviluppare, dopo aver dimostrato il funzionamento della rete a commutazione a pacchetto con la teoria delle code, una rete Datagram. La rete siffatta avrebbe consentito agli Stati Uniti di poter comunicare anche in caso di rottura o malfunzionamento di nodi o collegamenti della rete, a patto che ci fosse ancora almeno un percorso disponibile tra la sorgente e la destinazione. Nasce così la prima rete militare che poi si è evoluta in quella che noi conosciamo come Internet e che è la più grande rete di reti.

Il TCP/IP nasce dall’esigenza di interconnettere le reti interne delle università e dei paesi (che avevano collegamenti a 56kbps). Nasce quindi la prima rete a livello mondiale, grazie anche alla diffusione del TCP/IP nel SO gratuito Unix.

Che cos'è internet?

Da un punto di vista infrastrutturale la rete è formata seguendo un modello gerarchico. Il principio è che l’utente finale è connesso ad un provider che fornisce connettività locale, che a sua volta è connesso ad un provider che fornisce connettività nazionale, a loro volta sono connessi alle reti di backbone che sono connesse tra di loro. Questo da un punto di vista logico (così era inizialmente) perché oggi molte reti fisiche appartengono alla stessa entità burocratica che possiede le infrastrutture. (TIM ad esempio).

Sviluppo della rete e risoluzione dei problemi

2 ott. 18

Con questo modello il pacchetto inviato da una macchina attraversa diverse reti. In particolare uno dei problemi che si vuole cercare di risolvere è il ritardo e la lentezza della rete, specialmente in zone poco sviluppate. Dato che un pacchetto che parte da un generico host, per arrivare ad un altro deve attraversare tutte le reti di reti, un modo per ridurre i tempi di risposta è partire da metà percorso. Sembra una soluzione ovvia ma gli OTT (es Google, Facebook, …) hanno i loro datacenter collegati direttamente ai NAT (al centro della slide) e quindi a pochi passi da una dorsale, evitando dunque il passaggio attraverso la prima rete locale e nazionale. Questo ha consentito di favorire la user experience dei loro servizi e di migliorarla ai residenti in zone poco collegate.

Lo sviluppo della rete varia come lo sviluppo della rete ferroviaria o aeroportuale. I rettangoli o i punti gialli che rappresentano le università coincidono con gli snodi che vanno poi a connettere la rete interna delle università.

Anteprima
Vedrai una selezione di 10 pagine su 129
Appunti del corso di Reti di Calcolatori 1 Pag. 1 Appunti del corso di Reti di Calcolatori 1 Pag. 2
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 6
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 11
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 16
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 21
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 26
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 31
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 36
Anteprima di 10 pagg. su 129.
Scarica il documento per vederlo tutto.
Appunti del corso di Reti di Calcolatori 1 Pag. 41
1 su 129
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giuseppeferrara96 di informazioni apprese con la frequenza delle lezioni di Reti di calcolatori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Pescapè Antonio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community