2 Suite Standard

1,123 views

Published on

1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
1,123
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
29
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

2 Suite Standard

  1. 1. PARTE 2 SUITE STANDARD Parte 2 Modulo 1: Stack di protocolli standard 1
  2. 2. 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.3 Due standard in concorrenza ISO/OSI TCP/IP (de iure) (de facto) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.4 2
  3. 3. Parte 2 Modulo 1a: Stack ISO/OSI Il caso dello “standard de iure” ISO/OSI • L’organizzazione ISO (International Standard Organization) ha definito le specifiche di quello che sarebbe dovuto diventare lo standard di protocolli per l’interconnessione di nodi eterogenei: OSI (Open System Interconnection) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.6 3
  4. 4. Funzionalità del modello ISO/OSI 1) Protocolli di comunicazione (network level): riguardano la comunicazione di messaggi tra nodi della rete, in modo da nascondere le caratteristiche dei mezzi fisici di trasmissione alle funzionalità di elaborazione 2) Protocolli di elaborazione (application level): insieme di meccanismi per il controllo delle applicazioni Protocolli di Funzioni di elaborazione Funzioni di elaborazione elaborazione interfaccia Protocolli di interfaccia Funzioni di comunicazione Funzioni di comunicazione comunicazione Rete di comunicazione Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.7 I 7 livelli dello stack ISO/OSI Application Presentation Session  7 livelli Transport Network Data link Physical Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.8 4
  5. 5. I 7 livelli del modello ISO/OSI Host A Host B processo processo strato di applicazione strato di applicazione strato di presentazione strato di presentazione strato di sessione strato di sessione strato di trasporto strato di trasporto strato di rete strato di rete strato di collegamento strato di collegamento strato fisico strato fisico Nodo all’interno della rete Comunicazione logica Comunicazione fisica Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.9 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 pacchetti trasformando la semplice trasmissione in una linea di comunicazione priva 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 la correzione di errori che si sono verificati nello strato fisico, e la conferma dell’avvenuta ricezione • Livello di rete (3): Fornisce i collegamenti e l’instradamento dei pacchetti nella rete, comprese la gestione dell’indirizzo dei pacchetti in uscita, la decodifica dell’indirizzo dei pacchetti in ingresso e la gestione delle informazioni di instradamento (ad es., router) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.10 5
  6. 6. 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 trasferimento dei messaggi tra i client) e garantisce l’affidabilità del trasporto • Livello di sessione (5): Consente a utenti su macchine eterogenee di stabilire sessioni, implementando funzioni di coordinamento, sincronizzazione e mantenimento dello stato (di sessione) • Livello di presentazione (6): Risolve le differenze di formato che possono presentarsi tra diversi nodi della rete (ad es., conversione tra caratteri ASCII, Unicode, EBCDC, conversione di codifica tra little- e big-endian), ma gestisce anche la compressione dei dati, la sicurezza e l’autenticità dei messaggi attraverso tecniche di crittografia • Livello di applicazione (7): Fornisce un’interfaccia standard per i programmi applicativi che utilizzano la rete, mascherando le peculiarità e la complessità del sistema sottostante Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.11 Formato del messaggio inviato • Messaggio (PDU) composto da intestazione (header) e dati • Ogni livello aggiunge una propria intestazione Intestazione del livello collegamento dati Intestazione del livello rete Intestazione del livello trasporto Intestazione del livello sessione Intestazione del livello presentazione Intestazione del livello applicazioni Dati Insieme di bit inviati sulla rete Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.12 6
  7. 7. Comunicazione nel Modello ISO/OSI Messaggio inviato Messaggio ricevuto Livelli Application Presentation Session Transport Network Data link Physical Mittente Rete di comunicazione Destinatario Ma l’ISO/OSI non è riuscito ad affermarsi perché nel frattempo stava esplodendo ……… Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.13 Parte 2 Modulo 1b: Stack TCP/IP (“Protocolli di Internet”) 7
  8. 8. I livelli dei due Protocol Stack ISO/OSI TCP/IP Application Application Presentation Session 7 Transport 5 Transport Network Internet Data link Host-to- Physical network Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.15 Critiche Al modello ISO/OSI Al modello TCP/IP • Cattiva tempistica • Poco generale • Cattiva tecnologia • Meno concettuale e più – Influenzato dal modello IBM-SNA orientato al funzionamento – Ridondanze • Livelli host-to-network • Cattiva implementazione confusi e interdipendenti – Complessità – Eccessivi 7 livelli per la • Protocolli sviluppati ad hoc tecnologia (reti-computer) del invece che protocolli generali tempo • Pessima politica – Modello imposto contro il libero TCP/IP legato a Unix Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.16 8
  9. 9. 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.17 Due standard non più in concorrenza ISO/OSI TCP/IP (de iure) (de facto) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 1.18 9
  10. 10. 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 Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.19 Parte 2 Modulo 2: Un po’ di storia di Internet 10
  11. 11. Internet: storia e leggenda • La leggenda Un 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 2.21 Anni ’60: la teoria e i primi esperimenti • 1961: Leonard Kleinrock del MIT • 1965: Larry Roberts e Thomas Marrill pubblica “Information flow in large effettuano il primo collegamento dati communication nets” sulla teoria del fra Massachussets e Santa Monica in packet switching California: – Prima volta che due computer si • 1962: J.C.R. Licklider e Wesley Clark scambiano informazioni del MIT pubblicano “On-line man – Primo utilizzo dei "packets“ computer communication” che – Risultati sorprendenti: il collegamento rappresenta il primo articolo sul a commutazione di circuito era concetto di Internet inaffidabile, mentre le teorie di Kleinrock sul “packet switching" • 1962-1964: J.C.R. Licklider è il primo funzionavano direttore dell’ufficio IPT dell’ Arpa e • 1966: Roberts e Marrill pubblicano i scrive diversi articoli sul concetto di risultati in “Toward a cooperative “galactic network” network of time-shared computers”, • 1964: Leonard Kleinrock descrive il dove viene utilizzato per la prima volta il termine protocollo funzionamento di una rete basata sul packet switching nel libro • 1966: Robert Taylor diventa il terzo direttore dell'ufficio IPT dell’Arpa ed “Communication net”, ma non incontra il assume Larry Roberts per portare favore dei principali esperti dell’epoca, avanti il progetto Arpanet. Charlie che considerano una tale rete Hertzfeld, direttore dell’agenzia irrealizzabile Arpa, stanzia 1 milione di dollari per il progetto ARPAnet Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.22 11
  12. 12. Internet 1967-1972: gli albori • 1967: Wesley Clark suggerisce di • 1969: Bob Kahn scrive “host to imp utilizzare una sottorete di minicomputer, specification 1822” che descrivono tutti uguali, dedicata esclusivamente alla le interfacce tra gli host della rete ricezione e trasmissione dei dati. Arpanet e gli IMP. Gli IMP devono Suggerisce di chiamare questi computer essere collegati ai computer IMP (Interface Message Processors). attraverso questa interfaccia che Questa idea consente di evitare i problemi hw/sw causati dalla diversità deve essere riscritta e costruita per ed incompatibilità dei computer ogni singolo computer collegato dell’epoca • 1969 (apr.): Steve Crocker scrive il • 1967: Larry Roberts presenta il primo Request For Comment (RFC) #1 disegno di Arpanet e rilascia la Request che tratta l’host-to-host protocol For Proposals“ (RFP) per la • 1969 (sett.): Installato il primo nodo realizzazione degli IMP della rete della rete Arpanet, presso UCLA: si Arpanet che viene inviata a 140 società collega ad un computer Sigma 7 • 1968: La società BBN vince la gara per la realizzazione degli IMP (Honeywell con 12 Kbyte di memoria) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.23 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 Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.24 12
  13. 13. 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 schema originale • 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 Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.25 “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] Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.26 13
  14. 14. Alcuni “padri” di Internet Bob Metcalfe Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.27 Internet 1980-1990: la maturità • 1983: protocollo TCP/IP • 1989: nuove reti nazionali: • 1982: protocollo SMTP per Csnet, BITnet, NSFnet, e-mail Minitel • 1983: sistema DNS • 1990: 100.000 nodi sono distribuito per la traduzione connessi a reti da hostname a indirizzo IP confederate • 1985: protocollo FTP • 1988: controllo di congestione del TCP Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.28 14
  15. 15. Suite di protocolli Internet (TCP/IP) • Applicativo: supporta le applicazioni di rete: FTP, HTTP, SMTP, ... Internet OSI • Trasporto: supporta i trasferimenti applicativo 7 da host a host: TCP, UDP trasporto 4 • Rete: trasferisce i pacchetti dal nodo mittente al destinatario: IP rete 3 • Link: effettua i trasferimenti dei dati link 2 tra componenti della rete confinanti: PPP, Ethernet, … fisico 1 • Fisico: trasferisce bit “sul cavo” Host-to-Network (H2N) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.29 Internet 1990-2000: l’esplosione • Inizi ’90: si dismette Inizi anni 2000: ARPAnet • circa 100 milioni di host • 1991: NSF rimuove le connessi ad Internet restrizioni sull’uso • più di 300 milioni di utenti commerciale di NSFnet • le dorsali di Internet (dismessa poi nel 1995) (backbone) hanno capacità di • Inizi ’90: nascita del WWW trasferimento di 1 Gbps – Ipertesti [Bush 1945, Nelson 1960’s] – HTML, http: Berners-Lee Oggi – 1994: Mosaic, poi Netscape, ed Explorer, poi Firefox • più di 500 milioni di host – fine anni ’90: connessi ad Internet commercializzazione del • host sempre più eterogenei WWW • oltre 1 miliardo di utenti Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.30 15
  16. 16. Parte 2 Modulo 3: Internet: principi di funzionamento Obiettivi progettuali di Internet • Architettura – Connettere diversi host e diverse reti • Tecniche di trasmissione – Store-and-forward – Packet switching Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.32 16
  17. 17. Comunicazione in Internet [vista 1] Logicamente comunicano i due host terminali LAN LAN LAN Rete WAN Host A (Network provider) trasmissione logica LAN Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP Host B 2.33 Architettura Internet In realtà, Internet consiste in milioni di host (computer, PDA, TV,…), di dispositivi che instradano i messaggi (router) e di link di comunicazione (cavi, fibra ottica, satellitari,…) LAN LAN LAN Host A Rete WAN (Network provider) Host B LAN Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.34 17
  18. 18. Comunicazione in Internet [vista 2] Quindi, in realtà il messaggio deve attraversare vari nodi intermedi (router) con un meccanismo di store and forward LAN LAN LAN Host A Rete WAN Rete WAN (Network provider) (Network provider) Rete WAN (Network provider) Host B LAN Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.35 Comunicazioni in Internet [vista 3] In ciascun nodo, l’informazione attraversa tutti i livelli necessari (5 per host, 3 per router) Host A Host B Application Router Router Application Transport Transport IP IP Network Host-to- Host-to- Network network network Host-to-net Host-to-net rete 1 ... rete 3 Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.36 18
  19. 19. Due modalità per trasferire dati • Circuit switching – Un circuito virtuale dedicato per ogni comunicazione  L’idea alla base del sistema telefonico • Packet switching – I dati sono suddivisi in “parti” ed inviati attraverso la rete  L’idea alla base di Internet Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.37 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 Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.38 19
  20. 20. 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 risorse Assegnamento esclusivo Divisione della banda in parti Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 4.39 Parte 2 Modulo 4: Sintesi dello stack TCP/IP 20
  21. 21. Molti protocolli, ma non a tutti i livelli RSVP=Resource Reservation P MIME BGP = Border Gataway P SNMP=Simple Net. Manag. P BOOTP SMTP=Simple Mail Tranfer P BGP FTP HTTP SMTP Telnet SNMP DHCP ICMP=Int. Control Message P IGMP=Int. Group Manag. P OSPF=Open Shortest Path First TCP UDP ICMP IGMP OSPF RSVP IP Host-to-Network Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.41 Progetto Internet “a clessidra” FTP HTTP IRC RTP TCP UDP IP H2N H2N … H2N 1 2 n Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.42 21
  22. 22. 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.43 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) Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.44 22
  23. 23. 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.45 Livello 4 (transport) [ UDP ] • Protocollo che fornisce un livello di trasporto dell’informazione connectionless • Specifica in [RFC 768] Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.46 23
  24. 24. 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.47 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 reteprotocolli applicativi Protocolli e Architetture di Rete 2009/2010 – Protocolli TCP/IP 2.48 24

×