Programmazione su Reti Autunno 99 Prima prova di verifica Dip. Informatica ed Appl. Università di Salerno La MickeySoft Corp. scopre Internet e ci chiede aiuto La MickeySoft Corp. è una piccola azienda che produce software. Il suo fondatore, il signor Guglielmo Rimuovi, ha letto su una rivista delle meraviglie di TCP/IP e decide di metter su una rete nel centro di sviluppo della MickeySoft Corp. a Salette (piccolo paesino alle porte di Topolinia). A tal fine ha chiesto ad alcune persone di ingegno di organizzare una rete e si ritrova ora con la cablatura pronta ma di Internet ancora nessun segno. Una piccola parte della cablatura effettuata è raffigurata in Figura 1 dove sono riportati solo alcuni dei 60 host di ciascuna delle reti ETH1, ETH2, ETH3, ETH4 ed ETH5. Figura 1: Una parte dell Internet di riferimento. Il signor Rimuovi ha sentito da un suo amico che il corso di Laurea in Informatica della vicina Università offre agli studenti un orientamento denominato Reti Informatiche e vi ha chiesto di essere suo consulente. Per ciascun problema che risolverete verrete pagati in punti che possono essere usati per superare l esami di Programmazione su Reti. Problema 0: richiesta degli indirizzi IP. Come ben sapete, avete bisogno di indirizzi IP. Li richiedete e vi sono assegnati due indirizzi di rete di classe C: 192.44.2.0 e 192.44.1.0. Spiegate al signor Rimuovi come vi siete accorti che gli indirizzi sono di classe C e perché avete richiesto due reti di classe C e non una sola.
Prima Verifica 2 ETH1 ETH3 ETH5 R1 su ETH1 R2 su ETH1 R3 su ETH1 R4 su ETH4 H1 H3 IP addr. ETH2 ETH4 R1 su ETH2 R2 su ETH3 R3 su ETH5 R4 su ETH5 H2 H4 IP addr. Figura 2: Indirizzi IP assegnati. Voi sapete anche che le due reti possono essere descritte con un solo aggregato (o supernet). Quale? Problema 1: assegnazione degli indirizzi IP. Prossimo passo della costruzione della rete, visto che le connessioni fisiche sono già state effettuate e non sono modificabili, è quello di assegnare gli indirizzi IP. Per brevità riportate in Figura 2 gli indirizzi che decidete di assegnare alle interfaccie riportate nella Figura 1 e alle reti ETH1, ETH2, ETH3, ETH4 ed ETH5. Ovviamente gli indirizzi devono essere presi dalle classi C assegnate a MickeySoft Corp..
Prima Verifica 3 Problema 2: Il routing. Il fondatore della MickeySoft Corp., consigliato dai suoi collaboratori di ingegno, decide che tutti gli host della rete devono avere una tavola di routing molto minimale: una sola entry di default ad uno dei router direttamenti connessi. In particolare, riferendoci agli host della Figura 1, viene deciso che H1 usa R4 come gateway di default, H2 usa R4 come gateway di default, H3 usa R2 come gateway di default ed H4 usa R1 come gateway di default. Tavola di Routing di R1 Tavola di Routing di R2 Destinazione NextHop SubNetMask Flag If Destinazione NextHop SubNetMask Flag If Tavola di Routing di R3 Tavola di Routing di R4 Destinazione NextHop SubNetMask Flag If Destinazione NextHop SubNetMask Flag If Figura 3: Le tavole di routing da riempire
Prima Verifica 4 Problema 3: un esempio. Visto che la rete funziona a meraviglia, il signor Rimuovi incuriosito vuole che gli spiegate come i dati passino da un computer ad un altro (scusate il suo linguaggio poco tecnico ma il fondatore è solo un ricco imprenditore e non un vero informatico). Consideriamo pertanto il seguente esempio. Si supponga che l host H2 invii un datagramma IP all host H4 usando il router R3 come router di default. Riempiamo la tabella in Figura 4 specificando per ciascuno dei 3 hop che il datagramma compie gli indirizzi origine e destinazione che appaiono nel header IP del datagramma e del frame Ethernet in cui il datagramma è incapsulato. Hop Origine Destinazione Source Data Link Dest. Data Link Source Network Dest. Network 1 2 3 Figura 4: Riempire la tabella Problema 4: le tavole si sono modificate! Dopo alcuni giorni, il fondatore vi chiama preoccupato per lamentarsi che le tavole di routing di alcuni host, che nelle intenzioni iniziali dovevano avere una sola entry, presentano invece un grosso numero di entry. Senza guardare le tavole degli host avete già un sospetto. A cosa è dovuta questa espansione nelle tavole? Come vi aspettate che sia la tavola di routing dell host H2? Come deve essere modificata la tavola di H2 affinché il problema non si ripresenti? Specificate la nuova tavola, riempendo la tabella in Figura 5. Destinazione NextHop SubNetMask Flag If Figura 5: La nuova tavola di H2
Prima Verifica 5 Problema 5: ARP e DNS. Ormai siete diventati amici del fondatore che vi usa anche per soddisfare le sue curiosità in materia di reti. Qualcuno gli ha detto che ARP e DNS hanno la stessa funzione e che un server DNS può essere usato anche per svolgere compiti di server ARP. In realtà voi sapete benissimo che DNS e ARP sono meccanismi ben distinti. Cosa può aver tratto in inganno il fondatore? Nello spazio seguente spiegate le differenti funzioni di DNS e ARP. Problema 6: un host viene spostato. Uno dei ricercatori ha deciso di staccare il suo PC (H71) dalla ETH5 e di collegarlo tramite PPP a H2 (non si capisce perché). Il ricercatore però si è ormai affezionato al suo indirizzo IP e non vuole cambiarlo (neanche questo attaccamento è comprensibile). Cosa è necessario affinché H71 possa continuare a funzionare senza cambiare l indirizzo IP, né le tavole di routing degli altri host (eccettuato eventualmente H2)?