Czy to powiedziawszy, w jaki sposób ruch miałby płynąć, gdyby urządzenie A wysyłało ruch do urządzenia C?
Załóżmy na przykład, że urządzenie A pinguje urządzenie C.
Tak więc na hoście A lub urządzeniu A polecenie ping 10. 1. 1. 2 jest używane.
Jak miałby płynąć ruch, teraz ważne jest, aby
pamiętać, że IP jest technologią warstwy 3.
Adres MAC jest używany
w warstwie 2, więc komputer A musi mieć odwzorowanie między adresem IP
warstwy 3 i adresem
MAC warstwy 2, ponieważ Ethernet jest używany w tym
środowisku, a pakiet musi być zamknięty w warstwie 2 i wysłany do przewodu .
Dlatego w sieci Ethernet należy dodać adres MAC w warstwie 2.
Tak więc komputer PC A nie zna adresów MAC powiązanych z adresem
IP 10. 1. 1. 2.
Ethernet ponownie jest technologią warstwy 2 i wymaga
użycia adresów MAC, gdy ruch jest przesyłany do segmentu Ethernet, więc zanim A
może wysłać ruch do segmentu sieci, musi znać adres MAC powiązany z adresem
IP 10. 1. 1. 2 Pamiętam,
że w modelu OSI każda warstwa jest niezależna od innych warstw, a
niższe warstwy zamykają wyższe warstwy.
W jaki sposób komputer A pozna adres MAC komputera PC?
robi to za pomocą protokołu o nazwie Address Resolution Protocol lub ARP, pierwszą rzeczą, którą robi
komputer PC, jest sprawdzenie lokalnej pamięci podręcznej ARP, aby
sprawdzić, czy istnieje już istniejący adres IP odwzorowania pozycji
10. 1. 1. 2 do adresu MAC.
Jeśli nie ma istniejącego wpisu w pamięci podręcznej maszyn
lokalnych, wyśle transmisję, aby sprawdzić, kto ma
adres IP 10. 1. 1. 2 i ta wiadomość jest nazywana komunikatem żądania ARP.
W tym przykładzie komputery PC A i PC C znajdują się w
tej samej podsieci, więc komputer A wyśle transmisję do lokalnej podsieci z
pytaniem o adres MAC komputera C za pomocą żądania ARP.
Żądanie ARP wygląda następująco
Źródłowy adres MAC w tym przykładzie to
A, ponieważ
ramka została wysłana przez adres docelowy Mac jest transmisją.
Dzieje się tak dlatego, że A nie wie, kto ma adres IP 10. 1. 1. 2
Żądanie ARP to zasadniczo komunikat z pytaniem, kto ma ten adres IP?
więc adres IP, do którego odwołuje się w pakiecie, wynosi 10. 1. 1. 2 źródłowy adres IP
to 10. 1. 1. 1 źródłowy adres
MAC to A, a docelowy adres MAC to nadawanie w warstwie 2.
Wystarczy powtórzyć, że jest to część 2
warstwy wiadomości i jest to część 3 warstwy, zgodnie z modelem OSI.
Zanim przejdziemy dalej do naszego
przykładu, chcę pokazać wam prawdziwy przykład ARP lub Address Resolution Protocol.
więc na moim komputerze mogę wpisać polecenie arp-a, a zobaczę moją lokalną pamięć podręczną ARP, mój adres
IP to 10. 0. 0. 3 i jak widać tutaj,
nauczyłem się adresu IP 10. 0. 0. 254 dynamicznie.
w pamięci podręcznej ARP znajduje się także kilka statycznych
wpisów, na przykład jest to adres rozgłoszeniowy w
warstwie 3, która wynosi 255. 255. 255. 255, a adres warstwy 2 wynosi 8Fs, więc dla
transmisji warstwy 3 wynosi 255. 255. 255. 255 odpowiednik
adresu warstwy 2 to 8F w tym przykładzie
mamy tylko 1 dynamiczny adres MAC w lokalnej
pamięci podręcznej ARP mojego
komputera, więc polecenie ip config pokazuje mi moje adresy IP.
W tym przykładzie widzimy mój adres IPv6, który jest 2001: 20 :: 2 i mój adres
IPv4 10. 0. 0. 3 w
tej chwili koncentrujemy się wyłącznie na adresach IPv4.
Możesz więc zobaczyć moją domyślną bramkę, która będzie ustawiona na 10. 0. 0. 254 więc
moja pamięć podręczna ARP pokazuje odwzorowanie domyślnego adresu IP
bramy na odpowiedni adres MAC.
Arp - d pozwoli mi usunąć wpisy ARP w mojej lokalnej pamięci podręcznej ARP.
arp - a pokazuje pojedynczy wpis dynamiczny, więc ponownie usunę pamięć podręczną ARP.
Teraz widać, że w pamięci podręcznej ARP nie ma wpisów.
Zrobię to jeszcze raz i zauważę, że wpis ponownie
się pojawił, a to dlatego, że wysyłam ruch z mojego lokalnego komputera do domyślnej bramy.
Zrobię to ponownie, więc arp-a, pokazuje adres emisji skierowanej dla tej podsieci, która wynosi
10. 0. 0. 255 Będę teraz
pingował inny adres IP 10. 0. 0. 123, więc
nie było wpisu ARP dla tego adresu IP.
Zauważ jednak, że kiedy pinguję, ping się powiedzie i jeśli znów spojrzę
na pamięć podręczną ARP, zauważysz, że dodano
wpis ARP dla IP dodanego 10. 0. 0. 123 To jest
kolejny adres IP skonfigurowany na moim lokalnym routerze.
Tak rozwiązany adres MAC jest taki sam jak adres
IP 10. 0. 0. 254 Jeśli
ponownie usunę pamięć podręczną ARP, to zauważ, że w pamięci
podręcznej ARP nie znaleziono żadnych wpisów, wciąż nie ma wpisu.
Niech ping 10. 0. 0. 123 Ping powiedzie się i
jeśli ponownie przyjrzymy się pamięci podręcznej ARP, to dla adresu IP 10 jest teraz
wpis i pamięć podręczna ARP. 0. 0. 123, jeśli teraz pinguję domyślną
bramę o wartości 10. 0. 0. 254, który
wcześniej nie miał wpisu w pamięci podręcznej ARP, mogę teraz zobaczyć
za pomocą polecenia arp - a, że został
utworzony adres IP do adresu MAC.
Więc jaki jest morał tej historii?
Zanim ruch może zostać wysłany na adres IP w lokalnym segmencie, ARP
jest wymagane do utworzenia mapowania między adresem IP warstwy
3 i adresem MAC warstwy 2.
Wireshark to narzędzie do wąchania, które pozwala uchwycić ruch lokalnego
drutu, aby zobaczyć, co się dzieje.
To nieocenione narzędzie dla Inżyniera sieci Użyjmy Wireshark, aby zobaczyć,
co dzieje się w tym przykładzie Więc co zrobię najpierw zacznę przechwytywać
w Wireshark Więc na moim interfejsie Ethernet zacznę przechwytywać ramki
Teraz będę usuwał pamięć podręczną ARP więc teraz brak
wpisów w pamięci podręcznej
ARP. Piszę 10. 0. 0. 254 i spójrzmy
na pamięć podręczną ARP ponownie po sprawdzeniu
pamięci podręcznej ARP, widzimy, że
wpis został dodany dla tego adresu, a teraz będę pingował
10. 0. 0. 123
tak teraz arp - a pokazuje te 2 wpisy w pamięci podręcznej ARP
Zatrzymajmy przechwytywanie i spójrzmy na wpisy ARP Tak więc, jak widać
tutaj, transmisja, która została wysłana z mojego lokalnego urządzenia, użyty protokół to ARP i jestem pytanie,
kto ma adres IP 10. 0. 0. 254 powiedz
10. 0. 0. 3 mój
lokalny komputer Tak więc na warstwie 2 widać, że adres docelowy jest transmisją,
a adres źródłowy to moja lokalna maszyna, to żądanie ARP.
Jest to typ Ether dla ARP 0x0806 i przeglądanie
protokołu rozwiązywania adresów dla informacji ARP.
Zauważ, że szukamy adresu IP 10. 0. 0. 254 adres
MAC nadawcy jest moją maszyną lokalną, docelowy
adres MAC jest nieznany i szukamy adresu
IP 10. 0. 0. 254 Po
odebraniu odpowiedzi przez urządzenie za pomocą wiadomości odpowiedzi ARP będę mógł
wysłać polecenie ping do tego urządzenia.
Tak więc w przechwytywaniu Wireshark widać, że wysyłam echo, dzięki czemu
widzisz żądanie echa ping ICMP i tu
mam odpowiedź lub odpowiedź.
Idąc dalej, będę mógł zobaczyć żądanie ARP dla adresu IP
10. 0. 0. 123
miejsce docelowe warstwy 2 jest nadawane, źródłem jest lokalny adres MAC, a
my żądamy docelowego adresu MAC, innymi słowy kto ma
adres IP 10. 0. 0. 123 odpowiedź
jest jednostkowa, ponieważ urządzenie jest wysyłane żądanie arp, aby
wiedzieć, kto pochodzi z żądania arp.
Tak więc miejsce docelowe w warstwie 2 jest moją lokalną maszyną.
Źródłem jest mój lokalny router wysyłający adres
IP nadawcy adresu MAC, docelowy adres MAC, docelowy adres IP.
W tym przypadku komunikuję się bezpośrednio z lokalnym routerem,
a nie wysyłam ruchu przez router. Adres
MAC i adres IP użyte w tym przykładzie to
moja lokalna maszyna i lokalny router.
Tutaj możesz zobaczyć, że adres MAC nadawcy jest routerem Cisco.
Adres IP to 10. 0. 0. 123
docelowy adres MAC to mój lokalny laptop z
docelowym adresem IP 10. 0. 0. 3