Lo Stack TCP/IP: Le Basi



Documenti analoghi
il progetto ieee 802

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Reti LAN. IZ3MEZ Francesco Canova

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Reti locali LAN (Local Area Networks)

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazione Lezione 8

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto

PROF. Filippo CAPUANI TCP/IP

Indirizzo IP. Come si distinguono? Indirizzo IP : Network address : Host address: : 134

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Elementi di Informatica e Programmazione

Reti di Calcolatori. Il software

Lo scenario: la definizione di Internet

Elementi di Informatica e Programmazione

Linux User Group Cremona CORSO RETI

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Protocolli di Comunicazione

Reti di calcolatori ed indirizzi IP

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Internet e protocollo TCP/IP

INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Internet. Introduzione alle comunicazioni tra computer

network subnet host Classe A poche reti di dimensioni molto grandi 127

Informatica per la comunicazione" - lezione 8 -

Reti di Calcolatori

DA SA Type Data (IP, ARP, etc.) Padding FCS

Standard di comunicazione

Transmission Control Protocol

Reti di calcolatori. Lezione del 10 giugno 2004

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

10. Stratificazione dei protocolli

Gestione degli indirizzi

Indirizzi IP. Indirizzi IP

5. Traduzione degli indirizzi di rete in indirizzi fisici: ARP

Networking e Reti IP Multiservizio

Dispositivi di rete. Ripetitori. Hub

3. Introduzione all'internetworking

Gestione degli indirizzi

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Le reti. Introduzione al concetto di rete. Classificazioni in base a

Dal protocollo IP ai livelli superiori

Prova di autovalutazione del modulo di Reti di Calcolatori IFTS Docente: Luciano Bononi

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

MODELLI ISO/OSI e TCP/IP

Reti e Internet: introduzione

Multicast e IGMP. Pietro Nicoletti

ARP (Address Resolution Protocol)

Reti di Calcolatori:

Parte II: Reti di calcolatori Lezione 24

Determinare la grandezza della sottorete

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

ARP e instradamento IP

Software Servizi Web UOGA

Reti di Telecomunicazione Lezione 6

Autenticazione tramite IEEE 802.1x

RETI E SOTTORETI. Copyright 2010 Marco Salatin Pagina 1

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

IP (Internet Protocol) sta al livello 2 della scala Tcp/Ip o al livello 3 della scala ISO/OSI. Un indirizzo IP identifica in modo logico (non fisico

Reti e Internetworking

Corso di Informatica

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

Allegato 3 Sistema per l interscambio dei dati (SID)

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Comunicazione nel tempo

8 Interconnessione delle reti

SIMULAZIONE PROVA SCRITTA ESAME DI STATO. PER LA DISCIPLINA di SISTEMI

ICMP OSI. Internet Protocol Suite. Telnet FTP SMTP SNMP TCP e UDP NFS. Application XDR. Presentation. Session RPC. Transport.

Hardware delle reti LAN

Il livello 3 della pila ISO/OSI. Il protocollo IP e il protocollo ICMP

M286 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE. Indirizzo: ELETTRONICA E TELECOMUNICAZIONI CORSO DI ORDINAMENTO. Tema di: TELECOMUNICAZIONI

Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato

Interconnessione di reti

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Apparecchiature di Rete

I COMPONENTI DI UNA RETE

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Transcript:

Lo Stack TCP/IP: Le Basi I livelli TCP/IP hanno questa relazione con i livelli di OSI. Lo stack di protocolli TCP/IP implementa un livello network (livello 3) di tipo: packet-switched; connectionless. Il livello più basso (corrispondente ai livelli 1 e 2 di OSI) non è specificato dall architettura, che prevede di utilizzare quelli disponibili per le varie piattaforme HW e conformi agli standard. Per quanto riguarda le reti in ambito locale (LAN), lo standard riconosciuto per i livelli 1 e 2 è rappresentato dal progetto IEEE 802, che è stato riconosciuto anche da OSI. Per capire il funzionamento dei protocolli TCP/IP, nel seguito considereremo proprio la situazione di una rete locale. Risulta necessario perciò soffermarsi brevemente sulla strutturazione 30 delle LAN.

Le LAN (Local Area Network) DEFINIZIONE: una LAN è un sistema di comunicazione che permette ad apparecchiature indipendenti di comunicare tra loro, entro un area delimitata, utilizzando un canale fisico a velocità elevata e con basso tasso d errore. Le LAN hanno quindi sempre un solo canale trasmissivo ad alta velocità condiviso nel tempo da tutti i sistemi collegati. Quando un sistema trasmette diventa proprietario temporaneamente (per la durata di uno o pochi pacchetti) dell'intera capacità trasmissiva della rete. La trasmissione è sempre di tipo broadcast, ovvero un sistema trasmette e tutti gli altri ricevono. Tale organizzazione ha enormi vantaggi, ma impone anche alcune complicazioni: è necessaria la presenza di indirizzi di livello 2 per stabilire chi sono il reale destinatario e il mittente della trasmissione e occorre arbitrare l'accesso all'unico mezzo trasmissivo tra tutti i sistemi che hanno necessità di trasmettere. L'unico canale trasmissivo presente deve anche essere caratterizzato da un basso tasso di errore. Questo è ottenibile abbastanza facilmente in un'area delimitata usando mezzi trasmissivi di buona qualità. L'effetto ottenuto è quello che le LAN, essendo intrinsecamente affidabili, non hanno la necessità di correggere gli errori a livello 2 OSI e quindi normalmente utilizzano protocolli di livello 2 connectionless ad alte prestazioni. 31

Il Progetto IEEE 802 Quando le prime LAN cominciarono a diffondersi l'ieee decise di costituire sei comitati per studiare il problema della standardizzazione delle LAN e delle MAN, complessivamente raccolti nel progetto IEEE 802. IEEE 802 introduce l'idea che le LAN e le MAN devono fornire un'interfaccia unificata verso il livello Network (livello rete), pur utilizzando tecnologie trasmissive differenziate. Per ottenere tale risultato, il progetto IEEE 802 suddivide il livello Data Link in due sottolivelli: LLC (Logical Link Control); MAC (Media Access Control). Il sottolivello LLC è comune a tutte le LAN, mentre il MAC è caratteristico di ciascuna LAN, così come il livello fisico al quale è strettamente associato. Il sottolivello LLC è l'interfaccia unificata verso il livello Network ed è descritto nell'apposito standard IEEE 802.2, mentre i vari MAC sono descritti negli standard specifici di ogni rete locale (ad esempio il MAC CSMA/CD è descritto nello standard IEEE 802.3, ed il MAC Fast Ethernet (100BaseT) è descritto in IEEE 802.3u). 32

MAC: Media Access Control (1) Il sottolivello MAC è specifico di ogni LAN e risolve il problema della condivisione del mezzo trasmissivo. Il MAC è indispensabile in quanto a livello 2 (Data Link) le LAN implementano sempre una sottorete trasmissiva di tipo broadcast in cui ogni sistema riceve tutti i frame inviati dagli altri. Per trasmettere in broadcast, cioè far condividere un unico canale trasmissivo a tutti i sistemi, bisogna risolvere due problemi: in trasmissione, verificare che il canale sia libero prima di trasmettere e risolvere eventuali conflitti di più sistemi che vogliano utilizzare contemporaneamente il canale; in ricezione, determinare a quali sistemi è effettivamente destinato il messaggio e quale sistema lo ha generato. La soluzione del primo problema è data dai vari algoritmi di MAC, basati su principi diversi, quali la contesa, il token, la prenotazione e il round-robin. La soluzione del secondo problema necessita della presenza di indirizzi a livello MAC (quindi nella MAC-PDU) che identifichino ciascun sistema e trasformino trasmissioni broadcast in: tramissioni punto-punto, se l'indirizzo di destinazione indica un singolo sistema; trasmissioni punto-gruppo, se l'indirizzo di destinazione indica un gruppo di sistemi; trasmissioni effettivamente broadcast, se l'indirizzo di 33 destinazione indica tutti i sistemi.

MAC: Media Access Control (2) Le reti locali hanno canali sufficientemente affidabili, quindi non è in genere necessario effettuare correzione degli errori. Se ciò fosse richiesto, sarebbe il sottolivello LLC ad occuparsene essendo il MAC sempre connectionless. MAC PDU (MAC Protocol Data Unit) Nelle reti locali, al livello 2 OSI, sono presenti due tipi di PDU corrispondenti ai due sottolivelli LLC e MAC. Il formato della LLC-PDU è comune a tutte le reti locali proprio per costituire un interfaccia omogenea verso i livelli 3 ed il sottolivello MAC, mentre quello della MAC-PDU è caratteristico di ogni singolo MAC. Tuttavia alcuni campi principali, rappresentati qui sotto, sono presenti in tutte le MAC-PDU. In particolare una MAC- PDU contiene: due indirizzi (SAP, Service Access Point) o MAC-address, uno di mittente (MAC-SSAP, Source Service Access Point) e uno di destinatario (MAC-DSAP, Destination Service Access Point) per identificare chi spedisce e chi deve ricevere, un campo INFO contenente la LLC-PDU (cioè il pacchetto di livello LLC da trasportare) e, una FCS (Frame Control Sequence) su 32 bit, cioè un codice a ridondanza ciclica (CRC) per l'identificazione di errori di trasmissione (ma non la correzione). MAC-DSAP MAC-SSAP INFO Indirizzo di Indirizzo LLC-PDU Destinazione del Mittente (dati di LLC) FCS 34

Indirizzi MAC Gli indirizzi MAC sono lunghi 6 byte, si scrivono per convenzione in esadecimale e sono univoci a livello mondiale. Essi sono scritti in una ROM dal costruttore della scheda di rete e possono essere eventualmente sostituiti via software da indirizzi scritti in un apposito buffer. Essi si compongono di due parti di 3 byte ciascuna: - i 3 byte più significativi indicano il lotto di indirizzi assegnato al costruttore della scheda di rete locale o all'organizzazione che ha progettato una data architettura di rete; essi vengono detti OUI (Organization Unique Identifier); - i 3 byte meno significativi sono una numerazione interna progressiva decisa dal costruttore stesso, per distinguere gli indirizzi di uno stesso costruttore. Gli indirizzi MAC possono essere di tre tipi: single, se riferito ad un singolo sistema; multicast, se riferito ad un gruppo di sistemi; broadcast, se riferito a tutti i sistemi. Il broadcast è un tipo particolare di multicast con codifica esadecimale FF-FF-FF-FF-FF-FF, cioè tutti uno. La scheda di rete di un sistema distingue tra questi tipi di indirizzi, considerando i primi due bit ricevuti della MAC-PDU, cioè (per convenzione, canonical order) i due bit meno significativi del primo byte dell indirizzo MAC di destinazione. Il primo bit si chiama I/G (Individual/Group) ed indica se l'indirizzo è di un singolo sistema o di un gruppo di sistemi. Il secondo bit si chiama U/L (Universal/Local) indica se l'indirizzo è stato assegnato ufficialmente o è stato deciso su base locale. Ad es. il Broadcast è di gruppo e ufficiale. 35

Ricezione dei Pacchetti a livello 2 Quando una scheda di rete locale riceve un pacchetto, questo non viene passato automaticamente al livello superiore (LLC) ma viene analizzato a livello MAC, per effettuare una serie di controlli. Per prima cosa il MAC verifica che il pacchetto sia integro (cioè abbia una FCS Frame Control Sequence corretta) e di dimensioni ammesse. Successivamente il livello MAC analizza l'indirizzo di destinazione (MAC-DSAP). Si possono porre tre casi: se l indirizzo MAC di destinazione (il MAC-DSAP) è broadcast, il pacchetto viene sempre passato al LLC, perchè tutti i sistemi devono riceverlo; se il MAC-DSAP è single, il pacchetto viene passato al LLC solo se il MAC-DSAP è uguale all'indirizzo hardware della scheda o a quello caricato da software nell'apposito buffer; se il MAC-DSAP è multicast, si verifica se la ricezione di quel multicast è stata abilitata dal software di livello superiore, cioè di livello 3, cioè se la scheda appartiene al gruppo indirizzato. Poiché non è noto a priori a quanti gruppi possa appartenere una scheda, si usano delle tecniche di hash per mantenere la lista dei gruppi abilitati. Gli indirizzi di gruppo servono principalmente per scoprire quali altri sistemi sono collegati alla rete locale, quali servizi questi mettono a disposizione e, molto importante, le relazioni esistenti tra gli indirizzi MAC e gli indirizzi di livello 3. 36

Ricezione dei Pacchetti a livello 2 Un eccezione: il modo PROMISCUO Nel modo normale visto nella precedente slide, se una scheda di rete inserita in una LAN riceve un pacchetto, lo passa al livello superiore (LLC) solo se il pacchetto di livello MAC è un pacchetto broadcast, o è un pacchetto single con indirizzo uguale a quello della scheda di rete, o è un pacchetto multicast con indirizzo con cui un indirizzo dell host è in corrispondenza. In tal modo si ha la garanzia che i pacchetti destinati ad un host vengano letti solo da quell host. In realtà esiste un altra modalità di funzionamento delle schede di rete per LAN, detto modo promiscuo (promiscuous mode) in cui tutti i pacchetti ricevuti a livello MAC sono passati ai livelli superiori. In tal caso l analisi sulla destinazione dei pacchetti dovrà essere effettuata da protocolli di livello superiore. Tale modalità di funzionamento viene utilizzata da applicazioni (ad es. il tcpdump per Linux) per effettuare il monitoraggio della rete, ovvero per controllare quanti e quali pacchetti vengono trasmessi in rete, da chi, ecc... Ovviamente tale modalità rappresenta un problema di sicurezza perchè rende possibile vedere dati riservati trasmessi via rete. Per tale motivo i sistemi operativi moderni permettono solo all amministratore del sistema (root) di configurare la scheda di rete perchè funzioni in modo promiscuo, impedendo ad altri di accedere alla porta attraverso la quale si configura la scheda di rete. 37

Utilizzo del Broadcast. I concetti di indirizzi single, multicast e broadcast sono implementati sia a livello MAC che a livello IP. Un applicazione importantissima del meccanismo di broadcast realizzato a livello MAC, è rappresentato dal protocollo ARP di (livello 3) del TCP/IP, che permette ad un host S su una certa LAN, di scoprire a partire dall indirizzo IP dell host di destinazione D (se questo sta nella stessa LAN), l indirizzo MAC dell host destinazione stesso, indirizzo che servirà per inviare il frame che incapsulerà il pacchetto destinato all host di destinazione.!!! Il protocollo ARP opera in questo modo: l host S invia a tutte le stazioni della LAN, in data link broadcast, una richiesta del tipo: "chi ha l'indirizzo IP uguale a IP_D?. tutti gli host ricevono la risposta, e i MAC la passano a livello 3. solo l'host che ha quell'indirizzo IP IP_D risponde, inserendo nella risposta il proprio indirizzo MAC; quando S riceve la risposta, sa a che MAC address deve inviare il pacchetto. l'host S mantiene in memoria il MAC address di D per alcuni minuti, per eventuali trasmissioni successive. A livello IP il multicast è utilizzato per realizzare con semplicità dei flussi di comunicazione punto-multipunto, che sono sfruttati ad es. in applicazioni di videoconferenza, quali ad es. MBone. In tali applicazioni un singolo pacchetto inviato dal sorgente raggiunge molti hosts destinatari, duplicandosi opportunamente quando i percorsi si dividono. 38

Relazione tra il Livello 3, Logical Link Control e Media Access Control. In figura vediamo le relazioni tra le Protocol Data Unit di livello 3 (Network), le LLC-PDU e le MAC-PDU, incapsulate una dentro l altra. Notare come ogni livello specifichi due indirizzi di quel livello, un mittente (*-SSAP, S come Source) ed un destinatario (*-DSAP, D come Destination) per i pacchetti/frame passati al livello inferiore. Qualche considerazione: Ogni interfaccia di rete locale è gestita da un suo livello MAC. Su tale livello MAC si appoggia un livello LLC. Il livello MAC è implementato nell'hardware della scheda di rete locale, mentre il livello LLC è di solito realizzato in software. Ogni livello LLC può gestire un solo livello MAC: questo significa che un livello LLC non può avere funzionalità di "relaying" (non può inoltrare pacchetti) tra più MAC. Tale funzionalità di instradamento dei pacchetti è delegata al livello 3. 39

LLC: Logical Link Control LLC ha lo scopo di fornire un'interfaccia unificata con il livello network, e di fornire un supporto standard alla convivenza di più protocolli di livello superiore sulla stessa LAN. Proprio per questo scopo la Protocol Data Unit di LLC contiene anch essa due indirizzi, una destinazione e una sorgente, e questi indirizzi rappresentano gli identificatori del protocollo di livello superiore a cui il livello LLC deve consegnare il pacchetto che gli è arrivato [o da cui il pacchetto è arrivato]. Destination Address Source Control Address La PDU di LLC L3-Information Supporto multiprotocollo offerto da LLC 40

LLC: Logical Link Control (2) LLC può operare sia come protocollo connesso che non connesso, anche se la modalità non connessa è quella più diffusa. IEEE 802.2 è lo standard del sottolivello LLC. Esso definisce sia i servizi forniti dal livello LLC, sia il protocollo che li implementa. 41