4 Livello Ip Parte1 Color

44

Transcript of 4 Livello Ip Parte1 Color

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.1

PARTE 4

LIVELLO IP

(La �dorsale� di Internet)

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.2

Modulo 1:

Importanza del livello IP

Parte 4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.3Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Suite di protocolli TCP/IP

Host-to-

network

Transport

Application

Applicativi di rete

Network(IP) INTERNET

4.3

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.4Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Il successo continuo

e costante di Internet

Numero di host collegati ad Internet 1969 41979 2001989 100.000Gennaio 1993 1.313.000Gennaio 1994 2.217.000Gennaio 1995 4.852.000Gennaio 1996 9.472.000Gennaio 1997 16.146.000Gennaio 1998 29.670.000Gennaio 1999 43.230.000Gennaio 2000 72.340.000Gennaio 2001 109.574.000Gennaio 2002 147.344.000 Gennaio 2003 171.638.000Gennaio 2004 233.101.000 Gennaio 2005 317.646.000Gennaio 2006 394.992.000Gennaio 2007 433.194.000Gennaio 2008 541.677.000Gennaio 2009 625.226.000

Tutti gli host collegati ad

Internet devono essere

�identificati� in modo univoco

Fonte: www.isc.org

4.4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.5Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Il numero di host in Internet

4.5

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.6Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Funzioni del livello network

1. Si definisce l�unità di trasferimento dati� Definisce l�unità informativa utilizzata da Internet per trasferire dati

� datagram (da 64 a 1500 byte)

2. Si garantisce l�indirizzamento univoco degli host� Tutti gli host collegati a Internet devono essere identificati ed in

modo esclusivo � indirizzo IP

3. Si chiarisce l�architettura di Internet� Definisce i componenti fondamentali di una rete distribuita su scala

geografica � router, Autonomous Systems

4. Si illustrano le diverse funzioni di routing� Gli algoritmi di routing determinano il percorso nell�ambito di una

rete geografica attraverso il quale si consegnano i datagram� Caratteristica best-effort: la consegna dei datagram è non affidabile

4.6

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.7Protocolli e Architetture di Rete 2009/2010 � Livello Internet

NOTA: altri tipi di protocolli

� Non tutti i protocolli operanti a livello �network�

forniscono un servizio di consegna di pacchetti non

affidabile

� Ad esempio, vi sono vari protocolli (usati nell�ambito delle

telecomunicazioni) che forniscono un �circuito virtuale� tra

mittente e destinatario anche a livello �network�:

� X.25 (praticamente estinto)

� Frame Relay (popolare in Europa negli anni �90, ora in declino)

� ATM (Asynchronous Transfer Mode, in declino anch�esso)

Internet: livello network connection-less

Telefonia: livello network connection-oriented4.7

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.8

Modulo 2:

Packet switching vs

Circuit switching

Parte 4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.9Protocolli e Architetture di Rete 2009/2010 � Livello Internet

La prima idea rivoluzionaria:Packet switching

� 1961: Kleinrock mediante la teoria delle reti di

code dimostra l�efficacia delle comunicazioni

packet- switching

� Per tutti gli anni �60 (e molti anche in seguito�), gli �esperti� di telecomunicazioni, sostenitori delle comunicazioni circuit-switching, sentenziavano �It will never work�

[da �La storia di Internet scritta da coloro che l�hanno creata�, 1997]

4.9

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.10Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Due modalità per trasferire dati

� Circuit switching� Un circuito virtuale dedicato per ogni comunicazione

� Packet switching

� I dati sono suddivisi in �parti� ed inviati attraverso la rete

� L�idea alla base di Internet

� L�idea alla base del sistema telefonico

4.10

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.11Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Circuit switching

� Necessità di riservare tutte le risorse

(link e switch) end-to-end prima di

trasmettere

� Avere risorse dedicate

� CONTRO� Non c�è possibilità di condividere le risorse assegnate

� Necessaria una fase di setup per ogni chiamata

� PRO� Prestazioni garantite rispetto alla tipologia di risorse riservate

4.11

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.12Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Multiplexing

� Il multiplexing (condivisione) di risorse è

indispensabile per ottimizzare il loro utilizzo

Deterministico nel circuit switching: � Time-Division Multiplexing (TDM)

� Frequency-Division Multiplexing (FDM)

Probabilistico nel packet switching

L1

L2

L3

R1

R2

R3Switch 1 Switch 2

4.12

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.13Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Multiplexing nel circuit switching

Anche nel circuit switching lerisorse di rete (per es., la banda)non sono completamentededicate, ma suddivise in �parti�� Le parti sono assegnate alle

chiamate� Le parti di risorse, riservate per una

chiamata, non sono utilizzabili da altre anche se non sono utilizzabili dalla chiamata che le possiede (non c�è possibilità di condivisione)

� Vi sono due metodi per suddividere la risorsa (link):� Metodi basati sulla frequenza

(FDM)

� Metodi basati sul tempo (TDM)

(Frequency Division Multiplexing)

(Time Division Multiplexing)

4.13

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.14Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Packet switching

Ogni comunicazione è suddivisa in pacchetti

� I pacchetti condividono le risorse della rete

� Ogni pacchetto utilizza tutta la capacità trasmissiva di un link

� Le risorse sono utilizzate sulla base della necessità e

non della prenotazione

Prenotazione delle risorse

Assegnamento esclusivo

Divisione della banda in parti

4.14

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.15Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Multiplexing statistico del packet switching

� Si può dire che il packet switching segua un principio di multiplexing statistico a suddivisione di tempo, ma su richiesta invece che a intervalli prefissati (come nel caso del TDM del circuit switching)

� Pacchetti provenienti da diverse sorgenti sono �mescolati� sullo stesso link

� Poiché non c�è garanzia di avere una risorsa disponibile, ci può essere conflitto

� I pacchetti in conflitto per lo stesso link sono inseriti in un buffer del router

�Analogia del ristorante�� Circuit switching = con prenotazione del tavolo� Packet switching = senza prenotazione

4.15

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.16Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Gestione del conflitto

� Si bufferizzano i pacchetti in conflitto per lo stesso link

� Il buffer determina in pratica una coda di pacchetti che può essere processata in ordine FIFO (First-In-First-Out), ma non necessariamente (es., in base alla priorità)

� Congestione = riempimento del buffer

buffer

destin.

sorg.

sorg.

sorg.

4.16

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.17Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Trasmissioni e conflittinel packet switching

Comunicazione store and forward:

(i pacchetti si muovono di un hop alla volta)1. trasmessi su un link, arrivano ad un router2. aspettano (presso il router), il loro turno per poter essere

trasmessi sul successivo

Conflitto di risorse

� La domanda aggregata di risorse può eccedere la quantità disponibile

� Non essendoci prenotazione, si possono creare congestioni (impreviste):� i pacchetti rimangono accodati (se c�è spazio) in attesa di poter utilizzare il

link

� Se la coda è piena, il pacchetto viene perduto (senza avvisi!)

� Possibilità di utilizzare un link differente a seconda dello stato della rete4.17

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.18Protocolli e Architetture di Rete 2009/2010 � Livello Internet

PRO: � C�è condivisione di risorse� Non c�è la necessità di prenotare risorse end-to-end� Il packet switching è ottimo per dati che arrivano in

gruppi

CONTRO: Rischi di congestione

� Ci possono essere ritardi e perdita di pacchetti � Oltre al livello IP, sarà necessario un protocollo che

garantisca almeno le seguenti due proprietà:� Trasferimento dei dati affidabile (in grado di capire se c�è

perdita di pacchetti e in grado di provvedere)

� Controllo della congestione

Packet switching: pro e contro

4.18

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.19Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Packet switching

A

B

C

D E

C o d a d i p a c c h e tti

in a tte s a d e l lin k

d i u s c ita

Invia messaggiocomposto da 4 pacchetti

Invia messaggiocomposto da 8 pacchetti

4.19

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.20Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Metrica di prestazione

� Bandwidth (banda di trasmissione): quantità di

dati trasmessi per unità di tempo

Tipicamente:� Unità di tempo = secondo

� Quantità di dati trasmessi = multipli di bit

� Quindi, metriche tipiche sono:� Kbps o Kbit/s � Kilo-bit per secondo

� Mbps o Mbit/s � Megabit per secondo

� Gbps o Gbit/s � Gigabit per secondo

[Notare la b minuscola]

4.20

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.21Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Vantaggi del packet switching

Esempio� Link a 1 Mbps� Ciascun utente richiede 0.1 Mbps quando

trasmette, ed è attivo il 10% del tempo

� Circuit switching: può supportare al più 10 utenti� Packet switching: con 35 utenti, la probabilità

che più di 10 utenti trasmettano contemporaneamente è bassissima (0.0004), quindi è possibile far comunicare 35 utenti sulla stessa linea con minimi rischi di conflitti

4.21

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.22

Modulo 3:

Servizi del livello IP

Parte 4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.23Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Servizi principali del protocollo IP

1. Indirizzamento univoco degli host: offre un grafo virtualmente completo tra tutti gli host (indirizzi IP)

2. Unità di trasferimento dati: definisce l�unità base di informazione utilizzata da Internet per trasferire dati

3. Funzione di routing: sceglie il percorso nella rete attraverso il quale consegnare i pacchetti

4. Caratteristica: consegna non affidabile dei pacchetti:

� Consegna priva di connessione: ogni pacchetto (anche tra stessi host) è trattato in modo indipendente da tutti gli altri

� Consegna con impegno (best effort): tentativo di consegnare ogni pacchetto (possibili inaffidabilità derivanti da congestione della rete o guasto dei nodi)

� Consegna non garantita: i pacchetti possono essere persi, duplicati, ritardati, o consegnati senza ordine

4.23

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.24Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Unità di trasferimento dati: datagram

Layout dell�Internet datagram (IP datagram)

Indirizzo sorgenteIndirizzo destinazione

Payload(dati)

Header deldatagram

Dati deldatagram

Tutto il traffico Internet consiste di pacchetti. Ciascun pacchetto è lungo fino a 64 Kbyte

4.24

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.25Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Esempi di datagrammi

209.101.56.122207.85.155.125

�Elenco UniversitàItaliane�

207.85.155.125209.101.56.122

�84 matches found�Match 1: �Match 2: �

Sorg.Dest.

4.25

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.26Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Formato del datagramma IP

VERS HLEN SERVICE TYPE TOTAL LENGTH

IDENTIFICATION FRAGMENT OFFSET

HEADER CHECKSUM

DATI

. . .

PADDINGIP OPTIONS

TIME TO LIVE PROTOCOL

SOURCE IP ADDRESS (32 bit)

DESTINATION IP ADDRESS (32 bit)

0 4 8 16 19 24 31 bit

FLAGS

4.26

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.27Protocolli e Architetture di Rete 2009/2010 � Livello Internet

� VERS: versione del protocollo IP usata per creare il datagram (4 bit)

� HLEN: lunghezza dell�header del datagram (in parole di 32 bit); in generale uguale a 5 (20 byte)

� TOTAL LENGTH: lunghezza del datagram IP (in byte); max dimensione 216 = 65536 byte (64 Kbyte)

� TYPE OF SERVICE (TOS): specifica come si richiede che sia trattato il datagram (di uso recente):

PRECEDENCE D T R NON USATI

0 1 2 3 4 5 6 7

PRECEDENCE: specifica l�importanza del datagram

D (delay): basso ritardo

T (throughput): alto throughput tipo di trasporto desiderato

R (reliability): alta affidabilità

Analisi header del datagramma IP (1)

4.27

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.28Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Analisi header del datagramma IP (2)

� I successivi tre campi dell�header del datagram (denotati in figura come identification, flags, fragment offset) servono per gestire, quando si rende necessaria, a livello H2N, la frammentazione e la ricostruzione del datagram

� IDENTIFICATION: intero che identifica il datagram

� FLAGS: controllo della frammentazione

� FRAGMENT OFFSET: la posizione del frammento nel

datagram originale

4.28

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.29Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Analisi header del datagramma IP (3)

� TIME TO LIVE: non è un vero valore temporale! Indica per quanto tempo il datagram può circolare in Internet. E� decrementato da ciascun router che gestisce il datagram: quando diviene uguale a 0, è eliminato dal router corrispondente

� PROTOCOL: indica quale protocollo applicativo può utilizzare i dati contenuti nel datagram

� HEADER CHECKSUM: serve per controllare l�integrità dei dati trasportati nell�header

� SOURCE IP ADDRESS: indirizzo IP (32 bit) del mittente del datagram

� DESTINATION IP ADDRESS: indirizzo IP (32 bit) del destinatario del datagram

� IP OPTIONS: campo opzionale di lunghezza variabile; serve per il testing ed il debugging della rete

� PADDING: campo opzionale che serve per fare in modo che l�header abbia lunghezza multipla di 32 bit (byte stuffing); è presente soltanto se il campo IP OPTIONS denota una lunghezza variabile

4.29

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.30

Modulo 4:

Indirizzamento

Parte 4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.31Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Indirizzi IP

� Per fornire un servizio di comunicazione universale (ogni nodo della rete può comunicare con ciascun altro nodo) occorre un metodo che permetta di identificare univocamente ogni nodo� A ogni nodo è assegnato un unico indirizzo Internet

(indirizzo IP) formato da 32 bit → 232 ≅ 4,3 miliardi di indirizzi diversi

� L�indirizzo IP (32 bit) è suddiviso in 4 campi:� Ciascun campo è formato da un byte (8 bit)� E� separato da un punto (notazione decimale puntata o

dotted notation)� Esempio: 130.192.5.189

4.31

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.32Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Possibili scelte progettuali

� Lunghezza indirizzi IP

� lunghezza fissa

� lunghezza variabile� Vantaggi a livello di flessibilità, ma maggiori costi nella

gestione dei pacchetti e del routing

� Spazio di indirizzamento

� Gerarchico (strutturato)

� Flat

4.32

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.33Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Gerarchie delle aree di Internet

Backbone (dorsali)

Regional (nazioni)

LAN

4.33

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.34Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Componenti dell�indirizzo IP

Ogni indirizzo IP è strutturato in una coppia:

<netid, hostid>

dove netid (o prefisso di rete) identifica la rete

e hostid identifica un host di quella rete

Gli host che si trovano sulla stessa rete condividono

lo stesso network ID, ovvero la stessa parte a sinistra dell�indirizzo IP

4.34

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.35Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Suddivisione in classi

� Possibili scelte �iniziali�:� Un byte dedicato al netid, tre byte all�hostid

� Due byte dedicati al netid, due byte all�hostid

� Tre byte dedicati al netid, un byte all�hostid

4.35

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.36Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Classi di indirizzi IP

� 3 classi utilizzabili per l�indirizzamento di host (classe A, classe B, classe C), più 1 classe per multicast address (classe D), più 1 classe riservata (classe E)� La quantità di bit destinati al prefisso di rete dipende dalla classe

cui l�indirizzo appartiene

� La classe è codificata dai bit più significativi dell�indirizzo

da 224.0.0.0a 239.255.255.255

0 n e tid h o s tid

1 0

1 1 0 n e tid h o s tid

1 1 1 0

A

B

C

D

Cla

sse

da 0.1.0.0 a 127.255.255.255

da 128.0.0.0 a 191.255.255.255

da 192.0.0.0a 223.255.255.255

3 2 b it

h o s tidn e tid

in d ir izzi p e r m u ltic a s t

da 240.0.0.0a 255.255.255.254

1 1 1 1 1E r is e r v a ti p e r e s p e r im e n ti

4.36

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.37Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Dimensioni delle classi di indirizzi

� Classe A

� 128 (2^7) possibili network ID

� Oltre 16 milioni di host ID per ciascun network ID

� Classe B

� 16K =16384 (2^14) possibili network ID

� 64K = 65536 (2^16) host ID

� Classe C

� Oltre 2 milioni (2^21) di possibili network ID

� 256 (2^8) host ID

4.37

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.38

Chi possiede indirizzi Classe A

� IANA

� General Electric

� Level 3 Communications

� Army Information Systems Center

� IBM

� DoD

� AT&T Bell Laboratories

� Xerox Corporation

� Hewlett-Packard Company

� Digital Equipment Corporation

� Apple Computer Inc.

� Ford Motor Company

� �

Protocolli e Architetture di Rete 2009/2010 � Livello Internet

� Japan Inet

� Bell-Northern Research

� Prudential Securities

� Army Information Systems Center

� Deparment Social Security (UK)

� APNIC

� DoD Network Information Center

� US Postal Service

� UK Ministry of Defence

� AfriNIC

� ARIN

� �

4.38

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.39Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Gestione indirizzi e domini (dal 1986)

� Il governo USA creò la Internet Assigned

Numbers Authority (IANA), in pratica il gruppo

di Jon Postel, per gestire le assegnazioni di gruppi di indirizzi

� �IANA è nata con Jon Postel, era Jon Postel� (in qualche modo �muore� con lui)

4.39

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.40Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Jon Postel [1943-1998]

� Autore degli RFC 791-793 (Internet Protocol standard)

� Autore di oltre 200 RFC� Verificatore degli standard� Definito lo �Zar dei numeri�

� Curatore delle well known port dei protocolli

� Editor degli RFC� Direttore di IANA

� Bellissimo RFC2468 scritto in sua memoria da Vint Cerf

� �Be conservative in what you do, be liberal in what you accept from others�

4.40

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.41Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Gestione di Internet

� Struttura estremamente decentralizzata in cui esiste soltanto un coordinamento molto lasco a livello di:� definizione ed accettazione degli standard� distribuzione della documentazione� assegnamento degli indirizzi e dei nomi

� La giurisdizione sugli IP number era della IANA (Internet Assigned Number Authority)

� La distribuzione era effettuata da INTERNIC (Internet Network Information Center)

� A livello locale, gli indirizzi si ottenevano da un provider che aveva a disposizione degli insiemi su delega di INTERNIC

� Per la ricerca scientifica italiana (Università e centri di ricerca) l�organo di riferimento era ed è il GARR

4.41

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.42Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Dal 1998

� Il Governo statunitense riconosce l�autorità della Internet Corporation for Assigned Names and

Numbers (ICANN) internazionale:

4.42

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.43Protocolli e Architetture di Rete 2009/2010 � Livello Internet

IANA � ICANN

� IANA è adesso sotto il controllo formale di ICANN

� ICANN incorpora tutte le responsabilità di IANA anche se delega a IANA alcune funzioni di gestione:� IANA alloca lo spazio di indirizzi IP in collaborazione

con i cinque Regional Internet Registry (RIR): AfriNIC (Africa), APNIC (Asia/Pacific), ARIN (North America), LACNIC (Latin America), RIPE NCC (Europe, Middle East, Central Asia)

� IANA gestisce il Servizio di registrazione per gli identificativi dei numeri di porta dei protocolli (il significato si vedrà a livello 4 �trasporto�)

4.43

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.44Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Standard e distribuzione documentazione

IAB Organization

Board

IRSG IESGIRTF IETF

Research Groups Working Groups

IAB = Internet Architecture BoardIRTF = Internet Research Task ForceIETF = Internet Engineering Task Force � valuta RFC per Internet standards IRSG = Internet Research Steering GroupIESG = Internet Engineering Steering Group

4.44

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.45Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Ricordare la tempistica degli RFC

� [RFC 0001] �Host software�, April 1969

� [RFC 1000] �RFC reference guide�, Aug. 1987

� [RFC 2000] �Internet Official Protocol standards�, Feb. 1997

� [RFC 3000] �Internet Official Protocol standards�, Nov. 2001

� [RFC 4001] �Textual Conventions for Internet Network Addresses�, Feb. 2005

� [RFC 5001] �DNS Name Server Identifier option�, Aug. 2007

4.45

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.46Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Assegnamento indirizzi IP

� Un network ID, corrispondente ad un insieme di indirizzi IP, è assegnato a (poche) organizzazioni e tipicamente agli Internet Service Provider da IANA/ICANN

� Un�organizzazione richiede un network ID a qualche ISP

� Gli host ID sono assegnati localmente a ciascun host dall�amministratore di rete della organizzazione

4.46

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.47Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Assegnamento indirizzi IP (cont.)

� Gli indirizzi IP sono indirizzi logici (non fisici)

� Ciascun host deve essere identificato da un indirizzo IP, che può essere assegnato:� permanentemente ad un host

� oppure dinamicamente al momento del boot di un host

� Come fa un host a conoscere il proprio indirizzo

IP?� Configurazione manuale: l�indirizzo IP è configurato in

un file dall�amministratore del sistema

� Dynamic Host Configuration Protocol (DHCP): allocazione dinamica effettuata da un server speciale

4.47

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.48Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Host address

NOTA IMPORTANTE

� Un indirizzo IP (detto host address) viene in realtà assegnato ad una interfaccia di rete

� Un host (per es., un computer) può essere

dotato di più interfacce di rete e quindi può

avere multipli host address

4.48

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.49Protocolli e Architetture di Rete 2009/2010 � Livello Internet

MERLIN

( m u lti-

h o m e d

h o s t)

G UENEVERE

( Eth e r n e t

h o s t)

LANC ELO T

( Eth e r n e t

h o s t)

1 2 8 .1 0 .2 .3 1 2 8 .1 0 .2 .8 1 2 8 .1 0 .2 .2 6

ET HERNET

1 2 8 .1 0 .0 .0

T O KEN

RING

1 9 2 .5 .4 8 .0

ART HUR

( to k e n -r in g

h o s t)

1 9 2 .5 .4 8 .1

1 9 2 .5 .4 8 .3

1 9 2 .5 .4 8 .71 2 8 .1 0 .2 .7 0

G LATIS AN

( r o u te r )

1 0 .0 .0 .3 71 9 2 .5 .4 8 .6

ARPANET

T ALIES YN ( r o u te r )

Assegnamento di indirizzi IP

L�indirizzo IP identifica una interfaccia di rete di un host, non necessariamente un host

4.49

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.50Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Indirizzi IP speciali (non assegnati a host)

Insieme di indirizzi speciali riservati :

- network address: hostid con tutti i bit uguali a 0 (es., 128.211.0.0 indica la rete di classe B avente netid 128.211) � denota il netid (prefisso) assegnato ad una rete

- directed broadcast address: hostid con tutti i bit uguali a 1 (es., 128.211.255.255 indica il broadcast per la rete di classe B avente netid 128.211) � permette il broadcast a tutti gli host di una certa rete

- limited broadcast address: tutti i bit uguali a 1 (ossia 255.255.255.255) � permette il broadcast sulla rete fisica locale

- this host on this network: tutti i bit uguali a 0 (ossia 0.0.0.0) � usato per il boot dell�host

- loopback address: la classe A con netid pari a 127 (es., 127.0.0.1) � usato per il testing di applicazioni di rete (ad es., consente di comunicare con un server sulla stessa macchina: http://127.0.0.1)

4.50

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.51Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Network Address e Broadcast IP

� Un indirizzo IP address che ha un host ID di tutti 0, è detto network address e si riferisce all�intera rete Internet. Per es., per un indirizzo di classe C

� Un indirizzo IP broadcast ha un host ID di tutti 1

� IP broadcasting non è un vero broadcast in quanto si fonda sulla tecnologia hardware sottostante per il broadcast

1 1 0 n e t i d 0 0 0 0 0 0 0 0C

1 1 0 1 1 1 1 1 1 1 1C

h o s tid

h o s tidn e t i d

4.51

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.52

Modulo 5:

Subnetting e Supernetting

Parte 4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.53Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Motivazione

� La ripartizione degli indirizzi in classi è molto rigida e poco graduale perché basata su interi byte:� si passa da reti con 250 host (Classe C) a reti con 65000

host (Classe B)

� D�altro canto per motivi gestionali e di routing, in molti casi, può convenire definire degli �insiemi logici� di indirizzi più flessibili rispetto alla rigida suddivisione in 1, 2, 3 byte per il netid

� Più flessibili significa passare da una suddivisione in byte in una suddivisione logica in bit per la coppia <netid, hostid>

4.53

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.54Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Subnetting e Supernetting

� Due opportunità� sottoclassi di indirizzi IP (subnet), per organizzazioni� sopraclassi di indirizzi IP (supernet), per ISP

� Due vantaggi:� Si crea maggiore flessibilità nella ripartizione degli

indirizzi all�interno di un�organizzazione (es., Università con indirizzi di Classe B)

� Si facilitano le operazioni di routing dei pacchetti identificando insiemi di indirizzi di host contigui

4.54

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.55Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Network mask

� Per definire i bit (non i byte!) dedicati al netid si usa una network mask di 4 byte. Es.

Net mask: 11111111.11111111.11111111.11000000

� La network mask permette di individuare mediante un AND logico con l�indirizzo IP:� quale parte di un indirizzo IP è riservata per il netid (la

parte di 1)� quale parte è disponibile per l�hostid (la parte di 0)

4.55

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.56Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Subnetting

� Un�organizzazione può suddividere il suo spazio di host address in gruppi detti subnet

� Il subnet ID è tipicamente utilizzato per raggruppare host basati sulla topologia fisica della rete

� Per esempio, per un indirizzo di classe B si può avere:

10 NetID SubnetID HostID

4.56

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.57Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Subnet mask: esempio

� Indirizzo IP: 156.154.81.56

� Network mask: 255.255.255.240

� Calcolare la sottorete:

Indirizzo IP: 10011100.10011010.01010001.00111000

Subnet mask: 11111111.11111111.11111111.11110000

(AND) --------------------------------------------

Subnet: 10011100.10011010.01010001.00110000

� Calcolare l�insieme di host della sottorete:� Ci sono 2n-2 host nella subnet, dove n è il numero degli ultimi 0 della

subnet mask. Nell�esempio: 24-2=14, ovvero da 156.154.81.49 a 156.154.81.62

� Calcolare il broadcast address della sottorete:� 10011100.10011010.01010001.00111111 � 156.154.81.63

4.57

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.58Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Esempio di subnetting

Contesto� Una università con un indirizzo di classe B: 150.100

� Si assuma che ciascun dipartimento abbia meno di 100 host

� Quanti bit servono per identificare gli host di una sottorete?

� Qual è la network mask?� 11111111 11111111 11111111 10000000

� 255.255.255.128

7

4.58

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.59Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Esempio di subnetting (cont.)

network host

network hostsubnet

1111� 10000000...1111 mask

4.59

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.60Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Come usare le subnet mask per routing

� Le subnet servono anche (e soprattutto) per facilitare il routing dei pacchetti all�interno della rete amministrata

� Si assuma, nel caso dell�università precedente, che arrivi un pacchetto con indirizzo destinazione: 150.100.12.176

� Si effettua un AND tra l�indirizzo e la subnet mask� (150.100.12.176) AND (255.255.255.128)� Risultato: 150.100.12.128 che corrisponde alla

sottorete di destinazione i cui host si trovano nel range

150.100.12.129 - 150.100.12.254

4.60

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.61Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Subnetting

router

Subnet 1128.213.1.x

Subnet 2128.213.2.x

Subnet 3128.213.3.x

4.61

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.62Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Subnetting (cont.)

� Il subnetting consente la massima flessibilità

� E� possibile avere una sola rete fisica (wire

network) con multiple subnet, corrispondenti per esempio a diversi gruppi di un dipartimento

� Es.,

4.62

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.63Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Il subnet addressing modifica l�interpretazione degli indirizzi IP: l�indirizzo IP è composto da una porzione di rete ed una locale

rete

rete

locale

retefisica host

� Risultato: indirizzamento gerarchico → routing gerarchico

Routing gerarchico: i router esterni usano i primi due byte

dell�indirizzo IP per il routing, mentre il router della rete locale usa il

terzo byte dell�indirizzo IP

SubnetSubnet

4.63

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.64Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Subnet addressing

� Schema di indirizzamento IP originale:� ad ogni rete fisica è assegnato un unico �indirizzo di

rete�

� ogni host appartenente a questa rete ha come netid l�indirizzo di rete

� Esaurimento dello spazio di indirizzamento:� minimizzare il numero di indirizzi di rete: lo stesso netid

può essere condiviso da più reti fisiche (subnet addressing per indirizzi di classe B)

4.64

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.65Protocolli e Architetture di Rete 2009/2010 � Livello Internet

R H2H1

Network 128.10.1.0

Network 128.10.2.0

128.10.1.1 128.10.1.2

H3

128.10.2.1H4

128.10.2.2

Internet

traffico destinato a 128.10.0.0

Esempio: subnet addressing

4.65

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.66Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Esempio di rete con cinque reti fisiche suddivise in tre livelli:

- rete di classe B (16 bit per parte locale)

- 5 reti fisiche: occorrono 3 bit (essendo 5 < 23 = 8) per identificarle

- ad ognuna delle 5 reti fisiche è possibile collegare: 213 = 8192 host

R1

R2 R3

R4 R5

Rete 1

Rete 3Rete 2

Rete 4 Rete 5

Esempio di subnetEsempio di subnet

Internet

4.66

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.67Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Esempi di subnet mask

� Implementazione delle subnet usando le maschere:� subnet mask formata da 32 bit per ciascuna rete che usa

il subnet addressing� nella mask, i bit settati ad 1 corrispondono alla parte di

rete, quelli settati a 0 alla parte locale

� Esempio di rete con cinque reti fisiche suddivise su tre livelli:� maschera = 11111111 11111111 11100000 00000000

� Esempio di rete in cui il terzo byte dell�indirizzo IP è usato per la subnet:� maschera = 11111111 11111111 11111111 00000000

4.67

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.68Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.68

Supernet

� MOTIVAZIONE� Esaurimento dello spazio di indirizzamento di classe B

Approccio opposto al subnet addressing: una singola organizzazione può utilizzare più indirizzi di rete per la sua rete (supernet addressing)� un blocco di indirizzi di classe C contiguo viene

assegnato ad una singola organizzazione invece di un solo indirizzo di classe C

� usato dagli Internet Service Provider

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.69Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.69

Problema delle Supernet

� La presenza di supernet aumenta il numero di ingressi nella tabella di routing (si vedrà in seguito)

� Pertanto, si usa il meccanismo Classless Inter-

Domain Routing (CIDR) in cui:

(network address, count)

� network address è il più piccolo indirizzo nel blocco

� count è il numero di blocchi di indirizzi di classe C contigui

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.70

Modulo 6:

Aumentare il numero di indirizzi

Parte 4

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.71Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Indirizzi IP: sufficienti?

� Attualmente ciascun indirizzo IP (IPv4) consiste di 4 byte (32 bit)

� In IPv4 vi sono 3.758.096.384 indirizzi IP utilizzabili per l�indirizzamento degli host

� Ci sono circa 600 milioni di host connessi

� Eppure gli indirizzi stanno (quasi!) esaurendo�

Perché?

4.71

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.72Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Perché gli indirizzi IP esauriscono

1. Evoluzione della tecnologia e dei dispositivi che

consentono connessione a Internet:

� Siamo partiti con un indirizzo IP (computer) per molte persone

� Stiamo arrivando a un indirizzo IP per persona

� Arriveremo ad aver bisogno di più indirizzi IP per persona

2. Gli indirizzi IP non sono e non possono essere

distribuiti uniformemente

� Classe A: 128 reti, 16M host

� Classe B: 16K reti, 64K host

� Classe C: 2M reti, 256 host

4.72

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.73Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Possibili soluzioni

� Presente (la soluzione �a breve termine�)

� Tecniche di Network Address Translation

(�NATting� � si vedrà in seguito)

� Futuro (la soluzione �definitiva�):

� Passaggio al nuovo standard IPv6

4.73

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.74Protocolli e Architetture di Rete 2009/2010 � Livello Internet

IP version 6 (IPv6)

� E� senza dubbio l�unica strada che bisognerà seguire per risolvere definitivamente i problemi di indirizzamento� Rende lo spazio di indirizzamento enorme:

da 2^32 a 2^128 bit (≈ 666 mila miliardi di miliardi... per ogni metro quadro della superficie terrestre!!!)

� E risolve qualche altro problemino

� Svantaggio (di non poco conto):� Richiede l�adozione di un nuovo stack

� Adozione lenta, continuamente rimandata (anche per motivi di �geopolitica�)

4.74

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.75Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Layout dell�header IPv6

Source address

(128 bits)

Destination address(128 bits)

Version (4 bit) Priority (4 bit) Flow label (24 bit)

Payload length (16 bit) Hop limit (8 bit)Next header (8 bit)

Un indirizzo IPv6 consiste di 16 byte (128 bit)!

4.75

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.76Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Reti private e semi-private

� Per alcune (poche) organizzazioni è importante avere reti private in senso stretto:� nessun nessun pacchetto esce da una rete privata e

nessun pacchetto entra in una rete privata� indirizzi univoci solo all�interno della rete privata

� Per molte altre organizzazioni è importante avere reti semi-private con tre categorie di host:� nessun accesso da/a host fuori �dall�organizzazione�

(molti host)� accesso parziale (host che possono raggiungere

l�esterno ma non sono raggiungibili dall�esterno)� accesso completo (pochi host, es. server Web)

4.76

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.77Protocolli e Architetture di Rete 2009/2010 � Livello Internet

NATting per reti semi-private

� Il NATting è una funzionalità

attivabile sul router �al bordo�

della rete dell�organizzazione

Dominio privato

Dominioesterno

Router (con funzioni di Natting)

4.77

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.78

Indirizzi non routable

� Poiché per molte organizzazioni non è necessario che tutti i loro indirizzi siano visibili globalmente, per evitare di sprecare indirizzi, la IANA ha definito delle reti private, ossia:� non uniche a livello mondiale (RFC 1918)

� con indirizzi IANA privati (Non-Internet Routable IP Addresses)

� gli indirizzi �non routable� si possono utilizzare senza richiedere autorizzazione, purché si garantisca che il traffico e gli indirizzi siano limitati alla rete interna

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.78

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.79

� In questo modo, un�organizzazione tipicamente ha la possibilità di progettare una rete che:

� include host visibili da Internet (host pubblici)

� altri host che non sono visibili (host privati)

� Gli host privati possono scambiare pacchetti:

� solo con altri host privati all�interno della stessa rete senza intermediari

� con host pubblici mediante:� application gateway (proxy) sugli host pubblici

� Network Address Translation (NAT)

Indirizzi IP privati per Intranet

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.79

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.80

Indirizzi per NAT

Intervallo di indirizzi

Classe A: [10.0.0.0 - 10.255.255.255] (10.0.0.0/8) � 1 rete

Classe B: [172.16.0.0 - 172.31.255.255] (172.16.0.0/12) � 16 reti

Classe C: [192.168.0.0 - 192.168.255.255] (192.168.0.0/16) � 256 reti

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.80

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.81

NAT router

� Il NAT router (un router con funzionalità di NATting) si interpone tra la rete locale di una organizzazione e Internet con i seguenti compiti:� Mappa gli indirizzi IP tra due domini (interno-esterno)

indirizzi locali �� indirizzi IP globali

� Garantisce la trasparenza del routing tra gli end system

� �Moltiplica� le possibilità di interconnessioni di host di una organizzazione (nel caso in cui l�organizzazione abbia a disposizione un numero di indirizzi IP inferiore al numero di host)

� Aumenta la sicurezza evitando di rendere visibili all�esterno alcuni computer di una organizzazione

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.81

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.82

NAT router

In realtà, ha due funzionalità: natting e switching

NetworkAddressTranslator

Networkswitch LANInternet

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.82

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.83Protocolli e Architetture di Rete 2009/2010 � Livello Internet

NATting

� Il NATting si interpone tra la rete locale di una organizzazione e Internet con i seguenti compiti:� Mappa gli indirizzi IP tra due domini (interno-esterno)

indirizzi locali �� indirizzi IP globali

� Garantisce la trasparenza del routing tra gli end system

� �Moltiplica� le possibilità di interconnessioni di host di una organizzazione (nel caso in cui l�organizzazione abbia a disposizione un numero di indirizzi IP inferiore al numero di host)

� Aumenta la sicurezza evitando di rendere visibili all�esterno alcuni computer di una organizzazione

4.83

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.84Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Traduzione indirizzi

Router (NAT)

Dominio esterno (Internet)

Domino privato

10.33.96.5 198.76.28.4

s=10.33.96.5

d=198.76.28.4

s=193.10.2.2

d=198.76.28.4

s=198.76.28.4

d=193.10.2.2

s=198.76.28.4

d=10.33.96.5

4.84

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.85Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Modifica del datagram IP

source IP address

type of service total length

ident

header checksum

destination IP address

options

data

vers len

flags fragment offset

time to live proto

padding

0 31

modificato in entrata

modificato in uscita

4.85

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.86Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Binding degli indirizzi

� Il router gestisce una corrispondenza (binding) tra gli indirizzi dei due domini tramite una TABELLA:� binding statico

� la tabella viene configurata manualmente

� binding dinamico� la tabella viene calcolata dinamicamente

� cambia nel tempo a seconda del traffico

� ciascuna �sessione� ha una riga nella tabella

� gli indirizzi privati vengono mappati in indirizzi presi da un pool di indirizzi pubblici

� il pool può essere molto piccolo rispetto alla rete locale: questo determina il numero massimo di connessioni contemporanee a internet, le altre vengono rigettate dal router

4.86

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.87Protocolli e Architetture di Rete 2009/2010 � Livello Internet

Natting: pro e contro

Svantaggi� Distrugge la semantica della comunicazione end-to-end in quanto

gli host interni non possono essere raggiunti dall�esterno� La cosiddetta NAT box modifica i pacchetti al volo:

� qualche volta questo richiede modifiche a livello di informazioni application e non solo header del datagramma IP (es., indirizzo IP nel protocollo FTP)

� È necessario usare dei gateway NAT box livello application

Vantaggi� Distrugge la semantica della comunicazione end-to-end in quanto

gli host interni non possono essere raggiunti dall�esterno � Ottima cosa per la SICUREZZA

� Soluzione economica, relativamente facile e veloce� Consente massima flessibilità nella gestione interna degli indirizzi

senza richiedere alcun permesso al proprio ISP �

4.87

Protocolli e Architetture di Rete 2009/2010 � Livello Internet 4.88Protocolli e Architetture di Rete 2009/2010 � Livello Internet

RFC per NAT

� RFC 1631

The IP Network Address Translator (NAT)

K. Egevang, P. Francis

May 1994

� RFC 2663

IP Network Address Translator (NAT)

Terminology and Considerations

P. Srisuresh, M. Holdrege

August 1999

4.88