3 OSI-TCP
Transcript
3 OSI-TCP
Formal Framework: Protocols Aspetti introduttivi ! Building blocks of a network architecture ! Each protocol object has two different interfaces OSI vs TCP / IP " " service interface: defines operations on this protocol peer-to-peer interface: defines messages exchanged with peer Li+1 Francesco Dalla Libera Li+1 service interface a.a. 2006 - 2007 Li ! insieme di operazioni primitive che un livello offre al livello superiore. Come tali operazioni siano implementate non riguarda il livello superiore. Protocollo: insieme di regole che governano il formato ed il significato delle informazioni che le peer entity si scambiano fra loro. Le entità entità usano i protocolli per implementare i propri servizi Li il mondo degli standard Servizi vs protocolli Servizio: peer interface standard de jure " ! those ratified by recognised international standards bodies such as the ISO and IEEE. Ethernet is an example of a de jure standard. They are usually given an identification number of some kind for easy and precise reference. In the case of Ethernet this is 802.3, one of the most familiar numbers in IT. standard de facto " those used by the vast majority of the market, but which aren’ aren’t necessarily open or based on any de jure standards. Microsoft Office is an example of a de facto (not open) standard. TCP/IP is an open standard. La realtà realtà nel mondo delle reti ! OSI Reference Model; ! Internet Protocol Suite (detta anche architettura TCP/IP o, piuttosto impropriamente, TCP/IP reference model). ISO OSI reference model ! " " ! ! Un modello di riferimento è cosa diversa da un'architettura di rete: " Modello di riferimento definisce il numero, le relazioni e le caratteristiche funzionali dei livelli, ma non definisce i protocolli effettivi " Architettura di rete definisce, livello per livello, i protocolli effettivi Open Systems (Sistemi Aperti) definizione IEEE Si chiamano protocolli open quelli per i quali: L!International Organization for Standards (ISO) definisce gli standard di interconnessione " interfacce, servizi e formati di supporto per garantire l!l!interoperabilità interoperabilità e la portabilità portabilità di applicazioni, dati e persone.” persone.” open system interconnect (OSI) ISO OSI ! Reference model ! Service architecture ! Protocol architecture " “Un ambiente di sistemi aperti è costituito da un insieme completo e coerente di standard internazionali per l!l!Information Technology, che specificano i dettagli sono in dominio pubblico i cambiamenti sono gestiti da un! un!organizzazione aperta a tutti " " definizione formale di quello che significa layer, service, ecc. descrive i servizi forniti da ciascun layer e da ciascun SAP l!insieme di protocolli che implementano un service architecture serie “X.” X.”: X.25, X.400, X.500 I famosi sette layer Physical layer ! Obiettivo: spostare bit tra sistemi connessi pt2pt da un canale fisico di comunicazione ! Astrazione del canale: digital bit pipe ! Gli standard fissano: " " " ! Rete postale " ! ! Obiettivo: canale pt2pt error-free ! Introduce il concetto di frame " Idle markers indicano se c!è c!è o meno un frame ! Begin e end markers delimitano un frame ! Nel caso di un link di broadcast, es. Ethernet: " " ! il sistema ricevente deve ricevere solo i bit a lui destinati # questa funzione richiede un datalink-layer address bisogna anche decidere chi ha l!l!uso del mezzo trasmissivo # queste funzioni sono fornite dal Medium Access sublayer (MAC) Alcuni link ritrasmettono pacchetti in errore, altri non lo fanno " logical link control sublayer layered su MAC sublayer la tecnologia per muovere bit su un filo elettrico, su una fibra ottica, per mezzo di un satellite, ecc. Network layer ! Concatena logicamente un insieme di link (implementati con il datalink layer) per creare l!astrazione di un end-to-end link (da estremo a estremo). estremo). ! Permette la comunicazione tra “end-system” end-system” calcolando il percorso (route) ! Gestisce indirizzi di rete univoci ! è usato sia negli end-system che nei sistemi intermedi ! Nasconde i dettagli del datalink (negli end-system) “struttura di bit” bit” ! la tecnologia per sposare le lettere da un punto a un! un!altro (treni, aeroplani, ecc.) Internet " Datalink layer la codifica per rappresentare un bit le caratteristiche fisiche dei connettori la sincronizzazione a livello di bit " " segmentazione e riassemblaggio error detection Network layer (cont.) ! Nei sistemi intermedi: " " " " due tipi ! Nelle reti datagram ! Nelle reti connection-oriented " gestisce separatamente # il forwarding dei dati (data plane) # il routing, la creazione e distruzione della connessione (control plane) senza toccare i dati Multiplexa molte applicazioni sulla stessa connessone endto-end " ! Mentre il network layer fornisce un servizio end-to-end di base il transport layer fornisce l!astrazione di un error-controlled, flow-controlled and multiplexed end-to-end link tra processi " gestisce insieme il routing e il forwarding Transport layer (cont.) ! ! partecipa al routing e crea le tabelle di routing è responsabile del forwarding dei pacchetti gestisce l!l!ordine di spedizione dei pacchetti decide l!l!eventuale cancellazione di un pacchetto ! " Transport layer gestisce una serie di identificatori specifici di ogni applicazione (port number) in modo che il peer di ricezione possa demultiplexare un messaggio all! all!applicazione corretta ! un messaggio arriva a destinazione correttamente malgrado perdite di pacchetti, pacchetti in errore e duplicazione # ritrasmette i pacchetti persi; # detect, discard, and retransmit corrupted packets; # detect and discard duplicated packets Flow control " controlla la velocità velocità di trasporto limitandola a quanto permesso dalla linea di trasmissione e dal ricevitore Session layer ! Poco usato (non c!è c!è “chiaramente” chiaramente” nello stack TCP/IP) ! Ad esempio fornisce: ! Trasmissione duplex " Non tutti i transport layer hanno queste caratteristiche " " e.g. semplice error detection, niente flow control, e nessuna ritrasmissione lightweight transport layer ! Spedizione ad alta priorità priorità " ! se il transport layer fornisce solo una connessione simplex, concatena due connessioni per fare una connessione duplex gestisce più più di un transport layer sul quale indirizza flussi di priorità priorità diversa Synchronization " permette ad un utente di fare un “rollback” rollback” a un punto prefissato della comunicazione (ad esempio per fare una trasmissione “atomica” atomica”) Presentation layer Application layer ! Questo layer gestisce dati ! Le applicazioni che usano la rete ! Nasconde le differenze tra diverse rappresentazioni dei dati ! Solitamente non fornisce un servizio ad altri layer ! Rete postale ! Internet " e.g. endian-ness # big endian: the most significant byte has the lowest address (the word is stored `big-end-first') # little endian: bytes at lower addresses have lower significance (the word is stored `little-end-first" `little-end-first") ! Può Può crittografare ! Rete postale " ! " " la persona che usa la rete postale file transfer, web, email, ecc. un traduttore che in una ditta traduce una lettera prima di passarla al destinatario Internet " " " implementato nelle applicazioni se necessario però però il “network byte order” order” per 2- e 4-byte integers è fissato (ma deve essere gestito dall! dall!applicazione) the first transmitted data is the most significant byte Perchè Perchè 7 layer? ! astrazione dei servizi per livello è necessario un layer a ciascun estremo dello stack -- 2 " " uno per nascondere la componente fisica della trasmissione uno per dare all! all!utente una visione di alto livello digital bit pipe punto-punto Fisico ! il datalink è necessario per “nascondere” nascondere” il layer fisico (che può può variare) -- 3 canale punto-punto error-free DataLink ! Routing richiede un layer hop-to-hop mentre altre funzioni come flow control richiedono un layer end-to-end -- 4 o 5 canale end-to-end tra macchine Network ! Quindi ce ne vogliono almeno 5 canale end-to-end tra processi, error-controlled, Transport flow-controlled, multiplexed sessioni di lavoro Session strutture dati complesse ( con compressione, crittografia, ... ) Presentation canale “tipato” tipato” Application OSI vs TCP/IP