A. Tanenbaum - Reti di Calcolatori - 4° Edizione.pdf

Embed Size (px)

Citation preview

  • 7/25/2019 A. Tanenbaum - Reti di Calcolatori - 4 Edizione.pdf

    1/2

    434 Capitolo 5

    --------------------------------------------------------- 32 Bit ------------------------

    Version IHL Type of service Total length

    Identification P p Fragment offset

    Time to live Protocol Header checksum

    Source address

    Destination address

    Opzioni (0 o pi word)

    Figura 5.53. Lintestazione di IPv4 (Internet Protocol).

    sione digitale del parlato la velocit di trasmissione prevale sullaccuratezza, mentre nel tra-

    sferimento dei file la trasmissione senza errori una qualit pi importante della velocit.

    In origine, il campo di 6 bit conteneva (da sinistra a destra) un campo di 3 bit chiamato pre -

    cede t t e (priorit) e tre segnalatori, D ,T e R. Il campoprec ed en ce indicava la priorit da 0

    (normale) a 7 (pacchetto di controllo della rete). I tre bit di segnalazione permettevano alf-

    host di indicare linteresse nei confronti dellinsieme costituito da ritardo, capacit di tra-

    sporto, affidabilit. In teoria, questi campi permettevano ai router di scegliere, per esempio,tra un collegamento via satellite caratterizzato da unelevata capacit di trasporto e da un

    lungo ritardo e una linea affittata caratterizzata da una bassa capacit di trasporto e un ritar-

    do ridotto [NrR - stato definito anche un ulteriore bit, C: se impostato a uno, il router

    dovrebbe scegliere il percorso di costo minimo per il pacchetto. I bit inutilizzati prima del

    campo Total lenght, perci, non sono due ma uno solo]. In pratica i router correnti spesso

    ignorano del tutto il campo type o f Service. Alla fine, IETF ha gettato la spugna e ha cam-

    biato un po il campo per favorire i servizi differenziati. Sei bit sono utilizzati per indica-

    re la classe di servizio di appartenenza del pacchetto; come abbiamo gi visto, queste clas-

    si includono quattro priorit di accodamento, tre probabilit di eliminazione e le classi sto-

    riche. Total lenght (lunghezza totale) tiene conto di tutto il contenuto del datagramma,

    intestazione e dati; la lunghezza massima 65.535 byte. Oggi questo limite superiore

    tollerabile, ma le reti gigabit del futuro potrebbero richiedere datagrammi pi grandi. Il

    campo identification (identificazione) serve allhost di destinazione per determinare a

    quale datagramma appartiene il frammento appena arrivato. Tutti i frammenti di un data-

    gramma contengono lo stesso valore identification. Subito dopo c un bit inutilizzato, e

    poi due campi lunghi un 1 bit. DF l acronimo di D o n t F ragm en t, ossia non frammenta-

    re; rappresenta un ordine che impone ai router di non dividere in frammenti il datagram-

    ma perch la destinazione non in grado di rimettere insieme i pezzi. Per esempio, allav-

    vio di un computer, la ROM potrebbe chiedere di ricevere unimmagine di memoria tra-

    smessa tramite un solo datagramma.

  • 7/25/2019 A. Tanenbaum - Reti di Calcolatori - 4 Edizione.pdf

    2/2

    Lo strato network 435

    Contrassegnando il datagramma con il bitDF, il trasmettitore sa che i dati arriveranno cos

    come sono stati trasmessi, ossia in un unico pezzo, anche se questo significa imporre al

    datagramma di evitare una rete a pacchetti piccoli posta sul percorso migliore, per segui-

    re invece un percorso non ottimale. Qualsiasi computer deve accettare frammenti con

    dimensione di 576 byte, ma pu accettarne anche di pi brevi. MF lacronimo di More

    Fragments, ossia pi frammenti. Tutti i frammenti, tranne lultimo, hanno questo bit imposta-

    to a L E fondamentale sapere quando sono arrivati tutti i frammenti di un datagramma.

    Fragment offset(offset del frammento) indica la posizione del frammento nel datagramma cor-

    rente. Tutti i frammenti tranne lultimo in un datagramma devono essere multipli di 8 byte, che

    la dimensione del frammento elementare. Poich sono disponibili 13 bit, ci possono essere

    al massimo 8.192 frammenti per ogni datagramma, di conseguenza la lunghezza massima diun datagramma pari a 65.536 byte, uno pi del campo total lenght. Il campo fune to live

    (tempo di vita) un contatore utilizzato per limitare la vita di un pacchetto. Si presume

    che il conteggio sia espresso in secondi, quindi la durata massima di 255 sec. Il conta-

    tore dovrebbe essere decrementato a ogni salto, oppure se rimane per lungo tempo acco-

    dato in un router (in questo caso dovrebbe essere decrementato pi volte). Nella realt,

    per, il valore riflette solo il numero di salti. Quando raggiunge lo zero, il pacchetto scar-

    tato e un pacchetto di avviso inviato allhost sorgente. Questa funzionalit impedisce ai

    datagrammi di girare a vuoto per sempre, evento che potrebbe accadere in caso di dan-

    neggiamento delle tabelle di routing. Quando ha assemblato un datagramma completo, lo

    strato network ha bisogno di sapere che cosa farne. Il campo pro to col (protocollo) indica

    quale processo di trasporto in attesa di quei dati. TCP una possibilit, ma ci sono anche

    UDP e altre soluzioni. La numerazione dei protocolli valida globalmente in Internet. I

    numeri di protocollo e gli altri numeri assegnati sono stati elencati in passato nel docu-

    mento RFC 1700, ma oggi sono contenuti in un database in linea che pu essere scarica-

    to dal sito www.iana.org. Il campo header checksum (checksum dellintestazione) verifi-

    ca solo lintestazione. Questo checksum aiuta a rilevare gli errori generati da locazioni di

    memoria difettose nel router. Lalgoritmo somma tutte le mezze parole di 16 bit appena

    arrivate, usando l aritmetica in complemento a uno, e poi prende il complemento a uno del

    risultato. Per gli scopi di questo algoritmo, si suppone che header checksum sia zero allar-

    rivo. Questo algoritmo pi robusto di una normale somma. Si noti che header checksum

    deve essere ricalcolato a ogni salto, perch almeno un campo cambia sempre (il campo

    time to live), ma alcuni trucchi permettono di accelerare lelaborazione. Source address

    (indirizzo sorgente) e destination address (indirizzo di destinazione) indicano il numero direte e il numero di host; gli indirizzi Internet sono esaminati nel prossimo paragrafo. Il campo

    options (opzioni) era stato pensato come via di fuga per dare alle versioni successive del pro-

    tocollo la possibilit dincludere informazioni non presenti nel progetto originale, agli speri-

    mentatori di collaudare nuove idee e ai progettisti di evitare di assegnare bit di intestazione

    alle informazioni usate pi di rado. Le opzioni sono di lunghezza variabile. Ognuna inizia con

    un codice di 1 byte che la identifica; alcune sono seguite da un campo option lenght (lun-

    ghezza di opzione) di 1 byte che precede uno o pi byte di dati. Il campo options riempito

    con multipli di quattro byte. In origine erano definite cinque opzioni, elencate nella Figura

    5.54; successivamente ne sono state aggiunte delle nuove.