WAN MAN LAN Reti locali · 2002-01-29 · Applicazione Protocolli: alto livello Adattamento ATM Fisico Livello ATM celle ATM canali virtuali Internet 6 INTERNET TCP/IP Modello OSI
Post on 18-Feb-2019
213 Views
Preview:
Transcript
Internet 1
Reti localisi possono analizzare- topologie- controllo di accesso- mezzo trasmissivo- applicazioni- standard
In rete locale => facilità di broadcast
bassa probabilità di errori
alta velocità ed ampia banda di trasmissione
Notate che il grosso interesse degli ultimi anni non è tantoper la singola rete, quantoper la interconnessione di reti
A livello di industria e finanza pubblica
Interconnessione di retiLAN ,MAN (Metropolitan Area Network)WAN (Wide Area Network),
Internet 2
topologie usate per LAN
In reti generiche (Wide Area Network) molte e diversemeshPublic Switch Telephone Network (PSTN)
In LAN topologie semplici
stellaPrivate Automatic Branch Exchange (PABX)Private Digital Exchange (PDX)
busanche un insieme di bus interconnessi
ringhub
un bus inglobato in una unica unità centrale diconnessione ==> simile ad una stella
realizzazione poco costosa a unico ring internoevoluzione verso sistemi capaci di connessionidinamiche ad alte prestazioni
mezzi trasmissividoppino
schermato o non schermatocavo coassiale (in banda base o estesa)
thin wirethick wire (drop cable)transceiver
Internet 3
Controllo di accessoCarrier Sense Multiple Access/Collision Detection
(CSMA/CD) (Ethernet)token (control token )anello a slot (slotted ring )
CSMA/CD accesso ottimisticosistema dinamico di impegno del mezzocollisioni ==>
recovery con ritrasmissione ad intervallo random
control token accesso pessimisticosistema statico:• un solo possessore del diritto di trasmettere (token)• passaggio del token da un vicino ad un altro
slotted ring accesso pessimisticocontrollo statico di accesso ad un anello:• anello come insieme di contenitori di messaggi
circolanti (slot)
Standard IEEE 802CSMA/CD (802.2) token ring (802.5) token bus (802.4)
PerformanceFino ad occupazione media del mezzo (50%)
prestazioni equivalenticon throughput più alto per messaggi più lunghiAd alto traffico, qualche differenza
Internet 4
Interconnessione reti
necessità di nuove tecnologie o mezzi trasmissivi
con una possibilità di tramettere informazioniin modo dinamicoOccupando risorse solo in caso di utilizzo
Uso di reti ad alta velocità: FDDI, ATM
FDDIfibre distributed data interface
Due anelli, gestiti in verso oppostouno con funzioni di back-up
Aggancio diretto ad entrambi o ad uno solo delle stazioniUso di Concentratori
Elevato costo di installazione
Internet 5
Asynchronous Transfer Mode (ATM)multiplexing asincrono in tempo
adatto per informazioni di tipo multimedialee supportato da B-ISDN(Broadband Integrated Service Digital Network)
packet-switching molto veloce basato su celle in gradodi scambiare messaggi di dimensione fissa senza imporrecontrollo di flusso e error checkogni cella specifica le informazioni di routing e di controllo
connessione virtuale alimentata da celle diverse cheprelevano messaggi di tipo diverso
trasporto di blocchi di 53 byte5 header e 48 di informazioni utili
header contiene informazioni di routing e priorità
Struttura a livelli
Applicazione
Protocolli: alto livello
Adattamento ATM
Fisico
Livello ATM
celle ATM
canali virtuali
Internet 6
INTERNET TCP/IP
Modello OSI
Applicazione
Presentazione
Sessione
Trasporto
Rete
Fisico1
2
3
4
5
6
7
Data Link
Fisico
Rete
Trasporto
Sessione
Presentazione
Applicazione
Collegamento dati
Livello 7 Applicazione: esempi di applicazioni sono laposta elettronica e il trasferimento dei file
Livello 6 Presentazione: rappresentazione, compressione ecrittografia dei dati
Livello 5 Sessione: la chiamata di procedura remota è unesempio particolare di sessione
Livello 4 Trasporto: comunicazione "end-to-end",virtualizzazione del collegamento di rete fra trasmittente ericeventeLivello 3 Rete: instradamento dei frame, interconnessione direti locali e geografiche, gestione delle situazioni di congestione
Livello 2 Collegamento dati ("frame"):riconoscimento e ritrasmissione di frame affetti da errori,controllo di flusso)
Livello 1 Fisico (mezzo trasmissivo)modalità di codifica dei dati e di sincronizzazione a bassolivello della sincronizzazione
Internet 7
Modello OSI a 7 livelli
Modello OSI semplificato
Trasporto
Rete
Data Link1
2
3
4 Processo
Livelli della suite TCP/IP
Livello applicativo
Livello di trasporto
Livello internet
Interfaccia di rete1
2
3
4
APPLICATIVO
TRASPORTO
INTERNET
RETE
APP. 1 APP. 2
PT 1
PI 1 PI 2
PR 1 PR 2
PT 2
STRATI CONCETTUALI ORGANIZZAZIONE DEL SOFTWARE
APP. 3
APP: Applicativi (es. ftp, finger,etc.)
PT: Protocollo di trasporto (es. tcp, udp)
PI: Protocollo internet (es. IP)
PR: Protocollo di rete (es. Ethernet, HDLC)
Internet 8
INTERNETWORKING
TCP/IP Transport Control Protocol/Internet Protocol DARPA
SNA System Network Architecture IBMDNA Digital Network Architecture DECXNS Xerox Network System
Nel caso delle reti che ci interessano tipicamente
Livelli fino al DATA LINKUso di qualunque protocollo standard o meno
ETHERNET (CSMA/CD bus)standard di connessione con unico bus a 10Mbps- connettore a basso costo: cavo coassiale
cavo coassiale (transceiver) o doppino (in hub)- invio/ricezione packet-switching di messaggi- supporto diretto broadcast / multicast
Interconnessione
rete 1 rete 2
rete 3
gateway
gateway
Collegamento di reti diverse attraverso gateway
Internet 9
TCP/IPIl protocollo TCP/IP nato da una rete di università USA
Arpanet DARPAcon supporto del DoD
Defense Advanced Projects Research Agency
Reti a lunga distanza di collegamento tra workstation ereti di ricerca con architetture eterogenee
==> reti diverse con standard diversi di collegamento
Architettura Internet
rete 1 rete 2
rete 3
gateway
gateway
- dal punto di vista dell'utente - struttura fisica
• gateway connette diversi tipi di rete effettuando lanecessaria conversione di protocollo
• gateway realizzato via software
Internet 10
RIUSO• non si progetta una rete nuova;
si sfruttano reti esistenti (flessibilità, abbattimento deicosti, tempi brevi di installazione)
• i pacchetti nel percorso dal sorgente al destinatario,attraversano reti intermedie
• gli utenti non devono nè essere influenzati, nè venire aconoscenza di un traffico extra sulle loro reti locali
Trasparenza e Dinamicità
INTERNETWORKINGProblema :• necessità di una interconnessione universale• requisiti di eterogeneità
impossibilità di servire tutti gli utenti con una singolarete (esigenze contrastanti: distanza, velocità)
Soluzione:Interconnessione di reti, cooperante, unificata perrealizzare un servizio di comunicazione universale
Requisiti :• anche nuove tecnologie (per connessione di reti
tecnologicamente diverse)• nuovo software di comunicazione indipendente dalla
tecnologia e dai programmi applicativiper rete virtuale
Internet 11
Terminologia in interconnessione
ripetitori rigenera un segnale a livello fisicooltre un definito livello di attenuazione ==> ripetitore
Problemi di carico del sistemaUn ripetitore non effettua alcuna separazione
bridge collegano una rete ad un'altra con capacità diseparazione e maggiore intelligenza
livello di data linkdue reti omogenee sono controllate da un bridge chebufferizza e passa i frame dall'una all'altra, solo senecessario, e al controllo di errore
• separazione effettiva delle reti• bufferizzazione dei frame• capacità di gestire controlli di accesso diversi• monitoring della rete• performance ed affidabilità
• ritardo di bufferizzazione• bufferizzazione non infinita• trasformazione dei frame (con controllo)
bridge multiportacon più segmenti di rete connessi
bridge trasparenti
Internet 12
sono invisibili all'utilizzatore
si realizza un routing isolatocon database di forwardingo in PROMo con capacità di apprendimento
Interconnessione usate per l'intero sistemaIl bridge impara la allocazione delle stazioni vedendo iltraffico della rete e dai vicini
(il tutto è ripetuto quando è necessario coordinarsi)
Alla inizializzazione (inserimento)un bridge comincia a vedere che sta facendo routingnel sistema e si adegua
Possibilità di conflitti
FASE di LEARNING iniziale
Algoritmo spanning treei bridge scambiano messaggi per trovare i costi più bassidi collegamento e costruire un albero
Si sceglie un bridge radice e ognuno trova il camminominimo (passi e velocità)La connessione ideale creata tra i bridge è l'albero chepercorre tutto la topologia
source routing bridge
Internet 13
Il routing viene fatto in modo non trasparentevedi IP routing
bridge remoticollegamento dedicato tra punti geograficamente lontaniusando
reti pubbliche packet-switching olinee dedicate
Backbonecollegamento veloce tra sottoreti diverseuso di interconnessioni ad alta velocità (FDDI)
router (o gateway )sistema per il passaggio da una rete ad un'altra conobiettivo di routing (livello network)
protocol convertersistemi che collegano reti diverse a più alto livellocon protocolli diversi di interconnessione
Il problema della separazione tra reti èdiventato dominante vista la crescita esponenzialedelle reti interconnesse
Internet 14
livello di TRASPORTO
TCP Transmission Control ProtocolScambio di messaggi a canale virtualeaffidabili , non duplicati , con controllo di flusso
UDP User Datagram ProtocolScambio di messaggi con controllo di errore
livello di RETE
IP Internet ProtocolScambio di datagrammi senza garanzia di consegna
gestione di RETEICMP Internet Control Message ProtocolScambio messaggi di controllo
Processodi utente
Processodi utente
TCP UDP
ICMP IP ARP RARP
Interfacciafisica di rete Livello 1
Livello 2
Livello 3
Livello 4
Suite dei protocolli di TCP/IP
Internet 15
Applicazioni e comunicazioni in TCP/IP
Applicazione
Trasporto
Internet
Interfacciadi rete
Rete fisica
Trasporto
Internet
Interfacciadi rete
Host BHost A
ApplicazioneProtocollo
di Applicazione
Protocollo TCP o UDP
Protocollo IP
Protocollo di Datalink
Uso di un gateway
Internet
Interfacciadi rete
Applicazione
Trasporto
Internet
Interfacciadi rete
Applicazione
Trasporto
Internet
Interfacciadi rete
Rete fisica 1 Rete fisica 2
Identico messaggio
Identico pacchetto
Identico datagramma
Identico frame Identico frame
Identico datagramma
Host BHost A
Internet 16
TCP/IP
Servizio astrattoTrasmissione di messaggi con caratteristiche- connessione e non connessione
in caso, di CONNESSIONE- connessione bidirezionale- controllo messaggi
ordine corretto dei messaggi,ritrasmissione messaggi persi
- controllo di flussobufferizzazione
- multiplexing
Alcuni punti da chiarire
- Problema dei nomiastrazioni => spazio dei nomi
- Protezione delle informazioniastrazioni => spazi di nomi gerarchici
- Routing (trasparente?)a livello di rete (e non di nodo)
NOMI DINAMICI LOGICI
Internet 17
INDIRIZZAMENTO GERARCHICOa livello di IP
Ogni connessione di un host a una rete ha un indirizzointernet unico di 32 bitIP-ADDRESS {NETID, HOSTID}
un identificatore di rete NETID eun identificatore di host HOSTID
La distinzione facilita il routing
• se un host nella stessa rete usa una connessionediversa, cambia il suo ip-address, in particolare hostid(ma non in dipendenza dalla locazione di accesso)
• se un host si collega in una rete diversa, anche con lastessa connessione, cambia il suo ip-address, inparticolare il netid, ma p mantenere il proprio hostid
• host con diverse connessioni hanno più indirizzi(multiporta per bridge o gateway)
ip-address individua connessioni nella rete virtuale==> un'astrazione dell'indirizzo hardware fisico ma
indipendente da questo
STANDARDnomi dati di autorità
Network Information Center (NIC) assegna il numero direte cioè informazione usata nei gateway per routing
Internet 18
NOMI di NODIa livello di IP
Gli indirizzi sono suddivisi in 3 classi primarie(in base al numero di reti e al numero di host collegabili)e differiscono per il numero di bit assegnati ai singoliidentificatori:
Le WAN hanno generalmente un ip-address di classe A
0 NETID HOSTID
1 7 8 31
Le LAN hanno un ip-address di classe B o C
0 NETID HOSTID
1 31
1 0 NETID HOSTID
1 31
1 1 0 NETID HOSTID
classe B
classe C
analizzando un indirizzo IP si può distinguere la classein modo automatico
Internet 19
CLASSI di indirizzi
classe A
classe B
classe C
classe D
classe E
0
1
1 1
1 1 1
1 1 1 1
0
0
0
0
0 1 2 3 4 8 16 24 31
netid hostid
hostid
hostid
netid
netid
indirizzo multicast
indirizzi riservati ad usi futuri
Classi degli IP address
Altre convenzioni
Indirizzamenti broadcasttutti gli host della rete locale indipendentementedall'indirizzo IP ==> indirizzo in cui tutti i 32 bit sono a1 (limited broadcast address) intranet
non viene fatto passare da una rete ad un'altratutti gli hosts in una rete specifica ==> tutti i bit dihostid a uno (broadcast direttivo o directedbroadcast) internet
arrivato alla destinazione, broadcast
tutti '1'
tutti '1'netid
Limited broadcast
Directed broadcast
Internet 20
Indirizzi in due formefisiche
10001001 00001010 00000010 00011110scritto nella forma più leggibile
137.10.2.30
Risoluzione degli indirizzi
Due macchine che comunicano hannoindirizzi fisici: Fa, Fbindirizzi di IP: Ia, IbErrore. Il segnalibro non è definito.
problema della risoluzione dell'indirizzodue modi principali
mappaggio direttoassociazione dinamica
mappaggio diretto per piccole retiscelta indirizzo hardware per ogni macchina
la risoluzione dell'indirizzo consiste nella sola estrazionedel nome fisico dall'indirizzo IP
In reti più grandi ==> risoluzione più complicataETHERNET prevede un indirizzo fisico di 48 bitassegnato alla scheda di interfacciaQuesto indirizzo non può essere tradotto nei 32 bit delformato degli indirizzi IP
Traduzione dell'ip-address in indirizzo fisico:necessità di un protocollo dinamico
Internet 21
Vantaggio del naming di TCP/IP
possibilità di utilizzare indirizzi aventi la stessa formaper riferirsi:
a un host (netid,hostid);a una rete (netid,0);a tutti gli host su una rete, broadcast (netid,1...1).
La sottostante tecnologia di rete determina l'effettivapossibilità e efficienza delle trasmissioni broadcast
Per consentire lo scambio dei dati binari (in particolaredegli indirizzi) i protocolli TCP/IP hanno fissato unostandard universale per l'ordine dei byte nella codifica deinumeri interi: il primo byte è il più significativo
Big Endian vs Little Endian
SUN, HP big-endian
Intel little-endian
Internet 22
ARP (Address Resolution Protocol)Ricerca dell'indirizzo fisico di un nodoErrore. Il segnalibro non è definito.ARP protocollosemplice ed efficiente
invia un pacchetto broadcast in cui chiede l'indirizzofisico corrispondente ad indirizzo IP (Quale Fa per Ia?)
tutti gli hosts ricevono tale pacchettosolo quello che riconosce il suo indirizzo IP rispondecon il proprio indirizzo fisico
richiesta ARP broadcast
risposta ARP
Schema di funzionamento protocollo ARP
Questo meccanismo non viene attivato per ogni pacchetto
Utilizza di una memoria cache per mantenere leassociazioni {indirizzo IP-indirizzo fisico} già usatecache consultata prima di usare ARP
Internet 23
ottimizzazioni:• l'associazione relativa alla macchina richiedente
memorizzata anche dalla macchina che risponde adARP
• ogni richiesta broadcast viene memorizzata da tutti• una nuova macchina al collegamento invia sulla rete
locale un broadcast con la propria coppia{indirizzo fisico - indirizzo IP}
ARP distingue due ruoli nel protocollouna attiva determina l'indirizzo fisico per ogni pacchettouna passiva risponde alle richieste delle altre macchine
Attivo esamina la cache per risolvere indirizzo IP localealtrimenti esegue una richiesta ARP broadcast (cliente)
la gestione della richiesta broadcast deve prevedere dinon ricevere risposta o riceverla con ritardo
Passiva risponde alle richieste di altri (server)estrae sia indirizzo IP sia il fisico per un pacchetto ARPcontrolla che non esista in cache e processa il pacchettoSe risoluzione del proprio indirizzo ==> invio risposta
Un messaggio ARP incapsulato in frame fisici e reinviatoal richiedente
messaggio ARP
frame data area
frame header
Internet 24
protocollo RARP(Reverse Address Resolution Protocol )Ricerca indirizzo IP di un nodoErrore. Il segnalibro non è definito.Indirizzo IP in memoria secondariache il sistema operativo cerca allo startup
e macchine diskless?
indirizzo IP viene ottenuto richiedendolo ad un serverAssumiamo che tale server possieda un disco in cuisiano contenuti gli indirizzi internet
Si usa provvisoriamente l'indirizzo fisicoindirizzo fisico è fornito dall'interfaccia di rete hardware
protocollo RARP ( Reverse ARP ) di basso livelloUso diretto della rete fisica ==>il protocollo RARP gestisce la ritrasmissione e laperdita di messaggi
ClienteUso di broadcast per conoscere il proprio indirizzo IP
e se non c'e' risposta? ritrasmissioneServitoreinvia la risposta a chi ne ha fatto richiesta
Si prevedono più server per ogni LANper rispondere ai clienti anche in caso di guasto
Internet 25
Server multipli
Modello a server attiviTroppi server sovraccaricano il sistema se cercano dirispondere contemporaneamente alla richiesta
Modello a server attivi/passivisoluzioni possibili con gerarchia di server
Modello dinamico con server in ascoltola prima prevede
Il server primario è il solo a risponderegli altri server rispondono solo se arriva una secondarichiesta RARP
Modello statico con server differenziati(ritardi diversi)
una seconda soluzione prevedeil server primario risponde immediatamentegli altri con un ritardo calcolato randomla probabilità di risposta simultanea è bassa
Internet 26
SISTEMI di NOMI IP per i NODIIndirizzi Internet
Un nodo è qualificato come Rete e HostPotenzialità di numeri elevati di nodi distinti: 32 bit
Tre classi di indirizzi fisici (a byte) Network e Host
classe A : Network Host0 7 bit 24 bit
1-126.#.#.#arpa 10
classe B : Network Host10 14 bit 16 bit
128-191.#.#.#almanet 137.204.#.#cineca 130.186.0.0deis33 137.204.57.33dida01 137.204.56.1didasun1 137.204.56.20hp735 137.204.58.42
classe C : Network Host110 21 bit 8 bit
192-223.#.#.#cnrbologna 192.94.70.0Ogni protocollo deve definire i propri nomi
Internet 27
PROTEZIONE a livello fisico
SI INDIRIZZA in modo diretto soloNELL'AMBITO DELLA STESSA RETE
per esempiodida01 e deis33 sono in grado di comunicareperchè sono in classe B e nella stessa rete
dida02 e cineca non possono comunicare direttamente
In casi indiretti ogni comunicazione richiede un interventodi un gateway autorizzato (router )
GATEWAY
HOST
dida02 cineca
deis33
Internet 28
Ulteriore protezione SUBNETTING
Sottoreti (politica locale)
Una rete può essere divisa localmente in sottoreti al suointerno (all'esterno non è visibile la suddivisione)le rete stessa solamente deve rispettare la maggioregranularità
subnet ==> il campo host è ulteriormente suddiviso
subnet host8 bit 8 bit
dida01 137.204.56 subnet 56deis33 137.204.57 subnet 57
La sottorete è rispettata comunicvando solo nellasottorete stessa, altrimenti tramite gateway
meccanismo ==> maschere di chiusura e protezione
MASCHERAdida03 maschera ==>
non si esce FUORI dalla SOTTORETE
Si pò amche non rispettaredeis33 non introduce maschera ==>comunicazione diretta con gli host della stessa network(la subnet non ha effetto)
Internet 29
DALL'ESTERNO DELLA RETEnessuna differenza
ALL'INTERNO DELLA RETEquando il messaggio è arrrivato un accordo tra i gatewayrenda attiva la suddivisione, usando un servizio di routingper portare il messaggio alla corretta sottorete e, di lì, alladestinazione
coordinamento ditabelle di routing
per deis32-35, cioè su deislansi devono individuare i router per le altre sottoreti
network gatewaycineca default 137.204.57.253didalan 137.204.56 137.204.57.33deislan 137.204.57 137.204.57.33cciblan 137.204.58 137.204.57.33
Il subnetting rende possibili ulteriori suddivisioni dellospazio dei nomi IP (non deducibili automaticamente dalnome IP)
NOMI FISICI IPMa bisogna sempre usare i nomi fisici?Possibilità di nomi logici più significativimantenendo la stessa protezione
Internet 30
NOMI LOGICI GERARCHICI
Gerarchia di domini logici (DNS)per distribuire la responsibilità di gestione
la corrispondenza tra nomi logici e fisici avvienedinamicamente tramite un name server che(dinamicamente ) esegue la traslazione
Possibile gerarchia
reston
cc
us
cc cs ecn
purduedec
com edu
xinu
Radice innominata
gov
nfs
dipmatdeis
unibo
it
cineca
La traslazione:statica vs. dinamicalocale vs. globale
Una gestione globale centralizzata non praticabileCosì una gestione statica dei nomi non adatta ad unsistema aperto
Internet 31
Nome dominio SignificatoCOM Organizzazioni commerciali
EDU Istituzioni per l'istruzionre
GOV Istituzioni governative
MIL Gruppi militari
NET Maggiori centri di supporto alla rete
ORG Organizzazioni diverse dalle precedenti
ARPA Dominio temporaneo dell'ARPANET (obsoleto)
INT Organizzazioni internazionali (schema geografico)
codice nazionale Ciascuna nazione (schema geografico)
NOMI di nodideis33.cineca.it a tre livelliNOME con varie label ciascuna un dominio
Livello Descrizione Nome dominio Sigleminimo locale deis33.cineca.it deis33 = macchina
intermedio gruppo cineca.it cineca = gruppomassimo organizzazione it it = Italia
dei33.deis.unibo.itcountry it = Italia,organisation unibo = Università di Bologna,dept deis = Nome o Sigla Organizzazione locale,machine deis33 = nome della macchina,
Livello Descrizione Nome dominio Sigleminimo locale deis33.deis.unibo.it deis33 = Host
intermedio2 sottogruppo deis.unibo.it deis = Organisationintermedio1 gruppo unibo.it unibo = U of Bologna
massimo postazione it it = Italy
Internet 32
Ogni rete può corrispondere a un Name Server chesi occupa della traslazione degli indirizziSenza una visione completa, ma locale
Servizio distribuito e a dati partizionati ottenuto con lacooperazione dei name server
cineca.it ==> server per le richieste di rete
radice
com edu gov usit
unibocinecadec
deis33 deis
deis33
Preciso protocollo di richiesta e risposta del name server
Si noti la non unicità: lo stesso nome IP con più nomilogici e domini
comando nslookup come ambiente di interrogazione perle corrispondenze
Internet 33
Tutti i servizi applicativi a livello utente in UNIX
sono organizzati al disopra di
IP forwarding di pacchetti
ICMP forwarding di pacchetti di controllo
UDP servizi senza stato
TCP garanzie di correttezzaconnessioni bidirezionalicontrollo di flussodati out-of-band
Livelli e relativi dati manipolati
LIVELLO TIPO DATI ININGRESSO
TIPO DATI INUSCITA (sotto)
Applicazione messaggioutente
messaggio
Trasporto messaggio pacchettoIP pacchetto datagramma
Interfacciafisica di rete
datagramma frame fisico
Internet 34
IP - Datagrammi senza connessione
1 SERVIZIO♦ connectionless : ciascun pacchetto è trattato
indipendentemente dagli altri. Diversi pacchettipossono seguire percorsi diversi ed essereconsegnati fuori ordine
♦ unreliable : la consegna non è garantita, cioènon effettua un controllo sull'avvenuta ricezionedi un pacchetto
♦ best-effort : l'inaffidabilità del trasferimento èdovuta a cause esterne e non al software di retenessun messaggio di errore al richiedente
2 PROTOCOLLO due funzioni principali♦ elaborazione del messaggio del livello
superiore nel formato per la trasmissione• incapsulamento / frammentazione
♦ instradamento (routing) cioè:• traduzione da indirizzo logico a indirizzo fisico;• scelta del percorso
3. REGOLE• formato del datagramma , unità base di
informazione da trasmettere• la sequenza di operazioni che deve essere
eseguita per effettuare una comunicazione• la gestione degli errori (molto limitata: in genere
eliminazione del datagramma)
Internet 35
. REGOLE segue• DECOMPOSIZIONE al mittente• DECOMPOSIZIONE ad ogni intermedio• RICOMPOSIZIONE al destinatario
datagrammadatagramma
header area dati
header area dati
frame
Incapsulamento datagramma
header
header
header
header
datagrammadata 1 data 2 data 3
data 1
data 2
data 3
frammento 1
frammento 2
frammento 3
frammento
frammento
frammento
Frammentazione datagrammi
Internet 36
IP-DATAGRAMUnità base di informazione che viaggia in Internet
Suddiviso in due parti principali:
INTESTAZIONE DATI
DATAGRAM HEADER DATAGRAM DATA
IP non specifica il formato dell'area datidati di qualunque tipo
Formato dell'IP-DATAGRAMI sottocampi del campo header contengono:• versione del protocollo• lunghezza header e totale• identificazione del datagramma (usato per ricomporre
i frammenti)• precedenza (0-7)• tipo di trasporto desiderato (bit di throughput T,
di affidabilità R, di ritardo D, costo C)Internet non può garantire il soddisfacimento del tipo ditrasporto richiesto che dipende dal cammino che devepercorrere il datagramma• frammentazione e flags• time to live , tempo di permanenza del datagramma• indirizzo IP sorgente e destinazione• tipo di protocollo protocol (TCP 6, UDP 17, ICMP 1)• checksum per il controllo• opzioni: monitoraggio e controllo rete
Internet 37
Formato dell'Header e Dati
di un datagramma
Header (minimo 20 byte, max 64)
Dati
VERS HLEN SRV TP TOTAL LENGHT IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTCL HEADER CHECKSUMSOURCE IP ADDRESS
DESTINATION IP ADDRESSIP OPTIONS (IF ANY) PADDING
DATA. . .
0 4 8 16 19 24 31
SeRVice TyPe PRECEDENCE D T R C UNUSED
FLAGS Do not fragment More fragments UNUSED
0 3
fragment offset => allineato agli 8 byte (solo 13 bit)
Internet 38
frammentazione
I datagrammi devono essere incapsulati nei frame dilivello 2 delle reti fisiche su cui transitano MTU (maximum transfer unit)
lunghezza massima dei frames a livello fisico
dimensione massima del datagramma
1°possibilità: calcolo statico da parte del mittenteil datagramma incapsulato nel singolo frame fisico(dimensioni del datagramma minore o uguale alla piùpiccola MTU presente in Internet)
a livello utente trasmissione con tempi molto lunghiper il trasferimento di un messaggio (se MTU moltopiccole)efficiente solo per reti fisiche con MTU alunghezza elevata ed omogenea
2° possibilità (USATA )MTU scelta indipendente dalle tecnologie sottostanti perrendere efficiente la comunicazione a livello utente(fissata tipicamente a 64Kbyte) ==>
Il pacchetto originale viene suddiviso in frammenti suMTU a dimensione inferiore (a 64Kbyte)La frammentazione del pacchetto può avvenire adogni passo nelle reti intermedie e si richiederiassemblaggio al destinatario
Internet 39
OPZIONI: Monitoraggio e controllo rete
Le opzioni più interessanti sono:
record route genera una lista degli inidirizzi IP deigateway che il frame ha attraversato (al massimo 9 )
otteniamo una indicazione dei gateway intermedi
timestamp genera una lista dei tempi diattraversamento degli intermedi
possiamo ottenere una indicazione della permanenzanei gateway intermedi (vedi mail)
source route il sorgente fornisce indicazioni sulcammino da seguire nel routing del frameinstradamento al sorgente
si dirige il cammino dal sorgente• strict source : una indicazione di tutti i gateway
intermedi da attraversare
• loose source : una indicazione di un insieme dipercorsi da attraversare
Numero massimo di informazione nel datagramma:limite al controllo del percorso (9 passi)
Internet 40
Passaggio delle informazioni
tra i diversi livelli nella suite (UDP/)TCP / IP
Dati utente
Header UDP/TCP
Dati per IP Datagram UDP/TCP
Header IP
Dati per servizio di data link
Headerdi data link di data link
fisicodel livello fisico
Coda
FrameDati
Datagram IP
PDU livello a pplicativo
PDU livello tras porto
PDU livello rete
PDU livello data link
Ogni PDU formato ad un livello diventa il SDU per il livello inferiore
Si noti che il livello di DATA LINK aggiunge un footer
Un router intermedio può cambiare il datagramma?
Internet 41
formato di un frame ETHERNET
SOURCE address
DATA . . .
7
DESTINATION address
PREAMBOLO
campi in byte
delimitatore di inizio frame (Start Frame Delimiter) 1 11010101
6
6
type (id protocollo) 2
46.. 1500
controllo di fine frame (Frame Check Sequence) 4
10101010
Dati nel frame da 46 a 1500 ottetti
Anche gli altri livelli MAC introducono forma analoghe peri frame corretti
In genere:• indirizzi a 48 bit per il nodo mittente e destinatario• si introducono sia preamboli, sia delimitatori finali• controllo del frame attuato con controllo CRC
Internet 42
IP-ROUTING
Routing direttoindiretto
INTERNET instradamento attraverso diverse retiINTRANET algoritmo di routing all'interno di una rete
dipende dalla tecnologia sottostante
Astrazione• si ragiona in termini di reti• si ragiona per interconnessioni limitate di reti
In Internet host e gateway possono partecipare entrambial routing, ma con regole diverse
IP-ROUTINGSi possono presentare due casi:
1. Direct routing (INTRANET o SUBNET)host o gateway che invia il messaggio a un host chesi trova sulla stessa rete fisica
Operazioni svolte:• il datagramma viene incapsulato in un frame fisico• viene effettuata la traduzione da ip a indirizzo fisico• trasmissione dal mittente al destinatario
Internet 43
2. Indirect routing (INTERNET)host mittente e destinatario connessi su reti diverse
Il datagramma passa da un gateway ad un altro fino ad ungateway che può inoltrarlo direttamenteViene alterata solo la parte di frame fisicoUtilizzo di tabella di routing che lavora (per lo più) sulleinformazioni di rete
algoritmi di routing
1° possibilità: STATICObasato su informazioni statiche riguardanti il camminopiù breve
2° possibilità: DINAMICObasato su informazioni dinamiche di traffico della rete,lunghezza del messaggio e tipo di servizio richiesto
algoritmi GLOBALI (per le tabelle) e DISTRIBUITIadatti per configurazioni STATICHE
Vector Distanceogni gateway mantiene la distanza di ogni altra rete (in
genere in hop) e il vicino attraverso cui instradareLink State (shortest path)
ogni gatweway ha le informazioni di tutto il sistema
Problemi in caso di variazioni dinamiche delle tabelle
Internet 44
Algoritmo Vector DistanceTabelle di routing per ogni gateway senza conoscenzacompleta del cammino di interconnessione ma coninformazioni globali
Definizione di una metrica : ad esempio numero deipassi per raggiungere una rete
In ogni gateway NON si mantengono i camminicompleti, ma solo del primo passo e della distanza
FASE di PROPAGAZIONE
G1 G2 G3Rete Rete Rete Rete
R0 R1 R2 RnGn
Tabelle al primo passoR0 0 R1 0 R2 0 Rn-1 0R1 0 R2 0 R3 0 ... Rn 0
Tabelle al secondo scambioR0 0 R1 0 R2 0 Rn 0R1 0 R2 0 R3 0 Rn-1 0R2 1 G2 R0 1 G1 R1 1 G2.. ... Rn-2 1 Gn-1
R3 1 G3 R4 1 G4
A regime, ogni gateway contiene la distanza di ogni rete G1 G2 G3 GnR0 0 R1 0 R2 0 ıRn 0R1 0 R2 0 R3 0 Rn-1 0R2 1 G2 R0 1 G1 R1 1 G2 ... Rn-2 1 Gn-1R3 2 G2 R3 1 G3 R4 1 G4 Rn-3 2 Gn-1
Rn-4 3 Gn-1
Internet 45
G1 G2 G3 GnR0 0 R1 0 R2 0 Rn 0R1 0 R2 0 R3 0 Rn-1 0R2 1 G2 R0 1 G1 R1 1 G2 Rn-2 1 Gn-1R3 2 G2 R3 1 G3 R4 1 G4 Rn-3 2 Gn-1
R4 2 G1 R0 2 G2 Rn-4 3 Gn-1R5 2 G4 Rn-5 4 Gn-1
G1 G2 G3 GnR0 0 R1 0 R2 0 Rn 0R1 0 R2 0 R3 0 Rn-1 0R2 1 G2 R0 1 G1 R1 1 G2 Rn-2 1 Gn-1R3 2 G2 R3 1 G3 R4 1 G4 Rn-3 2 Gn-1R4 3 G2 R4 2 G1 R0 2 G2 Rn-4 3 Gn-1R5 4 G2 R5 3 G3 R5 2 G4 Rn-5 4 Gn-1
R6 4 G1 R6 3 G2 Rn-6 4 Gn-1R7 4 G4
FASE di propagazione molto lenta (esponenziale nelnumero dei nodi) G1 G2 G3 GnR0 0 R1 0 R2 0 Rn 0R1 0 R2 0 R3 0 Rn-1 0R2 1 G2 R0 1 G1 R1 1 G2 Rn-2 1 Gn-1R3 2 G2 R3 1 G3 R4 1 G4 Rn-3 2 Gn-1R4 3 G2 R4 2 G1 R0 2 G2 Rn-4 3 Gn-1R5 4 G2 R5 3 G3 R5 2 G4 Rn-5 4 Gn-1... R6 4 G1 R6 3 G2 Rn-6 4 Gn-1Rn n-1 G2 ... R7 4 G4 ...
Rn n-2 G3 ... R1 n-2 Gn-1Rn n-3 G4 R0 n-1 Gn-1
Internet 46
Variazione tabelle per una variazione di configurazione
G1 G2 G3Rete Rete Rete Rete
R0 R1 R2 RnGn
Rete
RQ
G1 G2 G3 GnR0 0 R1 0 R2 0 Rn-1 0R1 0 R2 0 R3 0 Rn-2 0RQ 0 R0 1 G1 RQ 0 Rn-3 1 Gn-1R2 1 G2 R3 1 G3 R1 1 G2 Rn-4 2 Gn-1R3 1 G3 RQ 1 G3 R0 1 G1 Rn-5 3 Gn-1
... ... ... ...
Propagazione locale delle tabelle di routing ad ogni vicino:si propaga la propria distanza. Chi riceve una offertaaggiorna opportunamente la tabella se la proposta èconveniente in base alla metrica
Raggiunto l'accordo, il routing è indipendente per ognigateway
CAMBIAMENTOin caso di crash o di aggiunta di un nuovo gateway
Possibilità di problemi (cicli ) e non convergenza
SVANTAGGI• i messaggi seguono gli stessi cammini• messaggi di aggiornamento con propagazione lunga econvergenza lenta
Internet 47
Problemi in Riconfigurazione
prendiamo una configurazione
A
B
C D E
In caso di guasto del link da D verso C, E ha un valoreprecedente e lo manda a D, poi ottiene il valore da D edincrementa il vaore locale, etc.
counting-to-infinity
Problema generale dovuto al non tenere traccia di chifornisce una distanza da un nodo (e cammino relativo)
Limitazione dell'infinito a 16 (metrica)
A
B
CD10
Rete
Tabelle dopo il guasto di BD per arrivare a Reteprima Tabelle dopo Tabelle finedir 1 D dir 1 dir 1 dir 1 dir 1 dir 1 dir 1D 2 B no C 4 C 5 C 6 C 11 C 12B 3 C B 3 A 4 A 5 A 6 A 11 A 11B 3 A B 3 C 4 C 5 C 6 C 11 C 12
A , B e C si danno informazioni sbagliate l'un l'altro
Internet 48
Split Horizonper evitare di passare informazioni sbagliate, non sioffrono cammino ai nodi da cui le abbiamo ottenute
Si noti la lenta convergenza del sistemale buone notizie => velocile cattive si propagano con time-out
Hold-downsi ignorano le informazione di cammino per un certoperiodo dopo una notifica di problema: tutti hanno mododi accorgersi del problema e non ci sono propagazionierrate
loop che si sono già creati vengono mantenuti durantel'hold-down
Split Horizon con poisoned reverse etriggered broadcast
ogni nodo invia immediatamente un broadcast con laindicazione ed il cammino
A invia a C un messaggio di non raggiungibilità se crededi raggiungere D via CC non può rifarsi ad A (che non raggiungeva D)
Ulteriori problemialtre fasi di broadcast che vengono generate
Evoluzione degli algoritmi per privilegiare variazioni
Internet 49
Algoritmi Link State
link-state o Shortest Path First SPFogni gateway ha una conoscenza completa dellatopologia di interconnessione (grafo completo)Tabelle di routing basate sulla conoscenza dell'interocammino
Il grafo di interconnessione, per evitare cicli viene gestitocon algoritmi che possono favorire decisioni locali(routing dinamico ) Dijkstra shortest-path-first
Possibilità di fare source routing e anche di spediremessaggi su cammini diversi (routing dinamico )
A REGIME, ogni gateway tiene sotto controllo le proprieconnessioni e le verifica periodicamente
• invio periodico di un messaggio ai vicini percontrollo della corretteza delle risorse locali
• identificazione del guasto(uso di più messaggi per evitare transitori)
Non appena si verifica un problema,che ha rilevato il problema invia il messaggio a tutti icomponenti (broadcast o flooding )
Internet 50
Vantaggi• si controlla solo il vicinato• azioni di variazione propagate rapidamente
(senza ambiguità)• possibilità di scelte differenziate nella topologia• conoscenza dei cammini completi
In sostanza le variazioni non sono dipendenti dapossibili intermediari
I messaggi sono gli stessi qualunque sia ladimensione del sistema
SCALABILITÀ
Svantaggi• necessità di mantenere tutta la topologia• azioni costose (broadcast) in caso di variazione
In generale, necessità di limitare idomini di conoscenza reciproca
Protocolli dinamici non sono scalabili
Internet 51
ROUTING Architettura INTERNET
NON un insieme di reti collegate direttamenteMA distinzione tra:
Sistemi core e noncore (ARPANET)core insieme di gateway chiave con informazioni diaccesso complete (e replicate)non core informazioni di routing solo parziali
I CORE si scambiano tutte le informazioni di routing(algoritmo Vector-Distance e Link-State )
I problemi sono nati aumentando il numero delle reti paredel sistema ==> astrazione e gerarchia
Sistemi autonomiinsieme di reti e gateway controllati da una autoritàunica centrale, con proprie politiche di routing
I sistemi AUTONOMI devono scambiarsi informazioni dirouting e coordinamento solo intra sistema: il sologateway di controllo provvede al protocollo verso l'esterno
Exterior Gateway Protocol (EGP)protocollo del gateway di controllo per trovare il percorsofino ai core
struttura ad albero con i core come radice
Internet 52
Interior Gateway Protocol (IGP)protocollo per trovare il percorso all'interno di un sistemaautonomo (intra sistema)
politica che consente percorsi multipli e con possibilitàdi tollerare i guasti (algoritmi multipath IGRP CISCO)
Routing Information Protocol (RIP)implementato in routed UNIX
nodi attivi e passiviATTIVI partecipano a determinare i percorsiPASSIVI restano ad ascoltare le decisioni degli altri
Ogni 30 secondi si manda un messaggio ai vicinicon la tabella di routing locale
Si aggiornano le tabelle in base ai messaggi ricevuti:se i messaggi rilevano cammini più brevi di quelli notisono stabiliti i nuovi cammini
Un cammino ha un time-out associato e scade dopo uncerto intervalloOgni nodo viene dichiarato guasto se non ha mandato unmessaggio per un certo intervallo (180 sec)
/ Metrica senza costi di link e valore massimo a 10.. Capacità di riconfigurazione
Solo reti di piccole dimensioni
Internet 53
IP_ROUTING non globale
servizio di instradamento (routing)L'IP routing determina l'indirizzo IP del nodo successivo acui inviare il datagramma
datagramma e indirizzo ==>e lo passa all'interfaccia di rete
routing con indirizzi IPdecisione del percorso sull'indirizzo di destinazione contabella di instradamento (Internet Routing Table)
presente sia sugli host che sui gatewayinformazioni sulla destinazione e su come raggiungerla
routing IP basato su informazioni di rete e non nodo==> ridurre dimensioni della tabella e
per aumentare efficienza nella scelta percorso
protocollo IPalgoritmo di routing
datagramma dainstradare
analisitabella dirouting
invio datagramma alla destinazione
successiva
utilizzo indirizzi IP
utilizzo indirizzi fisici
Routing dei datagrammiInternet 54
PROPRIETÀrouting statico• tutto il traffico per una data rete => stesso percorso
e non eventuali percorsi alternativi (vedi urgenze)autonomia•• ogni gateway autonomo
ogni datagramma da A a B può seguire un percorsodifferente rispetto a quello da B ad Ai gateway devono cooperare per garantire le due vie dicomunicazione nei due sensi
• solo il gateway finale comunica con destinatarioverifica se l'host esiste ed è operativo
consegna al mittente dei problemi di mancata consegna
PERCORSO A DEFAULTscelta di un gateway cui inviare i messaggi se non siconosce alcuna informazione correttamente
Indirizzamento IP cerca nella tabella locale poiinvia il datagramma al gateway di default
usato da host che servono direttamente una piccolaquantità di utenti e sono collegati attraverso una solaconnessione ad Internet
PERCORSO DIRETTO AD UNO SPECIFICO HOSTIndirizzamento diretto all'host
migliore controllo delle risorse
si veda netstat -r
Internet 55
ROUTING con INDIRIZZI IP per ogni nodo
instradamento con indirizzi IP non altera il datagrammaindirizzi del mittente originario e destinatario finale
la procedura IP calcola un nuovo indirizzo di gatewayif consegna diretta
then indirizzo del destinatario finale
else prossimo destinatario o next hopindirizzo fisico ricavato da indirzzo di IPdatagramma completo in parte dati per l'invio
IP evita di usare gli indirizzi fisici(CASO DINAMICO )
protocollo IP
algoritmo
invio datagramma alla successivadestinazione
utilizzo indirizzi IP
utilizzo indirizzi fisici
tabella di
routing
analisi oaggiornamentodei percorsi
datagramma da
instradare
di routing
Software IP e tabella di indirizzamento
Internet 56
ALGORITMO DI ROUTING IPfunzione
Route_IP_Datagram (datagram, routing_table)
Separazione indirizzo IP destinatario (Idest ) datagrammaValutazione indirizzo IP della rete di destinazione (Inet )
if Inet un indirizzo raggiungibile direttamentethen invio del datagramma alla rete destinataria
( trasformazione indirizzo IP in indirizzo fisico eincapsulamento del datagramma in frame)
else if Idest un host con un cammino propriothen invio del datagramma in base alla tabella
else if Inet si può ottenere da una entry nella tabelladi routing
(tenendo conto di subnet)then si invia il datagramma al prossimo gateway
else percorso di default per tutti i restanti datagrammi
Si tiene conto della sottoreteusando la maschera ed Idest
Si deve anche trattare la possibilità di errori diindirizzamento: ad esempio un host non esistente sullarete locale
Internet 57
DATAGRAMMI in ingresso
host o gateway tratta i datagrammi ricevuti
host livello IP verifica se destinatario utente localeif arrivato,then lo accetta e lo passa al protocollo di alto livello
else controllo destinazioneevitando rinvii di datagrammi consegnati per errore
gateway due casi: destinazione finale o altro invioinstradamento con algoritmo standard usando informazioni della tabella di indirizzamento locale
Problemi• host con più connessioni fisiche e più indirizzi IP• datagrammi broadcast
anche decremento del campo 'time_to_live' neldatagramma, scarto del datagramma se zero
uso di host come gateway ==> problemi• quando un host riceve un datagramma errato, se
provvede azioni correttive può nascondere errori• più macchine di routing causano un inutile traffico in rete• errori possono portare confusione (broadcast multiplo)• i gateway devono traslare formati e standard di protocolli
Internet 58
Tabella di routing ==> interfaccia chiara traIP che instrada i datagramma ealto livello che gestisce i percorsi.
La gestione di rete deve esaminare le tabelleindirizzi IP in tabella rende semplice la gestione
Internet Protocol crea astrazionesoftware Internet usa indirizzi di alto livello
La creazione delle tabelle di routing e del lorocoordinamento avviene tramite un protocollo
Routing Information Protocol (RIP)ispirato a distance-vector (con modifiche) basato su
• ruoli attivi e passivi• broadcast (30 secondi) di messaggi di cambiamento• mantiene vecchi cammini• elimina problemi di non convergenza(con split horizon triggered update poisoned reverse)
Open SPF Protocol(link-state o Shortest Path First)
con servizi ulteriori• cammini multipli e load balancing, cammini specifici• introduzione di aree auto-contenute• autenticazione• definizione di risorse virtuali• ottimizzazione delle risorse (broadcast)
Internet 59
Protocollo ICMPErrore. Il segnalibro non è definito.Internet Control Message Protocol (ICMP)Gestione della reteControllo della rete
ICMP consente di inviare messaggi di controllo o di erroreal sorgente del messaggio (solo a questo)
ICMP usato per il coordinamento tra livelli di IP
Condizioni di errore al mittente (non correzione)per i relativi provvedimenti
nodi intermedi non informati dei probleminodo sorgente può provvedere a correggere
type identificatore del messaggiocode informazioni sul tipo di messaggiochecksum (16 bit) utilizzato dal relativo algoritmo
TYPE
DATA
. . .
0 8 16 31
CODE CHECKSUM
in caso di errore l'header del datagramma sbagliato
Messaggio ICMP inserito un datagramma IP: il messaggioICMP contiene sempre l'header e 64 bit dell'area dati deldatagramma che ha causato il problema
Internet 60
Possibili valori del campo type0 Echo Reply3 Destinazione irraggiungibile4 Problemi di congestione (source quench)5 Cambio percorso (redirect)8 Echo Request11 Superati i limiti di tempo del datagramma12 Problemi sui parametri del datagramma13 Richiesta di timestamp14 Risposta di timestamp15 Richiesta di Address mask16 Risposta di Address masketc.
campo CODE ==> un intero dipendentedai valori del campo TYPE
Se il destinatario non si raggiungecampo type vale 3 e campo code codice di errore
0 Rete irraggiungibile1 Host irraggiungibile2 Protocollo irraggiungibile3 Porta irraggiungibile4 Frammentazione necessaria5 Errore nel percorso sorgente (source route fail)6 Rete di destinazione sconosciutaetc.
Internet 61
ICMP livello errorii messaggi ICMP sono considerati a livello di datagrammiIP a tutti gli effetti
sono soggetti alle stesse regole di routing• non hanno priorità• possono essere persi• possono causare ulteriore congestione
ICMPRappresenta un mezzo per rendere note condizionianomale a chi ha mandato datagrammi (usando IP)
La politica di uso è tutta a carico dell'utilizzatoreMETALIVELLOe gli errori sugli errori?Errori su messaggi ICMP non possono causare a lorovolta messaggi ICMP
destination unreachable (type 3)Network unreachable (code 0)Frammentazione necessaria, ma non consentitaRoute a sorgente non esatta (source route failed)
source quench (type 4) caso di congestioneSe il buffer dedicato ai frammenti e datagrammi èesaurito, sono scartati: si invia un avvertimento al mittente
cicli e perdita di datagrammi (type 11)problemi su un datagramma singolo
scadenza del time-to-live o del tempo di ricomposizione
Internet 62
ICMP livello coordinamento
Invio di informazioni di routing tra gateway
TYPE
IDENTIFIER
OPTIONAL DATA
. . .
0 8 16 31
CODE CHECKSUM
SEQUENCE NUMBER
echo request/reply (type 8/0) controllo percorsoun host verificare la raggiungibilità di una destinazionePer esempio:- si può verificare che un host esista
inviando un echo request (type 8)ricezione di echo request (type 0)
(vedi comando di ping )
redirect (type 5) cambio percorsoun gateway deve cambiare la propria tabella di routing
address mask (type 17/18) richiesta di mascheraun gateway deve conoscere una sottorete
sincronizzazione degli orologi (type 13/14)ricezione e invio del tempo fisico
si considerano i millisecondi
Internet 63
UDP User Datagram ProtocolRete nodo a nodoTrasporto processo a processo
− IP indirizzo del destinatario identifica un nodoIP trasferisce dati tra una coppia di nodi su Internet
− UDP deve distinguere tra più processi in esecuzionesu un dato nodo connesso alla reteprocessi identificati con protocol number
{indirizzo: indirizzo IP + numero di porta }
UDP si appoggia a IP per consegnare i datagrammi
Application
User Datagram
Internet (IP)
Interfaccia di rete
LIVELLI CONCETTUALI
(UDP)Area dati
header Area dati
Area dati FrameFrame
header
IP
UDP
Internet 64
UDP fornisce un servizio unreliable e connectionlessdatagrammi possono essere persi, duplicati,pesantemente ritardati o consegnati fuori ordineil programma applicativo che usa UDP deve trattare iproblemi
PROTOCOLLO
formato di un datagramma UDP
UDP SOURCE PORT
UDP MESSAGE LENGTH
DATA
. . .
0 16 31
UDP CHECKSUM
UDP DESTINATION PORT
I messaggi UDP sono user datagramheader e area dati
headerdiviso in quattro parti di 16 bit
porta sorgenteporta destinazionelunghezza messaggiochecksum
Uno user datagram è contenuto nell'area dati deldatagramma IP
Internet 65
Protocollo UDP
Decisioni dimultiplexing, demultiplexing, porte
multiplexing ==> messaggi da più processi applicativiparalleli con un solo servizio IP
demultiplexing ==> lo stesso messaggio recapitato allaporta corretta
UDP
ICMP IP
Interfacciaverso la rete fisica
Processodi utente
Processodi utente
Porta Porta Porta
Uso di porteogni programma ha almeno una porta perinviare/ricevere datagrammi
Lo spazio della porta UDP è descritto con nomi a 16 bit
Internet 66
ASSEGNAZIONE DEI NUMERI DI PORTA UDPAutorità Centrale vs. Collegamenti Dinamici
NOMI STATICIAutorità Centrale
per assegnare i numeri di porta universalmente validi
well-known port
0 Riservato7 echo9 discard11 users13 daytime37 time69 tfpt (trivial file transfer protocol)111 Sun RPC protocol513 who (demone di rwho)514 system log
NOMI DINAMICICollegamenti Dinamici
assegnamento su necessitànumeri di porta non a priori, ma dati su richiesta
Realizzazione Internet UDP/TCP ==> soluzione ibridaAlcuni numeri di porta a prioriAltri assegnati dinamicamente
Internet 67
SPAZI delle PORTESia UDP sia TCP utilizzano il protocollo IP
ma anche svincolati da IP
connessione end-to-endTCP comunicazione simultanea di più processi della
stessa macchina
TCP crea l'astrazione di connessionecoppia di estremi (endpoint)
Un endpoint è definito dalla coppia di interi {host,port}con host è l'indirizzo IP dell'host della porta TCP port
connessione {host1, port1, host2, port2}un port number può essere condiviso da più connessioni
i numeri di porta non sono esclusivi ==>servizi concorrenti
Connessioni distinteconnessione {host1, port1, host2, port2}connessione {host1, port1, host2, port3}
Principali servizi assegnati di autorità dal NIC (NetworkInformation Center) ad es. posta elettronicanumeri di porta well-known
Le porte TCP sono distinte dalle porte UDP
Internet 68
PORTA PROTOCOLLO DESCRIZIONE20 FTP-DATA File Transfer Protocol (dati)21 FTP File Transfer Protocol23 TELNET Terminale remoto25 SMTP Protocollo di posta elettronica80 HTTP Protocollo WWW
119 NNTP Protocollo di invio news
Quadro completo delle associazioni tra porte e servizi in/etc/services
Processodi utente
Processodi utente
TCP UDP
ICMP IP ARP RARP
Interfacciaverso la rete fisica Livello 1
Livello 2
Livello 3
Livello 4
Livelli dei protocolli di TCP/IP
Internet 69
TCP (Transmission Control Protocol)
Fornisce un servizio di trasmissione dati affidabilebasato sulle proprietà
• reliable stream full duplex• connessione o canale virtuale bidirezionale
la connessione end-to-end garantisce che ilmessaggio passa dalla memoria del mittente aldestinatario con successo
• flusso di dati non strutturato (byte stream )• presenza di dati prioritari
NON SI IMPEGNANO I NODI INTERMEDIsi usano solo le risorse degli end-user
PROTOCOLLO− formato dei dati trasmessi (segmenti)− possibilità di dati urgenti− regole per la bufferizzazione e l'invio degli
acknowledgement (sliding window) e relativo formato− possibilità di comporre messaggi e decomporre− meccanismi di de/multiplexing (vedi UDP)
concetto di porta per distinguere più processi suuno stesso host
SERVIZI− stabilire la connessione /chiudere− scambiare dati sulla connessione
Internet 70
Formato del segmento TCP (header 20 byte)
SEQUENCE NUMBER
RSRVD WINDOW
URGENT POINTER
OPTIONS (IF ANY) PADDING
DATA
. . .
0 4 10 16 24 31
SOURCE PORT DESTINATION PORT
HLEN
CHECKSUM
ACKNOWLEDGEMENT NUMBER
CODE BIT
lunghezza del segmento in checksum
CODE BITURG un dato urgente nel segmentoACK acknowledgement nel segmentoPUSH invio immediato del segmentoRST reset di una connessioneSYN si stabilisce la connessioneFIN termine della connessione
Si cerca di frammentare meno possibile i messaggi:• troppo corti: grosso overhead di trasmissione• troppo lunghi: frammentazione a livello di IP e possibili
perdite ed overhead
Internet 71
Reliabilitymittente attende un messaggio di acknowledgement perogni segmento spedito prima di inviarne uno successivo
MITTENTE RETE RICEVENTE
Invio pacchetto 2
Invio pacchetto 1
Ricezione pacchetto 1
Invio ACK 1
Ricezione ACK 1
Ricezione pacchetto 2
Invio ACK 2
positive acknowledgement
Il mittente deve attendere tra una trasmissione e l'altra==> inefficienza del sistema di conferme
Se un ack non arriva, ritrasmissione ==>destinatario riceve due pacchetti identicideve tenere traccia dei pacchetti ricevuti e scartarli
ricezione ritardata di un messaggio di ack ==>invio di nuovo del pacchettoack con numero di identità
Quante ritrasmissioni?
Se c'è traffico nei due sensi, gli ack sono inseriti sultraffico in direzione opposta (piggybacking )
Internet 72
POSSIBILITÀ finestra scorrevolefinestra ideale di dimensione in byte
il mittente invia pacchetti fino a saturare la finestraanche senza nessuna conferma di ricezione
il destinatario invia conferme alla ricezione del pacchettocomunicazione full-duplex
timer di time-out
• se i pacchetti spediti sono confermati , la finestra scorree si trasferiscono pacchetti successivi
• gli ack possono arrivare non nell'ordine di trasmissionenon si interrompe la trasmissione se tutti giungonoentro il timeout di ogni singolo pacchetto
• se scade il timeout di un pacchetto, si reinviala trasmissione riprende, spostando la finestra sulprimo pacchetto di cui non ha ancora ricevutol'acknowledge
Sliding window di dimensione otto pacchettiFinestra scorrevole nella posizione iniziale
Finestra scorrevole in movimento
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Internet 73
livelli di prestazione ==>dimensione della finestra (stabilita dinamicamente) evelocità di trasmissione dei pacchetti
MITTENTE RETE RICEVENTE
Invio pacchetto 2
Invio pacchetto 1
Ricezione pacchetto 1Invio ACK 1
Ricezione ACK 1 Ricezione pacchetto 2
Invio ACK 2Invio pacchetto 3
Ricezione ACK 2
Ricezione ACK 3
Ricezione pacchetto 2Invio ACK 2
Tre pacchetti con finestra scorrevole
Rispetto allo schema visto, TCP• usa byte per dimensione della finestra
i segmenti vengono inseriti nel flusso• lavora con finestra di dimensione variabile
sliding window specificata del ricevente• intende gli ack in modo cumulativo
un ack specificato del ricevente porta l'indicazione, ditutto ciò che è stato ricevuto nello stream fino almomento dell'ack
• ritarda i messaggi che vengono inviati raggruppati in unsegmento locale prima dell'invio (anche gli ack)
• usa piggybacking per gli ack
Internet 74
ack cumulativiArrivo di ack di un messaggio implica che sono arrivatianche i precedenti
perdita di ack non forza ritrasmissione
svantaggioun ack cumulativo dice poco sullo stato del ricevente
al mittente ack dice la stessa posizione nellostream ricevente (anche se alcuni dopo arrivati)con modo ack selettivo
• aspettare l'ack richiesto dopo la trasmissionee reinviare solo quello mancante
• reinviare tutto, anche quelli già ricevuti dalricevente
Invio di segmenti cortiinvio di un messaggio corto rappresenta un forteoverhead
TCP tende a non mandare messaggi cortisia per il mittente, sia per il destinatario (efficienza)
messaggi raggruppati al mittentegli ack sono ritardati in attesa di traffico in versoopposto
peggioramento del tempo di rispostaspecie in caso di interattività
definizione di un time-out oltre il quale il messaggiocorto viene inviato
Internet 75
protocollo per stabilire la CONNESSIONE TCPconnessione tra due nodi
three-way handshaketre fasi di comunicazione per il coordinamento
PRIMA FASEA invia il segmento SYN a B e richiede la connessione(SYN nell'header del segmento e X valore scelto da A)
SECONDA FASEB riceve il segmento SYN e ne invia uno identico ad Ainsieme all'ack (e Y valore scelto da B)
TERZA FASEA riceve il segmento SYN ed ack e conferma laricezione a B attraverso un ack a sua volta
POSTAZIONE A RETE
Invio ACK y+1
Invio se gmento SYN
Ricezione se gmento SYN
Invio se gmento SYN seq=y,
Ricezione SYN + ACK
Ricezione se gmento ACK
POSTAZIONE B
numero seq=x
ACK x+1
Il sistema di comunicazione a tre fasi ==> compromessoogni nodo invia un messaggio ed ha confermaSemantica at-least once
Internet 76
protocollo di BIDDING (senza rifiuto)
NEGOZIAZIONE a tre fasisi verifica che• entrambi i nodi disponibili alla connessione per una
sessione di comunicazione• accordo sulla sequenza iniziale di valori: ogni pari
propone per il proprio verso:nomi di portanumeri per i flussi (messaggi ed ack)
La sequenza é confermata proprio durante lainizializzazioneScelta casuale di un numero da cui iniziare lanumerazione e comunicato all'altra per ogni flusso
E se si perde un messaggio?Si attua un time-out con intervalli crescenti
normalmente 5,8 sec, poi 24 sec.
In fase iniziale si negoziano anche altre opzioni:• accordo sul MSS (maximum segment size)
dimensione del blocco di dati massimo da inviaredefault 536Maggiore il valore, migliori le performance
• fattore di scala della finestra• richiesta di tempo e risposta
per il coordinamento degli orologi
Sono possibili azioni simultanee di apertura
Internet 77
CHIUSURA
NEGOZIAZIONEchiusura a fasi== > semplice operazione di close gracefulChiusura monodirezionaleChiusura definitiva in un verso
senza perdere i messaggi in trasferimento
A comunica a TCP di non avere altri datiTCP chiude la comunicazione solo nel verso da A a B
se B non ha terminato, i dati continuano da B ad A
e ack da A a BTCP permette solo il passaggio di ack su canaleintenzionalmente chiuso
chiusura a tre fasi
A invia segmento FINTCP aspetta a dare corso alla chiusura definitiva, ma inviaad A solo un ack
Dopo il tempo necessario per i programmi applicativiB invia ad A il suo segmento FIN che informa delladisponibilità a chiudere la connessione
L'ultimo passo ==> conferma da A a B della ricezione delsegmento FIN e la chiusura del collegamento
Internet 78
POSTAZIONE A RETE
Invio ACK y+1
Invio segmento FIN
Ricezione segmento FIN
Invio ACK di x+1
Ricezione ACK
Ricezione segmento ACK
Invio segmento FIN, ACK x+1
POSTAZIONE B
numero seq=x
Ricezione diFIN + ACK
Anche per la chisura sono possibili azioni simultanee
eventi anomalisegmento di reset viene inviatoper rilevare una situazione anomala
ad esempio, richiesta di connessione senza server
anche un reset della connessione stabilitaper abortire la stessa (i dati sono persi)
La connessione esiste solo negli endpointin caso di guasto a fronte di azioni ripetute di recoverysi stabilisce di chiudere in modo abortivo
Internet 79
Protocollo a regime
Calcolo del time-outin base al tempo di percorrenza medio di un segmentoandata e ritornoAggiornamento del fattore in base ai valori correntiProblemi in caso di calcolo su ritrasmissioni
un ack in arrivo è per il primo o per un messaggioritrasmesso
Controllo del flussocontrollo di flusso fondamentale per internet in cui sonopresenti macchine molto diverse fra loro
in caso di segmento con PUSH, il segmento inviatoimmediatamentein caso di informazioni urgenti (bit URG) se ne segnalala posizione nel flusso
Ogni messaggio con ack specifica il flusso ricevuto e lafinestra di accettazione corrente nella propria direzioneIl mittente adegua la dimensione della sliding window
in caso di congestione si dimezza la finestra e siraddoppia il time-out: al termine della congestione siriparte con finestra piccola (slow start)
Internet 80
Proprietà protocollo TCP
Evitare di avere trasmissioni di messaggi cortiSilly window finestre limitate e messaggi breviin genere non si fanno azioni sotto una certa soglia
Applicazione rloginogni informazione (1 char) richiede 41 byte-- Algoritmo di Nagle si ammette di avere pendente
senza ack al più un solo messaggio cortoretroazione automatica
Applicazione Xwindowdisabilitazione del Nagle per interattività
Timerla connessione non comporta alcun uso di risorse se nonsi inviano messaggi
per garantire l'operatività invio di un messaggio dikeep-alive inviato ogni intervallo (7200) sec.
Estensioni a TCPnel senso di creare un vero supporto per le transazionied abbreviare i tempi di attesa
Internet 81
Problemi di TCP
In caso di un uso estensivo di strumenti applicativi cheseguano un protocollo:
cliente apre connessione richiesta 1 messaggio chiusura connessione
servitore attesa connessione riccezione 1 messaggio/risposta chiusura connessione
le azioni di prologo/epilogo dominano(si vedano le interazioni Web)
è stato proposto il T/TCP che raggruppa le azioni:• il cliente manda il messaggio già con il primo segmento
e si rinuncia alla fase di negoziazione• il servitore all'arrivo del messaggio invia con l'ack, la
risposta e la chiusura della connessione
- nel caso migliore (se non ci sono problemi), ilprotocollo costa come UDP
(1 messaggio andata, 1 di ritorno)/ nel caso peggiore, il costo si avvicina a quello di TCP
top related