Lezione 1 – Introduzione al livello
di rete
Sistemi di elaborazione dell’informazione
Modulo 2 - Protocolli di rete TCP/IP
Unità didattica 1 - Protocolli di rete
Ernesto Damiani
Livello di rete
I protocolli di rete locale, come Ethernet, offrono un
servizio di recapito di frame tra le schede collegate
alla stessa rete locale.
Per utilizzare questo servizio, il sistema operativo
degli host collegati alla rete locale deve
comprendere un software in grado di:
– ricevere dati dalle applicazioni locali;
– trasmetterli ad altri attraverso la scheda.
Questo software è oggi parte integrante di tutti i principali
sistemi operativi (Windows, Linux, Unix, ecc.).
Software di rete e ISO/OSI
Il software di rete:
• dal punto di vista del sistemista, è un servizio
permanente (in gergo Unix, un daemon) del sistema
operativo;
• dal punto di vista del programmatore, è una libreria di
funzioni per l’invio e la ricezione dati.
Si incarica di tutte le funzioni dei livelli 3-6 dello stack ISO/OSI.
Application
Networking
software
Network interface
Application
Presentation
Session
Transport
Network
Data link
Physical media
OSI
Pacchetti e frame
Quando un'applicazione deve
trasmettere un dato lo passa al
software di rete che:
• aggiunge un’intestazione (header)
contenente delle informazioni di
servizio, ottenendo un pacchetto;
• inoltra il pacchetto alla scheda di
rete.
Dato
pacchetto
Dato Header
pacchetto
La scheda inserisce ogni pacchetto
Ethernet
Dato Header
in un frame Ethernet diretto al
trailer
frame
destinatario e lo spedisce sulla rete.
NOTA BENE: l’applicazione si limita a generare il flusso di
pacchetti, e non si occupa delle modalità del recapito dei
frame.
Ethernet
header
Modalità di connessione
Reliable flow
• Il mittente controlla prima se il destinatario è in
linea mandandogli uno o più pacchetti speciali
composti da solo header, senza dati.
• Il destinatario conferma al mittente la ricezione di
ogni pacchetto (compresi quelli che contengono
dati) inviando un acknowledgement.
Best effort
• Si mandano i pacchetti di dati senza controlli o
conferme.
Header e protocolli
Ci sono vari formati standard per gli header, definiti
da protocolli a cui corrispondono altrettanti tipi di
software di rete.
Un protocollo definisce:
1. la struttura dello header (ovvero quali sono le
informazioni di servizio da aggiungere ai messaggi);
2. le modalità di comunicazione.
Il software di rete costituisce l'implementazione di
un protocollo in un certo ambiente operativo (ad es.
Linux o Windows).
Architettura del software di rete
La velocità delle due fasi di generazione dei
pacchetti e di trasmissione dei frame è
potenzialmente molto diversa, ad esempio:
1. in una chat la velocità di generazione dei
pacchetti dipende dall’utente e può essere
molto più bassa della velocità della scheda;
2. un server Web, al contrario, può generare più
pacchetti al secondo di quanti la scheda riesce
a smaltire.
(1)
Architettura del software di rete
Il software di rete non è realizzato con il
meccanismo della chiamata di funzione, ma con
quello della comunicazione bufferizzata tra
processi consumatori e produttori.
Applicazione
Software
di rete
• Buffer pieno:
sospendi produttore.
• Buffer vuoto:
sospendi consumatore.
Driver
scheda di rete
(2)
Header fisso e header chain
Protocolli a header fisso: tutti gli header hanno la
stessa struttura.
• Il software di rete deve solo decidere i valori da inserire
nello header per ciascun pacchetto.
• Approccio semplice ma rigido: per cambiare la struttura
dello header devo sostituire il software.
Protocolli header chain: definiscono un repertorio di
header ammessi, che si possono concatenare.
• Il software di rete sceglie (tra quelli ammessi) gli header
giusti per ciascun pacchetto.
• Approccio complesso ma estendibile: aggiungere al
protocollo nuovi header per funzioni speciali (es.
crittografia, compressione) non compromette il vecchio
FINE
software, che resta utilizzabile.
Scarica

Introduzione al livello di rete