• Non ci sono risultati.

ISO-OSI e TCP/IP

N/A
N/A
Protected

Academic year: 2021

Condividi "ISO-OSI e TCP/IP"

Copied!
18
0
0

Testo completo

(1)

Corso di

Reti di Calcolatori e Comunicazione Digitale

Prof. Sebastiano Pizzutilo Dipartimento di Informatica CdS in INFORMATICA e COMUNICAZIONE DIGITALE Anno Accademico 2012-2013

Modulo 3 : TCP/IP Lo strato di rete

ISO-OSI e TCP/IP

OSI

Application Presentation

Session Transport

Network Data Link

Physical Non Specificati

IP TCP e UDP

RPC XDR NFS

Internet Protocol Suite

Arp e Rarp

ICMP Protocolli

di routing Telnet

FTP SMTP SNMP

Lo strato 3 Internet del TCP/IP, in cui viene implementato il protocollo IP, corrisponde al livello 3 del modello OSI: entrambi si occupano dell’instradamento (routing) dei dati.

  Lo strato 4 di trasporto nei due modelli è analogo, ed entrambi permettono che tra i processi dei due host si stabilisca una sessione.

  Lo strato 5 dell’applicazione TCP/

I P, c o m p r e n d e g l i s t r a t i d i applicazione, presentazione e sessione del modello OSI

In TCP/IP i livelli 1 e 2 non sono specificati

per cui è possibile utilizzare per le LAN i protocolli Ethernet, Token Ring, FDDI e per le WAN i protocolli X.25, Frame Relay, ATM,….

(2)

TCP/IP layers

Application message TCP header

IP header Ethernet header

Ethernet frame

port TCP

IP

Messages (UDP) or Streams (TCP)

Application

Transport

Internet

UDP or TCP packets

IP datagrams

Message

Layers

Underlying network

Network interface

Network-specific frames

FTP, Telnet, SMTP,...

IP, ICMP, ARP, RARP, RIP,...

UDP, TCP

rete

SLIP PPP, Ethernet, Token ring, RS232, FDDI, ATM, …..

Bits stream

Header (con relativi address) aggiunti ai diversi livelli per poter svolgere le attività previste da ciascun livello

Il protocollo IP non svolge alcun tipo di controllo per assicurarsi del buon esito dei trasferimento dei dati, è infatti connectionless ed inaffidabile (servizio di consegna detto best-effort). Quindi i pacchetti di questo livello OSI possono andare perduti o non arrivare in sequenza.

Il ruolo svolto da IP è quello di aggiungere a ciascun pacchetto una intestazione contenente una serie di informazioni per poter effettuare il corretto instradamento dei dati.

TCP/IP : Protocolli nello strato Internet (livello 3)

Lo strato di RETE si occupa della consegna di pacchetti dati da un nodo mittente ad un nodo destinatario attraverso varie reti, determinando il modo migliore per spostare i dati da un host all’altro.

Lo strato 3 della suite TCP/IP si occupa quindi dei problemi legati al routing dei pacchetti (con l’utilizzo di un sistema di indirizzamento logico dei pacchetti, detto IP) e dei problemi relativi al passaggio dei pacchetti al livello inferiore di data link ed al livello superiore di trasporto e viceversa.

L’attività di instradamento dei pacchetti tra le reti avviene attraverso PSE dedicati detti router.

Il sistema di indirizzamento logico utilizzato in questo livello deve prevedere forme di indirizzi che consentano un efficiente operazione di instradamento.

(3)

L’indirizzo IP identifica univocamente un host (computer, router, AP, …) su una rete.

Gli indirizzi IP sono indirizzi LOGICI strutturati in maniera tale da agevolare l’operazione di routing. Hanno infatti un formato tale da consentire la netta separazione dell’indirizzo di rete da quello dell’host sulla rete.

Gli indirizzi IP su Internet sono assegnati da un comitato internazionale (IANA – Internet Assigned Number Authority ).

A livello nazionale italiano l’autorità che assegna le classi di indirizzi IP è il GARR/NIS.

In genere però i privati non si rivolgono a tale ente ma al proprio provider (ISP – Internet Service Provider) che ha precedentemente provveduto a richiedere all’autorità nazionale un insieme di indirizzi che mette a disposizione dei propri clienti in maniera dinamica.

Questo non è strettamente valido nel caso delle cosiddette Intranet aziendali, che non hanno accesso diretto alla rete pubblica Internet mondiale. In questo caso si può utilizzare teoricamente qualsiasi indirizzo, anche se per le Intranet esistono delle raccomandazioni relative agli indirizzi logici privati da utilizzare (in genere 10.0.0.1,…).

Indirizzamento IP

Forme di indirizzamento

u Indirizzamento con classi (CLASSFUL ) Sistema di indirizzamento adottato dal 1981 fino al 1993.

Originariamente l’indirizzamento IP prevede il concetto di CLASSE, che consiste in :

  suddivisione dello spazio degli indirizzi IP in cinque CLASSI ciascuna con un numero diverso di indirizzi IP utilizzabili e …

  netta separazione tra indirizzo di rete ed indirizzo dell’host all’interno della rete .

u Indirizzamento senza classi (CLASSLESS)

L’indirizzamento SENZA CLASSI (1993) riduce il problema dell’esaurimento degli indirizzi IP e permette di gestire in maniera più efficiente gli indirizzi IP assegnati ad una organizzazione, introducendo il concetto di SUBNETTING/

SUPERNETTING ed una notazione detta CIDR ( Classless Inter-Domain Routing ).

(4)

Indirizzi IP

Rappresentazione binaria e dot notation

Ø  L’indirizzo IP è rappresentato nella forma:

x.y.z.w

dove x, y, z e w sono dei numeri decimali compresi tra 0 e 255.

Ø  In pratica un indirizzo IP è composto dalla sequenza di 32 bit (quindi un long integer che rende possibile generare fino a 232 – 1 possibili indirizzi) anche se esso viene sempre rappresentato nella cosiddetta dot notation.

Per esempio:

L’indirizzo IP=127.0.0.1 corrisponde in “dot notation binaria” a : 01111111.00000000.00000000.00000001

Questi 32 bit, se fossero rappresentati “senza dot notation”, sarebbero uguali a 01111111000000000000000000000001 che corrisponde al valore decimale 2130706433.

L’indirizzo in dot notation rappresenta quindi il valore di ciascuno dei quattro byte componenti l’indirizzo IP e serve a discriminare l’indirizzo di rete dall’indirizzo degli host presenti in quella rete.

Gli indirizzi IP sono lunghi 32 bit (4 byte) e si scrivono come 4 numeri decimali separati dal carattere “.” ; Ogni numero rappresenta il contenuto di un byte ed è quindi compreso tra 0 e 255.

Indirizzi IP Classful

Gli indirizzi IP Classful si suddividono in cinque classi di appartenenza, identificate con le lettere da A ad E.

î  Classe A___Un indirizzo di classe A riserva il primo byte all’indirizzamento della rete, e gli altri tre byte all’indirizzamento degli host.

Il primo bit del byte che individua la rete è imposto essere 0, di conseguenza è possibile indirizzare teoricamente solo 127 reti, ciascuna con un massimo teorico di 16.777.216 host.

In pratica le reti sono 126 in quanto la rete 127 è riservata per gli indirizzi di loopback, e gli host sono 16.777.214, in quanto gli indirizzi x.0.0.0 e x.255.255.255 non sono ammessi.

î  Classe B____Gli indirizzi di classe B riservano 16 bit alla rete e 16 agli host.

Dei 16 bit riservati alla rete, i primi due sono obbligatoriamente 1 e 0, e questo di conseguenza implica che il primo byte possa avere valore tra 128 e 191. Il numero di reti ammesso in questa classe è quindi 16.384, e gli host 65.534 (non essendo ammessi anche in questo caso gli host x.y.

0.0 e x.y.255.255.

î  Classe C____La classe C riserva i primi tre byte alla rete ed il quarto agli host.

Poiché i primi tre bit del primo byte sono fissati a 110, il numero di reti univoche in questa classe e superiore a 2 milioni. Il primo byte può assumere valore tra 192 e 223.

Il numero di host per ciascuna rete è di 254.

(5)

Struttura di un indirizzo IP Classful

Da 1.0.0.0 a 127.255.255.255 Da 128.0.0.0 a 191.255.255.255 Da 192.0.0.0 a 223.255.255.255 Da 224.0.0.0 a 239.255.255.255 Da 240.0.0.0 a 255.255.255.255

Range degli indirizzi

2.097.152 reti e 254 host 128 reti e 16.777.214 host 16.384 reti e 65.534 host Dimensione dei campi in bit

Byte 1

Byte 2

Byte 3

Byte 4

0 1010000 11001101 01010101 110011000 10 101010 11100110 00000110 11101010 110  10111 10101011 11100000 10101010 1110 0000 10101010 11100110 10101010 1111 0000 11100011 11111111 10101001 Classe A

Classe B

Classe C Multicast Riservati

ind rete ind. host

Indirizzi riservati

q  Network: quando i bit dell'ottetto che rappresenta l'host hanno tutti valore 0, l'indirizzo è detto di rete (Network Address): l’indirizzo 192.168.5.0 oppure in binario

11000000.10101000.00000101.00000000, rappresenta la rete 192.168.5;

- Quando tutti i bit hanno valore zero (0.0.0.0), si identifica "questo host“.

q  Broadcast: quando i bit del numero che rappresenta l'host hanno tutti valore 1, l'indirizzo è detto di broadcast o broadcast address, e rappresenta tutti gli host di quella rete:

Inviare un pacchetto all'indirizzo 192.168.5.255 (11000000.10101000.00000101.11111111 ) equivale a mandare un pacchetto a tutti gli host della rete 192.168.5.0

q  Broadcast di rete: abbiamo questo tipo di indirizzo quando tutti i bit, sia della parte relativa all'host sia della parte relativa alla rete hanno valore 1 :

Inviare un pacchetto a 255.255.255.255 o in binario 11111111.11111111.11111111.11111111 significa inoltrarlo verso tutti gli host della rete corrente.

q  Loopback: è utilizzato per funzioni di test del protocollo TCP/IP, non genera traffico di rete e corrisponde all'indirizzo 127.0.0.1.

q  Indirizzi di rete locale : una serie di indirizzi IP sono dedicati all’uso su reti locali, all’interno di firewall e server proxy. Questi indirizzi sono:

da …. a….

10.0.0.0 10.255.255.255 172.16.0.0 172.31.255.255 192.168.0.0 192.168. 255.255

(6)

Le maschere di sottorete servono ad individuare quali byte dell’indirizzo IP indirizzano la rete e quali gli host.

Le maschere di sottorete utilizzate dalle varie classi sono:

Classe A > 255.0.0.0 Classe B > 255.255.0.0 Classe C > 255.255.255.0 Ogni macchina va dunque configurata con due informazioni :

1) netmask per individuare la rete (sottorete) a cui la macchina appartiene, 2) numero IP della macchina all’interno della rete (sottorete).

Con un’operazione di AND tra netmask ed IP number si ottiene dunque la parte di indirizzo che identifica la sottorete cui è collegata la macchina.

Ad es. Host number : 193.204.187.33 AND 11000001.11001100. 10111011. 00100001 AND Netmask : 255.255.255.00 111111 11.111111 11. 11111111. 00000000

--- --- Rete cui è collegato l’host : 193.204.187.00 11000001.11001100. 10111011. 00000000

Il processo consiste nel confrontare il risultato dell'operazione di AND bit a bit tra il proprio indirizzo e la propria subnet mask con quello tra l'indirizzo del destinatario e la sua subnet mask per determinare se il destinatario dei propri pacchetti si trova sulla stessa rete .

Maschere di sottorete

Avendo un Host A con IP 192.168.3.5 con subnet mask 255.255.255.0 che vuole inviare dei pacchetti ad un Host B 192.168.3.25 con subnet mask 255.255.255.0, occorre determinare se B è sulla stessa rete di A:

Host A: 192.168.3.5

11000000 . 10101000 . 00000011 . 00000101 : Ip address Host A 11111111 . 11111111 . 11111111 . 00000000 : Subnet mask Host A

11000000 . 10101000 . 00000011 . 00000000 = Risultato operazione AND bit a bit Host B: 192.168.3.25

11000000 . 10101000 . 00000011 . 00011001 : Ip address Host B 11111111 . 11111111 . 11111111 . 00000000 : Subnet mask Host B 11000000 . 10101000 . 00000011 . 00000000 = Risultato operazione AND

Il risultato è identico, quindi, i due host possono inviarsi direttamente i pacchetti in quanto sulla stessa rete ( cioè senza impegnare il router per l’instradamento).

Qualora il processo di AND avesse evidenziato valori diversi, i due host non avrebbero potuto comunicare direttamente, ma sarebbe stato necessario utilizzare un router tra di essi.

esempio

AND

AND

(7)

Il routing

Algoritmi di routing = per la gestione (creazione e uso) delle routing table

Attività di routing

= inoltro

Il routing classful

n 

la procedura di routing (instradamento) dei pacchetti IP è molto semplice, in quanto nell’indirizzo IP di un pacchetto è codificato il numero della rete alla quale appartiene l’host destinazione,

n 

ogni router possiede una tabella di routing aggiornata staticamente (nel caso delle reti più piccole) o

dinamicamente,

n 

la tabella di routing serve a determinare i percorsi verso

intere reti, non verso singoli host. Infatti da ciascun

indirizzo IP è sempre possibile determinare la classe sulla

base dei primi bit dell’indirizzo e ricavare quindi la netmask

ed il numero della rete.

(8)

SUBNETTING

Può essere necessario dover suddividere la rete in ulteriori sottoreti.

Il subnetting consiste nel suddividere il campo host di un indirizzo IP in due parti : subnet ed host.

193 204 176 0

00 000000 01

10 11

000000 000000 000000

3x 8 +2 =26 bit per l’indirizzo di rete e si scrive:

193.204.176.0 / 26

Notazione CIDR (Classless Inter-Domain Routing)

Ad esempio : 193.204.176.0/24 è la notazione CIDR di un indirizzo classful di classe C.

Si noti che la notazione CIDR consente la rappresentazione delle netmask /24 per la classe C, /8 per classe A, /16 per classe B.

Esempio Subnetting

Le 4 subnet ricavate avranno ciascuna al max 64 indirizzi di host da 000000 a 111111 ( 62 utilizzabili per gli host : da togliere i due indirizzi riservati > 000000 per la rete e 111111 per il broadcast).

Ad es. dividere una rete di classe C in 4 subnet ciascuna con al max 60 host

La netmask per le subnet sarà : 255.255.255.192

11000000

193 204 176 0

00 000000 00 111111 00000000 00111111 01 000000 01 111111 01000000 01111111

10 000000 10 111111 10000000 10111111 11 000000 11 111111 11000000 11111111

Indirizzi generati:

Da : a: indirizzo di rete indir. di broadcast

Si ricordi che la netmask è = 11111111.11111111.11111111.11000000 = /26 e cioè

la notazione CIDR rappresenta il numero dei valori pari a 1, cioè la netmask

della rete.

(9)

Netmask n.subnet ind.rete ind. Broadcast IP da … a n.host

255.255.255.192 4 0 63 1 62 62

64 127 65 126 62

128 191 129 190 62

192 255 193 254 62

tot. 248

Subnetting e supernetting 193.204.176.0 / 26 11000001.11001100.10110000. 00…00

E’ possibile anche raggruppare 2 subnet in un’unica supernet composta di due sottoreti . Ad es. si vuole creare una super rete raggruppando la 193.204.176.128 e la 193.204.176.192 Netmask n.subnet ind.rete ind. Broadcast IP da … a n.host 255.255.255.192 3 0 63 1 62 62

64 127 65 126 62

255.255.255.128 128 255 129 254 126

tot. 250

Subnetting

•  IP assume una corrispondenza biunivoca tra reti fisiche e subnet:

–  routing implicito all’interno di una rete;

–  più subnet sulla stessa rete fisica;

–  mai invece, più reti fisiche sulla stessa subnet.

•  Il routing tra subnet diverse è esplicito è cioè gestito dai router tramite tabelle di instradamento.

•  All’interno della subnet l’instradamento deve essere fornito dalla rete fisica.

Il subnetting di una rete comporta diversi vantaggi:

- Riduzione del traffico di rete: in quanto si riduce il dominio di broadcast (broadcast domain);

- Miglioramento delle performance della rete: in conseguenza della

riduzione del traffico;

(10)

…da indirizzi Classful… a indirizzi Classless

L’indirizzamento classful crea problemi di spreco di indirizzi : l’indirizzamento classful cioè è troppo rigido (numero prefissato di classi e di indirizzi => A=/8, B=/16 e C=/24) e non riesce a soddisfare nuove o diverse richieste di assegnazione di indirizzi IP.

La soluzione al problema è quella di passare dal concetto di classe a quello di blocco (indirizzamento Classless), consentendo la gestione di blocchi di dimensione qualsiasi pari a 2

i

con 1 ≤ i ≤ 31.

La notazione CIDR, del tipo x.y.w.z/n, consente di rappresentare molto sinteticamente un blocco di dimensione qualsiasi.

Ad esempio: se si ha bisogno di 300 indirizzi IP (300 host), una classe C ( /24=256 host) è insufficiente, per cui occorre chiedere un blocco pari a /23 == 512 indirizzi per gli host ( 23 bit per la rete e 32-23 = 9 per ind. degli host = 29 = 512 indirizzi diversi ).

Oppure, se ne servono meno di 256, ad esempio solo 60 host, allora basta definire un blocco /26, cioè un blocco con indirizzo di rete di 26 bit ed i rimanenti 6 bit

(32-26 = 6 -> 26 = 64 ) per gli indirizzi riservati ai 60 host su quella rete + ind. di broadcast e di rete.

Indirizzamento Classless

In questa forma di indirizzamento un blocco di indirizzi (consecutivi) viene identificato con x.y.w.z/n con x.y.w.z qualsiasi indirizzo di host appartenente al blocco e /n (notazione CIDR per definire la netmask).

Per poter gestire blocchi di dimensione 2

i

(con 0 ≤ i ≤ 31) è quindi sufficiente generare una netmask = /32-i.

Ad es. 193.204.176.30/26 identifica un host con indirizzo di rete di 26 bit e indirizzo di host di 6 bit.

11000001.11001100.10110000.00011110

indirizzo di rete indirizzo di host

Ø Mettendo a 0 i 6 bit (32-n) più a destra si ottiene l’indirizzo del primo ind. del blocco, che viene normalmente utilizzato per identificare la rete (e non un nodo) del blocco . Ø Mettendo a 1 gli stessi 6 bit a destra si ottiene l’ultimo indirizzo del blocco, che viene normalmente utilizzato per fare il broadcast limitato a tutti i nodi del blocco.

Ø Il numero di indirizzi del blocco è 232-n = 232-26 =26

Ø  /n (cioè /26) identifica la netmask 11111111.11111111.11111111.11000000

.

(11)

Classless InterDomain Routing

  Nel 1993 l’IETF ha standardizzato il subnet masking ed il subnet routing, chiamandoli Classless InterDomain Routing (CIDR) (RFC 1519)

  oltre al subnetting, questa tecnica consente anche di gestire il supernetting, ovvero gestire diverse reti o internetwork locali come una singola entità (in questo modo, ad una azienda si possono dare diversi indirizzi di rete di classe C).

  A tale scopo è necessario che tutti i bit dell’indirizzo IP relativi agli indirizzi di rete non siano mischiati ai bit dell’indirizzo di host, ovvero la rete deve essere caratterizzata da un unico prefisso (net+subnet):

Es1: questa subnet mask è illegale: 255.255.0.128

Es2: 193.204.176.0/20 Mask 255.255.240.0  16 Classi C > da x.y.176.0 a x. y. 191. 255 193.206.32.0/20 Mask 255.255.240.0  16 Classi C > da x.y.32.0 a x. y. 47. 255 192.167.56.0/21 Mask 255.255.248.0  8 Classi C > da x.y.56.0 a x .y. 63. 255

  La notazione breve degli indirizzi IP con subnet mask: 160.80.20.120/24 equivale all’indirizzo 160.80.20.120 con subnet mask 255.255.255.0 (24 bit di indirizzo network).

CIDR (per il classless routing )

  Il Classless Inter-Domain Routing (CIDR) è basato su una Variable-Length Subnet Masking (VLSM), che permette di suddividere una rete in subnet differenti.

  Una importante caratteristica dei protocolli di routing è la maniera in cui essi comunicano i percorsi dei pacchetti (routing advertisement).

  I protocolli più vecchi (RIP e IGRP) trasmettono ai router collegati solamente l’indirizzo di rete, quale per es. "193.150.21.0" assumendo la maschera di rete come maschera di default della classe corrispondente (classful routing) .

  I protocolli di rete moderni (OSPF, IS-IS, EIGRP,…) invece trasmettono in notazione CIDR esplicitamente anche la netmask, senza presupposti a priori sulla classe. Questa tipologia di routing viene detta classless, in quanto non tiene conto della divisione in classi ma solo della netmask che permette la suddivisione in blocchi.

  La VLSM ( Variable Lenght Subnet Mask ) è lo strumento che permette di utilizzare differenti sottoreti all'interno di un blocco di indirizzi assegnati ad una organizzazione (per es. 2 uffici possono utilizzare al loro interno una rete /24 e per la connessione punto- a-punto tra di loro una rete /30).

(12)

CIDR e VLSM

Nel classless routing (notazione CIDR) la Variable Length Subnet Mask (VLSM) esprime il fatto che una rete può essere configurata con differenti netmask : ciò rende più flessibile la suddivisione di reti in più sottoreti mantenendo un adeguato numero di host in ogni sottorete.

Per esempio,

se il GARR NIS ha assegnato una classe C pari a 192.214.11.0 e si vuole suddividere la rete assegnata in 3 subnet con 100 host in una e 50 host nelle restanti due = tot. 200 host. Teoricamente è possibile farlo, perchè una classe C permette di avere al massimo 256 host.

Abbiamo le seguenti possibilità per poter suddividere la rete:

Mask 255.255.255.252 (64 subnet con 4 host ) 192.214.11.0/30 con 2 bit per indirizz. host Mask 255.255.255.248 (32 subnet con 8 host ) 192.214.11.0/ 29 con 3 bit per indir. host Mask 255.255.255.240 (16 subnet con 16 host ) 192.214.11.0/28 con 4 bit per indir. host Mask 255.255.255.224 (8 subnet con 32 host ) 192.214.11.0/27 con 5 bit per indir. host Mask 255.255.255.192 (4 subnet con 64 host ) 192.214.11.0/26 con 6 bit per indir. host Mask 255.255.255.128 (2 subnet con 128 host) 192.214.11.0/25 con 7 bit per indir. Host

INVECE CON LA VLSM

VLSM

Con l' utilizzo del routing classless (notazione CIDR e VLSM) posso usare due netmask diverse : e' possibile utilizzare 192.214.11.0/25 (mask 255.255.255.128) per ottenere 2 subnet da 128 indirizzi, la 192.214.11.0 e la 192.214.11.128 e suddividere la seconda in ulteriori 2 subnet da 64 indirizzi ciascuna :

In seguito posso

definire la 192.214.11.0/26 (sulla seconda subnet) per ottenere 2 ulteriori subnet da 64 host ciascuna :

192.214.11.128 = 11000000. 11010110. 00001011. 10000000 /26 = 11111111. 11111111. 11111111 . 11000000 = 255.255.255.192 suddivisa in 2 sub-subnet da 64 indirizzi ciascuna:

la 192.214.11. 10000000 con ind. da 10000000 (128) a 10111111 (171) = 64 ind.

e la 192.214.11. 11000000 con ind. da 11000000 (192) a 11111111 (255) =64 ind 192.214.11.0 = 11000000. 11010110. 00001011. 00000000

/25 = 11111111. 11111111. 11111111 . 10000000 = 255.255.255.128 2 subnet: la 192.214.11.0 0000000 con ind. da 192.214.11.0 a 192.214.11.127 =128 ind e la 192.214.11.10000000 con ind. da 192.214.11.128 a 192.214.11.255 =128 ind

(13)

VLSM

/25 = 11111111. 11111111. 11111111 . 10000000 = 255.255.255.128 suddivisibile in 2 subnet la 192.214.11. 0 0000000 con indirizzi da 192.214.11.0 a 192.214.11.127 = 128 indirizzi e la 192.214.11. 1 0000000 con indirizzi da 192.214.11.128 a 192.214.11.255 = 128 indirizzi

/26 = 11111111. 11111111. 11111111 . 11000000 = 255.255.255.192 suddivisibile in 2 subnet la 192.214.11. 10 000000 con indirizzi da 10000000 (128) a 10111111 (171) =64 ind.

e la 192.214.11. 11 000000 con indirizzi da 11000000 (192) a 11111111 (255) =64 ind group 192.214.11.0 /25

Mask 255.255.255.128

Subnet

192.214.11.0 0000000

Subnet

192.214.11.1 0000000 group 192.214.11.0 / 26 Mask 255.255.255.192

= 64 indirizzi Da...192.214.11.128

a...192.214.11.171 Subnet

192.214.11. 10 000000 192.214.11.128

Subnet

192.214.11.11 000000 192.214.11.192

Da...192.214.11.192

= 64 indirizzi Da...192.214.11.255 a...192.214.11.127

Da...192.214.11.0

=128 indirizzi

Esempio di notazione CIDR (classless)

 Es.1: In una rete , l’indirizzo IP 160.80.27.1/24 utilizza la maschera 255.255.255.0 e rappresenta:

255.255.255.0 = 11111111. 11111111. 11111111. 00000000 netmask 160. 80. 27. 1 = 10100000. 01010000. 00011011. 00000001 host

160.80.27: ind. della net locale, .1: primo indirizzo dell’host in una rete con 256 ind.

 Es.2: 193.204.176.0/20 utilizza una Netmask 255.255.240.0 = 255.255.11110000.00000000 193.204.176.0 = 11000001.11001100. 10110000. 00000000 indirizzo blocco o subnet locale 255.255.240.0 = 11111111.11111111. 11110000. 00000000 netmask

193.204 = ind. Rete, .176 = ind. Subnet locale, .0 = primo ind. Host in Subnet locale con 16x256 ind.

 Es.3: 193.206.32.0/21 utilizza una Netmask 255.255.248.0 =255.255.11111000.00000000 193.206.32.0 = 11000001.11001110. 00100000. 00000000

255.255.248.0 = 11111111.11111111. 11111000. 00000000

193.206 = ind. Rete, .32 = ind. Subnet locale, .0 = primo ind. Host in Subnet local > 8x256 ind.

L'ampiezza dei campi “Network Prefix” e “Host-ID” viene definita tramite il

parametro netmask. La netmask contiene bit a uno in corrispondenza dei

campi “Network Prefix” (Net-ID e Subnet-ID) e a zero in corrispondenza del

campo “Host-ID”.

(14)

Indirizzamento e routing

L’attività di routing si dice CLASSFUL se l’instradamento viene fatto sulla base della classica suddivisione in classi dell’indirizzo IP (algoritmi di routing class-full sono RIP1, IGRP,..) .

Se si prevede di operare tenendo in considerazione la notazione CIDR (la presenza di subnet), il routing è detto CLASSLESS. (algoritmi di routing class-less sono RIP2, EIGRP, OSPF,…) .

Ø  Il classless addressing complica la procedura di routing dei pacchetti; ogni record della tabella di routing ha 3 campi principali:

1.  un network address 2.  una maschera di subnet

3.  l’indirizzo IP di un router (raggiungibile con un hop) Ø  la tabella contiene sempre un record per ciascuna rete connessa

direttamente al router, ed un record per il router di default,

Ø  la tabella può anche contenere record per reti non direttamente connesse al router.

Routing table

Una tavola di routing deve contenere le informazioni necessarie all’instradamento dei pacchetti verso l’host destinatario:

  Percorso completo verso il destinatario

  Next hop verso il router del destinatario

La tavola di routing viene costruita mediante diverse operazioni di “routing advertisement” , cioè scambio di dati su host collegati e percorsi possibili scambiati tra i router.

•  I Classful routing protocol non includono la subnet mask nei routing advertisement

•  All’interno dello stesso network, si presume la consistenza delle subnet mask

•  I Protocolli di routing Classless includono la subnet mask nei routing advertisement

•  I protocolli di routing Classless supportano subnet mask di lunghezza variabile (VLSM) per suddividere una rete in 2 o piu’ blocchi.

(15)

Tabelle di routing

La tabella di routing

La tabella di routing dunque contiene:

¡  un record per ciascuna rete collegata direttamente al router, insieme con l’indicazione della relativa interfaccia di rete

¡  un numero variabile di record per reti non collegate direttamente al router, insieme con l’indicazione di un router adiacente a cui i pacchetti devono essere inviati

¡  un record per un router adiacente di default, a cui inviare i pacchetti destinati a reti sconosciute.

•  l'ampiezza dei campi “Network Prefix” e “Host-ID” viene definita tramite il parametro netmask. La netmask contiene bit a uno in corrispondenza dei campi “Network Prefix” (Net-ID e Subnet-ID) e a zero in corrispondenza del campo “Host-ID”.

•  l'importanza di comprendere se due indirizzi appartengono o no alla stessa subnet è fondamentale, in quanto nel primo caso l'host mittente del pacchetto lo invierà direttamente verso il destinatario (routing diretto), nel secondo caso lo invierà ad un router a valle verso la destinazione (routing indiretto)

•  questo comportamento deriva dall'assunzione implicita che ad ogni rete logica (subnet IP) corrisponda una stessa re

te fisica.

(16)

①  Estrazione dell’indirizzo IP del destinatario dallo header del pacchetto e operazione di AND con la netmask (per ottenere l’indirizzo della rete)

②  Se la rete è la stessa del mittente si traduce l’indirizzo IP in indirizzo MAC e si manda il pacchetto sulla stessa rete senza impegnare il router.

③  Se la rete è diversa, si invia il pacchetto al router della propria rete, che cerca l’indirizzo dell’host destinatario nella sua tabella di routing ( operazione di resolving).

•  Se la tabella di routing del router non contiene l’indirizzo dell’host destinatario, si esamina l’indirizzo di rete (dell’host destinatario) per poi inviare il pacchetto al router della rete individuata.

•  Se il router non contiene neanche l’indirizzo di rete del destinatario, il router invia il pacchetto al default router vicino per tentare l’operazione di resolving.

ALGORITMO DI INSTRADAMENTO

Routing classless

Per ricavare l’indirizzo del router a cui va inviato un pacchetto destinato all’host con indirizzo IP D:

A) per ciascun record della tabella di routing con maschera di subnet M, indirizzo di rete N e indirizzo di router R:

  calcola l’AND logico (bit a bit) tra D e M

  se il risultato è uguale a N, invia il pacchetto a R (o direttamente all’host se è in una rete connessa direttamente al router)

  se il risultato non è uguale a N, continua con il prossimo record della tabella

  le voci nella tabella sono analizzate cominciando da quelle aventi network address più lunghi (Longest Prefix Matching)

  in una routing table un blocco di indirizzi può essere rappresentato da un unico elemento corrispondente al prefisso (Supernetting)

11000000. 00100000. 10001000. 00000000 = 192.32.136.0 (class C address) 11111111. 11111111. 11111000. 00000000 = 255.255.248.0 (network mask) ================================= logical_AND

11000000. 00100000. 10001 = 192.32.136 (IP prefix)

11000000. 00100000. 10001111. 00000000 = 192.32.143.0 (class C address) 11111111. 11111111. 11111000. 00000000 = 255.255.248.0 (network mask)

================================= logical_AND 11000000. 00100000. 10001 = 192.32.136 (stesso IP prefix) B) il record per il router di default è sempre analizzato per ultimo.

(17)

Differenti versioni del protocollo IP

La crescita esponenziale dei dispositivi collegati in rete ha portato da un lato alla utilizzazione della forma di indirizzamento classless (ottimizzazione dell’indirizzamento classful), dall’altro alla

utilizzazione di una nuova forma di indirizzamento l’IPv6 che (a differenza dell’IPv4 che prevedeva indirizzi divisi in 4 byte =32 bit) prevede l’uso di indirizzi a 16 byte =128 bit = 8 sezioni esadecimali di 2 byte separate da “:”

Ad esempio :

A0D3 : FB43 : 4EFB : AA41 : FF88 : 41AD : 0000 : FD23

L’intestazione IPv4 di un datagramma contiene:

þ  l’indirizzo IP del mittente, þ  l’indirizzo IP del destinatario,

þ  il protocollo di trasporto (TCP o UDP): serve ad indicare all’host destinatario il tipo di trasporto e di conseguenza il modo in cui manipolare i dati ricevuti,

þ  lo header checksum: è il CRC (Cyclic Redundancy Check) che permette di verificare l’integrità dell’header,

þ  il TTL (Time-To-Live): il tempo di durata in vita di un datagram; alla partenza viene assegnato un valore predefinito che diminuisce ad ogni attraversamento di un router; quando il TTL raggiunge il valore zero il datagram viene tolto dalla rete.

IPv4 packet layout

(18)

IPv4

Source address (128 bits)

Destination address (128 bits)

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

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

IP packet layout

IPv6

Version (4bit) Internet Header length (4bit)

Type of

Service (8bit) Total Length (16 bit)

Fragment Offset (13 bit) Flags(3bit )

Identification (16 bit)

Time to Live (8) Protocol(8) (dei livelli superiori) Header Checksum (16) Source Address (32 bit)

Destination Address (32 bit) Options (optional)

Data

da 40 a 65535 bytes

Da 20 a 60 byte priorità del datagramma + ICMP,

Telnet, Ftp, DNS,… Max=216 -1 byte

per la frammentazione

Riferimenti

Documenti correlati

• Per scoprire a quale router first-hop deve essere inoltrato il messaggio viene confrontato l’indirizzo di destinazione con gli indirizzi di rete contenuti nella tabella di

n quando viene creata una connessione, la finestra di congestione è uguale alla dimensione del massimo segmento che può essere inviato sulla connessione. n se questo è

Il metodo intranet utilizza al meglio la dimensione massima della rete cui deve spedire il pacchetto, ma perde il tempo relativo alla ricostruzione dell’intero pacchetto, che

I servizi di questo livello sono completamente legati alle applicazioni:.. • Quali

Frame Ethernet  è il pacchetto trasmesso nella rete NOTA: nella stessa rete il frame IP è ridondante.. CLASSI DI INDIRIZZI IP

CIDR (Classless Inter Domain Routing) e VLSM (Variable Length Subnet Mask) Domain Name System (DNS): spazio dei nomi, tipi di server DNS (cenni) D ISPOSITIVI DI RETE. Mezzi

2.  Il Browser invoca il resolver per conoscere l’IP dell’URL cercato, 3.  Il Browser attiva una connessione TCP sulla porta 80 del server, 4.  Il Browser chiede al server

Il protocollo ICMP può svolgere le seguenti funzioni: ü · fornire messaggi di echo e di risposta per verificare l’attendibilità di una connessione tra due host, ü