Reti di comunicazione



Похожие документы
UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

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

Reti di Calcolatori. Il software

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

Gestione degli indirizzi

Transmission Control Protocol

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

Reti di Telecomunicazione Lezione 8

Gestione degli indirizzi

Protocolli di Comunicazione

ARP e instradamento IP

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Inizializzazione degli Host. BOOTP e DHCP

Reti di Calcolatori

Dal protocollo IP ai livelli superiori

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

ARP (Address Resolution Protocol)

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

IP Internet Protocol

INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

ICMP. Internet Control Message Protocol. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it

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

Introduzione alle applicazioni di rete

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

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Il firewall Packet filtering statico in architetture avanzate

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

4 - Il livello di trasporto

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

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

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

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

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

Internet Control Message Protocol ICMP. Struttura di un Messaggio ICMP. Segnalazione degli Errori

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

Protocollo TCP/IP & Indirizzamento IP

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

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

3. Introduzione all'internetworking

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

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

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

Prof. Filippo Lanubile

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP


Reti di Telecomunicazione Lezione 6

Il protocollo IP (Internet Protocol)

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

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

PROF. Filippo CAPUANI TCP/IP

Internet e protocollo TCP/IP

PROGRAMMAZIONE MODULARE Disciplina: SISTEMI E RETI Classe: QUINTA A INF SERALE Indirizzo: INFORMATICA

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

La nascita di Internet

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

Reti standard. Si trattano i modelli di rete su cui è basata Internet

IL LIVELLO RETE IN INTERNET Protocollo IP

ARP/RARP. Problema della Risoluzione dell Indirizzo. Corrispondenza statica e dinamica. Scenari

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

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

Lo scenario: la definizione di Internet

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Tre catene (chains) di base, si possono definire altre catene (convenzionalmente in minuscolo)

Instradamento IP A.A. 2005/2006. Walter Cerroni. IP: instradamento dei datagrammi. Routing : scelta del percorso su cui inviare i dati

Il livello trasporto Protocolli TCP e UDP

Reti diverse: la soluzione nativa

Sicurezza nelle reti

Elementi di Informatica e Programmazione

Il modello TCP/IP. Sommario

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Interconnessione di reti

Introduzione alla rete Internet

Protocollo ICMP, comandi ping e traceroute

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

L architettura di TCP/IP

TCP/IP. Principali caratteristiche

Informazioni Generali (1/2)

Apparecchiature di Rete

Configurazione Rete in LINUX

Socket API per il Multicast

Elementi sull uso dei firewall

Reti di Calcolatori. Lezione 2

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

Internetworking TCP/IP: esercizi

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

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

FTP. Appunti a cura del prof. ing. Mario Catalano

La sicurezza delle reti

Introduzione alla rete Internet

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Esempio quesiti d esame per il laboratorio del corso. Reti di Comunicazione ed Internet Mod 2, Prof. G. A. Maier

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Транскрипт:

Reti di comunicazione Maurizio Aiello Consiglio Nazionale delle Ricerche Istituto di Elettronica e di Ingegneria dell Informazione e delle Telecomunicazioni

Comunicazione via rete Per effettuare qualsiasi comunicazione via rete si utilizza il metodo del layering, in cui ogni strato si occupa di una funzione diversa. In questo modo si ottiene flessibilità e robustezza. Ad esempio nel caso del tcp/ip: Link layer: caratteristiche fisiche della comunicazione, local delivery Network layer: gestisce lo spostamento del pacchetto in Internet. Es. Routing del pacchetto ip Transport Layer: Gestisce il flusso dei dati; ad esempio il decongestionamento del traffico di rete, l acknowledgement dei dati ricevuti, l opportuna segmentazione del dato (TCP). Oppure semplicemente gestisce la trasmissione da un host all altro (UDP) Application Layer: smtp, telnet, ftp etc. L applicazione vera e propria che si occupa di fornire servizi Internet.

Comunicazione Peer to Peer Di norma il kernel si occupa dei primi 3 layer (comunicazione vera e propria), mentre il processo utente lavora a livello application La potenza di questo tipo di comunicazione è che l applicativo non ha assolutamente conoscenza della topologia della rete e/o delle tecnologie usate. Semplicemente le utilizza per il trasporto. Ip effettua il delivery via Internet (unreliable), TCP&C effettuano la ritrasmissione, il controllo del flusso, la segmentazione appropriata etc.). Sono quindi due funzioni completamente distinte.

Comunicazione Peer2Peer FTP non si preoccupa dei dettagli della comunicazione sottostante. Il router effettua il forwarding dei pacchetti da una rete all altra, seguendo una politica di forwarding; collega due tecnologie trasmissive diverse. E il principio di Internet (insieme di host, router, apparati di rete e servizi in genere nel mondo).

TCP/IP Layering

Indirizzamento Internet In passato si usavano le classi IP per distinguere l ampiezza delle singole reti (ovvero la parte dell indirizzo destinato alla rete): Classe A B C D E Range di indirizzi 0.0.0.0 a 127.255.255.255 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 224.0.0.0 a 239.255.255.255 240.0.0.0 a 255.255.255.255 Per il problema sulla mancanza di indirizzi ipv4 ora si usa il subnetting: 150.145.0.0/21 significa che la parte di indirizzo che contraddistingue la rete è composta dai primi 21 bit.

Encapsulation Dal punto di vista operativo il layering viene implementato tramite l incapsulamento dei dati all interno dei singoli strati TCP/IP:

Encapsulation Un po di nomenclatura è importante: TCP: segmento UDP: datagram UDP IP: Datagram o pacchetto (il datagram può essere una parte di pacchetto) Ethernet: Frame Durante l encapsulation all interno di ogni header vengono scritte informazioni importanti per il layer stesso e per quello di livello più alto: ad esempio nell header ip ci sono scritti destination e source address IP, ma anche il protocol field in cui è specificato se il layer successivo è ad esempio TCPo UDP.

Demultiplexing Il demultiplexing funziona all inverso dell encapsulation: arriva il frame ethernet e viene portato a destinazione fino all applicativo.

Modello client server e porte Ci sono due approcci fondamentali al modello client/server, iterativo e concorrente. Nel modello iterativo il server risponde a una query da un client; mentre esegue questo compito nessun altra query può essere evasa. Tipico ad esempio di inetd, del named e in generale dei servizi basati su UDP. Nel modello concorrente per ogni query fatta viene dedicato un server dal sistema operativo, in modo tale che possono essere eseguite contemporaneamente più istanze dello stesso servizio. Esempio Ftp, telnet, http etc. In genere nei sistemi Unix è inetd che si occupa di gestire le istanze, seguendo le modalità del sistema operativo (fork, thread, etc.) I vari servizi sono tra loro distinti tramite le porte, un numero che varia da 1 a 65535 e dipende dalla tipologia del servizio. Il concetto di porta è valido per TCP e UDP. Le porte da 1a 1023 sono chiamate porte note, mentre dalla 1024 in su si chiamano effimere. Normalmente le porte effimere sono usate dai client, con qualche eccezione (NFS sulla porta 2049). Il file /etc/services in Unix illustra la corrispondenza porta / nome del servizio

Reti Locali: Link Layer Ethernet Diciamo che due PC appartengono alla stessa rete locale quando I due elaboratori sono direttamente collegati tra loro senza interposizione di alti dispositivi di rete. La tecnologia ethernet è del tipo CSMA/CD (Carrier sense multiple access, con collision detection). Questo significa che dato un cavo che connette diversi elaboratori (da A a Z) connessi tra loro tutti hanno accesso al mezzo fisico contemporaneamente. I frame che vanno da A a B (ad esempio) arrivano anche alle interfacce di rete degli elaboratori da C a Z. Cosa consente ad un host di capire se il frame è a lui destinato oppure no? Il Mac Address contenuto nell header ethernet. Il Mac address è un indirizzo di 6 byte, unico per ogni scheda di rete nel mondo, del tipo aa:bb:cc:dd:ee.ff Si possono spedire frame Unicast (destinati a un solo host) o broadcast, destinati a tutti gli host della rete locale. Se il Nic (network interface card) capisce che il frame (Unicast o broadcast) è a lui destinato effettua la decapsulazione e passa il datagram al layer superiore.

Reti Locali: Link Layer Ethernet A livello link layer un frame appare in questo modo: Destination source type address address 6 6 2 DATA 46-1500 CRC 4 La porzione di dati può andare da un minimo di 46 a un massimo di 1500 bytes (MTU=maximum Transfer Unit, è un valore diverso per ogni tipo di tecnologia di rete) Concetto di MTU PATH E fondamentale conoscere quindi per comunicare il mac address dell host destinazione (oltre naturalmente al proprio). Type per distinguere tra IP, ARP e RARP

IP: Internet Protocol La comunicazione dal punto di vista logico avviene tramite IP. Ogni host ha un proprio indirizzo IP, composto da 4 bytes, unico nel mondo (IP pubblici). Parte dell indirizzo individua la rete, parte l host. La subnet mask specifica appunto quale parte dell indirizzo è la rete, tramite un operazione di and logico bit a bit. Ad esempio 130.251.168.27 subnet mask 255.255.255.224 individua la rete 130.251.168.0-31, rete nella quale è presente l host numero 27. Infatti: 224 = 1 1 1 0 0 0 0 0 la parte di 0 indica gli host che quindi vanno da 0 a 31 27 = 0 0 0 1 1 0 1 1 Tutti gli host presenti su una stessa rete (LAN) comunicano direttamente tra loro, senza passare per altri apparati di rete (router). Se due host non stanno sulla stessa LAN è necessario che il pacchetto venga portato da un host all altro attraverso i router

IP: Header Version: IPV4 o IPV6 Header length: dovuta alla possibile presenza di opzioni, altrimenti sarebbe sempre 20 bytes TOS, usato in passato per ottimizzare il trasporto a seconda di certi parametri: ritardo, throughput, disponibilità e costo monetario Identification: numero unico per ogni pacchetto IP

IP: Header Lunghezza totale: essendo 16 bit se ne desume che il pacchetto IP può essere al massimo lungo 65535 bytes. Di solito naturalmente è meno lungo, dipende fortemente dalla MTU del mezzo trasmissivo e dell intero PATH che seguirà il pacchetto Flags: ad esempio il MF (more fragment). Ne parleremo più avanti TTL: per evitare che pacchetti malformati o errate configurazioni del routing Internet generi loop infiniti si utilizza il Time to Live, un numero che in partenza viene settato a un valore fisso (64?) e viene decrementato di 1 ogni volta che attraversa un router. Protocol: l indicazione del protocollo di più alto livello a cui deve essere mandato il pacchetto una volta giunto a destinazione (decapsulation). Esempio: 1 ICMP, 6 TCP e 17 UDP. Vedi file /etc/protocols. Checksum: calcolato solo sull header, sui dati ci pensa il protocollo di livello superiore. Options: raramente usate, ad esempio strict o loose source routing, timestamp, record route.

IP Routing ip add: 130.251.168.12 mac add: aa bb cc dd ee ff Workstation Ethernet SET=aa bb cc dd ee ff DET=00 11 22 33 44 55 SIP = DIP = 130.251.168.12 130.251.169.25 DATI SD ACT LINK ACT LINK ETHERNET1 mac add: 00 11 22 33 44 55 ETHERNET 2 mac add: 00 11 22 33 44 56 SET=00 11 22 33 44 56 DET=01 23 45 67 89 0a SIP = DIP = 130.251.168.12130.251.169.25 DATI Ethernet ip add: 130.251.169.25 mac add: 01 23 45 67 89 0a Workstation

IP Routing Se l host destinazione è sulla stessa rete del mittente, manda direttamente il datagram all host destinazione Altrimenti: caso semplice (Windows suite) manda al default gateway che si occuperà di fare lo smistamento del pacchetto IP verso la destinazione appropriata. In casi più complessi (host con più interfacce di rete, router) bisogna consultare le tabelle di routing per trovare la rotta opportuna. In generale la scansione della tabella segue le seguenti priorità: Host Network Default gateway Se ci sono problemi i router sono in grado di segnalare eventuali errori o correzioni tramite ICMP (redirect, host unreachable etc.)

Esercizio Utilizzare i comandi Unix ifconfig e netstat con I flag opportuni per studiare lo stato delle interfacce di un sistema e la tabella di routing del kernel.

Protocollo ARP Rimane un problema: come faccio a conoscere il mac address della macchina destinazione (host o router)? Utilizzando il protocollo ARP (Address resolution protocol) ARP fornisce una mappatura tra l indirizzo ethernet a 48bit di una scheda di rete e l ip address a 32 bit associato a quella stessa interfaccia. Vediamo come funziona analizzando un tentativo di connessione via ftp a un sito Internet, ad esempio www.redhat.com

Protocollo ARP

Protocollo ARP 1. FTP chiama la funzione gethostbyname per avere l ip address di www.redhat.com e ottiene 66.187.232.56 2. FTP chiede a TCP di stabilire la connessione 3. TCP manda una richiesta di connessione tramite IP all host 66.187.232.56 4. Non essendo sulla rete locale IP indirizza il frame verso il suo default gateway (router), di cui però non conosce il mac address. 5. Per conoscerlo chiede aiuto a ARP 6. ARP invia un frame ethernet all indirizzo di broadcast (indirizzo ff:ff:ff:ff:ff:ff); questo viene recepito da tutte le schede di rete connesse, e passato al kernel per il processing. Nel messaggio ARP c è scritto: se sei tu il possessore di questo ip address, mandami il tuo mac 7. Il possessore dell ip (in questo caso il default gw) risponde con un messaggio unicast di tipo arp reply comunicando il proprio mac 8. Il messaggio viene ricevuto 9. Il datagram ip viene incapsulato in un frame ethernet con il corretto mac address di destinazione

Protocollo ARP Iterando questo procedimento per tutti gli host della rete locale si ottiene la arp table, ovvero la corrispondenza mac add / ip add della rete locale. La tabella è consultabile usando il comando arp -a Esercizio: trovare mediante l utilizzo di comandi appropriati in shell Unix tutti I mac address sulla rete locale. Esercizio: mediante tcpdump monitorare l esecuzione di una arp-request / arp-reply su una rete ethernet. Esercizio: installare una macchina Windows con netbios/netbeui e osservare tramite tcpdump la quantità enorme di arp request inutili generate. Proxy arp.

UDP UDP viene inserito all interno di un pacchetto IP UDP e un protocollo che viene utilizzato qualora non ci sia bisogno di avere particolari certezze sull avvenuta ricezione del datagram. Fornisce solo un servizio di demultiplexing e un Checksum (eventuale). Un ulteriore problema e che UDP non si preoccupa di creare datagram di dimensione minore della MTU_PATH, delegando questo compito all applicazione; c e il pericolo quindi di generare IP fragmentation. Allora perche usarlo? Non conviene sempre utilizzare TCP? In molte applicazioni non e cosi importante che tutti I pacchetti arrivino a destinazione, cosi come non e critico l ordine di arrivo (Quake III Arena, Voice over IP, Videoconferenza etc.)

UDP Source port, destination port: al solito da 1 a 65535, serve per il demultiplexing dei server La lunghezza dell intero pacchetto UDP (eventualmente puo essere 8, pacchetto senza dati) Il checksum calcolato su header e dati (mentre quello di IP copre solo l header, come e naturale per la diversa funzione che IP svolge). Nel caso in cui il checksum sia sbagliato il datagram viene scartato in modo silenzioso (no ICMP message).

TCP Completamente diverso il servizio offerto da TCP. E connection oriented, nel senso che viene stabilita una connessione E un protocollo affidabile perche fornisce I seguenti servizi ai layer superiori: Calcolo del miglior frazionamento dei dati passati dall applicazione Segnale di acknowledge e possibile ritrasmissione del segmento in caso di problemi Checksum Ricostruzione della sequenza dei dati (IP non si occupa di questo) Scarto dei datagram duplicati Controllo del flusso tramite tecniche di windowing.

TCP

TCP Sequence number: numero random all inizio della connessione, si incrementa in ragione del numero di bytes scambiati. Ad esempio: S 3774957990 se spedisco 20 bytes di dati nel pacchetto dopo diventa 3774958010 Acknowledgement: numero che indica quanti bytes sono stati ricevuti. Sempre restando nell esempio precedente se ho ricevuto dati fino al syn 3774958010 rispondo con un ack 3774958011. Lo vedremo meglio nella parte di Intrusion Detection. Syn flag: settato all inizio (e solo all inizio) di una connessione Ack: presente sempre, tranne che nel primo segmento di una connessione. Importantissimo per quanto riguarda il packet filtering, perche mi consente di capire chi inizia la connessione. Psh flag: Passare I dati all applicazione subito (senza aspettare il riempimento dei buffer) Rst: reset della connessione Urg: bit che indica che il segmento contiene dati urgenti e quindi deve essere passato prima di altri segmenti Fin: termine della connessione (graceful).

TCP: inizio connessione (3-way handshake)