Capitolo 1 - parte 1cmp/CorsoReti/slides05/Cap1-1.pdf · Capitolo 1 - parte 1 Corso Reti ed...

34
Capitolo 1 - parte 1 Corso Reti ed Applicazioni Mauro Campanella Como 2005

Transcript of Capitolo 1 - parte 1cmp/CorsoReti/slides05/Cap1-1.pdf · Capitolo 1 - parte 1 Corso Reti ed...

  • Capitolo 1 - parte 1

    Corso Reti ed ApplicazioniMauro Campanella

    Como 2005

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 2

    Precisazione

    Noi ci occuperemo solo dellatrasmissione di informazione informato digitale.

    Un segnale analogico è basato suuna variazione continua, mentreun segnale digitale può assumeresolo valori discreti di un insiemefinito.

    Ma molto di quanto diremo èapplicabile anche a retianalogiche

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 3

    Elementi della comunicazione

    Salve

    - Sorgente ed una destinazione

    - Mezzo trasmissivo

    - linguaggio comune

    - Sistema di emissione e ricezione compatibili

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 4

    La complessità

    Le reti sono apparentementecomplesse, cioè composte dimolti “mattoni”:

    – linee su mezzi diversi– calcolatori ai bordi– routers “nella” rete– applicazioni– software di trasmissione

    router workstationserver

    portatile

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 5

    Problema

    Come trovare un modo di trovareuna struttura logica in una rete ?

    Come trovare una astrazione che aiuti aprogettare e discutere delle reti ?

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 6

    Un esempio diverso:acquisto e consegna merci fra ditte

    Ufficio Vendite Una serie di passi abbastanzaprecisi e ben distinti, dalmomento dell’ordine almomento in cui la merceviene consegnata.

    Scendiamo ancora più neldettaglio

    Magazzino

    Ditta di trasporti

    Mezzo di Trasporto

    Consegna

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 7

    Acquisto e consegna merci: i dipartimenti

    Ditta di trasporti

    Ufficio Vendite 1

    Magazzino

    Camion

    Ogni “strato” ha un compito precisoe fornisce “un servizio”

    Ha procedure interne che non sononote (ne hanno interesse) agli altristrati

    La comunicazione fra strati avvienesecondo precise regole

    Non avvengono comunicazioni frastrati non contigui (di solito…)

    Ogni strato si affida ai servizi diquello sottostante

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 8

    La sequenza completa è:

    Ditta di trasporti

    Ufficio Vendite 1

    Magazzino

    Camion

    Strade

    Ufficio Acquisti 2

    Camioncino

    Ditta di trasporti 2

    Magazzino 2

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 9

    La struttura logica è orizzontale !

    Ditta di trasporti

    Ufficio Vendite 1

    Magazzino

    Camion

    Strade

    Ufficio Acquisti 2

    Camioncino

    Ditta di trasporti 2

    Magazzino 2

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 10

    La struttura logica

    Ogni strato (layer in inglese) parla solo con lo stratocorrispondente nell’altra ditta, con un linguaggio(protocollo) specifico, che l’altro strato remoto capisceperfettamente.

    Ogni strato si affida ai servizi dei propri strati sottostanti,che a loro volta parlano orizzontalmente con un proprioprotocollo diverso.

    Le due ditte trasporti, per esempio, possono decidere discambiarsi la merce a metà strada, senza neancheconoscere il contenuto dei pacchi, ma conoscendo bene lestrade.

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 11

    Pile di strati o gerarchie di protocolli

    Diamo una definizionepiù precisa di:

    - protocollo- servizio (interfaccia)

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 12

    Protocollo

    Un esempio di protocollo umano ed uno legato a TCP:

    Ciao

    Ciao

    Che ore sonoper favore ?

    le 14:00

    TCP SYN

    SYN ACKACK +

    ACK +

    tempo

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 13

    Protocollo

    Un protocollo definisce il formato e l’ordine di messaggiscambiati tra due o più entità comunicanti e definisce anchele azioni da intraprendere all’atto della ricezione otrasmissione di un messaggio o di un altro evento

    Interfaccia e Servizi

    L’interfaccia specifica quali operazioni primitive e servizi unostrato mette a disposizione. Un servizio è formalmentedefinita come un insieme di primitive (system calls in unsistema operativo)

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 14

    La differenza tra Protocollo e Servizio

    Un servizio equivale alla definizione delle operazioni che unostrato è in grado di compiere per un altro strato, ma nondefinisce come queste operazioni verranno eseguite.

    Il protocollo definisce la realizzazione dei servizi.

    Un protocollo è interno ad uno strato e potrebbe esseremodificato senza che i servizi che lo strato offre cambino esenza che lo strato che li usa se ne accorga

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 15

    Perché usare gli strati ?

    Permette di ridurre la complessità dei sistemi, permettendol’identificazione delle parti e delle relazioni fra di essi.

    Permette di rendere modulare la realizzazione e lamanutenzione del sistema, sganciando le parti unadall’altra.

    Nel caso delle reti, l’insieme degli strati e dei protocolli èl’architettura della rete, mentre l’insieme dei protocolli èdetta la pila dei protocolli della rete

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 16

    Semplicità

    Nella progettazione di una architettura basata su strati èimportante:- definire un numero di strati limitato e ciscun strato deve fornire un “salto” nell’astrazione del servizio- semplificare le interfacce- avere un passaggio minimo di informazione fra gli strati- non mescolarne le funzioni- ogni strato svolge un funzione precisa

    “La perfezione non è quando non c’e più nulla daaggiungere, ma quando non vi è più nulla da togliere”

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 17

    I modelli a strati per le reti

    Vi sono due modelli principali di riferimento perl’architettura di una rete:

    • Il modello ISO/OSI (International Organisationfor Standardisation / Open Systems Interconnection)

    • Internet

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 18

    Il modello OSI

    7 strati, sviluppato dalleditte di telecomunicazione(ITU-T)

    Non definisce i servizi ed iprotocolli, ma solo lefunzioni (lo scopo) di ognistrato

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 19

    Il modello OSI

    Protocolli per scambio di file, login remota, postaelettronica, applicazioni che usano la rete

    Relativo alla sintassi ed alla semantica dell’informazionetrasmessa

    Controlla la creazione delle sessioni fra hosts, la lorosincronizzazione e gestione dell’interazione

    Accetta dati dal livello superiore, eventualmente li riducein pacchetti (con / senza garanzia / “multicast”) e2e

    Smista i pacchetti fino a destinazione

    Fornisce una struttura da una sequenza di bit e negarantisce la consegna. In caso frammenta i pacchetti

    Si occupa solo di come trasmettere segnali in forma disequenza di bit su un mezzo di comunicazione

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 20

    Il modello originale Internet

    application

    transport

    internet

    host tonetwork

    Le applicazioni: login remota (telnet), posta elettronica(smtp), trasferimento di files (ftp), la risoluzione di nomiin indirizzi (DNS), HTTP per trasferimento dati web, ...

    Fornisce il trasporto dei dati. Sono definiti TCP ed UDP

    Internet Protocol (IP) si occupa della consegna deipacchetti (routing)

    Non definito, viene solo richiesto che si occupi dellaspedizione dei pacchetti IP verso il mezzo trasmissivo

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 21

    Il confronto

    Entrambi sono basati su pile di strati e protocolliindipendenti e le funzionalità sono simili nei due modelli.

    In entrambi lo strato di trasporto fornisce un servizio dallasorgente alla destinazione (end to end o e2e in breve),mentre gli altri sono relativi solo al primo tratto delcollegamento.

    OSI ha contribuito a chiarire la distinzione fra protocollo eservizio ed il modello è stato ideato prima della creazionedei protocolli, creando problemi di confronto con la realtà.Inoltre è basato su una visione “telefonica” delle reti.

    Internet ha prima creato i protocolli e quindi il modello, maè semplice !

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 22

    Il modello che useremo

    applicazione

    trasporto

    network

    data link

    fisico

    Unisce i punti forti di entrambi imodelli e si adatta molto benealla comprensione, progettazionee gestione della maggior partedelle reti moderne di trasmissionedati.

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 23

    Esempi:

    applicazione

    trasporto

    network

    data link

    fisico

    HTTP

    TCP

    IP

    Ethernet

    Fibra ottica

    disk sharing

    Appletalk

    Localtalk

    cavo seriale

    Appletalk

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 24

    Applichiamo il modello ad Internet

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    networklink

    physical

    Un sistema altamentodistribuito, fatto di“entità” indipendenti.

    Ogni “entità”implementa le funzionidei vari strati, anchenon tutte.

    Ogni strato scambiamessaggi con lo stratoanalogo di un’altraentità utilizzando unprotocollo.

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 25

    La comunicazione “logica”

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    networklink

    physical

    datiPer esempio lo strato diTrasporto:

    riceve dati daun’applicazione,l’indirizzo di destinazionee forma in “datagramma”da inviare al destinatario.

    Sceglie un trasporto ditipo affidabile, che negarantisca la consegna

    dati

    transport

    transport

    dati

    ack

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 26

    Il percorso fisico dei dati

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    applicationtransportnetwork

    linkphysical

    networklink

    physical

    dati

    dati

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 27

    Gli strati ed i datiOgni strato riceve dei dati da spedire dallo strato adiacente.Aggiunge (toglie) informazione specifica nella forma di un“header” e crea una nuova unità di informazione da trasmettereallo strato successivo (bamboline russe…)

    applicazionetrasporto

    retedata link

    fisico

    applicazionetrasporto

    retedata link

    fisico

    sorgente destinazione

    M

    M

    M

    M

    H tH tH nH tH nH l

    M

    M

    M

    M

    HtHtHnHtHnHl

    messaggio

    segmento

    datagramma

    frame

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 28

    Gli strati ed i dati

    La frammentazione e de-frammentazione sono possibili fra strati

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 29

    Messaggi interi o pacchetti?

    Perché spezzare un blocco di dati in pacchetti ?

    - si trasmette più velocemente il blocco (vedi esercizi nel libro)- in caso di ritrasmissione, se ne ritrasmette solo il frammento andato perso (livello di trasporto)- si possono instradare i pacchetti su strade diverse in caso di emergenza (rete)- si semplifica l’operazione di “store and forward” delle apparecchiature nel cuore della rete (rete e data link)- si garantisce una minor probabilità di errore in trasmissione sull’intero blocco (fisico)

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 30

    Servizi fra strati

    I servizi di inoltro che uno strato può offrire a quello superioresono essenzialmente due:

    - orientato alla connessione, simile al sistema telefonico, in cui prima di far transitare la voce viene creato un canale fra le due entità

    - senza connessione, simile al sistema postale, in cui una lettera viene inviata senza certezza che sia recapitata o del tempo necessario

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 31

    Servizio orientato alla connessione

    Scopo: Trasferire in modoaffidabile dati fra sistemi

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

    - vengono definiti dal protocollo i parametri della connessione se necessario

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

    TCP [RFC 793]fornisce un trasferimento affidabile diuna sequenza (stream) di bytes

    – per eliminare le perdita:acknowledgements eritrasmissioni

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

    la velocità di emissionecontrollo di congestione:

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

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 32

    Servizio senza connessione

    Scopo: trasferire dati fra sistemi

    UDPUser Datagram Protocol [RFC 768]:

    – non stabilisce una connessione(ovviamente)

    – non garantisce il trasferimentosenza perdita di dati

    – non ha controllo di flusso– non ha controllo della

    congestione

    Applicazioni che usano TCP:HTTP (Web), FTP (file transfer),Telnet (terminale alfanumericoremoto), SMTP (e-mail)

    Applicazioni che usano UDP:video e streaming media,teleconferenza, DNS, Voce su IP(Internet telephony)

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 33

    L’indirizzamento fra strati

    Ogni strato deve avere unmeccanismo per identificare(gli strati corrispondenti dei)mittenti e riceventi.

    Dato che una rete è compostada molti nodi, è necessarioavere una forma diindirizzamento. Tale indirizzopuò essere specifico di unsingolo strato e a volte deveessere univoco a livellomondiale.

    Italia

    20133 Milano

    Via Celoria 16I/T/3

    Rossi

    Filippo

    Pianeta Terra...

  • M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap1-2 pag. 34

    Indirizzamento - Esempio

    HTTP

    TCP

    IP

    Ethernet

    Fibra ottica

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

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

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

    Un indirizzo univoco a livello locale per il data link, dettoMAC (per Medium Access Control) nella forma08:00:2B:AF:2C:16 (esadecimale - 6 bytes)

    Nulla, non ha semantica !