INTERNET DOMAIN SOCKETS (Cap.59)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INTERNET DOMAIN SOCKETS (Cap.59)"

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

Dettagli

Elementi di programmazione con interfaccia Socket

Elementi 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

Dettagli

Socket TCP. prima parte

Socket TCP. prima parte Socket TCP prima parte Cosa cambia: socket int fd = socket(pf_inet, SOCK_STREAM, 0); if (fd

Dettagli

Interazione con il DNS Conversioni di Nomi ed Indirizzi

Interazione 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

Dettagli

Interazione (TCP) Client-Server con le socket

Interazione (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

Dettagli

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

Dettagli

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

Dettagli

SC per Inter Process Comminication. Comunicazione fra macchine diverse: socket

SC 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

Dettagli

Creare una applicazione Winsock di base

Creare 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

Dettagli

Sviluppo di Applicazioni su Rete. Introduzione all API socket di Berkeley. Interazione tra Processi. Modello Client-Server

Sviluppo 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

Dettagli

Socket TCP. seconda parte

Socket 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(...)

Dettagli

IPC Inter Process Communication

IPC 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

Dettagli

Inter-process communication: socket

Inter-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:

Dettagli

programmazione distribuita Introduzione Introduzione alla programmazione distribuita

programmazione 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

Dettagli

Programmazione dei socket di rete in GNU/Linux

Programmazione 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

Dettagli

Esercitazione 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 - 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

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni 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

Dettagli

COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX

COMUNICAZIONE 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

Dettagli

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.

Laboratorio 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

Dettagli

Paradigma client-server

Paradigma 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

Dettagli

request reply richiesta client processo di servizio processo server principale From - Valeria Cardellini, Corso Sist. Distr. A.A.

request 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

Dettagli

Laboratorio di Reti di Calcolatori

Laboratorio 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

Dettagli

Laboratorio di Reti di Calcolatori

Laboratorio 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

Dettagli

Laboratorio di Reti di Calcolatori

Laboratorio 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

Esercitazione Laboratorio di Sistemi Operativi 20-01-2014. Cognome Nome Mat.

Esercitazione 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

Dettagli

Socket per TCP: Fondamenti

Socket 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

Dettagli

Architettura e servizi Internet

Architettura 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:

Dettagli

TCP/IP. Principali caratteristiche

TCP/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

Dettagli

Basi di network programming sotto Unix/Linux (draft version) Claudio Piciarelli

Basi 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

Dettagli

DATAGRAM SOCKET. Angelastro Sergio Diomede Antonio Viterbo Tommaso

DATAGRAM 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

Dettagli

Il livello di Trasporto del TCP/IP

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

Dettagli

unsigned long inet_addr(cp) char *cp;

unsigned 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

Guida di Beej alla Programmazione di Rete

Guida 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

Dettagli

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it

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

Dettagli

Tecnologie di Sviluppo per il Web

Tecnologie di Sviluppo per il Web Tecnologie di Sviluppo per il Web Introduzione alle Reti di Calcolatori versione 1.0 del 11/03/2003 G. Mecca mecca@unibas.it Università della Basilicata Reti >> Sommario Sommario dei Concetti Elab. Client-Server

Dettagli

Protocolli di Comunicazione

Protocolli 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

Dettagli

Laboratorio di Programmazione in Rete

Laboratorio 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

Dettagli

20. DNS: Il Domain Name System

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

Dettagli

Applicazione Client-Server con Server Concorrente Specifiche

Applicazione Client-Server con Server Concorrente Specifiche Applicazione Client-Server con Server Concorrente Specifiche Il progetto consiste nello sviluppo di un'applicazione client/server. Client e server devono comunicare tramite socket TCP.. Il server deve

Dettagli

Capitolo 2 - parte 3. Corso Reti ed Applicazioni Mauro Campanella

Capitolo 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

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Laboratorio di Programmazione in Rete

Laboratorio 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

Dettagli

Internet Protocol Versione 4: aspetti generali

Internet Protocol Versione 4: aspetti generali Internet Protocol Versione 4: aspetti generali L architettura di base del protocollo IP versione 4 e una panoramica sulle regole fondamentali del mondo TCP/IP 1 Cenni storici Introduzione della tecnologia

Dettagli

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

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

Dettagli

Configurazione Rete in LINUX

Configurazione 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

Dettagli

Lezione n.2 20/2/2006

Lezione n.2 20/2/2006 Lezione n.2 LPR-Informatica Applicata Gestione indirizzi IP 20/2/2006 Gestione Indirizzi IP 1 Schema della Presentazione Gestione Indirizzi IP La classe JAVA. InetAddress Thread pooling Gestione Indirizzi

Dettagli

Opzioni per le Socket

Opzioni 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

Dettagli

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Introduzione 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

Dettagli

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client Esercitazione 3 Sommario Configurazione della rete con DHCP Funzionamento Configurazione lato server Configurazione lato client 2 Sommario Strumenti di utilità ping traceroute netstat Test del DNS nslookup

Dettagli

INGEGNERIA DEL WEB. VinX

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

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Java Socket LSO 2008

Java 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

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi 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

Dettagli

GLI 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 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

Dettagli

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet Indirizzi Internet e Protocolli I livelli di trasporto delle informazioni Comunicazione e naming in Internet Tre nuovi standard Sistema di indirizzamento delle risorse (URL) Linguaggio HTML Protocollo

Dettagli

Laurea in INFORMATICA

Laurea in INFORMATICA Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2013/2014 Capitolo 4 Indirizzi del Protocollo IP fausto.marcantoni@unicam.it Agenda Indirizzamento, gerarchia, classificazione degli indirizzi

Dettagli

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address

Classe bit: 0 1 2 3 4 8 16 24 31. 0 net id host id. 1 0 net id host id. 1 1 0 net id host id. 1 1 1 0 multicast address CAPITOLO 11. INDIRIZZI E DOMAIN NAME SYSTEM 76 Classe bit: 0 1 2 3 4 8 16 24 31 A B C D E 0 net id host id 1 0 net id host id 1 1 0 net id host id 1 1 1 0 multicast address 1 1 1 1 0 riservato per usi

Dettagli

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE

TECNICHE AVANZATE DI I/O. Al loro livello più basso, tutti i file scritti sull hard disk. Training per esperti SU FILE Training per esperti TECNICHE AVANZATE DI I/O SU FILE Spesso, la decisione di dividere in processi differenti la produzione dei dati dall uso degli stessi viene presa perché occorre scrivere i dati su

Dettagli

Le Opzioni per i Socket

Le 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

Dettagli

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

ICMP 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

Dettagli

RETI INTERNET MULTIMEDIALI

RETI INTERNET MULTIMEDIALI RETI INTERNET MULTIMEDIALI Introduzione a Internet Il documento è adattato da materiale cortesemente messo a disposizione dal Prof. Stefano Paris e dal Prof. Vittorio Trecordi 1 INTERNET Traffico Internet

Dettagli

Livello Trasporto Protocolli TCP e UDP

Livello Trasporto Protocolli TCP e UDP Livello Trasporto Protocolli TCP e UDP Davide Quaglia Reti di Calcolatori - Liv Trasporto TCP/UDP 1 Motivazioni Su un host vengono eseguiti diversi processi che usano la rete Problemi Distinguere le coppie

Dettagli

Una prima applicazione in C per l utilizzo delle socket

Una 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

Dettagli

Le operazioni di allocazione e deallocazione sono a carico del sistema.

Le operazioni di allocazione e deallocazione sono a carico del sistema. Allocazione della memoria In C++ è possibile creare (allocare) variabili in maniera statica o dinamica. Nell allocazione statica una variabile esiste ed è utilizzabile dal momento della sua dichiarazione

Dettagli

Lezione n.9 LPR- Informatica Applicata

Lezione n.9 LPR- Informatica Applicata Lezione n.9 LPR- Informatica Applicata LINUX Gestione della Rete 3/4/2006 Laura Ricci Laura Ricci 1 INDIRIZZI RISERVATI Alcuni indirizzi all interno di una rete sono riservati: indirizzo di rete e broadcast.

Dettagli

Sistemi Operativi (modulo di Informatica II)

Sistemi Operativi (modulo di Informatica II) Sistemi Operativi (modulo di Informatica II) La comunicazione tra processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Processi cooperanti La comunicazione tra processi Necessità

Dettagli

Transmission Control Protocol

Transmission 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

Dettagli

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico IP e subnetting Ip IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico come nel caso del MAC Address) una

Dettagli

Opzioni del Socket. Socket Options. Opzioni di Livello Socket. Livello delle Opzioni

Opzioni 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

Dettagli

CdL MAGISTRALE in INFORMATICA A.A. 2014-2015. corso di Sistemi Distribuiti. Le Socket

CdL MAGISTRALE in INFORMATICA A.A. 2014-2015. corso di Sistemi Distribuiti. Le Socket CdL MAGISTRALE in INFORMATICA A.A. 2014-2015 corso di Sistemi Distribuiti 6. Strumenti per l IPC : dalle socket a RPC/RMI Prof. S.Pizzutilo Le Socket Una socket è una astrazione software rappresentante

Dettagli

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Raw socket. L intercettazione di un pacchetto IP

Raw socket. L intercettazione di un pacchetto IP Raw socket Il sistema compie molte operazioni sui livelli bassi della rete, ma che non sono immediatamente visibili all utente tramite l interfaccia delle socket L intercettazione di un pacchetto IP Anche

Dettagli

Introduzione (parte III)

Introduzione (parte III) Introduzione (parte III) Argomenti della lezione Ripasso degli argomenti del primo corso: il livello di trasporto, il meccanismo di controllo delle congestioni e le applicazioni Il livello di trasporto

Dettagli

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema contenuto della comunicazione sistema per la gestione della comunicazione sottosistema C sottosistema B sottosistema A

Dettagli

Indirizzi IP. Lo strato IP dell architettura TCP/IP fornisce principalmente le funzioni indirizzamento instradamento

Indirizzi IP. Lo strato IP dell architettura TCP/IP fornisce principalmente le funzioni indirizzamento instradamento Indirizzi IP Lo strato IP dell architettura TCP/IP fornisce principalmente le funzioni indirizzamento instradamento Lo schema di indirizzamento IP svolge più o meno la stessa funzione svolta dall indirizzo

Dettagli

Acknowledgment: Prof Vincenzo Auletta, Università di Salerno. Approfondimento alla programmazione distribuita

Acknowledgment: 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

Dettagli

I protocolli UDP e TCP

I protocolli UDP e TCP I protocolli UDP e TCP A.A. 2005/2006 Walter Cerroni Il livello di trasporto in Internet APP. APP. TCP UDP IP collegamento logico tra diversi processi applicativi collegamento logico tra diversi host IP

Dettagli

Anno Accademico 2012-2013. Corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 3 : TCP/IP Lo strato di rete.

Anno Accademico 2012-2013. Corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 3 : TCP/IP Lo strato di rete. CdS in INFORMATICA e COMUNICAZIONE DIGITALE Anno Accademico 2012-2013 Corso di Reti di Calcolatori e Comunicazione Digitale Modulo 3 : TCP/IP Lo strato di rete Prof. Sebastiano Pizzutilo Dipartimento di

Dettagli

Programmazione in Rete

Programmazione in Rete 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 Sommario della

Dettagli

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II

RETI TELEMATICHE Lucidi delle Lezioni Capitolo II Prof. Giuseppe F. Rossi E-mail: giuseppe.rossi@unipv.it Homepage: http://www.unipv.it/retical/home.html UNIVERSITA' DEGLI STUDI DI PAVIA Facoltà di Ingegneria A.A. 2011/12 - I Semestre - Sede PV RETI TELEMATICHE

Dettagli

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client

Sommario. Configurazione della rete con DHCP. Funzionamento Configurazione lato server Configurazione lato client Esercitazione 3 Sommario Configurazione della rete con DHCP Funzionamento Configurazione lato server Configurazione lato client 2 Sommario Strumenti di utilità arp ping traceroute netstat Test del DNS

Dettagli

TECN.PROG.SIST.INF. TCP/IP Livello TRASPORTO. 2015 - Roberta Gerboni

TECN.PROG.SIST.INF. TCP/IP Livello TRASPORTO. 2015 - Roberta Gerboni 2015 - Roberta Gerboni Caratteristiche del livello Trasporto Il livello Trasporto si occupa del trasferimento delle informazioni, chiamate segmenti, tra due processi in esecuzione su due computer collegati

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti 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,

Dettagli

Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC)- - 1 Parte -

Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012. - Comunicazione Tra Processi (IPC)- - 1 Parte - Esercitazione di Lab. di Sistemi Operativi 1 a.a. 2011/2012 - Comunicazione Tra Processi (IPC)- - 1 Parte - 1 Sommario Comunicazione tra processi sulla stessa macchina: fifo (qualunque insieme di processi)

Dettagli

La nascita di Internet

La nascita di Internet La nascita di Nel 1969 la DARPA (Defence Advanced Research Project Agency) studia e realizza la prima rete per la comunicazione tra computer (ARPAnet) fra 3 università americane ed 1 istituto di ricerca.

Dettagli

La transizione ad IPv6

La transizione ad IPv6 La transizione ad IPv6 Panoramica delle principali problematiche legate alla transizione da IPv4 ad IPv6 e delle tecniche per facilitare la migrazione 1 Le difficoltà della transizione Transizione Necessaria

Dettagli

Il Domain Name System

Il Domain Name System Il Domain Name System Università di Parma - Appunti di Telematica A - per esclusivo uso interno A. Lazzari 2004 GENERALITÀ...1 LA GERARCHIA DEI NOMI DI DOMINIO...2 I RESOURCE RECORD (RR)...3 I PROTOCOLLI

Dettagli

Socket. [Pagina intenzionalmente vuota] 2: Socket (10 3 2003) slide 2:1/50 (p.24)

Socket. [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

Dettagli

Modulo 11 Livelli Transport e Application del modello TCP/IP

Modulo 11 Livelli Transport e Application del modello TCP/IP Modulo 11 Livelli Transport e Application del modello TCP/IP 11.1 TCP/IP Transport Layer 11.1.1 Introduzione al transport layer Lo scopo primario del livello transport, livello 4 del modello OSI, è di

Dettagli

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni

Politecnico di Bari. Facoltà di Ingegneria Elettronica. Corso di Reti di Telecomunicazioni Politecnico di Bari Facoltà di Ingegneria Elettronica Corso di Reti di Telecomunicazioni Internet Protocol versione 4 Generalità sulle reti IP... 2 Lo header IP versione 4... 3 Concetti generali sugli

Dettagli

Reti e Linux. Andrea Bontempi. Corsi Linux 2012. POuL

Reti e Linux. Andrea Bontempi. Corsi Linux 2012. POuL POuL Corsi Linux 2012 Una breve introduzione: le reti Una rete di calcolatori è un mezzo fisico sul quale è possibile inviare e ricevere messaggi o flussi di dati. La prima rete a commutazione di pacchetto

Dettagli

32 bit. Version IHL Type of service Total length. Time to live Protocol Header checksum. Source address. Destination address.

32 bit. Version IHL Type of service Total length. Time to live Protocol Header checksum. Source address. Destination address. La trasmissione con il protocollo IP Lo header IP (versione 4) Un pacchetto IP è costituito da un header e da una parte dati. L'header ha una parte fissa di 20 byte e una parte, opzionale, di lunghezza

Dettagli

Homework 1: Server UDP concorrente

Homework 1: Server UDP concorrente OLITECNICO DÌ TORINO III Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Homework 1: Server UDP concorrente Programmazione distribuita I Studente: ROSICA MICHELE matricola: 178786 1 Prova

Dettagli

Internet. Cos'è internet? I parte

Internet. Cos'è internet? I parte Internet Da leggere: Cap.6, in particolare par. 6.4 del Console Ribaudo (testo B) I parte Cos'è internet? Milioni di dispositivi di calcolo tra loro interconnessi: host o end-systems Pc, workstation, server

Dettagli

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

Dettagli

L'indirizzo IP. Prof.ssa Sara Michelangeli

L'indirizzo IP. Prof.ssa Sara Michelangeli Prof.ssa Sara Michelangeli L'indirizzo IP La possibilità di trasmettere dati nella rete è data dalla capacità di indentificare ogni singolo host grazie all'indirizzo IP che gli è stato assegnato. L'indirizzo

Dettagli

Reti di Calcolatori - Laboratorio. Lezione 7. Gennaro Oliva

Reti 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

Dettagli

IL LIVELLO RETE IN INTERNET Protocollo IP

IL LIVELLO RETE IN INTERNET Protocollo IP Reti di Calcolatori IL LIVELLO RETE IN INTERNET Protocollo IP D. Talia RETI DI CALCOLATORI - UNICAL 4-1 Il Protocollo IP IPv4 Datagram IP: formato Indirizzi IP: formato Protocolli di controllo IP mobile

Dettagli

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it)

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) In una rete TCP/IP, se un computer (A) deve inoltrare una richiesta ad un altro computer (B) attraverso la rete locale, lo dovrà

Dettagli

M. Guarracino - File di Sistema 1

M. Guarracino - File di Sistema 1 M. Guarracino - File di Sistema 1 Introduzione Il sistema operativo ha bisogno di conservare numerose informazioni relative ai servizi che mette a disposizione. Ad esempio, ogni volta che si richiede di

Dettagli