Fondamenti di Internet e Reti - Alberto Gatto, Martino de Marco Fondamenti di Internet e Reti - Polimi
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
1a – Introduzione al corso Scopo e finalità, testi e materiale, esami, contatti Fondamenti di Internet e Reti
Docente • Prof. Alberto Gatto • Ufficio: – DEIB, ed. 20, via Ponzio 34/5 Milano, 3° piano • Tel: 02 2399 8926 • E-mail: alberto.gatto@polimi.it • Web page: https://www.deib.polimi.it/eng/people/details/210678 • Home page del corso: http://policom.deib.polimi.it/teaching/a-gatto-fondamenti-di- internet-e-reti/ • Orario di ricevimento: – Lunedì/venerdì (orario lezione, consigliato contattare il docente in precedenza) • Collaboratore per laboratori: – Ing. Omran Ayoub – E-mail: omran.ayoub@polimi.it FIR: 1 - Introduzione e architetture 4
Materiale didattico • Testo di riferimento: James F. Kurose, Keith W. Ross Reti di Calcolatori e Internet Un approccio top-down Settima Edizione (2017) Pearson • Disponibile anche in inglese James F. Kurose, Keith W. Ross Computer Networking A top-down approach Sixth Edition (2012) Pearson FIR: 1 - Introduzione e architetture 5
Materiale didattico • Altro materiale – Slides delle lezioni – Appunti delle esercitazioni – Materiale a supporto delle attività di laboratorio – Letture suggerite (link, articoli) – Tool per lezioni e laboratorio • Tutto il materiale è disponibile sulla pagina web del corso cui si accede dalla pagina personale del docente FIR: 1 - Introduzione e architetture 6
Organizzazione del corso • Mix didattico: – Lezione: 56 ore (circa) – Esercitazione: 26 ore (circa) – Laboratorio: 18 ore • Le esercitazioni sono inserite alla fine di ciascun argomento (non c’è una programmazione settimanale fissa) • Il laboratorio si svolge in aula connessa senza PC, è necessario portare il proprio laptop (BYOD) FIR: 1 - Introduzione e architetture 7
Visita @ Policom (DEIB – Milano) • Proposta di una visita ai laboratori Policom @ DEIB (Milano) il 29/04/19 con dimostrazioni di veri collegamenti internet con trasmissione dati in fibra ottica FIR: 1 - Introduzione e architetture 8
Programma del corso 1. INTRODUZIONE E ARCHITETTURE – Principi generali, architettura e componenti, meccanismi di base 2. SISTEMI DI COMUNICAZIONE & LIVELLO FISICO – Come misuro le prestazioni di una rete: il concetto di throughput, i ritardi nelle reti di telecomunicazioni (tempo di trasmissione, ritardo di trasferimento, tempo di processing, tempo di accodamento). – Come è gestita la comunicazione in rete: il concetto di protocollo di comunicazione, modelli architetturali a livelli, commutazione di pacchetto e commutazione di circuito – Come viaggia in rete l’informazione: cenni sulla caratterizzazione dei segnali (il concetto di banda del segnale, i segnali numerici) – Dove viaggia l’informazione in rete: cenni sulla caratterizzazione dei mezzi trasmissivi (la banda di canale, ritardo di trasferimento, il concetto di capacità di canale) FIR: 1 - Introduzione e architetture 9
Programma del corso 3. PROTOCOLLI APPLICATIVI – architetture delle applicazioni di rete: approccio client-server ed approccio peer-to-peer; – esempi di protocolli applicativi client-server: HTTP, FTP, SMTP; – architetture peer-to-peer: la rete Gnutella, BitTorrent 4. IL LIVELLO DI TRASPORTO – caratterizzazione del servizio di comunicazione tra processi applicativi; trasporto non affidabile: il protocollo UDP (formato del segmenti); – trasporto affidabile: il protocollo TCP (formato dei segmenti, apertura della connessione, controllo di flusso, controllo di congestione e controllo d’errore). FIR: 1 - Introduzione e architetture 10
Programma del corso 5. IL LIVELLO DI NETWORKING: – l’Internet Protocol (IP): servizi offerti da IP, formato dei pacchetti IPv4 – Gestione di indirizzi IP: formati e notazioni degli indirizzi IPv4, le classi e gli indirizzi speciali, pianificazione di uno spazio di indirizzamento IPv4, tecniche di subnetting e supernetting, assegnamento automatico di indirizzi IP: il Dynamic Host Control Protocol (DHCP) – Corrispondenza tra indirizzi IP ed indirizzi simbolici (Il Domain Name System); – l’Internet Control Message Protocol (ICMP) FIR: 1 - Introduzione e architetture 11
Programma del corso 6. INOLTRO ED INSTRADAMENTO IN INTERNET: – inoltro diretto ed indiretto – uso delle tabelle di routing; – instradamento su cammini minimi, la costruzione dell’albero dei cammini minimi, – Instradamento link state ed instradamento distance vector – Esempi di protocolli: RIP, OSPF, BGP, FIR: 1 - Introduzione e architetture 12
Programma del corso 7. RETI LOCALI E LIVELLO DI LINEA: – problema dell’accesso multiplo, – indirizzamento nelle reti locali, – l’Address Resolution Protocol (ARP), – interconnessione di reti locali con bridge/switch, – lo standard Ethernet/802.3: principi e funzionamento, – lo standard IEEE 802.11 (WiFi): principi e funzionamento. 8. INTRANET – Indirizzamento privato e traduzioni di indirizzi IP (NAT, NAPT) – Interconnessione di reti private (IP Tunneling) – IPv6 (cenni) 9. RETI MOBILI – Caratteristiche dei collegamenti wireless – Tecniche di copertura e gestione della mobilità – Architetture di rete – L'evoluzione delle reti mobili: 3G, 4G e 5G FIR: 1 - Introduzione e architetture 13
Programma del corso LABORATORIO: − Python e scripting per analisi di rete − Programmazione socket in Python − Configurazione e simulazione di rete (Packet Tracer) − Attività sperimentali su reti wireless FIR: 1 - Introduzione e architetture 14
1c – Ritardi e Throughput Tempo di trasmissione, Propagazione, Altri ritardi, Throughput Fondamenti di Internet e Reti
Velocità di trasmissione • E’ la velocità (rate) R con la quale l’informazione digitale viene trasmessa su una linea = numero di bit trasmessi nell’unità di tempo • E’ misurata in bit/s (bps) 0 0 1 0 1 0 1 0 … 1 0 t • Unità di misura: 1 B = 8 bit 1 kbps (kb/s) = 103 bps 1 kB = 103 B 1 Mbps (kb/s) = 106 bps 1 MB = 106 B 1 Gbps (kb/s) = 109 bps 1 GB = 109 B FIR: 1 - Introduzione e architetture 16
Velocità di trasmissione: esempi • Segnale nel tempo di Ethernet con codifica Manchester: • Segnale modulato in frequenza del GSM: NOTA: Il motivo per il quale la durata del singolo bit non può essere piccolissima (e quindi la velocità grandissima) deriva a limiti dei canali trasmissivi che saranno trattati nel prossimo modulo (livello fisico). FIR: 1 - Introduzione e architetture 17
Tempo di trasmissione • Il tempo T per trasmettere L bits dipende dalla velocità di trasmissione R L [b] 0 0 1 0 1 0 1 0 … 1 0 t T [s] R [bps] Si ha: L T= R FIR: 1 - Introduzione e architetture 18
Ritardo di propagazione • Il tempo t affinché un impulso trasmesso dal trasmettitore TX raggiunga il ricevitore RX dipende dalla distanza D (in m) e dalla velocità di propagazione v (in m/s, prossima alla velocità della luce) 0 0 1 0 1 0 1 0 TX t distanza percorsa D RX t ritardo di propagazione D t= t v FIR: 1 - Introduzione e architetture 19
Tempi di attraversamento del canale T 0 0 1 0 1 0 1 0 t TX D RX t ' T Ritardo fra la trasmissione del primo bit e la ricezione dell’ultimo !"#" = ! + τ (singolo pacchetto, singolo collegamento) FIR: 1 - Introduzione e architetture 20
Tempi di attraversamento del canale TX RX t TX RX t t0 t1 t2 t3 Tempo di trasmissione: t0=inizio trasmissione T=t2 - t0=t3 – t1=L/R L=lunghezza del pacchetto [bit] t1=arrivo primo bit R=velocità di trasm. [bit/s] t2=fine trasmissione Ritardo di propagazione: t3=arrivo ultimo bit t = t1-t0=t3-t2=D/n D=lunghezza del coll. [m] n=velocità di prop. [m/s] FIR: 1 - Introduzione e architetture 21
Tempi di attraversamento del canale TX RX t TX RX t t0 t2 t1 t3 Tempo di trasmissione: t0=inizio trasmissione T=t2 - t0=t3 – t1=L/R L=lunghezza del pacchetto [bit] t1=arrivo primo bit R=velocità di trasm. [bit/s] t2=fine trasmissione Ritardo di propagazione: t3=arrivo ultimo bit t = t1-t0=t3-t2=D/n D=lunghezza del coll. [m] n=velocità di prop. [m/s] FIR: 1 - Introduzione e architetture 22
Primo “triangolo magico” Propagazione dei segnali elettromagnetici 8 10 distanza Terra-Sole ~8 min 6 10 distanza Terra-Luna d Distanza percorsa (km) collegamento satellite geostaz. cx = 10 4 cavo transatlantico circonf. Equatore t lunghezza Italia Terra d = t × cx 10 2 Milano - Torino d t= centro città cx 10 0 LAN 1 km min stanza ms s -2 accanto 10 1m vuoto ns µs guida -4 10 -10 -8 -6 -4 -2 0 2 10 10 10 10 10 10 10 • cx = Velocità di propagazione dei segnali Ritardo di propagazione (s) elettromagnetici – Propagazione libera (onde radio, vuoto, aria): co @ 300000 km/s – Propagazione guidata (cavi in rame, fibra ottica, guide d’onda): cg @ 200000 km/s • d = distanza percorsa [km] • t = ritardo di propagazione [s] FIR: 1 - Introduzione e architetture
Secondo “triangolo magico” Internet (2007) 1017 Trasmissione dati Tempo di trasmissione (min) L -11 -9 -7 -5 -3 -1 1 3 10 10 10 10 10 10 10 10 C= 14 10 14 tutti i libri del mondo (txt) 10 T 64 kbit/s 2 Mbit/s HD DVD 12 L = T ×C 10 Informazione trasmessa (bit) 12 10 Mbit/s br / layer 10 L 1 Gbit/s T= 10 DVD (4h vid.) 10 Informazione trasmessa (byte) 10 Gbit/s 10 CD (74 min. audio) 10 C 8 10 8 5 min mp3 10 foto JPEG libro pdf 6 10 6 trame 10 SDH/ PDH 4 pagina web 10 10 (txt) Lmax 4 e-mail Ethernet g 2 Lmin 10 • C = Velocità di trasmissione della 10 2 min h 1 byte sorgente [bit/s] 1 bit 0 ps ns µs ms s 0 10 10 • L = quantità d’informazione 10 -10 10 -8 10 -6 10 -4 -2 10 0 10 10 2 10 4 trasmessa [bit] Tempo di trasmissione (s) • T = tempo di trasmissione [s] FIR: 1 - Introduzione e architetture
Store and forward A B C t A B t % )"# % )#' t C !"# = ("# = !#' = (#' = &"# * &#' * FIR: 1 - Introduzione e architetture 25
Store and forward A B C A TAB B tAB TBC C tBC FIR: 1 - Introduzione e architetture 26
Commutazione a Pacchetto Cut-Through • Store-and-forward: il pacchetto deve essere completamente ricevuto prima di essere ritrasmesso ) !"#" = % (!& + ,& ) &'( • Cut-Through: il pacchetto viene ritrasmesso alla completa ricezione dell’header ) H !"#" = % (.& + ,& ) + (! − .) &'( FIR: 1 - Introduzione e architetture 27
Architettura semplificata di un nodo Packet switch su architettura hardware general purpose (soft-switch) I/O Bus CPU System NIC Network interface 1 Bus DMA Ctrl NIC Network interface 2 3 1 DMA 2 Xfer Main NIC Network interface 3 Memory 1. Packet input 2. Header processing Routing table lookup NIC = Network Interface Controller DMA transaction DMA = Direct Memory Access 3. Packet output FIR: 1 - Introduzione e architetture 28
Architettura semplificata di un nodo Packet switch su architettura hardware dedicata (hardware-switch) Match Action Output port Input port … … … … … … Match Action Switch matrix Collega fisicamente ingresso e uscita sulla base del comando contenuto nell’uscita Input della tabella Output port port … … Match table Cerca ad esempio l’indirizzo di destinazione tra le righe della tabella e legge la porta d’uscita corrispondente. Restituisce il risultato in un tempo fisso (ciclo di clock) indipendemente dal numero di righe. FIR: 1 - Introduzione e architetture 29
Modello di un nodo Elaborazione Arrivo pacchetti pacchetti e scelta dalle interfacce dell’uscita Attesa per analisi pacchetto Attesa per Trasmissione sulle trasmissione interfacce d’uscita pacchetto FIR: 1 - Introduzione e architetture 30
Tempo di elaborazione A B C Look up tabella di instradamento !" Trasferimento porta d’uscita A TAB Negli apparati ben dimensionati: !" ≈ 0 B tAB TBC C tBC FIR: 1 - Introduzione e architetture 31
Ritardo di accodamento • Se la linea di uscita è occupata occorre aspettare in coda Esempio 1 A 1 B 2 C I pacchetti possono a b attendere nella coda d’uscita di un’interfaccia A !"# attesa B t1 !$% !$# C t2 FIR: 1 - Introduzione e architetture 32
Ritardo di accodamento Interfacce diverse hanno code d’uscita separate Esempio 2 ed indipendenti A B C 1 2 3 D a b Dest. C Dest. D A !"# Dest. C B t1 !$# C t2 FIR: 1 - Introduzione e architetture 33
Ritardo di accodamento Esempio 2 (continua) Interfacce diverse hanno A B code d’uscita separate C ed indipendenti D a b Dest. C Dest. D A !"# !"$ Dest. D B t1 !%$ D t3 FIR: 1 - Introduzione e architetture 34
Ritardo di accodamento Multiplazione statistica Più in generale il ritardo di accodamento dipende dalla multiplazione statistica dovuto all’arrivo asicrono dei pacchetti alle code d’uscita (trasmissione) elaborazione elaborazione elaborazione FIR: 1 - Introduzione e architetture 35
Ritardo di accodamento Multiplazione statistica Più in generale il ritardo di accodamento dipende dalla multiplazione statistica dovuto all’arrivo asicrono dei pacchetti alle code d’uscita (trasmissione) FIR: 1 - Introduzione e architetture 36
Ritardo di Accodamento Del ritardo di accodamento medio Ta si possono fare dei modelli statistici basati sulla teoria delle code: Ta R = velocità del link [b/s] L = lunghezza pacchetto [bits] l = frequenza di arrivo dei pacchetti [pack/s] Intensità di traffico = !"/$ 1 !"/$ %&/' > 1: i pacchetti arrivano con un rate maggiore della capacità di trasmissione la coda cresce senza limiti, () → ∞ %&/', < 1: il ritardo dipende dalla statistica di arrive dei pacchetti FIR: 1 - Introduzione e architetture 37
Ritardo di Accodamento Situazione realistica: il processo di arrivo in coda dei pacchetti è completamente casuale Ta R = velocità del link [b/s] L = lunghezza pacchetto [bits] l = frequenza di arrivo dei pacchetti [pack/s] Intensità di traffico = !"/$ 1 !"/$ %&/'~): i pacchetti sono pochi e (in media) distanziati nel tempo bassa probabilità di trovare altri pacchetti in coda ritardo in coda piccolo, *+ → 0 FIR: 1 - Introduzione e architetture 38
Ritardo di Accodamento Situazione realistica: il processo di arrivo in coda dei pacchetti è completamente casuale Ta R = velocità del link [b/s] L = lunghezza pacchetto [bits] l = frequenza di arrivo dei pacchetti [pack/s] Intensità di traffico = !"/$ 1 !"/$ %&/' → ): in alcuni istanti il rate di arrivo supera la capacità di ritrasmissione, in altri è inferiore la coda tende ad aumentare ritardo *+ → ∞ FIR: 1 - Introduzione e architetture 39
Ritardo di Accodamento Del ritardo di accodamento medio Ta si possono fare dei modelli statistici basati sulla teoria delle code: R = velocità del link [b/s] Ta L = lunghezza pacchetto [bits] l = frequenza di arrivo dei pacchetti [pack/s] Definiamo: µ = frequenza di trasmissione dei pacchetti [pack/s] Si ha: # != $ 1 %/! Si può mostrare che sotto alcuni condizioni sulla statistica degli arrivi e la distribuzione delle lunghezze dei pacchetti: 1 1 '( = − !−% ! FIR: 1 - Introduzione e architetture 40
Perdite di pacchetti in Internet • Le code hanno dimensioni limitate • In congestione (coda piena) i pacchetti che arrivano vengono scartati • I pacchetti persi possono essere ritrasmessi o meno a seconda del livello/protocollo che gestisce l’evento di perdita (vedremo esempi a livello di linea e di trasporto). FIR: 1 - Introduzione e architetture 41
Ritardi: riepilogo (pacchetto singolo) • Ritardo totale di un singolo nodo: !"#$# = !& + () + ! + * • Ritardo end-to-end con + − - nodi: !."$/0#/."$ = + () + ! + * + 1 !& Ritardo Ta Variabile da nodo a nodo, dipende dalla congestione, 23 ÷ 53 Pb ≈ 23 T 23 ÷ 53 t ≈ 5 83/5 (1 km = 5 µm, 100 km = 500 µs, 10000 km = 50 ms) FIR: 1 - Introduzione e architetture 42
Latenza • Intervallo di tempo che intercorre tra un generico input (stimolo) e il corrispondente output (reazione) • È una misure dal tempo di risposta del sistema • Associata spesso all’intervallo di tempo di round-trip a livello applicativo (o superiore, quindi a livello «umano») • Può essere dovuta a – Elaborazione dati – Distanza di propagazione – Congestione della rete – … FIR: 1 - Introduzione e architetture 43
Tactile Internet • “A network, or a network of networks, for remotely accessing, perceiving, manipulating, or controlling real and virtual objects or processes in perceived real time” • Per mantenere un’interazione real-time “naturale” è necessario che il feedback alle nostre azioni/richieste sia adattato ai tempi di reazione dei sensi umani Tempi di reazione umani in risposta a diversi stimoli FIR: 1 - Introduzione e architetture 44
Tactile Internet • Bassissima end-to-end latency (< 1 ms) • Affidabilità • Sicurezza FIR: 1 - Introduzione e architetture 45
Tactile Internet: applicazioni Robotics & Gaming and Automation Virtual Reality Road traffic & Augmented Reality Telepresence Telesurgery FIR: 1 - Introduzione e architetture 46
Throughput • Throughput istantaneo: velocità di trasferimento dell’informazione in un determinato istante di tempo • Throughput medio: velocità di trasferimento media !"#$%&"'%$ "% (") !$* #$&&+,,"' definita come )$#-' %$.$&&+/"' +* )/+&0$/"#$%)' 123(5& , 5. ) 123(58 , 59 , … , 5; ) FIR: 1 - Introduzione e architetture 47
Throughput: esempi • La rete dorsale è un collegamento a velocità molto più elevata dei collegamenti di accesso • In caso di rete non congestionata (pochi collegamenti attivi), il limite al throughput è determinato dai tratti di accesso alla rete • In caso di rete congestionata (molti collegamenti attivi), il collo di bottiglia può essere invece la dorsale FIR: 1 - Introduzione e architetture 48
1d – Modelli di servizio e livelli dei protocolli Servizio di comunicazione, protocolli, primitive di servizio, architetture a livelli, funzioni di rete Fondamenti di Internet e Reti
Il servizio di comunicazione • Date due o più entità remote • Possiamo descrivere il servizio di comunicazione per scambio di messaggi come un “fornitore del servizio di trasporto dell’informazione” Nodo A Nodo B colloquio Ente Ente A B servizio di comunicazione FIR: 1 - Introduzione e architetture 50
Il servizio di comunicazione • Gestisce lo scambio di informazione fra due “entità” • E’ in generale un servizio di trasferimento di unità informative: – Messaggi applicativi (richieste e risposte di browser e server web, messaggi di email, file, ecc.) – Flussi multimediali (flussi audio, video, ecc.) – Gruppi di bit (pacchetti) – Bit Ente Ente A B FIR: 1 - Introduzione e architetture 51
Primitive di servizio • il servizio di comunicazione può essere descritto mediante delle chiamate di servizio dette primitive di servizio • le primitive di servizio servono a descrivere il servizio, a richiederlo e a ricevere informazioni sul servizio dal fornitore • le primitive di servizio sono caratterizzate da parametri tra cui: NOTA: le primitive di servizio – informazione da trasferire dell’interfaccia socket in Python – indicazione del destinatario saranno trattate in laboratorio, – caratteristiche del servizio richiesto dove vedrete meccanismi per creare le interfacce e passare i – ecc. parametri tramite funzione. FIR: 1 - Introduzione e architetture 52
Primitive di servizio Nodo A Nodo B colloquio Ente Ente A B primitive di servizio canale bidirezionale FIR: 1 - Introduzione e architetture 53
Caratteristiche del servizio di comunicazione • modalità a connessione Apertura della connessione – instaurazione della Trasferimento informazione connessione – trasferimento dell’informazione Chiusura della connessione – rilascio delle connessione • modalità senza connessione Trasferimento informazione – una sola fase FIR: 1 - Introduzione e architetture 54
Livelli • Le entità che colloquiano in un servizio di telecomunicazione possono anche offrire un servizio di comunicazione a entità terze, dette di livello superiore Nodo A Nodo B colloquio Ente Ente A2 B2 colloquio Ente Ente A1 header Dati PDU B1 canale bidirezionale FIR: 1 - Introduzione e architetture 55
Funzioni dei livelli • Il servizio di comunicazione offerto al livello superiore è più ricco e complesso grazie alle funzioni implementate dal livello inferiore Nodo A Nodo B colloquio Ente Ente A2 B2 colloquio Ente Ente A1 header Dati PDU B1 canale bidirezionale FIR: 1 - Introduzione e architetture 56
Protocolli di comunicazione • Le entità di un livello collaborano per fornire il servizio di comunicazione al livello superiore e si scambiano messaggi mediante il servizio offerto dal livello inferiore • Protocollo: – Insieme delle regole che gestiscono il colloquio tra entità dello stesso livello o formato dei messaggi o informazioni di servizio o algoritmi di trasferimento o ecc. FIR: 1 - Introduzione e architetture 57
Packet Data Units (PDU) • Un protocollo utilizza per il colloquio tra entità dello stesso livello delle unità di trasferimento dati dette PDU o anche trame del protocollo • Le PDU possono contenere: informazione di servizio informazione vera e necessaria al propria ricevuta dai coordinamento tra le livelli superiori entità header dati FIR: 1 - Introduzione e architetture 58
Architettura a livelli • I servizi di comunicazione complessi possono essere articolati a livelli – da un livello che garantisce solo il trasporto dei bit – a un livello dove sono definite complessi servizi caratterizzati da molti parametri e funzionalità livello 5 livello 5 livello 4 livello 4 livello 3 livello 3 livello 2 livello 2 livello 1 livello 1 FIR: 1 - Introduzione e architetture 59
Architettura completa 5 5 livello 5 livello 5 4 5 4 5 livello 4 livello 4 3 4 5 3 4 5 livello 3 livello 3 2 3 4 5 2 3 4 5 livello 2 livello 2 1 2 3 4 5 livello 1 livello 1 FIR: 1 - Introduzione e architetture 60
Perchè un’architettura a livelli? Sistemi complessi: • Facile identificazione dei servizi (implementazione, discussione) • Facile gestione ed update – Cambiamenti in un livello sono trasparenti agli altri • Q: quando la suddivisione in livelli può essere pericolosa? FIR: 1 - Introduzione e architetture 61
Modello a livelli di Internet (TCP/IP) Messages Messaggi Application Applicazione Segments Segmenti Transport Trasporto Packets Pacchetti Network Rete Frames Trame Data Link Linea Bits Bit Physical Fisico FIR: 1 - Introduzione e architetture 62
Livelli di Internet (descrizione veloce) • Applicazione: sede delle applicazioni di rete e dei relativi protocolli (HTTP, SMTP, FTP, DNS) • Trasporto: trasferisce i messaggi del livello di applicazione tra punti periferici della rete gestiti dalle applicazioni (TCP: orientato alla connessione, consegna garantita, controllo di flusso) • Rete: trasferisce i pacchetti di rete da un host a un altro (vari protocolli di instradamento) • Linea: instrada i datagrammi attraverso una serie di router tra sorgente e destinazione (Ethernet, Wi-Fi, PPP) • Fisico: trasferisce i singoli bit da un nodo all’altro in funzione del mezzo trasmissivo utilizzato FIR: 1 - Introduzione e architetture 63
Funzioni • Molteplici sono le funzioni che possono essere svolte da uno livello • Vediamo alcuni esempi importanti concentrandoci sui principi di base, poi i dettagli saranno ripresi più avanti – Esempi: o Funzione di Multiplazione e De-multiplazione o Funzione di controllo d’errore o Funzione di instradamento FIR: 1 - Introduzione e architetture 64
Esempio: Funzione Multiplazione • Più livelli superiori possono condividere lo stesso servizio di comunicazione Per poter separare le Liv. N informazioni devo poter Liv. N mettere una qualche etichetta che le distingua tra di loro FIR: 1 - Introduzione e architetture 65
Esempio: Funzione Multiplazione • Più applicazioni condividono la stessa interfaccia di rete (identificata da un suo indirizzo di rete) • Le applicazioni sono distinte in base a un numero di porta L’etichetta che mi consente di Porta: Porta: fare 25 80 multiplazione è il numero di porta Indirizzo Indirizzo di rete: di rete: 131.175.21.2 92.35.47.58 FIR: 1 - Introduzione e architetture 66
Esempio: Funzione Multiplazione • Più applicazioni condividono la stessa interfaccia di rete (identificata da un suo indirizzo di rete) • Le applicazioni sono distinte in base a un numero di porta L’etichetta che mi consente di Porta: Porta: fare 25 80 multiplazione è il numero di porta Indirizzo Indirizzo di rete: di rete: 131.175.21.2 92.35.47.58 La funzione di multiplazione può essere implementata in tutti i livelli FIR: 1 - Introduzione e architetture 67
Esempio: Funzione di controllo d’errore • E’ possibile garantire affidabilità delle comunicazioni anche in presenza di errori sul canale Verifica presenza Se NON Ritrasmissione errori arriva ACK timeout Controllo pacchetto Controllo pacchetto errore errore ACK Se Trasmissione nessun errore Timer attesa ACK Ricezione no ACK? La funzione di controllo Errore? si si d’errore è di solito no implementata a livello di Trasmissione ACK end Linea (2) e Trasporto (4) end FIR: 1 - Introduzione e architetture 68
Esempio: Funzione di instradamento (routing) Il pacchetto può Entità livello arrivare dal livello superiore superiore passato col parametro INDIRIZZO pacchetto L’indirizzo viene scritto nell’header perché possa essere instradato Entità instradante da altri nodi Il pacchetto può arrivare da una porta d’ingresso pacchetto FIR: 1 - Introduzione e architetture 69
Esempio: Funzione di instradamento (routing) L’entità instradante Indirizzo Uscita decide dove inoltrare (forwarding) il pacchetto sulla base di una tabella … … di instradamento che Table lookup viene consultato usando l’indirizzo come Port parametro di ricerca Entità selection instradante OSSERVAZIONE: Se il pacchetto arriva da una porta d’ingresso, non sale mai più in alto nei livelli salvo che non sia giunto alla destinazione finale pacchetto FIR: 1 - Introduzione e architetture 70
Esempio: Funzione di instradamento (routing) • I nodi di rete non implementano i livelli superiori a quello di instradamento • La funzione di instradamento può essere implementate in vari livelli in base alle circostanze (vedremo in dettaglio) • Esempio: Router IP Terminale Router Esempio Application Application Router IP: Network Transport Transport Funzione di rete a Data Link Network livello 3!!! Network Physical Data Link Data Link Physical Physical Network Data Link Physical FIR: 1 - Introduzione e architetture 71
Esempio: Funzione di instradamento (routing) • Esempio: LAN Switch Terminale Esempio Application Application Switch Switch: Transport Transport Data Link Funzione di rete a Network Network Physical livello 2!!! Data Link Data Link Physical Physical Data Link Physical FIR: 1 - Introduzione e architetture 72
Esempio: Funzione di instradamento (routing) • Esempio: proxy Proxy Esempio Application Proxy: Terminale Transport Funzione di rete a Application livello 5!!! Application Network Transport Transport Data Link Network Network Physical Data Link Data Link Physical Physical FIR: 1 - Introduzione e architetture 73
Esempio: Funzione di instradamento (routing) • Scelta dell’uscita avviene sulla base delle informazioni memorizzate in una tabella tabella di routing indirizzo uscita Ma chi scrive le tabelle di instradamento ? FIR: 1 - Introduzione e architetture 74
Esempio: Funzione di instradamento (routing) “Human Defined Networking” • Le tabelle di instradamento possono essere scritte a mano (faremo molti esercizi sulle tabelle di instradamento) • Nei router IP le rotte configurate manualmente sono dette rotte statiche FIR: 1 - Introduzione e architetture 75
Esempio: Funzione di instradamento (routing) Protocolli di instradamento distribuiti • L’approccio classico è però basato su uno scambio di informazioni tra i router che consente di compilare le tabelle di instradamento in modo automatico e distribuito • Esempio: – MAC learning (si veda livello di linea) – Instradamento per cammini minimi (si veda livello IP) FIR: 1 - Introduzione e architetture 76
Esempio: Funzione di instradamento (routing) Software Defined Networking • L’approccio emergente denominato SDN consente di operare come nell’approccio manuale, ma con un’applicazione software centralizzata che compila e modifica le tabelle di instradamento SDN controller FIR: 1 - Introduzione e architetture 77
Puoi anche leggere