Anteprima
Vedrai una selezione di 3 pagine su 10
Livello di Rete Pag. 1 Livello di Rete Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Livello di Rete Pag. 6
1 su 10
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Questo porta a NetID poco ottimizzate per il reale numero di host che necessitano

gestire e allo spreco di numerosi indirizzi; al tempo stesso, però, permetteva una

gestione semplificata del routing grazie al fatto che bastava che un router esaminasse

in primi bit del primo byte per determinare il NetID di un indirizzo, ovviando così al

bisogno di riportare la netmask nelle tabelle di routing e nei messaggi.

In genere, una rete IP rappresenta un insieme di interfacce fisicamente interconnesse

(attraverso switch e hub) e, perché questa possa comunicare con altre reti, è

solitamente presente almeno un router; è importante notare come ogni host possa

avere più interfacce di rete (dual homing) e come ognuna di esse debba appartenere a

reti IP diverse.

Esistono blocchi di indirizzi, detti indirizzi privati, utilizzabili da chiunque all’interno di

una rete locale; questi sono divisi in tre blocchi:

Da 10.0.0.0 a 10.255.255.255

 Da 172.16.0.0 a 172.31.255.255

 Da 192.168.0.0 a 192.168.255.255

Un pacchetto contenente come destinazione un indirizzo privato non verrà mai

inoltrato da un router verso una sua interfaccia pubblica.

Vi sono poi degli indirizzi speciali:

Indirizzo di broadcast diretto: il campo HostID viene posto tutto a 1 e ha la

 funzione di mandare un messaggio di broadcast nella rete indicata nel campo

NetID (il broadcast viene eseguito solo dal router della rete di destinazione,

mentre quelli di transito lo trattano come un normale pacchetto)

Indirizzo di broadcast limitato: è composto da soli 1 e assume il significato di un

 indirizzo di broadcast nella stessa rete di chi invia il pacchetto, il quale non può

oltrepassare il router di indirizzo 255.255.255.255 (usato nel campo

destinazione). Il router stesso della rete lo inoltra ai livelli superiori.

Indirizzo di rete: il campo HostID viene posto tutto a 0 e ha la funzione di

 indicare la rete il cui indirizzo è contenuto nel campo NetID (utilizzato solo nelle

tabelle di instradamento)

Indirizzo di un host: il campo NetID viene posto tutto a 0 e l’indirizzo

 rappresenta l’host il cui indirizzo è contenuto nel campo di host sulla stessa rete

del mittente (unicast limitato)

Indirizzo del mittente: tutto l’indirizzo viene posto a zero e questo rappresenta il

 mittente stesso del pacchetto (usato nel campo sorgente quando, ad esempio, il

mittente non conosce il proprio indirizzo IP)

Indirizzo di loopback: il primo byte viene posto a 127 e tutti gli altri vengono

 lasciati generici (generalmente posti a 0) per permettere a un host di mandare

un pacchetto a sé stesso (ad esempio durante eventuali test delle funzionalità

di rete).

L’assegnamento degli indirizzi IP avviene per mezzo della IANA – Internet Assegned

Numbers Authority – la quale coordina l’assegnazione degli indirizzi su base mondiale

ai RIR – Regional Internet Registries; questi, cinque in tutto il mondo, ricevono in

genere gruppi di indirizzi /8 che provvedono successivamente ad assegnare ai Local

Internet Registries (ISP o istituzioni che, a loro volta, possono assegnare prefissi di rete

ai propri clienti).

Nota: attualmente tutti gli indirizzi IPv4 sono esauriti e, per queste, si sta passando

all’adozione dello standard IPv6.

Subnetting

Per ovviare alle problematiche di gestione e di performance in una rete IP

particolarmente estesa, si può suddividere la stessa in più sottoreti (subnet) ognuna

corrispondente a una rete fisica e separata per mezzo di un router. Ciò è possibile

aggiungendo in seguito al NetID una SubnetID, che va di fatto ad estendere il prefisso

di rete, e riportando la netmask come successione dei bit delle due:

Nel caso in cui non sia sufficiente utilizzare il subnetting classico, si può ricorrere

all’utilizzo del VLSM – Variable Length Subnet Mask; questo approccio consiste

nell’applicare due netmask in cascata, in modo da suddividere una subnet in

un’ulteriore subnet.

Inoltro dei pacchetti

Nel trasferimento di pacchetti tra due host, l’IP si serve delle capacità di inoltro delle

reti locali attraversate: si parla di inoltro diretto quando la destinazione è nella stessa

rete IP (e rete locale) e di inoltro indiretto in caso contrario.

La trasmissione dei pacchetti, all’interno delle reti locali, avviene a livello due e si basa

sugli indirizzo MAC dei dispositivi: nel caso due host della stessa rete debbano

comunicare, questi utilizzeranno i propri indirizzi fisici come indirizzi di destinazione e

sorgente (caso di inoltro diretto); se invece a dover comunicare sono due host di reti

differenti, verrà utilizzatati come tramite due router delle rispettive reti di cui i

dispositivi conoscono l’indirizzo fisico (caso di inoltro indiretto).

Per quanto riguarda i router, questi dispositivi di internetworking con interfacce di

uscita multiple e, come gli host, seguono delle tecniche di inoltro diretto, che può

avvenire però su più interfacce, e indiretto, che si basa su tabelle di routing dove

vengono definite le rotte di instradamento. L’inoltro ha due caratteristiche:

Destination based: è basato solo sull’indirizzo di destinazione

 Next hop routing: nelle tabelle di routing per ogni rete di destinazione viene

 indicato solo il prossimo router (il next-hop) nel percorso da seguire

L’inoltro avviene inoltre da router a router attraverso reti IP ed è basato solo sulla

parte di NetID dell’indirizzo di destinazione: tutti gli host di una stessa rete, infatti,

sono identificati nella tabella di routing mediante una singola entry rappresentata del

prefisso di rete (Address Aggregation). A causa dell’utilizzo del CIDR, inoltre, nelle

tabelle di indirizzamento deve essere sempre esplicitata la lunghezza del NetID e i

protocolli di routing devono essere in grado di inviare anche l’informazione relativa alla

Netmask insieme agli indirizzi di rete in tutti i messaggi di annuncio rotte.

Per inoltrare un pacchetto occorre che il router capisca se appartiene o meno alla

sottorete di una delle interfacce: questo avviene eseguendo un AND bit a bit tra

l’indirizzo dell’interfaccia e netmask e tra l’indirizzo di destinazione e netmask. Nel

caso i due risultati corrispondano, si procede all’inoltre diretto delle informazioni

mentre, in caso contrario, occorre analizzare la tabella di routing del router; si esegue

il confronto riga per riga con la stessa metodologia iniziale: se si ottengono più esiti

positivi, si procede all’inoltro all’indirizzo con la netmask più lunga (con il maggior

numero di 1, principio del longest prefix matching), in quanto questa corrisponde ad

un’informazione di routing più specifica. Nel caso invece non vi siano esiti positivi

l’inoltro viene effettuato verso il default router (caratterizzato nella tabella da indirizzi

e netmask interamente posti a 0, che permettono di ottenere sempre un esito positivo

dal confronto).

Aggregazione di indirizzi – Supernetting

Per ovviare alla crescita delle tabelle di routing, e quindi alla crescita sul tempo di

ricerca dovuta a limitazioni hardware e software, si raggruppano indirizzi contigui

utilizzando le supernet e le supernet mask:

Perché questa metodologia di aggregazione degli indirizzi sia efficace, è opportuno che

gli indirizzi IP vengano assegnati su base geografica (ovvero che blocchi adiacenti di

indirizzi si trovino nella stessa area); inoltre il supernetting permette una migrazione di

indirizzi tra ISP più agevole, nonché una più efficiente propagazione delle rotte.

Protocollo IPv4

Il servizio di comunicazione offerto dal protocollo IP è connectionless, ovvero

progettato secondo un paradigma packet-oriented (datagram) dove due pacchetti

destinati allo stesso host possono seguire due percorsi differenti, e di tipo best-effort,

senza cioè garanzia di successo nel trasferimento dei dati.

Gestisce inoltre la frammentazione e la deframmentazione dei pacchetti nel caso in cui

il livello 2 locale lo richieda (IP è infatti pensato per lavorare con differenti tecnologie

di livello inferiore).

Le unità informative dell’IP, i datagrammi o pacchetti, sono composte da header e

payload, con quest’ultimo che ospita la PDU del livello di trasporto; il protocollo è in

grado di rivelare e segnalare errore e gestire il TTL dei pacchetti, cancellandoli nel

caso questo venga ecceduto. Un datagramma IP è composto come segue:

Ver (4 bit): indica la versione del protocollo utilizzata; se questa non corrisponde

 con la versione implementata sul router ricevente, il pacchetto viene scartato

HLEN (4 bit): indica la lunghezza dell’header del pacchetto espressa in parole da

 32 bit (può essere al massimo 64 byte)

Total length (16 bit): indica la lunghezza totale del pacchetto in byte (può essere

 al massimo 65 MB)

TOS (8 bit): indica il “type of service”, generalmente usato dai router per

 riconoscere il livello di priorità di un pacchetto e agire di conseguenza nella

gestione delle code. Può inoltre essere utile, nelle versioni del TCP che lo

supportano, per segnalare un’imminente congestione alle destinazioni

Protocol: indica, attraverso un codice, il protocollo di livello superiore,

 identificando il SAP tra esso e l’IP

TTL: indica il time to live, settato a un valore elevato da chi genera il pacchetto

 e decrementato da ogni router che questo attraverso; il router che,

eventualmente, porta tale valore a zero scarta il pacchetto generando un

messaggio di errore verso la sorgente

La frammentazione dei pacchetti si rende necessaria perché i link della rete

impongono un limite alla dimensione delle trame di livello 2 (MTU o Maximum Transfer

Unit), costringendo così il protocollo a dover dividere un datagram IP troppo lungo in

più frammenti, riassemblati poi una volta giunti a destinazione.

La frammentazione prevede che ogni pacchetto IP venga diviso in più frammenti,

ciascuno dei quali munito di un header proprio, che possono poi essere ulteriormente

divisi lungo il cammino: la riframmentazione è possibile grazie a dei campi contenuti

nell’header stesso. Questi sono:

Identification (16 bit): identifica tutti i frammenti di uno stesso pacchetto

 univocamente

Fragmentation Offset (13 bit): i byte del pacchetto originale vengono numerati

 da 0 al valore della lunghezza totale e questo campo riporta il numero di

sequenza del primo byte del frammento (in parole da 8 byte)

Flags: vi sono due flags nell’header, uno (bit M) viene posto a 0 solo nell’ultimo

 frammento mentre l’altro (bit D) viene posto a 1 quando non si vuole che venga

applicata la frammentazione lungo il percorso (preferendo a essa l’eliminazi

Dettagli
Publisher
A.A. 2017-2018
10 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher MarcoTaglia di informazioni apprese con la frequenza delle lezioni di Fondamenti di internet e reti e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Milano o del prof Cesana Matteo.