Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol...

82
Internet Protocol 1 Università di Palermo L A 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

Transcript of Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol...

Page 1: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 2: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 3: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 4: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 5: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 6: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 7: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 8: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 9: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 10: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 11: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

Internet Protocol 11

Universitàdi Palermo LA

Bits ToS in RFC 791

Normal/High Delay

3 4 5

Normal/High Throughput

Normal/High Reliability

Page 12: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 13: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 14: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 15: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 16: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 17: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 18: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 19: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 20: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 21: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 22: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 23: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 24: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 25: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 26: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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)

Page 27: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 28: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 29: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 30: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 31: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 32: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 33: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 34: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 35: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 36: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 37: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 38: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 39: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 40: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 41: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

}

Page 42: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 43: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

Internet Protocol 43

Universitàdi Palermo LA

IP Forwarding Process

Page 44: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 45: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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:

Page 46: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 47: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 48: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 49: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 50: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 51: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

Internet Protocol 51

Universitàdi Palermo LA

Traffic Class

Discendente dal campo ToS di IPv4

Page 52: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 53: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 54: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 55: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 56: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 57: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 58: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 59: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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)

Page 60: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 61: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 62: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 63: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 64: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 65: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 66: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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.

Page 67: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

Internet Protocol 67

Universitàdi Palermo LA

Mobile IP (2)

Caso intermedio:

Ufficio Casa

Page 68: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 69: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 70: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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)

Page 71: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 72: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 73: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 74: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 75: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 76: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 77: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 78: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 79: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 80: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 81: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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

Page 82: Internet Protocol Protocol.pdf · Internet Protocol 1 Università di Palermo LA Internet Protocol Protocollo di internetworking (livello network) Massima diffusione Oggi rel. 4 (RFC

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