650 likes | 814 Views
Laboratorio di Comunicazione e reti. Dott . Alexandru Serbanati. INF/01 AA. 2009-2010. Indice del Corso. Reti telematiche : cosa sono, principi base di funzionamento
E N D
LaboratoriodiComunicazione e reti Dott. Alexandru Serbanati INF/01 AA. 2009-2010
Indice del Corso Reti telematiche: cosa sono, principi base di funzionamento Internet e applicazioni basate su Internet: applicazioni di rete, architetturaclient-server, browser, applicazioni per browser, pagine dinamiche Strumenti per l’interattività Un esempio pratico: Facebook Benefici derivanti dall'approccio interattivo
Reti Informatiche Definizione, classificazione, funzionamento di base
Reti informatiche Definizione di rete: [in Informatica] Un sistema composto da computer, altri dispositivi elettronici (nodi) e connessioni fisiche (collegamenti) che permette lo scambio di informazioni tra i vari nodi. Un insieme di punti (nodi) interconnessi da collegamenti.
I nodi I nodi inviano,ricevono ed inoltrano dati su una rete. Spesso vengono chiamati host. • Alcuni esempi di nodi su Internet: • computer semplici (desktop, portatili) • server (siti web, email, web services, DNS, …) • dispositivi mobile (smartphone, PDA) • stampanti • sensori (sistemi antifurto, monitoraggio, telecamere IP, …) • router (fanno parte dell’infrastruttura della rete)
Reti informatiche (2) Scopo: Condividerelerisorse fisiche(potenza di calcolo, archiviazione,stampa …) edimmateriali (software, dati, permessi, …) tra gli oggetti che compongono la rete. Classificazione: • Per estensione • Per topologia • Collegamento fisico (wired o wireless) • …
Classificazione per estensione Il prefisso “W” (WLAN, WPAN, …) può essere inserito per specificare che la connessione è senza fili (wireless). Basata sulla distanza tipica tra due nodi contigui (d):
Topologia delle reti informatiche Definizione di topologia: Organizzazione fisica o logica dei nodi e delle loro connessioni in una rete. Topologie di rete: • Punto-Punto • Bus • A Stella • Mesh • Ad Albero
Classificazione topologica reti • Bus: tutti i nodi sono connessi con un solo cavo sul quale viaggiano tutte le informaizoni • A stella: (star) ogni nodo è connesso ad un nodo centrale con funzioni di router Punto-Punto: (point-to point)
Classificazione topologica reti (2) • Ad Albero: (tree) rete gerarchica, organizzata a livelli. Ogni nodo di livello n è connesso P2P ad un numero di nodi di livello n+1 e ad un nodo di livello n-1; ogni nodo di livello n fa da router tra i livelli n-1 ed n+1 Mesh: reti a morfologia variabile, senza un’infrastruttura dedicata e wireless. Ogni nodo coopera per lo smistamento delle informazioni inviate dagli altri nodi. La rete Funziona anche in caso di perdita di nodi o ingresso di nuovi nodi nella rete.
Esempi di funzionamento • Bus: una tavola rotonda: tutti parlano • nello stesso ambiente ed il mezzo di • trasmissione (l’aria) è condiviso • Star: la messaggeria: tutti i messaggi • arrivano alla messaggeria (router) che • poi li smista a chi di dovere Point-to-Point: due persone che parlano
Esempi di funzionamento(2) • Tree: ad una festa, il festeggiato ha invitato • alcuni amici (livello1) dicendo loro di allargare • l’invito ai loro amici (livello2). Supponiamo che • questi non si conoscano. Se, dopo la festa, • un invitato vuole contattarne un altro, dovrà • risalire la catena di inviti fino al primo invitato • amico comune Mesh: lo studente all’ultimo banco passa un bigliettino a quello del banco davanti per lo studente in prima fila.
Routing In una rete punto-punto, il mittente ed il destinatario sono scontati (se il messaggio è stato inviato da A, il destinatario è B e viceversa). I router hanno il compito di istradare i messaggi. In reti più articolate, essi stabiliscono il percorso che i messaggi devono seguire per arrivare dal nodo origine alla destinazione. I router sono nodi.
Indirizzo di rete In reti più complesse quindi, ogni messaggio deve anche contenere l’identificazione del nodo mittente e di quello di destinazione . Ogni nodo deve essere identificato tramite un indirizzo di rete. L’indirizzo del destinatario è una informazione necessaria affinché i router istradino correttamente i messaggi.
Perché un indirizzo di rete? Anche nelle comunicazione tra esserei umani è importante sapere chi parla a chi… StudA: come sta il nonno? StudB: potrebbe stare meglio StudA: sta ancora in ospedale, vero? StudB: e per un po’ ci rimarrà Chat1 (A+B) StudA: come sta il nonno? StudB: si trasforma in un razzo missile StudC: potrebbe stare meglio StudB: con circuiti di mille valvole StudA: sta ancora in ospedale, vero? StudB: fra le stellesprinta e va StudC: e per un po’ ci rimarrà Chat (C) StudC: come faceva la canzone diUfoRobot? StudD: si trasforma in un razzo missile StudD: con circuiti di mille valvole StudD: fra le stellesprinta e va Chat2 (C+D) come sta il nonno? si trasforma in un razzo missile potrebbe stare meglio con circuiti di mille valvole sta ancora in ospedale, vero? fra le stellesprinta e va e per un po’ ci rimarrà Chat (C)
L’indirizzo IP L’indirizzo di rete su Internet è di tipo IPv4 e si trova spesso scritto come quattro numeri interi appartenenti all’intervallo da 0 a 255*, separati da punti (“.”). Ogni dispositivo collegato ad Internet ha un suo indirizzo di rete univoco. Ad esempio, 74.125.39.104 è l’indirizzo di uno dei server diGoogle. * È la rappresentazione con numeri interi dei valori ottenibili con due byte.
Il servizio DNS Ricordarsi gli indirizzi IP degli host è difficile per l’essere umano. Egli invece è da sempre abituato a ricordare nomi… E’ stato concepito quindi il servizio Domain Name System o DNS. Il servizio DNS si basa su un archivio delle associazioni nome host –> indirizzo IP e permette di risolvere i nomi degli host in indirizzi IP.
Il servizio DNS I nomi host si acquistano o, per la precisione, si acquista la loro associazione ufficiale ad un indirizzo IP. Tale associazione è delegata alla Internet Assigned Numbers Authority (IANA) che mantiene il database ufficiale delle associazioni.
Ma come funziona?! Web Server Browser DNS Richiesta risoluzione Internet www.google.com Risoluzione 209.85.135.106 Indirizzo IP Richiesta pag. web Invio pag. web
Internet e applicazioni basate su internet Applicazioni di rete e architetture di comunicazione
Applicazioni di rete: esempi • Internet client: • Email client • Web browser (Firefox, Chrome, Internet Explorer) • Instant messaging (Skype, MSN, Gizmo, IRC) • Giochi su Internet (Crysis, World of Warcraft,…) • Software collaborativi (groupware, e-learning, etc) • File sharing • Altre applicazioni (sviluppate ad hoc per scopi specifici) • Internet server: • Email server • Web Server • Database server • Bluetooth • Programma per invio file, biglietti da visita • Navigatori satellitari con GPS esterno collegato via Bluetooth • auricolare senza fili
Applicazioni di rete: definizione Un’applicazione software è un programma che aiuta un utente a svolgere una specifica attività. Un’applicazione di rete è un programma che aiuta un utente a svolgere una specifica attività e che, per adempiere a questo scopo, scambia dati con altri programmi remoti tramite una rete informatica.
Applicazioni Server Le applicazioni server sonno programmi che gestiscono risorse e forniscono servizi (dati, webservices, accesso a risorse) ad altre applicazioni. Disambiguazione: Le applicazioni server spesso sono eseguite su appositi computer progettati per questo specifico compito che vengono chiamati “server”. Nel primo caso si parla di un programma (software), nel secondo di un computer (hardware).
Applicazioni Peer2Peer (1) Le app. P2P sono applicazioni a se stanti che comunicano tramite una rete con applicazioni omologhe per fini propri (o dettati dall’utente). N.B.!! Qui parliamo di applicazioni P2P non reti P2P!!!
Applicazioni Peer2Peer (2) Le applicazioni peer-to-peer sono applicazioni di rete che scambiano dati con altre applicazioni omologhe, cioè che hanno gli stessi ruoli, capacità e funzioni. Come esempio si possono citare i software di condivisione in cui ogni applicazione istituisce tante connessioni dirette (uno a uno) con altrettante applicazioni dello stesso tipo.
Applicazioni Client-Server Le app.client-serversono applicazioni che istanzianosolo una interfaccia utente sul computer dell’utente. Esse necessitano di dati forniti(tramite rete) da appositi server e (generalmente) inviano anche le informazioni prodotte dall’utente a tale server.
Applicazioni Client-Server L’architettura client-server è un ambiente centralizzato. Tutte le risorse sono gestite dall’applicazione server che è il punto nevralgico dell’architettura. Server ATTENZIONE!! Client = Applicazione Client Server = Applicazione con funzioni di server (esso è eseguito sul computer server) Client Client Client Client Client Client Client
App. Client-Server: esempio Il browser web è il più classico esempio di applicazione client nel paradigma client-server: Il browser visualizza il contenuto di una pagina web fornita da un web server. Richiesta pagina HTML Invio pagina
Applicazioni distribuite Le applicazioni distribuite sono programmi in esecuzione su diversi computer che comunicano e scambiano dati tra di loro tramite una rete per raggiungere unoscopo unico condiviso. Le applicazioni distribuite possono essere anche viste come un’unica grande applicazione suddivisa tra tanti computer…
App. distribuite: SETI@Home Progetto che usa computer collegati ad Internet per analizzare lo spettro radio proveniente dal cosmo alla ricerca di segnali provenienti da intelligenze aliene. Il compito è molto difficile data l’immensa mole di dati e viene suddiviso tra tutti i computer degli utenti aderenti all’iniziativa. Chi vuole, può scaricare un’applicazione che installerà sul proprio PC e che contribuirà al processo di calcolo globale.
Non solo dati Ci sono diversi strumenti di comunicazione basati sul web: • e-mail • feedRSS • browser > contenuto statico • browser > Rich Internet Application(RIA) • AJAX - AsynchronousJavaScript and XML • Flash / Flex • JFX • WPF • applicazioni web a se stanti
Feed RSS RSS: Real Symple Syndacation • RSS è un formato che definisce una struttura adatta a contenere un insieme di notizie in un file di testo semplice. Le notizie hanno a loro volta una struttura interna standard. Le notizie vengono pubblicate in modo semplice su server web come file .xml. I file .xml sono file di testo che racchiudono informazioni (sotto forma di testo) strutturate (secondo lo standard XML).
Feed RSS XML • L’utente, sottoscrive i feed tramite app. client che controllano regolarmente i server sottoscritti dall’utente (al quale l’utente è abbonato). Le app. client scaricano le news e le visualizzano. Canale Titolo Link Descriz Notizia Titolo Link Descriz Notizia Titolo Link Descriz
Esempio di feed RSS XML Canale Titolo <item> <title>Vacanze di Pasqua</title> <link>http://www.tibetnews.com/headlines/10062007_001.html</link> <description>Si comunica che l'attività didattica è sospesa da sabato 27/03 a Mar 6/3 compresi. </description> <pubDate>10 Mar 2010</pubDate> </item> <item> <title>L’acqua è bagnata</title> <link>http://www.mysite.com/lacquabagnata</link> <description>Ricerca scientifica d’avanguardia alla Sapienza dimostra che l’acqua è bagnata</description> <pubDate>8 Mar 2010</pubDate> </item> Link Descriz Notizia Titolo Link Descriz Notizia Titolo <?xml version="1.0"?> <rss version="2.1"> <channel> <title>SdC News</title> <link>http://www.comunicazione.uniroma1.it</link> <description>News e articoli dalla facoltà</description> <webmaster>webmaster@comunicazione.uniroma1.it</webmaster> </channel> </rss> Link Descriz
Web – Contenuto statico Richiesta pagina Invio pagina HTML 1 Rich internet applications Richiesta pagina Invio pagina HTML 2
Rich Internet Applications (1) Un’applicazione web è un’applicazione software che viene eseguita in un browser e comunicano tramite Internet. Le RIA sono applicazioni (Applications) web che sfruttano Internet per fornire alcune funzionalità e che sono più complesse (Rich) delle semplici pagine web statiche.
Rich Internet Applications (2) Nelle RIA (applicazioni web client–server), l’elaborazione dei dati/input dall’utente è delegata in gran parte al client, come anche il cambiamento di ciò che l’utente visualizza. • Flash è generalmente utilizzato per • creare/visualizzare animazioni • contenuti multimediali in streaming • sviluppare applicazioniinterattive
AJAX AJAX (AsyncronousJavascript and XML) è un modello di progettazione ed uno standard che permette di creare applicazioni web client-server. AJAX è la base tecnologica per la creazione di applicazioni web interattive o intelligenti che non necessitino di plugin.
AJAX (2) • AJAX utilizza: • JavaScript per la parte di programmazione latoclient (browser) • XML come sintassi per il trasferimento dei dati • HTTPcome protocollo di comunicazione tra il server ed ilclient.
AJAX – lato client Il linguaggioJavaScript è inseritoall’internodelle pagine HTML (embedded) e viene eseguito dal browser. JavaScript permette il cambiamento immediato e in locale della pagina secondo i criteri definiti dallo sviluppatore, senza richiedere una nuova pagina al server. Il cambiamento può includere la modifica o rimozione di qualsiasi elemento della pagina (testo immagini, pulsanti) nonché l’aggiunta di nuovi elementi.
Senza AJAX calcola.html pagina.html Richiesta pagina Calcola Invio pagina pagina.html 3x5 = ? Clicca sul pulsante per far comparire un cerchio con il risultato 15 Richiesta pagina Invio pagina calcola.html
Con AJAX pagina.html Richiesta pagina Calcola Invio pagina pagina.html 3x5 = ? Clicca sul pulsante per far comparire un cerchio con il risultato 15 processamento nel browser!!
AJAX – lato server L’applicazione server deve interpretare e processare le richieste che iclient inviano tramite protocollo HTTP ed eventualmente inviare dati aiclient. AJAX non richiede uno specifico linguaggio di programmazione lato server (PHP, JSP, …). I dati non devono necessariamente essere pagine web, ma anche solo elementi di queste (testo, immagini, video, etc). La loro trasmissione avviene tramite XML.
AJAX Non richiede pluginquindi è compatibile con tutti i browser senza ulteriori installazioni. Essendo eseguitodalbrowser, non è ottimizzato e, per riprodurre effetti complessi, richiede maggiori quantità di risorse. Offre possibilità limitate rispetto ad altre RIA Esempi: www.ajaxdaddy.com www.gmail.com
Plugin I plugin sono applicazioni software non autonome, che necessitano di un ambiente (un altro programma) per funzionare e con il quale interagiscono per aumentarne le funzionalità.
Adobe Flash Adobe Flash (ex Macromedia Flash) è una piattaforma multimediale per la creazione e la fruizione di contenuti multimediali ed interattivi per browser web. Flash richiede l’installazione di un plugin nel browser. Le applicazioni flash possono essere distribuite anche come applicazioni autonome (file eseguibili) ma solo per sistemi Windows.
Adobe Flash • Flash è generalmente utilizzato per: • creare/visualizzare animazioni • contenuti multimediali in streaming • sviluppare applicazioniinterattive Esempi: www.youtube.com www.sony.com/index.php dyc.saab-web.com/microsites/aero_x/GLOBAL/en/index2.shtml http://www.andyfoulds.co.uk/amusement/pen_ink.htm http://www.2advanced.com/
Oracle (Sun) JavaFX JavaFXrichiede la presenza sul computer dell’ambiente Java (che però è spesso già installato per altri motivi). Si basa su Java, e può integrare codice Java al suo interno: è una buona scelta per società che hanno già risorse umane con esperienza in Java. JavaFX permette la creazione diwidget che possono essere trascinati da un sito sul desktop, continuando a funzionare. http://www.javafx.com/samples/