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