Programmazione in Rete



Documenti analoghi
Network layer. (cenni) Applicazioni di Rete M. Ribaudo - DISI. Network layer. application transport. network data link physical

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

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

Parte II: Reti di calcolatori Lezione 16

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

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

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

Protocolli di Comunicazione

Il livello Network in Internet

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

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

Capitolo 4 Livello di rete

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

IL LIVELLO RETE IN INTERNET Protocollo IP

Un caso estremo per gli algoritmi di routing: Reti Mobili Ad Hoc (MANET)

Il protocollo IP (Internet Protocol)

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

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

Indice. Prefazione XIII

IP Internet Protocol

Protocollo IP e collegati

Formato del datagramma IP

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

Il firewall Packet filtering statico in architetture avanzate

La mobilità dei nodi può modificare dinamicamente i cammini e il routing dei nodi

Internet e protocollo TCP/IP

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

ICMP. (Internet Control Message Protocol) Cosa è l ICMP? Messaggi di ICMP. Applicazioni di ICMP: ULP, Ping, Traceroute, Path MTU discovery

Protocollo ICMP, comandi ping e traceroute

Reti di Calcolatori I

Indirizzamento privato e NAT

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

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

Gestione degli indirizzi

Gli indirizzi dell Internet Protocol. IP Address

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

Reti di Calcolatori. Il software

Laurea in INFORMATICA

Il protocollo IP. Corso di Reti di Telecomunicazione a.a. 2013/14

TCP/IP. Principali caratteristiche

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento.

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

Gestione degli indirizzi

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

Forme di indirizzamento

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

Reti di Telecomunicazione Lezione 8

ESERCIZIO NUMERO 1 ESERCIZIO NUM. 2

Interconnessione di reti

Reti di calcolatori. Lezione del 10 giugno 2004

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

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Antonio Cianfrani. Extended Access Control List (ACL)

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

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

Socket API per il Multicast

Maschere di sottorete a lunghezza variabile

Dal protocollo IP ai livelli superiori

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)

Reti di Calcolatori:

Il routing in Internet Exterior Gateway Protocols

La sicurezza delle reti

Indirizzamento, Routing e Forwarding per reti IP. Andrea Detti rev. 01

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

TCP/IP: summary. Lorenzo Cavallaro, Andrea Lanzi

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

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

Indirizzi IP. Indirizzi IP

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

Internetworking TCP/IP: esercizi

Inizializzazione degli Host. BOOTP e DHCP

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

Transmission Control Protocol

Livello di Rete. Gaia Maselli

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

Elementi di Informatica e Programmazione

Lo scenario: la definizione di Internet

Argomenti della lezione

Elementi sull uso dei firewall

Il Mondo delle Intranet

IPv6: aspetti generali

ARP e instradamento IP

Il modello TCP/IP. Sommario

Configurazione delle interfacce di rete

Introduzione alla rete Internet

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

INTRODUZIONE ALLE RETI: UN APPROCCIO PRATICO

Elementi di Informatica e Programmazione

Access Control List (I parte)

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

Introduzione alla rete Internet

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

Dal menù Network/Interface/Ethernet configurare le interfacce WAN e LAN con gli opportuni ip:

Introduzione alla rete Internet

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Università degli Studi di Bergamo

INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

Lezione n.9 LPR- Informatica Applicata

Programmazione in Rete

Architettura degli Elaboratori 2

Transcript:

Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12

Sommario della lezione di oggi: Lo strato di rete (2/3) Servizi e protocolli dello strato di rete Reti a circuito virtuale vs reti a datagramma Struttura di un router Inoltro e indirizzamento in Internet: il protocollo IP Instradamento in Internet dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 2

Lo strato di rete di Internet Strato di trasporto: TCP, UDP Strato di rete Routing protocols path selection RIP, OSPF, BGP routing table IP protocol addressing conventions datagram format packet handling conventions ICMP protocol error reporting router signaling Strato di collegamento Strato fisico dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 3

formato del datagramma Num. vers. protocollo IP Lungh. header (byte) tipo di dati Numero max di hop restanti (decrementato ad ogni router) Protocollo di strato sovrastante a cui consegnare carico ver head. len 16-bit identifier time to live type of service upper layer 32 bits flgs length fragment offset Internet checksum 32 bit source IP address 32 bit destination IP address Options (if any) data (variable length, typically a TCP or UDP segment) Lunghezza tot. Del datagram(byte) per frammentazione/ riassemblaggio P.es. timestamp, registra percorso seguito, specifica elenco di router da visitare dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 4

frammentazione e riassemblaggio MTU (Maximum Transfer Unit) - frame + largo possibile a livello di collegamento. differenti tipi di link, different MTU datagram IP grandi suddivisi ( frammentati ) nella rete un datagram diventa diversi datagram riassemblati solo alla destinazione finale bit di intestazione IP usati per identificare e ordinare frammenti correlati riassemblaggio frammentazione: in: one large datagram out: 3 smaller datagrams dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 5

frammentazione e riassemblaggio (cont.) length =4000 ID =x fragflag =0 offset =0 Un datagram grande diventa diversi datagram più piccoli length =1500 ID =x fragflag =1 offset =0 length =1500 ID =x fragflag =1 offset =1480 length =1040 ID =x fragflag =0 offset =2960 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 6

indirizzamento interfaccia: connessione fra host/router e link router hanno di solito interfacce multiple host possono avere interfacce multiple indirizzi IP associati ad interfaccia, non ad host/router Indirizzo IPv4: identificatore a 32 bit (4 byte!) per un interfaccia 223.1.1.1 223.1.2.1 223.1.1.2 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 7

indirizzamento (cont.) Un indirizzo IP consta di: parte di rete (bit di ordine alto) parte host (bit di ordine basso) Cos è una rete (dal punto di vista IP)? Interfacce di dispositivo con stessa parte di rete per indirizzo IP Host all interno di una rete può fisicamente raggiungere ogni altro altro host della stessa rete senza intervento di un router 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 LAN 223.1.2.2 223.1.3.2 Rete consistente in 3 reti IP (per indirizzi IP che iniziano con 223, i primi 24 bit sono indirizzi di rete) dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 8

indirizzamento (cont.) Come trovare le reti? Scollega ogni interfaccia da router/host Crea isole di reti separate 223.1.9.1 223.1.1.1 223.1.9.2 223.1.8.1 223.1.1.2 223.1.1.3 223.1.7.0 223.1.8.0 223.1.1.4 223.1.7.1 223.1.2.6 223.1.3.27 sistema interconnesso consistente di sei reti 223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 9

indirizzamento (cont.) Sulla base della nozione di rete IP, parliamo di indirizzamento per classe (classful addressing): class A 0network host B 10 network host C 110 network host da 1.0.0.0 a 127.255.255.255 da 128.0.0.0 a 191.255.255.255 da 192.0.0.0 a 223.255.255.255 D 1110 multicast address da 224.0.0.0 a 239.255.255.255 32 bits dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 10

indirizzamento (cont.) Indirizzamento per classe: usoinefficientedispaziodegli indirizzi, esaurimentodi spazio indirizzi e.g., rete di classe B allocati abbastanza indirizzi per 65K host, anche se ci sono solo 2K host in quella rete CIDR: Classless InterDomain Routing porzione di rete nell indirizzo è di arbitraria lunghezza formato di indirizzo: a.b.c.d/x, dove x è # bit nella porzione di rete network part 11001000 00010111 00010000 00000000 200.23.16.0/23 host part dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 11

indirizzamento (cont.) Come ottenere un blocco di indirizzi IP? Occorre contattare il proprio ISP! ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20 Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23....... Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 12

indirizzamento (cont.) Come fa un ISP ad ottenere un blocco di indirizzi? Occorre contattare ICANN (Internet Corporation for Assigned Names and Numbers) alloca indirizzi gestisce DNS assegna nomi di dominio, risolve dispute dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 13

indirizzamento (cont.) Come ottenere indirizzi per gli host di una rete? parte host codificata a mano da amministratore di sistema in un file, oppure DHCP (Dynamic Host Configuration Protocol) prende dinamicamente indirizzo -> plug-and-play host invia msg DHCP discover in broadcasting server DHCP risponde con msg DHCP offer host richiede indirizzo IP con msg DHCP request server DHCP invia indirizzo con msg DHCP ack dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 14

inoltro IP datagram: misc fields source IP addr dest IP addr datagram rimane immutato, durante il viaggio da sorgente a destinazione campi indirizzo di interesse qui data A B Tabella di inoltro in A Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 15

inoltro (cont.) misc fields 223.1.1.1 223.1.1.3 data 1) Datagram destinato a B: controlla indirizzo di rete di B trova che B è nella stessa rete di A strato di collegamento invierà datagram direttamente a B nel contesto dello strato di collegamento B e A sono direttamente connessi A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 E dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 16

inoltro (cont.) misc fields 223.1.1.1 223.1.2.3 data 2) datagram destinato ad E: controlla indirizzo di rete di E E si trova in rete diversa A, E non direttamente collegati tabella di instradamento: prossimo hop verso E è 223.1.1.4 strato di collegamento invia datagram al router 223.1.1.4 nel contesto link-layer datagram arriva a 223.1.1.4 vedi prox slide... A B Dest. Net. next router Nhops 223.1.1 1 223.1.2 223.1.1.4 2 223.1.3 223.1.1.4 2 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 17 E

inoltro (cont.) misc fields 2) continua 223.1.1.1 223.1.2.3 data controlla indirizzo di rete di E E si trova nella stessa rete in quanto interfaccia di router è 223.1.2.9 router, E directly attached strato di collegamento invia datagram a 223.1.2.2 nell ambito link-layer attraverso interfaccia 223.1.2.9 datagram arriva a 223.1.2.2 (!) A B Dest. next network router Nhops interface 223.1.1-1 223.1.1.4 223.1.2-1 223.1.2.9 223.1.3-1 223.1.3.27 223.1.1.1 223.1.1.2 223.1.2.1 223.1.1.4 223.1.2.9 223.1.1.3 223.1.3.1 223.1.3.27 223.1.2.2 223.1.3.2 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 18 E

Traduzione degli indirizzi di rete (NAT) Internet globale 138.76.29.7 10.0.0.4 Rete locale (es., rete domestica) 10.0.0/24 10.0.0.1 10.0.0.2 10.0.0.3 I router abilitati alla NAT non appaiono al mondo esterno come router ma come un unico dispositivo con un unico indirizzo IP. Indirizzo IP origine: 138.76.29.7, e tutto il traffico verso Internet deve riportare lo stesso indirizzo. Spazio di indirizzi riservato alle reti private, molte delle quali usano un identico spazio, 10.0.0/24 per scambiare pacchetti tra i loro dispositivi dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 19

Traduzione degli indirizzi di rete (NAT) Il router abilitato alla NAT nasconde i dettagli della rete domestica al mondo esterno Non è necessario allocare un intervallo di indirizzi da un ISP: un unico indirizzo IP è sufficiente per tutte le macchine di una rete locale. È possibile cambiare gli indirizzi delle macchine di una rete privata senza doverlo comunicare all Internet globale. È possibile cambiare ISP senza modificare gli indirizzi delle macchine della rete privata dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 20

Traduzione degli indirizzi di rete (NAT) 2: il router NAT cambia l indirizzo d origine del datagramma da 10.0.0.1, 3345 a 138.76.29.7, 5001, e aggiorna la tabella. 2 Tabella di traduzione NAT Lato WAN LatoLAN 138.76.29.7, 5001 10.0.0.1, 3345 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 10.0.0.4 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 1: l host 10.0.0.1 invia il datagramma a 128.119.40.186, 80 10.0.0.1 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: la risposta arriva all indirizzo di destinazione: 138.76.29.7, 5001 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 10.0.0.3 4: il router NAT cambia l indirizzo di destinazione del datagramma da 138.76.29.7, 5001 a 10.0.0.1, 3345 dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 21

Traduzione degli indirizzi di rete (NAT) Il campo numero di porta è lungo 16 bit: Il protocollo NAT può supportare più di 60.000 connessioni simultanee con un solo indirizzo IP sul lato WAN. NAT è contestato perché: i router dovrebbero elaborare i pacchetti solo fino al livello 3. Viola il cosiddetto argomento punto-punto Interferenza con le applicazioni P2P, a meno che non sia specificamente configurato per quella specifica applicazione P2P. Per risolvere la scarsità di indirizzi IP si dovrebbe usare IPv6. dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 22

Protocollo ICMP: Internet Control Message Protocol Usato da host, router, gateway per comunicazione a livello di rete error reporting: unreachable host, network, port, protocol echo request/reply (used by ping) strato di rete su IP: msg ICMP trasportati nei datagramip messaggio ICMP: tipo, codice più primi 8 byte di datagram IP che causano errore Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 23

Protocollo IPv6 Esigenza principale: lo spazio di indirizzamento IP a 32 bit stava incominciando a esaurirsi. Altre motivazioni: Il formato dell intestazione aiuta a rendere più veloci i processi di elaborazione e inoltro Agevolare la QoS. Formato dei datagrammi IPv6: Intestazione a 40 byte e a lunghezza fissa. Non è consentita la frammentazione. dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 24

Protocollo IPv6: Formato dei datagrammi Priorità di flusso: attribuisce priorità a determinati datagrammi di un flusso. Etichetta di flusso: identifica i pacchetti che appartengono a flussi particolari (anche se non è ben chiaro il concetto di flusso ). Intestazione successiva: identifica il protocollo cui verranno consegnati i contenuti del datagramma. dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 25

Protocollo IPv6: altre novità Checksum: i progettisti hanno deciso di rimuoverla dal livello di rete in quanto risultava ridondante. Opzioni: non fa più parte dell intestazione IP standard. Il campo non è del tutto scomparso ma è diventato una delle possibili intestazioni successive cui punta l intestazione di IPv6. ICMPv6: nuova versione di ICMP: Ha aggiunto nuovi tipi e codici, es. Pacchetto troppo grande. Assume le funzionalità dell IGMP, e gestisce l ingresso e l uscita di host nei gruppi multicast. dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 26

Protocollo IPv6: Passaggio da IPv4 a IPv6 Non è possibile aggiornare simultaneamente tutti i router: Impossibile dichiarare una giornata campale in cui tutte le macchine Internet verranno spente e aggiornate da IPv4 a IPv6. Come riuscirà la rete a funzionare in presenza di router IPv4 e IPv6? Due soluzioni Approccio a doppia pila Approccio a tunneling dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 27

Sommario della prossima lezione: Lo strato di rete (3/3) Servizi e protocolli dello strato di rete Reti a circuito virtuale vs reti a datagramma Struttura di un router Inoltro e indirizzamento in Internet: il protocollo IP Instradamento in Internet dott.ssa F. A. Lisi - Programmazione in Rete Livello di rete (2/3) 28