Jak odbywa się komunikacja między 2 komputerami w jednej sieci? [Zamknięte]

-2

Powiedzmy, że ja i mój przyjaciel łączymy nasze komputery za pomocą kabla LAN.

Pinguję mojego przyjaciela za pomocą jego adresu IP.

Jak to działa?

Ponieważ jesteśmy w tej samej sieci, nie potrzebujemy nawet adresów IP, prawda?

Czy adresowanie IP nie ma znaczenia tylko w przypadku komunikacji między sieciami?

Co zrobi polecenie ping ze swoim adresem IP? Jak w końcu znajdzie swój adres fizyczny (adres NIC)? (tutaj nie ma ARP, ponieważ wymagałoby to użycia routera na skraju sieci, który tutaj nie ma zastosowania).

Czy gdzieś się mylę?

learner
źródło
Downvoter, staraj się wyjaśnić? Jestem gotów tutaj wszystko wyjaśnić. Zrobiłem czytanie, ale wciąż mam te pytania.
learner
2
Dokonałeś wielu złych założeń w tym „pytaniu”. Nie wszystkie sieci są oparte na protokole IP. Adresy IP są oparte na hostach, a nie „między sieciami”. ARP jest wymagane dla sieci IP, a komputery używają ARP, jak również routerów, przełączników L3 itp. Na koniec pytanie „jak 2 komputery komunikują się w jednej sieci? jest zbyt szeroki.
Ƭᴇcʜιᴇ007
1
@learner - Twoje pytanie, jak działa ping sieciowy, który jest dobrze udokumentowany. Adres IP jest również wymagany w komunikacji wewnątrz sieci. W sieci wewnątrz jego adresem fizycznym jest adres IP, który mu przypisał.
Ramhound
Możliwy dupe: jak naprawdę działa polecenie „ping”?
Ƭᴇcʜιᴇ007
@Ramhound, Co masz na myśli przez: „jego fizyczny adres to adres IP, który mu przypisał”. Adresy fizyczne są ustalone i naniesione na komputery.
learner

Odpowiedzi:

4

Pytasz o Model sieciowy OSI , nawet jeśli nie zdajesz sobie z tego sprawy i nawet jeśli model OSI nie odnosi się do TCP / IP.

W jaki sposób działa sieć komputerowa warstwy . Warstwy w modelu OSI to:

  1. Fizyczne (np. Miedź, włókno itp.)
  2. Łącze danych (np. Ethernet, ppp, fddi itp.)
  3. Sieć (np. IPv4, IPv6, IPX itp.)
  4. Transport (np. TCP, UDP itp.)
  5. Sesja (używana w OSI, ale większość rzeczy jest obsługiwana przez warstwę 4 w TCP / IP)
  6. Prezentacja (np. ASCII vs. EBCDIC lub MIME)
  7. Aplikacja (np. HTTP, SMTP, DNS itp.)

Aby dwa komputery mogły komunikować się przez sieć, muszą mówić tak samo sieć protokół warstwy. Nie musi to być IPv4 ani IPv6, może to być IPX lub X.25. Ale tak musi być coś .

Przyjmiemy po prostu IPv4, ponieważ jest to najbardziej powszechne.

Oba komputery będą potrzebowały adresu IP. W dzisiejszych czasach najprawdopodobniej zostaną przydzieleni jeden z serwera DHCP lub dynamicznie przydzielą swoje własne przy użyciu ZeroConf. Więc oni będzie mieć adresy IP.

Co się dzieje, gdy pingujesz?

Pierwszy komputer inicjujący sesję wyśle ​​pakiet ARP warstwy rozgłoszeniowej 2. ARP to protokół rozpoznawania adresów. ARP służy do wykrywania adresu warstwy 2 powiązanego z określonym adresem warstwy 3. Transmisja jest specjalnym pakietem, który nakazuje przełącznikowi sieci przesłać pakiet do wszystkich fizycznych portów z połączonym łączem (tj. Z łącznością L1). Komputer, który ma wskazany adres warstwy 3, odpowie odpowiedzią ARP emisji pojedynczej. ARP odbywa się całkowicie za pośrednictwem adresowania L2 (wyniki ARP są buforowane w celu późniejszego wyszukiwania, więc nie musi on wysyłać żądań ARP).

Kolejny tworzony jest pakiet żądania echa ICMP. Źródłowy adres L2 będzie adresem Ether komputera źródłowego. Źródłem L3 będzie adres IP komputera źródłowego. Docelowym adresem L2 i L3 będą adresy wykryte z ARP. Pakiet jest następnie przesyłany przewodem do przełącznika.

Przełącznik sprawdza adres docelowy L2 i sprawdza go KRZYWKA tabela identyfikująca, który port fizyczny ma określony adres Ether. Pakiet jest następnie przesyłany przewodem na prawidłowym porcie fizycznym.

Gdy komputer docelowy odbiera go, najpierw bada adres L2, aby upewnić się, że jest zgodny z adresem L2 fizycznego interfejsu, który odebrał pakiet. Jeśli pasuje, sprawdza adres L3, aby upewnić się, że pasuje do adresu warstwy 3 przypisanego do interfejsu fizycznego. Jeśli wszystkie z nich się sprawdzą, pakiet będzie obsługiwany przez protokoły wyższej warstwy (w tym przypadku ICMP, obsługiwane przez jądro). Jeśli nie, pakiet jest odrzucany.

W przypadku odpowiedzi ICMP wszystko działa w podobny sposób, z wyjątkiem tego, że komputer odpowiadający nie musi wysyłać żądania ARP, ponieważ otrzymał pakiet z parą L2 / L3, a zamiast tego może zainstalować go bezpośrednio w pamięci podręcznej ARP.

bahamat
źródło
Wielkie dzięki! Jak zmieniłaby się część ARP, gdy pingowałem google.com? Kiedy używam adresu IP Google, co dokładnie wysyła mój pakiet do najbliższego routera? Tutaj ARP nie byłoby przydatne, ponieważ znajomość fizycznego adresu komputera Google jest dla mnie bezużyteczna. Będzie potrzebny przez ostatni router, który wysyła go do Google. Ale na moim komputerze jest bezużyteczny. Ponadto nie mam tabeli routingu w moim komputerze. Jak więc taki pakiet automatycznie przechodzi do najbliższego routera?
learner
1
Zobacz link, który zamieściłem. Pakiet IP (z datagramem żądania echa ICMP) zostanie wysłany do routera z adresem IP jako adresu docelowego z google. ARP jest używany tylko w sieci lokalnej (aby uzyskać MAC domyślnej bramy). Jeśli chodzi o ciebie, to jest to ICMP / IP.
Hennes
3

Ponieważ jesteśmy w tej samej sieci, nie potrzebujemy nawet adresów IP, prawda?

Ehm. Technicznie nie.

Ale jeśli chcesz komunikować się przez TCP / IP wtedy potrzebujesz. I prawie wszystko to wykorzystuje.

Powiedzmy, że ja i mój przyjaciel łączymy nasze komputery za pomocą kabla LAN.   Pinguję mojego przyjaciela za pomocą jego adresu IP.   Jak to działa?

Komputer sprawdza, czy docelowy adres IP znajduje się w tej samej podsieci.
Jeśli tak (sprawdź tabelę routingu!), To wygląda, czy ma buforowany ARP.
Brak arp - & gt; Wykrywanie ARP Następnie żądanie echa ICMP (ping) jest wysyłane przez IP do docelowej karty sieciowej (w oparciu o adres MAC).

Jak w końcu znajdzie swój adres fizyczny (adres NIC)?

Będzie on wyglądał w pamięci podręcznej ARP, a jeśli nie ma miejsca docelowego, wyświetli pakiet, który sprowadza się do „Kto ma numer IP a.b.c.d? Na to odpowie komputer z „Jestem MAC aa: bb: cc: dd: ee: ff. Mam IP a.b.c.d.”

nie ma tutaj ARP, ponieważ wymagałoby to użycia routera na skraju sieci, co tutaj nie ma zastosowania.

Uhn nie. Zostanie użyty ARP. ARP jest bardzo lokalny. ARP nie będzie używany raz z sieci lokalnej (a tym samym nie będzie ARP poza routerem).

Czy adresowanie IP nie ma znaczenia tylko w przypadku komunikacji między sieciami?

Nie.

Nie będę nawet próbował napisać miłej, długiej odpowiedzi. Zamiast tego skieruję cię na ten dobrze napisany post: https://serverfault.com/questions/49765/how-does-ipv4-subnetting-work

Hennes
źródło
+1 za próbę uratowania tej duszy przed użyciem google
M.Bennett
0

Jeśli komunikujesz się przez IP, potrzebujesz adresu IP. Bez docelowego adresu IP ping nie może działać.

Keltari
źródło
Tak, ale pytanie brzmi: w jaki sposób mój komputer znajdzie adres NIC mojego przyjaciela? Moja jedyna znajomość adresu logicznego - & gt; mapowanie adresów fizycznych jest takie jak w ARP, co nie ma tu zastosowania.
learner
2
ARP bardzo się tu stosuje. ARP jest tylko lokalny (z routerem i wszystkimi lokalnymi komputerami w sieci lokalnej).
Hennes
0

Twoje zamieszanie sięga głębiej, niż może odpowiedzieć nawet długi post. Musisz przeczytać dobry podręcznik do pracy w sieci.

Jeśli nie chcesz inwestować czasu, możesz spróbować przeczytać strony wikipedii APIPA , ARP i różnica między Warstwa sieci i Warstwa łącza danych , ale to dopiero początek.

David
źródło