bagaimana perintah 'ping' benar-benar berfungsi?


24

Bagaimana cara kerja perintah ping? Khususnya di mana ARP (Address Resolution Protocol) muncul?

Saya ditanya pertanyaan ini dalam sebuah wawancara dan saya tidak dapat membuat skenario kapan ARP dapat digunakan.


Lihatlah ke ICMP.

3
ARP digunakan untuk mendapatkan alamat MAC dari alamat IP tertentu. Ketika Anda perlu mengirim paket pada ethernet, Anda memerlukan alamat MAC tujuan.

Jawaban:


16

Jika Anda benar-benar ingin memahami, ada kertas putih yang sangat bagus (ditulis dengan sangat baik) di sini:

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

Berikut ringkasannya ->

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

Karena tidak ada lapisan TCP di antara keduanya, Ping (program)harus memantau semua paket ICMP yang masuk dan hanya menyaring yang dari tujuan.

Semoga itu bisa membantu.


9

Dengan asumsi ping melibatkan paket yang dikirim melalui jaringan Ethernet atau WiFi, ARP digunakan untuk menemukan alamat perangkat keras Ethernet dari perangkat yang menerima paket keluar. Biasanya ini akan menjadi router untuk LAN yang digunakan untuk mesin ping.

Proses khas adalah:

  1. Anda memasukkan perintah untuk melakukan ping ke tujuan.

  2. DNS digunakan untuk menentukan alamat IP (jika perlu).

  3. Tabel perutean dikonsultasikan untuk menemukan hop berikutnya menuju tujuan itu.

  4. ARP digunakan untuk menemukan alamat perangkat keras dari hop berikutnya.

  5. Paket IP dikirim ke hop berikutnya, dikemas dalam bingkai Ethernet atau WiFi.


3
Satu-satunya jawaban di sini yang benar-benar menjawab pertanyaan itu!
jmiserez


1

Ping dan ARP adalah hal-hal berbeda yang terletak pada lapisan berbeda di tumpukan protokol jaringan.

Ping ada di lapisan jaringan (atau lapisan Internet - Lihat protokol ICMP seperti yang ditunjukkan oleh @ServerMonkey).

Protokol arp berada pada level tautan (level yang lebih rendah). Protokol arp dirancang untuk memungkinkan koneksi fisik antara perangkat keras jaringan, yang terhubung langsung.

Dalam tumpukan jaringan TCP / IP, setiap lapisan menggunakan lapisan di bawah untuk meneruskan datanya, merangkumnya di dalam protokol tingkat rendah. Setiap lapisan independen dari yang lain dan mungkin tidak mengetahui rincian dan implementasi spesifik tingkat lainnya (ini tidak selalu benar: lihat fungsi lintas-lapisan ).


yes.but implementasi ping akan memerlukan beberapa kode di L2 (link layer.)

@ liv2hak. tidak. Implementasi ping terletak pada lapisan tautan di bawah ini.

@ liv arp sering dikatakan lapisan 2.5 ICMP sering dikatakan lapisan 3.5 Lapisan lebih banyak tentang bidang daripada kode. Dan jika Anda ingin mengatakan bahwa implementasi ping memerlukan kode pada layer 2, well, dengan implementasi apa pun, menurut definisi, Anda tidak dapat memiliki layer tanpa layer di bawahnya.
barlop

1

ARP menyediakan alamat MAC, tetapi kadang-kadang jika tidak ada alamat DMAC, alamat broadcast digunakan.

Frame ini menggunakan broadcast DMAC disebut sebagai frame broadcast ARP, dengan ini kita mendapatkan alamat DMAC.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.