RETI DI CALCOLATORI II
Facoltà di Ingegneria
Università degli Studi di Udine
Ing. DANIELE DE CANEVA
RETI DI CALCOLATORI II
Facoltà di Ingegneria
Università degli Studi di Udine
a.a. 2009/2010
ARG OM ENT I DELLA LEZIONE
IPv6
QoS
o MPLS o IntServ o RSVP o DiffServ
o Scheduling & Sorveglianza
o Flow Routing
IP
V6 IPv6
Primi anni del 1990 IETF inizia lo sviluppo della versione successiva a IPv4
MOTIVAZIONI:
• esaurimento degli indirizzi
• cogliere l’opportunità per migliorare funzionalità
IP
V6 ESAURIMENTO DEGLI INDIRIZZI
• IPv4 utilizza indirizzi a 32 bit quindi circa 4.3 miliardi di indirizzi
indirizzi riservati: ricerca, broadcast, multi cast, privati e loopback
nel 1996 esauriti il 100% A, 62% B, 37% C
poco spazio per nuovi assegnamenti (1.3 miliardi
circa)
IP
V6 ESAURIMENTO DEGLI INDIRIZZI
• problema è stato arginato con il NAT e DHCP
NAT interrompe comunicazione end-to-end
• cellulari/pda
• Paesi emergenti
• elettronica pervasiva (auto, elettrodomestici, etc.)
La questione non è se ma quando!
Le previsioni dichiaravano un periodo che va dal 2008 al
2018
IP
V6 PROGETTO IPng
Standardizzazione:
• nasce IPv5: subito dimenticato
• IPv6 definito in RFC 2460
Ci stiamo già muovendo:
• nel 2003 US DoD ha imposto compatibilità IPv6 a tutti i dispositivi delle sue reti
• 2008 US Gov: tutte le backbone delle sue agenzie in
IPv6
IP
V6 IPv6
CARATTERISTICHE:
• indirizzamento a 128 bit
• indirizzi anycast
• header efficiente: header a dimensione fissa di 40 byte, eliminati alcuni campi di IPv4 o resi opzionali
• etichettatura e priorità di flusso: possibilità di etichettare un flusso
• sicurezza: caratteristiche di IPsec incluse in IPv6 come native e non accrocchio che c’era in IPv4
• mobilità: possibilità di roaming tra reti wireless senza
perdere la connessione
IP
V6 IPv6
IP
V6 IPv6
Modifiche di rilievo, i grandi esclusi:
• frammentazione: se pacchetto troppo grande per un certo link il router restituisce un messaggio ICMP
specifico
in RFC 2463 viene definito ICMP per IPv6: prevista riorganizzazione dei messaggi presenti nella
versione precedente del protocollo e inglobate le funzionalità del protocollo IGMP
• checksum dell’intestazione: rimandato ai livelli superiori
inoltre evita che come in IPv4 la checksum debba
essere ricalcolata ad ogni hop a causa del cambio
dell’header (campo TTL)
IP
V6 IPv6
Modifiche di rilievo, i grandi esclusi:
• opzioni: opzionali, se presenti sono indicate come
intestazione successiva
IP
V6 FORMATO DEGLI INDIRIZZI
xxxx: xxxx: xxxx: xxxx: xxxx: xxxx: xxxx: xxxx
• rimozione dei “leading zeros”
• possibilità di fare riassunto con :: per i campi interamente a zero
Esempi:
o 0:0:0:0:0:0:0:5 = ::5
o ABC:567:0:0:8888:9999:1111:0 = ABC:567::8888:9999:1111:0
o indirizzo non specificato = ::
IP
V6 TIPOLOGIE DEGLI INDIRIZZI
Anycast: one-to-the-nearest, inviato all’interfaccia più vicina all’origine
• eliminato il broadcast IPv4 (ARP, DHCP)
• indistinguibile dall’unicast
• possibilità di avere più dispositivi con lo stesso indirizzo
bene per gli scenari per bilanciamento del carico
NOTA: ancora sperimentali ed alcuni problemi sono già noti.
Per ora meglio non utilizzarli a livello di host ma solo per
router, mai come sorgente di pacchetto ma solo come
destinazione.
IP
V6 TIPOLOGIE DEGLI INDIRIZZI
Multicast: iniziano per FF
• i successivi 4 bit definiscono il lifetime:
0: permanente
1: temporaneo
• i successivi 4 bit definiscono lo scope:
1 nodo
2 link
5 sito
8 organizzazione
E globale
IP
V6 TIPOLOGIE DEGLI INDIRIZZI
Unicast: definiti in RFC 4251
TIPI:
• globali
• riservati (1/256)
• privati
• loopback ::1
• non-specificato ::
utilizzato quando il mittente non conosce il proprio
indirizzo
IP
V6 INDIRIZZI PRIVATI
2 tipi:
• Site-local: da FEC:: a FFF::
o analoghi ai vecchi indirizzi privati o disaccoppiamento pubblico/privato
• Link-local: da FE8:: a FEB::
o nuovo concetto: valevoli solo all’interno della rete di livello 2, i router non li inoltrano
o utilizzo più comune per scoprire i vicini di livello 2 e per ottenere indirizzo pubblico
o uno per interfaccia
IP
V6 INDIRIZZI GLOBALI
Formati da 2 componenti:
• Subnet ID:
site prefix di 48 bit (registro + prefisso ISP + info di sito)
subnet prefix di 16 bit
stessa compagnia può gestire fino a 65,536 subnet
• Interface ID:
• tipicamente viene utilizzata la funzionalità EUI-64
Extended Unique Identifier 64
IP
V6 INDIRIZZI GLOBALI
IP
V6 EUI-64 Extended Unique Identifier 64
OUI del MAC nei primi 24 bit + (FF,FE) + 24 bit del NIC ID del
MAC
IP
V6 ASSEGNAMENTO INDIRIZZI
METODI STATICI:
1. specificati a mano tutti i 128 bit
2. EUI-64: amministratore specifica solo Subnet ID, poi il
dispositivo fa il resto
IP
V6 ASSEGNAMENTO INDIRIZZI
METODI DINAMICI:
1. DHCPv6
update del precedente protocollo, simile ma presenta alcune differenze
il processo inizia con invio di un DHCP solicit
message verso il server DHCPv6 con trasmissione multicast all’indirizzo ALL_DHCP_Agents e
utilizzando scope link-local affichè non venga inoltrato oltre il link locale
NOTA: se il server DHCPv6 non è nel link un
“relay” (es. un router) può inoltrare la richiesta verso ALL_DHCP_Agents con scope site local
configurazione statica per controllare quale
DHCPv6 server deve rispondere
IP
V6 ASSEGNAMENTO INDIRIZZI
METODI DINAMICI:
2. STATELESS AUTOCONFIGURATION
estensione del DHCPv6 che opera senza server
pensato per cellulari, PDA, appliance e periferiche
il client utilizza i messaggi RA per creare l’indirizzo autonomamente:
1. presi i primi 64 bit dell’indirizzo del router
2. EUI-64 per creare l’Interface ID
IP
V6 ROUTING IPv6
Molti protocolli disponibili:
RIPng, OSPFv3, IS-IS per IPv6, MP-BGP4, EIGRP per IPv6, …
RIPng:
• basato su RIPv2 utilizza pacchetti e indirizzi IPv6
• updates inviati all’indirizzo multicast ALL_RIP (FF02::9)
su UDP porta 521
IP
V6 DEPLOYMENT
DUAL STACKING
• router capace di gestire entrambi i protocolli
indirizzi i protocolli IPv4 e IPv6
in grado di distinguere tra i nodi v4 e v6
! deve intervenire router per scambio pacchetti tra host IPv4 e host IPv6, anche se sullo stesso
segmento
! passando attraverso IPv4 persi campi TUNNELING
• pacchetti IPv6 incapsulati dentro pacchetti IPv4
MPLS MPLS
Seconda metà anni 1990 sforzo industriale per migliorare il traferimento dei pacchetti IP
Obiettivo: adottare un’etichettatura a lunghezza fissa senza abbandonare l’architettura esistente
etichettatura selettiva, non come i VC
protocollo MPLS RFC 3031, 3032
MPLS MPLS
CARATTERISTICHE:
• intestazione aggiunta tra livello 2 e livello 3
necessari apparati compatibili: “label switched router”
Data Link Layer Header
MPLS Header/s
Network Layer
Header Packet Data
Label (20 bit) Exp (3 bit) S (1 bit) TTL (8 bit)
MPLS MPLS
CARATTERISTICHE:
• FEC (Forwarding Equivalence Class) : destinazione e classe di servizio
possibilità di raggruppare destinazioni diverse
possibilità di associare più etichette alla stessa destinazione
• possibile utilizzo di stack MPLS
• possibile utilizzo con servizi differenziati e per creazione
VPN
MPLS CREAZIONE DELLE TABELLE DI INOLTRO
• approccio data-driven: il primo router attraversato dal
pacchetto contatta il router a valle e gli chiede di generare un’etichetta di flusso, poi si procede in modo ricorsivo
tecnica spesso utilizzata con ATM
necessità di evitare cicli: spesso utilizzata la tecnica dei
“fili colorati”
• approccio control-driven: tipicamente utilizzato per reti non ATM, ha molte varianti. All’accensione il router crea FEC per le destinazioni per le quali lui è router finale, assegna etichetta e la passa ai vicini.
durante costruzione del percorso si possono riservare
risorse
INTSE RV
INTEGRATED SERVICES
Tecnologia sviluppata dal 1995 al 1997 rivolta ad applicazioni unicast e multicast
caratteristiche sulle quali si basa:
• risorse riservate: i router devono conoscere la quantità di risorse (buffer, larghezza banda) riservate alle sessioni in corso
• impostazione della chiamata: la sessione che richiede
risorse deve verificare che siano disponibili per mezzo
della call setup
INTSE RV
INTEGRATED SERVICES
Contenuto della chiamata:
• Rspec: definisce la specifica QoS richiesta
• Tspec: caratteristiche del traffico che il mittente intende inviare
il formato cambia in funzione del servizio richiesto (RFC 2210, RFC 2215)
necessario un protocollo specifico per la chiamata: RSVP
(RFC 2210)
INTSE RV
INTEGRATED SERVICES
2 principali classi di servizio:
• servizio garantito:
definito in RFC 2212
limiti ben precisi ai ritardi di coda che un pacchetto può subire nel router
• servizio controllato:
definito in RFC 2211
QoS che si avvicina molto a quella di un elemento di rete dedicato, pensata per applicazioni multimediali
o percentuale molto alta pck non scartata e ritardi
prossimi a zero (?!?)
RSVP RSVP (Resource reSerVation Protocol)
CARATTERISTICHE:
• protocollo di segnalazione per prenotazione delle risorse
utilizzato anche per MPLS-TE
• il software RSVP deve essere implementato oltre che nei router anche negli end-node
• ideato per alberi multicast
unicast come caso particolare
• orientato al ricevente: il nodo ricevente deve iniziare e mantenere la prenotazione delle risorse
approccio soft state
permette utenze eterogenee
RSVP RSVP (Resource reSerVation Protocol)
RSVP RSVP (Resource reSerVation Protocol)
CARATTERISTICHE:
• sessione RSVP: uno o più flussi multicast (es. audio e video) che presentano lo stesso indirizzo multicast
• solo segnalazione, non stabilisce come attuarla!
DIFFSERV
DIFFERENTIATED SERVICES
Critiche a IntServ:
• scala: presume che router conoscano lo stato di ogni flusso che li attraversa
potenzialmente problematico nelle dorsali dove ci sono centinaia di migliaia di flussi
• modelli di servizio poco flessibili: contempla un numero
ristretto di classi di servizio
DIFFSERV
DIFFERENTIATED SERVICES
IETF ha sviluppato l’architettura DiffServ che non gestisce i flussi ma classi di servizio definibili dall’operatore
definita in RFC 2475
come consegna dei pacchi: priorità diverse a classi traffico diverse
basata su 2 gruppi funzionali: funzioni periferiche e
funzioni centrali
DIFFSERV
DIFFERENTIATED SERVICES
FUNZIONI PERIFERICHE:
• classificazione pacchetti
• condizionamento traffico
FUNZIONI CENTRALI:
• inoltro dei pacchetti in base al “comportamento per hop” (PHB) associato alla classe
• coppie sorgente-destinazione non contemplate: i sono pacchetti trattati in base a marcatura
scalabilità
DIFFSERV
DIFFERENTIATED SERVICES
• PHB definito come comportamento osservabile all’esterno
• ogni operatore può definire le classi di traffico
Attualmente lo standard definisce 2 tipologie di PHB:
• EE (Expedited forwarding):
2 classi:
regolare
accelerato: per piccola porzione del traffico, transita come se non ci fossero altri pacchetti nella rete
• AF (Assured Forwording): definisce 4 classi di traffico e ripartisce pacchetti su 3 code con priorità diversa nei casi di congestione e necessità di scarto dei pacchetti
12 classi di servizio!
SCHED ULIN G
SCHEDULING
Tipicamente i pacchetti vengono gestiti in code che possono presentare diverse strategie di funzionamento
TIPOLOGIE:
• FIFO
detta anche FCFS (First Come First Served)
in caso di coda piena si applica la pck discard policy
in out
SCHED ULIN G
SCHEDULING
TIPOLOGIE:
• CODE CON PRIORITA’
più code che differenziano il tipo di pacchetti
non preemptive: la trasmissione di un non viene
interrotta al sopraggiungere di un pacchetto di priorità più alta
in out
queue #1
queue #2
SCHED ULIN G
SCHEDULING
TIPOLOGIE:
• ROUND ROBIN
avvicendamento circolare tra le code
modalità conservativa: quando una classe è vuota vengono gestite le altre senza attendere
out queue #1
queue #2
queue #3
queue #4
queue #5
SCHED ULIN G
SCHEDULING
TIPOLOGIE:
• WFQ (Weighted Fair Queuing)
possibilità di garantire banda minima
out w1
w2
w3
w4
w5
SORVE GLIAN ZA
SORVEGLIANZA
CARATTERISTICHE DEL TRAFFICO:
• tasso medio
! importante definire il periodo utilizzato per la media:
100 pacchetti al secondo non è equivalente a 6000 pacchetti al minuto
• tasso di picco: media su un tempo molto breve
• dimensione burst
SORVE GLIAN ZA
LEAKY BUCKET
• algoritmo proposto da Turner nel 1986: sistema ad accodamento con singolo server a tempo di servizio costante
• trasforma un flusso irregolare in un flusso regolare
appianando i picchi
SORVE GLIAN ZA
LEAKY BUCKET
• direttamente implementabile in ATM dove le celle hanno dimensione fissa,
• applicazione con IP imponendo il numero di byte al secondo
• molto rigido imporre velocità fissa
algoritmo Token Bucket
SORVE GLIAN ZA
TOKEN BUCKET
• il secchio contiene dei token generati periodicamente
• per essere trasmesso un pacchetto deve catturare un token
burst regolamentati: il numero massimo dei token è prestabilito
pck