GENERALITÀ SULLE RETI
I servizi di telecomunicazioni sono un insieme di procedure che rendono possibile trasportare e utilizzare a
distanza informazioni. Queste hanno dei requisiti:
● probabilità di blocco: il servizio richiesto deve esserci e funzionare
● tempo di ritardo: tempo (valor medio o di picco) che la rete impiega a trasportare le unità informative
● jitter: deviazione standard del ritardo
● velocità media: frequenza di cifra media con cui la rete trasporta le informazioni
● probabilità di perdita/errore: unità informative sovrastate dal rumore che definisce l’affidabilità della
rete assieme alla probabilità di blocco.
La rete di telecomunicazioni è l'insieme degli apparati e dei dispositivi che intervengono nel trasporto di
informazioni.
Le sorgenti possono essere CBR (constant bit rate) o VBR (variable bit rate).
Topologia delle reti
Una rete è rappresentata da un grafo composto di nodi (punto in cui vengono smistate le unità informative
verso la destinazione) e rami (sistema che consente il trasporto).
CHAIN: le informazioni seguono un percorso definito. I nodi possono essere aggiunti o
tolti solo in testa o in coda.
RING: il percorso delle informazioni è predefinito e può avvenire in senso orario o
antiorario. I vantaggi sono la facilità di costruzione e la mancata collisione durante la
trasmissione, mentre gli svantaggi sono l'interruzione dovuta all’aggiunta o rimozione di
un nodo, il girare all'infinito di un pacchetto e la saturazione dovuta alle tante copie.
TREE binario o meno: il percorso dipende dalla struttura del grafo che richiede un nodo
radice. Lo svantaggio sta nel caso di guasto di un nodo che impedisce la
comunicazione tra quelli a monte e a valle.
MESH: collegamenti generici tra nodi. È un vantaggio l’avere più strade da poter
percorrere in quanto ovvia i problemi di guasti e rami occupati (affidabilità), ma
comporta dei costi di produzione maggiori. La mesh completa è usata solo se
strettamente necessario.
STAR: ogni nodo è collegato a quello centrale quindi è usata nelle reti locali. È facile
aggiungere/rimuovere dei nodi, ma se smette di funzionare il centro, non va più nulla.
BUS: ogni informazione scambiata tra i nodi viene inviata sul bus, quindi è leggibile da
tutti i nodi. I vantaggi sono la semplicità di aggiungere e rimuovere nodi e la
condivisione, mentre gli svantaggi sono la possibile collisione tra informazioni e
l'interruzione della comunicazione a seguito di un guasto del bus.
Schema della rete Si compone di rete di accesso che funge sia da mittente che da
destinatario (es: antenna radio da telefono) e rete di trasporto che smista
le informazioni (telefono-antenna-rete-server Google-cablaggio fibra).
Tassonomia delle reti
Per quanto datata, questa tassonomia definisce l'ambito di applicazione delle tecnologie:
● Wide Area Network: reti in area geografica con nessun limite di estensione
● Metropolitan Area Network: reti in area metropolitana estese fino a 100km
● Local Area Network: reti in area locale estese fino a 1-2 km
● Personal Area Network: reti in area personale estese fino a 10-30m.
I canali di comunicazione
Per la trasmissione dei segnali vengono utilizzate le onde elettromagnetiche. In particolare sulle lunghe
distanze è comodo usare il canale radio in quanto è facilmente implementabile, ma è soggetto
all’intercettazione e all’attenuazione dovuta alla presenza di ostacoli. Le onde radio non sono facilmente
predicibili (cammini multipli e ostacoli) e hanno banda limitata rispetto ai cavi. Quindi l’alternativa è un
mezzo guidato: il segnale è costretto in un mezzo fisico come:
● un cavo coassiale
● la fibra ottica: cavo costituito dagli strati concentrici nucleo e mantello in cui si propaga (multimodo
omonomodo) velocemente l’onda luminosa incidente se l’angolo di incidenza è sufficientemente
piccolo.
● il doppino: doppio cavo in rame che forma un circuito chiuso per farci passare la corrente e funge da
passabasso in quanto attenua il segnale ed è soggetto ad interferenze dovute al campo magnetico.
Può essere UTP (Unshield Twisted Pair), S-UTP o STP
Per il trasferimento dell’informazione si tiene conto di:
● tecnica di multiplazione: come la banda disponibile su uno specifico canale di comunicazione possa
essere condivisa tra le diverse unità informative che lo devono attraversare (Frequency Division
ultiplexing (FDM), Time Division Multiplexing (TDM), Wavelength Division Multiplexing (WDM), Code
Division Multiplexing (CDM))
● modalità di commutazione: come le unità informative ricevute da un generico nodo sui suoi canali
entranti siano trasferite attraverso il nodo sui canali uscenti
● architettura di protocolli: regole (o protocolli) secondo cui due nodi di rete possono scambiare
informazioni
Le reti possono essere:
● reti a commutazione di circuito (Circuit Switching): il servizio è composto dalle fasi di instaurazione,
dati e rilascio. Pro: Non sono necessari meccanismi di bufferizzazione presso i nodi di
commutazione (ritardi di accodamento nulli). Contro: Utilizzo inefficiente delle risorse in presenza di
sorgenti a rate fortemente variabile (bursty).
● reti a commutazione di pacchetto (Packet Switching): la banda richiesta per il trasporto delle unità
informative non viene riservata in modo esclusivo. Le unità informative sono divise in pacchetti,
ognuno con un'intestazione (header) contenente informazioni di controllo e un corpo (payload)
contenente i dati trasportati. Pro: elevata utilizzazione delle risorse. Contro: ritardi molto variabili e
difficilmente predicibili.
Queste reti prevedono i servizi a circuito virtuale (connection oriented) in cui la comunicazione
avviene in 3 fasi (setup, data exchange, teardown) e l'instradamento è effettuato solo durante il
setup, pertanto tutti i pacchetti vengono instradati lungo lo stesso percorso e i nodi intermedi
effettuano solo lo switching o a datagramma (connectionless) in cui i nodi intermedi effettuano la
decisione di instradamento (routing) per ogni pacchetto e successivamente li commutano
(switching) all'uscita corrispondente.
Il ritardo end-to-end è il tempo che intercorre tra l'invio di una unità informativa da parte di un mittente e il
ricevimento della stessa da parte di un destinatario (in un solo verso in quanto non è detto che i percorsi
coincidano). Si compone di:
● ritardo di trasmissione T =L/C, tempo necessario a inviare i bit dati sul mezzo (come viene usato)
f
● ritardo di propagazione t=d/v, tempo impiegato dai dati per attraversare una porzione della rete
● ritardo di accodamento T , tempo di attesa in coda nel buffer di ricezione (FIFO, se pieno dati persi).
q
È il più difficile da prevedere (sorgenti e come influenzano il traffico), possibile solo con simulazione.
● ritardo di elaborazione T , tempo necessario ad elaborare in un nodo l'unità informativa
p
Il message sequel chart è un diagramma temporale in cui viene rappresentato lo scambio di messaggi tra
le entità coinvolte nel sistema. Nel circuit switching il primo pacchetto
inviato richiede maggiore tempo per
arrivare a destinazione in quanto per ogni
nodo viene messo in coda e poi indirizzato
verso il nodo migliore, mentre i successivi
seguono la stessa strada.
Nel packet switching invece ogni nodo
effettua routing per ogni pacchetto: questo
garantisce maggiore affidabilità (nato
durante la guerra fredda quindi si cercava
di trovare una strada alternativa ed evitare
l’intercettazione).
ll protocollo ISO
I protocolli di comunicazione regolano lo scambio di informazioni tra sistemi (gerarchia = architettura di
protocolli).
Il modello ISO-OSI (Open System Interconnection) nasce per realizzare reti che possano facilmente
intercomunicare fra di loro purché si rispettino delle regole, di modo che tutti ne traggano vantaggio. Con
questo, tutte le reti esistenti sono state ripensate con questo approccio:
● raggruppamento: si separano i problemi comuni in livelli, indicati da nomi o numeri, formati da entità
con il compito di risolvere tali problemi per poi passare i dati ai successivi. Questo permette di avere
aziende e uomini specializzati nella risoluzione di specifiche problematiche.
● stratificazione: i livelli seguono delle gerarchie di modo da identificare regole di interazione
interstrato (interfacce) quanto più semplici e univoche. Il collegamento fra entità in un layer è
virtuale, tranne nel caso del livello fisico, nonché il più basso che ci sia, in cui è reale (cavi).
Il Protocol Data Unit è composto da Protocol Control Information e Service Data Unit e ogni livello elabora i
dati della SDU sfruttando le informazioni contenute nel PCI. L’ISO-OSI effettua encapsulation e
decapsulation, ovvero ogni livello aggiunge (trasmissione) o rimuove (ricezione) un header. Andando
dall’alto verso il basso, ogni livello aggiunge un header, quindi al livello fisico (unico che non aggiunge byte
ovvero pacchetti ma solo bit di controllo) si arriva con molti più header di quanti ne siano stati inviati, quindi
più bit sul canale: questa operazione si chiama encapsulation.
Un servizio può essere orientato (connessione, scambio dati e rilascio) o meno alla connessione e
affidabile (unità ricevute corrette e in ordine) o meno. Il modello ibrido prevede 5 livelli, ognuno connesso
col pari dall’altra parte:
5. Livello di applicazione: fornisce l’interfaccia all’utente per l’accesso al servizio, consente l’interlavoro
di applicazioni che rappresentano dati usando formati diversi, si occupa di trasformare, formattare e
modificare la sintassi dei dati utilizzati e gestisce il dialogo e lo scambio tra le entità del livello (es: posta
elettronica, messaggistica istantanea).
4. Livello di trasporto: si occupa non di come, ma che i pacchetti arrivino. Questo livello gestisce il tubo
virtuale che collega mittente e destinatario e garantisce la multiplazione, ovvero l’invio di più connessioni
dallo stesso mittente allo stesso destinatario, ma con dati differenti (es: più sessioni di ricerca Google) e
la demultiplazione.
3. Livello di rete: si occupa di trovare sempre la strada migliore verso il destinatario, quindi anche di
inertnetworking, ovvero la connessione tra più sistemi
2. Livello di collegamento: si occupa di far arrivare il pacchetto correttamente al nodo successivo più vicino,
collegato fisicamente, quindi si occupa di rivelazione degli errori (nessun algoritmo è efficace), recupero
dei frame persi, controllo del flusso, controllo di accesso al collegamento e organizzazione dei bit in
trame nel minor tempo possibile, pertanto si pone un header in coda in modo che questo possa
controllare la correttezza del pacchetto ricevuto man mano che questi arrivino e confrontare il risultato
finale con l’ultima trasmissione del mittente. Se si riscontra un pacchetto errato, lo si scarta o ne si
richiede la ritrasmissione tramite Automatic Repeat Request o Forward Error Correction.
1. Livello fisico: unico livello in cui non ci sono pacchetti, ma bit. Si occupa di trasferimento e codifica di
questi. Il modello ISO-OSI prevedeva tra applicazione e trasporto i livelli:
● Presentazione: si occupa di trasformare, formattare e modificare la
sintassi dei dati utilizzati
● Sessione: gestisce lo scambio tra entità di presentazione, quindi è utile
nei casi in cui le applicazioni usano diversi modi di trasferimento delle
informazioni, oppure quando occorre partizionare in sequenze più brevi
un lungo scambio di informazioni attraverso una rete poco affidabile.
Ogni livello può effettuare il controllo sugli errori, ma essendo ciascuno
collegato al corrispondente, si cerca di perdere meno tempo percorrendo meno
strada possibile.
Il modello TCP/IP prevede solo 4 livelli in quanto sostituisce Data Link e
Physical con Network Access e Network con Internet: si utilizza solo il
protocollo IP in quanto è stato creato per far comunicare i due sistemi su uno
stesso livello IP (usato oggi), in un momento in cui non c’era bisogno di
collegare tutti, ma solo i computer.
PORTE E SOCKET
Ogni flusso dati in Internet è identificato univocamente da un IP flow, composto da 5 parametri:
● Numero di porta locale
● Indirizzo IP host mittente
● Numero di porta remota
● Indirizzo IP host destinatario
● Tipologia di Protocollo di Trasporto
L'associazione di indirizzo IP e numero di porta è nota anche come socket: astrazione che permette di
definire l’interfaccia tra le applicazioni e la rete. Una coppia di socket è utilizzata per una connessione TCP.
Nel modello TCP si usa il meccanismo client-server, ovvero un sistema di domanda e risposta: un server è
una applicazione in ascolto che aspetta che qualcuno gli chieda un indirizzo.
La IANA ha dedicato le prime 1023 porte a servizi
specifici.
Al livello 4 si possono utilizzare diversi protocolli tra cui:
● UDP: l’User Datagram Protocol fornisce un servizio inaffidabile e non orientato alla connessione che
si occupa solo di multiplexing, né individuazione degli errori, né ordinamento dei pacchetti, ma
questo garantisce la rapidità (es: streaming che usa buffer al livello applicativo).
Un pacchetto si compone di righe da 32 bit, divisi in campi:
○ Source/Destination port: numero di porta associato a mittente/destinatario
○ Length: lunghezza del datagramma (65536 byte), limite MTU dato dal livello fisico
○ Checksum: tecniche di controllo veloce di eventuale presenza di errori sui bit che scorrono in
memoria. Il TCP/IP utilizza delle informazioni del livello 3, costruendo uno pseudo header (in
giallo) e ponendo nel campo checksum (inizialmente nullo) la somma tutte le righe 16 bit a
16 bit complementate a 1 (se tutto corretto tutti 1, ovvero FF)
● TCP: il Transmission Control Protocol fornisce un servizio affidabile, connection-oriented e
full-duplex, quindi si occupa anche di problematiche di flusso (evitare di saturare il buffer del
ricevitore per evitare la perdita di pacchetti e dipende dalla banda) e di congestione end-to-end (si
ha una congestione su un nodo intermedio tra i due end-point su cui esistono più flussi diversi,
problema nato con l’avvento di Internet che si risolve sempre rallentando il flusso di trasmissione). I
pacchetti sono detti segmenti. I byte sono numerati con un intero progressivo a 32 bit detto
sequence number (può non partire da 0). Si dice che ci sia un riscontro cumulativo in quanto il
segnale di ACK contemporaneamente conferma la ricezione fino ad un determinato segmento e
richiede il successivo.
Il pacchetto si compone di righe da 32 bit, divisi in campi:
○ Source/Destination port: numero di porta associato a mittente/destinatario (diverso da UDP)
○ Sequence number: numero di sequenza nel flusso iniziale, proveniente dal livello
applicativo, riferito al primo byte del payload (byte numerati in modo continuo partendo da un
valore casuale). Il vantaggio sta nel poter inviare segmenti di qualsiasi dimensione.
○ Acknowledgement number: numero di sequenza del byte successivo atteso dal ricevitore
(ordine del mittente). Si parla di piggybacking, ovvero la trasmissione di riscontri in pacchetti
che trasportano dati. Questo assume significato solo se la flag ACK ha valore 1.
○ Data offset: numero di righe dell’header TCP, utile a capire se ci sono opzioni (5-15)
○ (4 bit inutilizzati in cui si riconosce la firma del programmatore)
○ Flags: CWR, ECE (usati per l’estensione Explicit Congestion Notification)! URG (legato
all’urgent pointer che ha senso solo se tale flag è settato), ACK (riscontro che dà significato
all’acknowledgement number), PUSH (il ricevitore riceve i dati nel buffer per poi passarli al
livello 5, pertanto se si vuole dare precedenza a qualcosa), RST, SYN e FIN (utili nella
connessione per creazione, chiusura e respingimento)
○ Window: la finestra di trasmissione/ ricezione informa quanti byte il ricevitore è pronto a
ricevere, con lo scopo di non saturare il buffer (intanto che invio può liberarsene dell’altro).
○ Checksum: tecniche di controllo veloce di eventuale presenza di errori sui bit che scorrono in
memoria. Il TCP/IP utilizza delle informazioni del livello 3, costruendo uno pseudo header (in
giallo) e ponendo nel campo checksum (inizialmente nullo) la somma tutte le righe 16 bit a
16 bit complementato a 1 (se tutto corretto tutti 1, ovvero FF). Se errato viene scartato in
quanto l’errore può riguardare il sequence number e lo si richiede in seguito.
○ Urgent pointer: puntatore verso i byte del campo data che sono ritenuti urgenti nel flusso
○ Options: è possibile aggiungere funzioni che l'header non permetterebbe, ma questo
comporterebbe un maggiore dispendio di tempo in relazione all complessità dell’operazione.
○ Data: dati in segmenti
CONNESSIONE con three-way handshake, chiusura e trasmissione dei segmenti
Il client apre la connessione con il server con cui scambia di dati. Se non riceve riscontro, il server
libera le risorse (attacco DDOS).
Mentre la chiusura può essere richiesta da entrambe le parti, anche se solitamente parte dal client.
Può avvenire con 2 mezze chiusure o un accordo in 3 fasi. Per ovviare il mancato ricevimento del
segnale di ACK si stabilisce il Maximum Segment Lifetime (durata segmento nella rete) prima di
rimandare il segnale e chiudere la connessione (non la porta). La macchina a stati
del TCP lato client e
server. (Time_wait =
2 MSL = 1 min)
TRASMISSIONE DEI SEGNALI
TCP utilizza delle finestre scorrevoli (sliding window) di trasmissione e ricezione (entrambe in un
endpoint) la cui dimensione regola il numero di byte in entrata/uscita (rate). Vengono inviati i
segmenti, ma sono i byte ad essere numerati, qu
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.
-
Appunti reti di telecomunicazioni
-
Appunti Reti di telecomunicazioni
-
Appunti corso Reti di telecomunicazioni
-
Appunti Reti di Telecomunicazioni