Detto questo, come sarebbe il flusso di traffico se il dispositivo A invia traffico al dispositivo C?
Ad esempio, diciamo che il dispositivo A pings device C.
Quindi sull'host A o sul dispositivo A il comando ping 10. 1. 1. 2 è usato.
Come sarebbe il flusso del traffico, ora è importante
ricordare che l'IP è una tecnologia di livello 3.
Gli indirizzi MAC sono usati
al livello 2, quindi il PC A deve avere una mappatura tra l'indirizzo
IP del livello 3 e
l'indirizzo MAC del livello 2 perché Ethernet è utilizzato in
questo ambiente e il pacchetto deve essere incapsulato al livello 2 e inviato al filo .
Quindi in Ethernet è necessario aggiungere un indirizzo MAC al livello 2.
Quindi questo punto PC A non conosce gli indirizzi MAC associati all'indirizzo
IP 10. 1. 1. 2.
Ethernet ancora una volta è una tecnologia di livello 2
e richiede l'uso di indirizzi MAC quando il traffico viene inviato al segmento Ethernet, quindi prima
che A possa inviare il traffico al segmento di rete, è necessario conoscere l'indirizzo MAC associato
all'indirizzo IP 10. 1. 1. 2 Ricordo
che nel modello OSI, ogni strato è indipendente dagli altri livelli e i
livelli inferiori incapsulano i livelli superiori.
Quindi, come può PC A imparare l'indirizzo MAC del PC C?
lo fa usando un protocollo chiamato Address Resolution Protocol o ARP, la prima cosa che fa il PC
A è controllare la sua cache ARP locale per vedere
se c'è già una voce esistente che mappa l'indirizzo IP
10. 1. 1. 2 a un indirizzo MAC.
Se non c'è una voce esistente nella cache delle macchine locali,
invierà una trasmissione per cercare di scoprire chi
ha l'indirizzo IP 10. 1. 1. 2 e quel messaggio è chiamato un messaggio di richiesta ARP.
In questo esempio, PC A e PC C si trovano nella stessa
sottorete, pertanto il PC A invierà una trasmissione alla sottorete locale che
richiede l'indirizzo MAC del PC C utilizzando una richiesta ARP.
Una richiesta ARP appare come segue
L'indirizzo MAC di origine in questo esempio è A
poiché il frame
è stato inviato da A l'indirizzo Mac di destinazione è una trasmissione.
Questo perché A non sa chi ha l'indirizzo IP 10. 1. 1. 2 Quindi
una richiesta ARP è essenzialmente un messaggio che chiede chi ha questo indirizzo IP?
quindi l'indirizzo IP a cui viene fatto riferimento nel pacchetto è 10. 1. 1. 2 l'indirizzo IP di
origine è 10. 1. 1. 1 l'indirizzo MAC di
origine è A e l'indirizzo MAC di destinazione è una trasmissione al livello 2.
Giusto per ripetere, questa è la porzione di livello 2
del messaggio e questa è la porzione di livello 3 del messaggio secondo il modello OSI.
Ora, prima di continuare con il
nostro esempio, voglio mostrarvi un esempio reale di ARP o Address Resolution Protocol.
così sul mio PC, posso digitare il comando arp-a e vedrò la mia cache ARP locale il mio indirizzo
IP è 10. 0. 0. 3 e come puoi vedere qui ho
imparato un indirizzo IP di 10. 0. 0. 254 in modo dinamico.
ci sono anche alcune voci statiche nella cache ARP
come esempio questo è l'indirizzo di broadcast sul
layer 3 che è 255. 255. 255. 255 e l'indirizzo di livello 2 è 8F quindi per una
trasmissione di livello 3 di 255. 255. 255. 255 l'indirizzo
di livello 2 equivalente è 8Fs in questo esempio
abbiamo solo 1 indirizzo MAC dinamico nella cache
ARP locale del mio
pc, quindi il comando ip config mostra i miei indirizzi IP.
In questo esempio possiamo vedere il mio indirizzo IPv6 che è 2001: 20 :: 2 e il mio indirizzo IPv4
di 10. 0. 0. 3
al momento ci concentriamo solo sugli indirizzi IPv4.
Quindi puoi anche vedere il mio gateway predefinito, che verrà impostato su 10. 0. 0. 254 quindi
la cache ARP mostra la mappatura del mio indirizzo IP
dei gateway predefiniti all'indirizzo MAC pertinente.
Quindi il comando arp - d mi consentirà di eliminare le voci ARP nella mia cache ARP locale.
arp - a mostra quella singola voce dinamica, quindi cancellerò di nuovo la cache ARP.
E ora puoi vedere che non ci sono voci nella cache ARP.
Lo farò di nuovo e noterò che la voce è
apparsa ancora una volta ed è perché sto inviando traffico dal mio PC locale al mio gateway predefinito.
Lo farò di nuovo, quindi arp-a mostra l'indirizzo di broadcast diretto per questa sottorete che è
10. 0. 0. 255 Ora eseguo il
ping di un altro indirizzo IP di 10. 0. 0. 123 quindi
non c'era alcuna voce ARP per questo indirizzo IP.
Ma notate quando faccio ping, il ping ha successo e se guardo di
nuovo la cache ARP, noterete che una voce ARP
è stata aggiunta per l'IP aggiunto 10. 0. 0. 123 Ora questo
è un altro indirizzo IP configurato sul mio router locale.
Quindi l'indirizzo MAC risolto è lo stesso indirizzo MAC dell'indirizzo
IP 10. 0. 0. 254 Se
elimino di nuovo la cache ARP, quindi, si noti che non
è stata trovata alcuna voce nella cache ARP, ma nessuna voce.
Facciamo il ping 10. 0. 0. 123 il ping ha successo e
se guardiamo la cache ARP di nuovo, c'è una voce e la cache ARP
ora per l'indirizzo IP 10. 0. 0. 123 se ora eseguo il ping del
mio gateway predefinito di 10. 0. 0. 254 che
in precedenza non avevano accesso alla cache ARP, ora posso vedere usando
il comando arp - a che è stato creato un
indirizzo IP per la voce dell'indirizzo MAC.
Quindi qual è la morale della storia?
Prima che il traffico possa essere inviato a un indirizzo IP sul segmento locale,
è necessario ARP per creare un mapping tra l'indirizzo IP del
livello 3 e l'indirizzo MAC del livello 2.
Wireshark è uno strumento di sniffing che ti permette di catturare il
traffico del filo locale per vedere cosa sta succedendo.
È uno strumento inestimabile per l'ingegnere di rete. Usiamo Wireshark per vedere
cosa sta succedendo in questo esempio. Quindi quello che farò in primo luogo è iniziare
a catturare in Wireshark Quindi sulla mia interfaccia Ethernet, inizierò a catturare
i fotogrammi Ora eliminerò la cache ARP quindi ora non sono state
trovate voci nella cache ARP che
eseguirò il ping 10. 0. 0. 254 e guardiamo di
nuovo la cache ARP dopo aver guardato la
cache ARP, possiamo vedere che è
stata aggiunta una voce per quell'indirizzo e ora eseguirò il ping di
10. 0. 0. 123
così ora arp - a mostra quelle 2 voci nella cache ARP Fermiamo la cattura
e cerchiamo le voci ARP Quindi come puoi vedere qui c'è
una trasmissione che è stata inviata dal mio dispositivo locale il protocollo usato è ARP e io sono
chiedendo chi ha l'indirizzo IP 10. 0. 0. 254 dire
10. 0. 0. 3 il mio
PC locale Quindi al livello 2 puoi vedere che l'indirizzo di destinazione è una trasmissione
l'indirizzo di origine è il mio computer locale è una richiesta ARP.
Questo è il tipo Ether per ARP 0x0806 e sta esaminando
il protocollo di risoluzione dell'indirizzo per le informazioni ARP.
Si noti che stiamo cercando un indirizzo IP 10. 0. 0. 254 l'indirizzo MAC
del mittente è il mio computer locale, l'indirizzo MAC
di destinazione è sconosciuto e stiamo cercando l'indirizzo
IP 10. 0. 0. 254 Una
volta che il dispositivo ha risposto utilizzando un messaggio di risposta ARP, sarò in
grado di eseguire il ping di quel dispositivo.
Quindi nell'acquisizione di Wireshark puoi vedere che sto inviando un'eco in modo da poter visualizzare
la richiesta di echo ping ICMP e qui ho
la risposta o la risposta.
Andando più in basso sarò in grado di vedere la richiesta ARP per l'indirizzo
IP 10. 0. 0. 123
la destinazione del livello 2 è una trasmissione, la sorgente è un indirizzo MAC locale
e stiamo richiedendo l'indirizzo MAC di destinazione, in altre parole, che
ha l'indirizzo IP 10. 0. 0. 123 la risposta
è un unicast perché al dispositivo viene inviata la richiesta arp
per sapere da chi proviene la richiesta arp.
Quindi la destinazione al livello 2 è la mia macchina locale.
La fonte è il mio mittente del router locale,
l'indirizzo IP del mittente dell'indirizzo Mac, l'indirizzo MAC di destinazione, l'indirizzo IP di destinazione.
In questo caso sto comunicando direttamente con il mio router locale
invece di inviare traffico attraverso il router Quindi
l'indirizzo MAC e l'indirizzo IP usati in questo esempio sono la
mia macchina locale e il router locale.
È possibile vedere nell'output che l'indirizzo MAC del mittente è un router Cisco.
L'indirizzo IP è 10 0. 0. 123 indirizzo
MAC di destinazione è il mio portatile locale con l'indirizzo IP
di destinazione di 10. 0. 0. 3