Di Del Grosso Serafina Corso di laurea specialistica in Economia Informatica Università degli studi G. DAnnunzio Pescara A.A. 2005-2006.

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Prof. Carla Fanchin – L.S. Tron
Gli ipertesti del World Wide Web Funzionamento e tecniche di realizzazione a cura di Loris Tissìno (
Università degli Studi di Napoli "Federico II" - a.a. 2002/2003 Le TD nei processi di apprendimento: strategie di apprendimento collaborativo supportate.
Modulo 5 - posta elettronica
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Programmazione con socket
I protocolli TCP/UDP prof.: Alfio Lombardo.
Di INFORMATICA IL NOSTRO LABORATORIO. Presentazione Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
IL NOSTRO LABORATORIO. Di INFORMATICA..
IL NOSTRO LABORATORIO. Di INFORMATICA.. Presentazione: Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
IL NOSTRO LABORATORIO Di INFORMATICA. Presentazione Nel nostro laboratorio abbiamo 24 postazioni con dei computer di tipo Desktop con queste caratteristiche:
4-1 Mobilità in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
INTERNET e i suoi Servizi Docente Esperto: Simona Riolo Docente Tutor: Alfio Messina Lezione #1/ I.C.S. G. Verga - Viagrande (CT)
Architettura del World Wide Web
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
RETI E INTERNET.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
ICMP - PING - TRACEROUTE
P ROGETTO PERMESSO PER SISTENT MESS AGING IN AD H O C NETWORKS Presentazione di Manuela Bassetti Corso di Reti di Calcolatori L-S AA Progetto.
DEIS Università di Bologna
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Corso di Informatica per Giurisprudenza Lezione 7
La sicurezza può essere fornita in ciascuno degli strati: applicazione, trasporto, rete. Quando la sicurezza è fornita per uno specifico protocollo dello.
Guida IIS 6 A cura di Nicola Del Re.
Realizzato da Roberto Savino 3-1 Il livello di trasporto r Dobbiamo assumere di avere a che fare con un canale di comunicazione molto particolare 1. Inaffidabile.
Infracom for you il portale a servizio dei partner
I protocolli TCP/UDP prof.: Alfio Lombardo.
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
1 Ripassino Reti di Computer Carasco 19/02/ Che cosa è una rete informatica? Una rete informatica è un insieme di computer connessi tra di loro.
Reti Insieme di computer e di altri dispositivi che comunicano tra loro per condividere i dati, le applicazioni e lhardware Modulo 1.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Project Review Località Sciistica Novembrer 17th, 2011.
File system distribuito transazionale con replicazione
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo 3 – U.D. 3 – Lez. 1 Ernesto Damiani - Sistemi di elaborazione dell'informazione.
Modulo 2 – U.D. 4 – Lez. 5 (parte I)
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
EM 09 INTERNET … UN PO DI STORIA. EM 09 Nasce per garantire comunicazioni efficienti … Tra le sedi delle forze armate americane Tra le sedi delle forze.
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
L’architettura a strati
Internet: una panoramica
prof.ssa Giulia Quaglino
Distributed System ( )7 TCP/IP four-layer model.
Creato da Riccardo Nuzzone
Greco Rodolfo 2002 Application Trasport Network Phisic HTTP IP UDPTCP DNS SNAP MAC ARP L’utente fa una richiesta di pagina.
La posta elettronica o è un servizio Internet grazie al quale ogni utente può inviare o ricevere dei messaggi. La sua nascita risale al 1972,
Configurazione IP4a-1 Configurazione IP Reti II Stefano Leonardi.
InternetInternet Sede: Salvo D’acquisto 2010/2011 Docente: Vito Monno.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Consuntivo corso Reti diCalcolatori Reti di Calcolatori (F1I063) Docente Luigi Vetrano Durata Ore di lezione56 di cui, ore di.
1 Luigi Vetrano Esercitazione di Reti di Calcolatori A.A
Relatore: Ing. Francesco Lo Presti Correlatore: Ing. Stefano Salsano UPMT: progetto e realizzazione di una soluzione di mobilità verticale e overlay networking.
UNIVERSITA’ DEGLI STUDI DI ROMA “TOR VERGATA”
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Flusso TCP (parte II). Trasferimento di grandi quantità di dati (1) Spesso il mittente deve inviare grandi quantità di dati. Genera un numero elevato.
INTRODUZIONE A INTERNET
Servizi Internet Claudia Raibulet
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 2 -Telnet, FTP e altri Ernesto Damiani Lezione 4 – Napster e.
1 High Available Instant Messaging Service Fabio Bombardi
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Transcript della presentazione:

di Del Grosso Serafina Corso di laurea specialistica in Economia Informatica Università degli studi G. DAnnunzio Pescara A.A

ICQ: UN PO DI STORIA Fino al 1996, era possibile collegarsi al World Wide Web, ma non era consentita alcuna forma di interconnessione tra gli utenti on-line. JULE Yair Goldfinger (26 anni), Arik Vardi (27 anni), Sefi Vigiser (25 anni) e Ammon Amir (24 anni) costituirono la Mirabilis, con lo scopo di creare un nuovo modo di comunicare in Internet. NOVEMBER 1996 – fu sviluppata la prima versione dellICQ Col tempo il protocollo ICQ ha subito diverse modifiche. Attualmente vi sono otto versioni del protocollo ICQ, ognuna delle quali è compatibile con la precedente. TUTTO CIO CHE SI CONOSCE SUL PROTOCOLLO ICQ E STATO OTTENUTO DALLA SPERIMENTAZIONE, ANALIZZANDO I PACCHETTI TRASMESSI E RICEVUTI DAI PROGRAMMI STANDARD.

ICQ: ELEMENTI NECESSARI PC connesso ad Internet Programma client sul pc Registrazione al server Mirabilis

ICQ suona come I SEEK YOU ICQ è uno dei primi istant messaging che dà la possibilità di instaurare delle conversioni tra utenti on-line. COSE LICQ?

COME FUNZIONA ICQ: UN ESEMPIO In fase di installazione, ICQ assegna ad ogni utente un Numero Identificativo Universale (UIN) Quando un utente si connette ad Internet, lISP gli assegna un indirizzo IP UIN: SERVER Mirabilis IP: AGGIORNA BOB ANNA UIN: IP: SEND MESSAGES Anna è on-line Bob è on-line UINIP

IL PROTOCOLLO ICQ ARCHITETTURA Due tipi di comunicazione: Client-Client e Client-Server LICQ, a livello di trasporto, utilizza sia il protocollo UDP sia il protocollo TCP UDP TCP Login message messages

CLIENT-SERVER UDP Protocollo UDP Porta 4000 (o superiori) Numero di sequenza Acknowledgement per ogni pacchetto inviato dal client al server e viceversa

CLIENT-SERVER FORMATO PACCHETTI: HEADER LengthNameDescription 2 byteVERSIONIdentifies the packet as an ICQ packet 4 byteUINThe senders UIN 4 byteSESSION_IDA random number 2 byteCOMMANDCode for service the server should provide 2 byteSEQ_NUM1Start at a random number 2 byteSEQ_NUM2Start at 1 4 byteCHECKCODE variablePARAMETERS0 or more parameters (depending on COMMAND) PACCHETTI INVIATI DAL CLIENT AL SERVER:

LengthNameDescription 2 byteVERSIONIdentifies the packet as an ICQ packet 4 byteSESSION_IDSame as in client login packet 2 byteCOMMANDCode for service the server should provide 2 byteSEQ_NUM1 2 byteSEQ_NUM2 4 byteUINThe clients UIN 4 byteCHECKODE variablePARAMETERSParameters for the command being sent CLIENT-SERVER FORMATO PACCHETTI: HEADER PACCHETTI INVIATI DAL SERVER AL CLIENT:

COMUNICAZIONE CLIENT-SERVER 1. FASE DI REGISTRAZIONE REG_NEW_USER UIN LOGIN_PACKET LOGIN_REPLY IP dinamico, #porta TCP

COMUNICAZIONE CLIENT-SERVER 2. LISTA DEI CONTATTI CONTACT_LIST ACK Il client comunica al server lelenco degli utenti con i quali desidera interagire. FORMATO DEL PACCHETTO Length Content(if fixed) Designation Description 1 byte xx NUM_CONTACTS Number of UINs in this packet 4 bytes xx xx xx xx UIN_1 1st UIN in your contact list bytes xx xx xx xx UIN_n Last UIN in your contact list Il client può, in ogni momento, aggiungere nuovi utenti alla propria lista dei contatti, mediante linvio del pacchetto ADD_TO_LIST

CLIENT-CLIENT Invio di messaggi, , url, contatti, file Video conferenze Telefonare on-line Chat Game Invio di messaggi vocali

CLIENT - CLIENT Inizialmente è necessaria una connessione UDP La connessione diretta tra client utilizza il protocollo TCP Acknowledgement Ogni tipo di connessione (Chat, File, Message) ha una propria listening socket Tipicamente le porte TCP utilizzate sono nellintervallo UDP TCP

LATO CLIENT Off-line invio login_packet Aspetta login_reply non riceve login_reply invio login_packet riceve login_reply invio ACK On line e aspetta user_on_line no user_on_line && no time-out no user_on_line && time-out invio keep alive Aspetta ACK riceve user_on_line invio ACK Connessione TCP IPOTESI: un solo utente nella contact_list CONNESSIONE UDP LOGIN_PACKET TCP_MSGPORT */porta che il client accetterà per le connessioni TCP PASSWORD */max 8 caratteri TCP_MSGIP */indirizzo IP del client TCP_FLAG */il client può instaurare una connessione TCP? */0x004=si 0x006=no STATUS */lo stato del client durante il login TCP_VER */versione del protocollo TCP usata dal client SEQ_LOGIN */numero di sequenza: uno per ogni login_packet

CONNESSIONE UDP LATO SERVER Aspetta login riceve login_packet Aspetta ACK non riceve ACK invio login_reply riceve ACK invia user_on_line time-out && utenti off-line Aspetta keep alive riceve keep alive invio ACK Aspetta ACK invia login_reply Cerca utenti on-line Non riceve keep alive Utente off-line IPOTESI: un solo utente nella contact_list non riceve ACK invia user_on_line

COMUNICAZIONE TCP 1. FASE DI HANDSHAKE FORMATO INIT_PACKET Length Name Description 2 byte LENGTH Lunghezza di questo pacchetto 1 byte INIT_IDENT Identifica questo pacchetto come inizializzazione 4 byte MY_UIN lUIN del client che invia questo pacchetto 4 byte MY_IP lIP del client che invia questo pacchetto 4 byte MY_PORT Porta TCP dalla quale il client riceverà messaggi NOTE: Questo messaggio è lo stesso per ogni tipo di socket: Chat, File, Message. Per questo messaggio il lato receiver non invierà alcuna risposta

COMUNICAZIONE TCP 2. INVIO DEL MESSAGGIO FORMATO CHANNEL_MESSAGE Length Name Description 2 byte LENGTH Lunghezza di questo pacchetto 4 byte UIN UIN del sender 2 byte VERSION Versione del protocollo ICQ 2 byte MSG_COMMAND Tipo di messaggio 2 byte LENGTH Lunghezza del messaggio Variable MESSAGE Testo del messaggio 4 byte IP Indirizzo IP del sender 4 byte PORT Porta TCP per i messaggi in entrata 2 byte TCP_SEQUENCE Numero di sequenza

CONNESSIONE TCP CONTRARIA Client A Client B Richiesta TCP 1.Il client A scrive un messaggio da inviare al client B 2.Il client A tenta una connessione al client B ma non ci riesce 3.Il client A invia il pacchetto TCP_REQUEST al server 4.il server aggiunge al pacchetto TCP_REQUEST, lIP e la Porta TCP del client A e lo invia al client B 5.Il client B si connette al client A e invia il pacchetto INIT_PACKET 6.Il client A invia al client B il messaggio costruito al punto 1 7.Il client B legge il messaggio 8.Da questo momento in poi la comunicazione continua come se il client A si fosse appena connesso al client B

ICQ CHAT COSE UNA CHAT SESSION? CONNESSIONE TRA DUE O PIÙ UTENTI IN CUI I MESSAGGI INVIATI E RICEVUTI VENGONO VISUALIZZATI IN UNA STESSA FINESTRA. OGNI CHAT SESSION HA UNA PROPRIA listen()socket

ICQ CHAT DUE TIPOLOGIE DI CHAT SESSION: 1. SINGLE CHAT SESSION: gli utenti connessi sono solo due. 2.MULTI CHAT SESSION: gli utenti connessi sono più di due

SINGLE CHAT SESSION 1.Il client A chiede al client B di entrare in chat 2.Il client A crea una chat listen()socket che non sarà inviata al client B ma sarà utilizzata se qualcuno vuole unirsi alla chat 3.Il client B accetta la richiesta e crea una listen()socket che invierà al client A, inserendola nel pacchetto ACK 4.Il client A tenta una connessione sulla porta indicatogli nellACK 5.Il client A e il client B sono connessi 6.Pacchetti di setup

SINGLE CHAT SESSION PACCHETTO DI RICHIESTA SessionLength /always 0x0001 for single chat session Chat_Session /always 0x00 for single chat session Chat Port /always 0x0000 Client A Client B Client A Client B PACCHETTO ACK SessionLength /always 0x0001 in the ACK Chat_Session /always 0x00 in the ACK Chat Port /listen()port in intel order

MULTI CHAT SESSION 1.IL RICHIEDENTE E IN UNA CHAT SESSION 2.IL RECEIVER E GIA IN UNA CHAT SESSION 3.SIA IL RICHIEDENTE CHE IL RECEIVER SONO GIA IN UNA CHAT SESSION SI DISTINGUONO TRE CASI:

MULTI CHAT SESSION 1.Il messaggio iniziale conterrà la lista di tutti gli altri utenti della chat session e la listen()socket che è stata creata quando il client A ha inviato, per la prima volta, il messaggio di richiesta di una chat. 2.Il client B accetta la richiesta e crea una sua chat listen()socket che sarà inserita nellACK 3.Dopo aver ricevuto lACK, il client A tenta una connessione sulla listen()socket del client B 4.La connessione è creata e i pacchetti di setup vengono scambiati 5.Nei pacchetti di setup il client A fornisce informazioni sugli altri membri della chat 6.Il client B tenta una connessione con gli altri membri 7.La connessione viene creata e i pacchetti di setup vengono scambiati tra tutti i membri. 1° CASO: IL RICHIEDENTE E IN UNA CHAT SESSION

MULTI CHAT SESSION PACCHETTO DI RICHIESTA SessionLength /length of the chat session Chat_Session /list of all those in the session Chat Port /chat listen()port for this session in intel order Client A Client B Client A Client B PACCHETTO ACK SessionLength /always 0x0001 in the ACK Chat_Session /always 0x00 in the ACK Chat Port /listen()port in intel order

Il richiedente non sa che il receiver è in una chat session Il richiedente chiederà una single chat session MULTI CHAT SESSION 2° CASO: IL RECEIVER E IN UNA CHAT SESSION … COSA CAMBIA? Il receiver quando riceve la richiesta deciderà se: unire il client richiedente alla chat session già aperta ( JOIN OPTION ) LACK conterrà la listen()socket della chat session creata precedentemente I pacchetti di setup conterranno le informazioni sugli altri membri creare una nuova single chat session con il client richiedente

MULTI CHAT SESSION 3° CASO: IL RECEIVER E IL RICHIEDENTE SONO IN UNA CHAT SESSION ICQ NON PERMETTE LA FUSIONE TRA DUE CHAT SESSION LOPZIONE JOIN PUO ESSERE SELEZIONATA DA UN SOLO CLIENT 1. Se uno dei due client seleziona lopzione JOIN MULTI CHAT SESSION 2.Se nessuno seleziona lopzione JOIN SINGLE CHAT SESSION

PACCHETTI DI SETUP FASE DI INIZIALIZZAZIONE Client AClient B 1° pacchetto UIN, Nick 2° pacchetto 3° pacchetto UIN, Nick, IP, Count, altri membri IP, Port

CONNESSIONE TCP CONTRARIA 0. Il client A fa una richiesta di chat al client B 1.Il client B accetta la richiesta e il client B invia lindirizzo IP e la Porta con il messaggio ACK 2.Il client A tenta una connessione al client B ma non ci riesce 3.Il client A invia il pacchetto TCP_REQUEST al server 4.il server aggiunge al pacchetto TCP_REQUEST, lIP e la Porta TCP del client A e lo invia al client B 5.Il client B tenta una connessione al client A e ci riesce 6.Il client B invia il pacchetto INIT_PACKET al client A 7.Il client A e il client B si scambiano i pacchetti di setup 8.Inizia la chat session CHAT SESSION

RIFERIMENTI