INTERNET DOMAIN SOCKETS (Cap.59)
|
|
- Viviana Fausta Bonfanti
- 8 anni fa
- Visualizzazioni
Transcript
1 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 da quello inviato Se la coda di ricezione è piena il datagram inviato viene dropped 1
2 Byte Ordering L'ordine in cui i byte di numeri interi multibytes, vengono memorizzati in memoria dipende dall'architettura della macchina: l'host byte ordering può essere big-endian: byte più significativi per primi little-endian: byte meno significativi per primi (x86) 2
3 host byte ordering per interi di 2 e 4 byte 3
4 Host.vs Network byte ordering Gli address usati dagli IDS sono rappresentati da indirizzi IP e numeri di Porta che altro non sono che interi multi byte network byte order big endian Necessità di convertire i formati da host a network byte order quando si devono riempire le strutture dati da consegnare alla rete (kernel) da network a host quando l'applicativo deve manipolare gli indirizzi ottenuti dal kernel. 4
5 Funzioni di conversione #include <arpa/inet.h> uint16_t htons(uint16_t host_uint16); Returns host_uint16 converted to network byte order uint32_t htonl(uint32_t host_uint32); Returns host_uint32 converted to network byte order uint16_t ntohs(uint16_t net_uint16); Returns net_uint16 converted to host byte order uint32_t ntohl(uint32_t net_uint32); Returns net_uint32 converted to host byte order 5
6 TODO Marshalling readline() 6
7 Internet Socket Address Gli address usati dagli IDS sono rappresentati da indirizzi IP e numeri di Porta e possono essere di 2 tipi fondamentali, in accordo alle 2 versioni del protocollo IP attualmente in uso nella pila TCP/IP (Internet). Identifica l'applicazione all'interno dell'host Indirizzo IP Numero di Porta IPv4 32 bit Identifica l'host della rete dotted-decimal notation: IPv6 128-bit rappresentati in 8 numeri (16-bit-hex) separati da : F000:0:0:0:0:0:A:1 <=> F000::A:1 7
8 TCP/UDP Numeri di porta 1/2 Il livello di trasporto ha la necessità di poter distinguere applicazioni all'inerno dello stesso host. Numeri di Porta. interi a 16-bit reserved/privileged registered dynamic Registrate presso lo IANA 8
9 TCP/UDP Numeri di porta 2/2 reserved/privileged/well known ports. Porte registrate presso lo IANA e riservate ad applicazioni specifiche: ftp(21), ssh(22), telnet(23),http(80),https(443), git (403),. registered. Registrate ma non riservate. Porte effimere/dinamiche. In termini di sockets il TCP assegna una porta effimera in 2 casi assenza di bind() bind alla porta 0 getsockname() per recuperare l'address corrente 9
10 struct sockaddr include <netinet/in.h> /* L'unico scopo di questa struttura è quello di usarla come cast dei puntatori alle specific address struct per poter essere usati come argomento nelle socket SC /* struct sockaddr { // unsigned integer sa_family_t sa_family; // add family, AF_INET, AF_INET6 } char sa_data[14]; // protocol-spec address 10
11 IPv4 socket addresses struct sockaddr_in /* IPv4 socket address */ struct sockaddr_in { sa_family_t sin_family; /* Port number 16-bit unsigned integer unsigned short */ in_port_t sin_port; // IPv4 4-byte address struct in_addr { // Unsigned 32-bit integer in_addr_t s_addr; }; struct in_addr sin_addr; //Pad to size of sockaddr unsigned char pad[8]; }; 11
12 // IPv6 socket address struct sockaddr_in6 { IPv6 socket addresses struct sockaddr_in6 // Address family (AF_INET6) sa_family_t sin6_family; in_port_t sin6_port; /* IPv6 flow information */ uint32_t sin6_flowinfo; // IPv6 address struct in6_addr { //16 bytes (128 bits) uint8_t s6_addr[16]; }; /* IPv6 address */ struct in6_addr sin6_addr; uint32_t }; sin6_scope_id; 12
13 Esempio IPv4 struct sockaddr_in ip4addr; int s; ip4addr.sin_family = AF_INET; ip4addr.sin_port = htons(3490); inet_pton(af_inet, " ", &ip4addr.sin_addr); s = socket(af_inet, SOCK_STREAM, 0); bind(s, (struct sockaddr*)&ip4addr, sizeof ip4addr); 13
14 Esempio IPv6 struct sockaddr_in6 ip6addr; int s; ip6addr.sin6_family = AF_INET6; ip6addr.sin6_port = htons(4950); inet_pton(af_inet6, "2001:db8:8714:3a90::12", &ip6addr.sin6_addr); s = socket(pf_inet6, SOCK_STREAM, 0); bind(s, (struct sockaddr*)&ip6addr, sizeof ip6addr); 14
15 struct sockaddr_storage Introdotta nelle socket API IPv6 ha lo scopo di poter contenere tutti i tipi di socket address, rimuovendo in pratica la dipendenza dalla versione di IP. struct sockaddr_storage cli_addr;... len = sizeof(cli_addr); recvfrom(sockfd, buf,buf_len,0, (struct sockaddr *)&cli_addr, &len) 15
16 Coesistenza IPv4 e IPv6 Possono coesistere sullo stesso host condividendo lo stesso set di numero di porte: se un num di porta è già impegnato non può essere usato nemmeno da un altro IP type. L'interworking è trasparente: due host possono comunicare indipendentemente dallo tipologia di IP che essi usano (IPv4-IPv6, IPv4-IPv4, IPv4-IPv6) 16
17 IP address e Host names host names DNS DNS formato presentazione IPv4: dotted decimanl IPv6: hex-string rappr. numerica in_addr/in6_addr :db8:8714:3a90::12 17
18 Service name e Service Port /etc/services valore numerico / numero di porta Nome simbolico del servizio /etc/services 18
19 Conversione Indirizzi IP da binaria a formato presentazione Prototipi obsoleti (IPv4) inet_aton() : da forma dotted decimal a bin inet_ntoa() : da binaria a dotted decimal Nuovi prototipi (IPv4/IPv6) inet_pton(): da presentation a binaria inet_ntop(): da binaria a presentation 19
20 inet_pton() AF_INET / AF_INET6 Stringa in formato presentazione int inet_pton(int domain, const char *src_str, void *addrptr); Returns 1 on successful conversion, 0 if src_stris not in presentation format, or 1 on error puntatore ad una struttura in_addr/in6_addr che conterrà l'ind convertito 20
21 AF_INET / AF_INET6 inet_ntop() puntatore ad una struttura in_addr/in6_addr contenente l'indirizzo da convertire const char* inet_ntop(int domain, const void *addrptr, char *dst_str, size_t len); Returns 1 on successful conversion, 0 if src_stris not in presentation format, or 1 on error buffer null-term contenente l'address convertito lunghezza del buffer di ritorno: INET_ADDRSTRLEN (16) INET6_ADDRSTRLEN (46) 21
22 Conversione host-name e service-name Prototipi obsoleti gethostbyname() : ritorna l'ip binario gethostbyaddr() ip addr host names: DNS getservbyname() : ritorna il numero di porta associato a quel service-name. getservbyport() serv-name bin : /etc/services Nuovi prototipi per ambedue le conversioni getaddrinfo() : da human-readable a bin getnameinfo(): da bin a human-readable Hanno il vantaggio di non dover specificare il tipo di IP: è IPv4/IPv6 trasparente. 22
23 gethostbyaddr() getnameinfo() Nome Host Indirizzo IP gethostbyname() getaddrinfo() getservbyport() getnameinfo() Nome simbolico sevizio Numero di Porta getservbyname() getaddrinfo() 23
24 maggiori dettagli Client-Server Datagram Soscket DNS /etc/services 24
25 getnameinfo()/getaddrinfo() int getnameinfo( const struct sockaddr *addr,socklen_t addrlen, char *host, size_t hostlen, char *service, size_t servlen, int flags); Returns 0 on success, or nonzero on error Nome Host Nome del sevizio Indirizzo IP numero di Porta int getaddrinfo(const char *host, const char *service, const struct addrinfo *hints, struct addrinfo **result); Returns 0 on success, or nonzero on error 25
26 struct addrinfo { struct addrinfo int ai_flags; /* Input flags (AI_* constants) */ int ai_family; /* Address family */ int ai_socktype; /* Type: SOCK_STREAM, SOCK_DGRAM */ int ai_protocol; /* Socket protocol */ size_t ai_addrlen; /* Size of structure pointed to by ai_addr */ char *ai_canonname; /* Canonical name of host */ /* Pointer to socket address structure */ struct sockaddr *ai_addr; struct addrinfo *ai_next; /* Next structure in linked list */ }; 26
27 27
28 addrinfo *hints struct addrinfo { int ai_family; int ai_socktype; int ai_protocol; int ai_flags;... }; AF_UNSPEC, AF_INET, AF_INET6 0, SOCK_STREAM, SOCK_DGRAM 0 AI_CANONNAME AI_NUMERICHOST AI_NUMERICSERV AI_PASSIVE 28
Una 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
DettagliSocket TCP. prima parte
Socket TCP prima parte Cosa cambia: socket int fd = socket(pf_inet, SOCK_STREAM, 0); if (fd
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
DettagliSistemi di Elaborazione. Introduzione alla Programmazione distribuita
Sistemi di Elaborazione Introduzione alla Programmazione distribuita Obiettivi Introdurre i concetti di base su programmazione distribuita Modello Client-Server Interfaccia Socket Progettare e realizzare
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
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
DettagliLaboratorio reti AA 2006/2007. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione
Laboratorio reti AA 2006/2007 Dott. Matteo Roffilli roffilli@csr.unibo.it Ricevimento in ufficio dopo la lezione 1 Laboratorio reti AA 2006/2007 Per esercitarvi fate SSH su: alfa.csr.unibo.it si-tux00.csr.unibo.it.
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
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
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(...)
DettagliSocket Programming. Socket Programming. Università di Palermo
Socket Programming Socket Programming 1 Architettura Processo (Messagi) HTTP, SMTP, DNS, IMAP,... Trasporto (Messagi) TCP UDP Rete (Pacchetti) ARP IP ICMP Data link (Frames) Ethernet, FDDI, 802.11,...
DettagliLaboratorio di. Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017. Ing. Niccolò Iardella
Laboratorio di Reti Informatiche Corso di Laurea Triennale in Ingegneria Informatica A.A. 2016/2017 Ing. Niccolò Iardella niccolo.iardella@unifi.it 1 Esercitazione 4 Programmazione con i socket Parte 1
DettagliLaboratorio reti AA 2008/2009. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione
Laboratorio reti AA 2008/2009 Dott. Matteo Roffilli roffilli@csr.unibo.it Ricevimento in ufficio dopo la lezione 1 Laboratorio reti AA 2008/2009 Per esercitarvi fate SSH su: alfa.csr.unibo.it si-tux00.csr.unibo.it.
DettagliLaboratorio reti AA 2007/2008. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione
Laboratorio reti AA 2007/2008 Dott. Matteo Roffilli roffilli@csr.unibo.it Ricevimento in ufficio dopo la lezione 1 Laboratorio reti AA 2007/2008 Per esercitarvi fate SSH su: alfa.csr.unibo.it si-tux00.csr.unibo.it.
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
DettagliScrittura dei programmi applicativi di rete
Scrittura dei programmi applicativi di rete Contenuti del corso La progettazione delle reti Il routing nelle reti IP Il collegamento agli Internet Service Provider e problematiche di sicurezza Analisi
DettagliEsercitazione [08] Server multi-process/multi-thread
Esercitazione [08] Server multi-process/multi-thread Leonardo Aniello aniello@dis.uniroma1.it Daniele Cono D'Elia delia@dis.uniroma1.it Giuseppe Laurenza laurenza@dis.uniroma1.it Federico Lombardi lombardi@dis.uniroma1.it
DettagliInternetworking with TCP/IP (Douglas E. Comer) Vol. I and Vol III.
Internetworking with TCP/IP (Douglas E. Comer) Vol. I and Vol III http://gapil.truelite.it/ http://www.linuxdidattica.org/docs/a ltre_scuole/planck/socket/ Client Server Esistono vari modelli di architettura
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
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
DettagliTECN.PROG.SIST.INF. UDP socket in Windows. Roberta Gerboni
Roberta Gerboni Schema logico della comunicazione UDP in linguaggio C mediante Datagram socket. bind () Con i datagram socket (SOCK_DGRAM) viene realizzata una comunicazine che permette di scambiare dati
DettagliReti (già Reti di Calcolatori )
Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare
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
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Socket in linguaggio C: nozioni preliminari 1 of 16 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server,
DettagliProgrammazione socket. Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non commerciale-condividi allo stesso modo 2.
Programmazione socket Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non commerciale-condividi allo stesso modo 2.5 Italia Applicazioni di rete Realizzare un'applicazione di rete
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 2003 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo
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
DettagliL interfaccia socket
L interfaccia socket Application Programming Interface: API Socket API Procedure base Altre procedure Ordinamento dei byte Interazione client-server orientata alla connessione Interazione client-server
DettagliInterazione (TCP) Client-Server con le socket
Interazione (TCP) Client-Server con le socket Interazione TCP Client/Server Server 1. Creare una socket 2. Assegnare un local address alla socket 3. Settare la socket all ascolto 4. Iterativamente: a.
DettagliEsercitazione [7] Server multi-process/multi-thread
Esercitazione [7] Server multi-process/multi-thread Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi
DettagliProgrammazione di Rete
Programmazione di Rete Ing. Carlo Nobile Socket slide n 1 Sommario Berkeley's socket Socket UDP: funzioni fondamentali Esempio applicazione: Listener Sender Socket non bloccanti Indirizzo IP e Porta Sicurezza
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
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
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
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
DettagliSistemi di Elaborazione. Introduzione alla Programmazione distribuita
Sistemi di Elaborazione Introduzione alla Programmazione distribuita Obiettivi Introdurre i concetti di base su programmazione distribuita Modello Client-Server Interfaccia Socket Progettare e realizzare
DettagliScrittura dei programmi applicativi di rete
Nota di Copyright RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Questo insieme di trasparenze (detto nel seguito slide) è protetto
DettagliReti Informatiche. Quarta esercitazione
Reti Informatiche Quarta esercitazione Introduzione Richiami di Programmazione C Differenze principali C/C++ 2 Definizioni di variabili Le variabili possono essere definite solo all inizio di un blocco
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
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
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
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
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
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
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 reti AA 2008/2009. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione
Laboratorio reti AA 2008/2009 Dott. Matteo Roffilli roffilli@csr.unibo.it Ricevimento in ufficio dopo la lezione 1 Laboratorio reti AA 2008/2009 Per esercitarvi fate SSH su: alfa.csr.unibo.it si-tux00.csr.unibo.it.
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:
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
DettagliProtocolli di Comunicazione
Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol
Dettagli10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.
ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31
DettagliRet e i Inf n o f rm r a m t a ich c e Terza esercitazione
Reti Informatiche Terza esercitazione Introduzione Richiami di Programmazione C Differenze principali C/C++ 2 Definizioni di variabili Le variabili possono essere definite solo all inizio di un blocco
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
DettagliLa programmazione di rete IPv6
La programmazione di rete IPv6 Come scrivere applicazioni IPv6 compliant in C/C++, JAVA, Perl e Python v1.1 Mario Reale, Rino Nucara GARR GARR WS9 Roma, 15-18 Giugno 2009 Contenuti Concetti generali sulla
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
DettagliC UDP in Windows p53 - variante 1
// UDPclient.c C UDP in Windows p53 - variante 1 /* Testo del problema Il processo client invia la stringa "INVIAMI UN NUMERO" diverse volte in un intervallo di tempo di 1 secondo ad un processo server
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/
DettagliL uso di Socket UDP. Usiamo le API Winsock incluse in <Winsock.h> A.A. 2005/06. Dott.ssa Valeria Carofiglio
L uso di Socket UDP Usiamo le API Winsock incluse in A.A. 2005/06 TCP TCP vs. UDP UDP Interazione UDP Client/Server Server 1. (Inizializzare una WSA) 2. Creare una socket 3. Assegnare un local
DettagliEsercitazione [7] Client/Server con Socket
Esercitazione [7] Client/Server con Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Federico Lombardi - lombardi@dis.uniroma1.it Sistemi di Calcolo - Secondo
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
DettagliLe reti basate su TCP/IP
internet Le reti basate su TCP/IP Una rete di reti è detta internet (con la i minuscola). Una internet è definita fornendo i protocolli per trasferire le informazioni tra le varie reti. Il TCP/IP serve
DettagliDomain Name Service. Mapping nomi/indirizzi con Socket API in C
Domain Name Service Mapping nomi/indirizzi con Socket API in C 1 Risoluzione di nomi simbolici TCP/IP ha bisogno di rappresentazioni numeriche per gli indirizzi (es. 193.204.187.189) e per le porte (es.
DettagliGLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2
GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2 Fondamenti sugli indirizzi dell Internet Protocol 2 Struttura di un indirizzo IP 2 Le classi degli indirizzi IP 3 Indirizzi di Classe A 3 Indirizzi di
DettagliSERVER CLIENT. Struttura di un Applicazione UDP. Socket UDP. Parametri di sendto. Funzioni di Input/Output. Prof. Vincenzo Auletta
I semestre 03/04 Struttura di un Applicazione UDP Socket UDP socket() bind() Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ CLIENT socket() sendto() Dati (richiesta)
DettagliL uso di Socket UDP. TCP vs. UDP UDP
L uso di Socket UDP TCP TCP vs. UDP UDP 1 Interazione UDP Client/Server Server 1. Creare un socket 2. Assegnare un local address al socket 3. Iterativamente: a. Inviare e ricevere dati 4. Chiudere il socket
DettagliIndirizzi IP. Indirizzi IP
Indirizzi IP Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 12 IPaddr - 1/17 Indirizzi IP Un aspetto fondamentale delle reti virtuali è l'utilizzo di un formato di indirizzo
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
DettagliConfigurazione Rete in LINUX
Configurazione Rete in LINUX Laboratorio di Reti Ing. Telematica - Università Kore Enna A.A. 2008/2009 Ing. A. Leonardi TCP/IP Il trasferimento dati con il protocollo TCP/IP si basa fondamentalmente su
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
DettagliLABORATORIO di Reti di Calcolatori
LABORATORIO di Reti di Calcolatori Socket in linguaggio C: protocollo connectionless 1 of 14 v slide della docente Bibliografia v testo di supporto: D. Maggiorini, Introduzione alla programmazione client-server,
DettagliTransmission Control Protocol
Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione
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
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,
DettagliIntroduzione alla programmazione C di socket
Introduzione alla programmazione C di socket (testo di riferimento : M. J. Donahoo, K. L. Calvert, TCP/IP Sockets in C: Practical Guide for Programmers. Morgan Kaufman Publishers. ) A.A. 2005/06 Una rete
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=
DettagliIl sistema operativo LINUX Inter Process Communication. Sommario. popen ( ) PIPE. pipe ( ) popen ( ) Sistemi operativi Modulo II
Il sistema operativo LINUX Inter Process Communication Sommario Giorgio Di Natale Stefano Di Carlo Politecnico di Torino Dip. Automatica e Informatica dup FIFO
DettagliLa programmazione di rete
La programmazione di rete Introduzione alla programmazione di rete La connessione La trasmissione 20 febbraio 2004 Applicazioni distribuite Applicazione: un insieme di programmi coordinati per svolgere
DettagliI Socket di Berkeley
I Socket di Berkeley di Francesco Licandro Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università degli studi di Catania A.A. 2004-2005 1 Programmazione su rete Le applicazioni di
DettagliCos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è
Protocollo TCP/IP e indirizzi IP Il protocollo TCP/IP è alla base dei sistemi di trasmissione dati impiegati sulle reti locali e su Internet. Nato nel Gennaio 1983 negli Stati Uniti come sistema di comunicazione
DettagliReti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete
IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,
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
DettagliProgram m azione di Sistem a 6a
Program m azione di Sistem a 6a Basati sui 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
DettagliTCP/IP. Principali caratteristiche
TCP/IP Principali caratteristiche 1 TCP/IP Caratteristiche del modello TCP/IP Struttura generale della rete Internet IL MONDO INTERNET Reti nazionali e internazionali ROUTER Rete Azienade ROUTER ROUTER
DettagliIntroduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e
TCP/IP Sommario Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e pubblici Introduzione al TCP/IP TCP/IP
DettagliLe socket di Berkeley
Corso di Reti di Calcolatori I Simon Pietro Romano (spromano@unina.it) Antonio Pescapè (pescape@unina.it) Giorgio Ventre (giorgio@unina.it) Roberto Canonico (roberto.canonico@unina.it) Le socket di Berkeley
DettagliComunicazione Connectionless o Datagram
Laboratorio Reti di Calcolatori (A.A. 2008-2009) Socket UDP Delfina Malandrino delmal@dia.unisa.it http://www.dia.unisa.it/professori/delmal/ 2 Comunicazione Connectionless o Datagram In una comunicazione
DettagliCorso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10
Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori a.a. 2009/10 Roberto Canonico (roberto.canonico@unina.it) Antonio Pescapè (pescape@unina.it) Le socket di Berkeley Le socket di Berkeley
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
Dettagli20. DNS: Il Domain Name System
20. DNS: Il Domain Name System 20.1 Introduzione È un database distribuito usato dalle applicazioni TCP/IP che: Mappa hostname su IP address Mappa IP address su hostname Fornisce informazione di routing
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
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,
DettagliICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.
ICMP Application Presentation Session Transport Telnet FTP SMTP SNMP TCP e UDP NFS XDR RPC Network Data Link Physical OSI ICMP ARP e RARP IP Non Specificati Protocolli di routing Internet Protocol Suite
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
DettagliIntroduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
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
DettagliProgettazione di un client TCP. Progettazione di un server TCP. Esempio: daytime TCP. Client TCP daytime
Progettazione di un client TCP Progettazione di un server TCP Passi per la progettazione di un client TCP 1. Creazione di un endpoint Richiesta al sistema operativo 2. Creazione della connessione Implementazione
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
Dettagli