1 / 21

Netkit4TIC

Netkit4TIC. Laboratorio virtuale per lo studio delle reti. tratto dall’intervento del prof. Sandro Doro - ZuccanteDay 2005. Gli ambienti virtuali. Da alcuni anni si stanno diffondendo progetti il cui scopo è quello di simulare altri sistemi, sia hardware che software.

yamka
Download Presentation

Netkit4TIC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Netkit4TIC Laboratorio virtuale per lo studio delle reti tratto dall’intervento del prof. Sandro Doro - ZuccanteDay 2005

  2. Gli ambienti virtuali Da alcuni anni si stanno diffondendo progetti il cui scopo è quello di simulare altri sistemi, sia hardware che software. La virtualizzazione di una intera macchina apre nuovi scenari nella sperimentazione con il software.

  3. User Mode Linux Normalmente un programma che necessita dell’uso dell’hardware (scheda video, tastiera, ecc) deve richiedere il servizio al kernel. Nel caso di utilizzo del sistema UML la richiesta viene fatta al kernel UML.

  4. QEMU processor emulator È un progetto di Fabrice Bellard. È un emulatore multipiattaforma che permette di eseguire del codice Linux compilato per una particolare CPU su di un processore x86. Dà la possibilità di usare direttamente le immagini ISO e quindi senza dover masterizzare.

  5. Utilizzi dell’emulazione Negli istituti tecnici a indirizzo informatico, nell’ultimo anno di corso, si studiano le reti e le applicazioni web. Sarebbe opportuno: • mettere a disposizione per ogni studente un gruppo di calcolatori da configurare e amministrare • avere la stessa architettura anche a casa

  6. Cos’è Netkit http://www.netkit.org Netkit è il risultato del lavoro di alcune persone del Networks Research Group dell’Università di Roma 3 e del LUG Roma 3. Il software è composto da: • un insieme predefinito di comandi per il setup di macchine virtuali • un filesystem con preinstallato il software necessario per le sperimentazioni

  7. Cos’è Netkit Netkit è stato concepito come un ambiente a basso costo per esperimenti di rete. All’interno del suo ambiente possono essere creati e interconessi router, switch e host. Tali apparati sono virtuali ma possono operare con molte delle caratteristiche possedute da quelli reali.

  8. Struttura • Basato su User Mode Linux • Ogni apparato di rete è una linux box • Le varie istanze che simulano gli apparati di rete sono create all’interno dello stesso host • Le varie istanze sono interconnesse in domini di collisione (hub/switch) • I ruoli dei nodi sono configurabili

  9. Esperienze possibili • Esperienze base: rete minimale con due host, tabelle di routing, protocollo ARP, protocollo RIP. • Esperienze applicative: configurazione di DNS e Mail server. • Esperienze avanzate: esperienze su switch e STP. • Esperienze sul routing interdomain (bgp): routing tra Autonomous System.

  10. Struttura del progetto Live CD: è una distribuzione GNU/Linux in grado di eseguire le esperienze senza bisogno di installazione. Contiene: • una versione di Knoppix elaborata per UML. • un filesystem e un kernel per UML allineato alla distribuzione GNU/Linux Debian sarge • un filesystem per UML per il firewall con librerie uClibc per sistemi embeded. • una versione personalizzata di Netkit

  11. Struttura del progetto Internet: dal sito http://www.tic.fdns.net/tic/html/lab.html sono scaricabili le esperienze virtuali (qualche Kbyte) in formato archivio compresso (tgz).

  12. UML e QEMU Uso contemporaneo di due sistemi di virtualizzazione: UML e QEMU. In tal modo si possono utilizzare nodi Linux e Windows contemporaneamente.

  13. L’ambiente Netkit • Le macchine virtuali possono essere controllate utilizzando due interfacce ltools vtools UML kernel (virtual machine) uml_switch (virtual hub)

  14. Comandi Netkit - vtools

  15. Creazione di una VM vstart [options] MACHINE_NAME • Le più comuni opzioni: • --ethN=dominio_di_collisione • Interfacce del medesimo dominio di collisione possono scambiarsi traffico • -M quantità_di_memoria • Copy-On-Write: tutte le modifiche al filesystem della VM vengono scritte su pc1.disk • Sparse files: file vuoti non consumano spazio

  16. NetKit … • …è un insieme di macchine virtuali preconfigurate che possono essere attivate/disattivate tutte assieme • …consistein una gerarchia di directory • …permettedi impostare esperienze sulle reti anche molto complesse • …può essere gestitoutilizzando opportuni strumenti

  17. Comandi Netkit - ltools

  18. Nome del dominio di collisione indirizzo di rete B as10r1 11.0.0.8/30 A A 11.0.0.8/30 30.3.3.0/24 9 10 9 1 eth1 eth0 eth0 eth0 *AN as10r2 Esempio di un laboratorio Disegnare la topologia di rete da studiare prima di implementarla LEGENDA B IP, ultimo byte dell’interfaccia

  19. host machine foo@host:~/lab$ ls as10r1 as10r2 lab.conf foo@host:~/lab$ █ Esempio di un laboratorio • A lab consists of a hierarchy of directories • Each (even empty) directory represents a virtual machine • Link-level connections are described inside the file lab.conf (in the lab root) • A lab consisting of two virtual machines (as10r1, as10r2) • Check with linfo

  20. Esempio di un laboratorio • lab.conf syntax • vm[if]=cd • vm: virtual machine name (e.g., as10r1) • if: interface number (e.g., 0) • cd: collision domain name (arbitrary string) • vm[opt]=val • opt: the name of a vstart option (e.g., mem) • val: a value for that option • Other optional items • Informational: LAB_DESCRIPTION, LAB_VERSION, LAB_AUTHOR, LAB_EMAIL, LAB_WEB • Explicit list of virtual machines (machines)

  21. host machine B 11.0.0.8/30 as10r1[0]=B as10r1[1]=A as10r2[0]=B as10r1 30.3.3.0/24 A lab.conf 10 1 9 eth1 eth0 eth0 as10r2 Esempio di un laboratorio • Sample lab.conf

More Related