Che cosa è la rete internet?
La rete internet non è altro che un servizio di interconnessione che permette la connessione logica tra vari processi applicativi. La rete internet è formata principalmente da due blocchi principali: i nodi e i collegamenti.
Nodi e collegamenti
I nodi sono quei dispositivi che si scambiano informazioni mediante dei mezzi trasmissivi, essi sono dei computer, server, telefoni ecc. I mezzi trasmissivi o collegamenti (in inglese link) sono quegli strumenti che permettono l’interconnessione tra i vari nodi come la fibra ottica, cavo coassiale, doppino telefonico, canali radio ecc. Questi collegamenti possono essere principalmente diretti o indiretti.
Reti dirette e indirette
Diretti vuol dire che i due nodi della rete sono connessi direttamente tra di loro, cioè che è presente un mezzo trasmissivo che li collega direttamente come le reti punto a punto, a stella. Mentre le reti indirette sono quelle reti che utilizzano dei protocolli di comunicazione per condividere il mezzo trasmissivo tra più nodi come le reti a commutazione di pacchetto o di circuito. In queste reti sono presenti dei nodi intermedi che inoltrano i pacchetti da un calcolatore all’altro.
Commutazione di pacchetto
La maggior parte dei router utilizzano una tecnica chiamata store and forward per inviare i pacchetti in entrata. Questo vuol dire che il router deve avere ricevuto tutto il pacchetto prima di poterlo inviare. Questo implica due principali tipi di problemi. Il primo è il ritardo di accodamento e il secondo è la perdita di pacchetto.
Il router ha un buffer in cui memorizza tutti i pacchetti in entrata e il ritardo di accodamento si viene a generare quando c’è molto traffico in entrata nel router e quindi i pacchetti devono aspettare l’invio di altri prima di loro, mentre la perdita di pacchetto si verifica quando un pacchetto arriva all’interno di un router che ha già il buffer pieno. In questo caso, non potendolo memorizzare, il router cancella il pacchetto.
Commutazione di pacchetto: circuito virtuale e datagram
Abbiamo visto che i router ricevono i pacchetti e li inviano in una porta di uscita, ma come decide su che porta inviarli e come fa a sapere dove inviare il pacchetto? Ogni pacchetto viene incapsulato e gli viene aggiunta una testa che contiene un indirizzo IP. Questo indirizzo IP indica univocamente il destinatario all’interno della rete. Ogni router ha una tabella chiamata tabella di routing in cui associa una porta di uscita ad un determinato indirizzo IP. Quando il pacchetto arriva, il router controlla l’header del pacchetto e decide poi su che porta inoltrarlo. Questa decisione viene presa mediante diversi protocolli quali protocolli di routing ma quella più usata consiste nel cercare la strada più corta tra il router verso una determinata destinazione per poi formare la tabella di inoltro o routing.
Commutazione di pacchetto di tipo circuito virtuale
Quella a circuito virtuale simula la commutazione di circuito mediante la commutazione di pacchetto, cioè i pacchetti, una volta trovato il percorso e stabilita la connessione, seguono sempre lo stesso percorso e i router memorizzano un codice che identifica ogni circuito virtuale. Inoltre, ai pacchetti viene accodato il VCI (Virtual Circuit Identifier) che identifica a quale circuito fa parte.
Commutazione di pacchetto di tipo datagram
Nella commutazione di pacchetto di tipo datagram i pacchetti non seguono necessariamente lo stesso percorso e i router possono decidere di inviare pacchetti dello stesso servizio su porte diverse. Questo implica che i pacchetti potrebbero arrivare in ordine diverso e riordinarli sta al destinatario che deve anche gestire il caso in cui dei pacchetti non arrivano quindi la gestione degli errori. Questo privilegia la consegna rapida rispetto a quella affidabile.
Commutazione di circuito
Un'altra tecnica di commutazione dei pacchetti è la commutazione di circuito. Nella commutazione di circuito le risorse impiegate per la trasmissione dell'informazione sono mutue quindi non possono essere usate per l’invio di altro sulla stessa linea e cioè vengono riservate fino alla fine della sessione di comunicazione. Nella commutazione di circuito quando un nodo terminale deve inviare dei messaggi ad un altro, si crea un circuito tra i due e queste risorse rimangono bloccate fino a che la comunicazione termina. Generalmente i router hanno più vie di input e più linee di entrata quindi se si viene a generare una commutazione di circuito le linee interessate non potranno essere più usate fino alla fine di quella comunicazione.
Multiplexing
Nella trasmissione dell’informazione si pone il problema di diversi circuiti che sfruttano lo stesso mezzo di collegamento. Questo viene reso possibile tramite le tecniche di multiplazione o multiplexing. Ci sono tre tipi di multiplexing: FDM (Frequence Division Multiplexing), TDM (Time Division Multiplexing) e WDM (Wavelength Division Multiplexing).
FDM (Frequence Division Multiplexing)
Nella FDM ad ogni circuito viene assegnato un intervallo di frequenza su cui può comunicare. Questo permette di avere un flusso continuo di dati utilizzando una parte della banda. Viene utilizzato nelle TV o nelle radio. Generalmente viene assegnato un intervallo di 4 KHz per la trasmissione.
TDM (Time Division Multiplexing)
Nella TDM ai circuiti viene assegnato uno slice di tempo in cui possono sfruttare il canale. In questo tipo di mutilazione, il canale viene totalmente occupato da un unico circuito sfruttandone l’intera ampiezza di banda. La mutilazione TDM può essere effettuata in maniera sincrona o statistica. In quella sincrona lo slice di tempo assegnato è statico quindi è sempre lo stesso mentre in quella statistica lo slice di tempo deve essere richiesto e non è fisso.
WDM (Wavelength Division Multiplexing)
La WDM è il tipo di mutilazione utilizzato per la fibra ottica, che consiste nel modulare le comunicazioni su diverse lunghezze d’onda della luce laser.
Tipologie di reti
Le reti si possono suddividere in: PAN, LAN, MAN, WAN.
- PAN (Personal Area Network): Reti a breve gittata che generalmente utilizzano mezzi trasmissivi come WiFi, Bluetooth o onde radio a corto raggio. Utilizzata per reti nell’arco della singola persona.
- LAN (Local Area Network): Reti che si possono estendere per campus, case, edifici senza passare per suoli pubblici. Generalmente vengono usati rame misto a WiFi e la velocità si aggira tra i 10 ai 1000 Mbps.
- MAN (Metropolitan Area Network): Reti a livello cittadino che utilizzano un misto di fibra sulle backbone e rame nei punti di accesso. Generalmente sono sviluppate in accordo con enti locali.
- WAN (Wide Area Network): Reti utilizzate a livello nazionale o più ampiamente a livello internazionale. Velocità di trasferimento molto elevate. Comunicazione con la commutazione di pacchetto e mezzi trasmissivi misti tra fibra, rame, satellitari, radio ecc.
Internet: una rete di reti
Quindi internet non è altro che una rete di reti, cioè tante reti diverse interconnesse tra di loro per scambiarsi dati. Questa connessione viene fornita mediante dei provider chiamati ISP.
Architettura gerarchica di internet
L’architettura di internet è essenzialmente gerarchica, cioè ci sono ISP di primo livello che sono i provider di internet più grandi, cioè a livello nazionale o continentale. Attualmente sono una dozzina e si possono interconnettere tra di loro. Ad essi sono collegati gli ISP di secondo livello. Essi acquistano i servizi dagli ISP di primo livello con tariffe a consumo. Gli ISP di secondo livello possono collegarsi a più ISP di primo livello, in maniera tale da continuare ad offrire il servizio anche quando uno degli ISP di primo livello non è funzionante. Gli ISP di secondo livello sono quelli nazionali o distrettuali e ne esistono centinaia. Alla fine di questa gerarchia si trovano gli ISP di terzo livello o Last Hope Network che sono i provider più vicini alle reti finali e a loro volta richiedono il servizio agli ISP di secondo livello mediante tariffe a consumo. Questi provider sono di tipo locale quindi sono quelli più vicini alle reti ultime.
Indirizzi e routing
Indirizzo: L’indirizzo è una sequenza di bit o byte che identifica univocamente un nodo all’interno della rete.
Instradamento o Routing: Tecniche utilizzate per determinare su quali nodi inoltrare i messaggi basandosi sull'indirizzo.
Tipi di indirizzi
- Unicast: Identifica un singolo nodo.
- Broadcast: Tutta la rete.
- Multicast: Un sottoinsieme dei nodi della rete.
Ritardi di trasmissione nelle reti a commutazione di pacchetto
Quando un nodo terminale invia un pacchetto sulla rete, questo prima di arrivare al nodo destinatario subisce dei ritardi derivati dal tipo di mezzo trasmissivo, dai router ecc. Ci sono essenzialmente quattro tipi di ritardo: ritardo di elaborazione, ritardo di accodamento, ritardo di trasmissione e ritardo di propagazione.
Tipi di ritardo
Ritardo di elaborazione: Quando un pacchetto arriva in un router, questo viene analizzato per determinare su quale porta inoltrarlo (Instradamento). Questa operazione genera un delay in cui il pacchetto rimane fermo e questo ritardo è nell’ordine di microsecondi.
Successivamente all’elaborazione il pacchetto viene mandato nel buffer di quella determinata porta ed è qui che si genera il ritardo di coda o queueing delay. Il tempo di attesa dipende da quanto è intasata quella porta e quindi da quanti pacchetti in coda precedono il nostro pacchetto. Generalmente il delay è nell’ordine di millisecondi.
Ritardo di trasmissione: Una volta che il pacchetto viene spedito da un router ad un altro si definisce ritardo di trasmissione il tempo effettivo che il pacchetto ci mette dalla porta di uscita di uno alla porta di entrata dell’altro. Si definisca n come il numero di bit del pacchetto e con R la velocità di trasferimento del mezzo trasmissivo in bps (Bit per secondi). Il ritardo di trasmissione è uguale al numero di bit del pacchetto fratto la velocità di trasferimento del collegamento.
Ritardo di propagazione: Una volta immesso il pacchetto nel mezzo trasmissivo, questo viaggia alla velocità effettiva di trasmissione del mezzo. Questa velocità dipende dal tipo di mezzo trasmissivo quali fibra ottica, rame, onde radio ecc. Generalmente nei mezzi trasmissivi la velocità è tra i 200k km/h fino alla velocità della luce e questo ritardo viene calcolato dividendo la distanza tra i due router con la velocità di propagazione del mezzo trasmissivo.
Velocità di trasmissione
Throughput: Il throughput è l'effettiva velocità di trasmissione dei dati da un nodo a ad uno b in uno specifico momento di tempo, cioè il numero di bit trasmessi in un determinato momento di tempo. La larghezza di banda o bandwidth invece è il numero di bit totali trasmissibili dal collegamento in una unità di tempo. Il throughput è il numero di bit effettivamente inviati in un'unità di tempo mentre la larghezza di banda è il numero di bit trasmissibili sul collegamento in una determinata unità di tempo.
Latenza: Round trip time
Il round trip time è la latenza totale effettiva che si verifica nella trasmissione di pacchetti da un host ad un altro. È possibile vedere il round trip time tramite il ping ed il traceroute. Il ping calcola il tempo che il pacchetto ci mette per arrivare a destinazione e tornare indietro mentre il traceroute calcola i RTT per ogni nodo intermedio per cui passa il pacchetto.
Architettura a livelli
Internet è basato su una architettura a livelli dove ogni livello svolge una specifica funzione. Questo ne permette la riduzione della complessità e l’aumento della flessibilità, in quanto una modifica di un protocollo di un determinato livello non implica la modifica di altri protocolli di livelli successivi. Questa architettura a livelli è gerarchica, questo vuol dire che un livello N riceve informazioni da un livello N - 1 e poi passa al suo livello immediatamente successivo N + 1 tramite le interfacce appropriate di comunicazione. Nell’internet questa struttura viene definita pila di protocolli o stack protocol. Un protocollo non è altro che un accordo tra i partecipanti su come svolgere delle determinate azioni e in questo caso lo scambio di informazioni. Ogni protocollo di livello N di un calcolatore permette la comunicazione con lo stesso livello N di un altro calcolatore e questi livelli vengono detti livelli paritari.
Per protocollo di rete si indica la definizione del formato (sintassi) e del significato (semantica) dei dati scambiati tra più entità. Una famiglia di protocolli non è altro che un insieme di protocolli (esempio protocollo TCP/IP) messi insieme per scopi di utilizzo.
Come vengono gestiti i messaggi nella pila di protocolli? Un messaggio si dice che scende la pila quando deve essere inviato e ogni protocollo di N livello prende il messaggio dal livello precedente, lo incapsula ponendogli un header e poi lo inoltra al protocollo di livello successivo. Quando un’informazione risale la pila dei protocolli, ogni protocollo prende l’informazione dal livello inferiore, elabora l’header corrispondente al suo livello, lo rimuove e poi lo inoltra al livello superiore. Il payload è il contenuto del pacchetto e l’header è l’intestazione posta al messaggio ed è posta incapsulando il messaggio ad ogni livello della pila di protocolli.
Pila di protocolli di internet
La pila di protocolli utilizzata in internet è formata da cinque livelli e questi sono, partendo dall’alto verso il basso: Livello di applicazione, Livello di trasporto, livello di rete, livello di connessione e livello fisico.
Il tipo di pila su cui si basa internet è la famiglia ISO/OSI. ISO è il nome dell’organizzazione che lo ha progettato mentre OSI significa Open System Interconnection. Questo tra il layer di trasporto e applicazione contiene altri due layer che sono quello di sessione e di presentazione.
Livello di applicazione
Il livello di applicazione è il livello definito dagli sviluppatori dell’applicativo in quanto definiscono come si devono scambiare i dati.
Livello di presentazione
Nel livello di presentazione si definisce il formato dei messaggi, quindi ci si cura della comprensibilità dei messaggi. In questo livello vengono gestiti anche meccanismi di sicurezza quali cifratura.
Livello di sessione
Nel livello di sessione si definiscono meccanismi di sincronizzazione tra le due parti. Inoltre, vengono definite le tecniche di autenticazione.
Livello di trasporto
In questo livello si definisce la comunicazione end to end tra le due controparti. Di questo livello fanno parte il protocollo TCP e UDP. Il TCP è un protocollo orientato alla connessione quindi in questo livello si definiscono tutti i meccanismi per evitare la perdita di pacchetti e una connessione affidabile e stabile mentre UDP è un protocollo non orientato alla connessione e che predilige la velocità di trasmissione all’affidabilità della comunicazione. Qui l’informazione è chiamata segmento.
Livello di rete
Di questo livello fa parte il protocollo IP che nella rete internet è unico quindi non ci sono altri protocolli che lavorano in questo livello. Qui ci si occupa delle tecniche di instradamento in una rete commutata che essa sia a commutazione di pacchetto o di circuito. In questo livello viene accodato al payload l’indirizzo di destinazione detto indirizzo IP in quanto è l’indirizzo utilizzato dal protocollo IP (datagramma).
Livello di collegamento o data link
In questo livello i protocolli lavorano per assicurare il passaggio tra singoli collegamenti all’interno della rete. A differenza del TCP che si occupa di assicurare i collegamenti tra gli applicativi, il livello di collegamenti si occupa di effettuare l’invio dei frame tra collegamenti diretti quali due nodi intermedi della rete come i router. Protocolli diversi su questo livello prediligono funzionalità diverse come la consegna affidabile (frame).
Livello fisico
Il livello fisico è quello che si occupa di gestire l’invio dei singoli bit dei frame tra connessioni dirette. I protocolli che lavorano su questo livello sono diversi e dipendono dal tipo di mezzo trasmissivo utilizzato. Ci sono protocolli che permettono l’invio dei bit tramite doppino, fibra ottica, coassiale, onde radio, satelliti ecc.
Nodi nella pila di protocolli
Non tutti i nodi della rete consumano tutta la pila di protocolli infatti nodi intermedi quali router o bridge consumano solo una parte della pila. I router arrivano a consumare fino al livello 3 cioè di rete in quanto ha bisogno dell’indirizzo IP del destinatario per instradare il datagramma verso una porta di uscita tramite le tabelle di instradamento mentre i bridge consumano solo i primi due livelli. Un dispositivo che lavora solo sul livello fisico è il repeater che non fa altro che replicare i segnali sul mezzo trasmissivo in entrata su un altro mezzo trasmissivo in uscita.
Livello di applicazione
Come abbiamo visto nella sezione precedente, il livello più alto della pila di protocolli che caratterizza internet è proprio il livello di applicazione che è quello che dipende direttamente dagli sviluppatori. Ogni sviluppatore definisce i propri protocolli per fornire servizi agli utenti. Alcuni dei protocolli sono diventati molto diffusi diventando dei veri e propri standard come per esempio l’FTP o File Transfer Protocol, HTTP o Hyper Text Transfer Protocol, DNS o Domain Name System o SMTP cioè Simple Mail Transfer Protocol. Quasi tutti questi protocolli si basano su un’architettura client-server. Esiste un’altra architettura molto diffusa quale P2P o Peer to Peer.
Architettura client-server
L’architettura client-server è caratterizzata da due parti: il client e il server. Il client è quello che richiede la connessione e che richiede il servizio mentre il server è colui che si mette in ascolto di richieste, le accetta e successivamente risponde al client fornendo il servizio richiesto.
Architettura P2P
Nel modello P2P ogni host può comunicare direttamente con un altro senza la necessità della presenza di un server che fornisce il servizio. In questo modello i due host possono fare sia da client che da server in base al momento e all’operazione che si deve effettuare. Ci sono dei modelli ibridi in cui viene usata un’architettura P2P con dei server centralizzati che tengono traccia degli indirizzi degli host, ma lo scambio...
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.
-
Riassunto esame Reti di calcolatori e internet, Prof. De Paola Alessandra, libro consigliato Reti di Calcolatori e …
-
Architettura Internet - Concetti fondamentali riassunti
-
Riassunto esame Reti e internet, Prof. Angelo Romeo, libro consigliato Reti di calcolatori, Teneunbaum
-
Riassunto esame Reti di calcolatori, prof. Erra, libro consigliato Reti Di Calcolatori E Internet, Ross