vuoi
o PayPal
tutte le volte che vuoi
PC
Il termine “protocollo” è abusato e inflazionato.
Lo si utilizza per indicare:
– Le specifiche delle interfacce
– Le regole di comunicazione
– I moduli software che implementano le interfacce e I servizi
Comunicazioni esterne concettualmente avviene tra entità logiche che si trovano allo
stesso livello efettivamente avviene in modo diretto solo a livello hardware
Composizione del messaggio
Protocol data unit (PDU) è l’insieme di:
PCI (protocol control information), header, descrizione del pacchetto (come viene
gestito, mandato, ecc.)
SDU (Service Data Unit), il messaggio/informazione
Ad ogni livello il PDU aumenta di un header (ovvero di un informazione di pacchetto)
Impacchettato mandato spacchettato
Il sistema di comunicazione richiede un insieme di protocolli tra loro cooperanti
Si identifica una relazione gerarchica nelle funzioni che compongono un processo di
comunicazione ARCHITETTURA A LIVELLI(LAYER)
Vi è indipendenza tra i vari livelli, un livello è definito in modo indipendente
o dalle procedure effettuate dai livelli precedenti
Il livello n sfrutta anche il servizio offerto dal n-1 per fornire un servizio al
o livello n+1
La comunicazione concettualmente avviene tra peer, in realtà mediante
o incapsulamento del messaggio attraversa ciascun livello
Modulo 2
Confronto tra ISO/OSI e TCP/IP
il livello applicativo di TCP/IP si fa carico dei livelli di sessione e presentgazione del modello
ISO/OSI
il livello HOST-TO-NETWORK si fa carico di Data Link e Physical layer per far fronte al
problema che i precedenti livelli siano dipendenti dall’hardware
Critiche ISO/OSI
● molto complesso ciò provocava cattive tempistiche (in quanto per ogni operazione
doveva passare per sette livelli)
● cattiva tecnologia (a causa dell’unione con IBM che definiva e gestiva le componenti)
● cattiva implementazione(complessità, 7 livelli)
● pessima politica (modello imposto, TCP/IP libero)
critiche TCP/IP
● poco generale
● meno concettuale
● livelli HOST_TO_NETWORK confusi e interdipendenti
● protocolli sviluppati ad hoc invece che protocolli generali
ISO/OSI non utilizzato, ma utile per spiegare concettualmente la questione protocolli
internet?
● Non è una rete (nessuno al controllo, tante reti connesse assieme)
● non è governata da un gruppo,ne da un ente, ne da un unica azienda
● non è gestita in modo centralizzato perchè tutte le singole sottoreti che compongono
internet hanno una gestione autonoma
internet
obbiettivi:
● connette diversi host e reti
● store ad forward
● packet switching __ “arrivano diversi pacchi e io li gestisco”
le reti lavorano a commutazione di pacchetti
in ciascun nodo il pacchetto percorre i livelli necessari
due modalità di trasferimento:
Circuit switching (commutazione di circuito)= circuito virtuale dedicato per ogni
comunicazione
Packet switching = i dati sono suddivisi in parti e inviati
Circuit Switching
Riserva tutte le risorse
Canale garantito
Se qualcuno ha bisogno di quel canale, da errore in quanto il canale è riservato a me
Due metodi per suddividere la risorsa:
Metodi basati sulla frequenza (FDM)
Metodi basati sul tempo (TDM)
Equivalente al multiplexing (un solo canale per più collegamenti)
Packet switching
Ogni comunicazione è suddivisa in pacchetti
Il multiplexing in questo caso non è più deterministico, si un calcolo medio per la tempistica
di ricezione dei pacchetti, (necessità di buffer FIFO per l’immagazzinamento temporaneo dei
pacchetti in attesa di esecuzione)
Conflitto di risorse
La domanda di risorse può eccedere la quantità disponibile
Il buffer a grandezza finita, di conseguenza se la coda è piena il pacchetto nuovo
viene perduto
Se il pacchetto è in attesa da molto tempo
Possibilità di usare un link differente a seconda dello stato della rete
In caso di failure trova un'altra strada per consegnare il pacchetto (con commutazione di
circuito, il canale è unico, persa la comunicazione)
Pro:
C’è condivisione di risorse
Contro
Non c’è controllo conflitti (se in molti prendono dati dalla rete, il non è in grado di gestire tutte
le richieste
Livello 1-2 (Host To Network)
I primi due livelli sarebbero fisico e data link ma non essendo realmente separati e
calcolando lo stack tcp/ip che comprende entrambi i livelli viene definito host to network
Livello 3(network)
Servizio di identificazione dell’host, (indirizzo ip)
Comunicazione logica tra host ( senza identificazione non avviene alcuna
comunicazione, best effort(senza impegno))
Livello 4 (trasporto)
C’è un processo di multiplazione demultiplazione che permette di gestire la congestione ai
diversi processi operativi ( arriva musica e messaggi, i pacchetti riguardanti la musica li
manda all’applicazione di streaming musicale e i messaggi all’applicazione di messaggistica)
Rilevamento degli errori
Due protocolli:
UDP (user datagram protocol) (manda in maniera diretta senza controlli di conflitti)
TCP (trasmission control protocol) offre servizi aggiuntivi (garantisce ll trasposto, in
caso di conflitto rimanda , lento)
Livello 5 (application)
Utilizza il livello di trasporto per passare infromazioni tra i processi in esecuzione su host
terminale per realizzare applicazioni di rete
Modulo 3
Livello HOST TO NETWORK
Affronta le problematiche di:
Interconnessione tra due o piu’ host
Trasmissione dati tra host direttamente connessi
Le modalità di interconnessione e i protocolli per la trasmissione dati tra host interconnessi
sono strettamente dipendenti tra loro ovvero la scelta di uno implica la stessa scelta anche
per l’altro (host)
I servizi offerti da ciascun controllo possono essere diversi:
Un protocollo può garantire l’affidabilità della consegna del pacchetto e un altro no
Lo strato di rete deve essere in grado di compiere il suo lavoro end-to-end in
presenza di differenti set di servizi forniti da specifici protocolli host to host
Servizi:
Livello 1 (fisico): connessione secondo diversi mezzi trasmissivi (ethernet, coassiale,
fibra,..)
Livello 2 (data link): POSSIBILI SERVIZI:
Framing
o accesso al link (CSMA/CD)
o recapito affidabile (acknowledgement e ritrasmissione)
o controllo di flusso
o ricerca di errori
o correzioni degli errori
o half duplex (se occupo il canale in trasmissione non posso ricevere) o full
o duplex (due canali trasmissione e ricezione)
Differenza con il livello di trasporto
La similitudine con alcuni servizi del protocollo di trasporto (soprattutto TCP) non deve trarre
in inganno:
Il livello h2n opera a livello di singolo link (host interconnessi)
Il livello trasporto opera a livello di host end-to-end
Differenza con il livello IP
il livello data link consegna pacchetti solo all’interno di una stessa LAN
il livello network (IP) consegna pacchetti ovunque su internet
Tipi di collegamento HOST to HOST:
host-router
router-router
host-host
unità di dato trasmesso FRAME
Hop = passaggio
Ogni pacchetto mandato host to host vale un hop
Collegamento boradcast= molti host connessi ad uno stesso canale
Collegamento point to point= un canale collegato host host
Unicast = singolo mittente singolo ricevente
Broadcast= singolo mittente molti riceventi (gruppo completo)
Multicast= singolo mittente un gruppo di riceventi (sotto insieme del gruppo completo)
Anycast= singolo mittente almeno un ricevente (non interessa che tutti ricevono ma almeno
uno deve ricevere)
Tutti i dispositivi per poter essere utilizzati in una rete devono essere dotati di una:
Network Interface card (NIC)= costituito da RAM – DSP (Digital Signal Processor) –
Bus/host e un interfaccia di collegamento alla rete (es. RJ45)
Local Area Network (LAN) = interna ad un’area fisica limitata, basato su una rete di
trasmissione condivisa con bit rate elevato (1-10 Gbps)
Ethernet
Vantaggi:
costa poco
funziona bene successiva ampia diffusione
si presta all’uso con diverse:
topologie(modo di connettere gli host)
o tecnologia(tecnologia del mezzo trasmissivo usato per le connessioni)
o
si adatta bene con l’utilizzo dei protocolli TCP/IP
in caso di congestione funziona peggio, ma questa situazione dura poco.
Il collegamento è di tipo broadcast come conseguenza di ciò la trasmissione è broadcast
(quando un host trasmette un pacchetto tutti sulla rete lo ricevono)
Indirizzo MAC (Media Access Control)(indirizzo univoco di 48 bit, assegnati dai produttori
seguendo le direttive IEEE)
Utilizzato per capire chi è il destinatario del dato, un’host quando trasmette un pacchetto
inserisce pure il mac del destinatario, il ricevente verifica il mac address, se uguale lo
inserisce nella pila protocollare in caso contrario scarta il pacchetto
IL NIC POSSIEDE IL MAC ADDRESS NON L’HOST
Un indirizzo MAC viene associato ad un indirizzo di rete IP, mappando così gli indirizzi
I pacchetti passati tra host vengono definiti FRAME
Se i NIC usassero gli indirizzi MAC
- non sarebbe in grado di gestire altri protocolli oltre all’ip
- gli indirizzi ip dovrebbero essere registrate nella RAM della NIC
Se i in NIC non utilizzassero gli indirizzi
- tutti gli host sarebbero interrotti ogni volta che un pacchetto passa per
la LAN, in quanto la NIC dovrebbe verificare la concordanza
dell’indirizzo ip
tutti i frame hanno lo stesso formato, indipendentemente da topologia, mezzi trasmissivi e
velocità di trasmissione
8
preambolo Byte
Primi 7 Byte, sono byte per attivare gli adattatori dei riceventi e sincronizzare i loro orologi
con quello del mitente
Gli ultimi 4 bit del ultimo Byte, quando sono entrambi 1 vuol dire, che la fase di
inizializzazione ovvero di sincronizzazione è terminata e che sta arrivando il contenuto del
frame
Indirizzo di destinazione e sorgente 6 Byte entrambi
Contengono entrambi l’indirizzo MAC sorgente e destinazione, quando un host riceve un
frame con indirizzo destinazione diverso dal proprio lo scarta in caso contrario passa il
contenuto del campo dati allo strato di rete
Tipo 2 Byte
Permette di multiplexare i protocolli dello strato di rete, serve all’adattatore per sapere a
quale dei protocolli dello strato di rete debba essere passato il campo dati di ciascun frame
ricevuto
Dati dimensione minima 46 Byte, se inferiore vengono aggiunti Byte di riempimento
(stuffing) Il payload ma