'ping' komutu gerçekten nasıl çalışıyor?


24

Ping komutu gerçekten nasıl çalışır? Özellikle ARP (Adres Çözümleme Protokolü) nerede ortaya çıkıyor?

Bu soruya bir röportajda soruldu ve ARP'nin ne zaman kullanılabileceği konusunda bir senaryo bulamadım.


ICMP'ye bakın.

3
ARP, belirli bir IP adresinin MAC adresini almak için kullanılır. Ethernet üzerinden bir paket göndermeniz gerektiğinde, hedefin MAC adresine ihtiyacınız vardır.

Yanıtlar:


16

Gerçekten anlamak istiyorsanız, burada çok iyi yazılmış bir beyaz kağıt vardır:

http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf

İşte özeti ->

Ping (Program on the application layer) ------->
Opens a 'raw' socket to IP Layer ------>
IP layer (Layer 2 on OSI) packages ICMP packet and sends it

Aralarında TCP katmanı olmadığı Ping (program)için , gelen tüm ICMP paketlerini izlemesi ve yalnızca birinin hedefinden filtrelemesi gerekir.

Umarım yardımcı olur.


9

Ping'in bir Ethernet veya WiFi ağı üzerinden gönderilen bir paket içerdiğini varsayarsak, ARP giden paketi alan cihazın Ethernet donanım adresini bulmak için kullanılır. Genelde bu, ping kaynağı yapan makinenin açık olduğu LAN yönlendiricisi olacaktır.

Tipik işlem şudur:

  1. Hedefe ping yapmak için bir komut girin.

  2. IP adresini belirlemek için DNS kullanılır (gerekirse).

  3. Bu hedefe doğru bir sonraki sıçrama bulmak için yönlendirme tablosuna danışılır.

  4. ARP bir sonraki sekmenin donanım adresini bulmak için kullanılır.

  5. IP paketi, bir Ethernet veya WiFi çerçevesine yerleştirilmiş bir sonraki sekmeye gönderilir.


3
Burada soruyu yanıtlayan tek cevap bu!
jmiserez


1

Ping ve ARP, ağ protokolü yığındaki farklı katmanlarda bulunan farklı şeylerdir.

Ping ağ katmanında (veya İnternet katmanında - @ServerMonkey tarafından belirtildiği gibi ICMP protokolüne bakın).

Arp protokolü bağlantı seviyesinde (daha düşük bir seviyede). Arp protokolü, doğrudan bağlı olan ağ donanımı arasında fiziksel bağlantıya izin vermek için tasarlanmıştır.

TCP / IP ağ yığında, her katman verilerini iletmek için aşağıdaki katmanı kullanır ve düşük düzeyli protokolün içine yerleştirir. Her katman diğerinden bağımsızdır ve diğer seviyelerden belirli detaylardan ve uygulamalardan habersizdir (bu her zaman doğru değildir: çapraz tabaka fonksiyonuna bakınız ).


yes.but ping uygulaması L2 bazı kod gerektirecektir ARP Layer 2 de oyun haline geliyor (bağlantı katmanı.).

@ liv2hak. yok hayır. ping uygulaması aşağıdaki link katmanına yerleştirilmiştir.

@ liv arp'in genellikle katman 2.5 olduğu söylenir. ICMP'nin genellikle katman 3.5 olduğu söylenir. Katmanlar, koddan çok alanlarla ilgilidir. Ping uygulamasının 2. katmanda kod gerektirdiğini söylemek isterseniz, herhangi bir şeyin uygulanmasında tanım gereği, altlarında katman olmayan bir katman olamaz.
barlop

1

ARP bir MAC adresi sağlar, ancak bazen DMAC adresi yoksa, yayın adresi kullanılır.

Yayın DMAC kullanan bu kareye ARP yayın karesi denir, bununla DMAC adresini alırız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.