RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
|
|
- Raffaella Gallo
- 5 anni fa
- Visualizzazioni
Transcript
1 RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 1
2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori prof. Pier Luca Montessoro e ing. Davide Pierattoni, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali Pier Luca Montessoro (si veda la nota a pagina 2) 2
3 Scrittura dei programmi applicativi di rete 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 3
4 Argomenti della lezione L interfaccia Socket Client e server TCP e UDP Esempi 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 4
5 Interfaccia Socket Originariamente sviluppata per i sistemi Unix Consente al livello delle applicazioni di richiedere/ottenere servizi del livello di trasporto (TCP/UDP) 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 5
6 Tipi di dato u_char u_short u_long unsigned char (8 bit) unsigned short int (16 bit) unsigned long int (32 bit) 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 6
7 Indirizzo IP /* internet address */ struct in_addr { u_long s_addr; }; 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 7
8 Indirizzo socket /* aggiunge all indirizzo IP la porta e la famiglia a cui appartiene il protocollo */ struct sockaddr_in { u_char sin_len; u_short sin_family; u_short sin_port; struct in_addr sin_addr; u_long s_addr; char sin_zero[8]; }; 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 8
9 Indirizzo socket /* aggiunge all indirizzo IP la porta normalmente e la famiglia a cui appartiene il protocollo */ non utilizzati! struct sockaddr_in { u_char sin_len; u_short sin_family; u_short sin_port; struct in_addr sin_addr; u_long s_addr; char sin_zero[8]; }; 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 9
10 Struttura socket sin_len sin_len famiglia tipo protocollo sin_family sin_port sin_addr sin_zero indirizzo socket remoto sin_family sin_port sin_addr sin_zero indirizzo socket locale 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 10
11 Tipi di socket applicazione socket stream TCP socket datagram UDP IP socket raw livello data-link e livello fisico 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 11
12 Compatibilità dei formati Sistema big-endian MSB LSB A A+1 A+2 A Pier Luca Montessoro (si veda la nota a pagina 2) 12
13 Compatibilità dei formati Sistema little-endian MSB LSB A A A A Pier Luca Montessoro (si veda la nota a pagina 2) 13
14 Compatibilità dei formati I protocolli della famiglia TCP/IP usano il formato big-endian 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 14
15 Funzioni di conversione di formato u_short htons (u_short host_short); u_short ntohs (u_short network_short); u_long htonl (u_long host_long); u_long ntohl (u_long network_long); Convertono un intero (signed, long) dal formato host al formato network e viceversa 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 15
16 Funzioni di conversione di indirizzo unsigned long inet_addr (const char *); int inet_aton (const char *, struct in_addr *); char *inet_ntoa (struct in_addr); Convertono la rappresentazione decimale (stringa ASCII) di un indirizzo IP nella rappresentazione numerica interna e viceversa 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 16
17 Chiamata al DNS struct hostent { char *hname; char *haliases[]; int h_addrtype; int h_length; char *h_addr_list[]; }; struct hostent *gethostbyname (const char *hostname); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 17
18 Chiamata al DNS struct hostent { char *hname; char *haliases[]; int h_addrtype; int h_length; char *h_addr_list[]; }; nome e lista degli alias struct hostent *gethostbyname (const char *hostname); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 18
19 Chiamata al DNS per IPv4: h_addrtype = AF_INET h_length = 4 (byte) struct hostent { char *hname; char *haliases[]; int h_addrtype; int h_length; char *h_addr_list[]; }; struct hostent *gethostbyname (const char *hostname); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 19
20 Chiamata al DNS struct hostent { char *hname; char *haliases[]; int h_addrtype; int h_length; char *h_addr_list[]; }; puntatori agli indirizzi dell host (può essere multihomed ) struct hostent *gethostbyname (const char *hostname); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 20
21 Chiamate di sistema socket bind connect listen accept sendto recvfrom read write close 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 21
22 Chiamate di sistema int socket (int family, int type, int protocol); AF_INET AF_INET AF_INET SOCK_DGRAM SOCK_STREAM SOCK_RAW 0 0 prot. Crea un descrittore socket Restituisce un intero che sarà usato per i riferimenti al socket 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 22
23 Chiamate di sistema int bind (int sockfd, const struct sockaddr_in *localaddr, int localaddrlen); Aggiunge un indirizzo socket ad socket già creato 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 23
24 Chiamate di sistema int bind (int sockfd, const struct sockaddr_in *localaddr, int localaddrlen); Viene utilizzata dai server per dichiarare la porta su cui ascoltano 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 24
25 Chiamate di sistema int connect (int sockfd, const struct sockaddr_in *serveraddr, int serveraddrlen); Permette ad un processo (tipicamente il client) di aprire una connessione 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 25
26 Chiamate di sistema int listen (int sockfd, int backlog); Usata dai server TCP Informa il sistema operativo che il server è pronto ad accettare connessioni (creazione di un socket passivo ) 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 26
27 Chiamate di sistema int accept (int sockfd, const struct sockaddr_in *clientaddr, int *clientaddrlen); Usata dai server TCP Rimuove la prima richiesta di connessione dalla coda delle connessioni in attesa 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 27
28 Chiamate di sistema int accept (int sockfd, const struct sockaddr_in *clientaddr, int *clientaddrlen); Restituisce (in clientaddr e in clientaddrlen) l indirizzo del client 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 28
29 Chiamate di sistema int accept (int sockfd, const struct sockaddr_in *clientaddr, int *clientaddrlen); Restituisce il descrittore socket da usare per questa connessione 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 29
30 Chiamate di sistema int sendto (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *toaddr, int toaddrlen); Invia un messaggio UDP 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 30
31 Chiamate di sistema int sendto (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *toaddr, int toaddrlen); I flag normalmente sono a zero 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 31
32 Chiamate di sistema int sendto (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *toaddr, int toaddrlen); Restituisce il numero di byte inviati 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 32
33 Chiamate di sistema int recvfrom (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *fromaddr, int *fromaddrlen); Riceve un messaggio UDP 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 33
34 Chiamate di sistema int recvfrom (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *fromaddr, int *fromaddrlen); I flag normalmente sono a zero 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 34
35 Chiamate di sistema int recvfrom (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *fromaddr, int *fromaddrlen); Restituisce il numero di byte ricevuti 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 35
36 Chiamate di sistema int recvfrom (int sockfd, const void *buf, int buflen, int flags, const struct sockaddr_in *fromaddr, int *fromaddrlen); Restituisce (in fromaddr e in fromaddrlen) l indirizzo del mittente 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 36
37 Chiamate di sistema int read (int sockfd, const void *buf, int buflen); int write (int sockfd, const void *buf, int buflen); Leggono/scrivono sulla connessione TCP 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 37
38 Chiamate di sistema int read (int sockfd, const void *buf, int buflen); int write (int sockfd, const void *buf, int buflen); Restituiscono il numero di byte letti/scritti 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 38
39 Chiamate di sistema int close (int sockfd); Chiude un socket e interrompe una connessione TCP 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 39
40 Tipi di server Il server non deve essere monopolizzato da un singolo client: Sequenziale senza connessioni (UDP, singolo processo, viene servito un client alla volta) Parallelo con connessioni (TCP, un processo per ogni client) 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 40
41 Client Server sequenziale senza connessioni Porta effimera Server UDP Client UDP Porta effimera Un client alla volta Porta nota UDP Client Porta effimera UDP 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 41
42 Server sequenziale UDP n processi client socket sendto (TSAP server, comando e dati) receive (risposta) close processo server socket bind (TSAP server) while (recvfrom (comando e dati, TSAP client)) { sendto (TSAP client, risposta) } 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 42
43 Server sequenziale TCP (bloccante!) n processi client socket connect (TSAP server) while (comandi utente) { write (comando e dati) } close read (risposta) processo server socket bind (TSAP server) listen while (TRUE) { accept (connessione) while (comandi utente) { read (comando e dati) write (risposta) } close (connessione) } 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 43
44 Server parallelo con connessioni Client TCP Porta effimera Server Server child Server Server child child Client TCP Client TCP Porta effimera Porta effimera Porte effimere Porta nota usata solo per l apertura della connessione TCP 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 44
45 Client socket ( ) Ripetuto in base alle necessità sendto ( ) recvfrom ( ) Richieste Risposte Server socket ( ) bind ( ) Ripetuto infinite volte recvfrom ( ) Process sendto ( ) close ( ) 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 45
46 Server socket ( ) Client socket ( ) connect ( ) Richiesta di connessione bind ( ) listen ( ) Ripetuto all infinito accept ( ) fork ( ) Ripetuto in base alle necessità write ( ) Richiesta close (listening) Ripetuto in base alle necessita read ( ) close (accepting) Server parent read ( ) close ( ) Risposta Server child Processo write ( ) close (accepting) 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 46
47 Librerie semplificate Sviluppate dal prof. Montessoro per agevolare la scrittura di semplici esempi didattici di applicazioni client-server Per TCP: tcpsocketlib Per UDP: udpsocketlib Per datagram IP senza intestazione di livello di trasporto: rawsocketlib 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 47
48 Libreria tcpsocketlib int create_tcp_client_connection (char *ip_address, int port); int create_tcp_server (char *ip_address, int port); int close_tcp_connection (int sk); int server_handler (int sk); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 48
49 Libreria tcpsocketlib int tcp_send (int sk, char *buffer); int tcp_receive (int sk, char *buffer); void tcp_putchar (int sk, int ch); int tcp_getchar (int sk); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 49
50 Libreria udpsocketlib int create_udp_client (void); int create_udp_server (char *ip_address, int port); int close_udp_socket (int sk); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 50
51 Libreria udpsocketlib int udp_send (int sk, char *buffer, char *ip_address, int port); int udp_receive (int sk, char *buffer); int udp_receive_and_get_sender_info (int sk, char *buffer, char *ip_address, int *pport); int udp_reply (int sk, char *buffer); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 51
52 Libreria rawsocketlib int create_raw_socket (char *ip_address, int protocol); int close_raw_socket (int sk); int raw_send (int sk, char *buffer, char *ip_address); int raw_receive_and_get_sender_info (int sk, char *buffer, char *ip_address); int raw_reply (int sk, char *buffer); 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 52
53 Acknowledgements/ bibliografia Behroutz A. Forouzan I protocolli TCP/IP McGraw-Hill 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 53
Input/output in C e in C++
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Input/output in C e in C++ 2001 Pier Luca Montessoro - Davide Pierattoni
DettagliLaboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.
Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio
DettagliSocket per TCP: Fondamenti
Socket per TCP: Fondamenti Network Applications Molte applicazioni di rete sono formate da due programmi distinti (che lavorano su due diversi host) uno detto server ed uno detto client. Il server si mette
DettagliInterazione (TCP) Client-Server con le socket
Interazione (TCP) Client-Server con le socket D. Gendarmi Interazione TCP Client/Server Server 2. Assegnare un local address alla socket 3. Settare la socket all ascolto 4. Iterativamente: a. Accettare
DettagliEsercitazione Laboratorio di Sistemi Operativi 20-01-2014. Cognome Nome Mat.
Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio di 1 punto
DettagliFONDAMENTI DI INFORMATICA. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine. Compressione audio
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Compressione audio 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1
DettagliSocket TCP. seconda parte
Socket TCP seconda parte Schema della connessione Computer 1 127.43.18.1 indirizzo I1 indirizzo I2 Computer 2 143.225.5.3 porta 45000 socket porta 5200 socket processo client processo server socket(...)
DettagliEsercitazione [6] Client/Server con Socket
Esercitazione [6] Client/Server con Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di
DettagliCOMUNICAZIONE TRA PROCESSI REMOTI IN UNIX
A cura del prof. Gino Tombolini 1 COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX Il sistema UNIX TCP/IP fornisce un meccanismo di comunicazione tra processi residenti su nodi distinti di una rete, compatibili
DettagliSocket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.
Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento
DettagliCreare 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
DettagliParadigma client-server
Interazione Client Server (socket) Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 15 CliSer - 1/31 Paradigma client-server Le applicazioni utente devono interagire con
DettagliINTERNET DOMAIN SOCKETS (Cap.59)
INTERNET DOMAIN SOCKETS (Cap.59) Internet Domain Stream Socket TCP Internet Domain Datagram Socket UDP A differenza degli UDDS I datagrams possono essere persi duplicati o arrivare in un ordine diverso
DettagliGuida all' uso dei sockets nella programmazione in C
Guida all' uso dei sockets nella programmazione in C ( pseudo-traduzione personalizzata di "Beej's Guide to Network Programming" ) (Prima parte) INTRODUZIONE Finalmente ho trovato una guida chiara e semplice
DettagliDATAGRAM SOCKET. Angelastro Sergio Diomede Antonio Viterbo Tommaso
DATAGRAM SOCKET Angelastro Sergio Diomede Antonio Viterbo Tommaso Definizione supporta i datagram privo di connessione messaggi inaffidabili di una lunghezza massima prefissata il protocollo UDP supporta
DettagliIPC Inter Process Communication
Il protocollo TCP controlla che la trasmissione tra due end points avvenga correttamente. Non stabilisce alcun criterio su chi deve iniziare la comunicazione. Questo compito è svolto dalle applicazioni
DettagliSocket TCP. prima parte
Socket TCP prima parte Cosa cambia: socket int fd = socket(pf_inet, SOCK_STREAM, 0); if (fd
DettagliSocket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.
Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento
DettagliTECN.PROG.SIST.INF. TCP socket in Windows. 2015 - Roberta Gerboni
2015 - Roberta Gerboni Schema logico della comunicazione TCP in linguaggio C mediante bytestream socket. Parte asimmetrica Ruolo passivo bind () Parte asimmetrica Ruolo attivo Parte simmetrica Parte simmetrica
DettagliUna semplice applicazione client/server 1
Una semplice applicazione client/server 1 Il nostro obiettivo In questa parte del corso implementeremo un applicazione client/server che usa i socket Internet disponibili nei sistemi Unix/Linux. Nello
DettagliArchitettura e servizi Internet
Architettura e servizi Internet Laboratorio di Sistemi Operativi Corso di Laurea in Informatica Università degli Studi dell'aquila A.A. 2011/2012 Romina Eramo materiale tratto da: Fazio Vincenzo e-mail:
DettagliI Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina
M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura
DettagliProgrammazione di applicazioni di rete
Programmazione di applicazioni di rete Valeria Cardellini Università di Roma Tor Vergata Applicazioni di rete Applicazioni di rete - forniscono i servizi di alto livello utilizzati dagli utenti - determinano
DettagliEsempio 1: stampa locale di file remoto
Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente
DettagliSC per Inter Process Comminication. Comunicazione fra macchine diverse: socket
SC per Inter Process Comminication Comunicazione fra macchine diverse: socket 1 Sockets File speciali utilizzati per connettere due o più processi con un canale di comunicazione i processi possono risiedere
DettagliEsercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC) - - 2 Parte -
Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012 - Comunicazione Tra Processi (IPC) - - 2 Parte - 1 Sommario Comunicazione tra processi su macchine diverse in rete: Socket TCP o Socket Stream
DettagliElementi di programmazione con interfaccia Socket
Struttura generale per stream sockets Socket() Well-Known Port Bind() Elementi di programmazione con interfaccia Socket Cenni di programmazione secondo la nuova interfaccia Socket definita nella RFC 2553
DettagliIl collegamento delle reti aziendali: DHCP, DSL, PPPoE
Nota di Copyright RETI DI CALCOLATORI II Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide)
DettagliCenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it
Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale
Dettaglirsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it
Maximiliano Marchesi 28 Settembre 2005 Diario delle Revisioni Revisione 1.2 28 Settembre 2005 maximiliano.marchesi@studenti.unipr.it Sommario Introduzione..................................................................................
DettagliUna socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor. Alcuni tipi predefiniti di socket
Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor Le socket costituiscono un fondamentale strumento di comunicazione, basato sullo scambio di messaggi,
DettagliSviluppo di Applicazioni su Rete. Introduzione all API socket di Berkeley. Interazione tra Processi. Modello Client-Server
a.a. 2003/04 Introduzione all API socket di Berkeley Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica
Dettaglirequest reply richiesta client processo di servizio processo server principale From - Valeria Cardellini, Corso Sist. Distr. A.A.
Applicazioni di rete Forniscono i servizi di alto livello utilizzati dagli utenti Determinano la percezione di qualità del servizio (QoS) che gli utenti hanno della rete sottostante Programmazione di applicazioni
DettagliOpzioni per le Socket
Opzioni per le Socket A.A. 2005/06 Opzioni per le Socket Ogni socket aperto ha delle proprietà che ne determinano alcuni comportamenti Le opzioni del socket consentono di modificare tali proprietà Ogni
DettagliInter-process communication: socket
Le Socket Inter-process communication: socket Abbiamo visti alcune tipologie di Inter-process communication: Anonymous pipes FIFOs o named pipes Le socket di comunicazione si pongono nell'ipc per realizzare:
DettagliRETI 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
Dettagliunsigned long inet_addr(cp) char *cp;
/* bcopystru.c #include struct point int x; char *y; ; struct point a, b; struct pint *pta, *ptb; a.x = 5; a.y = pippo ; b = a; printf i valori del secondo point sono: %d %s\n,b.x,b.y); pta=
Dettagli(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ&
(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ& 3ULPRHVHUFL]LR6RFNHWVWUHDPFRQULGLUH]LRQH Si progetti un applicazione distribuita Client/Server per una rete di workstation UNIX (BSD oppure System V). In particolare,
DettagliLaboratorio di Programmazione in Rete
Laboratorio di Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12
DettagliBasi di network programming sotto Unix/Linux (draft version) Claudio Piciarelli
Basi di network programming sotto Unix/Linux (draft version) Claudio Piciarelli 20 dicembre 2004 ii Indice 1 Introduzione 1 1.1 Notazioni e terminologia..................................... 1 2 Un po di
DettagliSocket per TCP: Fondamenti
Socket per TCP: Fondamenti Network Applications Molte applicazioni di rete sono formate da due programmi distinti (che lavorano su due diversi host) uno detto server ed uno detto client. Il server si mette
Dettagliprogrammazione distribuita Introduzione Introduzione alla programmazione distribuita
Reti Informatiche Introduzione alla programmazione distribuita Introduzione Richiami di Programmazione C Differenze principali C/C++ 2 1 Definizioni di variabili Le variabili possono essere definite solo
DettagliLaboratorio di Programmazione in Rete
Laboratorio di rogrammazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12
DettagliProgrammazione dei socket di rete in GNU/Linux
Programmazione dei socket di rete in GNU/Linux Fulvio Ferroni fulvioferroni@teletu.it 2006.09.21 Copyright Fulvio Ferroni fulvioferroni@teletu.it Via Longarone, 6-31030 - Casier (TV) Le informazioni contenute
DettagliTelematica II 12. Esercitazione/Laboratorio 4
Server UDP in JAVA Telematica II 12. Esercitazione/Laboratorio 4 DayTime daemon UDP Port 13 obiettivo realizzazione di un servizio per l invio della data/orario del server al client utilizzo di un datagram
DettagliSocket. [Pagina intenzionalmente vuota] 2: Socket (10 3 2003) slide 2:1/50 (p.24)
Socket [Pagina intenzionalmente vuota] (10 3 2003) slide 2:1/50 (p.24) Concetto di socket Disponibili su tutti i sistemi odierni Endpoint di canale (logico) di comunicazione tra processi, anche remoti
DettagliAcknowledgment: Prof Vincenzo Auletta, Università di Salerno. Approfondimento alla programmazione distribuita
Reti Informatiche Approfondimento alla programmazione distribuita Acknowledgment: Prof Vincenzo Auletta, Università di Salerno Introduzione API send e receive bloccanti e non API select Socket UDP Esempio
DettagliProgrammazione di rete: 1. Architettura di Internet 2. Richiami di TCP/IP 3. Sockets in sistemi UNIX/Windows
Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Facolta di Ingegneria, Universita La Sapienza Docente: Francesco Quaglia Programmazione di rete: 1. Architettura di Internet 2. Richiami di
DettagliLe Opzioni per i Socket
Advanced TCP Socket Le Opzioni per i Socket Le opzioni per i socket sono controllate mediante tre tipi di primitive: 1) le funzioni getsockopt() e setsockopt(), che permettono di configurare alcune caratteristiche
DettagliInterazione con il DNS Conversioni di Nomi ed Indirizzi
a.a. 2003/04 Interazione con il DNS Conversioni di Nomi ed Indirizzi Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in
DettagliLaboratorio di Reti di Calcolatori
Laboratorio di Reti di Calcolatori Funzioni utili, server ricorsivi, echo client ed echo server. Paolo D Arco Abstract Scopo della lezione è presentare alcune funzioni di utilità generale (e.g., funzioni
DettagliGuida di Beej alla Programmazione di Rete
Guida di Beej alla Programmazione di Rete Usando Socket Internet Brian "Beej Jorgensen" Hall beej@beej.us Versione 2.4.5 5 Agosto 2007 Copyright 2007 Brian "Beej Jorgensen" Hall Traduzione di Fabrizio
DettagliACCESS LIST. Pietro Nicoletti www.studioreti.it
ACCESS LIST Pietro Nicoletti www.studioreti.it Access List - 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright
DettagliLaboratorio di Reti di Calcolatori
Laboratorio di Reti di Calcolatori Socket UDP. Paolo D Arco Abstract Scopo della lezione è descrivere le funzioni che l interfaccia dei socket offre per far interagire client e server attraverso il protocollo
DettagliLe Reti Informatiche
Le Reti Informatiche modulo 8 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Il Livello di Trasporto: 1 L utente non ha il controllo sulla rete; non può risolvere i problemi di un servizio inadeguato
DettagliLaboratorio di Programmazione in rete
Laboratorio di rogrammazione in rete Introduzione alla programmazione C di socket A.A. 2005/06 Comunicazione tra computer Come far comunicare più computer su una rete? Una collezione di protocolli: TC/I
DettagliProgram m azione di Sistem a 6
Program m azione di Sistem a 6 Lucidi per il corso di Laboratorio di Sistemi Operativi tenuto da Paolo Baldan presso l'università Ca' Foscari di Venezia, anno accademico 2004/ 2005. Parte di questo materiale
DettagliLaboratorio di Reti di Calcolatori
Laboratorio di Reti di Calcolatori Comunicazione tra processi in una interrete, Socket API. Paolo D Arco Abstract Scopo della lezione è spiegare concisamente come possono comunicare due processi in esecuzione
DettagliLIBRERIA SOCKET EFUNZIONI DI NETWORKING. Versione 1.0
LIBRERIA SOCKET EFUNZIONI DI NETWORKING Versione 1.0 Vito Asta, febbraio 2000 N.B. La presente dispensa accenna solo brevemente agli argomenti trattati e alle funzioni viste nel corso delle esercitazioni;
DettagliControllo Winsock di Visual Basic
Controllo Winsock di Visual Basic Il controllo Winsock, non visibile all'utente, consente di accedere ai servizi di rete TCP e UDP. Per creare applicazioni client o server non è necessario conoscere in
DettagliBasic Sniffer Tutorial
Basic Sniffer Tutorial LnZ Aspinall S.P.I.N.E. Research Group April 2, 2003 Abstract Con questo semplice esempio cerchero di mostrarvi l uso di base delle
DettagliSistemi Operativi: Programmazione di Sistema
Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2011/2012 Prof. Luca Ferrari e-mail: ferrari@dsi.unifi.it telefono: 055 4237454
DettagliT.A.R.I. Socket (ICT, AL)
Internet Applications (Client-Server Concept, Use of Protocol Ports, Socket API, DNS, E-mail, TELNET, FTP) Funzionalità Livello di trasporto e livelli sottostanti Comunicazione base Disponibilità Livello
DettagliIl livello di Trasporto del TCP/IP
Il livello di Trasporto del TCP/IP Il compito del livello transport (livello 4) è di fornire un trasporto efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata.
DettagliIntroduzione 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
DettagliSocket API per il Multicast
Socket API per il Multicast Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy http://www.iac.cnr.it/
DettagliRETI 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
DettagliRETI 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
DettagliOpzioni del Socket. Socket Options. Opzioni di Livello Socket. Livello delle Opzioni
a.a. 2003/04 Opzioni del Socket Socket Options Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1 Ogni socket
DettagliBerkeley Socket La programmazione dei Berkeley Socket per esempi.
Berkeley Socket La programmazione dei Berkeley Socket per esempi Ing Alessio Palma Note legali e licenza d'uso Questo documento non è assolutamente da considerarsi di pubblico dominio, viene concessa la
DettagliSistemi Distribuiti. Prof. Flavio De Paoli. Message Oriented communication
Sistemi Distribuiti Prof. Flavio De Paoli 1 Message Oriented communication 2 Message-oriented communication Asincrona Persistente I messaggi vengono conservati dal sistema di comunicazione Transiente I
DettagliTECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI
TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP
DettagliCreare un'elementare backdoor in C in ambiente UNIX
Creare un'elementare backdoor in C in ambiente UNIX DISCLAIMER: Questo tutorial è a solo scopo didattico. L'autore NON si prende alcuna responsabilità circa usi errati o non legali delle informazioni qui
DettagliJava Socket LSO 2008
Java Socket LSO 2008 Modello Client/Server Richiesta di servizio Risposta Il cosiddetto lato client, effettua la richiesta di esecuzione di un servizio. La sua controparte, il lato server, effettua l esecuzione
DettagliGestione di files Motivazioni
Gestione di files Motivazioni Un programma in esecuzione legge (sequenzialmente) una sequenza di caratteri prodotti "al volo" dall'utente (tramite tastiera) il programma in esecuzione scrive (sequenzialmente)
DettagliI/O su Socket TCP: read()
I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una
DettagliNetworking. Mauro Migliardi Ph. D.
Software Architectures Networking Mauro Migliardi Ph. D. A word of wisdom The word networking strikes fear in the hearts of many programmers. Fear not! Using the networking capabilities provided in the
DettagliRETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI. Facoltà di Ingegneria Università degli Studi di Udine
RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo
DettagliUna prima applicazione in C per l utilizzo delle socket
Una prima applicazione in C per l utilizzo delle socket Richiamo sulle socket Socket in Windows (WinSock) Differenze tra sistemi operativi D. Gendarmi Socket API API: Application Programming Interface
DettagliSistemi Operativi II Corso di Laurea in Ingegneria Informatica
www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Il Sistema Operativo e la rete Contenuti Architettura di Internet Richiami di TCP/IP Sockets
DettagliINGEGNERIA DEL WEB. VinX
INGEGNERIA DEL WEB VinX Indice 1 Programmazione di applicazioni di rete 1 1.1 Applicazioni di rete........................................ 1 1.2 Modello Client/Server......................................
DettagliJ+... 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
DettagliUso di sniffer ed intercettazione del traffico IP
Uso di sniffer ed intercettazione del traffico IP Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy
DettagliHTTP adaptation layer per generico protocollo di scambio dati
HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003
DettagliAvviso ai programmatori. Programmazione in rete: i socket. Esercizio - copia dati. Messaggi di errore. stdarg.h. Funzioni di errore
Programmazione in rete: i socket Antonio Lioy < lioy@polito.it > Politecnico di Torino Dip. Automatica e Informatica Avviso ai programmatori la programmazione di rete è pericolosamente vicina al kernel
DettagliRETI 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
DettagliReti di Calcolatori - Laboratorio. Lezione 7. Gennaro Oliva
Reti di Calcolatori - Laboratorio Lezione 7 Gennaro Oliva Opzioni di socket Ogni socket aperto ha un insieme di opzioni associate che ne determinano il comportamento Distinguiamo due tipi: opzioni binarie
DettagliCorso di Reti di Calcolatori
Corso di Reti di Calcolatori UNICAL Facoltà di Ingegneria a.a. 2002/2003 Esercitazione sul networking in Java (3 a parte) e comandi di rete paolo.trunfio@deis.unical.it 1 Datagrammi Le applicazioni che
DettagliICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.
ICMP Internet Control Message Protocol Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ICMP - 1 Copyright: si
DettagliSicurezza delle reti. Monga. Ricognizione. Scanning Breve ripasso socket Network mapping Port Scanning NMAP. Le tecniche di scanning
Sicurezza dei sistemi e delle 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it Port Lezione V: Scansioni Port a.a. 2015/16 1 cba 2011 15 M.. Creative Commons
DettagliReti di Calcolatori:
Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì
DettagliCapitolo 2 - parte 3. Corso Reti ed Applicazioni Mauro Campanella
Capitolo 2 - parte 3 Corso Reti ed Applicazioni Mauro Campanella Agenda - Domain Name Sytem (DNS) - Le socket BSD per Internet M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 2-3 pag. 2 DNS: Domain
DettagliNetworking. Apertura di uno stream sulla rete: URL
Networking Il networking in java è supportato nel package java.net, che permette, mediante classi e metodi opportuni, di trasferire informazioni attraverso la rete utilizzando: protocolli derivati dal
DettagliArduino Quick Ethernet library Reference
Arduino Quick Ethernet library Reference Di Luca Panebianco per Automazione Open Source Versione 1.0 www.xploreautomation.com Pag 1 Indice dei contenuti 1 Classe Ethernet...3 2 Classe IPAddress...3 3 Classe
DettagliARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it http://staff.polito.it/mario.baldi. Fulvio RISSO
ARP e RARP Silvano GAI sgai[at]cisco.com Mario BALDI mario.baldi[at]polito.it http://staff.polito.it/mario.baldi Fulvio RISSO fulvio.risso[at]polito.it ARP - 1 Copyright: si veda nota a pag. 2 Nota di
DettagliUniversità degli Studi di Bergamo
Università degli Studi di Bergamo Facoltà di Ingegneria 7. Livello di trasporto in Internet.1 Servizi e Protocolli Prof. Filippini 2!! 3!! 4!!!!! 5!!! 6!!!!! 7!!! 8!! 9!!!!!!!! 10! Applicazione Protocollo
DettagliUniversità degli Studi di Bergamo
Università degli Studi di Bergamo Facoltà di Ingegneria 7. Livello di trasporto in Internet.1 Servizi e Protocolli Prof. Filippini 2!! 3!! 4!!!!! 5!!! 6!!!!! 7!!! 8!! 9!!!!!!!! 10! Applicazione Protocollo
DettagliInterprocess Communications - II. Franco Maria Nardini
Interprocess Communications - II Franco Maria Nardini XSI IPC Tre tipi di IPC introdotti da System V: semafori shared memory code di messaggi Comunicazioni tra processi su stesso host Tutte consentono
DettagliUDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing
a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it
DettagliIL LIVELLO TRASPORTO Protocolli TCP e UDP
Reti di Calcolatori ed Internet IL LIVELLO TRASPORTO Protocolli TCP e UDP 5-1 Il Livello Trasporto I servizi del livello Trasporto Le primitive di Trasporto Indirizzamento Protocolli di Trasporto Livello
Dettagli