reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio:...

16
1 Autunno 2004 Prof. Roberto De Prisco Università degli studi di Salerno Laurea e Diploma in Informatica Introduzione TEORIA (Lez. 1) Autunno 2004 2 Telefonini … o almeno … e non rispondere

Transcript of reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio:...

Page 1: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

1

Autunno 2004Prof. Roberto De Prisco

Università degli studi di SalernoLaurea e Diploma in Informatica

Introduzione

TEORIA (Lez. 1)

Autunno 20042Telefonini

… o almeno

… e non rispondere

Page 2: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

2

TEORIA (Lez. 1)

Autunno 20043Presentazione

Prof. Roberto De Priscostudio: [email protected]

Orario del corso:Lun 09:00-11:00 F1 (Fisciano)Mar 09:00-11:00 F1 (Fisciano)Gio 09:00-12:00 L12 (Lancusi)

Orario di ricevimento studentiLun 11:00-13:00Gio 12:00-13:00Email (risposta non garantita, dipende dalla domanda!)

Condizione necessaria: il messaggio deve essere firmatoAppuntamento

TEORIA (Lez. 1)

Autunno 20044Sito Web

Materiale didattico

SlideCodice

InformazioniDate esamiProgrammaLibri

Annunci

EsamiPrenotazioniRisultati

http://www.dia.unisa.it/robdep/Reti/

Page 3: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

3

TEORIA (Lez. 1)

Autunno 20045Programma e libri

Parte generale: StallingsCanali di trasmissione CodificaControllo erroriMultiplexingReti a commutazione di pacchetto e di circuito

Internet: ComerIndirizzamentoTCP/IPRoutingDNSApplicazioni

Socket: StevensProgrammazione client-server (laboratorio)

TEORIA (Lez. 1)

Autunno 20046Esame

Prova scrittaDue compitini durante il corso, oppureUno scritto unico negli appelli dopo la fine del corsoSuperando lo scritto, si ottiene un voto da 18 a 30Contiene domande anche sulla parte pratica

Prova pratica, obbligatoriaSviluppo di un programma in laboratorio Può far variare il voto della prova scritta

Prova oraleLo studente ha la facoltà di confermare il voto acquisito oppure sostenere la prova orale, ma La prova orale è obbligatoria

se il docente ritiene di non aver acquisito abbastanza elementi per la valutazionePer i voti superiori a 27

Alla prova orale il voto può variare senza limiti

Page 4: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

4

TEORIA (Lez. 1)

Autunno 20047Validità

Le prove scritte e pratiche possono essere fatte indipendentemente l’una dall’altra

La prova orale può essere fatta solo dopo avere sostenuto la prova scritta e quella pratica

I voti delle prove vengono mantenuti per un anno solare

Es. una prova fatta a febbraio 2005 è valida fino a febbraio 2006Es. una prova fatta nella sessione di giu-lug 2005 è valida fino alla sessione di giu-lug 2006

TEORIA (Lez. 1)

Autunno 20048Classe

Questo corso è per le matricole congrue a 0 modulo 3

Il resto della divisione per 3 è 0

Un modo semplice per vedere quale è il resto:556/0157821+5+7+8+2 = 232+3 = 5Il resto di 5 diviso 3 è 2Classe di appartenenza: 2

Page 5: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

5

TEORIA (Lez. 1)

Autunno 20049Si comincia

RETI

Introduzione: panoramica sul corso

TEORIA (Lez. 1)

Autunno 200410Introduzione

Perché colleghiamo i computer in rete?

Migliore utilizzo delle risorse in comuneUna stampante può essere condivisa da tutti gli utenti di una reteUn dispositivo di backup può essere utilizzato da tutti gli utenti di una rete

Capacità di scambiare dati e di comunicareEmail, accesso ad un database remoto, meeting via rete, WWW, …

Computazione distribuitaProgrammi che girano su più calcolatori

Page 6: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

6

TEORIA (Lez. 1)

Autunno 200411Canali

Collegamento direttoEsiste un mezzo fisico (canale) fra due computer

I computer alle due estremità spediscono e ricevono i dati (bit)

Vari tipi di canaliDoppini, cavi coassiali, fibre otticheSegnali, larghezza di banda, rumore, tasso di erroreCorrezione degli errori, capacità

Mezzo di trasmissione

TEORIA (Lez. 1)

Autunno 200412Introduzione

Ovviamente non è possibile collegare direttamente (cioè tramite un canale) ogni singola coppia di computer

Soluzione: Reti

(slide animata)

Page 7: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

7

TEORIA (Lez. 1)

Autunno 200413Reti di calcolatori

GeografiaLAN Local Area NetworkMAN Metropolitan Area NetworkWAN Wide Area Network

TecnologiaCommutazione di circuito (reti telefoniche)Commutazione di pacchetto

Frame RelayATMInternet (con la I maiuscola)

In questo corsoCommutazione di pacchetto

TEORIA (Lez. 1)

Autunno 200414Protocolli

Regole per poter comunicare

Si occupano di problemi qualiIndirizzamentoSpedizione dei dati

Segmentazione e riassemblaggioControllo e correzione di erroriControllo del flussoTrasferimento ordinatoMultiplexing

Protocollo TCP/IP (Internet)

Page 8: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

8

TEORIA (Lez. 1)

Autunno 200415Livelli

TEORIA (Lez. 1)

Autunno 200416Modello a tre livelli

Modello semplificato a tre stratiLivello applicazioneLivello di trasportoLivello fisico (accesso alla rete)

Applicazione

Trasporto

Accesso alla rete

Applicazione

Trasporto

Accesso alla reteRete di comunicazione

Protocollo dell’applicazione

Protocollo di trasporto

Protocollo accesso alla rete

Protocollo accesso alla rete

Sorgente Destinazione

Page 9: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

9

TEORIA (Lez. 1)

Autunno 200417Modello a tre livelli

Ogni livello si occupa di determinati aspetti

Livello fisicoTrasmissione dei bit, consegna dei bit al canale e ricezione dei bit, identificazione della sorgente e del destinatario

Livello di trasportoCorrezione degli errori, richieste di ritrasmissione, controllo del flusso

Livello di applicazioneFornisce i servizi all’utente, email, WWW, ftp, etc.

TEORIA (Lez. 1)

Autunno 200418

Applicazione

Trasporto

Accesso alla rete

Applicazione

Trasporto

Accesso alla reteRete di comunicazione

Protocollo dell’applicazione

Protocollo di trasporto

Protocollo accesso alla rete

Protocollo accesso alla rete

Sorgente Destinazione

Percorso di un pacchetto

(slide animata)

Page 10: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

10

TEORIA (Lez. 1)

Autunno 200419PDU

PDU: Protocol Data UnitBlocchi, pacchetti, trame (frame) … sinonimi, indicano una PDU nei vari livelli

Una PDU contieneintestazione (dati di controllo aggiunti dal protocollo)corpo (dati utente)coda (dati di controllo aggiunti dal protocollo)

La coda non è sempre presente

Intestazione e coda sono usate dal protocollo per controllare la comunicazione

TEORIA (Lez. 1)

Autunno 200420PDU

Ogni livello aggiunge i suoi dati di controllo

Page 11: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

11

TEORIA (Lez. 1)

Autunno 200421Rete a pacchetti

= Pacchetto

TEORIA (Lez. 1)

Autunno 200422Multiplexing

Corrispondenza di più connessioni ad un livellocon una sola connessione al livello inferiore

consente di aggregare i dati e ottimizzare l'efficienzadella trasmissione

È necessario un meccanismo di disaggregazione(demultiplexing)

Canale

Canale 1Canale 2

Canale n

Canale 1Canale 2

Canale n

Page 12: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

12

TEORIA (Lez. 1)

Autunno 200423Internet

Internet (con la I maiuscola)Rete di reti, copre tutto il globo

TEORIA (Lez. 1)

Autunno 200424Indirizzamento in Internet

Avere una rete che copre tutto il globo rende difficile dare un indirizzo univoco ad ogni singolo computer

Indirizzi IP e DNSSchema per l’assegnazione di indirizzi numerici (192.41.218.1)Uso di nomi mnemonici (www.dia.unisa.it)

Corrispondenza fra indirizzi IP e indirizzi fisici

Page 13: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

13

TEORIA (Lez. 1)

Autunno 200425Protocollo TCP/IP

Stratificazione dei livelli TCP/IP5 livelli

Rete di comunicazione

Protocollo accesso alla rete

Protocollo accesso alla rete

Sorgente

Applicazione

TCP

IP

Accesso alla rete

Fisico

Applicazione

TCP

IP

Accesso alla rete

Fisico

Destinazione

TEORIA (Lez. 1)

Autunno 200426Suite TCP/IP

IP e TCP sono i due più importanti protocolli che danno il nome alla famiglia di protocolli detta appunto TCP/IP

IP = Internet ProtocolTCP = Transmission Control Protocol

Ci sono altri protocolliUDP, ICMP, …

Il funzionamento di Internet inoltre dipende da algoritmi di

Routing (istradamento dei pacchetti)Controllo della congestione

Page 14: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

14

TEORIA (Lez. 1)

Autunno 200427Applicazioni

Tutto ciò che abbiamo descritto finora costituisce la struttura di base

Tale struttura ci permette di scrivere le applicazioni

ApplicazioniWWW (World Wide Web)

Internet Explorer, Netscape, MozillaEmailFTP (File Transfer Program)Login remotoChat

TEORIA (Lez. 1)

Autunno 200428Client-Server

Molte applicazioni usano il paradigma client-server

Il server è un programma/macchina che è sempre in funzione ed è in attesa di richieste da parte di client

Il client contatta il server per usufruire dei servizi offerti dal server

WWW è un’applicazione client-server

Page 15: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

15

TEORIA (Lez. 1)

Autunno 200429Programmazione su rete

Un socket è l’astrazione (al livello del programmatore) di un canale di comunicazione

Per scrivere applicazioni su rete il programmatore ha a disposizione una interfaccia per i socket

Stabilire una connessioneSpedire datiRicevere datiAltre funzioni

Socket in ambiente Linux/Unix

TEORIA (Lez. 1)

Autunno 200430Server echo con UDP

int main(int argc, char **argv) {int sockfd;struct sockaddr_in servaddr, cliaddr;if( (sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0 )

err_sys("socket error");bzero(&servaddr, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(PORT);

if( bind(sockfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) < 0 )err_sys("bind error");

server_echo_udp(sockfd, (struct sockaddr *) &cliaddr, sizeof(cliaddr));}

void server_echo_udp(int sockfd, struct sockaddr *p_cliaddr, socklen_t clilen) {int n;socklen_t len;char mesg[MAXLINE];for ( ; ; ) {

len = clilen;if( (n = recvfrom(sockfd, mesg, MAXLINE, 0, p_cliaddr, &len)) < 0)

err_sys("recvfrom error");if( sendto(sockfd, mesg, n, 0, p_cliaddr, len) != n )

err_sys("sendto error");}

}

echoudpsrv.c

Page 16: reti - INTRODUZIONE2 TEORIA (Lez. 1) Autunno 2004 Presentazione 3 Prof. Roberto De Prisco studio: L1-13 robdep@unisa.it Orario del corso: Lun 09:00-11:00 F1 (Fisciano) Mar 09:00-11:00

16

TEORIA (Lez. 1)

Autunno 200431Riepilogo: Il programma

Parte Teorica

GENERALECanali di trasmissione CodificaControllo erroriMultiplexingReti a commutazione di pacchetto e di circuito

INTERNETIndirizzamentoTCP/IPRoutingDNSApplicazioni

Parte Pratica

Programmazione su rete Socket TCPSocket UDPI/O multiplexing (select)Applicazioni client-server

Programmazione in laboratorio

OTT

GEN