LA RISOLUZIONE DEGLI INDIRIZZI NELL’ARCHITETTURA TCP/IP Prof. Alfio Lombardo Indirizzi nell’ architettura TCP/IP Indirizzo logico (livello applicativo) Indirizzo di porta locale (livello di trasporto) Indirizzo di host (livello di rete) Indirizzo hardware (livello di linea) LA RISOLUZIONE DEGLI INDIRIZZI NELL’ARCHITETTURA TCP/IP Risoluzione degli indirizzi del sistema chiamato Risoluzione dell’indirizzo di host del sistema chiamante Risoluzione degli indirizzi del sistema chiamato Indirizzo logico (livello applicativo) Indirizzo di host (livello di rete) Indirizzo hardware (livello di linea) Indirizzo di porta locale (livello di trasporto) Esempio di indirizzo logico: ftp.sun90.cdc.unict.it Esempio di indirizzo di host (IP): 192.5.48.7 Esempio di indirizzo hardware (Ethernet): 00 9A 87 44 B8 C2 Esempio di indirizzo di porta locale (TCP/UDP): 21 Indirizzamento IP A B C D E Internet: quanti indirizzi? Indirizzi di tipo A: (0.0.0.0 - 127.255.255.255) 126 reti con 16 milioni di host ciascuna Indirizzi di tipo B: (128.0.0.0 - 191.255.255.255) 16382 reti con oltre 64000 hosts ciascuna. Indirizzi di tipo C: (192.0.0.0 - 223.255.255.255) 2 milioni di reti con più di 256 hosts Esempio L’indirizzo IP: 10000000 00000011 00000010 00000011 Classe B rappresentato come 128.3.2.3 I network numbers vengono assegnati dal Network Information Center (NIC) per evitare conflitti. Esempio Ethernet 128.10.0.0 128.10.2.8 128.10.2.3 Multi homed 128.10.2.26 host host host 192.5.48.3 192.5.48.7 TokenRing R 192.5.48.0 128.10.2.70 host 192.5.48.1 192.5.48.6 R Indirizzo logico Domain Name System (DNS) Indirizzo di host Funzioni del DNS Il DNS espleta due funzioni concettualmente indipendenti: specifica della sintassi dei nomi logici e delle regole per delegare l'autorità sui nomi stessi (funzione astratta); implementazione di un sistema distribuito di database che mappa in modo efficiente i nomi logici negli indirizzi di rete (funzione concreta). Esercizio consigliato: DNS int com edu gov jp org mil net us nl it 151.97.6.5 yale cs eng pcsmith mit unict dieei pclombardo Procedura per la risoluzione dei nomi Pclombardo.iit.unict.it ?? Applicazione Resolver TCP/UDP IP Network interface Richiesta Al DNS Server Locale Risoluzione dei nomi con modalità non ricorsiva Caching Memoria cache Risposta authoritative Risposta authoritative Memoria cache Risposta unauthoritative Indirizzo di host Address Resolution Protocol (ARP) Indirizzo hardware Address Resolution Protocol A 151.97.6.1 E1 E1 E_broadcast B 151.97.6.2 E2 E3 151.97.6.1E1151.97.6.3 C 151.97.6.3 E3 D 151.97.6.4 E4 E1151.97.6.1 151.97.6.3 E1 E3 Forwarding diretto: esempio 192.168.10.35 192.168.10.10 Subnet 192.168.10.0 MAC 00082C785852 MAC 000060AD8744 MAC-D 000060AD8744 MAC-S 00082C785852 IP-D 192.168.10.35 IP-S 192.168.10.10 ARP procedure Forwarding indiretto: esempio Proxi ARP Default Gateway 192.168.11.1 Default Gateway 192.168.10.1 .10 Subnet 192.168.10.0 MAC 00082C785852 .1 MAC 00000C87654A ARP procedure MAC-D 00000C87654A MAC-S 00082C785852 IP-D 192.168.11.90 IP-S 192.168.10.10 .1 Subnet 192.168.11.0 MAC 00000CAB22A7 .90 MAC 009A8744B8C2 ARP procedure MAC-D 009A8744B8C2 MAC-S 00000CAB22A7 IP-D 192.168.11.90 IP-S 192.168.10.10 Forwarding indiretto: esempio Default Gateway 192.168.11.1 Default Gateway 192.168.10.1 .10 Subnet 192.168.10.0 MAC 00082C785852 .1 MAC 00000C87654A MAC-D 00000C87654A MAC-S 00082C785852 IP-D 192.168.11.90 IP-S 192.168.10.10 .1 Subnet 192.168.11.0 MAC 00000CAB22A7 .90 MAC 009A8744B8C2 ARP procedure MAC-D 009A8744B8C2 MAC-S 00000CAB22A7 IP-D 192.168.11.90 IP-S 192.168.10.10 Address Resolution Protocol (Reverse Address Resolution Protocol) ARP e trama data linK ARP: formato della trama 2 2 1 1 2 6 4 hard type prot type hard size prot size operation sender Ethernet Address sender IP Address target Ethernet Address target IP Address HEADER MR INFO FCS 125 Entita’ IP Entita’ ARP Interfaccia (demux) Esercizio consigliato: ARP Trame in arrivo Entita’ RARP Indirizzamento TCP Appl. 1 Appl. 2 ••• TCP IP Network Interface Appl. n Port number – identificativo di un utente TCP (programmi applicativi e/o utenti che fanno uso di uno stesso host) – è rappresentato da un intero Indirizzamento TCP • L’assegnazione del numero di porta può essere – statico • sono identificativi staticamente associati ad applicazioni largamente utilizzate • sono utilizzati identificativi inferiori a 256 Numero Applicazione Numero Applicazione 7 Echo 37 Time 21 FTP (File Transfer Protocol) 53 Domain Name Server 23 TELNET 103 X400 Mail Service 25 SMTP (Simple Mail Transport Protocol 119 NNTP (USENET New Transfer Prot.) – dinamico • sono identificativi assegnati direttamente dal sistema operativo al momento dell’apertura della connessione Well Known Port Servizio Porta TCP FTP Telnet SMTP TFTP DNS HTTP POP SNMP 21 23 25 69 53 80 109 161 4 4 4 UDP 4 4 4 4 4 Host 1 Host 2 Host 1 Host 2 Time Server Process Server User Process Server User TSAP (a) (b) Host 1 Host 2 Host 1 Host 2 Name Server Name Server Time Server User Time Server User TSAP (a) (b) Risoluzione dell’indirizzo di host del sistema chiamante Necessaria per tutti quei sistemi che non conoscono il proprio IP address Diskless systems Assegnazione dinamica dell’indirizzo IP Problems a diskless computer faces during system startup: The startup program (in ROM) does not contain •IP address Indirizzo •Bootstap program di host •The file server address RARP, BOOTP, DHCP •The nearest IP router address Indirizzo hardware Reverse Address Resolution Protocol (Address Resolution Protocol) RARP related problems •RARP operates at a low level •The RARP replay contains the IP address only •RARP cannot be used when address is dynamically assigned BOOTP DHCP RFC 951 : Bootstrap Protocol (BOOTP) A client/server based protocol allowing for bootstrapping BOOTP client BOOTP server 68 UDP 67 UDP BOOTP uses UDP BOOTP Server is implemented as an Application program A single BOOTP message specifies many items BUT…... UDP uses IP!! Using IP to determine IP address •BOOTP Client uses Limited broadcast (destinazione=255.255.255.255) (sorgente= 0.0.0.0) •BOOTP Server uses Limited broadcast too for its replay BOOTP client has to use a well known port number (68) to avoid different clients using the same OS assigned port number receive the server response BOOTP Protocol •Require UDP checksum •Require Dont Fragment bit setting •Uses timeout and retransmission Random delay Random timeout Double timeout after retrasmission Bootstrap Procedure BOOTP Server provides client with information needed to obtain the memory image TFTP is used to obtain the memory image from the server BOOTP Message OP=request, replay Htype=Hardware t. Hlen=HardAddr len. Hops= 0 Trans.Id=Integer Sec=sec. since boot Why Dynamic Configuration BOOTP Server IP router Why Dynamic Configuration BOOTP Server IP router LAN 1 LAN 2 Dynamic Host Configuration Protocol •Allows a computer to acquire all the configuration information it needs in a single message •Allows a computer to obtain an IP address dynamically •DHCP Server has to be configured with a number of IP addresses Address Assignement Types •Manual Configuration •Automatic Configuration •Dynamic Configuration Static assignment db Dynamic assignment db Manager chooses how DHCP will response for each net and for each host (like BOOTP, DHCP uses the hardware address as client identifier) DHCP Protocol client Passive open 67 UDP server client 68 UDP client 68 UDP DHCP Offer 67 UDP server server client 68 UDP DHCP Request 67 UDP server client 68 UDP DHCP Ack 67 UDP server T=50% client 68 UDP DHCP Request 67 UDP server T=85% client 68 UDP DHCP Request 67 UDP server client 68 UDP DHCP Ack/Nack 67 UDP server 67 UDP server DHCP Discover 67 UDP ………… client 68 UDP DHCP Release DHCP Message flag unused