ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR...

18
1 Corso di Reti di Calcolatori e Comunicazione DigitaleProf. 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/ IP, comprende gli strati di 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,….

Transcript of ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR...

Page 1: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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 appl icazione , 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,….

Page 2: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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.

Page 3: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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 ).

Page 4: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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.

Page 5: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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

Page 6: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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

Page 7: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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.

Page 8: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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.

Page 9: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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;

Page 10: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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 2i 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 .

Page 11: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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).

Page 12: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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

Page 13: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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”.

Page 14: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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.

Page 15: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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 rete fisica.

Page 16: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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.

Page 17: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

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

Page 18: ISO-OSI e TCP/IP - LAMPnuovolabs.fauser.edu/~valeria/materiale-didattico/SeR...IP TCP e UDP RPC XDR NFS Internet Protocol Suite Arp e Rarp ICMP Protocolli di routing Telnet FTP SMTP

18

IPv4

Source address(128 bits)

Destination address(128 bits)

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

Payload length (16 bits) Hop limit (8 bits)Next header (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