LORENZO PARISI CLASSE V LSA GARDASCUOLA AS Computer networks
TIPOLOGIE DI SERVIZI Connection oriented: modello telefonico. Le informazioni giungono a destinazione nell’ordine con cui sono state spedite 1. Viene stabilita una connessione tra mittente e destinatario (canale di comunicazione che coinvolge vari nodi sul percorso) 2. La connessione funge da «tubo digitale» attraverso il quale passano le informazioni 3. La connessione viene chiusa al termine della comunicazione Connectionless: modello postale. Invio di singoli pacchetti che possono seguire strade diverse ed arrivare in ordine diverso
AFFIDABILITA’ DEI SERVIZI Affidabile (reliable): viene assicurata la ricezione di tutti i dati inviati attraverso un opportuno segnale di acknowledgment (ACK) Non affidabile (not reliable): non c’è garanzia che i tutti i dati arrivino a destinazione Esistono varie combinazioni: Reliable connection oriented (TCP) Not reliable connection oriented Not reliable connectionless (IP) Reliable connectionless
STACK DI PROTOCOLLI Peer entities
STACK DI PROTOCOLLI Ogni livello comunica con il suo pari (peer entity) attraverso i livelli sottostanti ma in maniera trasparente I livelli più bassi forniscono servizi ai livelli superiori Tra un livello e l’altro esiste un interfaccia (SAP) I dati trasferiti da un livello all’altro si chiamano PDU (Protocol Data Unit) e vengono imbustati con informazioni specifiche del singolo sottolivello
IMBUSTAMENTO
Il modello ISO/OSI e l’architettura TCP/IP
PHYSICAL LAYER (Liv. 1) Si occupa della trasformazione fisica dei bit e della loro trasmissione sul canale di comunicazione Riguarda le caratteristiche elettriche, meccaniche e procedurali delle interfacce di rete e del mezzo fisico Tensioni scelte per rappresentare 0 e 1 Durata di un bit Gestione del canale (1 o 2 direzioni) Funzionamento e caratteristiche dei connettori Modulazione e multiplazione
DATA LINK LAYER (Liv. 2) Fa in modo che il mezzo trasmissivo appaia al livello superiore esente da errori, gestendoli Spezzetta i dati dal livello superiore in frame (delimitando i bit), li invia e aspetta un ACK per ogni frame inviato Regola il traffico per evitare perdite di dati e sovraccarico della rete (uso di buffer) Gestisce il collegamento punto a punto Diviso in due sottolivelli: LLC: fornisce un’interfaccia unica al livello 3 MAC: gestisce l’accesso al mezzo fisico in maniera specifica
NETWORK LAYER (Liv. 3) Gestisce la sottorete di comunicazione e ne consente l’attraversamento per andare dal mittente al destinatario Routing (instradamento), basato su indirizzi IP Gestione della congestione di rete Accounting Conversione di dati nel passaggio da una rete a un’altra Può spezzare i segmenti in pacchetti per poi ricomporli Indirizzi da rimappare
TRANSPORT LAYER (Liv.4) Crea una connessione logica tra mittente e destinatario (end to end) Utilizza le porte logiche per distinguere i dati da e per lo stesso host Spezzetta i dati ricevuti dal livello superiore in segmenti e li riassembla in ordine alla ricezione dai sottostanti Gestisce le connessioni di livello 3 (upward e downward multiplexing) TCP: reliable connection oriented UDP: not reliable connectionless
APPLICATION LAYER (Liv.7) Livello che si interfaccia direttamente con l’utente. Fanno parte di questo livello i seguenti protocolli e servizi: HTTP/HTTPS VOIP FTP POP3/IMAP DNS P2P
Analisi di Fourier Ogni segnale variabile nel tempo è equivalente alla somma di funzioni sinusoidali e può essere rappresentato con il suo spettro di frequenze
Fondamenti di trasmissione dati Ogni segnale ha un intervallo di frequenze delle sinusoidi che lo descrivono (Banda di frequenza) I mezzi fisici sono caratterizzati da una banda passante che dipende dalle loro caratteristiche. La banda passante rappresenta l’intervallo di frequenze che il mezzo è in grado di trasmettere senza alterare il segnale L’attenuazione in proporzione alla distanza e alla frequenza Teorema di Nyquist: V[bps] = 2*h*log 2 (v)
Fibre ottiche Banda passante di 1GHz (linea telefonica: 3KHz)
Modalità di accesso al canale Senza contesa (deterministico) A gettone (token ring e FDDI) FDM (Frequency Division Multiplexing) per segnali analogici TDM (Time Division Multiplexing) per segnali digitali A contesa: ogni stazione cerca di capire se può trasmettere o no Aloha Aloha Slotted Aloha Slotted Aloha CSMA/CA CSMA/CA CSMA/CD CSMA/CD
CSMA/CA
CSMA/CD
TDM (Time Division Multiplexing)
FDM (Frequency Division Multiplexing)
MAC address Indirizzo della scheda di rete statico e univoco a livello mondiale Utilizzato per la comunicazione a livello data link Es: 01:23:45:67:89:ab
Rilevamento e correzione degli errori Si introducono dei bit di controllo, quindi il frame è composto da: n bit = m + r e prende il nome di parola di codice (codeword) m = bit di messaggio r = bit di controllo Distanza di Hamming tra due parole di codice: numero di bit che cambiano tra una parola e l’altra Distanza di Hamming di un codice (d): distanza minima tra tutte le parole che vi appartengono Per rilevare n errori: d = n+1 Per correggere n errori: d = 2n+1
Controllo del flusso: stop & wait
Controllo del flusso: sliding window Go-back-n: ritrasmette tutto dall’ultimo buono Selective repeat: buffer in ricezione consente di ritrasmettere solo il frame mancante
Hub, switch, router Hub (liv 1): Replicatore di segnale Aumenta traffico di rete Switch (liv 2): Indirizza i frame sulle porte corrette Switching table - autoapprendimento Router (liv 3): Fa comunicare reti diverse Routing table
IP packet header
Assegnazione degli indirizzi IP Manuale (statica) Laboriosa Necessaria in casi particolari Attenzione ai conflitti! Automatica (dinamica) – DHCP Indirizzo liberato dopo un tempo di inattività e riassegnato ad un’altra macchina Possibilità di riservare degli indirizzi
Dall’IP address al MAC address: ARP ARP = Address Resolution Protocol L'host che vuole conoscere il MAC address di un altro host, di cui conosce l'indirizzo IP, invia in broadcast (ff:ff:ff:ff:ff:ff) una richiesta ARP (pacchetto di ARP Request) contenente il proprio indirizzo MAC e l'indirizzo IP del destinatario di cui si vuole conoscere il MAC Address. Tutti i calcolatori della sottorete ricevono la richiesta: in ciascuno di essi il protocollo ARP verifica, confrontando l'IP proprio con quello inviato, se viene richiesto il proprio indirizzo MAC. L'host di destinazione che riconoscerà il proprio indirizzo IP nel pacchetto di ARP-request, provvederà ad inviare una risposta (ARP Reply) contenente il proprio MAC in unicast all'indirizzo MAC del richiedente. Nel caso di indirizzi IP esterni alla rete il router risponde con il proprio indirizzo MAC e farà da tramite per la comunicazione ARP table: contiene associazioni tra IP e MAC Per mostrare la ARP table: arp –a
Tabelle di routing
Tabelle di routing e netmask
Algoritmi di routing Spanning tree: Sink tree: insieme dei cammini ottimi da un certo router verso tutti gli altri Gli algoritmi di routing ricostruiscono i sink tree dei router da raggiungere e compilano le routing tables. Routing statico: calcolato all’accensione del router o impostato manualmente Routing dinamico: i percorsi ottimi vengono aggiornati per rispondere alle modifiche nella struttura della rete Strumenti per visualizzare il routing: comando shell tracert
Transport layer TCP: connection oriented e reliable, è usato da HTTP FTP SMTP UDP: connectionless, not reliable DNS VOIP Streaming video
TCP Header
Sliding window
Sliding window in TCP 1. L’applicazione produce i dati e attraverso la socket li passa al livello 4 per la spedizione. 2. Il mittente invia un segmento da 2KB con il campo Sequence number a 0 3. Il destinatario riceve i dati, li salva nel buffer e invia un segmento con flag ACK = 1, ACK number = 2048 (il prossimo byte che si aspetta) e Window size = 2048 (spazio residuo nel buffer). Questo segmento va inviato anche se WIN = 0 altrimenti il mittente penserebbe che il suo dato non sia arrivato e lo reinvierebbe causando un inutile traffico sulla rete 4. Alla ricezione del secondo segmento il buffer si riempie e quindi il destinatario invia l’ACK per confermare la ricezione ma avvisa che il suo buffer è pieno. 5. Il mittente è costretto ad aspettare perché sa che il destinatario non ha spazio nel buffer 6. L’applicazione del dest. legge 2K dal buffer che quindi si libera e il destinatario invia un messaggio per avvisare il mittente 7. Il mittente invia ulteriori 1024 byte 8. Il destinatario manderà un segmento di acknowledgment fatto così: flag ACK = 1, ACK = 5120 (totale dei byte ricevuti), WIN = 1024