La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

SOMMARIO Internet –Struttura e caratteristiche –Principali protocolli di Internet –Indirizzamento –Troubleshooting.

Presentazioni simili


Presentazione sul tema: "SOMMARIO Internet –Struttura e caratteristiche –Principali protocolli di Internet –Indirizzamento –Troubleshooting."— Transcript della presentazione:

1

2 SOMMARIO Internet –Struttura e caratteristiche –Principali protocolli di Internet –Indirizzamento –Troubleshooting

3 Internet: cenni storici (1/2) Il progenitore della rete Internet è considerato il progetto ARPANET, finanziato dalla Defence Advanced Research Projects Agency (DARPA), con il quale si intendeva collegare tutti i computer e i sistemi di time sharing in una rete continentale a commutazione di pacchetto. Il contratto fu assegnato all’azienda BBN (Bolt, Beranek e Newman) e nel 1969 la rete venne fisicamente costruita collegando quattro nodi: l'Università di Los Angeles, di Stanford, di Santa Barbara, dello Utah. Negli incontri per definire le caratteristiche della rete, vennero introdotti i fondamentali Request for Comments (RFC).

4 Internet: cenni storici (2/2) ARPANET allargò i suoi nodi oltreoceano molto rapidamente, infatti, dopo pochi anni in Francia iniziò la costruzione della rete Cyclades, fu collegata la rete ARPANET con lo University College di Londra attraverso la rete norvergese Norsar e già nel 1976 fu inviata la prima e- mail. Successivamente ARPANET venne totalmente bloccata (1980) e vennero definiti il Transmission Control Protocol (TCP) e l'Internet Protocol (IP) che diedero il via ufficialmente ad Internet come l'insieme di reti connesse tramite questi protocolli.

5 Internet: elementi costitutivi (1/2) Nel gergo di Internet, i dispositivi situati all’estremità della rete sono chiamati host o end system (terminali). sono calcolatori di vario tipo su cui girano i programmi applicativi Client-server: il client invia una richiesta e il server risponde (es. www); Peer-to-Peer: le due entità comunicanti si scambiano informazioni in modo paritetico (es. teleconferenza); i programmi applicativi possono essere progettati secondo due modelli:

6 Internet: elementi costitutivi (2/2) I terminali sono collegati tra loro attraverso link di comunicazione (doppini in rame, cavi coassiali, fibre ottiche, collegamenti satellitari, etc.) caratterizzati da una differente velocità di trasmissione detta larghezza di banda del link. Normalmente i terminali non sono collegati direttamente fra loro attraverso un singolo link di comunicazione; essi sono collegati indirettamente attraverso dispositivi di commutazione detti router.

7 Reti a layers (1/5) Questo approccio fu abbandonato in favore di una soluzione a layers in cui esistono tante piccole applicazioni, ognuna della quali gestisce una parte specifica del processo di trasmissione dati: Negli anni ’70, i programmatori creavano software monolitico per trasferire dei dati tra due generici punti della rete. tx e rx fisica controllo degli errori controllo del flusso conversione dei dati crittografia e sicurezza sincronizzazione

8 Reti a layers (2/5) In un modello a strati, ciascun layer (o livello): è responsabile di un sottoinsieme definito e limitato di compiti; funziona indipendentemente dagli altri; interagisce solo con gli strati immediatamente inferiore e superiore; fa affidamento sui “servizi ” forniti immediatamente dallo strato inferiore; fornisce “servizi” allo strato immediatamente superiore; Vantaggi e svantaggi: l’indipendenza tra gli strati consente la sostituzione di uno strato con un altro di pari livello che offra i medesimi servizi allo strato superiore, senza dover riscrivere l’intera applicazione monolitica; limitare le funzionalità di uno strato ne semplifica la realizzazione; alcuni strati vengono realizzati in software, altri in hardware; l’eccessivo numero di strati può portare ad inefficienze.

9 Reti a layers (3/5) All’interno di ciascun dispositivo di rete, lo scambio di informazioni tra due strati adiacenti avviene attraverso una interfaccia, che definisce i servizi offerti dallo strato inferiore allo strato superiore.

10 Reti a layers (4/5) Lo strato n-esimo di un dispositivo comunica con lo strato n-esimo di un’altra entità secondo un protocollo assegnato.

11 Reti a layers (5/5) Un protocollo è un insieme di regole che definisce il formato dei messaggi scambiati e consente a due o più entità di comunicare tra di loro e di comprendere la comunicazione. Esistono vari tipi di protocolli, in particolare, nelle reti di calcolatori, essi regolano la comunicazione tra qualsiasi entità di pari livello esistenti in due dispositivi della rete definendone il formato e l’ordine dei messaggi scambiati.

12 Modello OSI (1/9) Comprendendo la necessità di sviluppare uno standard di rete per consentire l’integrazione di reti differenti, nel 1979, l’organizzazione ISO (International Standard Organization) studiò un modello a sette layers per le comunicazioni di rete chiamato OSI (Open System Interconnection). Il modello OSI permette di scrivere dei piccoli client per i vari layers dello standard evitando in tal modo la scrittura di enormi protocolli di rete.

13 Modello OSI (2/9) 1. FISICO 2. DATA LINK 3. RETE 4. TRASPORTO 5. SESSIONE 6. PRESENTAZIONE 7. APPLICAZIONE

14 1. FISICO Modello OSI (3/9) Il livello fisico (physical layer) si occupa di trasmettere sequenze binarie sul canale di comunicazione; definisce il modo in cui i bit vengono codificati e viaggiano lungo il mezzo di trasmissione (cavo, fibra ottica, etc.); è il luogo in cui si svolgono le funzionalità elettriche e meccaniche.

15 2. DATA LINK Modello OSI (4/9) Il livello di collegamento (data link layer) specifica il modo in cui vengono inviati i pacchetti di dati, “frames”, tipicamente costituiti da poche centinaia di byte; ogni frame è preceduto da un’intestazione costituita principalmente dalle informazioni DLC (Data Link Control) che contengono l’indirizzo di origine e quello di destinazione; ogni frame è seguito da una sequenza FCS (Frame Control Sequence) che contiene delle informazioni aggiuntive di controllo per verificare la presenza di errore di trasmissione.

16 3. RETE Modello OSI (5/9) Il livello di rete (network layer) gestisce l’instradamento dei datagram da un host all’altro; il protocollo IP opera al layer di rete; contiene numerosi protocolli di instradamento per ottimizzare il traffico presente sulla rete; determina il percorso che i datagram devono seguire fra sorgente e destinazione;

17 4. TRASPORTO Modello OSI (6/9) Il livello di trasporto (transport layer) è responsabile del controllo end-to-end, ovvero controlla che i dati arrivino e non subiscano degradi durante il tragitto; il protocollo TCP e il protocollo UDP operano al layer di trasporto. può frammentare i pacchetti, fornire un meccanismo di controllo della congestione, comprendere un servizio di controllo di flusso, può rilevare e/o correggere gli errori;

18 5. SESSIONE Modello OSI (7/9) Il livello di sessione (session layer) è responsabile dell’organizzazione del dialogo e della sincronizzazione tra due programmi applicativi e del conseguente scambio di dati, ovvero consente ai vari processi di comunicare tra loro.

19 6. PRESENTAZIONE Modello OSI (8/9) Il livello di presentazione (presentation layer) garantisce le funzionalità di traduzione, ovvero gestisce la sintassi dell’informazione da trasferire in quanto l’informazione è rappresentata in maniera differente su elaboratori diversi. Ad esempio può eseguire la traduzione da ASCII a EBCDIC.

20 7. APPLICAZIONE Modello OSI (9/9) Il livello delle applicazioni (application layer) fornisce ai programmi applicativi un mezzo di accesso alla rete; VT: Virtual Terminal, connessione interattiva ad un elaboratore remoto; FTAM: File Transfer and Access Management; X.400: posta elettronica esempi di applicazioni previste dal modello OSI:

21 Stack TCP/IP (1/3) Internet si basa su un modello definito da una collezione di protocolli standardizzati dall’Internet Engineering Task Force (IETF): modello TCP/IP. Siccome i protocolli sono organizzati secondo una struttura a pila (stack), si parla di stack TCP/IP. TCP: Transmission Control Protocol (livello di trasporto) IP: Internet Protocol (livello di rete) Il modello prende il nome da due protocolli fondamentali:

22 Stack TCP/IP (2/3) TCP/IP è diventato lo standard “de facto” per la trasmissione di dati fra reti fin dalla metà degli anni ’70. A partire dal 1983 costituì una presenza obbligatoria per tutti i computer connessi tramite la rete Internet. Questa situazione nacque grazie alla distribuzione volontaria del codice sorgente del protocollo TCP/IP. Oggi il protocollo TCP/IP è saldissimo nel mondo delle reti e non mostra alcun segno di debolezza.

23 Stack TCP/IP (3/3) Internet non usa il modello OSI; la pila protocollare di Internet è costituita da cinque strati. Applicazione Trasporto Rete Collegamento Fisico Messaggio Segmento Datagram Frame 1-PDU

24 IP: Internet Protocol IP è un protocollo di livello rete usato per lo scambio di dati tra reti di calcolatori; è responsabile dell’instradamento dei pacchetti. gestisce l’indirizzamento, la frammentazione e il riassemblaggio dei datagram; offre un servizio di comunicazione connection-less: non esiste alcuna notifica o garanzia intrinseca del trasferimento dei dati, non viene selezionato un percorso specifico per la trasmissione dei dati; esso fa riferimento ad un blocco di dati detto datagram;

25 Il datagramma IP Al livello Network ogni pacchetto IP viene denominato datagramma e viene spedito seguendo un percorso indipendentemente dagli altri datagrammi. Ciascun datagramma, infatti, segue le strade stabilite dai router e queste possono cambiare in ogni momento per evitare, ad esempio, router non più attivi o congestioni di rete; i datagrammi sono costituiti da un header e da un’area dati e possono avere dimensioni diverse; la dimensione dell’header è solitamente fissata (20 byte) a meno che non siano presenti delle opzioni; la lunghezza massima di un datagramma IP è 65535 byte ( ).

26 Formato del datagramma IP

27 Datagramma IP Version number : tale campo è costituito da 4 bit e specifica la versione del protocollo IP che ha generato il datagram. Osservando il numero della versione, il router può determinare come deve interpretare il resto del datagramma IP in quanto diverse versioni di IP usano differenti formati dei datagram. Attualmente il campo versione contiene il valore binario 0100 per indicare la corrente versione di IP (IPv4), successivamente tale campo sarà settato a 0110 con la nuova versione IPv6.

28 Header length: tale campo (4 bit) indica la lunghezza dell’intestazione misurata in word di 4 byte in modo da determinare dove iniziano realmente i dati nel pacchetto IP, in quanto ogni datagram può contenere un numero variabile di opzioni che sono comprese nell’intestazione. Il datagram tipico ha un’intestazione di 20 byte, caso in cui non è presente il campo opzioni. (Se Hlen vale 7, l’header è lungo 4*7=28 byte.) Datagramma IP

29 Type of Service: tale campo (8 bit) rappresenta un’indicazione ai router sulla qualità del trasporto che possibilmente il pacchetto IP dovrebbe sperimentare. Il router dovrebbe basarsi anche su queste indicazioni per decidere la precedenza dei pacchetti nelle sue code e l’instradamento. Ad esempio, se il pacchetto richiede un certo ritardo massimo, il router potrebbe decidere di instradarlo su un percorso attraverso una rete ATM a cui chiedere garanzie sul ritardo massimo piuttosto che attraverso una rete con servizio Best Effort che non può offrire garanzie. Datagramma IP

30 Il campo TOS (8 bit) è suddiviso in sottocampi: i primi 3 bit definiscono un campo Precedenza con valori da 0 a 7, al crescere del quale cresce l’importanza del pacchetto IP, infatti il valore 0 ( in binario, 000) indica precedenza normale, il valore 7 (111) indica un pacchetto di controllo della rete, e quindi priorità massima; Datagramma IP 034567 PRECEDENCEDTR

31 i bit 3 (Delay), 4 (Throughput) e 5 (Reliability) indicano il tipo di trasporto preferito: D settato (D=1) segnala richiesta di basso ritardo, T settato indica una richiesta di elevato throughput (ampia banda di trasmissione), R settato segnala richiesta di massima affidabilità; I bit 6 e 7 non sono usati. Datagramma IP 034567 PRECEDENCEDTR D ValueDescription 0Normal Delay 1Low Delay T ValueDescription 0Normal Troughput 1High Troughput R ValueDescription 0Normal Reliability 1High Reliability

32 Total length: tale campo specifica la lunghezza in byte dell’intero pacchetto: header + dati. Esso è composto da 16 bit per cui la lunghezza massima teorica è 65535 byte. In generale, un datagram raramente supera i 1500 byte e spesso ha una lunghezza limitata a 576 byte. Datagramma IP

33 Identification: campo a 16 bit ove uno stesso identificatore segnala che i frammenti appartengono ad uno stesso datagram. Flags: (2 bit) DF (don’t fragment): campo di 1 bit, posto ad 1 nel caso in cui l’host non sia capace di riassemblare i pacchetti; MF (more fragments): campo di 1 bit, ogni frammento eccetto l’ultimo hanno questo bit settato per capire se il pacchetto è stato completato. Datagramma IP

34 Time-To-Live: il campo tempo di vita TTL (8 bit) indica, in modo approssimato, il tempo, espresso in secondi, che un pacchetto IP può rimanere all’interno di una rete prima di essere scartato. Ciò assicura che i datagrammi non circolino ininterrottamente nella rete. Fragment offset: tale campo è costituito da 13 bit e definisce la posizione del frammento all’interno del datagram. Datagramma IP

35 Protocol: Il campo protocollo (8 bit) è usato solo quando l’elaborazione IP è terminata. Il valore di questo campo indica il protocollo di livello superiore nel destinatario a cui la porzione di dati del datagram dovrà essere passata. Ad esempio, se tale campo ha valore 6, la porzione di dati dovrà essere passata al TCP; se invece è 17 sarà passata all’UDP, così come specificato dalle [RFC 1700; RFC 3232]. Datagramma IP

36 Header Checksum: la checksum (somma di controllo) dell’intestazione aiuta un router a rilevare gli errori nell’header di un datagram IP che riceve. La checksum dell’intestazione è calcolata trattando ogni 2 byte nell’header come un numero e sommando questi numeri usando il complemento aritmetico a 1. Un router calcola la checksum per ciascun datagram ricevuto e rileva una condizione errata se la checksum trasportata nel datagram non è identica a quella calcolata. E’ da notare che la checksum deve essere ricalcolata e riscritta a ogni router, in quanto il campo TTL e i possibili campi opzioni possono cambiare. Datagramma IP

37 Source IP address: questo campo contiene l’indirizzo IP a 32 bit della sorgente. Destination IP address: questo campo contiene l’indirizzo IP a 32 bit della destinazione finale. Datagramma IP

38 Options: il campo opzioni permette a un’intestazione IP di essere estesa. Le opzioni dell’intestazione solo di rado richiedono di essere usate: da qui la decisione di salvare spazio di intestazione evitando di inserire informazioni del campo opzioni negli header di tutti i datagrammi. Poiché le intestazioni dei datagram possono avere lunghezza variabile, non si può determinare a priori dove comincia il campo dati. Datagramma IP

39 Il campo options è suddiviso in sottocampi [RFC 791]: security: specifica se il messaggio non deve passare per determinate nazioni; source routing: descrive il percorso da seguire, nell'eventualità che qualche tabella di routing sia corrotta; stream identification: il pacchetto ha una lista di indirizzi da seguire con la possibilità di poter passare anche per altri router, utile a scopi commerciali; route recording: opzione che permette di allegare l'indirizzo IP di ogni router transitato, in questo modo è possibile capire se c'è qualcosa che non va nell'algoritmo di routing; timestamping : campo simile al route recording con l'aggiunta del tempo di transito. Datagramma IP

40 Padding: questo campo è di lunghezza variabile ed è sostanzialmente costituito da bit di riempimento, normalmente i bit sono tutti settati a 0, in modo da garantire che i dati comincino dopo un numero multiplo di 32 bit. Payload: questo campo contiene i dati (carico utile); in molte circostanze esso comprende i segmenti dello strato di trasporto (TCP o UDP) da inviare alla destinazione. Datagramma IP

41 Frammentazione dei pacchetti IP L’hardware di ogni tipo di rete impone un limite superiore alla dimensione del frame di livello 2 e quindi anche alla quantità di dati di livello 3 che possono essere trasportati in un unico frame a livello 2. La dimensione massima che un pacchetto dello strato di collegamento può trasportare è detta massima unità di trasferimento MTU (Maximum Transfer Unit) ed è caratteristica di ogni tipologia di rete.

42 Frammentazione dei pacchetti IP Se la porzione dati di un datagram (compresa la dimensione dell’header IP) è più piccola della MTU della rete sottostante il datagram IP potrà essere inserito completamente in un frame di livello 2 e inviato a destinazione.

43 Frammentazione dei pacchetti IP Se, invece, la porzione dati del datagram IP ( compresa la dimensione dell’header IP) è più grande della MTU della rete sottostante, dovrà essere spezzata in più pezzi che verranno incapsulati in datagram IP, detti frammenti, più piccoli della MTU, e ciascun frammento dovrà essere inserito in un frame diverso e verrà spedito separatamente dagli altri verso la destinazione finale, dove il protocollo IP provvederà a rimettere assieme i diversi frammenti e a ricostituire il datagram originale. Nell’esempio è riportato un pacchetto IP con 3260 byte di dati frammentato per una MTU di 1500 byte.

44 Frammentazione dei pacchetti IP Il problema della frammentazione si propone ogni volta che nel percorso seguito dai pacchetti IP, si deve attraversare una porzione di rete avente una MTU minore della porzione di rete precedentemente attraversata, sempre se la dimensione dei pacchetti IP è maggiore della MTU più piccola. Il router preleva, quindi, la porzione dati del datagram IP e lo spezza in più porzioni, in modo che ciascuna stia in un frame, e in modo che ogni frammento dei dati, tranne l’ultimo, abbia dimensione multipla di 8 byte, perchè così è definito il campo offset dell’header IP. L’ultimo pezzo in genere sarà il più corto e verrà identificato come ultimo settandovi a 0 il flag MF, ad indicare che è l’ultimo frammento. Negli altri frammenti MF è settato a 1.

45 Frammentazione dei pacchetti IP Il protocollo IP usa tre campi (Identification, Fragment Offset e More Fragment) dell’header per controllare il meccanismo della frammentazione e permettere il riassemblaggio dei datagram frammentati. L’header del datagram originale verrà copiato integralmente nei frammenti e in più verrà cambiato il campo Fragment Offset, tale offset è pensato come un multiplo di 8 byte. Se, ad esempio, l’offset indica 185 il frammento porta la porzione di dati che inizia nella posizione 185*8=1480 byte.

46 Riassemblaggio dei pacchetti IP Dopo la frammentazione, ogni frammento viaggia separatamente dagli altri fino alla destinazione finale. Solo alla fine del viaggio avrà luogo il riassemblaggio dei frammenti, nel tentativo di ricostruire il datagramma originale. Il ricevitore riconosce di avere ricevuto un frammento e non un datagram intero in due modi: il pacchetto IP ricevuto ha un offset uguale a 0, ma ha il flag MF settato ad 1 (è il primo frammento); il pacchetto IP ricevuto ha un offset diverso da 0, si tratta di un frammento successivo; se poi MF è pari a 0, è l’ultimo frammento;

47 Il ricevente non conosce la dimensione del datagram originale perché ogni frammento mantiene nel campo Total length la lunghezza del frammento stesso. Solo quando riceverà il frammento con MF settato a 0, si potrà capire la dimensione totale del datagramma originale sommando all’offset dell’ultimo frammento la lunghezza di dati trasportati dall’ultimo frammento. Se un solo frammento viene perso, è impossibile ricostruire il datagram IP originale. Per evitare di aspettare inutilmente un frammento perso, il ricevitore nel momento in cui riceve un primo frammento inizializza un timer. Se il timer scade prima che tutti i frammenti siano giunti a destinazione, il ricevitore butta via tutti i frammenti. Riassemblaggio dei pacchetti IP

48 STRATO DI TRASPORTO IN INTERNET UDP (User Datagramm Protocol) è un servizio inaffidabile dei dati è un protocollo leggero, con un modello di sevizio minimale TCP (Transmission Control Protocol) converte il servizio inaffidabile IP fra due terminali in un servizio affidabile di trasferimento dei dati fra processi usa il controllo della congestione

49 TCP Connection oriented handshaking (scambio di messaggi di controllo a tre vie) prepara mittente e ricevente prima della comunicazione. End to end Trasferimento dati full duplex Point to point Buffers su mittente e ricevente Senza errori, sequenza ordinata Controllo di flusso e di congestione

50 STRUTTURA DEL SEGMENTO TCP MSS (Maximum Segment Size) è la massima quantità di dati del livello dell’ applicazione nel segmento.

51 TCP: PDU Porta (provenienza/ destinazione) contengono i numeri di porta di protocollo TCP, che identificano gli applicativi alle estremità della connessione; i numeri di porta sono utilizzati per fare il multiplexing e il demultiplexing dei dati da/verso le applicazioni dello strato superiore.

52 MULTIPLEXING/ DEMULTIPLEXING-1 Un processo ha una socket, che è una porta attraverso la quale i dati passano dalla rete al processo, e attraverso la quale i dati passano dal processo alla rete. Poiché a ogni dato istante ci può essere più di un socket nel terminale ricevente, ogni socket ha un identificatore unico. Ogni segmento dello strato di trasporto ha un insieme di campi, che consentono ad un terminale ricevente di dirigere un segmento entrante dello strato di trasporto verso il socket giusto.

53 MULTIPLEXING/ DEMULTIPLEXING-2 multiplexing:raccogliere i dati provenienti dalle applicazioni, imbustare i dati con un header appropriato. demultiplexing: inoltrare i segmenti ricevuti al corretto socket del processo, cui i dati sono destinati. Legenda: Processo Socket

54 MULTIPLEXING/ DEMULTIPLEXING-3 E’ realizzato attraverso la coppia “Indirizzo IP, numero di porta”. I numeri di porta sono a 16 bit i numeri di porta, che vanno da 0 a 1023 sono chiamati numeri di porta ben conosciuti.

55 TCP: PDU Numero di sequenza identifica, nello stream di byte del trasmettitore, la posizione dei dati nel segmento. E’ un valore riferito allo stream, che fluisce nella medesima direzione del segmento. Numero di riscontro contiene il numero sequenziale del byte successivo a quello correttamente ricevuto dalla destinazione. E’ un campo valido solo nei segmenti di riscontro.

56 ESEMPIO

57 TCP: PDU Hlen contiene un numero intero che indica la lunghezza dell’ intestazione del segmento TCP. Bit di codice URG: il campo puntatore urgenti è valido PSH: questo segmento richiede una “spinta” ACK: il campo riscontro è valido SYN: sincronizza i numeri di sequenza RST: effettua il reset della connessione FIN: il trasmettitore ha raggiunto la fine del suo stream di byte

58 TCP: PDU Puntatore urgente il TCP deve informare l’ entità dello strato superiore del lato ricevente dell’ esistenza di dati “urgenti” e passarli a un puntatore alla posizione, nello stream, dei dati non urgenti. Finestra di ricezione è utilizzata per il controllo di flusso; è un numero intero senza segno di 16 bit, che indica il numero di byte, che un receiver è disposto ad accettare.

59 TCP: PDU Checksum è un campo di 16 bit contenente un valore intero, utilizzato dal TCP receiver, per verificare l’ integrità dei dati e la correttezza dell’ intestazione. E’ un’ informazione di essenziale importanza, dal momento che il protocollo IP non prevede nessun controllo di errore. Per il calcolo del valore checksum, il TCP ha bisogno di aggiungere una pseudointestazione per effettuare un controllo anche sugli indirizzi IP di destinazione e di provenienza.

60 TCP: PDU La pseudointestazione viene creata e posta in testa al segmento TCP. In fase di ricezione, il livello TCP ricrea la pseudointestazione, calcola la checksum e verifica la correttezza del messaggio ricevuto. In caso di errore, il segmento verrà scartato.

61 TCP: PDU Opzioni di TCP Maximum TCP payload: durante la fase di connessione, ciascun end point annuncia la massima dimensione di payload che desidera accettare; la minima tra le due dimensioni annunciate viene selezionata per la trasmissione. Window scale: serve per negoziare un fattore di scala per la finestra; è utile per connessioni a larga banda. Selective repeat: permette al TCP di funzionare secondo la tecnica del sective repeat, infatti pemette al receiver di richiedere la ritrasmissione di uno specifico segmento.

62 GO BACK N Il riscontro è cumulativo, ovvero, indica che tutti i pacchetti con un numero di sequenza fino ad n, n compreso, sono stati ricevuti correttamente dal receiver.

63 SELECTIVE REPEAT Il riscontro selettivo consente a un receiver di riscontrare selettivamente segmenti fuori sequenza piuttosto che riscontare cumulativamente l’ ultimo segmento ricevuto correttamente, in sequenza.

64 THREE WAY HANDSHAKE Passo 1: il client invia un segmento TCP SYN al server. Passo 2: server riceve SYN, risponde con il segmento di controllo SYN/ACK, alloca il buffer TCP. Passo 3: client riceve SYN/ACK, invia ACK al server (SYN=0 poiché la connessione è stabilita).

65 CHIUSURA DELLA CONNESSIONE Ciascuno dei due processi che partecipano ad una connessione possono chiuderla. Quando una connessione TCP termina le “risorse” (buffer e variabili) negli host sono de-allocate.

66 STATI DEL TCP: “CLIENT”

67 CONTROLLO DI FLUSSO E DI CONGESTIONE Controllo di flusso il mittente non dovrà sovraccaricare il ricevente inviando dati ad una velocità troppo elevata. Per gestire tale controllo si usa la “Receiver window”. Controllo di congestione il mittente non dovrà inviare dati ad elevata velocità, poiché la rete non è in grado di inviare dati ad un rate elevato. In tal caso si usa la “Congestion Window”.

68 CONTROLLO DI FLUSSO-1 Il TCP fornisce alle sue applicazioni un servizio di controllo di flusso per eliminare la possibilità che il sender saturi il buffer del receiver. Il controllo di flusso adatta la velocità a cui il sender sta inviando i dati a quella a cui l’ applicazione ricevente sta leggendoli. Il TCP fornisce il controllo di flusso attraverso il mantenimento nel sender di una variabile detta finestra di ricezione.

69 CONTROLLO DI FLUSSO-2 Il receiver comunica dinamicamente al mittente la dimensione corrente del buffer. Il campo Rcw Window nel segmento TCP è settato al seguente valore: RcvWindow=RcvBuffer-[LastByteRcvd-LastByteRead]

70 TRASMISSION POLICY si introduce un timer per pacchetti di conferma di avvenuta ricezione di dati con finestra pari a zero.

71 LA SINDROME DELLA SILLY WINDOW si impedisce al receiver di aggiornare la finestra un byte alla volta.

72 CONTROLLO DELLA CONGESTIONE-1 La congestione nella rete è dovuta a: sorgenti di traffico che inviano troppi dati traffico inviato ad una frequenza troppo elevata un numero elevato di sorgenti di traffico perdita di pacchetti ritardi nell’ inoltro di pacchetti.

73 CONTROLLO DELLA CONGESTIONE-2 Approccio end to end lo strato di rete non fornisce alcun supporto esplicito allo strato di trasporto per il controllo della congestione; la presenza di congestione nella rete deve essere dedotta dagli end system, basandosi sull’ osservazione di perdita e di ritardi di pacchetti; il segmento TCP perso (indicato da un timeout o da un triplo duplicato del riscontro) è assunto come indice di congestione della rete.

74 CONTROLLO DELLA CONGESTIONE-3 Entrambi i lati della connessione devono tener traccia di una variabile:la finestra di congestione. La finestra di congestione impone una limitazione addizionale alla quantità di traffico, che un host può inviare in una connessione. L’ ammontare di dati non riscontrati, che un host può avere all’ interno della connessione TCP non deve superare il minimo tra la finestra di congestione e la finestra di ricezione.

75 CONTROLLO DELLA CONGESTIONE-4 L’ algoritmo di controllo della congestione di TCP è l’ algoritmo, che un sender TCP usa per regolare il suo ritmo di invio in funzione della congestione percepita. L’ algoritmo ha tre componenti principali: partenza lenta; incremento additivo, decremento moltiplicativo; reazione a eventi di timeout.

76 SLOW START Il valore della CongWin è inizializzato a un MSS; il mittente aumenta il suo ritmo di invio a velocità esponenziale : “Slow Start” è un termine improprio.

77 CONTROLLO DELLA CONGESTIONE IN INTERNET-1 E’ presente un ulteriore parametro: soglia.

78 CONTROLLO DELLA CONGESTIONE IN INTERNET-2 Fase di Slow Start finestra di congestione sotto la soglia; crescita esponenziale della finestra di congestione. Fase di Congestion Avoidance finestra di congestione sopra la soglia; crescita lineare della finestra di congestione.

79 CONTROLLO DELLA CONGESTIONE IN INTERNET-3 Evento di perdita dedotto da ack duplicato tre volte la soglia posta alla metà del valore attuale della finestra di congestione; la finestra di congestione è posta pari alla soglia; si elimina la fase di partenza lenta (TCP Reno); la finestra è posta pari ad un segmento (TCP Tahoe). Evento di perdita dedotto da un timeout la soglia è posta alla metà del valore attuale della finestra; la finestra è posta pari ad un segmento.

80 AIMD-1 Additive Increase una volta raggiunta la soglia, si incrementa la CongWin alla ricezione di un ACK. Multiplicative Decrease al sopraggiungere della congestione, la finestra di congestione viene dimezzata.

81 AIMD-2

82 UDP-1 L’ intestazione dell’ UDP ha solo quattro campi, ciascuno consistente di due byte.

83 UDP-2 Il protocollo UDP fa proprio il minimo che un protocollo di trasporto può fare. Tranne che per la funzione di multiplexing/demultiplexing e qualche piccola verifica di errori, aggiunge poco a IP, pertanto i pacchetti UDP possono : subire perdite giungere a destinazione non ordinati.

84 UDP-3 Non viene creata alcuna connessione non introduce alcun ritardo dovuto alla fase di impostazione della connessione. Poco sovraccarico dovuto all’ intestazione del pkt ha solo 8 byte di overhead. Nessuno stato della connessione un server dedicato a una particolare applicazione può tipicamente supportare molti più clienti attivi quando l’ applicazione funziona su UDP invece che su TCP. Controllo della congestione assente un’ applicazione che usa UDP può spedire a qualsiasi velocità, per tutto il tempo che vuole.

85 UDP-4 ApplicazioniProtocollo dello strato di applicazione Protocollo di trasporto adottato Posta elettronica SMTPTCP WebHTTPTCP Gestione della rete SNMPUDP Traduzione del nome DNSUDP

86 SLIP SLIP (Serial Line Internet Protocol) : protocollo internet su linea seriale. E’ il più vecchio protocollo di livello data link dell’Internet Protocol Suite. Consente di realizzare una connessione TCP/IP su linea telefonica. Viene progressivamente sostituito dal protocollo PPP. INTRODUZIONE

87 Il protocollo definisce due caratteri speciali: END e ESC. END è 300 in ottale (192 in decimale). ESC è 333 in ottale (219 in decimale), da non confondersi con il carattere ASCII ESCape. La trasmissione di un pacchetto IP non richiede nessun header addizionale. Il pacchetto viene semplicemente inviato, alla fine di ogni pacchetto viene inviato un carattere END. SLIP PROTOCOLLO (1/3)

88 Se un carattere END è presente all’interno di un pacchetto IP esso viene sostituito da due ESC seguiti dalla sequenza di bit corrispondente a 220 in decimale (334 in ottale). Quando ad essere contenuto in un pacchetto IP è il carattere ESC, esso viene sostituito da due ESC seguiti dalla sequenza di bit corrispondente a 221 (335 in ottale). SLIP ENDIP PACKETENDIP PACKETEND PROTOCOLLO (2/3)

89 Una versione aggiornata di questo protocollo prevede un carattere END prima dei pacchetti dati per avere una sicurezza maggiore nei confronti del rumore delle linee. Poiché il protocollo SLIP non è uno standard ufficiale non è definita una dimensione massima dei pacchetti, sebbene si accetti universalmente una dimensione massima di 1006 byte (esclusi i caratteri END e ESC). Grazie alla sua semplicità, il protocollo SLIP, è facile da implementare, per questo motivo è stato largamente utilizzato; oggi, però, risultano sempre più evidenti le sue limitazioni. SLIP PROTOCOLLO (3/3)

90 Non è previsto un metodo per scambiare informazioni sull’indirizzo delle stazioni. Due sistemi devono conoscere ciascuno l’indirizzo dell’altro prima di iniziare la comunicazione. Non è presente, nel frame SLIP, un campo “tipo di protocollo”. Per questa ragione, SLIP non può essere usato per trasportare più di un protocollo alla volta. Non è previsto un meccanismo di controllo degli errori. SLIP SVANTAGGI

91 PPP ( Point to Point Protocol): protocollo punto a punto. Molto più complesso del protocollo SLIP, anch’esso consente di realizzare una connessione TCP/IP su linea telefonica, utilizzato per i clienti residenziali, è, oggi, il più diffuso protocollo di collegamento. Come dice il nome stesso esso opera su un link punto a punto, cioè un link che collega direttamente due nodi. PPP INTRODUZIONE (1/2)

92 Il protocollo PPP si articola in tre componenti principali: PPP encapsulation (delimitazione dei dati in PPP), LCP ( link control protocol ), Network Control Protocols. E’ standardizzato in RFC 1661 e RFC 2153. PPP INTRODUZIONE (2/2)

93 Protocolli multipli dello strato di rete. Il protocollo PPP deve essere in grado di supportare protocolli multipli dello strato di rete che funzionano sullo stesso link nello stesso momento, da qui l’esigenza di almeno un campo “tipo di protocollo”. Rilevazione degli errori. Un receiver PPP deve poter rilevare gli errori nei bit nei frame che riceve. Delimitazione dei pacchetti (packet framing). Il protocollo dello strato di collegamento del sender deve essere in grado di prendere un pacchetto dello strato di rete e di incapsularlo all’interno del frame PPP, in modo che il receiver sia in grado di identificare l’inizio e la fine sia del frame di collegamento sia del pacchetto dello strato di rete contenuto nel frame. PPP REQUISITI [RFC 1547] (1/3)

94 Trasparenza. Il protocollo PPP non deve porre alcuna limitazione sui dati che appaiono sul pacchetto dello strato di rete (intestazione o dati). Tipi di link multipli. Il PPP deve poter operare su un’ampia varietà di tipi di link, compresi link seriali. Presenza della connessione. Il PPP deve essere in grado di rilevare un guasto a livello dello strato di collegamento e segnalarne la presenza allo strato di rete. Commutazione dell’indirizzo dello strato di rete. Il PPP deve fornire un meccanismo per la comunicazione dei livelli di rete (per esempio IP), affinché essi possano imparare o configurare l’un l’altro l’indirizzo dello strato di rete. PPP REQUISITI [RFC 1547] (2/3)

95 Semplicità. Al PPP si richiede di soddisfare molti requisiti addizionali, oltre a quelli elencati in precedenza. Il primo e più importante dei requisiti del PPP è la SEMPLICITA’. Tale obbiettivo non è stato del tutto raggiunto a causa della complessità congenita del protocollo derivante dalla moltitudine di requisiti in esso inseriti. PPP REQUISITI [RFC 1547] (3/3)

96 Correzione degli errori. Al PPP è richiesto di rilevare gli errori nei bit, ma non di correggerli. Controllo di flusso. Da un receiver PPP ci si aspetta che sia in grado di ricevere frame al tasso nominale del sottostante strato fisico. Se uno strato superiore al receiver non può ricevere pacchetti a questo tasso nominale, è compito di questo strato superiore scartarli o costringere lo strato superiore del sender a limitare la velocità di trasmissione dei pacchetti stessi. PPP COSA IL PPP NON DEVE FARE (1/2) Le specifiche di progetto contengono anche indicazioni sulle funzionalità che il protocollo non deve implementare.

97 Sequenza. Al PPP non si richiede di inviare frame al receiver del link nello stesso ordine in cui essi sono spediti dal sender del link. Link multipunto. Il PPP può operare solo su link che hanno un singolo sender e un singolo receiver. PPP COSA IL PPP NON DEVE FARE (2/2)

98 Campo flag. Ogni frame PPP inizia e termina con un campo flag di un byte con valore 01111110. Campo indirizzo. Il solo valore possibile per questo campo è 11111111. PPP FRAMING (Delimitazione) dei dati in PPP (1/5) Il protocollo PPP contiene i seguenti campi:

99 Campo controllo. Il solo valore possibile per questo campo è 00000011. Ci si può chiedere perché siano stati definiti i campi “address” e “control” dal momento che essi assumono valori fissi. La specifica del PPP stabilisce che altri valori “potrebbero essere stabiliti più avanti”, finora, però, questo non è successo. Il PPP permette al sender di evitare l’invio dei byte di indirizzo e di controllo, risparmiando due byte di informazione extra (overhead) nel frame PPP. PPP FRAMING (2/5)

100 Protocollo. Il campo protocollo dice al PPP del receiver qual è il protocollo dello strato superiore a cui appartengono i dati incapsulati ricevuti. Il receiver, ricevuto un frame ne verificherà la correttezza e passerà i dati al protocollo appropriato. Le RFC 1700 e 3232 definiscono i codici a 16 bit per i protocolli da usare per il PPP. PPP FRAMING (3/5)

101 PPP

102 FRAMING (4/5) Osservazioni: Per quanto riguarda il campo protocollo, notiamo che il protocollo IP ha un valore esadecimale 21, il protocollo di controllo del link PPP ha valore C021, il protocollo di controllo IP ha valore 8021. Quest’ultimo protocollo è chiamato dal protocollo PPP, quando un link è attivato per la prima volta, al fine di configurare la connessione a livello IP fra i dispositivi IP compatibili a ciascuna estremità del link.

103 Informazione. Questo campo contiene il pacchetto di dati incapsulati che è stato spedito da un protocollo dello strato superiore sul link PPP. La lunghezza massima di default del campo informazioni è 1500 byte, sebbene possa essere variata quando il link è configurato per la prima volta. FCS (Frame Check Sequence). Campo usato per rilevare gli errori nei bit di un frame. PPP FRAMING (5/5)

104 PPP BYTE STUFFING (Riempimento di byte) (1/2) Problema: cosa succede se il byte 01111110 (flag) compare anche nel campo delle informazioni? viene interpretato come inizio o come fine trama. Soluzione: il PPP definisce uno speciale byte “ignora”, 01111101. Se la sequenza flag, 01111110, compare in qualsiasi parte del frame, a eccezione del campo flag, il PPP fa precedere tale sequenza dal byte “ignora”. Tale byte “ignora” dovrà ovviamente essere rimosso in ricezione, affinché i dati originali siano ricostruiti correttamente.

105 Problema: cosa succede se il byte “ignora”, 01111101, è presente nel campo informativo? Soluzione: il PPP sender farà precedere tale byte del campo informativo, dal byte “ignora” stesso. Quando il receiver vede un singolo byte di controllo “ignora” nel flusso dei dati, sa che il byte è stato aggiunto nel flusso dati. Una coppia di byte “ignora” consecutivi indica che uno di essi appartiene al flusso di dati spediti. PPP BYTE STUFFING (2/2)

106 LCP (Link Control Protocol) Si occupa dell’inizializzazione, della conservazione, del resoconto degli errori e della chiusura del collegamento. Il link PPP inizia e si chiude sempre nello stato inattivo. Quando un evento come la rilevazione di portante o un intervento del responsabile della rete indica la presenza e disponibilità di uno strato fisico, il PPP entra nello stato di impostazione del link. PPP PROTOCOLLO DI CONTROLLO DEL LINK (LCP) E PROTOCOLLI DI CONTROLLO DI RETE DEL PPP (1/4)

107 Impostazione del link Autenticazione Configurazione dello strato di rete Apertura Chiusura Inattivo PPP Stati del protocollo di controllo del link PPP

108 Un’estremità del link invia le opzioni di configurazione del link usando un frame di richiesta di configurazione (una frame PPP con il campo protocollo impostato a LCP). le opzioni di configurazione comprendono la massima dimensione del frame per il link, la specificazione di un protocollo di autenticazione (se esiste) da usare e un’opzione per omettere l’uso dei campi indirizzo e controllo nei frame PPP. L’altro lato del link risponde con: Frame configure-ack : tutte le opzioni accettabili Frame configure-nack: tutte le opzioni capite ma non accettate Frame configure-reject: opzioni non identificabili non accettabili PPP PROTOCOLLO DI CONTROLLO DEL LINK (LCP) E PROTOCOLLI DI CONTROLLO DI RETE DEL PPP (2/4)

109 Viene eseguita un’eventuale autenticazione Per ogni protocollo che può essere incapsulato dal PPP c’è un Network Control Protocol (protocollo di controllo di rete). Le due entità che comunicano possono scambiarsi i pacchetti di controllo specifici dello strato di rete. Se sul link PPP sta funzionando IP, il protocollo di controllo IP, IPCP, viene usato per configurare i moduli del protocollo IP a ciascuna estremità del link; nel campo protocollo del PPP è inserito il valore 8021 e così viene permesso ai due moduli di scambiare o configurare i loro indirizzi IP. PPP PROTOCOLLO DI CONTROLLO DEL LINK (LCP) E PROTOCOLLI DI CONTROLLO DI RETE DEL PPP (3/4)

110 Quando lo strato di rete è stato configurato, inizia la spedizione dei pacchetti dello strato di rete (il link si trova nella stato di aperto). Per controllare lo stato del link fra i due terminali PPP possono essere scambiati i frame di richiesta eco LCP e quello di risposta eco. Il link PPP rimane configurato per la comunicazione finché non viene inviato un frame LCP di richiesta chiusura e questo ha come risposta un frame LCP di riscontro chiusura, a questo punto il link entra nello stato inattivo. PPP PROTOCOLLO DI CONTROLLO DEL LINK (LCP) E PROTOCOLLI DI CONTROLLO DI RETE DEL PPP (4/4)

111

112 SOMMARIO Indirizzi IP Classi di indirizzi Indirizzi IP speciali Subnetting Protocollo ARP CIDR NAT

113 INDIRIZZI IP Indirizzo IP = numero che identifica univocamente un host TCP/IP. Ad ogni intefaccia è associato un diverso indirizzo IP.

114 ICANN = Internet Corporation for Assigned Names and Numbers Assegna gli indirizzi. Gestisce il DNS. Assegna i nomi dei domini. Risolve eventuali dispute ( conflitti di nomi e/o indirizzi ). ICANN

115 Per favorire l’instradamento dei pacchetti, un indirizzo IP è formato da due parti: un ID ( identificativo ) di rete un ID di host 192.28.56.7 ANALOGIA COL SERVIZIO POSTALE Internet Città ID di rete Nome della via ID di host Indirizzo di casa STUTTURA DI UN INDIRIZZO

116 RAPPRESENTAZIONE DEGLI INDIRIZZI IP Notazione dotted decimal Notazione binaria Numeri a 32 bit 180.150.0.1 10110100.10010110.00000000.00000001 Ciascun ottetto nel formato decimale può variare fra 0 e 255 e viene rappresentato da 8 bit in formato binario.

117 Troppo pochi per far fronte alla crescita vertiginosa di Internet! Tuttavia…

118 Con la suddivisione in classi, è possibile allocare blocchi di spazio di indirizzamento sulla base del numero totale di host da supportare. Le classi di indirizzamento sono 5: A, B, C, D, E CLASSI DI INDIRIZZI

119 0 NETWORKHOST 17831 Il primo ottetto è dedicato all’ID di rete, gli altri 3 all’ID di host. Il primo bit del primo ottetto ha sempre valore 0. 7 bit per rappresentare l’ID di rete  max 127 indirizzi di rete. ID 127 dedicato alla funzione di loopback. 24 bit dedicati agli host: 2 24 –2 = 16.777.214 host. L’indirizzo con i bit del campo host impostati tutti a 0 serve ad identificare la rete. L’indirizzo con i bit del campo host impostati tutti ad 1 è riservato al broadcast della rete. CLASSE A

120 1 NETWORKHOST 1151631 0 02 Il primo e il secondo ottetto sono dedicati all’ID di rete, gli altri 2 all’ID di host. I primi 2 bit del primo ottetto ha sempre valore 10. Relativamente al primo byte, si va dal valore 10000000  128 al valore 10111111  191. 14 bit per rappresentare l’ID di rete  max 16.384 indirizzi di rete. 16 bit dedicati agli host: 2 16 –2 = 65.534 host. Questa classe è stata pensata per reti medie/medio-grandi. CLASSE B

121 1 NETWORKHOST 2431 1 0 0 I primi 3 ottetti sono dedicati all’ID di rete, l’ultimo all’ID di host. I primi 3 bit del primo ottetto ha sempre valore 110. Relativamente al primo byte, si va dal valore 11000000  192 al valore 11011111  223. 21 bit per rappresentare l’ID di rete  max 2 21 =2.097.152 possibili indirizzi di rete. 8 bit dedicati agli host: 2 8 –2 = 254 host. Questa classe è stata pensata per reti che devono supportare un numero limitato di host. CLASSE C

122 1 MULTICAST ADDRESS 31 1 0 01 123 La classe D è utilizzata per il multicasting, ovvero per inviare informazioni a molti host registrati. Questi host si raggruppano registrandosi presso i router locali utilizzando un indirizzo multicast ottenuto da un intervallo di indirizzi di classe D (224 – 239 ). I bit superiori di primo ordine sono sempre impostati a 1110. I bit rimanenti sono utilizzati per raggruppare logicamente gli host sulla rete. CLASSE D

123 1 RESERVED FOR FUTURE USE 31 1 0 11 123 La classe E è una classe sperimentale di indirizzi riservata per usi futuri. Gli indirizzi di tale classe sono identificati dai bit di ordine superiore impostati a 1111 ( 240 – 255 ). CLASSE E

124 Network address: la rete stessa ha un indirizzo, il cui suffisso è costituito da tutti 0, per cui nessun host può avere tutti 0 nel suffisso. Directed broadcast address: utilizzato per inviare un messaggio in broadcast ad una rete. Il suffisso è costituito da tutti 1. Limited broadcast address: utilizzato per il broadcast sulla LAN. L’intero indirizzo è costituito da tutti 1: 255.255.255.255. This computer address: l’indirizzo è costituito da tutti 0. Loopback address: utilizzato per test locali; nessun pacchetto esce dalla rete. Ogni indirizzo che inizia con 127 indica il computer locale. INDIRIZZI IP SPECIALI

125 Spesso la suddivisione degli indirizzi in classi non è sufficiente, perché comporta lo spreco di indirizzi. Si rendono necessarie, quindi, ulteriori suddivisioni di un intervallo di indirizzi in sottoreti. Se, ad esempio, si dispone di un indirizzo di classe C, ma si hanno 4 reti fisiche, è auspicabile una ulteriore segmentazione dell’indirizzo. SUBNETTING

126 VANTAGGI DEL SUBNETTING Allocazione efficiente degli indirizzi con conseguente miglioramento delle prestazioni. Possibilità di interconnettere reti che utilizzano metodi diversi per l’accesso ai mezzi di comunicazione ( ad es. una rete Ethernet ed una rete Token Ring ). Possibilità di superare i limiti fisici della capacità di una rete. Una rete Ethernet, ad esempio, può sostenere solo un numero limitato di host. Aumento della larghezza di banda effettiva di ciascuna rete. Possibilità di mettere in comunicazione reti tra loro isolate fisicamente, per esempio reti di tipo geografico.

127 SUBNET MASK Per realizzare il subnetting, occorre prendere a prestito alcuni bit assegnati all’ID di host e cederli alla parte ID di rete dell’indirizzo. Una volta che si fa questo, però, non si può determinare facilmente la lunghezza dell’ID di rete mediante un semplice utilizzo l’indirizzo IP. Per facilitare il compito, sono state ideate le maschere di sottorete ( subnet mask ). La maschera di sottorete è un indirizzo a 32 bit che indica quanti bit in un indirizzo sono utilizzati per l’ID di rete. La subnet mask indica la lunghezza del campo rete utilizzando tutti 1 nella parte dello indirizzo corrispondente all’ID di rete dell’indirzzo a cui è associato.

128 192.168.2.66 Si supponga di non voler ancora frazionare la rete in sottoreti. Il primo valore 192 fa capire ( ora è agevole ) che trattasi di un indirizzo di classe C ( 3 byte dedicati alla rete ). La subnet mask è subito ricavata: 11111111.11111111.11111111.00000000 Valore decimaleValore binario Classe A255.0.0.011111111.00000000.00000000.00000000 Classe B255.255.0.011111111.11111111.00000000.00000000 Classe C255.255.255.011111111.11111111.11111111.00000000 MASCHERE DI SOTTORETE DI DEFAULT PER LE CLASSI A, B, C Un esempio

129 Prodotto logico ( ANDing ) Nell’operazione AND, si combinano gli zero e gli uno nelle posizioni corrispondenti dei due valori. Il risultato è 1 solo se ambedue le cifre nella stessa posizione nei due numeri di partenza sono 1. In tutti gli altri casi la cifra risultante è zero. Indirizzo IP in notazione decimaleIndirizzo IP in notazione binaria 192.168.2.6611000000.10101000.00000010.01000010 Maschera di sottorete 255.255.255.011111111.11111111.11111111.00000000 Risultato dell’AND logico 192.168.2.0/2411000000.10101000.00000010.00000000

130 Articolazione dell’indirizzo di classe C 192.168.2.66 in due sottoreti distinte. Occorre ESTENDERE la maschera di sottorete per indicare i bit che vengono aggiunti all’ID di rete. Si prendono a prestito 2 bit dell’ID di host. Con 2 bit si ottengono 4 possibili sottoreti: 00, 01, 10, 11 Poiché un ID di rete non può essere formato da tutti 1 o tutti 0, restano solamente due sottoreti: 01000000 ( sottorete 64 ) e 10000000 ( sottorete 128 ). Maschera di sotorete 11111111.11111111.11111111.11000000 In decimale: 255.255.255.192 UN ESEMPIO DI SUBNETTING

131 NOTAZIONE DECIMALENOTAZIONE BINARIA 192.168.2.6611000000.10101000.00000010.01000010 MASCHERA DI SOTTORETE 255.255.255.19211111111.11111111.11111111.11000000 RISULTATO DELL’AND LOGICO11000000.10101000.00000010.01000000 RISULTATO DELL’AND LOGICO

132 217.9.64.0/24 Si tratta di un indirizzo di classe C, quindi disponiamo di 8 bit per gli host. Si supponga di disporre di un certo numero di laboratori e che in ognuno di essi possano essere presenti al massimo 15 computer. L’amministratore di rete ha il compito di calcolare il numero max di sottoreti che può ottenere ed assegnare correttamente gli indirizzi ai vari host. UNO SCENARIO REALE(1/3)

133 Sembrerebbe che per 15 host siano sufficienti 4 bit (1111 2 = 15 ), quindi si potrebbe pensare alla suddivisione 217.9.64.0/28 ( 28 bit dedicati all’ID di rete e 4 bit all’ID di host ). Non bisogna dimenticare, però, che gli indirizzi con tutti 0 e tutti 1 non sono utilizzabili. Occorreranno, quindi, 5 bit per gli host e 3 per le sottoreti. Bit per le sottoretiBit per gli host 35 Si avrà allora: 217.9.64.0/27 Con i tre bit sottratti al campo host si potranno realizzare 8 sottoreti: 0  0001  0012  0103  011 4  1005  1016  1107  111 UNO SCENARIO REALE(2/3)

134 Indirizzo di broadcast nella sottorete 1: 00111111 3 bit fissi per la sottorete 1broadcast 217.9.64.63 63 Indirizzo dell’host 3 nella sottorete 1: 00100011 3 bit fissi per la sottorete 1 host 3 IP 217.9.64.35 35 Netmask: 11111111.11111111.11111111.11100000 255.255.255.224 UNO SCENARIO REALE(3/3)

135 All’inizializzazione, un host TCP/IP utilizza un processo di ANDing per confrontare il proprio indirizzo IP con la subnetmask che gli è stata assegnata e conserva in memoria il risultato dell’operazione. Tale valore sarà utilizzato quando si dovrà decidere se far uscire o meno un pacchetto dalla rete locale. Quando un host deve inviare informazioni ad un altro host, effettua l’ ANDing dell’indirizzo IP dell’host di destinazione con la sua maschera di sottorete e confronta il risultato con quello memorizzato nella fase di avvio. Se i 2 risultati sono identici, l’host destinazione risiede nella stessa rete, per cui le informazioni vengono inviate direttamente a destinazione. Se i 2 risultati sono diversi, l’host destinazione risiede in una rete diversa da quella del mittente, per cui le informazioni vengono inviate al gateway di default per essere instradati alla rete corretta. FUNZIONAMENTO DELL’ANDING

136 Indirizzo IP host sorgenteID di rete in binarioID host 192.168.2.6711000000.10101000.00000010.01000011 Subnet mask 255.255.255.22411111111.11111111.11111111.11100000 Risultato originale ANDing 192.168.2.6411000000.10101000.00000010.01000000 Indirizzo IP host locale 192.168.2.9011000000.10101000.00000010.01011010 Subnet mask 255.255.255.22411111111.11111111.11111111.11100000 Risultato secondo ANDing 192.168.2.6411000000.10101000.00000010.01000000 Indirizzo di un host remoto 192.168.2.9711000000.10101000.00000010.01100001 Subnet mask 255.255.255.22411111111.11111111.11111111.11100000 Risultato del terzo ANDing 192.168.2.9611000000.10101000.00000010.01100000 ESEMPIO DI ANDING

137 PROTOCOLLO ARP Due host possono comunicare direttamente solo se sono collegati sulla stessa rete fisica. Per inviare un messaggio, quindi, occorre necessariamente conoscere anche l’indirizzo fisico degli host e realizzare un opportuno meccanismo di corrispondenza fra gli indirizzi logici e gli indirizzi fisici. Tale compito è assolto dal protocollo ARP[RFC 826](Address Resolution Protocol ).

138 Qualsiasi host di Internet ed ogni router su una LAN sono in possesso di un indirizzo LAN e di un modulo ARP. Gli indirizzi LAN sono indirizzi a 6 byte che vengono espressi in notazione esadecimale. L’indirizzo di broadcast, ad esempio, è una stringa di 48 consecutivi 1 ( FF-FF-FF-FF-FF-FF in notazione esadecimale ). Il modulo ARP di ciascun nodo ha una tabella nella sua RAM, detta Tabella ARP, che contiene la correlazione fra gli indirizzi IP e gli indirizzi LAN. INDIRIZZO IPINDIRIZZO LANTTL 222.222.222.22188-B2-2F-54-1A-0F13:40:00 222.222.222.2235C-66-AB-90-75-0112:48:01

139 PRIMO SCENARIO TIPICO L’host destinazione si trova sulla stessa LAN del mittente. A intende inviare un pacchetto a B. A esegue un AND logico fra l’indirizzo IP destinazione e la propria netmask: Indirizzo IP di B: 192.168.1.3 Netmask di A: 255.255.255.0 Risultato dell’anding: 192.168.1.0  stesso indirizzo della sottorete cui appartiene A.

140 A consulta la sua tabella ARP per ottenere la correlazione fra l’indirizzo IP di B ed il relativo indirizzo LAN. Se trova il valore cercato nella tabella, invia il pacchetto all’indirizzo LAN destinazione. Se non trova la corrispondenza nella tabella, invia una richiesta ARP. Un pacchetto ARP contiene gli indirizzi IP e LAN del mittente e del destinatario. Lo scopo della richiesta è interrogare tutti gli altri nodi della LAN per determinare l’indirizzo LAN relativo all’indirizzo IP che deve essere risolto. Quindi A passa al proprio adattatore di rete un pacchetto di richiesta ARP con l’ordine di inviarlo all’indirizzo broadcast (FF-FF-FF-FF-FF-FF).

141 L’adattatore incapsula il pacchetto ARP in un frame di collegamento, utilizza l’indirizzo di broadcast come indirizzo di destinazione di tale frame, e trasmette il frame stesso sulla rete. Il frame contenente la richiesta ARP è ricevuto da tutti gli adattatori sulla LAN e, dal momento che l’indirizzo è quello di broadcast, ciascun adattatore passa il pacchetto ARP contenuto nel frame al suo nodo host. Ciascun host controlla se il suo indirizzo IP corrisponde a quello di destinazione indicato nel pacchetto ARP. L’unico nodo che ha l’indirizzo corrispondente invia, mediante un frame standard, al nodo richiedente un pacchetto ARP di risposta contenente la correlazione richiesta. Il nodo A, allora, può aggiornare la sua tabella ARP con il nuovo dato ottenuto e finalmente inviare il suo datagram.

142 SECONDO SCENARIO TIPICO L’host destinazione non si trova sulla stessa LAN del mittente. A intende inviare un pacchetto ad X. L’operazione di AND logico fra la netmask di A e l’indirizzo IP di destinazione fornisce un risultato differente, per cui A deduce che X non è sulla sua sottorete ed invia il pacchetto al router di default. Prepara, pertanto, un pacchetto ARP in cui specifica come indirizzo IP destinazione proprio l’indirizzo IP del router. La scoperta dell’indirizzo LAN del router avviene, ovviamente, sempre con l’ausilio del protocollo ARP.

143 L’adattatore di A, conosciuto l’indirizzo LAN del router, crea un frame con tale indirizzo e lo invia nella LAN. L’adattatore di rete del router riconosce che il frame di collegamento è indirizzato a lui, e lo passa allo strato di rete. Quest’ultimo, consultando la sua tabella di inoltro,determina la corretta interfaccia su cui il datagram deve essere inviato. Tale interfaccia passa il datagram al suo adattatore, che lo incapsula in un nuovo frame e lo invia alla LAN destinazione. Il router di quest’ultima rete, ricevuto il pacchetto, utilizzando ancora il protocollo ARP, ottiene l’indirizzo dell’adattatore dell’host destinazione X e gli invia finalmente il datagram.

144 CIDR (CLASSLESS INTERDOMAIN ROUTING ) Con le reti ad indirizzamento CIDR[RFC 1519], la parte di un indirizzo IP relativa alla rete può avere una lunghezza a piacere, invece di essere vincolata ai valori 8,16, o 24. Una rete con indirizzamento CIDR ha la forma decimale puntata del tipo a.b.c.d/x, in cui x indica il numero di bit più significativi nella quantità di 32 bit che costituisce la parte dell’indirizzo relativa alla rete. Esempio Un’ organizzazione che ha la necessità di supportare 2000 host può farsi assegnare un blocco di soli 2048 indirizzi degli host nella forma a.b.c.d/21, permettendo che i circa 63.000 indirizzi che sarebbero stati allocati e non utilizzati nell’indirizzamento per classe B, siano assegnati ad una differente organizzazione.

145 CRESCITA DEL NUMERO DEI DOMINI IN INTERNET

146 GRUPPI DI HOST In una rete di impresa possono essere individuati i seguenti gruppi: Host che non hanno bisogno di accedere ad host nelle altri reti di imprese o nella Internet pubblica (host privati ). Possono utilizzare indirizzi IP che sono unici soltanto all’interno della INTRANET locale. Host che hanno bisogno di accedere a servizi esterni ( e-mail, FTP, News, WWW…). Per molti host in questa categoria un accesso senza restrizioni all’esterno può essere non desiderabile per ragioni di privacy o di sicurezza. Possono utilizzare indirizzi IP che sono unici all’interno dell’azienda, ma che possono essere ambigui all’esterno, per cui il loro accesso alla rete pubblica deve essere opportunamente controllato da gateway intermedi. Host che hanno bisogno di un accesso incondizionato all’esterno dell’azienda. Questi host richiedono indirizzi IP globalmente non ambigui.

147 Nel 1994 fu definito uno spazio di indirizzamento privato nell’[RFC 1597]: da 10.0.0.0 a 10.255.255.255 da 172.16.0.0 a 172.31.255.255 da 192.168.0.0 a 192.168.255.255 Lo spazio di indirizzamneto privato consiste in una classe A, 16 indirizzi consecutivi di classe B e 255 consecutivi di classe C. Ogni organizzazione può utilizzare questi indirizzi per nodi privati della rete, senza registrarli presso l’ICANN. INDIRIZZI PRIVATI

148 IL NAT [RFC 1631] consente ad un dispositivo di agire come intermediario tra Internet e una rete privata. In questo modo, un unico indirizzo IP può rappresentare un intero gruppo di computer. L’uso più comune del NAT è quello di mappare un insieme di indirizzi privati su di un unico indirizzo pubblico, utilizzando differenti porti per mantenere traccia delle diverse connessioni. NAT (NETWORK ADDRESS TRANSLATION)

149 Quando il router riceve un pacchetto inviato da un computer della rete privata ad un computer esterno,salva nella tabella di traduzione l’indirizzo e il porto del mittente, sostituisce l’IP sorgente con il suo IP di lato WAN e sostituisce il numero di porta originale con un nuovo numero non presente nella tabella ( Il numero di porta è lungo 16 bit, quindi si possono supportare più di 60.000 conversazioni simultanee ). Tale tabella viene consultata anche quando arriva un pacchetto in risposta. Il router NAT ricava dalla tabella l’appropriato indirizzo IP e il numero di porta di destinazione dell’utente nella rete domestica.


Scaricare ppt "SOMMARIO Internet –Struttura e caratteristiche –Principali protocolli di Internet –Indirizzamento –Troubleshooting."

Presentazioni simili


Annunci Google