Indice. 2 Il lavoro Net-SNMP L interfaccia vde snmp... 30

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Indice. 2 Il lavoro 27 2.1 Net-SNMP... 28 2.1.1 L interfaccia... 28 2.2 vde snmp... 30"

Transcript

1 Indice 1 Quadro di riferimento SNMP Un po di storia Architettura Il protocollo Agent e Manager VDE Architettura Debug Eventi Plugin libvdemgmt Virtual Square ViewOS Il lavoro Net-SNMP L interfaccia vde snmp

2 2 INDICE API Utilizzo e funzionamento Contatori Richiesta GET Gestione TRAP Conclusioni Net-SNMP VDE Esempio di funzionamento

3 Introduzione Ogni rete tradizionale di medio-grande dimensione necessita di un sistema di gestione che permetta di monitorare, gestire e diagnosticare gli apparati ad essa collegati. Il sistema deve essere in grado di mostrare i dati aggregati ricevuti dagli apparati, come le statistiche di traffico in entrata e in uscita dalla rete, o di notificare gli amministratori in caso di guasti o di anomalie dei dispositivi. Nel corso degli anni sono stati sviluppati protocolli proprietari e non per la gestione degli apparati di rete, ma l unico che è riuscito ad imporsi come standard di larga diffusione è SNMP. Considerata la grande importanza che oggi ha assunto la virtualizzazione, non è difficile pensare a reti ibride composte sia da apparati fisici tradizionali come router, switch, stampanti e calcolatori sia da apparati virtuali come ad esempio lo switch virtuale di Virtual Distributed Ethernet (vde switch). Questo lavoro di tesi si è concentrato quindi sul colmare la lacuna tra dispositivi fisici e virtuali tramite l implementazione del protocollo SNMP su vde switch. In questo modo lo switch virtuale, dal punto di vista della gestione, appare sulla rete reale (e su quella virtuale) esattamente come un dispositivo fisico. Nel capitolo 1 Quadro di riferimento vengono introdotti in dettaglio i protocolli e le tecnologie che sono state utilizzate durante il lavoro come SNMP, VDE e Virtual Square. Nel capitolo 2 Il lavoro sono illustrati i passaggi che hanno portato al completamento di vde snmp, ossia l integrazione tra l interfaccia di gestione di VDE e il framework Net-SNMP. 3

4 4 INDICE Infine nel capitolo 3 Conclusioni sono illustrati i risultati ottenuti e i benefici del lavoro di tesi. È stata posta particolare attenzione nello scegliere soltanto prodotti e protocolli aperti. In particolare i protocolli come SNMP sono aperti in quanto pubblicati su RFC ed adottati come standard dall IETF 1, per quanto riguarda i prodotti sia VDE che Virtual Square sono rilasciati sotto GNU GPL 2 e sono considerati a tutti gli effetti software libero, Net-SNMP è rilasciato sotto licenza BSD ed è comunque liberamente modificabile e redistribuibile. La scelta di orientarsi verso prodotti liberi ha permesso di studiare liberamente il codice e modificarlo secondo necessità. Senza queste libertà non sarebbe stato possibile ottenere i risultati discussi in questa tesi. 1 Internet Engineering Task Force 2 GNU General Public License

5 Capitolo 1 Quadro di riferimento 1.1 SNMP SNMP, acronimo di Simple Network Management Protocol, è definito nell RFC 1157 e seguenti come a simple protocol by which management information for a network element may be inspected or altered by logically remote users. In altre parole, SNMP fornisce il supporto per leggere o scrivere qualunque aspetto amministrativo di un dispositivo reale, o come nel nostro caso, virtuale. Oggigiorno qualsiasi apparato di rete (switch, router, stampante ecc) di fascia medio-alta fornisce supporto SNMP per avere accesso remoto alle proprie caratteristiche e permetterne il monitoraggio da parte degli amministratori della rete. È possibile ad esempio sapere quante pagine sono state stampate, il numero degli utenti collegati al sistema, il numero di byte trasferiti oppure impostare attributi quali lo stato delle porte, controllando in tal modo le operazioni del dispositivo. 5

6 6 CAPITOLO 1. QUADRO DI RIFERIMENTO Un po di storia Nel corso degli anni (dal 1988) SNMP ha subito diverse modifiche per permettere un migliore adattamento alle nuove esigenze e correggere i difetti delle versioni precedenti. Si distinguono tre versioni principali: SNMP v1 [RFC 1155, 1157, 1213]: prima versione e MIB relative SNMP v2 [RFC 1901, 2578]: aggiornamenti del protocollo e SMIv2 SNMP v3 [RFC 3411, 3418, 3584]: nuova versione con autenticazione e criptazione. Attualmente lo standard in uso. La prima versione nacque dalla necessità di un protocollo standard per la gestione di una rete TCP/IP, alcuni concetti erano già noti dallo sviluppo di SGMP (Simple Gateway Monitoring Protocol). Sebbene i primi RFC siano stati pubblicati nel 1988 la versione 1, adottata come standard dall Internet Architecture Board, è apparsa nel 1991 con gli RFC 1155/1212/1213 e Tuttavia la prima versione di SNMP, dati i tempi 1 e le necessità, non disponeva di alcun sistema di autenticazione e di sicurezza ed è per questo che nel 1993 è stato adottato come standard SNMP versione 2. Purtroppo, a causa di disaccordi riguardanti la scelta del sistema di sicurezza, questa versione non è mai stata largamente utilizzata. Lo standard de facto invece è diventato SNMP versione 2c, ossia la versione 2 senza l infrastruttura di sicurezza ma utilizzando lo schema basato su comunità di SNMP versione 1. Nel 1997 è stato creato un gruppo per la definizione di SNMP versione 3, questa versione aggiunge i requisiti necessari di autenticazione, criptazione e controllo degli accessi ed è lo standard raccomandato, rendendo le versioni precedenti obsolete. Di fatto però la maggior parte delle implementazioni di SNMP supportano i tre standard con una preferenza per la versione 3. 1 Quando internet era ancora una rete frequentata da persone civili, cioé

7 1.1. SNMP Architettura Una rete gestita con SNMP è composta da tre elementi principali: managed system: è il dispositivo che si vuole gestire e sul quale è in esecuzione l agent. agent: è in esecuzione sul dispositivo (managed system) ed elabora i dati richiesti (eventualmente delegando le richieste più specifiche a sub-agent, ma in questo lavoro non faremo differenza). network management system: interroga i dispositivi (e dunque gli agent) collezionando i dati, ricevendo notifiche e centralizzando l amministrazione dei dispositivi. Le informazioni sui dispositivi sono rappresentate in maniera gerarchica tramite MIB (Management Information Base) che specifica il tipo di oggetto (scalare o tabulare) ed associa ad esso un nome e un identificativo univoco (OID, Object IDentifier). MIB è specificato attraverso l uso di un sottoinsieme della grammatica ASN.1 (Abstract Syntax Notation) denominato SMIv2 (Structure of Management Information version 2) e definito nell RFC L uso di grammatiche formali permette una descrizione precisa dell albero di oggetti e facilita la generazione automatica di codice per un agent. Si può pensare alla MIB di un sottosistema 2 come alla specifica dell agent che avrà in carico quel sottosistema. Ad esempio l oggetto mostrato in figura 1.1 fa riferimento all uptime 3 del dispositivo in questione: sono specificati gli attributi dell oggetto quali il tipo di dato (TimeTicks, centesimi di secondo), il tipo di accesso (read-only in questo caso) e lo status ossia l informazione se l oggetto è correntemente in uso oppure deprecato, questo per facilitare la correzione e l aggiornamento delle MIB da parte degli autori e degli implementatori. 2 Con sottosistema si indica un qualsiasi ramo della gerarchia SNMP 3 Da quanto tempo è acceso

8 8 CAPITOLO 1. QUADRO DI RIFERIMENTO In figura 1.2 è rappresentata una parte dell albero della gerarchia SNMP, ogni nodo ha la propria rappresentazione testo associata all indentificativo numerico, mentre per ogni foglia è specificato anche il tipo di accesso (lettura/scrittura) insieme al nome, all OID e ad eventuali attributi specifici del tipo di dato. sysuptime OBJECT-TYPE -- FROM SNMPv2-MIB, RFC1213-MIB SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time (in hundredths of a second) since the network management portion of the system was last re-initialized." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) system(1) 3 } Figura 1.1: Dettaglio dell oggetto sysuptime (OID ) L uso di MIB garantisce facile espandibilità e flessibilità. Un produttore di hardware o software può aggiungere al proprio agent altri OID oltre a quelli standard e pubblicare la relativa MIB: in questo modo qualsiasi programma di management SNMP sarà in grado di interpretare ed elaborare correttamente gli OID forniti dal dispositivo così da integrarlo all interno della rete. Il compito dell agent è quello di raccogliere i dati dal dispositivo e mapparli sull OID appropriato effettuando se necessario le conversioni adeguate tra i tipi di dato. Al momento dell interrogazione dell agent da parte del manager verrà restituita una proiezione dello stato del sottosistema dato in carico all agent Il protocollo La notazione ASN.1 di un protocollo (SNMP in questo caso) fornisce la struttura dell informazione, non ma l encoding che questa può assumere durante il trasporto. Questo compito è lasciato invece a delle encoding rules che specificano la codifica dei tipi di dato e dei valori. Per SNMP vengono usate

9 1.1. SNMP 9 +--iso(1) +--org(3) +--dod(6) +--internet(1) +--mgmt(2) +--mib-2(1) +--system(1) +-- -R-- String sysdescr(1) Textual Convention: DisplayString Size: R-- ObjID sysobjectid(2) +-- -R-- TimeTicks sysuptime(3) +-- -RW- String syscontact(4) Textual Convention: DisplayString Size: RW- String sysname(5) Textual Convention: DisplayString Size: Figura 1.2: Esempio di gerarchia SNMP delle regole denominate BER 4 che utilizzano un semplice formato composto da identificativo lunghezza valore 5 per ogni tipo di dato. Il primo byte rappresenta un identificativo (tag) ed è ulteriormente suddiviso: i bit 8 e 7 indicano la classe dell identificativo (Universale, Applicazione, Contesto), il bit 6 se il tipo di dato è primitivo e i restanti bit 5-1 specificano il tipo di dato. Dalla combinazione di queste informazioni vengono specificati gli identificativi possibili per SNMP. (tabella 1.1) 4 Basic Encoding Rules 5 TLV ossia Tag Length Value

10 10 CAPITOLO 1. QUADRO DI RIFERIMENTO Tipo Valore hex Classe Integer 02 Universale Octet String 04 Universale Object Identifier 06 Universale Sequence 30 Universale IpAddress 40 Applicazione Counter(32) 41 Applicazione GetRequest-PDU A0 Contesto GetResponse-PDU A2 Contesto SetRequest-PDU A3 Contesto Trap-PDU A4 Contesto Tabella 1.1: Esempio di tag definiti dalle BER per SNMP Il secondo byte rappresenta la lunghezza in bytes del valore: è facile intuire che questa convenzione è limitata a lunghezze inferiori di 255 bytes. Per rappresentare lunghezze maggiori di 255 viene utilizzato un espediente: il primo byte ha il bit più significativo settato a 1 e gli altri settati alla lunghezza in bytes della dimensione che seguirà il primo byte. Semplificando, con un esempio: Sia una lunghezza del valore 0xbeef (2 bytes), la lunghezza sarà così rappresentata: 0x82beef (3 bytes) ossia il primo byte 0x82 (0b ) seguito dalla lunghezza effettiva 0xbeef nei restanti 2 bytes. Un messaggio SNMP secondo la specifica è una sequenza (tipo Sequence, tag: 0x30) composta dalla versione (tipo Integer, tag: 0x02) dalla community (tipo Octet String, tag: 0x04) e dal PDU (tipo/tag variabile). La versione 1 di SNMP specifica cinque PDU 6 base: Richiesta GET utilizzata per la richiesta di un singolo valore dal manager verso l agent. Richiesta GETNEXT utilizzata per iterare su sequenze di valori, utile ad esempio per esplorare l intero albero di oggetti gestiti da un agent. 6 Protocol Data Unit

11 1.1. SNMP 11 Richiesta SET utilizzata dal manager per impostare il valore di un oggetto sull agent. Risposta GET utilizzata dall agent in risposta a richieste di tipo GET o SET contenente l esito dell operazione. TRAP utilizzata dall agent per notificare il manager in modo asincrono del verificarsi di un evento. Nelle versioni successive sono stati aggiunti altri PDU: INFORM per la notifica dell agent da parte del manager dell avvenuta ricezione di una TRAP, non indispensabile ma auspicabile dato che il trasporto UDP non garantisce la ricezione dei datagrammi. Richiesta GETBULK utilizzata per la ricezione di grandi quantità di dati senza utilizzare GETNEXT per ogni singolo oggetto. Il protocollo è posizionato al livello 7 (applicazione) del modello OSI e viene solitamente trasportato su UDP, le porte 161 e 162 sono state standardizzate ed assegnate rispettivamente per le comunicazioni dell agent e del manager Agent e Manager Uno dei punti cruciali di SNMP è l interazione tra agent e manager per lo scambio di informazioni. Data l etereogenità degli agent il manager dovrà essere in grado di presentare le informazioni acquisite in modo adeguato, per questo motivo nel corso del tempo sono state proposte molte implementazioni di manager SNMP, ognuna con le proprie peculiarità che rimangono comunque indipendenti dai vari agent. Le richieste del manager possono essere soggette ad autenticazione da parte dell agent su diversi livelli e a seconda della versione di SNMP utilizzata. SNMPv1: autenticazione basata solo sul nome della community fornita dal manager. Nessuna forma di sicurezza o confidenzialità.

12 12 CAPITOLO 1. QUADRO DI RIFERIMENTO SNMPv2: infrastruttura di sicurezza avanzata, lo standard non ha mai preso piede a causa della troppa complessità del sistema di sicurezza. Al suo posto è stato usato lo schema basato su comunità (SNMPv2c). SNMPv3: autenticazione sicura, sistemi di criptazione e liste di controllo degli accessi (ACL). Poichè alcuni degli OID che permettono SET (attributo MAX-ACCESS: read-write) possono essere cruciali per il funzionamento del dispositivo, spesso si preferisce lasciare disabilitata la funzione di scrittura degli attributi nell agent considerando anche i problemi di sicurezza ed autenticazione presenti nelle versioni di SNMP precedenti alla VDE Virtual Distributed Ethernet (d ora in poi VDE) come suggerisce il nome ha a che fare con Ethernet e dunque l interconnessione di più macchine, siano esse reali o virtuali. È inoltre Virtual poiché composto solamente da software e infine Distributed perchè diverse parti della rete possono risiedere su macchine differenti. Per sottolinearne la versatilità, l autore di VDE, Renzo Davoli, lo definisce come a swiss army knife for emulated networks, un coltellino svizzero per reti emulate. È possibile infatti collegare tra loro macchine virtuali, sistemi operativi reali, emulatori ecc in modo assolutamente trasparente. Considerata l estrema generalità di VDE (è infatti compatibile, a livello Ethernet, con qualsiasi protocollo) è stato possibile implementare molte soluzioni quali: VM-network: reti completamente virtuali tra macchine virtuali e/o emulatori. Virtual Private Network (VPN): collegamenti sicuri attraverso reti insicure (si pensi ad Internet).

13 1.2. VDE 13 Mobility: virtuali. supporto trasparente alla mobilità per macchine reali o Architettura Come da tradizione UNIX, tra le filosofie alla base di VDE c è quella della modularità e della semplicità dei componenti. Se i componenti sono specializzati è possibile riutilizzarli come mattoni per altri progetti, inoltre se sono semplici è meno probabile la presenza di bug. In questo modo è più semplice risolvere problemi una volta individuati i componenti da (ri)utilizzare (divide et impera). Vediamo i componenti principali di VDE: vde switch è il fulcro di tutto il progetto: l implementazione software di un vero switch ethernet. Si fa carico dell instradamento dei pacchetti ricevuti dai vari cavi (vde plug) basandosi sull indirizzo MAC 7 di destinazione. Tra le opzioni messe a disposizione è possibile attivare lo switch in modalità repeater (HUB) e il supporto alle Virtual-LAN secondo lo standard IEEE 802.1Q. vde plug costituisce un altra parte fondamentale del framework, un cosiddetto building-block. Si comporta come un cavo fisico, o più precisamente come la spina di un cavo: i dati ricevuti su standard input vengono mandati allo switch mentre quelli ricevuti dallo switch vengono mandati su standard output. dpipe è un altro strumento generale usato solitamente insieme a vde plug: viene implementata un estesione alla pipe UNIX 8 da monodirezionale a bidirezionale. Nel suo utilizzo più semplice sono coinvolti due processi: l output del primo viene rediretto sull input del secondo e viceversa. In particolare dpipe permette di collegare due vde plug a due switch 7 Media Access Control 8 L output di un comando connesso all input di un altro

14 14 CAPITOLO 1. QUADRO DI RIFERIMENTO diversi sulla stessa macchina utilizzando la sintassi dpipe vde plug1 = vde plug2. Allo stesso modo è possibile collegare due switch remoti semplicemente trasportando l output e l input di un vde plug sulla rete: i meccanismi di criptazione e autenticazione rimangono esterni a VDE e dipendono dal tipo di trasporto utilizzato 9. wirefilter è un vero e proprio filtro per vde plug, è possibile infatti emulare anomalie sul cavo virtuale introducendo perdita e duplicazione di pacchetti, latenze variabili, alterazione casuale di bit, ecc. Ancora una volta wirefilter è uno strumento tanto semplice quanto potente: per attivare il filtro basta semplicemente inserirlo tra due cavi con dpipe (es. dpipe vde plug1 = wirefilter = vde plug2 ) poiché il filtraggio avviene bidirezionalmente tra input ed output. Per maggiore flessibilità wirefilter può essere controllato a runtime tramite la console di gestione su socket UNIX simile a quella di vde switch. vde plug2tap permette di collegare uno switch VDE con un interfaccia di rete virtuale (tap). L interfaccia a sua volta può essere collegata a una rete reale, permettendo quindi allo switch di apparire nella rete come qualsiasi altro apparato. vde autolink gestisce il supporto alla mobilità per i cavi ed è uno degli ultimi componenti aggiunti al progetto VDE grazie al lavoro di Luca Bigliardi. vde autolink controlla lo stato delle porte e dei cavi, una volta rilevato un cavo o una porta in stato down il cavo viene ricollegato e il collegamento ristabilito. È quindi possibile cambiare connettività reale 10 senza interrompere quella virtuale, in modo trasparente all utente. slirpvde come funzionamento e teoria è piuttosto vicino ad un proxy: una volta lanciato si collega ad un vde switch e riceve i pacchetti per la rete esterna. Viene tenuta traccia dell indirizzo IP e della porta di origine, il pacchetto viene quindi rigenerato e spedito sulla rete reale 9 Si pensi a protocolli sicuri come SSH 10 Dall adsl al telefonino GPRS ad esempio

15 1.2. VDE 15 come se provenisse da slirpvde. Il pacchetto in risposta dalla rete reale viene invece ricreato sulla rete virtuale e mandato alla coppia indirizzo/porta che l aveva richiesto. Il punto forte di slirpvde è quello di non richiedere nessun privilegio di amministratore, naturalmente alcuni tipi di pacchetti non possono essere creati da utenti non privilegiati, dunque slirpvde è leggermente limitato rispetto a vde plug2tap che invece necessita dei privilegi di amministratore per poter aprire l interfaccia virtuale tap. vde cryptcab implementa un trasporto sicuro alternativo ad SSH per cavi VDE. Come protocollo per il trasporto a livello IP è stato scelto UDP invece di TCP ed è questa la principale differenza dall utilizzo di SSH poiché incapsulare una sessione TCP (quella sulla rete reale) dentro un altra (quella sul cavo virtuale) può risultare molto inefficiente a causa del comportamento adattivo dei timeout di TCP se il packetloss risulta molto alto. unixterm è l utility di connessione alle console di management su socket UNIX utilizzate da vde switch, wirefilter e vde autolink. Pur nella sua semplicità è fondamentale poiché di fatto fornisce uno strumento unico per le interfacce di amministrazione. Per un uso non interattivo o per avere l output di un singolo comando viene invece utilizzato unixtermcmd che accetta un comando in input e restituisce in output l esecuzione di quel comando sul socket UNIX specificato. Durante le normali operazioni un vde switch processa molti eventi sia interni, cioé generati dai sottosistemi, sia esterni cioè quelli generati dalla rete. Per ottenere un controllo ancora più completo e preciso sull attività dello switch è stata implementata un infrastruttura per la gestione degli eventi e delle informazioni di debug. Questa infrastruttura è stata corredata da un sistema di caricamento dinamico di plugin: utilizzando una semplice API infatti ogni plugin per VDE può essere caricato durante il normale funzionamento dello switch e registra-

16 16 CAPITOLO 1. QUADRO DI RIFERIMENTO re funzioni di callback per gli eventi a cui è interessato secondo una logica publisher/subscriber. La nuova struttura dati principale è struct dbgcl definita in figura 1.3 e viene usata internamente per tenere traccia sia delle informazioni di debug, sia per la notifica degli eventi. struct dbgcl { char *path; /* pathname structured debug/event request */ char *help; /* description for debug options listing */ int tag; /* numerical tag of the debug/event */ /* private fields */ int *fds; intfun (*fun); void **funarg; unsigned short nfds, nfun, maxfds, maxfun; struct dbgcl *next; }; Figura 1.3: Struttura dati dbgcl (vdeplugin.h) A livello globale nello switch è presente una linked list di struct dbgcl tramite il puntatore next dove vengono inseriti tutti gli identificativi una volta registrati. Gli identificativi di evento/debug sono organizzati in una gerarchia ad albero e separati da slash (/), di qui l analogia con il path sul filesystem. Ad ogni elemento è associato un tag ottale per la rapida identificazione da parte della libreria di parsing libvdemgmt Debug La lista globale di struct dbgcl viene mantenuta attraverso le macro ADDDBGCL e DELDBGCL per (de)registrare strutture di debug. Nella struttura di debug sono obbligatori i primi tre campi: char *path, char *help, int tag; rispettivamente l identificativo di debug, la stringa di help e il tag associato. Vediamo cosa succede dopo la registrazione di una struttura di debug e l attivazione su console di management:

17 1.2. VDE 17 vde: debug/list 0000 DATA END WITH. CATEGORY TAG STATUS HELP hash/+ 011 OFF hash: new element hash/- 012 OFF hash: discarded element fstp/status 044 OFF fstp: status change fstp/root 045 OFF fstp: rootswitch/port change port/+ 021 OFF new port port/- 022 OFF closed port port/descr 023 OFF set port description port/ep/+ 031 OFF new endpoint port/ep/- 032 OFF closed endpoint Success Figura 1.4: Output del comando debug/list su console di management La stampa dei messaggi di debug viene attivata sulla singola console di management per il quale è richiesta tramite il comando debug/add <path>, se non viene specificato alcun path viene attivato per tutti quelli registrati. Dal comando debug/add viene richiamata la funzione debugadd(int fd, char *path) (consmgmt.c) che scansiona la lista delle strutture di debug e aggiunge il file descriptor fd della console ad ogni path per il quale è stato richiesto. Se il comando va a buon fine si riceveranno sulla console i messaggi di debug prefissi dal tag appropriato ogni volta che nel codice viene richiamata la macro DBGOUT con un path registrato per la console in uso. In figura 1.5 un esempio durante la connessione di un nuovo vde plug: viene prima attivato il debug sulla console per gli eventi port e si ottiene un responso positivo 1000 Success. In seguito viene collegato un nuovo cavo virtuale e sulla console appaiono i tre eventi relativi, rispettivamente l ag-

18 18 CAPITOLO 1. QUADRO DI RIFERIMENTO giunta della porta 1, l aggiunta di un nuovo endpoint sulla porta 1 con file descriptor 4 e il cambiamento della descrizione della porta. La struttura dei messaggi è piuttosto semplice: c è un prefisso numerico suddiviso a sua volta in due campi: mimando la convenzione di altri protocolli 11 il primo numero indica il tipo di messaggio (0 e 1 per messaggi di informazione e 3 per messaggi di debug) seguito da un tag opzionale per specificare un sotto-tipo di messaggio dove il primo numero indica il sottosistema a cui appartiene mentre il secondo indica l evento specifico, i singoli tag fungono da maschere di bit e viene fatto OR bitwise per calcolare la tag risultante (la lista in figura 1.6) ad esempio 021 (D PORT D IN) per l aggiunta di una porta, 031 (D EP D IN) per l aggiunta di un endpoint e così via. vde: debug/add port 1000 Success [connessione del cavo] vde: 3021 port/ port/ep/+ Port 01 FD port/descr Port 01 FD 4 -> "vde_plug: user=filippo PID=24449" Figura 1.5: Connessione di un vde plug e relativi eventi Eventi Il meccanismo di registrazione agli eventi è stato studiato per essere semplice e di immediato utilizzo, così da facilitare l espansione tramite i plugin. Il funzionamento ricalca quello del debug, le funzioni in figura 1.7 scansionano la lista globale di struct dbgcl e aggiungono/rimuovono la funzione di callback da tutti i path che corrispondono 12 al secondo parametro e registrando gli eventuali argomenti da passare. 11 I codici di risposta di HTTP ed SMTP, ad esempio 12 Utilizzando la funzione strncmp

19 1.2. VDE 19 #define D_PACKET #define D_MGMT #define D_IN 01 /* ingresso */ #define D_OUT 02 /* uscita */ #define D_PLUS 01 /* aggiunta */ #define D_MINUS 02 /* rimozione */ #define D_DESCR 03 #define D_STATUS 04 #define D_ROOT 05 #define D_HASH 010 #define D_PORT 020 #define D_EP 030 #define D_FSTP 040 Figura 1.6: Tag disponibili per eventi e debug int eventadd(int (*fun)(), char *path, void *arg) int eventdel(int (*fun)(), char *path, void *arg) Figura 1.7: API pubblica di registrazione/cancellazione degli eventi (consmgmt.c) Per il dispatch di un evento ai suoi subscriber, analogamente al debug, viene utilizzata la macro EVENTOUT che invoca le funzioni di callback registrate per quell evento con i parametri adeguati Plugin La nuova infrastruttura per il caricamento di plugin permette la facile espansione delle funzionalità di vde switch. Per il corretto caricamento di un plugin è richiesta la presenza di una struct plugin di nome vde plugin data con i primi due membri obbligatori e definita in figura 1.8. Come meccanismo per il caricamento di shared-object a runtime viene usata la chiamata dlopen() e sono necessari due attributi standard: il costruttore e il distruttore 13 da poter utilizzare durante il caricamento o lo scaricamento 13 Dichiarati come attribute ((constructor)) e attribute ((distructor))

20 20 CAPITOLO 1. QUADRO DI RIFERIMENTO struct plugin { char *name; /* unique name of the plugin used for identification */ char *help; /* description of the plugin for listings */ /* private fields */ void *handle; struct plugin *next; }; Figura 1.8: Struct plugin (vdeplugin.h) dell oggetto per le funzioni di inizializzazione e deinizializzazione. Una volta caricato, il plugin ha accesso ad ogni aspetto del vde switch, ad esempio per intercettare pacchetti in entrata o in uscita è sufficiente registrare una funzione di callback per l evento packet con la chiamata eventadd(<funzione>, "packet", NULL). Allo stesso modo è possibile ad esempio implementare dei filtri sui pacchetti: viene controllato il valore di ritorno della funzione e se minore di zero il pacchetto viene scartato. Insieme al codice sorgente di VDE vengono distribuiti anche dei plugin dimostrativi, uno di questi cattura i pacchetti in entrata e in uscita dallo switch e li salva in formato pcap per essere poi utilizzati dai più noti strumenti di rete come tcpdump o wireshark. Il plugin durante il caricamento registra dei nuovi comandi per le funzioni di controllo (figura 1.9), in particolare viene associata la funzione dump (figura 1.10) al comando pdump/active che ha in carico di aprire il file di registrazione pcap dump open e associare la funzione di handler pktevent (figura 1.11) agli eventi packet 14. Dopo l inizializzazione ogni qualvolta si verifica un evento che riguarda i pacchetti in entrata e in uscita dallo switch verrà invocato l handler appena registrato che scriverà il pacchetto sul file destinazione (pcap dump). 14 Ossia packet/in e packet/out

21 1.2. VDE 21 static struct comlist cl[]={ { "pdump","============","dump Packets to file",null,noarg }, { "pdump/active","0/1","start dumping data",dump,strarg }, { "pdump/filename", "<file>", "set output filename", setfname, STRARG WITHFILE }, }; Figura 1.9: Comandi aggiunti dal plugin di esempio (pdump.c) static int dump(char *arg) { int active=atoi(arg); int rv; if (active) { desc = pcap_open_dead(dlt_en10mb, 96); dumper = pcap_dump_open(desc, dumpfile); rv=eventadd(pktevent,"packet",null); }else{ rv=eventdel(pktevent,"packet",null); pcap_dump_flush(dumper); } return rv; } Figura 1.10: Funzione di gestione dell attivazione (pdump.c) libvdemgmt La libreria è stata pensata a complemento dell infrastruttura di debug e più in generale come un astrazione sulla console di management di VDE: è possibile un accesso programmatico tramite un API sia per mandare comandi attraverso la console sia per ricevere in modo asincrono i messaggi di debug. Sono presenti due strutture dati per l utilizzatore come mostrato in figura La prima (struct vdemgmt) di tipo opaco è l astrazione di una connessione alla console di management e viene passata a tutte le funzioni che la utilizzano come handle. La seconda (struct vdemgmt out) viene utilizzata per memorizzare l output prodotto da un comando. Una volta aperta con successo una connessione con vdemgmt open è possibile

Network Management. Corso Reti ed Applicazioni Mauro Campanella

Network Management. Corso Reti ed Applicazioni Mauro Campanella Network Management Corso Reti ed Applicazioni Mauro Campanella Cos è il network management? Gli autonomous system (o network ): centinaia o migliaia di oggetti hardware e software che interagiscono Come

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

'HILQL]LRQHGLXQ0,%6103SHULOFRQWUROORGLVRIWZDUH DSSOLFDWLYR

'HILQL]LRQHGLXQ0,%6103SHULOFRQWUROORGLVRIWZDUH DSSOLFDWLYR 8QLYHUVLWjGHJOL6WXGLGL3LVD )DFROWjGL6FLHQ]H0DWHPDWLFKH)LVLFKHH1DWXUDOL &RUVRGLODXUHDLQ,QIRUPDWLFD 6LVWHPLGL(ODERUD]LRQHGHOO LQIRUPD]LRQH *HVWLRQHGLUHWL SURI/XFD'HUL 'HILQL]LRQHGLXQ0,%6103SHULOFRQWUROORGLVRIWZDUH

Dettagli

Progetto di rete: Capacity Planning

Progetto di rete: Capacity Planning Progetto di rete: Capacity Planning Il Capacity Planning comprende tutta una serie di attività, che vanno dal monitoraggio e controllo dei carichi di rete al design della topologia, mediante le quali si

Dettagli

Protocollo SNMP e gestione remota delle apparecchiature

Protocollo SNMP e gestione remota delle apparecchiature Protocollo SNMP e gestione remota delle apparecchiature Contenuti del corso La progettazione delle reti Il routing nelle reti IP Il collegamento agli Internet Service Provider e problematiche di sicurezza

Dettagli

UNIVERSITÀ DEGLI STUDI DI PISA

UNIVERSITÀ DEGLI STUDI DI PISA UNIVERSITÀ DEGLI STUDI DI PISA ANNO ACCADEMICO 2002/2003 DIPARTIMENTO DI INFORMATICA CORSO DI SISTEMI DI GESTIONE DI RETI DEFINIZIONE DI UN MIB SNMP PER IL CONTROLLO DI SISTEMI DI DISTRIBUZIONE AUTOMATICA

Dettagli

KeyPA Print Agent. Informazioni di Funzionamento. Versione Manuale 1.0. Viale S. Franscini, 17. 6900 Lugano (CH) Tel. +41 (0)91 911 85 05

KeyPA Print Agent. Informazioni di Funzionamento. Versione Manuale 1.0. Viale S. Franscini, 17. 6900 Lugano (CH) Tel. +41 (0)91 911 85 05 KeyPA Print Agent Informazioni di Funzionamento Versione Manuale 1.0 Versione PrintAgent 2.4.2 e successive Viale S. Franscini, 17 6900 Lugano (CH) Tel. +41 (0)91 911 85 05 Fax. +41 (0)91 921 05 39 Indice

Dettagli

Definizione di un MIB SNMP per la gestione di un print server.

Definizione di un MIB SNMP per la gestione di un print server. Definizione di un MIB SNMP per la gestione di un print server. Luca Morlando Corso di Sistemi per l'elaborazione dell'informazione: complementi di Gestione di Reti pagina 1 di 33 Indice generale Definizione

Dettagli

Network Monitoring. Utilizzare Cacti ed SNMP per il monitoraggio della rete. Gianluca Renzi. IT Integration and Security www.systemeng.

Network Monitoring. Utilizzare Cacti ed SNMP per il monitoraggio della rete. Gianluca Renzi. IT Integration and Security www.systemeng. Utilizzare ed per il monitoraggio della rete IT Integration and Security www.systemeng.it Linux Day Università di Cassino - 27 Ottobre 2012 Sommario Architettura MIB Versioni NET- Esempi Installazione

Dettagli

TCP/IP. Principali caratteristiche

TCP/IP. Principali caratteristiche TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER

Dettagli

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router

LAN MAN WAN. Una internet è l'insieme di più reti reti distinte collegate tramite gateway/router Rete di reti (interrete, internet) 2 Prof. Roberto De Prisco TEORIA - Lezione 8 Rete di reti e Internet Università degli studi di Salerno Laurea e Diploma in Informatica Una rete di comunicazione è un

Dettagli

SNMP e RMON. Pietro Nicoletti Studio Reti s.a.s. Mario Baldi Politecnico di Torino. SNMP-RMON - 1 P. Nicoletti: si veda nota a pag.

SNMP e RMON. Pietro Nicoletti Studio Reti s.a.s. Mario Baldi Politecnico di Torino. SNMP-RMON - 1 P. Nicoletti: si veda nota a pag. SNMP e RMON Pietro Nicoletti Studio Reti s.a.s Mario Baldi Politecnico di Torino SNMP-RMON - 1 P. Nicoletti: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides)

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Università degli studi di Pisa Facoltà di Scienze Matematiche, Fisiche, Naturali Dipartimento di Informatica

Università degli studi di Pisa Facoltà di Scienze Matematiche, Fisiche, Naturali Dipartimento di Informatica Università degli studi di Pisa Facoltà di Scienze Matematiche, Fisiche, Naturali Dipartimento di Informatica Progetto di Sistemi per la gestione di reti MIB SNMP per il controllo di sistemi remoti Susanna

Dettagli

Realizzazione di un MIB SNMP per il controllo del servizio syslog

Realizzazione di un MIB SNMP per il controllo del servizio syslog Corso di SGR 2000/2001 Realizzazione di un MIB SNMP per il controllo del servizio syslog Di Bruni Eden Diploma di Informatica Università degli studi di Pisa Pisa Italy E-Mail: bruni@cli.di.unipi.it 1.

Dettagli

SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR

SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR SISTEMI OPERATIVI 3 febbraio 2014 corso A nuovo ordinamento e parte di teoria del vecchio ordinamento indirizzo SR Cognome: Nome: Matricola: 1. Ricordate che non potete usare calcolatrici o materiale didattico,

Dettagli

Reti e Linux. Andrea Bontempi. Corsi Linux 2012. POuL

Reti e Linux. Andrea Bontempi. Corsi Linux 2012. POuL POuL Corsi Linux 2012 Una breve introduzione: le reti Una rete di calcolatori è un mezzo fisico sul quale è possibile inviare e ricevere messaggi o flussi di dati. La prima rete a commutazione di pacchetto

Dettagli

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Reti di Calcolatori Claudio Marrocco Componenti delle reti Una qualunque forma di comunicazione avviene: a livello hardware tramite un mezzo fisico che

Dettagli

MIB SNMP per l accesso ai dati di configurazione di pc: Gestione degli Utenti

MIB SNMP per l accesso ai dati di configurazione di pc: Gestione degli Utenti Universita degli studi di Pisa Facolta di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica MIB SNMP per l accesso ai dati di configurazione di pc: Gestione degli Utenti Sistemi di

Dettagli

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Livello di Rete. Prof. Filippo Lanubile. Obiettivo Livello di Rete Circuiti virtuali e datagram La funzione di instradamento Costruzione della tabella di routing Algoritmi di routing adattivi: distance vector routing e link-state routing Routing gerarchico

Dettagli

Definizione di un MIB SNMP per il controllo dello stato di un server DHCP

Definizione di un MIB SNMP per il controllo dello stato di un server DHCP Corso di SGR 2001/2002 Definizione di un MIB SNMP per il controllo dello stato di un server DHCP GISELLA BRONZETTI CORSO DI LAUREA TRIENNALE IN INFORMATICA UNIVERSITÀ DEGLI STUDI DI PISA MAIL: bronzett@cli.di.unipi.it

Dettagli

IL LIVELLO RETE IN INTERNET Protocollo IP

IL LIVELLO RETE IN INTERNET Protocollo IP Reti di Calcolatori IL LIVELLO RETE IN INTERNET Protocollo IP D. Talia RETI DI CALCOLATORI - UNICAL 4-1 Il Protocollo IP IPv4 Datagram IP: formato Indirizzi IP: formato Protocolli di controllo IP mobile

Dettagli

network subnet host Classe A poche reti di dimensioni molto grandi 127

network subnet host Classe A poche reti di dimensioni molto grandi 127 INDIRIZZAMENTO IP Gli indirizzi IP, che devono essere univoci sulla rete, sono lunghi 32 bit (quattro byte) e sono tradizionalmente visualizzati scrivendo i valori decimali di ciascun byte separati dal

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

RECS 101: UN WEB SERVER EMBEDDED PER APPLICAZIONI DI CONTROLLO

RECS 101: UN WEB SERVER EMBEDDED PER APPLICAZIONI DI CONTROLLO RECS 101: UN WEB SERVER EMBEDDED PER APPLICAZIONI DI CONTROLLO REMOTO TRAMITE terza parte TCP/IPdi Cristian Randieri randieri@intellisystem.it In questa terza parte della presentazione del dispositivo

Dettagli

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

Dettagli

Corso di SGR 2000/2001

Corso di SGR 2000/2001 Corso di SGR 2000/2001 Realizzazione di un MIB SNMP per la gestione di un server di Posta, inserito in un cluster di macchine che forniscono l accesso alle caselle e-mail ad utenti di un ISP Di Roberto

Dettagli

Filtraggio del traffico IP in linux

Filtraggio del traffico IP in linux Filtraggio del traffico IP in linux Laboratorio di Amministrazione di Sistemi L-A Dagli appunti originali di Fabio Bucciarelli - DEIS Cos è un firewall? E un dispositivo hardware o software, che permette

Dettagli

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni

Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni White paper Programmabilità di rete con l'infrastruttura Cisco basata sulle applicazioni Panoramica Questo documento analizza il supporto alla programmabilità nell'infrastruttura ACI (Application Centric

Dettagli

Programmazione modulare 2014-2015

Programmazione modulare 2014-2015 Programmazione modulare 2014-2015 Indirizzo: Informatica Disciplina: SISTEMI E RETI Classe: 5 A e 5 B Docente: Buscemi Letizia Ore settimanali previste: 4 ore (2 teoria + 2 laboratorio) Totale ore previste:

Dettagli

C) supponendo che la scuola voglia collegarsi in modo sicuro con una sede remota, valutare le possibili soluzioni (non risolto)

C) supponendo che la scuola voglia collegarsi in modo sicuro con una sede remota, valutare le possibili soluzioni (non risolto) PROGETTO DI UNA SEMPLICE RETE Testo In una scuola media si vuole realizzare un laboratorio informatico con 12 stazioni di lavoro. Per tale scopo si decide di creare un unica rete locale che colleghi fra

Dettagli

Definizione di un MIB SNMP per l'accesso ad informazioni di allarme prodotti dalla rete GSM

Definizione di un MIB SNMP per l'accesso ad informazioni di allarme prodotti dalla rete GSM Sistemi di Elaborazione dell Informazione: Gestione di Reti Definizione di un MIB SNMP per l'accesso ad informazioni di allarme prodotti dalla rete GSM Agazio Gregorace gregora@cli.di.unipi.it Daniele

Dettagli

NetCrunch 6. Server per il controllo della rete aziendale. Controlla

NetCrunch 6. Server per il controllo della rete aziendale. Controlla AdRem NetCrunch 6 Server per il controllo della rete aziendale Con NetCrunch puoi tenere sotto controllo ogni applicazione, servizio, server e apparato critico della tua azienda. Documenta Esplora la topologia

Dettagli

Parte II: Reti di calcolatori Lezione 16

Parte II: Reti di calcolatori Lezione 16 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 16 Giovedì 24-04-2014 1 Traduzione degli

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema Introduzione File System Distribuito

Dettagli

File System Distribuiti

File System Distribuiti File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1 Introduzione File System Distribuito

Dettagli

Uso di sniffer ed intercettazione del traffico IP

Uso di sniffer ed intercettazione del traffico IP Uso di sniffer ed intercettazione del traffico IP Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

I protocolli TCP/IP di Internet

I protocolli TCP/IP di Internet I protocolli TCP/IP di Internet Introduzione E' quasi impossibile oggigiorno leggere un giornale o una rivista dove non si parli di Internet. I riferimenti ad Internet ed alle "autostrade dell'informazione"

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it

Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing. Chiara Braghin chiara.braghin@unimi.it Elementi di Sicurezza e Privatezza Laboratorio 6 - Sniffing Chiara Braghin chiara.braghin@unimi.it Sniffing (1) Attività di intercettazione passiva dei dati che transitano in una rete telematica, per:

Dettagli

Implementazione del File System

Implementazione del File System Implementazione del file system Implementazione del File System Struttura del file system. Realizzazione del file system. Implementazione delle directory. Metodi di allocazione. Gestione dello spazio libero.

Dettagli

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica.

La Sicurezza delle Reti. La Sicurezza delle Reti. Il software delle reti. Sistemi e tecnologie per la multimedialità e telematica. Sistemi e tecnologie per la multimedialità e telematica Fabio Burroni Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena burronif@unisi unisi.itit La Sicurezza delle Reti La presentazione

Dettagli

SICUREZZA DELLE APPARECCHIATURE INFORMATICHE DI UNA RETE LOCALE

SICUREZZA DELLE APPARECCHIATURE INFORMATICHE DI UNA RETE LOCALE RELAZIONE DI TIROCINIO SICUREZZA DELLE APPARECCHIATURE INFORMATICHE DI UNA RETE LOCALE Laureando: Fabrizio GRANZA Relatore: prof. Francesco BOMBI Università degli studi di Padova Facoltà di Ingegneria

Dettagli

Reti di computer. Agostino Lorenzi - Reti di computer - 2008

Reti di computer. Agostino Lorenzi - Reti di computer - 2008 Reti di computer Telematica : termine che evidenzia l integrazione tra tecnologie informatiche e tecnologie delle comunicazioni. Rete (network) : insieme di sistemi per l elaborazione delle informazioni

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Il Livello delle Applicazioni

Il Livello delle Applicazioni Il Livello delle Applicazioni Il livello Applicazione Nello stack protocollare TCP/IP il livello Applicazione corrisponde agli ultimi tre livelli dello stack OSI. Il livello Applicazione supporta le applicazioni

Dettagli

Capitolo 2 -- Silberschatz

Capitolo 2 -- Silberschatz Struttura dei Sistemi Operativi Capitolo 2 -- Silberschatz Struttura di un sistema operativo Servizi di un sistema operativo Interfaccia Utente Chiamate di sistema Tipi di chiamate Programma di sistema

Dettagli

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI) Reti Architettura a livelli (modello OSI) Prevede sette livelli: applicazione, presentazione, sessione, trasporto, rete, collegamento dei dati (datalink), fisico. TCP/IP: si può analizzare in maniera analoga

Dettagli

Raw socket. L intercettazione di un pacchetto IP

Raw socket. L intercettazione di un pacchetto IP Raw socket Il sistema compie molte operazioni sui livelli bassi della rete, ma che non sono immediatamente visibili all utente tramite l interfaccia delle socket L intercettazione di un pacchetto IP Anche

Dettagli

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema

AXO. Operativo. Architetture dei Calcolatori e Sistema. programmazione di sistema AXO Architetture dei Calcolatori e Sistema Operativo programmazione di sistema Il sistema operativo Il Sistema Operativo è un insieme di programmi (moduli software) che svolgono funzioni di servizio nel

Dettagli

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688. Sockets e DatagramSocket

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688. Sockets e DatagramSocket Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sockets e DatagramSocket Windows Phone prevede un interfaccia di programmazione per garantire agli sviluppatori

Dettagli

Corso GNU/Linux - Lezione 5. Davide Giunchi - davidegiunchi@libero.it

Corso GNU/Linux - Lezione 5. Davide Giunchi - davidegiunchi@libero.it Corso GNU/Linux - Lezione 5 Davide Giunchi - davidegiunchi@libero.it Reti - Protocollo TCP/IP I pacchetti di dati vengono trasmessi e ricevuti in base a delle regole definite da un protocollo di comunicazione.

Dettagli

Sistema Operativo Compilatore

Sistema Operativo Compilatore MASTER Information Technology Excellence Road (I.T.E.R.) Sistema Operativo Compilatore Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Il Sistema

Dettagli

Università degli studi di Firenze Facoltà di Scienze Matematiche, Fisiche e Naturali. Laboratorio di Reti di Calcolatori

Università degli studi di Firenze Facoltà di Scienze Matematiche, Fisiche e Naturali. Laboratorio di Reti di Calcolatori Università degli studi di Firenze Facoltà di Scienze Matematiche, Fisiche e Naturali Laboratorio di Reti di Calcolatori SNMP Simple Network Management Protocol Santoro Umberto Roberto 21 febbraio 2007

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Esercitazione [5] Input/Output su Socket

Esercitazione [5] Input/Output su Socket Esercitazione [5] Input/Output su Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo

Dettagli

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Schema di una Rete

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Schema di una Rete Finalità delle Reti di calcolatori Le Reti Informatiche Un calcolatore isolato, anche se multiutente ha a disposizione solo le risorse locali potrà elaborare unicamente i dati dei propri utenti 2 / 44

Dettagli

Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy

Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy Soluzioni dell esercitazione n. 2 a cura di Giacomo Costantini 19 marzo 2014

Dettagli

Sistemi informatici in ambito radiologico

Sistemi informatici in ambito radiologico Sistemi informatici in ambito radiologico Dott. Ing. Andrea Badaloni A.A. 2015 2016 Reti di elaboratori, il modello a strati e i protocolli di comunicazione e di servizio Reti di elaboratori Definizioni

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Il protocollo SNMP Simple Network Management System

Il protocollo SNMP Simple Network Management System Il protocollo SNMP Simple Network Management System Approfondimento per il corso di Reti di Calcolatori Prof. S. Balsamo Università Ca Foscari Venezia Anno Accademico 2003-2004 Roberta Vettorel 787587

Dettagli

La nascita di Internet

La nascita di Internet La nascita di Nel 1969 la DARPA (Defence Advanced Research Project Agency) studia e realizza la prima rete per la comunicazione tra computer (ARPAnet) fra 3 università americane ed 1 istituto di ricerca.

Dettagli

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura

Dettagli

Università degli Studi di Pisa Esame di Sistemi di Elaborazione dell Informazione: Gestione di Rete. MIB SNMP per il controllo della stato di Celle

Università degli Studi di Pisa Esame di Sistemi di Elaborazione dell Informazione: Gestione di Rete. MIB SNMP per il controllo della stato di Celle Università degli Studi di Pisa Esame di Sistemi di Elaborazione dell Informazione: Gestione di Rete. MIB SNMP per il controllo della stato di Celle GSM. Anno Accademico 01/02 Nunziato Romano 1. INTRODUZIONE

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address CAPITOLO 11. INDIRIZZI E DOMAIN NAME SYSTEM 76 Classe bit: 0 1 2 3 4 8 16 24 31 A B C D E 0 net id host id 1 0 net id host id 1 1 0 net id host id 1 1 1 0 multicast address 1 1 1 1 0 riservato per usi

Dettagli

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Internet Protocol Versione 4: aspetti generali

Internet Protocol Versione 4: aspetti generali Internet Protocol Versione 4: aspetti generali L architettura di base del protocollo IP versione 4 e una panoramica sulle regole fondamentali del mondo TCP/IP 1 Cenni storici Introduzione della tecnologia

Dettagli

Protocolli di Sessione TCP/IP: una panoramica

Protocolli di Sessione TCP/IP: una panoramica Protocolli di Sessione TCP/IP: una panoramica Carlo Perassi carlo@linux.it Un breve documento, utile per la presentazione dei principali protocolli di livello Sessione dello stack TCP/IP e dei principali

Dettagli

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30 Protocolli di rete Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 02 Protocolli - 1/30 Strati di protocolli (Protocol Layers) Le reti sono complesse Molti elementi: host

Dettagli

Didattica dell informatica 1

Didattica dell informatica 1 Didattica dell informatica 1 Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2013/14 1 cba 2014 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 11. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 11 system Sistemi operativi 12 maggio 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 11.1 Di cosa parliamo in questa lezione? L interfaccia : system 1 Il

Dettagli

Reti standard. Si trattano i modelli di rete su cui è basata Internet

Reti standard. Si trattano i modelli di rete su cui è basata Internet Reti standard Si trattano i modelli di rete su cui è basata Internet Rete globale Internet è una rete globale di calcolatori Le connessioni fisiche (link) sono fatte in vari modi: Connessioni elettriche

Dettagli

Sistemi Distribuiti. Informatica B. Informatica B

Sistemi Distribuiti. Informatica B. Informatica B Sistemi Distribuiti Introduzione Che cos è un sistema distribuito? Un sistema distribuito è una collezione di computer indipendenti che appare all utente come un solo sistema coerente Da notare: le macchine

Dettagli

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema contenuto della comunicazione sistema per la gestione della comunicazione sottosistema C sottosistema B sottosistema A

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Protocollo ICMP, comandi ping e traceroute

Protocollo ICMP, comandi ping e traceroute Protocollo ICMP, comandi ping e traceroute Internet Control Message Protocol Internet Control Message Protocol (ICMP): usato dagli host, router e gateway per comunicare informazioni riguardanti il livello

Dettagli

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 2 SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 2 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia

Informatica. Prof. M. Colajanni Università di Modena Reggio Emilia Informatica Prof. M. Colajanni Università di Modena Reggio Emilia PARTE 3 - COMUNICAZIONI INFORMATICHE (Internet) Importanza delle comunicazioni Tutti vogliono comunicare Oggi un computer che non è in

Dettagli

Monitoring high-speed networks using ntop Riccardo Paterna

Monitoring high-speed networks using ntop Riccardo Paterna Monitoring high-speed networks using ntop Riccardo Paterna Project History Iniziato nel 1997 come monitoring application per l'università di Pisa 1998: Prima release

Dettagli

Il modello TCP/IP. Sommario

Il modello TCP/IP. Sommario Il modello TCP/IP Il protocollo IP Mario Cannataro Sommario Introduzione al modello TCP/IP Richiami al modello ISO/OSI Struttura del modello TCP/IP Il protocollo IP Indirizzi IP Concetto di sottorete Struttura

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP

Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP Modulo 9 Insieme di protocolli TCP/IP e indirizzi IP 9.1 Introduzione a TCP/IP 9.1.1 Storia e futuro di TCP/IP Il ministero della difesa americana (DoD) creò il modello TCP/IP perché voleva una rete che

Dettagli

MC-link Spa. Pannello frontale del Vigor2700e. Installazione hardware del Vigor2700e

MC-link Spa. Pannello frontale del Vigor2700e. Installazione hardware del Vigor2700e MC-link Spa Pannello frontale del Vigor2700e Installazione hardware del Vigor2700e Questa sezione illustrerà come installare il router attraverso i vari collegamenti hardware e come configurarlo attraverso

Dettagli

Setup dell ambiente virtuale

Setup dell ambiente virtuale Setup dell ambiente virtuale 1.1 L immagine per le macchine virtuali Il file mininet-vm-x86 64.qcow è l immagine di una memoria di massa su cui è installato un sistema Linux 3.13 Ubuntu 14.04.1 LTS SMP

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare.

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare. Capitolo 6 jquery Negli ultimi anni è stata rilasciata una mole incalcolabile di framework JavaScript, più o meno completi, realizzati per supportare nel miglior modo possibile lo sviluppatore web aiutandolo

Dettagli

Il firewall Packet filtering statico in architetture avanzate

Il firewall Packet filtering statico in architetture avanzate protezione delle reti Il firewall Packet filtering statico in architetture avanzate FABIO GARZIA DOCENTE ESPERTO DI SECURITY UN FIREWALL PERIMETRALE È IL PUNTO CENTRALE DI DIFESA NEL PERIMETRO DI UNA RETE

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

Dettagli

Una minaccia dovuta all uso dell SNMP su WLAN

Una minaccia dovuta all uso dell SNMP su WLAN Una minaccia dovuta all uso dell SNMP su WLAN Gianluigi Me, gianluigi@wi-fiforum.com Traduzione a cura di Paolo Spagnoletti Introduzione Gli attacchi al protocollo WEP compromettono la confidenzialità

Dettagli