Swappa : Uni / Esercizi di Sistemi - 29 Ottobre 2007
Creative Commons License

Torna alla pagina di Sistemi per l'elaborazione delle informazioni


 :: Esercizi di Sistemi - 29 Ottobre 2007 ::

Header di 2° e 3° livello

Ho una rete siffatta:

Le lettere maiuscole (A, B, C, D, E, H) indicano gli indirizzi MAC, mentre le lettere minuscole corrispondenti sono gli indirizzi IP.

La stazione A vuole mandare un messaggio alla stazione H. Dobbiamo scrivere l'header di livello 2 (Ethernet) e quello di livello 3 (IP) per il mio bel pacchetto.

Soluzione

Commento

Innanzitutto, occorre notare che gli indirizzi IP del mittente e del destinatario rimangono uguali per tutta la traversata delle nostre reti. Il motivo è semplice: gli IP identificano i nostri host, e non c'è ragione per fargli cambiare l'indirizzo.

L'unico caso in cui invece si sarebbe dovuto cambiare l'indirizzo avverrebbe nel caso in cui a metà rete ci fosse un NAT. Il NAT dovrebbe modificare l'indirizzo di origine mettendoci il suo. Per ipotesi, il NAT è il router D-E, in cui D sta sulla rete privata, mentre E ha un indirizzo pubblico. In questo caso, per fare NAT, cioè Network Address Translation, il router avrebbe cambiato l'indirizzo del mittente mettendoci il suo proprio indirizzo, così che H, in un'eventuale risposta, avrebbe inviato pacchetti a D-E e non direttamente ad A. Questo perché A sta su una rete privata (supponiamo 192.168.x.x) e le reti private non possono affacciarsi direttamente ad Internet.

Una nota aggiuntiva sul NAT è questa: il server D-E avrebbe cambiato la porta di origine. Noi sappiamo (?) che l'header TCP permette di specificare una porta. D-E, per non confondere gli indirizzi della rete privata, aggiunge ad ogni porta un certo numero, così che quando poi il pacchetto torna indietro dall'esame della porta sa risalire all'host privato che lo ha mandato in origine. Questo sistema è meglio spiegato nelle lezioni.

Cache ARP

Un host di IP A e MAC a si immette su una rete. Che cosa succede? La prima cosa che fa è mandare un messaggio broadcast ARP dicendo: "Io ho l'IP A e il MAC a". Gli altri ricevereanno, e sulle loro cache ARP private aggiungeranno una voce che assegnerà il MAC a all'IP A. Quando poi vorranno comunicare con A, gli manderanno pacchetti con indirizzo appropriato, e A a sua volta potrà costruirsi la propria tabella ARP.

Da notare che ARP funziona solo su reti Ethernet, perché si appoggia sul broadcast Ethernet.

Frammentazione

In un'ipotetica rete c'è un frame di 210 ottetti, di cui 10 di header. Ho un pacchetto di 400 ottetti. Devo specificare lo header IP che cambia a causa della frammentazione.

Il bit detto MORE, che indica che il frame è seguito da un'altro frame per completarlo, è impostato a 1 nel primo frame, e a 0 nel 2° frame. Questo perché il primo frame va seguito da un altro, mentre il secondo frame no.

L'offset avrà valore 0 nel primo frame, e valore 200 nel secondo frame. Questo perché il secondo frame va assemblato a partire dalla posizione 200.

Sottoreti

Gli indirizzi 192.168.23.87/26 e 192.168.23.67/26 sono sulla stessa sottorete?

Risposta, primo sistema

Il /26 mi dice che prendo i primi due bit del quarto ottetto. Bene. Scriviamo quindi il quarto ottetto di entrambi gli indirizzi:

Come si può vedere, i primi due bit sono uguali in entrambi i casi. Ne consegue che i due indirizzi giacciono (oh che bel verbo) sulla stessa rete.

Risposta, secondo sistema

Ricavo la sottorete su cui giace (sì mi piace sto verbo!) 192.168.23.87/26. Come prima, prendo i primi due bit del quarto ottetto e deduco che la rete è 192.168.23.64/26. La maschera di sottorete è 255.255.255.192. L'indirizzo di broadcast lo ottengo mettendo a 1 tutti i 6 bit che ci sono dopo i 2 di prefisso: 01111111 => 192.168.23.127. Il minimo indirizzo di host è 192.168.23.65. Il massimo indirizzo di host è 192.168.23.126. Vedo subito che 192.168.23.67 è compreso in questo intervallo, quindi è nella stessa sottorete.

Sottoreti bis

Ho gli indirizzi 128.37.23.100 e 128.37.22.150. La maschera di sottorete è 255.255.254.0. Sono sulla stessa sottorete?

Risposta

Notiamo subito che specificare la maschera di sottorete oppure la notazione CIDR è la stessa cosa.

254 nel terzo ottetto sarebbe '11111110. Quindi, uso i primi 7 bit, e gli indirizzi saranno quindi 128.37.23.100/23. Vediamo come scrivere il 23 del terzo ottetto del primo indirizzo, 128.37.23.100. Ottengo 00010111. 22 invece si scrive 00010110. Come si vede, i primi 7 bit di questi due numeri sono uguali, e pertanto gli indirizzi pertengono alla stessa rete. La forma verbale pertengono deriva da pertenere e non so né se sia corretta, né se sia appropriata.

Vogliamo essere noiosi e scrivere i vari dati di questa sottorete? Sì, lo vogliamo.

VLSM

Ho 3 subnet, una con 125 hosts, e le altre 2 con 60 hosts ciascuna. Il netid disponibile è 223.1.17 / 24. Come vedete manca l'ultimo ottetto, perché è a mia completa disposizione.

Per prima cosa, cerchiamo di far saltar fuori un subnet per la subnet più grossa, quella che ha 125 hosts. 128, cioè 2^7, contiene 125, quindi dovremo dividere il nostro classe C in due parti: 223.1.17.0/25 e 223.1.17.1/25. Notate subito che stiamo usando anche la netid con valore tutto a 0. Altrimenti non ne verremmo fuori più. Quindi, la rete da 125 sarà questa: 223.1.17.0/25, e la maschera di sottorete sarà 255.255.255.128.

Le altre due reti le metto in due ulteriori suddivisioni della seconda rete che ho ottenuto qui sopra. In particolare, prendo un altro bit per net id e ottengo 223.1.17.128/26 e 223.1.17.192/26. Ognuna contiene 64 - 2 hosts, e quindi sufficienti per i miei 60. La maschera di sottorete di queste due subnet sarà 255.255.255.192.

NOTA: qui risultano evidenti due cose. La prima è che suddividendo il classe C in questo modo ci sta sì tutto, ma siamo tirati per il collo e non c'è spazio per eventuali espansioni del sistema. La seconda è che emerge un'altra limitazione del VLSM: non posso avere partizioni superiori alla metà di uno spazio di indirizzamento. Questo perché ogni partizione divide in due ciò che ho già. Non posso dividere in 3, o in partizioni asimmetriche.


Torna alla pagina di Sistemi per l'elaborazione delle informazioni

(Printable View of http://www.swappa.it/wiki/Uni/29Ottobre2007-GtExSEDI01)