Originariamente inviato da mardux

1) a che serve il mac address se si conosce gia' l'ip??
Il mac address serve a far funzionare la rete ethernet (ieee 802.3). Senza mac address due macchine su ethernet non potranno dialogare.

Originariamente inviato da mardux

2) come fa un pacchetto di dati a conoscere il mac address della scheda di rete al quale e' inviato il pacchetto se ancora devo inviarlo?? e' nella tabella di un router?? (se si questa tab ha tutti i mac address del mondo)
PC1 vuole comunicare con PC2, ed entrambi si trovano in una lan ethernet.

codice:
 PC1
  |
-----------
  |     |    
 PC3   PC2
PC1 conosce l'indirizzo ip di PC2, ma per potergli spedire un frame ethernete deve conoscere anche il suo mac address.
Da dove prende PC1 il mac address di PC2.
A questo scopo è nato ARP (Address Resolution Protocol opera a livello 3) che permette di mappare indirizzi ip a mac address.

PC1 spedisce un frame di broadcast (broadcast = un pacchetto destinato a tutta la rete ethernet, a cui corrisponde un mac addres speciale FF-FF-FF-FF-FF-FF).
Nel carico utile di questo frame PC1 mette il suo indirizzo IP e il suo mac address, in modo che gli altri PC sulla lan possano salvare in un cache locale l'associazione:
IP PC1 <-> MAC PC1

Inoltre, sempre nel carico utile di questo frame, PC1 inserisce l'IP del pc di cui vuole conoscere il mac address, e cioè l'ip di PC2.

PC2, una volta preso il frame di brodcast spedito da PC1, costruisce e invia un frame unicast indirizzato con il mac address di PC1, il cui carico utile contiene
IP di PC2
MAC di PC2

A questo punto PC1, una volta prelevato il frame u nicast ricevuto, salva nella sua cache locale l'associazione:
IP PC2 <-> MAC PC2

Quando PC1 dovrà spedire un pacchetto ip a PC2, costruisce un frame unicast con il MAC address ottenuto dal lookup dell'IP di PC2 dalla cache locale ARP.

Di norma, una volta acceso, un host invia un frame di broadcast con il proprio indirizzo IP e MAC address.

sia su win che su linux, per visionare la cache locale ARP, digita:

arp -a

anche i router hanno una loro cache arp, gli switch layer 2 no.

Ogni pc, router ha una cache arp relativa solo agli host connessi nelle stesse lan a cui le interfacce di rete sono connesse.

E comunque i router instradano si, pacchetti ip (livello 3) facendo un lookup delle tabelle di routing memorizzate in questi, ma queste tabelle non indirizzano il mondo intero, si utilizza uno schema di routing gerarchico, ogni router conosce reti di una propria area e affida a uno o più router pacchetti che sono al di fuori di questa area.

se usi la bacchetta magica, dovrebbero comparire altri post e link su questo argomento.