Architettura e servizi Internet

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Architettura e servizi Internet"

Transcript

1 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 fazio@eurix.it EURIX Group Corso Tortona, 17 Torino Torino

2 Indice Internet: la storia Architettura Internet Protocollo di Rete: IP (Internet Protocol) Protocolli di Trasporto: TCP, UDP Servizi Internet Applicazioni distribuite: programmazione socket

3 Nascita di Internet : ARPANET (prima rete di calcolatori a commutazione di pacchetto) Avvio delle ricerche di DARPA (Defense Advanced Research Project Agency) negli USA Internet : la storia il numero delle reti create inizia a crescere completamento dell Internet Protocol Suite, di cui i due protocolli più noti sono il TCP e l IP ARPA + Università di Stanford iniziano il progetto di una suite di protocolli standard tempo

4 Internet : la svolta Svluppo del primo browser: Mosaic Gli standard Web definiscono: indirizzamento: Uniform Resource Locator (URL) protocollo: Hyper Text Transfer Protocol (HTTP) codifica: Hyper Text Markup Language (HTML) marzo 1989: invenione del Web. Tim Berners-Lee del CERN di Ginevra propone il servizio WWW periodo di notevole crescita di Internet tempo

5 Internet come funziona router Rete 2 router Rete 1 router Rete 3 Rete 4

6 Internet Internet consiste di un insieme di reti interconnesse che possono essere considerate come un'unica entità Le reti sono collegate da particolari apparati detti Router, che hanno come funzione primaria quella di instradare i dati sulla base dell'indirizzo della rete destinataria Router Router Network 2 Network 3 Network 1

7 Come individuare un computer sulla rete?

8 IP Internet Protocol Host e router sono collegati nella rete attraverso link fisici e comunicano tramite un interfaccia Ciascun router e host è in grado di inviare e ricevere, il protocollo IP richiede che ciascuna interfaccia abbia un indirizzo IP Interfaccia: è il confine tra host e collegamento fisico. Indirizzo IP: ogni interfaccia di host e router di Internet ha un indirizzo IP globalmente univoco

9 IP Internet Protocol I router devono necessariamente essere connessi ad almeno due collegamenti Un host, in genere, ha un interfaccia A ciascuna interfaccia sono associati indirizzi IP a 32 bit

10 Indirizzamento IPv4 Un indirizzo IP (IP address) è un numero di 32 bit (4 byte) che identifica in modo univoco un host TCP/IP su Internet o in una intranet. Un indirizzo IP è composto da: Un ID di rete (bit più a sinistra) Un ID di host (bit più a destra) Net ID Host ID IP Address

11 Indirizzamento IPv4 Esempi di indirizzi IP Net ID Net ID Net ID IP Address IP Address IP Address Host ID Host ID Host ID

12 Indirizzamento IPv4 Classi di indirizzamento: Le classe di indirizzamento sono 5 e sono individuate con le prime cinque lettere dell alfabeto. Gli indirizzi di classe D ed E sono poco usati. Classe A Net ID Host ID IP Address IP Address Classe B Net ID Host ID IP Address Classe C Net ID Host ID

13 Indirizzamento IPv4 Classi di indirizzamento Classe A 0 Classe B 1 0 Classe C Classe D net ID bit host ID 24 bit net ID 14 bit host ID 16 bit net ID 21 bit host ID 28 bit multicast group ID 28 bit Classe E reserved bit

14 Indirizzamento IPv4 Net ID Net ID Host ID IP Address Host ID IP Address Reti disponibili Host disponibili Classe A Reti disponibili Host disponibili Classe B Net ID IP Address Host ID Reti disponibili Host disponibili Classe C Alcuni indirizzi IP sono riservati: (per un elenco completo [ L indirizzo 127 della classe A è usato a fini di diagnosi degli adattatori di rete Gli indirizzi 0 e 255 sono riservati negli ID di host.

15 Architettura Internet L'Interna*onal Organiza*on for Standardiza*on (ISO) nel 1979 ha definito la pila di protocolli Open Systems Interconnec*on (OSI), con l'intenzione di creare uno standard per le telecomunicazioni da usare nelle re* di tubo il mondo All'aBo pra*co però, lo standard de facto che viene comunemente usato nella maggior parte delle re*, è il TCP/IP modello ISO- OSI Applicazione Presentazione Sessione Trasporto Rete Collegamento Da* Fisico modello TCP/IP Applicazione Non previsto TCP/UDP IP Network Access

16 Architettura Internet Livello Applicativo TCP/UDP Livello Applicativo TCP/UDP Internet Connessione virtuale Internet Protocol Protocol Network Access Network Access Internet

17 Architettura Internet DATI TCP/UDP DATI IP TCP/UDP DATI APP TCP/ UDP IP APP TCP/ UDP IP DATI TCP/UDP DATI IP TCP/UDP DATI netw. IP TCP/UDP DATI netw. netw. netw. IP TCP/UDP DATI Host A Host B netw. IP TCP/UDP DATI netw. IP TCP/UDP DATI Internet

18 Strato di accesso alla Rete Ha lo scopo di garantire il corretto interfacciamento verso una specifica rete, in modo da rendere lo strato superiore indipendente dalle caratteristiche fisiche della rete stessa. Network Access Network Access Internet

19 Internet Protocol (IP) Il protocollo IP è responsabile dell instradamento dei datagram da un host all altro Le funzioni principali del protocollo IP sono: In trasmissione u Incapsula in datagram i dati provenienti dallo strato di trasporto u Prepone l opportuna intestazione u Applica algoritmo di routing u Invia i dati verso l opportuna interfaccia di rete. In ricezione u Verifica la validità del datagram in arrivo u Esamina l intestazione u Verifica se sono dati da reinstradare u Se sono dati locali, sceglie l opportuno protocollo dello strato di trasporto e provvede ad inviarglieli nel formato opportuno. unità elementare delle informazioni trasmesse contenente i dati che servono a trasportare l informazione dal mittente al destinatario

20 Header IP Formato datagram di IPv Versione Lunghezza intestazione Tipo di servizio Lunghezza totale del datagram (byte) Identificatore a 16 bit Indicatori Offset frammento (13 bit) Tempo di vita Protocollo dello strato superiore Checksum intestazione Indirizzo IP sorgente a 32 bit Indirizzo IP destinatario a 32 bit Opzioni IP (se presenti) Padding (necessario a completare i 32 bit) DATI

21 Header IP Il datagram IP ha una lunghezza variabile: Header: byte Dati + header <= MTU (Maximum Trasmission Unit), altrimenti si ha la frammentazione Source address: indirizzo IP mittente Destination address: indirizzo IP del destinatario Protocol: protocollo di trasporto Fragment offset: offsetdel frammento dll ambito del totale dei dati da trasmettere Identification: identificativo del datagramm Flag: indica se il datagram rappresenta un frammento Time-to-Live (TTL): numero di router che un datagram può attraversare Header checksum: controllo errore sull header IHL: lunghezza dell header Total lenght: lunghezza totale Campi fondamentali del datagram IPv4

22 Strato di Trasporto Lo strato di trasporto fornisce il servizio di trasporto dei messaggi dello strato di applicazione fra le estremità client e server di un applicazione Lo scopo principale è quello di fornire una comunicazione end-to-end a livello di processi Il software di questo strato è responsabile del meccanismo che permette di distinguere, all interno dello stesso host, il processo applicativo destinatario (o sorgente) dei dati Ogni elaboratore contiene un insieme di punti logici di accesso ports (porte) Ad ogni servizio è associato un port number differente che consente di indirizzare il processo che realizza il servizio (server) Nell architettura Internet esistono due standard principali di protocolli di trasporto: User Datagram Protocol (UDP - rfc768) Trasmission Control Protocol (TCP - rfc793)

23 Trasporto UDP Il protocollo UDP (User Datagram Protocol) consente alle applicazioni di scambiare messaggi singoli (protocollo Message oriented) Servizio di trasporto fornito: Non affidabile Connessionless Flusso di dati strutturato a messaggi Non supporta meccanismi di riscontro e recupero d errore Può essere utilizzato per trasmissioni multicast (a differenza di TCP) stesso messaggio UDP a più destinazioni, indirizzate attraverso un indirizzo multicast <IP multicast address, UDP port> Aggiunge solo due funzionalità a quelle di IP multiplexing delle informazioni tra le varie applicazioni tramite il checksum per verificare l integrità dei dati

24 Header UDP Port sorgente, port destinazione Campo per eventuali checksum

25 Trasporto TCP Il protocollo TCP (Transmission Control Protocol) è un protocollo end-to-end con connessione e offre un servizio stream-oriented affidabile Trasferisce un flusso informativo bi-direzionale non strutturato (byte stream) tra due host ed effettua operazioni di multiplexing (in trasmissione) e de-multiplexing (in ricezione) Servizio di trasporto fornito: Affidabile u Integrità u Rispetto della sequenza u Assenza di duplicati Orientato alla connessione Flusso di dati orientato al byte

26 Port sorgente, port destinazione Informazione per la gestione della connessione Informazioni per il ontrollo ed il recupero degli errori Header TCP Header IP (IP address) Header TCP (Port address) IP data TCP data Source Port Destination Port Sequence Number Acknowledegment Number HLEN Reserved Code bits Window Checksum Urgent Pointer Options (if any) Padding Data Data

27 Stato di Trasporto La divisione dei compiti fra lo stato di trasporto (UDP, TCP) e IP è la seguente: Il stato IP si occupa del trasferimento dei dati fra elaboratori collegati alla rete (l intestazione IP identifica gli host sorgente e destinatario) Lo strato UDP (TCP) si occupa dello smistamento dei dati fra sorgente e destinatario all interno dello stesso host (tramite il port number) Per richiedere un servizio, fornito da un processo residente su host remoto, il client deve conoscere il port number associato al servizio stesso

28 Processo Server Modello Client/Server Architettura fondamentale su cui si basa gran parte della programmazione di rete in ambiente UNIX Rappresenta un programma che mette a disposizione un certo servizio (ad esempio: ftp, mail, ecc.) Processo Client È un programma che chiede l esecuzione di un servizio ad un processo server. NOTA: tipicamente il processo client si interfaccia con l utente al terminale, invia dati al processo server, li riceve e li propone all utente

29 Modello Client/Server Server concorrente - protocollo TCP Il socket di comunicazione viene creato automaticamente quando viene accettata la connessione. Servizio FTP Server Internet File Transfer Protocol To = 21, dest addr Connect(to) 21 Accept() ftp File Transfer Protocol ftp?? ftpd ftpd Il servizio FTP viene offerto da un demone che funge da server e viene utilizzato da un programma client in grado di comunicare attraverso il protocollo FTP ftpd

30 Modello Client/Server Server concorrente - protocollo UDP Il socket di comunicazione viene creato dal programma server Servizio tftp Server Internet Trivial File Transfer Protocol tftp Trivial File Transfer Protocol? tftp To = 69, dest addr sendto(msg,to)? 69? tftpd tftpd TFTP è un protocollo di trasferimento file molto semplice, con le funzionalità di base del FTP? tftpd

31 L Architettura Internet FTP DNS Telnet HTTP UDP/TCP IP Network Access FTP DNS Telnet HTTP UDP/TCP IP Network Access Internet

32 I servizi Internet I dati sono trasmessi a pacchetto: ciascun blocco di dati è preceduto da intestazioni che specificano: a quale macchina sono diretti (protocollo IP) da quale programma debbono essere utilizzati (protocolli TCP/UDP) IP TCP/UDP header header 20 byte 20 byte data IP individua l'host Internet TCP/UDP individua uno dei processi attivi sull'host SMTP Telnet FTP

33 I servizi Internet I servizi inizialmente previsti per Internet erano: telnet (terminale remoto): permette ad una macchina di essere vista come un terminale connesso all host destinazione. ftp (trasferimento file): permette di trasferire file tra macchine interconnesse (posta elettronica): permette di scambiare messaggi tra utenti della rete Questi servizi erano caratterizzati da un interfaccia utente poco amichevole.

34 I servizi Internet Domain Name System (DNS) Telnet Ftp

35 Domain Name System (DNS) Il Domain name System (DNS) è alla base della risoluzione dei nomi di Internet [ Il DNS è un database distribuito implementato in una gerarchia di server dei nomi un protocollo dello strato di applicaziome che permette agli host di comunicare ocn I server dei nomi in modo da fornire il servizio di traduzione Il sistema dei domini su Internet è una gerarchia mondiale amministrata dall internic (Internet Network Information Center)

36 Domain Name System (DNS) Quando Internet era costituito solo da pochi computer (ed era conosciuto con il nome di ARPANet) la risoluzione dei nomi poteva essere gestita da un unico computer che si trovava allo Stanford Research Institute (SRI). Il file conservato nell SRI si chiamava HOST ed altro non era che un elenco di associazioni (indirizzo IP, nome del computer) Con l aumentare del numero dei computer connessi in rete si è reso necessario escogitare un nuovo sistema: DNS (Domain Name System)

37 Domain Name System (DNS) Il DNS risolve i nomi di computer in indirizzi IP attraverso file configurati manualmente, usando un database gerarchico di nomi che viene conservato su più computer La natura gerarchica garantisce maggiore efficienza in termini di velocità e manutenibilità Il DNS è un servizio definito nelle Request For Comments (RFC) 882 e 883 di Internet. Indirizzi: [ [

38 Spazio dei nomi di dominio Domain Name Service Rappresenta la struttura dei dati che creano il DNS utilizzato su Internet. La gerarchia dei nomi ha molti livelli, e sono molti i computer che definiscono un livello. Al livello radice ci sono i server dei nomi radice, mantenuti dall InterNic. La maggior parte dei server DNS è configurata con gli indirizzi IP dei server radice (root)

39 Spazio dei nomi di dominio Il secondo livello è rappresentato da domini top come:.com,.net,.gov,.org,.edu,.mil,.int,.xx.com.edu.gov.int.mil.net.org Organizzazioni commerciali Organizzazioni nel campo istruzione Enti pubblici e governativi Organizzazioni internazionali Enti militari Organizzazioni di networking Organizzazioni non commerciali Sotto i livelli root e top si trovano molti altri livelli.

40 Spazio dei nomi di dominio Server di nome InterNIC del dominio radice mil org net edu com it af army good internic harvard microsoft ssgrr phoenix sam ftp www

41 Spazio dei nomi di dominio Il nome della singola macchina è il livello più basso Il percorso completo dal livello radice a quello della macchina è conosciuto coma FQDN (Fully Qualified Domain Name) Il FQDN va dal nome della macchina verso quello della root

42 Risoluzione dei nomi La risoluzione dei nomi di dominio è simile a quella dei nomi host cioè la conversione da un nome amichevole in indirizzo IP Quando si usa il DNS i client chiamano un server DNS per la risoluzione dei nomi client Server DNS o Server dei nomi

43 Risoluzione dei nomi com edu it it ssgrr.it abc xyz ssgrr xxx ftg www

44 Telnet La telnet è un applicazione che permette il dialogo tra la macchina locale ed una remota tramite il protocollo TCP/IP. Più semplicemente la Telnet permette di aprire sul proprio computer una finestra di terminale remota, ovvero una sessione Telnet ad un host remoto Il programma Telnet implementa la parte client del protocollo. I client Telnet sono stati disponibili sulla maggior parte dei sistemi Unix per parecchi anni e ora sono disponibili per qualsiasi tipo di computer

45 Telnet Telnet Client port: 23 Telnet Server TCP Internet Protocol Network Access Virtual connection TCP Internet Protocol Network Access Internet

46 Ftp Ftp è l acronimo di File-Transfer-Protocol, il protocollo utilizzato per il trasferimento dei file Con l Ftp è possibile copiare da un computer remoto un file sull hard-disk locale e viceversa E basato sul protocollo TCP/IP

47 Ftp port 1173 port 21 port 1174 FTP (Client) Commands Responses FTP (Server) port 20 TCP Control connection TCP Internet Protocol Network Access Data connection Data ACKs Internet Protocol Network Access Internet

48 Ftp Fase di connessione Il client FTP apre una connessione TCP e si autentica Il server FTP accetta la richiesta di connessione e verifica autenticazione Se l autenticazione è OK il server si mette in attesa di ricevere comandi sulla connessione di controllo (port = 21) Trasferimento di un file Il client richiede il file da trasferire all FTP server. Il server accetta la richiesta in relazione alle protezioni del file-system relative al file. Se la richiesta viene accettata il server stabilisce la connessione (dal port 20 a un port dinamico del client definisce) La connessione dati è mantenuta per il tempo necessario al trasferimento del file

49 Ftp Operazioni FTP Sul server la connessione per il controllo avviene sul port 21, mentre i dati vengono trasferiti sul port 20 Il client invia al server il proprio indirizzo IP ed il numero del port sul quale il server dovrà stabilire la connessione dati Il server stabilisce la connessione

50 Ftp FTP options Tipi di dati : ASCII, EBCDIC, binari Tipi di file : strutture di file, di record, di pagine Modalità di trasmissione : stream, block, compressi. Tipi di dati: ASCII (default) EBCDIC (opzionale) IMAGE : supporta efficientemente il trasferimento di file binari LOCAL : usato per specificare una dimensione logica di byte da trasferire

51 Ftp Comandi ABOR LIST listafile PASS passwd PORT QUIT RETR nomefile STOR nomefile SYST TYPE tipo USER username Descrizione Abortisce comando FTP ed il trasferimento di dati Mostra la lista dei file o delle directory Password sul server Indirizzo del client IP Uscita (logoff) dal server Recupera un file dal server (get) Memorizza un file sul server (put) Tipo di sistema (restituito dal server) Specifica del tipo di file (e.g. A=ASCII; I=Immagine) username sul server

52 Ftp da prompt di comando ftp

53 Ftp FTP server windows

54 Ftp FTP client windows

55 Il browser-web come client ftp Ftp

56 Il World Wide Web Architettura di un applicazione Web Tier 1 Tier Browser HTTP TCP IP prot. acc. rete pagina HTML Internet Web Server HTTP TCP IP prot. acc. rete pagine HTML

57 Applicazioni distribuite La programmazione mediante socket Interfaccia socket. non è un livello ma una u Libreria di accesso ai servizi di trasporto Alternativa: TLI (Transport Layer Interface) FTP DNS Telnet HTTP Interfaccia socket UDP/TCP IP Network Access

58 Struttura di un applicazione Modello senza connessione Predisposizione transport-endpoint u Scambio messaggi Rilascio transport-endpoint Modello con connessione Predisposizione transport-endpoint u Instaurazione connessione Ø Scambio messaggi u Abbattimento connessione Rilascio transport-endpoint Predisposizione transport-endpoint u System call socket() u System call bind()

59 System Call socket() Il socket costituisce la struttura dati che consente la ricezione e l invio dei messaggi. È definito in un dominio Ad ogni socket è associato un nome che ha validità solo all interno del dominio di comunicazione in cui il socket è stato creato. Un socket viene creato dalla System Call socket(). S = socket(domain, type, protocol) int s, domain, protocol; La System call restituisce un identificatore che verrà poi utilizzato nelle successive system call o funzioni per referenziare il socket. Eventuali processi figli hanno automaticamente accesso ai socket creati dal processo padre (come per i file)

60 System Call socket() Domain Il parametro domain rappresenta il dominio di comunicazione che può essere: UNIX domain Internet domain Xerox Network System (XNS) Il dominio UNIX consente la comunicazione tra processi residenti sulla stessa macchina, mentre i restanti due vengono utilizzati per comunicazioni tramite rete. I valori da associare al parametro domain sono definiti nel file socket.h nel modo seguente: AF_UNIX (UNIX internal protocol) AF_INET (ARPA Internet protocols) AF_NS (Xerox Network System protocols) Nota: AF = Address Family

61 System Call socket() TYPE Il tipo definisce la semantica della comunicazione; sono disponibili i seguenti tipi principali i cui valori sono definiti nel file socket.h: SOCK_DGRAM SOCK_STREAM SOCK_RAW SOCK_SEQPACKET Il tipo SOCK_DGRAM è basato sul protocollo udp Non è garantita l affidabilità Il protocollo non è orientato alla connessione, per cui sono le stesse operazioni di input ed output che consentono l indirizzamento corretto dei messaggi.

62 System Call socket() Il tipo SOCK_STREAM è basato sul protocollo TCP Un socket stream fornisce un modello di comunicazione orientato alla connessione con un flusso di byte non strutturato, ma per il quale è garantita l affidabilità, la sequenza e la non duplicazione. Adatto a problemi che richiedono un grosso scambio di informazioni tra corrispondenti stabili. Un socket di tipo SOCK_RAW permette l accesso ai meccanismi di più basso livello; può essere utilizzato quando si vuole costruire un protocollo particolare. Un socket SOK_SEQPACKET ha le caratteristiche di un socket stream, ma in più garantisce il rispetto della struttura a messaggio della comunicazione; è utilizzato solo neldominio XNS.

63 System Call socket() protocol Il parametro specifica il particolare protocollo che deve essere usato con i socket Normalmente solo un singolo protocollo viene fornito ad ogni tipo di socket. Se il parametro è messo a zero, viene selezionato il protocollo associato al tipo specificato. Se si vuole specificare un protocollo come stringa ascii, si può richiamare la funzione getprotobyname() che, data una stringa che rappresenta un protocollo, fornisce il numero corrispondente.

64 System Call socket() L associazione nome/identificatore di protocollo viene effettuata nel file /etc/protocols. struct protoent *getprotobyname(name) Dove: char *name; struct protoent { char *p_name; /* nome del protocollo (es. TCP) */ char **p_aliases; /* nomi alternativi */ int p_proto; /* identificativo del protocollo */ };

65 System Call bind() La System Call bind() associa all identificativo del socket un name che rappresenta il riferimento per il socket all esterno del processo che lo ha creato. bind(s,name,namelen) int s; struct sockaddr_un *name; /* dominio Unix */ struct sockaddr_in *name; /* dominio Internet */ int namelen; s = identifica il socket name = identifica il nome che verrà assegnato al socket namelen = la dimensione di name pari alla dimensione di struct sockaddr

66 System Call bind() name Il nome del dominio di comunicazione Nel caso il dominio UNIX, name è un puntatore ad una struttura di tipo struct sockaddr_un è definita nel file sys/un.h struct sockaddr_un { short sun_family; /* AF_UNIX */ char sun_path[108] }; Il socket è rappresentato da un nome nel file system alla stessa stregua di un file, con l unica differenza che il nome viene generato all atto della bind.

67 System Call bind() Nel caso di dominio Internet il nome di un socket viene identificato da una struttura di tipo struct sockaddr_in (netinet/in.h) struct sockaddr_in { short sin_family; /* AF_inet */ short sin_port; struct in_addr sin_addr; char sun_zero[8]; }; AF_INET : dominio Internet sin_port : port number sin_addr : indirizzo Internet L indirizzo Internet è costituito da 4 byte che consentono di individuare la rete, e nell ambito della rete, il calcolatore interessato.

68 Internet Address address L indirizzo della macchina può essere espresso anche come una stringa. La stringa può assumere una forma organizzata in sottodomini (domain name) che consente di individuare a livello mnemonico l indirizzo geografico della macchina. Il legame (nome della macchina)/(indirizzo) è definito nel file /etc/hosts e/o nello spazio dei nomi gestiti dal DNS. La funzione gethostbyname() fornisce l indirizzo Internet per un certo nome di macchina: struct hostent *gethostbyname(name) char *name;

69 Internet Address La funzione restituisce un puntatore ad una struttura di tipo struct hostent struct hostent { char * h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }; /* official name of host */ /* alias list */ /* host address type */ /* length of address */ /* host IP address list */ # define h_addr h_addr_list [0] /* usare come char *h_addr */ La funzione restituisce la struttura sempre sulla stessa area di memoria, una successiva chiamata sovrascrive i vecchi valori, allora: struct hostent *server; struct in_addr server_addr; server = gethostbyname(host); bcopy(server->h_addr, &server_addr, server->h_length);

70 Port Number Alcuni valori per il port sono assegnati a servizi di rete eseguiti come superuser (1-1023) Identificativi maggiori di 1023 sono utilizzati dai processi eseguiti come utenti normali (il port 1024 è riservato) Poiché il port assume un valore intero è necessario tener presente un problema che è legato al trasferimento di interi su una rete. Nella rappresentazione dei numeri interi è possibile adottare due convenzioni: MSBF : rappresentare prima (cioè all indirizzo più basso) il byte più significativo (big endian) LSBF : rappresentare prima il byte meno significativo (little endian) Il problema viene risolto stabilendo un ordine convenzionale di rappresentazione;per la rete Internet si è scelta la convenzione MSBF.

71 Port Number E necessario dunque che i processi applicativi in esecuzione sulle diverse macchine rispettino tale convenzione quando inviano o ricevono interi sulla rete. Vengono fornite delle macro che consentono di invertire l ordine dei bytes; il loro nome è: ntohs() htons() ntohl() htonl() Nota: Le prime due trattano gli short mentre le ultime i long. Se il numero intero viene ricevuto dalla rete è necessario usare le funzioni che iniziano con n (network to host), altrimenti le altre due che iniziano con h (host to network). E necessario utilizzare le macro htons() per assegnare il valore al campo port della struttura struct sockaddr_in.

72 Port Number Se il port è messo a zero nella chiamata alla bind(), il sistema assegna il primo valore libero. In questo modo è possibile conoscere il name associato ad un socket tramite la system call getsockname(). getsockname(s, name, namelen) int s; struct sockaddr_un *name; /* dominio UNIX */ struct sockaddr_in *name; /* dominio Internet */ int *namelen; La system call restituisce nella struttura puntata da name il nome del socket e nel parametro namelen la sua lunghezza effettiva; quest ultimo parametro va inizializzato con la lunghezza della struttura.

73 Modello senza connessione scambio messaggi Il modello si basa sul protocollo UDP Per consentire la comunicazione tra i processi non è necessaria alcuna ulteriore operazione preliminare, è sufficiente utilizzare le operazioni di input/output. Le operazioni di input vengono realizzate mediante: read() recv() recvfrom() Le operazioni di output vengono realizzate mediante: sendto()

74 System Call: recv() cc = recv(s, buf, buflen, flags) int cc; int s,buflen,flags; char *buf; La System Call recv() è identica a quella della read(), con la possibilità aggiuntiva di specificare dei flag per modificare il modo canonico delle operazioni di ricezione. Con il campo flags impostato a: MSG_PEEK : legge il messaggio senza consumerlo MSG_OOB : legge messaggi con alta priorità (out-of-band)

75 System Call: recvfrom() La recvfrom() rende possibile il colloquio bidirezionale in quanto permette di scoprire chi è il mittente del messaggio letto. cc = recvfrom(s, buf, buflen, flags, from, fromlen) int cc; int s,buflen,flags; char *buf; struct sockaddr_un *from; /* dominio UNIX */ struct sockaddr_in *from; /* dominio Internet */ int *fromlen from : punta ad una struttura che individua il mittente fromlen : contiene la sua lunghezza Quando viene attivata la System Call è necessario inizializzare il parametro fromlen con il valore della dimensione della struttura. Quest ultima System Call è sicuramente la più adatta per applicativi che usano UDP.

76 System Call: sendto() Le operazioni di invio messaggi sono realizzate tramite la sendto() che consente di specificare il destinatario. cc = sendto(s, buf, buflen, flags, to, tolen) int cc; int s,buflen,flags; char *buf; struct sockaddr_un *to; /* dominio UNIX */ struct sockaddr_in *to; /* dominio Internet */ int tolen flags: MSG_OOB : specifica l invio di un messaggio ad alta priorità (out-of-band) solo per socket-stream MSG_DONTROUTE: specifica l invio senza routing to : socket destinatario tolen : contiene la lunghezza effettiva

77 Comunicazione senza connessione AF_INET, addr, port AF_INET, addr, port recvform() AF_UNIX, server AF_UNIX, client read() recv() in out sendto() S out in C sendto() recvform() read() recv() Schema di comunicazione tra processi

78 Esempio dominio Internet (udp) - server char hostname[40]; pp = getprotobyname( udp ); s = socket(af_inet, SOCKET_DGRAM, pp->p_proto); struct hostent *server, *gethostbyname() struct addr_in server_addr; gethostname(hostname,40); server = gethostbyname(hostname); bcopy(server->h_addr,(char *)&server_addr,server->h_length); struct sockaddr_in server_sock; server_sock.sin_family = AF_INET; server_sock.sin_addr = server_addr; server_sock.sin_port = htons(2005); bind(s,&server_sock,sizeof(server_sock)); recvfrom(s,buf, BUFLEN, 0, &client, &addrlen); sendto(s, msg, strlen(msg)+1, 0, &client, addrlen); SOCKET Preleva indirizzo Internet bind Riceve richiesta ed invia replica

79 BIND In alternativa rispetto all esempio, dove si utilizza un indirizzo specifico della macchina locale, la bind può essere fatta senza indicare un indirizzo: server_sock.sin_addr.s_addr = htonl(inaddr_any);

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

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

I 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

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

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

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

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

Introduzione alle applicazioni di rete

Introduzione 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

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

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

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito

Reti di Calcolatori. Vantaggi dell uso delle reti. Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Cosa è una rete? Punto di vista logico: sistema di dati ed utenti distribuito Punto di vista fisico: insieme di hardware, collegamenti, e protocolli che permettono la comunicazione tra macchine remote

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE 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

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

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

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica). Topologia delle reti Una RETE DI COMPUTER è costituita da un insieme di elaboratori (NODI) interconnessi tra loro tramite cavi (o sostituti dei cavi come le connessioni wireless). Rete Point-to-Point:

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello rete in Internet Il protocollo

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

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

Reti di calcolatori. Reti di calcolatori

Reti di calcolatori. Reti di calcolatori Reti di calcolatori Reti di calcolatori Rete = sistema di collegamento tra vari calcolatori che consente lo scambio di dati e la cooperazione Ogni calcolatore e un nodo, con un suo indirizzo di rete Storia:

Dettagli

InterNet: rete di reti

InterNet: rete di reti Internet e il web: introduzione rapida 1 InterNet: rete di reti Una rete è costituita da diversi computer collegati fra di loro allo scopo di: Comunicare Condividere risorse Ogni computer della rete può,

Dettagli

Standard di comunicazione

Standard di comunicazione Standard di comunicazione Organizzato a livelli per ridurne la complessità e aumentarne la flessibilità il numero dei livelli e le loro funzionalità dipendono dal tipo di rete ogni livello formalizza un

Dettagli

Applicazioni web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications) Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento

Dettagli

Siti web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications) Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... 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

Dettagli

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Reti e Internet: introduzione

Reti e Internet: introduzione Facoltà di Medicina - Corso di Laurea in Logopedia Corso di Informatica III anno Prof. Crescenzio Gallo Reti e Internet: introduzione c.gallo@unifg.it Reti e Internet: argomenti Tipologie di reti Rete

Dettagli

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA 2010-2011. Paola Zamperlin. Internet. Parte prima

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA 2010-2011. Paola Zamperlin. Internet. Parte prima Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA 2010-2011 Paola Zamperlin Internet. Parte prima 1 Definizioni-1 Una rete di calcolatori è costituita da computer e altri

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 10 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Nomenclatura: 1 La rappresentazione di uno schema richiede una serie di abbreviazioni per i vari componenti. Seguiremo

Dettagli

Esercitazione [6] Client/Server con Socket

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

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

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet AA 2004-2005 Reti e Sistemi Telematici 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host può essere client e/o server a livello applicazione Router:

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Internet e protocollo TCP/IP

Internet e protocollo TCP/IP Internet e protocollo TCP/IP Internet Nata dalla fusione di reti di agenzie governative americane (ARPANET) e reti di università E una rete di reti, di scala planetaria, pubblica, a commutazione di pacchetto

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE A INTERNET - 1 Internet: nomenclatura Host: calcolatore collegato a Internet ogni host

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

Interconnessione di reti

Interconnessione di reti Interconnessione di reti Collegamenti tra reti eterogenee Instradamento (routing) e inoltro (forwarding) IPv4 - indirizzi IP e MAC - sottoreti IPv6 - evoluzione di Internet DNS - Domain Name System Conclusioni

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

Corso di recupero di sistemi Lezione 8

Corso di recupero di sistemi Lezione 8 Corso di recupero di sistemi Lezione 8 a.s. 2011/2012 - Prof. Fabio Ciao 24 aprile 2012 Reti TCP/IP Una rete TCP/IP è una rete locale o geografica che utilizza protocolli TCP/IP con i primi 2 livelli una

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

FTP. Appunti a cura del prof. ing. Mario Catalano

FTP. Appunti a cura del prof. ing. Mario Catalano FTP Appunti a cura del prof. ing. Mario Catalano Il protocollo FTP 1/2 Attraverso il protocollo FTP (File Transfer Protocol) è possibile trasferire uno o più files di qualsiasi tipo tra due macchine Tale

Dettagli

Introduzione alla rete Internet

Introduzione alla rete Internet Introduzione alla rete Internet Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ INTRODUZIONE ALLE RETI TELEMATICHE - 1 Copyright Quest opera è protetta dalla licenza Creative Commons

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

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione

INFORMATICA DISTRIBUITA. lez 4 Livello applicazione INFORMATICA DISTRIBUITA prof. lez 4 Livello applicazione Università degli Studi di Milano Scienze e Tecnologie della Comunicazione Musicale a.a. 2009-2010 applicazioni di rete Processo: programma in esecuzione

Dettagli

Internet: architettura e servizi

Internet: architettura e servizi Corso di Laurea Magistrale in Medicina e Chirurgia Corso di Informatica - II anno Prof. Crescenzio Gallo Internet: architettura e servizi c.gallo@unifg.it Internet: argomenti n Modalità di collegamento

Dettagli

Internet: architettura e servizi

Internet: architettura e servizi Facoltà di Medicina Corso di Laurea in Logopedia Corso di Informatica - III anno Prof. Crescenzio Gallo Internet: architettura e servizi c.gallo@unifg.it Internet: argomenti Modalità di collegamento alla

Dettagli

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003

Introduzione al Dns. Loredana Pillitteri. Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003 Introduzione al Dns Semplificazione della gestione e delega amministrativa Pisa - CNR - ISTI dicembre 2003 Cos è il DNS Lo spazio dei nomi ed indirizzi IP Tipi record migrazione nuovo dominio ISTI migrazione

Dettagli

HTTP adaptation layer per generico protocollo di scambio dati

HTTP 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

Dettagli

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - I multipli 1 KB (kilo) = 1000 B 1 MB (mega) = 1 mln B 1 GB (giga) = 1 mld B 1 TB (tera) = 1000 mld B Codifica binaria dei numeri Numerazione con base 10:

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: romanelli@baxsrl.com Networking NAT 1 Sommario L indirizzamento privato e pubblico I meccanismi di address

Dettagli

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan

RETI E SISTEMI INFORMATIVI Domain Name System. Prof. Andrea Borghesan RETI E SISTEMI INFORMATIVI Domain Name System Prof. Andrea Borghesan http://venus.unive.it/borg borg@unive.it Ricevimento: mercoledì, 10.00-11.00. Studio 34, primo piano. Dip. Statistica 1 Modalità esame:

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 Livelli di rete e architettura Client-Server Lez 12 architettura client-server 1 Scorsa lezione: comunicazione Gli utenti chiedono comunicazione

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 3 a lezione Francesco Fontanella Il pacchetto IP Il preambolo (header) IP è fatto in questo modo: Gli Indirizzi IP Ogni host e router

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti Finalità delle Reti di calcolatori Le Reti Informatiche Un calcolatore isolato, anche se multiutente ha a disposizione solo le risorse locali potrà elaborare unicamente i dati dei propri utenti 2 / 27

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

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

TCP: trasmissione Source port [16 bit] - Identifica il numero di porta sull'host mittente associato alla connessione TCP. Destination port [16 bit] - Identifica il numero di porta sull'host destinatario

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI) Reti Architettura a livelli (modello OSI) Prevede sette livelli: applicazione, presentazione, sessione, trasporto, rete, collegamento dei dati (datalink), fisico. TCP/IP: si può analizzare in maniera analoga

Dettagli

(VHUFLWD]LRQLGLEDVHVXOOH6RFNHWLQ&

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

Dettagli

Indice. Prefazione XIII

Indice. Prefazione XIII Indice Prefazione XIII 1 Introduzione 1 1.1 Breve storia della rete Internet 1 1.2 Protocolli e standard 6 1.3 Le organizzazioni che definiscono gli standard 7 1.4 Gli standard Internet 10 1.5 Amministrazione

Dettagli

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa

Oreste Signore, <oreste@w3.org> Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa http://www.w3c.it/education/2012/upra/basicinternet/#(1) 1 of 16 Oreste Signore, Responsabile Ufficio Italiano W3C Area della Ricerca CNR - via Moruzzi, 1-56124 Pisa Master in Comunicazione

Dettagli

Scrittura dei programmi applicativi di rete

Scrittura 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

Dettagli

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita

Internet. Internet. Internet Servizi e Protocolli applicativi. Internet. Organizzazione distribuita Organizzazione distribuita Il messaggio viene organizzato in pacchetti dal calcolatore sorgente. Il calcolatore sorgente instrada i pacchetti inviandoli ad un calcolatore a cui è direttamente connesso.

Dettagli

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Dettagli

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli. Università degli Studi di Parma Elementi Base del Modello OSI Sistema A Sistema B Sistema C Sistema D Modello OSI mezzi fisici Connessioni Struttura a Livelli Per ridurre la complessità progettuale, tutte

Dettagli

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall Firewall e NAT A.A. 2005/2006 Walter Cerroni Protezione di host: personal firewall Un firewall è un filtro software che serve a proteggersi da accessi indesiderati provenienti dall esterno della rete Può

Dettagli

Allegato 3 Sistema per l interscambio dei dati (SID)

Allegato 3 Sistema per l interscambio dei dati (SID) Sistema per l interscambio dei dati (SID) Specifiche dell infrastruttura per la trasmissione delle Comunicazioni previste dall art. 11 comma 2 del decreto legge 6 dicembre 2011 n.201 Sommario Introduzione...

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

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software. Reti locati e reti globali Tecnologie: Reti e Protocolli Reti locali (LAN, Local Area Networks) Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti metropolitane, reti geografiche,

Dettagli

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione.

Il client deve stampare tutti gli eventuali errori che si possono verificare durante l esecuzione. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2010/2011 Il progetto consiste nello sviluppo di un applicazione client/server. Sia il server che il client dovranno

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Domain Name System: DNS

Domain Name System: DNS Domain Name System: DNS Nomi simbolici Gerarchia dei nomi Gerarchia dei DNS Risoluzione dei nomi Caching e abbreviazioni Descrittori di risorsa Nomi simbolici Tutte le applicazioni Internet usano indirizzi

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

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci I motori di ricerca in internet: cosa sono e come funzionano Roberto Ricci, Servizio Sistema

Dettagli

TCP/IP: INDIRIZZI IP SIMBOLICI

TCP/IP: INDIRIZZI IP SIMBOLICI TCP/IP: INDIRIZZI IP SIMBOLICI DOMAIN NAME SYSTEM: ESEMPIO www.unical.it 160.97.4.100 100 host 160.97.29.5 dominio i di II livelloll dominio di (organizzazione: università) I livello (nazione) www.deis.unical.it

Dettagli

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica Installatore LAN Progetto per le classi V del corso di Informatica Active Directory 26/02/08 Installatore LAN - Prof.Marco Marchisotti 1 Agli albori delle reti...... nelle prime LAN era facile individuare

Dettagli

Protocollo IP e collegati

Protocollo IP e collegati Protocollo IP e collegati Argomenti trattati: formato del pacchetto IP; servizi del protocollo IP; formato degli indirizzi; instradamento dei datagrammi; classi di indirizzi A, B, C, D; indirizzi speciali,

Dettagli

Laboratorio di Programmazione in rete

Laboratorio 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

Dettagli

Il funzionamento delle reti

Il funzionamento delle reti Fluency Il funzionamento delle reti Capitolo 2 Comunicazione nel tempo Sincrona mittente e destinatario attivi contemporaneamente Asincrona invio e ricezione in momenti diversi Quanti comunicano Broadcast

Dettagli

Capitolo 16 I servizi Internet

Capitolo 16 I servizi Internet Capitolo 16 I servizi Internet Storia di Internet Il protocollo TCP/IP Indirizzi IP Intranet e indirizzi privati Nomi di dominio World Wide Web Ipertesti URL e HTTP Motori di ricerca Posta elettronica

Dettagli

Comunicazione nel tempo

Comunicazione nel tempo Fluency Il funzionamento delle reti Capitolo 2 Comunicazione nel tempo Sincrona mittente e destinatario attivi contemporaneamente Asincrona invio e ricezione in momenti diversi 1 Quanti comunicano Broadcast

Dettagli