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

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

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

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

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

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone

Mod. 4: L architettura TCP/ IP Classe 5 I ITIS G. Ferraris a.s. 2011 / 2012 Marcianise (CE) Prof. M. Simone Paragrafo 1 Prerequisiti Definizione di applicazione server Essa è un servizio che è in esecuzione su un server 1 al fine di essere disponibile per tutti gli host che lo richiedono. Esempi sono: il servizio

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

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

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP

IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP Reti di Calcolatori IL LIVELLO APPLICAZIONI DNS, SNMP e SMTP D. Talia RETI DI CALCOLATORI - UNICAL 6-1 Applicazioni di Rete Domain Name System (DNS) Simple Network Manag. Protocol (SNMP) Posta elettronica

Dettagli

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP

Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Protocolli di rete Sommario Introduzione ai protocolli di rete Il protocollo NetBEUI Il protocollo AppleTalk Il protocollo DLC Il protocollo NWLink Il protocollo TCP/IP Configurazione statica e dinamica

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Il World Wide Web: nozioni introduttive

Il World Wide Web: nozioni introduttive Il World Wide Web: nozioni introduttive Dott. Nicole NOVIELLI novielli@di.uniba.it http://www.di.uniba.it/intint/people/nicole.html Cos è Internet! Acronimo di "interconnected networks" ("reti interconnesse")!

Dettagli

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Routing (instradamento) in Internet Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi: Stub AS: istituzione piccola Multihomed AS: grande istituzione (nessun ( transito Transit AS: provider

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi

Inidirizzi IP e Nomi di Dominio. Domain Name System. Spazio dei Nomi Piatto. Gestione dello Spazio dei Nomi I semestre 03/04 Inidirizzi IP e Nomi di Dominio Domain Name System Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

CREAZIONE DI UN FILE

CREAZIONE DI UN FILE #include #include CREAZIONE DI UN FILE fd = creat(filename, mode); int fd, mode; char *filename; La primitiva creat crea un file, se non ne esiste uno col nome specificato, oppure

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

Creare una applicazione Winsock di base

Creare una applicazione Winsock di base Creare una applicazione Winsock di base Usiamo le API Winsock incluse in Creare un progetto per una Socket Windows (in Dev C++) Selezionare la file New Projects Selezionare Empty Project Salvare

Dettagli

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute DNS: Domain Name System I name DNS Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP ( bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it)

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) In una rete TCP/IP, se un computer (A) deve inoltrare una richiesta ad un altro computer (B) attraverso la rete locale, lo dovrà

Dettagli

PRESENTAZIONE DI UN SMS AL GATEWAY

PRESENTAZIONE DI UN SMS AL GATEWAY Interfaccia Full Ascii Con questa interfaccia è possibile inviare i dati al Server utilizzando solo caratteri Ascii rappresentabili e solo i valori che cambiano tra un sms e l altro, mantenendo la connessione

Dettagli

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file

Dettagli

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci

Manuale di Remote Desktop Connection. Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci Manuale di Remote Desktop Connection Brad Hards Urs Wolfer Traduzione: Luciano Montanaro Traduzione: Daniele Micci 2 Indice 1 Introduzione 5 2 Il protocollo Remote Frame Buffer 6 3 Uso di Remote Desktop

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata

AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata AUL22: FactoryTalk View SE Scoprite i vantaggi chiave di una soluzione SCADA integrata Giampiero Carboni Davide Travaglia David Board Rev 5058-CO900C Interfaccia operatore a livello di sito FactoryTalk

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it

Zabbix 4 Dummies. Dimitri Bellini, Zabbix Trainer Quadrata.it Zabbix 4 Dummies Dimitri Bellini, Zabbix Trainer Quadrata.it Relatore Nome: Biografia: Dimitri Bellini Decennale esperienza su sistemi operativi UX based, Storage Area Network, Array Management e tutto

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli

FileMaker Server 12. Guida introduttiva

FileMaker Server 12. Guida introduttiva FileMaker Server 12 Guida introduttiva 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker e Bento sono marchi di FileMaker,

Dettagli

Processi ITIL. In collaborazione con il nostro partner:

Processi ITIL. In collaborazione con il nostro partner: Processi ITIL In collaborazione con il nostro partner: NetEye e OTRS: la piattaforma WÜRTHPHOENIX NetEye è un pacchetto di applicazioni Open Source volto al monitoraggio delle infrastrutture informatiche.

Dettagli

Progetto VirtualCED Clustered

Progetto VirtualCED Clustered Progetto VirtualCED Clustered Un passo indietro Il progetto VirtualCED, descritto in un precedente articolo 1, è ormai stato implementato con successo. Riassumendo brevemente, si tratta di un progetto

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

Dettagli

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless

La configurazione degli indirizzi IP. Configurazione statica, con DHCP, e stateless La configurazione degli indirizzi IP Configurazione statica, con DHCP, e stateless 1 Parametri essenziali per una stazione IP Parametri obbligatori Indirizzo IP Netmask Parametri formalmente non obbligatori,

Dettagli

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix

I veri benefici dell Open Source nell ambito del monitoraggio IT. Georg Kostner, Department Manager Würth Phoenix I veri benefici dell Open Source nell ambito del monitoraggio IT Georg Kostner, Department Manager Würth Phoenix IT Service secondo ITIL Il valore aggiunto dell Open Source Servizi IT Hanno lo scopo di

Dettagli

Architettura di un sistema informatico 1 CONCETTI GENERALI

Architettura di un sistema informatico 1 CONCETTI GENERALI Architettura di un sistema informatico Realizzata dal Dott. Dino Feragalli 1 CONCETTI GENERALI 1.1 Obiettivi Il seguente progetto vuole descrivere l amministrazione dell ITC (Information Tecnology end

Dettagli

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it

Sicurezza delle reti wireless. Alberto Gianoli alberto.gianoli@fe.infn.it Sicurezza delle reti wireless Alberto Gianoli alberto.gianoli@fe.infn.it Concetti di base IEEE 802.11: famiglia di standard tra cui: 802.11a, b, g: physical e max data rate spec. 802.11e: QoS (traffic

Dettagli

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo.

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo. In una rete di ampie dimensioni, ciascuna sottorete (es. LAN, WAN) è connessa ad altre sottoreti tramite router. Internet è un insieme di reti connesse tra loro. Essenzialmente, in una rete alcune macchine

Dettagli

Verifica che una grammatica sia Context Free nel GrammaReader

Verifica che una grammatica sia Context Free nel GrammaReader Verifica che una grammatica sia Context Free nel GrammaReader Sommario Dispensa di Linguaggi di Programmazione Corrado Mencar Pasquale Lops In questa dispensa si descrivono alcune soluzioni per verificare

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Laboratorio di Sistemi Operativi

Laboratorio di Sistemi Operativi II Semestre - Marzo/Giugno 2008 Matricole congr. 0 mod 3 File & Directory #include #include stat,fstat e lstat int stat (const char *pathname, struct stat *buf); int fstat (int

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Software 2. Classificazione del software. Software di sistema

Software 2. Classificazione del software. Software di sistema Software 2 Insieme di istruzioni e programmi che consentono il funzionamento del computer Il software indica all hardware quali sono le operazioni da eseguire per svolgere determinati compiti Valore spesso

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Sistemi avanzati di gestione dei Sistemi Informativi

Sistemi avanzati di gestione dei Sistemi Informativi Esperti nella gestione dei sistemi informativi e tecnologie informatiche Sistemi avanzati di gestione dei Sistemi Informativi Docente: Email: Sito: Eduard Roccatello eduard@roccatello.it http://www.roccatello.it/teaching/gsi/

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio

Dettagli

Introduzione alle VLAN Autore: Roberto Bandiera 21 gennaio 2015

Introduzione alle VLAN Autore: Roberto Bandiera 21 gennaio 2015 Introduzione alle VLAN Autore: Roberto Bandiera 21 gennaio 2015 Definizione Mentre una LAN è una rete locale costituita da un certo numero di pc connessi ad uno switch, una VLAN è una LAN VIRTUALE (Virtual

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi.

Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet Internet è universalmente nota come la Rete delle reti: un insieme smisurato di computer collegati tra loro per scambiarsi dati e servizi. Internet: la rete delle reti Alberto Ferrari Connessioni

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

DNS (Domain Name System) Gruppo Linux

DNS (Domain Name System) Gruppo Linux DNS (Domain Name System) Gruppo Linux Luca Sozio Matteo Giordano Vincenzo Sgaramella Enrico Palmerini DNS (Domain Name System) Ci sono due modi per identificare un host nella rete: - Attraverso un hostname

Dettagli

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO

SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO CLSMS SOFTWARE GESTIONE SMS DA INTERFACCE CL MANUALE D INSTALLAZIONE ED USO Sommario e introduzione CLSMS SOMMARIO INSTALLAZIONE E CONFIGURAZIONE... 3 Parametri di configurazione... 4 Attivazione Software...

Dettagli

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Inter Process Communication (IPC) in POSIX E.Mumolo, DEEI mumolo@units.it Pipe Cos'è un pipe? E' un canale di comunicazione che unisce due processi Caratteristiche: La più vecchia

Dettagli

Analisi dei requisiti e casi d uso

Analisi dei requisiti e casi d uso Analisi dei requisiti e casi d uso Indice 1 Introduzione 2 1.1 Terminologia........................... 2 2 Modello della Web Application 5 3 Struttura della web Application 6 4 Casi di utilizzo della Web

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A.

Livello di applicazione. Reti di Calcolatori. Corso di Laurea in Ingegneria Informatica. Livello di applicazione DNS A.A. Corso di Laurea in Ingegneria Informatica Reti di Calcolatori Livello di applicazione DNS A.A. 2013/2014 1 Livello di applicazione Web e HTTP FTP Posta elettronica SMTP, POP3, IMAP DNS Applicazioni P2P

Dettagli

ATA MEDIATRIX 2102 GUIDA ALL INSTALLAZIONE

ATA MEDIATRIX 2102 GUIDA ALL INSTALLAZIONE ATA MEDIATRIX 2102 GUIDA ALL INSTALLAZIONE Mediatrix 2102 ATA Guida all installazione EUTELIAVOIP Rev1-0 pag.2 INDICE SERVIZIO EUTELIAVOIP...3 COMPONENTI PRESENTI NELLA SCATOLA DEL MEDIATRIX 2102...3 COLLEGAMENTO

Dettagli

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1

UBUNTU SERVER. Installazione e configurazione di Ubuntu Server. M. Cesa 1 UBUNTU SERVER Installazione e configurazione di Ubuntu Server M. Cesa 1 Ubuntu Server Scaricare la versione deisiderata dalla pagina ufficiale http://www.ubuntu.com/getubuntu/download-server Selezioniare

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

- Antivirus, Firewall e buone norme di comportamento

- Antivirus, Firewall e buone norme di comportamento Reti Di cosa parleremo? - Definizione di Rete e Concetti di Base - Tipologie di reti - Tecnologie Wireless - Internet e WWW - Connessioni casalinghe a Internet - Posta elettronica, FTP e Internet Browser

Dettagli

explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012

explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012 explorer 2 Manuale dell Installatore e Technical Reference Ver. 2.2.6 del 14 Dicembre 2012 1 Indice 1. Descrizione del sistema e Requisiti hardware e software per l installazione... 4 1.1 Descrizione del

Dettagli

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci

Manuale di KDE su Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci Geert Jansen Traduzione del documento: Dario Panico Traduzione del documento: Samuele Kaplun Traduzione del documento: Daniele Micci 2 Indice 1 Introduzione 5 2 Usare KDE su 6 3 Funzionamento interno 8

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2014/2015 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

Dettagli

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa di Ilaria Lorenzo e Alessandra Palma Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa Code::Blocks

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.

WAN 80.80.80.80 / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP. Configurazione di indirizzi IP statici multipli Per mappare gli indirizzi IP pubblici, associandoli a Server interni, è possibile sfruttare due differenti metodi: 1. uso della funzione di Address Translation

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Test di comunicazione tra due LOGO! 0BA7: Master - Master Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP:

Dettagli

Guida alla scansione su FTP

Guida alla scansione su FTP Guida alla scansione su FTP Per ottenere informazioni di base sulla rete e sulle funzionalità di rete avanzate della macchina Brother, consultare la uu Guida dell'utente in rete. Per ottenere informazioni

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli