Internet Protocol 1
Universitàdi Palermo LA
Internet Protocol
Protocollo di internetworking (livello network)
Massima diffusione
Oggi rel. 4 (RFC 791 et al.)
Già definita la rel. 6 (RFC 2373 e 2460)
Servizio non orientato alla connessione
Internet Protocol 2
Universitàdi Palermo LA
Transportlayer
Networklayer
Data linklayer
Internet Network Layer
Protocollo IP• Convenzioni di addressing
• Formato datagram
• Convenzione gestionepacchetti
Protocolli di routing• Path selection
• RIP, OSPF, BGP
Protocollo ICMP• Report errori
• Routers signalling
Routingtable Mobile IP
Internet Protocol 3
Universitàdi Palermo LA
IP/CLNP Model
Network 1 Network 2
Host A
Upper layerProtocols
(ULP)
IP or CLNP
SNP-1
Host B
Upper layerProtocols
(ULP)
IP or CLNP
SNP-2
Router
SNP-1 SNP-n SNP-2
IP or CLNP RoutingTable
Internet Protocol 4
Universitàdi Palermo LA
Esempio di Internetworking
TCPIP
LLCMAC
Ph
TCP
IP
LLCMAC
Ph
IP
LLCMACPh
X.25-3X.25-2
X.21
IP
LLCMAC
Ph
X.25-3X.25-2
X.21
DTE
WAN X.25
DTE
LAN 802.3 LAN 802.3
Internet Protocol 5
Universitàdi Palermo LA
Sequenza Operazioni di incapsulamento
t1
TCP-HIP-H DataTCP-H
t7
DataIP-H TCP-Ht
6DataIP-H TCP-H
t12
DataIP-H TCP-Ht
13DataIP-H TCP-H
t18
DataIP-H TCP-H
t2
TCP-H DataIP-H TCP-HLLC1-Ht
3DataIP-H MAC1-TMAC1-H TCP-HLLC1-H
t4
DataIP-H MAC1-TMAC1-H TCP-HLLC1-Ht
5DataIP-H TCP-HLLC1-H
t9
DataIP-H X.25/2-TX.25/2-H TCP-HX25/3-H
t11
DataIP-H TCP-HX25/3-Ht
10DataIP-H X.25/2-TX.25/2-H TCP-HX25/3-H
t8
DataIP-H TCP-HX25/3-H
t14
DataIP-H TCP-HLLC2-H
t17
DataIP-H TCP-HLLC2-H
t15
DataIP-H MAC1-TMAC2-H TCP-HLLC1-Ht
16DataIP-H MAC1-TMAC2-H TCP-HLLC1-H
TCP
IPLLCMAC
Ph
TCP
IP
LLCMAC
Ph
IP
LLC
MACPh
X.25-3
X.25-2
X.21
IP
LLCMAC
Ph
X.25-3
X.25-2
X.21t
4
t5
t6
t1
t2
t3
t7
t8
t9
t11
t10
t12
t13
t14
t15
t16
t17
t18
Internet Protocol 6
Universitàdi Palermo LA
Datagram IP
Options Padding
TTL Protocol ID Header Checksum
Source IP Address
Destination IP Address
Identification Flags Fragment Offset
Version
4
IHL
4
TOS
8
Total Length
16
Data
Internet Protocol 7
Universitàdi Palermo LA
Version and IHL
Version -> Identificatore della versione di IP
Internet Header Length (IHL) ->Specifica la lunghezza dell’header IP (in word di 32 bit)
Version
4
IHL
4
Internet Protocol 8
Universitàdi Palermo LA
Type of Service
Version
4
IHL
4
TOS
8
In passato poco usato
Anche ora campo non sempre utilizzato
Definizione originale in RFC 791
Ridefinizione in RFC 1349
Fondamentale per architettura DiffServ (RFC 2474, 2475, …)
Cambiato in IPv6
Internet Protocol 9
Universitàdi Palermo LA
Struttura field ToS
0 1 2 3 4 5 6 7
Precedence ToS(DTR)
Unused
(RFC 791)
(RFC 1349)
0 1 2 3 4 5 6 7
Precedence ToS MBZ
Internet Protocol 10
Universitàdi Palermo LA
Bits Precedence
000 - Routine
001 - Priority
010 - Immediate
011 - Flash
100 - Flash override
101 - CRITIC/ECP
110 - Internetwork Control
111 - Network Control
Internet Protocol 11
Universitàdi Palermo LA
Bits ToS in RFC 791
Normal/High Delay
3 4 5
Normal/High Throughput
Normal/High Reliability
Internet Protocol 12
Universitàdi Palermo LA
Bits ToS in RFC 1349
Totale ridefinizione della semantica dei bit
3 4 5 6
0000 – Normal service
0001 – Minimize monetary cost
0010 – Maximize reliability
0100 – Maximize throughput
1000 – Minimize delay
Internet Protocol 13
Universitàdi Palermo LA
Field ToS e DiffServ
Architettura e caratteristiche DiffServ definite in RFC 2474, 2475, 2598 e 2697
DSCP = DiffServ Code Point Compatibile con la definizione di Precedence
0 1 2 3 4 5 6 7
DSCP ECN
Field ToS
ECN = Explicit Congestion Notification (RFC 3168)
DS5 DS4 DS3 DS2 DS1 DS0DSCP
Internet Protocol 14
Universitàdi Palermo LA
DSCP
DiffServ utilizza i tre bit più significativi (DS5, DS4 e DS3)
per definire la priorità in modo compatibile con la RFC 1349
DiffServ offre una definizione più fine utilizzando i tre bit successivi
DSCP
08
162432404856
000 000001 000010 000011 000100 000101 000110 000111 000
Precedence
01234567
Scopo
Best effortClass 1Class 2Class 3Class 4Express ForwardingControlControl
Internet Protocol 15
Universitàdi Palermo LA
DSCP cont
Per ognuna delle 4 classi - che prendono il nome di Assured Forwarding (AF) –
vengono definiti dei livelli (Low, Medium e High) di scarto dei pacchetti
Drop Class 1 Class 2 Class 3 Class 4DSCP 10001 010AF 11
Low(Gold)
Medium(Silver)
High(Bronze)
DSCP 18010 010AF 21
DSCP 26011 010AF 31
DSCP 34100 010AF 41
DSCP 12001 100AF 12
DSCP 20010 100AF 22
DSCP 28011 100AF 32
DSCP 36100 100AF 42
DSCP 14001 110AF 13
DSCP 22010 110AF 23
DSCP 30011 110AF 33
DSCP 38100 110AF 43
Internet Protocol 16
Universitàdi Palermo LA
Expedited Forwarding
Il servizio Expedited Forwarding (EF) ha un DSCP 46 (101 110)
La RFC 2598 ha definito un servizio Expedited Forwarding
Immaginato per consentire di offrire agli utenti un servizio
avente attributi simili ad una linea leased
Si offre il meglio in termini di low loss, low latency e low jitter
Internet Protocol 17
Universitàdi Palermo LA
Total Length
Version
4
IHL
4
TOS
8
Total Length
16
Lunghezza totale del datagram (compreso l’header) in ottetti
2 = 65536 ⇒ Un datagram IP non può essere più lungo di 65536 ottetti16
Internet Protocol 18
Universitàdi Palermo LA
ID, Flags e Fragment offset
Identification Flags Fragment Offset
Version
4
IHL
4
TOS
8
Total Length
16
More fragmentsDon't fragment
0
Identification - Numero intero identificativo del datagram
Fragment offset - Inizio del fragment in unità da 64 bit
Internet Protocol 19
Universitàdi Palermo LA
Processo di frammentazione
L-Dati: multipla 64
More fragments: 1
Offset: 0
Header
Data
Fragment 1
Data
Datagramoriginale
Header
Data
Fragment 2
Header
L-Dati: rimanente
More fragments: 0
Offset: calcolato
Internet Protocol 20
Universitàdi Palermo LA
Vincoli di IP
IP richiede che ciascun link abbia una MTU non minore di 68 ottetti
68 deriva da:
� Lunghezza massima dell’header IP (60 ottetti)
� Lunghezza minima del campo data in un frammento non finale (8 ottetti)
E’ richiesto che le diverse implementazioni di IP elaborino frammenti di almeno 576 ottetti
In effetti le diverse implementazioni elaborano frammenti più grandi
Tipicamente 8192 ottetti e raramente minori di 1500
Internet Protocol 21
Universitàdi Palermo LA
Esempio Frammentazione
128.3MTU =1500
136.52MTU = 256
147.163MTU = 620A B
ID = 7486M = 1OF = 0TL = 252
1
ID = 7486M = 1OF = 29TL = 252
2
ID = 7486M = 1OF = 58TL = 156
3
ID = 7486M = 1OF = 75TL = 252
4
ID = 7486M = 0OF = 104TL = 80
5
ID = 7486IHL = 5M = 0OF = 0TL = 910
M = More Fragment
OF = Offset [word da 64 bit]
TL = Total Length [oct]
IHL = In. H. Len. [word da 32 bit]
ID = 7486M = 1OF = 0TL = 620
1
ID = 7486M = 0OF = 75TL = 312
2
Internet Protocol 22
Universitàdi Palermo LA
Riassemblaggio dei Frammenti
Routers connection-less non possono riassemblare i datagram
Routers connection-oriented potrebbero riassemblare i datagram
Riassemblaggio alla destinazione finale
Riassemblaggio in base a: IDENTIFICATION, FLAGS e FRAGMENT OFFSET
Frammenti in arrivo in fuori ordine
Internet Protocol 23
Universitàdi Palermo LA
Failure sui frammenti
Problema:
� Riassemblaggio impossibile se anche un solo frammento è perso
� Necessario rivelare il problema
� Timer di re-assembly
� Scatta al primo frammento in arrivo
� Se timeout prima dell’arrivo dell’ultimo frammento,allora tutti gli altri frammenti sono scartati
� IP usa il TTL
� Superando il numero max di hops, (se TTL = 0) i frammenti sono scartati
Internet Protocol 24
Universitàdi Palermo LA
Esempio Riassemblaggio
17
29
8
In uscita dal router B, 2 possibili path: router Y e Z
ID = 7486M = 1OF = 0TL = 252
1
ID = 7486M = 1OF = 29TL = 252
2
ID = 7486M = 1OF = 58TL = 156
3
ID = 7486M = 1OF = 75TL = 252
4
Dal router Y
Dal router Z
Time
29
29
29x8 = 232
0x8 = 0
104x8 = 832
58x8 = 464
75x8 = 600
ID = 7486M = 0OF = 104TL = 78
5
Internet Protocol 25
Universitàdi Palermo LA
TTL, Protocol ID e Checksum
TTL Protocol ID
TTL -> Numero massimo di hop
Protocol ID -> Identifica il protocollo sopra IP nella destinazione
Identification Flags Fragment Offset
Version
4
IHL
4
TOS
8
Total Length
16
Internet Protocol 26
Universitàdi Palermo LA
Internet Protocol Numbers
O - Reserved
1 ICMP Internet Control Message Protocol
2 IGMP Internet Group Management Protocol
3 GGP Gateway to Gateway Protocol
4 IP IP Encapsulation
5 ST Stream
6 TCP Transmission Control Protocol
8 EGP Exterion Gateway Protocol
17 UDP User Datagram Protocol
29 ISO-TP4 ISO Transport Class 4
89 OSPF Open Shortst Path First
80-254 - Unassigned
255 - Reserved
(RFC 1700 – Assigned Numbers)
Internet Protocol 27
Universitàdi Palermo LA
Header Checksum
ChecksumTTL Protocol ID
Identification Flags Fragment Offset
Version
4
IHL
4
TOS
8
Total Length
16
Checksum del solo header
Somma in complemento ad 1 di tutte le word da 16 bit presenti nell’header
All’arrivo se la checksum non è uguale a quella
calcolata localmente il datagram viene scartato
Internet Protocol 28
Universitàdi Palermo LA
Source & Destination Addresses
Source IP Address
Destination IP Address
TTL Protocol ID Header Checksum
Identification Flags Fragment Offset
Version
4
IHL
4
TOS
8
Total Length
16
Internet Protocol 29
Universitàdi Palermo LA
Options & Padding
Options di lunghezza variabile
(Ø ≤ Len ≤ 40 ottetti)
Padding
Puro completamento a 32 bit
Options Padding
TTL Protocol ID Header Checksum
Source IP Address
Destination IP Address
Identification Flags Fragment Offset
Version
4
IHL
4
TOS
8
Total Length
16
Internet Protocol 30
Universitàdi Palermo LA
Campo Options
Code Length Option Data
1 Octet 1 Octet n Octets
Copy Class Number
Due tipi di format:
Code
1 Octet
Internet Protocol 31
Universitàdi Palermo LA
Option Code
Copy Class Number
0 = not copied
1 = copied
Copy flag
0 = Datagram or Network control
1 = Reserved for future use
2 = Debugging and measurement
3 = Reserved for future use
Option Class
Internet Protocol 32
Universitàdi Palermo LA
Option Codes
1 No operation0 0
2 Security0 11
Loose Source and Record Route3 0 var
Record Route7 0 var
Stream Identifier (obsolete)8 0 4
Strict Source Routing9 0 var
Internet Time-stamp4 2 var
End of option list0 0 0
Number Class Length
Internet Protocol 33
Universitàdi Palermo LA
Record Route Option
Lista degli indirizzi dei routers attraversati
Necessità di un numero di entries disponibili sufficiente
Necessità di un agreement (con ULP) tra source e destination
1 Octet 1 Octet 1 Octet
Code Length Pointer
First IP address
Second IP address
Third IP address
Internet Protocol 34
Universitàdi Palermo LA
Source Route options
2 forme: • Strict Source and Record Route
• Loose Source and Record Route
Il sender (il suo ULP) – e non la rete – definisce il percorso
Accoppiato al Source Routing Record Route
Percorso definito tramite Pointer e List
Code Length Pointer Route data
Internet Protocol 35
Universitàdi Palermo LA
Strict Source and Record Route
Operazione di instradamento rigida
Initial value for Pointer - 4
Route data composed of a series of IP addresses (4 octets)
1 Octet 1 Octet 1 Octet
Code Length Pointer First IP address
4 Octet
First step: IP uses the Pointer to locate the next address
Second step: IP places its own address in the route data field
Third step: IP increments the pointer value by 4
Internet Protocol 36
Universitàdi Palermo LA
Strict Source and Record Route
Ogni gateway – 2 Addresses
Nel passaggio da un address al successivo un solo hop
A destinazione lista degli (output) addresses visitati
Host 1 Host 2
Network A
Network B
Network C
Internet Protocol 37
Universitàdi Palermo LA
Strict Source and Record Route
Router DataPointerLengthCode
128.2.3.4 128.7.8.9 147.165.28.1 172.26.34.8Pointer
Usa questo address perdeterminare l’hop successivo
128.9. 4.16 128.7.8.9 147.165.28.1 172.26.34.8Pointer
Scrive qui l’IP address locale
128.9.4.16 128.7.8.9 147.165.28.1 172.26.34.8Pointer
Incrementa Pointer di 4e punta al next address
Internet Protocol 38
Universitàdi Palermo LA
Loose Source and Record Route
Option di instradamento lasco
Formato come per Strict Source Route
Tra due indirizzi IP successivi possibili più networks
Nel passaggio da un address al successivo consentiti più hop
Registrati solo gli addresses (di uscita) delle reti indicate
Internet Protocol 39
Universitàdi Palermo LA
Timestamp Option
Lista formata da: • Addresses dei routers
• Istanti di attraversamento
DataPointerLengthCode
1 Octet 1 Octet 1 Octet
IP address 1 Time-stamp 1 IP addres n Time-stamp nFlagsOflw
4 bits 4 bits
Oflw = Number of gateways that not supply a time-stamp
Flags = • 0 Record only time-stamps
• 1 Time-stamp and IP address
• 3 IP addresses specified by sender
Internet Protocol 40
Universitàdi Palermo LA
Frammentazione, opzioni, etc
Header dei frammenti ≈ Header del datagram originale
Variazioni: � Flag More fragment
� Fragment offset
� Total length
� Checksum
Opzioni: � Record route Not copied
� Strict Source Route Copied
� Loose Source Route Copied
� Timestamp Not copied
Internet Protocol 41
Universitàdi Palermo LA
Primitive IP
IP
Send Deliver
Send {Source_Address,Destination_Address,Protocol,Type_of_Service,Identification,No_Fragment_Flag,Time_to_Live,Data_Length,Options_Data,Data
}
Deliver {Source_Address,Destination_Address,Protocol,Type_of_Service,
Data_Length,Options_Data,Data
}
Internet Protocol 42
Universitàdi Palermo LA
Internet Check Routine
Controlli eseguiti da un router alla ricezione di un datagram:
� Lunghezza dell’header IP valida
� Numero di versione IP corretto
� Lunghezza del messaggio IP valida
� Checksum dell’header IP corretta
� Campo TTL non nullo
Se uno o più controlli non passati � Discard
Internet Protocol 43
Universitàdi Palermo LA
IP Forwarding Process
Internet Protocol 44
Universitàdi Palermo LA
IPv6
IPv4 nato nel 1981
Oggi altri numeri e altre esigenze
IPv4 con spazio di addressing ≈ 4,3 Mld
Spazio degli indirizzi con assegnazione disordinata
Nel 1981 concetto ed utilità del ToS molto diversi da oggi
Appena previsto il Multicast
Ignorati gli utenti mobili
Ignorati i problemi della sicurezza
Internet Protocol 45
Universitàdi Palermo LA
Nascita di IPv6
Nel 1992 la IETF emana una richiesta di proposte per IPng
In Jan 1995: RFC 1752 - Recommendation for IP Next Generation Protocol
In Jul 1998: RFC 2373 – IP version 6 Addressing Architecture
In Dec 1998: RFC 2460 – Internet Protocol Version 6 Specification
Problemi derivanti dalla incompatibilità
Sperimentazioni fatte ed in corso
Rete 6Bone (www.6bone.net)
� Incapsulamento
� Traduzione di protocollo
Risoluzione con:
Internet Protocol 46
Universitàdi Palermo LA
Miglioramenti di IPv6
� Gestione delle opzioni migliorata
� Migliore gestione delle risorse di rete
� Maggiore flessibilità dell’indirizzamento
� Autoconfigurazione dell’indirizzo (Assegnazione dinamica dell’indirizzo)
� Maggiore spazio di indirizzamento (128 bit) 3,4 X 10 indirizzi34
� Circa 2,6 x 10 IP address / mq (compreso oceani)24
� Possibilità nativa di criptazione ed autenticazione
Internet Protocol 47
Universitàdi Palermo LA
Variazioni IPv6 ⇔ IPv4
Assenza di frammentazione nei routers intermedi
Risultato maggiore velocità
Nessun calcolo di checksum (controllo errore a livelli inferiore e superiore)
Risultato maggiore velocità
Assenza di opzioni nell’header standard (header con lunghezza fissa 40 ottetti)
Risultato maggiore velocità
Nuovo protocollo ICMP
Internet Protocol 48
Universitàdi Palermo LA
Datagram IPv6
Version
4 8
Flow Label
20
Traffic Class
Payload Length Next Header Hop Limit
Payload
Source IP Address
Destination IP Address
Optional Headers
Internet Protocol 49
Universitàdi Palermo LA
IPv6 Structure
ApplicationData
TCP Header
Destination OptionsHeader
Fragment Header
Routing Header
Hop-by-HopOptions Header
IPv6 standard Header 40 ottetti
8 ottetti
ExtensionHeadersopzionali
IPv6packetbody
Internet Protocol 50
Universitàdi Palermo LA
Header Fields
Version 6
Traffic class Classi di priorità dei pacchetti
Flow label Usata da host che richiedono un trattamento speciale
Payload length Comprende tutti gli extension headers e gli user data
(In altri termini Total Length – 40)
Next Header
Hop limit
Identifica il tipo di header
Il vecchio TTL più esplicito
Internet Protocol 51
Universitàdi Palermo LA
Traffic Class
Discendente dal campo ToS di IPv4
Internet Protocol 52
Universitàdi Palermo LA
IPv6 addresses
Indirizzi con 128 bit suddivisi in 8 gruppi da 16 bit
Rappresentazione con 8 numeri esadecimali separati da :
402F : 5E4A : 04FF : 00E8 : 876B : 0009 : 67F2 : 346C
Molto più difficili da ricordare degli address IPv4
Internet Protocol 53
Universitàdi Palermo LA
IPv6 addresses (2)
3 tipi di address:
Address come identificatore di interfaccia
Un’interfaccia può avere più indirizzi unicast
Delivery a tutte le interfacce identificate
Delivery ad un host qualsiasi di un gruppoin pratica il più vicino
Delivery ad una singola intefaccia
� Unicast
� Anycast
� Multicast
Internet Protocol 54
Universitàdi Palermo LA
IPv6 adresses (3)
Forma convenzionale per rappresentazione IPv6 address come text string
0000:00A9:0000:C4D6:FEDC:BA98:7654:3210
0:A9:0:0:C4D6:FEDC:BA98:7654:3210
0:A9::C4D6:FEDC:BA98:7654:3210
Colon ex notation
Possibile non indicare gli zeri iniziali di ciascuna word
Possibile saltare una word zero
Possibile lasciare gli ultimi 32 bit nella dot decimal notation
0:A9::C4D6:FEDC:BA98:118.84.50.16
Internet Protocol 55
Universitàdi Palermo LA
Address Autoconfiguration
Due metodi: Stateless and Stateful
� Un sistema usa inizialmente un address “link-local”e trasmette in multicast a "All routers on this link“
� Il router risponde e fornisce la parte rimanente dell’address
Stateless:
� Il trasmette in multicast a “Tutti i server DHCP"
Stateful:
Problema con metodo Stateless: Chiunque può connettersi
� Il server DHCP assegna un indirizzo
� Router chiede al nuovo sistema di rivolgersi al server DHCP
Internet Protocol 56
Universitàdi Palermo LA
Extension Headers
Headers opzionali in quantità variabile (anche nulla)
Posti tra header obbligatorio e payload
Ogni extension header identificato dal campo Next header precedente
Ogni extension header contiene un campo Next header
TCP header + DataIPv6 header
Next header = TCPHopLimit
IPv6 headerNext header=Routing TCP header + Data
Routing headerNext header=TCP
HopLimit
IPv6 headerNext header=Routing
Routing headerNext header=Fragment
TCP header + DataFragment headerNext header=TCP
HopLimit
Internet Protocol 57
Universitàdi Palermo LA
Extension Headers (2)
Field Next Header individua il tipo dell’header successivo
0
43
44
51
59
60
Hop-by-hop
Routing
Fragment
Authentication
No next header
Destination
Upper Layer Protocol6, 17, etc
Internet Protocol 58
Universitàdi Palermo LA
Extension Headers (3)
Extension headers (di regola) non elaborati nei nodi intermedi
Unica eccezione Hop-by-Hop extension header
Ogni header determina l’elaborazione del successivo
Elaborazione nell’ordine di comparsa
Lunghezza degli Extension header multipla di 8 ottetti
Ordine di sequenza raccomandato
Internet Protocol 59
Universitàdi Palermo LA
Extension Headers (4)
Hop-by-Hop options header
Options
Next header Hdr Ext Len
8 8 16
Informazioni opzionali che devono essere analizzate da ogni router lungo il percorso
Next header = Tipo di header successivo
Header Extension Length = Lunghezza dell’header in unità di 64 bit esclusa la prima
Options = Una o più options consecutive sotto forma di 3 subfields (Type, Length e Data)
Internet Protocol 60
Universitàdi Palermo LA
Extension Headers (5)
Type = (8 bit) definizione dell’option
Inutilizzati
Azione da prendere da parte dei nodi che non riconoscono l’option
00 – Skip the option
01 – Discard the packet
10 – Discard the packet and send an ICMP message
11 – Discard the packet and send an ICMP message
only if Destination address is not Multicast
Internet Protocol 61
Universitàdi Palermo LA
Extension Headers (6)
Change/Not change bit
0 = Option Data field does not change from source to destination
1 = Option Data field may change from source to destination
Internet Protocol 62
Universitàdi Palermo LA
Extension Headers (7)
Length = (8 bit) lunghezza in ottetti
Data = (variabile) specifica dell’option
Option identification
Oggi definite 4 Options:
Pad1
PadN
Jumbo payload
Router alert
Internet Protocol 63
Universitàdi Palermo LA
Extension Headers (8)
Routing options header
Elenco di router da attraversare
Type = Ad oggi definito solo Ø
Segments left = Numero di nodi che rimangono da visitare prima della destinazione
Next header Hdr Ext Len
8 8 16
Type Segments left
Address n
Address 1
Reserved
Internet Protocol 64
Universitàdi Palermo LA
Extension Headers (9)
Fragment options header
In IPv6 i nodi intermedi non possono frammentare i pacchetti
Solo il source node può frammentare un pacchetto
Con IPv6 tutte le reti devono supportare pacchetti con lunghezza di 1280 ottetti
Prima di inviare un pacchetto un nodo deve apprendere la MTU per una destinazione
Nel caso di frammentazione ciò avviene in modo simile a IPv4
Next header Reserved
8 8 13
Identification
2 1
Fragment Offset Res M
Internet Protocol 65
Universitàdi Palermo LA
Extension Headers (10)
Destination options header
Informazione opzionale esaminata solo a destinazione
e.g. Authentication
Options
Next header Hdr Ext Len
8 8 16
Internet Protocol 66
Universitàdi Palermo LA
Mobile IP
In passato solo utenti statici
Oggi, sempre più frequentemente, utenti mobili
Diversi tipi di mobilità con problemi differenti
L’utente si sposta ma,
dal punto di vista
dello strato di rete,
è come se non lo
facesse.
Internet Protocol 67
Universitàdi Palermo LA
Mobile IP (2)
Caso intermedio:
Ufficio Casa
Internet Protocol 68
Universitàdi Palermo LA
Mobile IP (3)
Cosa serve all’utente che si sposta circa il suo IP address ?
All’utente praticamente statico non serve nulla di particolare
All’utente che usa il notebook un po’ in ufficio ed un po’ a casa può andare bene il
servizio fornito dal DHCP con il quale in ogni luogo ha fornito un IP address diverso,
perché abbattendo la connessione prima di spostarsi, l’ULP funziona bene anche con
IP address differenti
Totalmente differente è la situazione dell’utente che si sposta velocemente
volendo mantenere la connessione
Internet Protocol 69
Universitàdi Palermo LA
Mobile IP (4)
Perché un’applicazione possa comunicare con un’entità remota, deve conoscere
il suo Network address ed il Transport address (con Internet la porta)
Problema della comunicazione con qualcuno che si sposta
Home network
home agent
Foreign network
foreign agent
Correspondent
Internet Protocol 70
Universitàdi Palermo LA
Mobile IP (5)
Un host mobile potrebbe:
Nel primo caso sarebbe necessario aggiornare tutti gli host che
possono avere necessità di comunicare con lui - in pratica tutti
gli host esistenti – ogniqualvolta cambia il suo IP address
� assumere IP address variabili al variare della rete in cui si trova
� mantenere un IP address invariabile
Soluzione praticamente non scalabile
Soluzione adottata: Mantenere l’IP address nativo (nella Home network)
Internet Protocol 71
Universitàdi Palermo LA
Mobile IP (6)
Conseguenza: Gli altri host per comunicare con il mobile
devono farlo attraverso la Home network
Il Foreign agent assegna al mobile un COA (Care Of Address)
formato dalla Network-ID della Foreign network e dall’Host-ID
del mobile (nei limiti del possibile)
Il Foreign agent informa l’Home agent della posizione del mobile (il suo COA)
A questo punto 2 possibilità:◊ Indirizzamento indiretto
◊ Indirizzamento diretto
Internet Protocol 72
Universitàdi Palermo LA
Mobile IP (7)
Indirizzamento indiretto
Correspondent
Home network147.163.57/24
Permanent address147.163.57.13
Foreign network
foreign agent
168.215.18/24
Permanent address147.163.57.13
COA168.215.18.13
home agent
WAN
Internet Protocol 73
Universitàdi Palermo LA
Mobile IP (8)
Cosa serve per l’instradamento indiretto
Un protocollo tra mobile e foreign agent perché il mobile si possa registrare
presso la foreign network e al contrario sconnettersi.
Un protocollo tra foreign agent e home agent per la registrazione del COA
presso l’home agent
Un protocollo di incapsulamento presso l’home agent
Un protocollo di disincapsulamento presso il foreign agent
Internet Protocol 74
Universitàdi Palermo LA
Mobile IP (9)
Indirizzamento diretto
Instradamento indiretto � Inefficienza (per rinvio a triangolo)
Instradamento diretto:
� Home agent comunica il COA ad un Correspondent agent
� Correspondent comunica con il mobile tramite il Correspondent agent
Più efficiente ma più complesso
Internet Protocol 75
Universitàdi Palermo LA
Mobile IP (10)
Home network147.163.57/24
Foreign network168.215.18/24
Permanent address147.163.57.13
COA168.215.18.13
home agent
Permanent address147.163.57.13
WAN
Correspondent
correspondentagent
foreign agent
Internet Protocol 76
Universitàdi Palermo LA
Mobile IP (11)
Instradamento diretto = Maggiore velocità
ma anche
Maggiore complessità
Il correspondent agent deve apprendere il COA del mobile
Complicazione nel caso di movimento del mobile da una rete ad un’altra
Due possibilità:� Il nuovo foreign agent comunica al correspondent agent il nuovo COA
� Il nuovo foreign agent comunica il nuovo COA al vecchio foreign agentche provvede a inoltrare i datagram
In ogni modo protocolli aggiuntivi e maggiore complicazione
Internet Protocol 77
Universitàdi Palermo LA
Mobile IP (12)
Mobile IP definito in RFC 3220 (Jan 2002)
Instradamento indiretto
Standard molto articolato con svariati modi di funzionamento
3 componenti: � Protocolli per la scoperta degli agenti
� Protocolli per la registrazione presso l’home agent
� Regole di instradamento
Fondamentale importanza della Autenticazione
Internet Protocol 78
Universitàdi Palermo LA
Mobile IP (13)
Scoperta degli agenti
Due procedimenti possibili:
¤ Annunci degli agenti
¤ Richiesta agli agenti
Ambedue basati sul protocollo di scoperta dei router definito in RFC 1256
Protocollo basato sullo scambio di messaggi ICMP
Con Annuncio degli agenti agenti trasmettono periodicamente in broadcastun messaggio ICMP con Type = 9 ed Extension
Internet Protocol 79
Universitàdi Palermo LA
Mobile IP (14)
Num Addrs = The number of router addresses advertised in this message.
Addr Entry Size = The number of 32-bit words of information per each router address
Registration Lifetime = The longest lifetime (measured in seconds) that this agentis willing to accept in any Registration Request
8 8 16
Type = 9 Code = 0 Checksum ICMP
Sequence Number
Router Address [1]
Num Addrs Addr Entry Size
Type = 16 Length Sequence Number
Zero or more Care-Of-Addresses
Registration Lifetime reservedR B H F M G r T
Internet Protocol 80
Universitàdi Palermo LA
Mobile IP (15)
Con Richiesta agli agenti il mobile trasmette in broadcast un messaggiodi scoperta router a cui l’agent risponde
Una volta ottenuto un COA, questo viene registrato presso l’Home agent,solitamente da parte del Foreign agent
Operata la registrazione (con autenticazione) il sistema può operare
Internet Protocol 81
Universitàdi Palermo LA
Mobile IP (16)
Vantaggi di Mobile IP
La posta è consegnata con continuità
Si può iniziare una sessione telnet, ssh o x-window come in locale
Possibilità di accesso continuo alle risorse della home network
Possibile uso del computer mentre ci si sposta in auto o simili
I routers vengono trovati automaticamente
Soltanto le unità mobili e i routers “Mobility aware” richiedono nuovo s/w
Gli altri routers e host possono usare il protocollo IP normale
Garantisce sicurezza tramite l’autenticazione
Internet Protocol 82
Universitàdi Palermo LA
Mobile IP (17)
Situazione attuale (Dec 2003)
Soltanto alcuni routers di nuova generazione supportano Mobile IP
Il S.O. Windows non supporta Mobile IP in modo nativo
Il S.O. UNIX non supporta Mobile IP in modo nativo
Esistono dei software aggiuntivi che permettono il supporto di Mobile IP