Modello DoD
Evoluzione Modelli di Rete
ISO/OSI è usato da pochi vendors: Sun, Digital, ...
ARPAnet formalizza i protocolli Internet alla Univerity of California, Berkeley
- Si chiamano genericamente i protocolli TCP/IP
- Implementazione di riferimento in BSD UNIX
Il modello a livelli sottostante è chiamato modello del Dipartimento della Difesa (Department of Defense - DoD)
- E’ di qualità inferiore rispetto a ISO/OSI
- Ha una vasta infrastruttura di rete già dispiegata
- Soprassiede lentamente a ISO/OSI
- Il successo di Internet degli anni ‘90 affossa ISO/OSI
Lo switch da ISO/OSI a DoD è come standardizzare formalmente l'industria sul Sistema Metrico Decimale, poi avere le industrie che in pratica richiedono design col sistema Imperiale. E le industrie americane fanno tutt'ora proprio così.
Tutti sappiamo che la pressione marina aumenta di 14,7 libbre per pollice quadrro ogni 33 piedi di profondità, e che la densità dell'acqua dolce è di 62 libbre per piede cubo.
Ma l'America è forte e potente e ha la sesta flotta e fa quello che vuole. Come lo chiami un orang-utan da due tonnellate? "Signore".
Tre livelli vendor-independent:
- Interfacce Fisiche: delegate ai costruttore di device drivers
- Protocolli di Rete: il cuore del modello, i protocolli TCP/IP
- Applicativi: programmabili con librerie in linguaggio C
Corrispondenza non precisa coi livelli ISO/OSI
Protocolli di Rete è diviso in due sottolivelli funzionali ma non tra loro indipendenti:
- Internetworking: routing e funzionalità a basso livello
- Controllo End-to-End: sequenzializzazione, recupero errori, interazione tra nodi comunicanti
Due interfacce:
- Device Driver Interface: specifica di UNIX o altri sistemi
- Berkeley ‘Socket’ Interface (BSI): implementazione UNIX del concetto astratto di Porta (port) di accesso ai servizi
Paragone degli Stack di Comunicazione:
Concetti del Modello DoD
Incapsulamento
internet
-
LAN – Local Area Network
- Dimensione locale
- Singola tecnologia di link
-
WAN – Wide Area Network
- Dimensione geografica anche mondiale
- Anche più tecnologie di link
-
MAN – Metropolitan Area Network
- Dimensione geografica limitata
-
PAN - Personal Area Network
- Dimensione limitata alla prossimità con l’utente
-
BAN – Body Area Network
- Nodi su wearable devices o impiantati nel corpo
-
Intranet
- Devices e connessioni sotto il controllo di un unico ente
Una internet con la *i minuscola è semplicamente una rete di reti, con topologie varie: a bus, a stella, ad anello, a singoli link.
Quando la rete di reti di reti inizia ad avere ambito globale, allora la si chiama Internet con la I maiuscola, per antonomasia.
Modello di Connessione
Orientato alla Connessione
- Il percorso dei pacchetti è prestabilito prima dell’invio
- Tre fasi della connessione:
- Stabilimento
- Uso
- Abbattimento
- TCP: Transmission Control Protocol
- Simile a telefonata
Connectionless
- I pacchetti sono inviati subito quando sono pronti e il loro percorso in rete non è prestabilito
- UDP: User Datagram Protocol
- Simile a posta tradizionale
Sotto sotto, a livello internetworking, il modello è connectionless: ciascun datagramma va dove è meglio nel momento che passa, potenzialmente perdendosi o scompigliando la sequenza trasmissiva.
E' compito del protocollo Connection Oriented mantenere stato (stateful): ricomporre la sequenza e richiedere la ritrasmissione dei datagrammi persi. Il prodotto utente richiede che i dati vengano trasferiti tutti e nella sequenza giusta.
I protocolli Connectionless sono adatti invece a situazioni in cui l'informazione trasferita è poca, oppure quando la perdita di un certo numero di datagrammi non influisce sulla fruibilità utente del prodotto.
Modello di Comunicazione
Message Based - interscambio di messaggi
Remote Procedure Call - funzioni di sistema eseguite su macchina remota per conto di quella locale
Flussi di Comunicazione
- Sincrono
- Bloccante, continuo, con controllo errori e ritrasmissione
- Asincrono
- Non bloccante, non continuo, può avere controllo errori
- Streaming
- Non bloccante, continuo, senza controllo errori
- Publish/Subscribe
- Asincrono estremo, non continuo, controllo errori da parte dei livelli applicativi
Parametri di Comunicazione
Alla fine la velocità della luce è finita e la comunicazione impiega un lasso di tempo discreto. Il mezzo trasmissivo non ha qualità costante, ha rumore, e il suo utilizzo costa.
Presunzioni Errate
I programmatori di applicativi di rete hanno delle aspettative implicite sul comportamento della rete. Presumono i seguenti punti:
- La rete è affidabile
- La latenza è zero
- La larghezza di banda è infinita
- La rete è sicura
- La topologia di rete non cambia
- C’è un amministratore di rete
- Il costo è zero
- La rete è omogenea
Ciascuna di queste apettative può non essere vera, e introdurre problemi.
Principali Protocolli TCP/IP
Vi sono letteralmente decine di protocolli TCP/IP, proposti in ancora più documenti RFC. Solo alcuni di loro hanno una certa importanza.
Internetworking
Indispensabili:
- IP - Internet Protocol
- evolutosi nel tempo, cambiamenti e patch guidati soprattutto da problemi di sicurezza ed efficienza
Ausiliari, raccomandati:
- ICMP - Internet Control Message Protocol
- ARP - Address Resolution Protocol
- praticamente nessun altro
Opzionali:
- RIP - Routing Information Protocol
- OSPF - Open Shortest Path First
- BGP - Border Gateway Protocol
- molti altri, specialmente nel campo del routing
End-to-End Control
Indispensabili:
- TCP - Transmission Control Protocol
- UDP - User Datagram Protocol
- altri protocolli sono stati proposti e provati, ma sono praticamente caduti nel dimenticatoio
Documentazione di TCP/IP
Originariamente i tecnici e i progettisti dei protocolli erano relativamente pochi, e si riunivano regolarmente per discutere proposte innovative e di miglioramenti.
Il rapporto di questi meeting veniva pubblicato in bacheca, con la scritta Request For Comments (RFC). La sigla è rimasta anche quando i documenti tecnici non erano più il risultato di una riunione.
I documenti RFC sono ora formalmente accettati come ufficiali dalla governance del progetto TCP/IP. La governance è la Internet Engineering Task Force (IETF). Dettagli sui processi e prodotti di governance si trovano sul sito della IETF,
Il loro contenuto varia dall'altamente tecnica definizione di protocolli, a considerazioni pratiche d'uso, fino al faceto e al pesce d'aprile.
Una lista deli RFC come pesce d'aprile si trova su Wikipedia alla voce "April Fools' Day Request for Comments".
Rimane famoso quello del 1999, " IP over Avian Carriers with Quality of Service", che propone l'uso di piccioni viaggiatori per recapitare i datagrammi
Sono catalogati con un numero di protocollo sequenziale, anche se non tutti i numeri sono stati assegnati. Sono circa 10.000. Una lista parziale si trova, p.es. su Wikipedia.