Cap2-1cmp/CorsoReti/slides04/Cap2-1.pdf · Title: Cap2-1.ppt Author: Mauro Campanella Created Date:...

33
Capitolo 2 - parte 1 Corso Reti ed Applicazioni Mauro Campanella

Transcript of Cap2-1cmp/CorsoReti/slides04/Cap2-1.pdf · Title: Cap2-1.ppt Author: Mauro Campanella Created Date:...

  • Capitolo 2 - parte 1

    Corso Reti ed ApplicazioniMauro Campanella

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 2

    Agenda

    - Introduzione- Principi dei protocolli dello strato applicativo - client–server - richieste delle applicazioni alla rete- Introduzione alla qualità di servizio- Le applicazioni Internet: - Terminale remoto: Telnet

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 3

    Le necessità del Sig. Rossi

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 4

    La situazione

    Il sig. Rossi vuole informatizzare:

    • una villa di proprietà• un’industria che produce sete composta da - un capannone industriale da 3000 m2 - macchinari - laboratori colore ed studi design - una palazzina uffici di due piani con sala di rappresentanza e mostra - circa 20 dipendenti - due furgoncini

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 5

    La proposta

    Creare un sistema basato sulle tecnologieInternet con al centro l’informazione.

    Iniziare identificando :- le informazioni da scambiare- il loro flusso e l’elaborazione- le richieste alle applicazioni

    Progettare un’architettura modulare, semplicee distribuita, basata sulla comunicazione inrete. Tutte le applicazioni devono averealmeno le interfacce per gli standard aperti diInternet e magari avere codice pubblico.

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 6

    L’informazione

    1 ufficio vendite2 amministrazione (ordini/personale)3 magazzino4 automazione e controllo del sistema produttivo5 controllo accessi e sicurezza7 informazione varia/pubblicità8 telefonia e fax

    da Internet e verso Internet

    database (multimediale)databasedatabasecontrollo e funzionamentoreal timereal time e video“web” e stampasistema classico + ...

    tutti

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 7

    I flussi di informazione

    Analizzando i flussi di informazione, si conferma la necessità dellacomunicazione in rete per ogni componente, infatti :

    - tutte le componenti scambiano informazione con ogni altra locale e possono richiedere scambi con altre remote- lo scambio è sia sincrono che asincrono ed deve essere possibile in ogni momento della giornata- la quantità di dati scambiata è altamente variabile- lo scambio richiede normalmente un trasporto affidabile, e con garanzie diverse, ma non sempre (video o videoconferenza)- l’informazione viaggia sempre fra una sorgente ed una o più destinazioni

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 8

    L’elaborazione e le applicazioni

    L’informazione è digitale e richiede in genere unaelaborazione ed una presentazione che avviene:

    - all’interno di basi dati- nell’interfaccia verso l’utente- nella comunicazione verso l’esterno- nei sistemi di controllo

    idee di applicazioni:

    mySQLWEB, LinuxWEB, e-mail, video, faxWEB, mySQL +programmi d’unionein PERL, Javascript, PHP, ..

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 9

    Agenda

    - Introduzione- Principi dei protocolli dello strato applicativo - client–server - richieste delle applicazioni alla rete- Le applicazioni Internet: - Terminale remoto: Telnet

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 10

    Applicazioni in rete: alcuni termini

    Processo: programma attivoall’interno di un nodo.La comunicazione fra processipuò avvenire all’interno dellostesso nodo con- l’interfaccia fornita dal sistema operativooppure- attraverso un protocollo dellostrato di applicazione che usi glistrati Internet.Il secondo è l’unico possibile franodi distinti

    user agent: interfaccia fral’utilizzatore “sopra” e larete “sotto”.Realizza una interfacciautente ed un protocollo allostrato di applicazione.- Web : un browser- E-mail: mail reader- streaming audio/video: media player

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 11

    Internet fra processi nello stresso nodo

    applicazione

    trasporto

    network

    data link

    fisico

    applicazione

    trasporto

    network

    data link

    fisico

    127.0.0.1“loopback”

    Vantaggio di astrarsi dalle specifiche del particolare S.O.

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 12

    Applicazioni e protocolli dello strato

    Applicazione: un servizio, una funzione realizzata attraversoprocessi distribuiti che comunicano fra loro

    – p.e., e-mail, Web, condivisione di dischi, chat– il funzionamento prevede lo scambio di messaggi

    applicationtransportnetworkdata linkphysical

    applicationtransportnetworkdata linkphysical

    applicationtransportnetworkdata linkphysical

    Protocolli dello strato di applicazione– una componente dell’applicazione– definiscono la sintassi ed il

    significato dei messaggi scambiatie le azioni da compiere

    – utilizzano i servizi dello strato ditrasporto

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 13

    Il protocollo dello strato di applicazione

    Definisce:Tipi dei messaggi scambiati, p.e.messaggi di richiesta e rispostaSintassi dei tipi di messaggi: icampi nei messaggi e comesono delimitatiSemantica dei campi, cioè ilsignificato dell’informazione inciascun campoRegole per i modi ed i tempi diuna risposta del processo aimessaggi

    Protocolli di pubblico dominio:- definiti nelle RFCs- permettono una facile interoperabilità tra protocolli p.e. HTTP, SMTP, HTML- permettono lo sviluppo di user agent diversiProtocolli proprietari:- le specifiche non sono note- sistema “chiuso” p.e., KaZaA, RealVideo

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 14

    Paradigma Client-Server

    Nell’uso di una applicazione in retesi distingue fra client e server

    applicationtransportnetworkdata linkphysical

    applicationtransportnetworkdata linkphysical

    Client:inizia la comunicazione e richiedetipicamente un servizio al sever.Web: client implementato neibrowser; e-mail: nella presentazione

    request reply

    Server:soddisfa il servizio richiesto dal client.Il server Web fornisce l’informazionerichiesta, il mail server smista la posta

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 15

    Paradigma Client-Server

    I ruoli non sononecessariamente fissi.

    Possono invertirsi.Un client può essere nellostesso tempo un server , perla stessa applicazione o perun’altra.

    Il ruolo è in funzione deicomponenti dell’applicazionedisponibili sul nodo.

    applicationtransportnetworkdata linkphysical

    applicationtransportnetworkdata linkphysical

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 16

    CapacitàAlcune applicazioni (p.e., multimedia) richiedono unaminima quantità di banda per funzionare.Altre (dette “elastiche”) possono usare qualsiasi valore larete rende disponibile

    Quali richieste pone un’applicazione alla rete ?

    RitardoSolo alcune (e.g., telefono suIP, giochi multiplayer) sonosensibili al valore del ritardo,che deve in genere esserebasso.

    Variazione del ritardoSolo alcune (quelle isocrone)sono sensibili ad unasignificativa variazione nelvalore assoluto del ritardo

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 17

    Quali richieste pone un’applicazione alla rete ?

    Perdita di pacchetti e datiAlcune applicazioni (p.e., audio o video) possonosopportare alcune perdite di pacchetti e dati.Altre (e.g., trasferimento di file, telnet) richiedono untrasporto affidabile al 100%, ma possono sopportarela perdita molti pacchetti durante il trasferimento.

    Non vanno confuse la perdita di pacchetti durante iltrasferimento, con l’affidabilità del trasferimento fornitadal protocollo di trasporto, cioè la perdita di dati.Durante un trasferimento di file possono perdersi moltipacchetti, ma il protocollo li ritrasmetterà ed il filetrasferito sarà copia identica dell’originale.

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 18

    Parametri di Qualità di Servizio

    I principali parametri per quantificare la qualità del serviziooffetto da una rete sono :

    �- ritardo in una direzione (one-way delay)�- la variazione del ritardo (one-way IP packet delay variation o ipdv);�- capacità;�- perdita di pacchetti in una direzione (non dati).

    L’insieme è comune a IETF e ITU-T.Nomenclatura e definizioni seguono la RFC 2330 (Frameworkfor IP Performance metrics) and sono modificate secondol’evoluzione decisa dal gruppo di lavoro IPPM di IETF.

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 19

    Esempi

    Gli intervalli appropriati per ciascun parametro di QoSdipendono dalla particolare applicazione, per esempio ilvideo interattivo e il video streaming hanno richiesteben differenti !

    FTP HTTP Voce su IP Video Capacità minima minima minima granderitardo unidirezionale N/A minima media mediaipdv N/A N/A piccola piccolaPerdita di pacchetti medio-alta media bassa bassaPerdita di dati nessuna nessuna piccola piccola

    FTP HTTP Voce su IP Video Capacità minima minima minima granderitardo unidirezionale N/A minima media mediaipdv N/A N/A piccola piccolaPerdita di pacchetti medio-alta media bassa bassaPerdita di dati nessuna nessuna piccola piccola

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 20

    La scelta del protocollo di trasporto

    Applicazione

    e-mail terminale remoto

    Web trasferiento file

    streaming multimedia

    telefono su IP

    Protocollo dellostrato di applicaz.

    SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]proprietario(e.g. RealNetworks)proprietario(e.g., Dialpad)

    Protocollo ditrasporto scelto

    TCPTCPTCPTCPTCP or UDP

    normalmente UDP

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 21

    Promemoria su TCP(servizio orientato alla connessione)

    Trasferisce in modo affidabile datifra sistemi

    Richiede una fase di handshaking(accordo) iniziale, in cui

    - vengono definiti dal protocollo i parametri della connessione

    - viene creato uno “stato” per la connessione in entrambi i nodi

    - non fornisce garanzie di - capacità - tempo di trasferimento

    TCPTransmission Control Protocol [RFC 793]fornisce un trasferimento affidabile di unasequenza (stream) di bytes

    – per eliminare le perdita di dati:acknowledgements e ritrasmissioni

    controllo di flusso:– il mittente è in grado di modulare la

    velocità di emissione dei pacchetticontrollo di congestione:

    – il mittente diminuisce la velocità ditrasmissione se si accorge di unaperdita di pachetti

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 22

    Promemoria UDPServizio senza connessione

    UDPUser Datagram Protocol [RFC 768]:

    - non stabilisce una connessione- non ha controllo di flusso- non ha controllo della congestione

    - non fornisce garanzie di - capacità - tempo di trasferimento - completezza dei dati

    UDP forrsiponde al più sempliceprotocollo di trasporto realizzabile,estramente compatto.

    Oggi il 95% del traffico Internet ètrasportato su TCP, il resto su UDP.

    Le caratteristiche di controllo diflusso e congestione di TCP(elasticità) sono quelle chepermettono un comportamentocorretto di un flusso rispetto all’altro(fairness).

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 23

    ⇒⇒⇒⇒ E’ in grado di crescere bene

    Il servizio standard di rete: Best Effort

    ⇒⇒⇒⇒ Complessità nei sistemi, rete semplice (modello end-to-end)

    ⇒⇒⇒⇒ Degrada bene, il service non è mai rifiutato anche se le risorse sono congestionate (capacità, sistemi…)

    Basato sulmultiplexing statistico e TCP

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 24

    Promemoria indirizzamento in Internet

    Applicazione

    Trasporto

    rete

    Data Link

    Fisico

    Corrisponde ad una numero preciso di porta (80) delservizio, ma puo’ sceglierne anche una diversa. Usa anchel’indirizzo IP numerico (od il nome) del destinatario

    L’header specifico indica che è TCP (non UDP)

    L’indirizzo univoco a livello mondiale dell’interfaccia, in v4(intero, 32 bit, unsigned) scritto nella forma 111.22.333.4

    Un indirizzo univoco a livello mondiale dell’interfaccia,detto MAC (Medium Access Control) nella forma08:00:2B:AF:2C:16 (esadecimale - 6 bytes)

    Nulla

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 25

    Agenda

    - Introduzione- Principi dei protocolli dello strato applicativo - client–server - richieste delle applicazioni alla rete- Le applicazioni Internet: - Terminale remoto: Telnet

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 26

    Le applicazioni di Internet

    applicazione

    trasporto

    network

    data link

    fisico

    telnet, , http, smtp, dns, ftp,...

    Ethernet, Wireless, PPP, SDH...

    Fibra ottica, Rame, Radio, ...

    ICMPTCP UDP

    IP

    5

    4

    3

    2

    1

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 27

    Agenda

    - Introduzione- Principi dei protocolli dello strato applicativo - client–server - richieste delle applicazioni alla rete- Le applicazioni Internet: - Terminale remoto: Telnet

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 28

    Telnet

    Il protocollo Telnet (RFC 0854)definisce un canale dicomunicazione, basato su testo, inchiaro, fra un client ed un server.

    Il client crea un canale in chiaro ditrasmissione testo trasparente, conil server.

    Il server Telnet (telnetd in Unix)offre un accesso, a linea dicomandi, al sistema operativo delcalcolatore su cui è attivo sullaporta 23.

    Da RFC 0854:

    “Lo scopo del protocolloTELNET è di fornire un metodogenerale per un servizio dicomunicazione bi-direzionale,per caratteri da 8 bit.

    Lo scopo primario [1983] è diavere un metodo standard percollegare uno all’altro terminalifisici e processi orientati aiterminali .”

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 29

    Telnet

    Processo cheinvoca ilClient Telnet

    Processo conServer Telnet

    Pseudo-terminaleSistema Operativo

    Nodo 2Nodo 1

    TCP

    IP

    Data Link

    TCP

    IP

    Data Link

    Porta23

    terminale delSistema Operativocollegato con linea seriale

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 30

    Telnet

    Il trasferimento dei dati dal client al server avviene dopouna fase di handshaking iniziale con la negoziazioni diopzioni.

    Durante la connessione possono essere inviati comandi(intercettati dal protocollo) contemporaneamente al flussodi dati.

    Viene creto un netork virtual terminal (NVT) che èlogicamente composto da una stampante e da una tastiera.I caratteri sono inviati dalla tastiera, che li invia anche allastampante locale se si desidera l’eco. Non ci si aspettainfatti che l’eco debba attraversare la rete.

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 31

    ASCII

    American Standard Code for Information Interchange i è unostandard di valori a 7 bit per caratteri alfanumerici e caratteridi controllo (da 0 a 32 decimale).

    0 1 2 3 4 5 6 7 8 9 A B C D E F0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US2 SP ! # $ % & ' ( ) * + , - . /3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?4 @ A B C D E F G H I J K L M N O5 P Q R S T U V W X Y Z [ \ ] ^ _6 ` a b c d e f g h i j k l m n o7 p q r s t u v w x y z { | } ~ DEL

    ctrl^h = backspace, control^i = tab, ctrl^j = line feed,ctrl^l = form feed, ctrl^m = carriage return

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 32

    Telnet

    Il protocollo Telnet è stato molto usato fino a pochi anni fa,ma ha lo svantaggio di trasmettere le informazioni inchiaro, non criptate.

    Per esempio, all’atto dell’autenticazione per il collegamentoad un nodo remoto, telnet trasmette la coppia username epassword in chiaro, rendendole disponibili ad un eventuale“ascoltatore” dei pacchetti.

    Oggi è sostituito dal protocollo SSH (Secure Shell), piùcomplesso e che crea un canale completamente criptato fraclient e server.

  • M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap 2-1 pag. 33