4-1 Il Livello di Rete in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
4-2 Il livello di rete in Internet Tabella Routing Funzioni del livello di rete negli host e nei router: Protocolli di Routing selezione percorso RIP, OSPF, BGP IP protocol (v4, v6) regole indirizzamento formato datagram regole gestione pacchetti ICMP protocol report di errori segnalazione dai router Transport layer: TCP, UDP Link layer physical layer Network layer
4-3 Indirizzamento IP: introduzione r Indirizzo IP: identificatore a 32 bit per le interfacce di host e router r interfaccia: connessione tra host/router e link fisico m i router tipicamente hanno molte interfacce m un host può avere molte interfacce m indirizzo IP associato con ogni interfaccia = notazione decimale puntata
4-4 Indirizzamento IP r indirizzo IP: m parte della rete (high order bits) m parte dellhost (low order bits) r Cosa è una rete ? ( dal punto di vista IP) m interfacce dei dispositivi con parte della rete dellindirizzo IP uguale m possono raggiungersi a vicenda senza lintervento di un router rete formata da 3 reti IP (per gli indirizzi IP che iniziano con 223, i primi 24 bit sono la parte della rete) LAN
4-5 Indirizzamento IP Come trovare le reti? r Staccare ogni interfaccia dallhost/router r ceare isole di reti isolate Sistema interconnesso formato da sei reti
4-6 Indirizzi IP 0 network host 10 network host 110 networkhost 1110 multicast address A B C D classe a a a a bits data la nozione di rete, riesaminiamo gli indirizzi IP: class-full addressing: r Broadcast:
4-7 Indirizzi IP: CIDR r Classful addressing: m uso inefficiente dello spazio degli indirizzi, esaurimento dello spazio degli indirizzi m es. indirizzo di rete di classe B riserva indirizzi sufficienti per 65K host anche se ci sono solo 2K host in quella rete r CIDR: Classless InterDomain Routing m parte rete dellindirizzo di lunghezza arbitraria m formato indirizzo: a.b.c.d/x, dove x è num. bit nella parte rete dellindirizzo network part host part /23 network mask
4-8 Ottenere blocchi di indirizzi IP D: Come fa un ISP ad ottenere un blocco di indirizzi IP? R: ICANN: Internet Corporation for Assigned Names and Numbers m alloca gli indirizzi m gestisce i DNS radice m assegna i nomi dei domini, risolve le dispute
4-9 Ottenere un indirizzo di rete IP D: Come fa la rete ad ottenere la parte rete dellindirizzo IP? R: ottiene una porzione dello spazio di indirizzi del suo ISP ISP's block /20 Organization /23 Organization /23 Organization /23... ….. …. …. Organization /23
4-10 Indirizzam. gerarchico: aggregaz. percorsi Mandami qualunque cosa con indirizzi che iniziano con / / / /23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us Mandami qualunque cosa con indirizzi che iniziano con / /23 Organization Lindirizzamento gerarchico permette una diffusione efficiente delle informazioni di routing:
4-11 Indirizzam. gerarchico: aggregaz. percorsi ISPs-R-Us ha un ulteriore percorso allOrganizzazione 1 Mandami qualunque cosa con indirizzi che iniziano con / / / /23 Fly-By-Night-ISP Organization 0 Organization 7 Internet Organization 1 ISPs-R-Us Mandami qualunque cosa con indirizzi che iniziano con /16 o / /23 Organization longest prefix matching
4-12 Ottenere un indirizzo di host IP Come ottiene un host un indirizzo IP? r hard-coded dallamministr. di sistema in un file m Windows: control-panel->network->configuration->tcp/ip->properties m UNIX: /etc/rc.config r DHCP: Dynamic Host Configuration Protocol: ottieni indirizzo dinamicamente: plug-and-play m host manda messaggio DHCP discover in broadcast m server DHCP risponde con messaggio DHCP offer m host richiede indirizzo IP: messaggio DHCP request m server DHCP invia indirizzo: messaggio DHCP ack
4-13 Scenario client-server DHCP
4-14 Scenario client-server DHCP DHCP server: arriving client time DHCP discover src : , 68 dest.: ,67 DHCPDISCOVER yiaddr: transaction ID: 654 DHCP offer src: , 67 dest: , 68 DHCPOFFER yiaddrr: transaction ID: 654 DHCP server ID: Lifetime: 3600 secs DHCP request src: , 68 dest:: , 67 DHCPREQUEST yiaddrr: transaction ID: 655 DHCP server ID: Lifetime: 3600 secs DHCP ACK src: , 67 dest: , 68 DHCPACK yiaddrr: transaction ID: 655 DHCP server ID: Lifetime: 3600 secs
4-15 Formato datagram IP ver length 32 bits dati (lunghezza variabile, tipicamente un segmento TCP o UDP) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service type of data flgs fragment offset up. layer protocol 32 bit destination IP address Options (if any) Es. Timestamp o record route, specifica la lista dei router da visitare quanto overhead con TCP? r 20 bytes of TCP r 20 bytes of IP r = 40 bytes + app layer overhead
4-16 Frammentazione e riassemblaggio IP r i link di rete trasportano pacchetti con quantità massime di dati prefissate m MTU (Max. Transfer Unit) – la più grande frame possibile a livello link m differenti tipi di link => differenti MTU r un grande datagram IP diviso (frammentato) allinterno della rete m un datagram (numerato) genera diversi datagram m riassemblato solo alla destinazione finale m bit dellheader IP usati per identificare e ordinare i frammenti relativi frammentazione: in: 1 datagram grande out: 3 datagram più piccoli reassembly
4-17 Frammentazione e riassemblaggio IP ID =x offset =0 fragflag =0 length =4020 ID =x offset =0 fragflag =1 length =1500 ID =x offset =1480 fragflag =1 length =1500 ID =x offset =2960 fragflag =0 length =1060 Un grande datagram genera diversi datagram più piccoli Esempio r datagram di 4000 byte r MTU = 1500 byte
4-18 ICMP: Internet Control Message Protocol r usato da host e router per comunicare informazioni a livello rete m report di errori: host, network, port, protocol irraggiungibili m echo request/reply (usato dal ping) r situato a livello di rete sopra IP: m messaggi ICMP trasportati nei datagram IP r messaggio ICMP: tipo, codice più primi 8 byte del datagram IP che causa lerrore 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 – non utilizzato) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
4-19 Trasporto di datagram da sorgente a destin. IP datagram: A B E misc fields source IP addr dest IP addr data r il datagram rimane immutato durante il tragitto da sorgente a destinazione r campo indirizzi contiene indirizzo IP di sorgente e dstinazione Dest. Net. next router Nhops routing table in A
4-20 Trasporto di datagram da sorgente a destin. Sorgente A, invia datagram IP a B: r cerca indirizzo di rete di B nella tabella di routing r B risulta nella stessa rete di A r livello link invierà il datagram direttamente a B dentro il frame del livello link m B e A sono connessi direttamente Dest. Net. next router Nhops misc fields data A B E routing table in A
4-21 Trasporto di datagram da sorgente a destin. Dest. Net. next router Nhops Sorgente A, destinazione E: r cerca indirizzo di rete di E nella routing table r E è in una rete differente m A ed E non collegati durettamente r routing table: next hop router a E è r livello link invierà il datagram al router dentro il frame del livello link r datagram arriva a , … misc fields data A B E routing table in A
4-22 Trasporto di datagram da sorgente a destin. Arriva a , destinato a r cerca indirizzo di rete di E nella routing table del router r E nella stessa rete del router (con interfaccia ) m router ed E direttamente collegati r livello link invierà il datagram al router dentro il frame del livello link attraverso linterfaccia r datagram arriva a !! misc fields data Dest. Net router Nhops interface A B E routing table in router
4-23 NAT: Network Address Translation local network (e.g., home network) /24 resto di Internet Datagram con sorgente o destinazione in questa rete hanno indirizzo /24 per sorgente, destinazione (come al solito) Tutti i datagram uscenti dalla rete locale hanno stessa singolo NAT IP address sorgente: , numeri di port sorgenti differenti Tabella traduzione NAT Lato WANLato LAN , 5001 … , 3345 …