Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1
Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo compito principale è il routing. Per espletare le sue funzioni, lo strato Internet è realizzato con i seguenti protocolli principali: DHCP, ARP, ICMP, IP. 2
Livello Internet: Il protocollo IP (internet protocol) Caratteristiche del protocollo IP protocollo che realizza un servizio basato su datagram (pacchetto) protocollo che realizza un servizio inaffidabile protocollo che realizza un servizio senza connessione 3
IP address IPv4 (IP version 4) ogni host è identificabile con un numero di 32 bit gli indirizzi attribuibili sono 2 32 ESEMPIO All indirizzo IP binario: 00010000.10000000.01000000.11111111 corrisponde in notazione decimale l indirizzo: 16.128.64.255 Classi in IPv4 classe Bit iniziale Intervallo bin. Intervallo dec. note A 0 00000000 01111111 0 127 127 è riservato (non utilizzato) B 10 10000000 10111111 128 191 191 risulta da 128+63 C 110 11000000 11011111 192 223 223 risulta da 255-32 4
Reti private basate sulla stack TCP/IP Classi di indirizzi riservate alle reti private (INTRANET): da 10.0.0.0 a 10.255.255.255 (rete di classe A) da 172.16.0.0 a 172.31.255.255 (16 reti di classe B) da 192.168.0.0 a 192.168.255.255 (256 reti di classe C) Quando si collega una intranet a Internet conviene che una stazione abbia funzioni di gateway (detto anche default gateway) che è un router. Se la LAN stessa è basata su TCP/IP, in base all indirizzo IP di destinazione, la macchina sorgente dei dati decide se passare i pacchetti al gateway (quindi verso l esterno della LAN) o procedere a un broadcast (quindi verso l interno della LAN). 5
Network address e host address (1) I 4 ottetti dell indirizzo sono ripartiti in 2 sezioni: network address host address 6
Network address e host address (2) Osservazioni 1. Le combinazioni dei bit host con tutti 0 sono gli indirizzi della rete, usati dai router per l instradamento. 2. Le combinazioni dei bit host con tutti 1 sono riservate all attività di broadcasting, cioè specificano che i dati vanno inoltrati a tutti gli host di una data rete. 7
Sottoreti La ripartizione in network address e host address comporta uno spreco di indirizzi, per discutere di questo e delle modalità di implementazione delle sottoreti, che migliorano i sistemi, dobbiamo occuparci di: indirizzi di sottorete maschere di sottorete risoluzione degli indirizzi e monitoraggio 8
Indirizzi di sottorete La ripartizione comporta uno spreco di indirizzi. Infatti nel caso della classe A a fronte di un numero limitato di indirizzi di reti (127), si rende disponibile un numero sovradimensionato di indirizzi di host (oltre 16 milioni). Nel caso della classe C abbiamo il problema inverso. Tutto ciò determina l uso delle sottoreti (subnet) personalizzate. 9
Maschere di sottorete (1) Maschere di sottorete (1) Una maschera è un insieme di bit lungo quanto un indirizzo IP e aiuta le stazioni trasmittenti a identificare nell indirizzo di destinazione quali sono i bit che appartengono al network address e quali all host address. 10
Maschere di sottorete (2) Nel caso in cui a una rete sia stato assegnato un gruppo di indirizzi IP appartenenti a una delle 3 classi predefinite, le maschere di sottorete assumono i seguenti valori di default: 255.0.0.0 255.255.0.0 255.255.255.0 per la classe A per la classe B per la classe C Visto che il valore 255 corrisponde a un ottetto costituito da tutti 1, mettendo in AND l indirizzo dell host destinazione con la maschera, si ottiene la parte di rete dell indirizzo destinazione. 11
Maschere di sottorete (3) Con il confronto tra il proprio indirizzo di rete e quello di rete della destinazione, l host sorgente è in grado di decidere dove inviare il pacchetto: indirizzo di rete identico il pacchetto rimane all interno della LAN indirizzo di rete diverso il pacchetto è inviato al gateway di default 12
Maschere di sottorete (4) Il metodo delle sottoreti si applica soprattutto per implementare sottoreti personalizzate. Alcuni bit della parte host dell indirizzo IP vengono usati per frazionare la rete in più segmenti. Con la messa in AND fra maschere e indirizzi un host può determinare se il pacchetto deve circolare all interno del segmento o uscire attraverso un router. La maschera presenterà tutti 1 anche in corrispondenza dei bit che identificano il segmento nella rete. 13
Risoluzione degli indirizzi e monitoraggio (1) Supponiamo che una stazione A deve comunicare con una stazione B appartenente alla stessa rete locale (e alla stessa sottorete se la rete locale è segmentata). L host A conosce l indirizzo IP di B ma, perché il collegamento sia fisicamente stabilito, A deve conoscere l indirizzo fisico MAC. A quindi utilizza il protocollo ARP (Address Resolution Protocol), un meccanismo di conversione degli indirizzi IP in indirizzi MAC. 14
Risoluzione degli indirizzi e monitoraggio (2) ESEMPIO (1/2) 15
Risoluzione degli indirizzi e monitoraggio (3) ESEMPIO (2/2) 16
Livello Trasporto Il livello trasporto nello stack TCP/IP è il corrispondente del livello trasporto OSI ed è realizzato principalmente con i protocolli TCP e UDP. Noi discuteremo di: TCP (Transmission Control Protocol) porte e socket 17
Il protocollo TCP È un protocollo orientato alla connessione: questo significa che la comunicazione viene assicurata, per un certo periodo di tempo, su circuiti di tipo a commutazione di pacchetto. Il livello trasporto ha il compito di colmare i limiti del livello Internet infatti quest ultimo ha il compito di instradare il pacchetto in modo efficiente ma sarà il livello trasporto a controllare la sua integrità e, eventualmente, richiedere che venga rispedito. In tal modo le stazioni intermedie sono esonerate dai compiti di controllo e quindi più veloci. Il livello trasporto assicura la corretta e ordinata ricezione dei pacchetti mediante le seguenti tecniche di controllo del flusso: numerazione di sequenza dei segmenti conferma con ACK e NACK sliding windows 18
Numerazione di sequenza dei segmenti Ciascun segmento (pacchetto) è autonomo, può essere commutato su un diverso percorso e impiegare tempo diverso per giungere a destinazione. Compito di TCP è quello di ricostruire il messaggio riordinando i segmenti nella giusta sequenza. La stazione ricevente analizza i numeri di sequenza dei segmenti, verifica che l ordine sia corretto e che nessun segmento sia andato perso. Conferma con ACK e NACK Spesso si verifica una congestione. Quindi la stazione ricevente memorizza i pacchetti in arrivo in un buffer. Se il traffico si mantiene alto il buffer si esaurisce e la stazione deve troncare la comunicazione. Allora è previsto un controllo di flusso. 19
Sliding windows Il metodo sliding windows prevede che l ACK venga trasmesso solo dopo che la stazione trasmittente ha inviato consecutivamente un dato numero di pacchetti. È il ricevente a decidere l ampiezza della finestra,cioè il numero di pacchetti, in base al proprio livello di congestione. La stazione destinazione non specifica il numero dei pacchetti ma il numero del pacchetto atteso. Finestra di ampiezza 1 Finestra di ampiezza 3 20
Porte e socket TCP fornisce servizi alle applicazioni superiori e per fare questo richiede i servizi forniti da IP. Oltre a identificare l host con l indirizzo IP, occorre un meccanismo che identifichi quale applicazione sull host dovrà ricevere effettivamente le informazioni. Ciò significa che occorre stabilire anche un numero di porta, che indica l applicazione che deve essere raggiunta. Sostanzialmente la connessione si effettua specificando l indirizzo dell host e quello della porta: l insieme dei due identificatori prende il nome di indirizzo socket. UDP: questo protocollo, al pari di IP e al contrario di TCP, non è orientato alla connessione ed è inaffidabile. Dato che non vi sono meccanismi di conferma, le congestioni prodotte sono inferiori a quelle di TCP e si ottiene una maggiore velocità di trasmissione. 21
Livello Applicazione Il livello applicazione include i livelli di applicazione, presentazione e sessione del modello OSI. Poiché questi livelli svolgono tutti compiti di livello software ha senso omogeneizzare queste funzioni in un singolo livello che prepara i dati per un livello inferiore. Dividiamo la trattazione in: DNS (domain names system) Posta elettronica (e-mail) e relativi protocolli WWW (world wide web) collegamento a Internet domestico 22
DNS (Domain Names System) (1) Il DNS (spazio dei nomi di dominio) è un metodo di risoluzione dei nomi logici (detti hostname) in indirizzi IP. L idea su cui si basa è che è più semplice usare, per identificare un interlocutore, una stringa di caratteri piuttosto che una sequenza binaria. Il DNS consiste in una struttura ad albero che rappresenta i nomi logici degli indirizzi effettivi binari IP. La gerarchia non prevede un numero massimo standard di livelli possibili, mentre e stabilito che ogni dominio può essere identificato al massimo con una stringa di 63 caratteri. 23
DNS (Domain Names System) (2) L identificatore globale di un dominio è composto da tutti i nomi di dominio a partire dalla foglia verso la radice, con i componenti del cammino separati da punti. Es.: il dominio Informatica è identificato da Informatica.Myscuola.it 24
E-mail e relativi protocolli (1) La posta elettronica è ormai ampiamente usata per lo scambio di messaggi, anche di carattere multimediale. L indirizzo di posta elettronica è costituito da una stringa del tipo mailbox@dominio dove: dominio è il nome di un dominio, ad es. nei collegamenti da casa è il dominio dell ISP (internet service provider), oppure può essere quello di un azienda. mailbox è la casella postale, spesso coincidente col nome dell account scelto per il collegamento a Internet. Es.: mario.rossi@newinformatica.it 25
WWW (World Wide Web) (1) Il Web è un insieme di documenti detti pagine visualizzabili attraverso un browser (es. Internet Explorer). Il modello usato è quello clientserver; il browser della macchina client per cercare un documento invia la richiesta al server Web utilizzando il protocollo HTTP (HyperText Transfer Protocol). Le pagine web contengono dei link ad altre pagine così da costituire un ipertesto, cioè un documento visitabile secondo vari percorsi. La richiesta al server da parte del client contiene una stringa che definisce l URL (Uniform Resource Locator) della pagina. Ad es.: http://www.cartoon.it/cartonianimati/gattosilvestro.html L URL ha 3 parti: http il protocollo per il colloquio client-server www.cartoon.it la macchina dove è situato il documento CartoniAnimati/GattoSilvestro.html il documento cercato con la directory 26
WWW (World Wide Web) (2) HTTP è un protocollo ASCII e prevede la possibilità di inserire file di varia natura (immagini, audio, video ecc.) codificati con MIME. Il protocollo FTP (File Transfer Protocol) è usato per il download e l upload di file anche se sta perdendo successo perché HTTP è in grado di fare le stesse cose con meno efficienza. Per costruire le pagine viene utilizzato il linguaggio HTML (HyperText Markup Language) che in realtà è un metodo per descrivere come sono formattati gli elementi che compaiono sulla pagina web. Il browser interpreta la formattazione e riproduce la pagina nel modo previsto. Esistono attualmente altri linguaggi, migliori di HTML, che sono molto usati (es. Java). 27
Collegamento a Internet domestico Per collegarsi a Internet occorre anzitutto un modem. Questo dispositivo è collegato a una delle porte seriali (dette COM) del computer. I dati passano dal computer al modem, il quale, dopo aver eseguito una modulazione, li lancia sulla linea telefonica attraverso la presa. La stazione utente chiama,componendo un numero telefonico, un ISP (Internet Service Provider) e sarà questo a fornire i servizi per il collegamento. È l ISP che decide l indirizzo IP della stazione, ciò significa che connessioni successive implicano che l utente abbia indirizzi IP diversi. 28