1 / 65

Laboratorio di Comunicazione e reti

Laboratorio di Comunicazione e reti. Dott . Alexandru Serbanati. INF/01 AA. 2009-2010. Indice del Corso. Reti telematiche : cosa sono, principi base di funzionamento

Download Presentation

Laboratorio di Comunicazione e reti

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

E N D

Presentation Transcript


  1. LaboratoriodiComunicazione e reti Dott. Alexandru Serbanati INF/01 AA. 2009-2010

  2. 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

  3. Reti Informatiche Definizione, classificazione, funzionamento di base

  4. 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.

  5. 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)

  6. 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) • …

  7. 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):

  8. 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

  9. 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)

  10. 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.

  11. 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

  12. 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.

  13. 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.

  14. 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.

  15. 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)

  16. 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.

  17. 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.

  18. 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.

  19. 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

  20. Internet e applicazioni basate su internet Applicazioni di rete e architetture di comunicazione

  21. Applicazioni di rete: cosa sono? @

  22. 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

  23. 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.

  24. 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).

  25. 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!!!

  26. 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.

  27. 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.

  28. 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

  29. 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

  30. 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…

  31. 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.

  32. Strumenti di comunicazione basati sul web

  33. 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

  34. 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).

  35. 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

  36. 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

  37. Web – Contenuto statico Richiesta pagina Invio pagina HTML 1 Rich internet applications Richiesta pagina Invio pagina HTML 2

  38. 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.

  39. 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

  40. 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.

  41. 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.

  42. 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.

  43. 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

  44. 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!!

  45. 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.

  46. 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

  47. 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à.

  48. 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.

  49. 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/

  50. 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/

More Related