Czy łączysz się bezpośrednio z innym komputerem znającym tylko adres MAC?

13

Z mojego zrozumienia, ARP tłumaczy adres IP na adres MAC, a następnie komputer używa adresu MAC do ustanowienia bezpośredniego połączenia.

Jeśli już znam adres MAC komputera, z którym chcę się połączyć, czy jest możliwe bezpośrednie połączenie z nim (bez routera)? Czy jest na to przykład?

Colin
źródło
Pewnie. Ale nawet bez routera możesz przypisywać adresy IP na każdym komputerze indywidualnie i używać protokołów IP między nimi - za pomocą koncentratora lub połączenia bezpośredniego .
svidgen

Odpowiedzi:

12

Jeśli już znam adres MAC komputera, z którym chcę się połączyć, czy można się z nim bezpośrednio połączyć? Czy jest na to przykład?

Możesz łączyć się na niskim poziomie i wysyłać pakiety do innych komputerów w tej samej sieci lokalnej, ale trudno byłoby wiedzieć, co umieścić w tych pakietach, nie wiedząc więcej o protokołach w wyższych warstwach.

Na przykład istnieją protokoły sieciowe inne niż IP, które działają przez sieć Ethernet, a sterowniki, które implementują te protokoły, robią dokładnie to, co opisujesz - łączą się na niskim poziomie bez znajomości adresu IP (ponieważ nie ma adresu IP do poznania) i przesyłaj dane.

To powiedziawszy, adresy MAC niewiele znaczą poza granicami sieci lokalnej, więc potrzebujesz protokołów wyższego poziomu i routerów, które je rozumieją, aby komunikować się z komputerami w innych sieciach.

Caleb
źródło
1
Dzięki. Jak dokładnie interfejs sieciowy wie, jak połączyć się z innym interfejsem? Czy interfejsy wysyłają ramki nawigacyjne tak jak routery bezprzewodowe?
Colin
1
Nie wie Zasadniczo tak działa Ethernet. Kiedy jeden węzeł w sieci ma coś do powiedzenia, najpierw nasłuchuje, czy ktoś jeszcze coś wysyła, a jeśli nie, to po prostu wysyła wiadomość do sieci, aby każdy mógł go usłyszeć. Jeśli jakiś inny węzeł rozpocznie się dokładnie w tym samym czasie, obaj wykryją kolizję, przestaną mówić, poczekaj chwilę i spróbuj ponownie.
Caleb
1
@Colin: Na poziomie MAC interfejs sieciowy może łączyć się tylko z interfejsami w tej samej (pod) sieci. Aby komunikować się z komputerami spoza sieci lokalnej, routery są używane do przesyłania pakietów z jednej sieci do drugiej i aby dotrzeć do miejsca docelowego, wiele routerów może siedzieć między tobą a komputerem zdalnym.
Bart van Ingen Schenau
1
Dobrze. Jak więc tworzona jest lub definiowana (pod) sieć? Czy wszystkie komputery muszą być podłączone do tego samego koncentratora / przełącznika / routera? Czy istnieje sposób na stworzenie sieci bez nich?
Colin
@ Colin Zależy od warstwy fizycznej - czasami wszystkie maszyny są podłączone do jednego koncentratora, jak w 10baseT i podobnych; czasami wszyscy są podłączeni do tego samego fizycznego przewodu, jak w 10base2, czyli „cienkiej sieci”, czasami nie są wcale połączeni, ale wszyscy mówią do tego samego koncentratora, jak w Wi-Fi. Ale istnieje wiele różnych technologii sieciowych, a szczegóły różnią się między sobą, więc chociaż ethernet jest dobrym modelem do myślenia, nie wyobrażaj sobie, że jest to jedyny sposób na zrobienie czegoś.
Caleb
3

Raczej.

Adresowanie IP jest na pewnym poziomie symboliczne, zwykle polegające na protokołach sieciowych niższego poziomu (o mniejszej strukturze hierarchicznej), aby faktycznie zakończyć transmisję.

Na poziomie IP każda maszyna ma (co najmniej) jeden adres IP, w (co najmniej) jednej podsieci. Może także (i zwykle ma) „bramę domyślną” (to znaczy adres IP, przez który wysyła wszystkie pakiety kierowane do innego miejsca niż lokalna podsieć).

Podsumowując, pakiet przeznaczony dla portu internetowego wygląda mniej więcej tak:

[nagłówek ethernet] [nagłówek ip] [nagłówek TCP] [ładunek]

Nagłówek ethernet zawiera różne informacje sterujące, w tym źródłowy i docelowy adres MAC w sieci LAN.

Nagłówek IP zawiera różne informacje sterujące, takie jak źródłowy i docelowy adres IP oraz enkapsulowany protokół (w tym przykładzie TCP).

Nagłówek TCP zawiera różne informacje sterujące, różne flagi (jaka to część sesji, jaki jest numer sekwencji, źródłowy i docelowy port TCP, ...)

Ładunek jest przesyłany jedynie przez TCP i „dba tylko aplikacja”.

ARP jest używany, gdy ktoś w sieci lokalnej chce wysłać pakiet IP, na adres IP, dla którego nie ma adresu MAC, i jest w zasadzie transmisją na poziomie ethernetowym, mówiąc „kto ma adres bla?”.

Większość komputerów nie będzie nasłuchiwać na czysto ethernetowych połączeniach, ale nadal możesz być w stanie zmapować ten MAC na adres IP. W nieprzełączanej sieci LAN wystarczy obserwować pakiety, znaleźć coś ze źródłowym lub docelowym adresem MAC, z którym chcesz porozmawiać i przeanalizować adres IP.

Jeśli maszyna ma jakiś moduł nasłuchujący na poziomie ethernetowym, możesz z tym porozmawiać, ale nie będziesz w stanie rozmawiać z tym spoza lokalnej sieci LAN, ponieważ ramki ethernetowe przeznaczone dla maszyny nie będą odbierane druga strona lokalnego routera.

Vatine
źródło
0

Ten post jest raczej stary, ale nie wydaje mi się, aby otrzymał poprawną odpowiedź.

JEŚLI możesz podłączyć się do urządzenia, znasz MAC w tej samej sieci (najlepiej kabel z przeplotem). Możesz przypisać adres IP do MAC, a następnie uzyskać dostęp do adresu IP w ten sposób:

Systemy Microsoft Windows Windows wymagają kreski „-” między każdą cyfrą adresu MAC (adresu Ethernet).

arp -s 192.168.1.2 00-80-77-31-01-07
ping 192.168.1.2

UNIX / Linux Systemy UNIX i Linux wymagają dwukropka „:” między każdą cyfrą adresu MAC (adresu Ethernet).

arp -s 192.168.1.2 00:80:77:31:01:07
ping 192.168.1.2

Aby to zadziałało, musisz być w tym samym segmencie sieci Ethernet (tzn. Nie może być routera między tobą a urządzeniem, z którym próbujesz się połączyć).

Chris
źródło