2 Suite Standard

24
1 PARTE 2 SUITE STANDARD Modulo 1: Stack di protocolli standard Parte 2

description

 

Transcript of 2 Suite Standard

Page 1: 2 Suite Standard

1

PARTE 2

SUITE STANDARD

Modulo 1:Stack di protocolli standard

Parte 2

Page 2: 2 Suite Standard

2

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.3

Comunicazione e standard

• La comunicazione tra nodi differenti e, possibilmente, basati su piattaforme hardware e/o software eterogenee necessita di STANDARD

• L’informatica, da sempre, conosce due modi per arrivare ad uno standard– STANDARD de iure– STANDARD de facto

• Gli standard di comunicazioni tra calcolatori offrono un esempio “storico”

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.4

Due standard in concorrenza

ISO/OSI TCP/IP(de iure) (de facto)

Page 3: 2 Suite Standard

3

Modulo 1a:Stack ISO/OSI

Parte 2

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.6

Il caso dello “standard de iure” ISO/OSI

• L’organizzazione ISO (International StandardOrganization) ha definito le specifiche di quelloche sarebbe dovuto diventare lo standard diprotocolli per l’interconnessione di nodieterogenei: OSI (Open System Interconnection)

Page 4: 2 Suite Standard

4

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.7

Funzionalità del modello ISO/OSI1) Protocolli di comunicazione (network level): riguardano la

comunicazione di messaggi tra nodi della rete, in modo danascondere le caratteristiche dei mezzi fisici di trasmissione allefunzionalità di elaborazione

2) Protocolli di elaborazione (application level): insieme dimeccanismi per il controllo delle applicazioni

Funzioni di elaborazione

Protocolli di elaborazione

Funzioni di comunicazione

Protocolli di comunicazione

Funzioni di elaborazione

Funzioni di comunicazione

interfaccia interfaccia

Rete di comunicazione

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.8

I 7 livelli dello stack ISO/OSI

Session

Physical

Data link

Network

Transport

Application

Presentation

7 livelli

Page 5: 2 Suite Standard

5

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.9

I 7 livelli del modello ISO/OSI

processo

strato di applicazione

strato di trasportostrato di retestrato di collegamento

strato di sessionestrato di presentazione

strato fisico

processo

strato di applicazione

strato di trasportostrato di retestrato di collegamento

strato di sessionestrato di presentazione

strato fisico

Host A Host B

Nodo all’internodella reteComunicazione logica

Comunicazione fisica

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.10

Livelli ISO/OSI• Livello fisico (1): Gestisce i particolari meccanici ed elettrici della

trasmissione fisica di un flusso di bit

• Livello di collegamento dati (2): Gestisce i frame o i pacchettitrasformando la semplice trasmissione in una linea di comunicazionepriva di errori non rilevati.– Gestisce l’accesso e l’uso dei canali fisici, gestisce il formato dei messaggi

suddividendo (ove necessario) i dati in frame.– Gestisce la corretta sequenza dei dati trasmessi, comprendente l’uso di

codifiche ridondanti (ad es., bit di parità) per l’individuazione e lacorrezione di errori che si sono verificati nello strato fisico, e la confermadell’avvenuta ricezione

• Livello di rete (3): Fornisce i collegamenti e l’instradamento deipacchetti nella rete, comprese la gestione dell’indirizzo dei pacchetti inuscita, la decodifica dell’indirizzo dei pacchetti in ingresso e lagestione delle informazioni di instradamento (ad es., router)

Page 6: 2 Suite Standard

6

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.11

Livelli ISO/OSI (cont.)• Livello di trasporto (4): Effettua il controllo end-to-end della sessione

di comunicazione (accesso alla rete da parte del client e trasferimentodei messaggi tra i client) e garantisce l’affidabilità del trasporto

• Livello di sessione (5): Consente a utenti su macchine eterogenee distabilire sessioni, implementando funzioni di coordinamento,sincronizzazione e mantenimento dello stato (di sessione)

• Livello di presentazione (6): Risolve le differenze di formato chepossono presentarsi tra diversi nodi della rete (ad es., conversione tracaratteri ASCII, Unicode, EBCDC, conversione di codifica tra little- ebig-endian), ma gestisce anche la compressione dei dati, la sicurezzae l’autenticità dei messaggi attraverso tecniche di crittografia

• Livello di applicazione (7): Fornisce un’interfaccia standard per iprogrammi applicativi che utilizzano la rete, mascherando lepeculiarità e la complessità del sistema sottostante

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.12

Formato del messaggio inviato• Messaggio (PDU) composto da intestazione (header) e dati• Ogni livello aggiunge una propria intestazione

Dati

Intestazione del livello applicazioniIntestazione del livello presentazione

Intestazione del livello sessioneIntestazione del livello trasporto

Intestazione del livello rete

Intestazione del livello collegamento dati

Insieme di bit inviati sulla rete

Page 7: 2 Suite Standard

7

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.13

Comunicazione nel Modello ISO/OSI

Application

Presentation

Session

Transport

Network

Data link

Physical

Messaggio inviato Messaggio ricevuto

Mittente Destinatario

Livelli

Rete di comunicazione

Ma l’ISO/OSI non è riuscito ad affermarsi perchénel frattempo stava esplodendo ………

Modulo 1b:Stack TCP/IP

(“Protocolli di Internet”)

Parte 2

Page 8: 2 Suite Standard

8

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.15

I livelli dei due Protocol Stack

Session

Physical

Data link

Network

Transport

Application

Presentation

Host-to-network

Internet

Transport

ApplicationISO/OSI TCP/IP

75

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.16

CriticheAl modello ISO/OSI

• Cattiva tempistica

• Cattiva tecnologia– Influenzato dal modello IBM-SNA– Ridondanze

• Cattiva implementazione– Complessità– Eccessivi 7 livelli per la

tecnologia (reti-computer) del tempo

• Pessima politica– Modello imposto contro il libero

TCP/IP legato a Unix

Al modello TCP/IP

• Poco generale

• Meno concettuale e più orientato al funzionamento

• Livelli host-to-network confusi e interdipendenti

• Protocolli sviluppati ad hoc invece che protocolli generali

Page 9: 2 Suite Standard

9

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.17

Altro motivo del successo di TCP/IP

• Disponibilità di una buona implementazione dello stack in versione open source a metà degli anni ’80 su BSD Unix

• Disponibilità di un buon insieme di API (BSD socket API) per sviluppare applicazioni di rete: non perfette, ma funzionanti

• Al contrario,– il comitato ISO/OSI definì le specifiche dello stack – le implementazioni funzionanti delle specifiche ISO/OSI

erano molto in ritardo rispetto a quelle già disponibili TCP/IP

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.18

Due standard non più in concorrenza

ISO/OSI TCP/IP(de iure) (de facto)

Page 10: 2 Suite Standard

10

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.19

Internet: Cosa non è ...

• Non è una singola rete, ma un insieme di reti esteso in tutto il mondo

• Non è governata da un gruppo né da un ente né da un’unica azienda

• Non è gestita in modo centralizzato perché tutte le singole sottoreti che compongono Internet hanno una gestione autonoma

E soprattutto: Non è sinonimo di World Wide Web

Modulo 2:Un po’ di storia di Internet

Parte 2

Page 11: 2 Suite Standard

11

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.21

Internet: storia e leggenda

• La leggendaUn progetto finanziato dal Ministero della Difesa USA con lo scopo di realizzare una rete in grado di comunicare anche in seguito ad attacchi nucleari

• La realtà– Finanziata dal Ministero della Difesa USA– Motivazione: successi spaziali dell’URSS– Obiettivo: consentire l’accesso alle poche risorse di

calcolo potenti (e costose) da vari centri di ricerca e Università USA

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Anni ’60: la teoria e i primi esperimenti• 1961: Leonard Kleinrock del MIT

pubblica “Information flow in large communication nets” sulla teoria del packet switching

• 1962: J.C.R. Licklider e Wesley Clark del MIT pubblicano “On-line man computer communication” che rappresenta il primo articolo sul concetto di Internet

• 1962-1964: J.C.R. Licklider è il primo direttore dell’ufficio IPT dell’ Arpa e scrive diversi articoli sul concetto di “galactic network”

• 1964: Leonard Kleinrock descrive il funzionamento di una rete basata sul packet switching nel libro “Communication net”, ma non incontra il favore dei principali esperti dell’epoca, che considerano una tale rete irrealizzabile

• 1965: Larry Roberts e Thomas Marrill effettuano il primo collegamento dati fra Massachussets e Santa Monica in California:

– Prima volta che due computer si scambiano informazioni

– Primo utilizzo dei "packets“– Risultati sorprendenti: il collegamento

a commutazione di circuito era inaffidabile, mentre le teorie di Kleinrock sul “packet switching" funzionavano

• 1966: Roberts e Marrill pubblicano i risultati in “Toward a cooperative network of time-shared computers”, dove viene utilizzato per la prima volta il termine protocollo

• 1966: Robert Taylor diventa il terzo direttore dell'ufficio IPT dell’Arpa ed assume Larry Roberts per portare avanti il progetto Arpanet. Charlie Hertzfeld, direttore dell’agenzia Arpa, stanzia 1 milione di dollari per il progetto ARPAnet

4.22

Page 12: 2 Suite Standard

12

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Internet 1967-1972: gli albori• 1967: Wesley Clark suggerisce di

utilizzare una sottorete di minicomputer, tutti uguali, dedicata esclusivamente alla ricezione e trasmissione dei dati. Suggerisce di chiamare questi computer IMP (Interface Message Processors). Questa idea consente di evitare i problemi hw/sw causati dalla diversità ed incompatibilità dei computer dell’epoca

• 1967: Larry Roberts presenta il primo disegno di Arpanet e rilascia la Request For Proposals“ (RFP) per la realizzazione degli IMP della rete Arpanet che viene inviata a 140 società

• 1968: La società BBN vince la gara per la realizzazione degli IMP (Honeywell con 12 Kbyte di memoria)

• 1969: Bob Kahn scrive “host to imp specification 1822” che descrivono le interfacce tra gli host della rete Arpanet e gli IMP. Gli IMP devono essere collegati ai computer attraverso questa interfaccia che deve essere riscritta e costruita per ogni singolo computer collegato

• 1969 (apr.): Steve Crocker scrive il Request For Comment (RFC) #1che tratta l’host-to-host protocol

• 1969 (sett.): Installato il primo nodo della rete Arpanet, presso UCLA: si collega ad un computer Sigma 7

4.23

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

I primi nodi di Arpanet (1969)• 1969 (ott.): Nasce il secondo nodo

della rete Arpanet presso lo Stanford Research Institute (SRI) di Doug Engelbart dove si riesce a collegare il computer Sds 940 all’IMP. Il primo messaggio della rete Arpanet passa questo giorno

• 1969 (nov.): Viene installato il terzo nodo della rete Arpanet presso l’Università di Santa Barbara (UCSB). La rete assume una “topologia ridondante”

• 1969 (dic.): Viene installato il quarto nodo della rete Arpanet presso l’Università dello Utah

4.24

Page 13: 2 Suite Standard

13

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Internet 1972-1980: la ricerca• 1972:

– ARPAnet viene presentata pubblicamente– NCP (Network Control Protocol): primo

protocollo host-to-host– primo programma di posta elettronica– ARPAnet ha 15 nodi (ovvero collega 15

host)• 1973: Nella tesi di PhD, Metcalfe propone il

protocollo e architettura per reti locali Ethernet• 1974: Cerf e Kahn definiscono i principî che

tuttora regolano l’architettura di Internet (autonomia, minimalismo, best effort service model, controllo distribuito, router senza stato)

• fine anni ’70: architetture di rete proprietarie:DECnet (Digital), SNA (IBM), XNA

• 1979: ARPAnet collega 200 nodi

schema originale

4.25

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

“Slogan” per il progetto ARPAnet• “Perfection is achieved not when there is no longer

anything to add, but when there is no longer anything to take away” [Antoine de Saint-Exupery]

• “The simplest explanation is the best” [Occam’s razor]

• “Be liberal in what you accept, and conservative in what you send” [Jon Postel]

• “In allocating resources, strive to avoid a disaster rather than to achieve an optimum” [Butler Lampson]

4.26

Page 14: 2 Suite Standard

14

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Alcuni “padri” di Internet

Bob Metcalfe

4.27

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Internet 1980-1990: la maturità

• 1983: protocollo TCP/IP

• 1982: protocollo SMTP per e-mail

• 1983: sistema DNS distribuito per la traduzione da hostname a indirizzo IP

• 1985: protocollo FTP

• 1988: controllo di congestione del TCP

• 1989: nuove reti nazionali: Csnet, BITnet, NSFnet, Minitel

• 1990: 100.000 nodi sono connessi a reti confederate

4.28

Page 15: 2 Suite Standard

15

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Suite di protocolli Internet (TCP/IP)

• Applicativo: supporta le applicazionidi rete: FTP, HTTP, SMTP, ...

• Trasporto: supporta i trasferimentida host a host: TCP, UDP

• Rete: trasferisce i pacchetti dalnodo mittente al destinatario: IP

• Link: effettua i trasferimenti dei datitra componenti della rete confinanti:PPP, Ethernet, …

• Fisico: trasferisce bit “sul cavo”

OSI

7

4

3

2

1

applicativo

trasporto

rete

link

fisico

Internet

Host-to-Network(H2N)

4.29

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Internet 1990-2000: l’esplosione• Inizi ’90: si dismette

ARPAnet• 1991: NSF rimuove le

restrizioni sull’uso commerciale di NSFnet (dismessa poi nel 1995)

• Inizi ’90: nascita del WWW– Ipertesti [Bush 1945, Nelson

1960’s]– HTML, http: Berners-Lee– 1994: Mosaic, poi Netscape,

ed Explorer, poi Firefox– fine anni ’90:

commercializzazione delWWW

Inizi anni 2000:• circa 100 milioni di host

connessi ad Internet• più di 300 milioni di utenti• le dorsali di Internet

(backbone) hanno capacità di trasferimento di 1 Gbps

Oggi

• più di 500 milioni di host connessi ad Internet

• host sempre più eterogenei• oltre 1 miliardo di utenti

4.30

Page 16: 2 Suite Standard

16

Modulo 3:Internet: principi di

funzionamento

Parte 2

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.32

Obiettivi progettuali di Internet

• Architettura– Connettere diversi host e diverse reti

• Tecniche di trasmissione– Store-and-forward– Packet switching

Page 17: 2 Suite Standard

17

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.33

Comunicazione in Internet [vista 1]

Rete WAN(Network provider)

LAN

LAN

LAN

LAN

Host A

Host B

trasmissionelogica

Logicamente comunicano i due host terminali

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.34

Architettura Internet

Rete WAN(Network provider)

LANLAN

LAN

LAN

In realtà, Internet consiste in milioni di host (computer, PDA, TV,…), di dispositivi che instradano i messaggi (router) e di linkdi comunicazione (cavi, fibra ottica, satellitari,…)

Host A

Host B

Page 18: 2 Suite Standard

18

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.35

Comunicazione in Internet [vista 2]

Rete WAN(Network provider)

Rete WAN(Network provider)

Rete WAN(Network provider)

LANLAN

LAN

LAN

Quindi, in realtà il messaggio deve attraversarevari nodi intermedi (router) con un meccanismodi store and forward

Host A

Host B

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.36

Application

Transport

Network

Host-to-net

Application

Transport

Network

Host-to-net

IP

Host-to-network

IP

Host-to-network

rete 1 rete 3. . .

Router

Host A Host B

Comunicazioni in Internet [vista 3]

Router

In ciascun nodo, l’informazione attraversa tuttii livelli necessari (5 per host, 3 per router)

Page 19: 2 Suite Standard

19

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Due modalità per trasferire dati

• Circuit switching– Un circuito virtuale dedicato per ogni comunicazione

• Packet switching– I dati sono suddivisi in “parti” ed inviati attraverso la rete

L’idea alla base di Internet

L’idea alla base del sistema telefonico

4.37

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Circuit switching

• Necessità di riservare tutte le risorse (link e switch) end-to-end prima di trasmettere

• Avere risorse dedicate– CONTRO

Non c’è possibilità di condividere le risorse assegnate Necessaria una fase di setup per ogni chiamata

– PRO Prestazioni garantite rispetto alla tipologia di risorse riservate

4.38

Page 20: 2 Suite Standard

20

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP

Packet switching

Ogni comunicazione è suddivisa in pacchetti• I pacchetti condividono le risorse della rete

• Ogni pacchetto utilizza tutta la capacità trasmissiva di un link

• Le risorse sono utilizzate sulla base della necessità e non della prenotazione

Prenotazione delle risorseAssegnamento esclusivo

Divisione della banda in parti

4.39

Modulo 4:Sintesi dello stack TCP/IP

Parte 2

Page 21: 2 Suite Standard

21

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.41

Molti protocolli, ma non a tutti i livelli

IP

ICMP IGMP OSPF RSVP

TCP UDP

BGP FTP HTTP SMTP Telnet SNMP

MIME RSVP=Resource Reservation PBGP = Border Gataway PSNMP=Simple Net. Manag. PSMTP=Simple Mail Tranfer PICMP=Int. Control Message PIGMP=Int. Group Manag. POSPF=Open Shortest Path First

BOOTPDHCP

Host-to-Network

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.42

Progetto Internet “a clessidra”

FTP HTTP IRC RTP

TCP UDP

IP

H2N 1 H2N 2 H2N n

Page 22: 2 Suite Standard

22

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.43

Livello 1-2 (host-to-network)• I primi due livelli (fisico e data link) non sono

separati, nel senso che connessione fisica e protocollo data link sono interdipendenti

• Pertanto, nel caso dello stack TCP/IP è più corretto parlare di un livello host-to-network(h2n) che comprende i primi due livelli

• Esempi di protocolli h2n:– Protocollo per LAN: Ethernet, token-ring– Protocollo per connessioni via modem: PPP– Protocollo per connessioni LAN wireless: 802.11

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.44

Livello 3 (network): Protocollo IP• Protocollo per la consegna dei pacchetti da un

host mittente ad un host destinatario• Servizi aggiuntivi rispetto a h2n

– identificativo univoco di ciascun host (indirizzo IP)– comunicazione logica tra host

• Ma– privo di connessione: ogni pacchetto è trattato in modo

indipendente da tutti gli altri– non affidabile: la consegna non è garantita (i pacchetti possono

essere persi, duplicati, ritardati, o consegnati senza l’ordine di invio)

– consegna con impegno: tentativo di consegnare ogni pacchetto (l’inaffidabilità deriva dalle possibili congestioni della rete o guasti dei nodi/router)

Page 23: 2 Suite Standard

23

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.45

Livello 4 (transport)

• Il livello transport estende il servizio di consegna con impegno proprio del protocollo IP tra due host terminali ad un servizio di consegna a due processi applicativi in esecuzione sugli host

• Servizi aggiuntivi rispetto a IP– multiplazione e demultiplazione messaggi tra processi– rilevamento dell’errore (mediante checksum)

• Esempi di protocolli transport

– UDP (User Datagram Protocol) – TCP (Transmission Control Protocol): offre servizi aggiuntivi

rispetto a UDP

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.46

Livello 4 (transport)[ UDP ]

• Protocollo che fornisce un livello di trasporto dell’informazione connectionless

• Specifica in [RFC 768]

Page 24: 2 Suite Standard

24

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.47

Livello 4 (transport)[ TCP ]

• Protocollo che fornisce un livello di trasporto affidabile e orientato alla connessione

• Servizi aggiuntivi rispetto a UDP– orientato alla connessione: comprende l’instaurazione, l’utilizzo e

la chiusura della connessione– orientato al flusso di dati: considera il flusso di dati dall’host

mittente fino al destinatario ( considera sia rete sia host terminali)– trasferimento con buffer: i dati sono memorizzati in un buffer e poi

inseriti in un pacchetto quando il buffer è pieno– connessione full duplex (bi-direzionale): una volta instaurata una

connessione, è possibile il trasferimento contemporaneo in entrambe le direzioni della connessione

Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.48

Livello 5 (application)• Il livello application utilizza il livello di trasporto

dell’informazione tra processi in esecuzione su host terminali per realizzare applicazioni di rete

• Esempi protocolli applicativi– ftp– telnet– http– smtp– irc– …

NOTA: Applicazioni di reteprotocolli applicativi