คำสั่ง ping ทำงานอย่างไร โดยเฉพาะ ARP (Address Resolution Protocol) เข้ามาในภาพได้ที่ไหน
ฉันถูกถามคำถามนี้ในการสัมภาษณ์และฉันไม่สามารถคิดสถานการณ์ที่จะใช้ ARP ได้
คำสั่ง ping ทำงานอย่างไร โดยเฉพาะ ARP (Address Resolution Protocol) เข้ามาในภาพได้ที่ไหน
ฉันถูกถามคำถามนี้ในการสัมภาษณ์และฉันไม่สามารถคิดสถานการณ์ที่จะใช้ ARP ได้
คำตอบ:
หากคุณต้องการที่จะเข้าใจจริงๆมีกระดาษสีขาวที่ยอดเยี่ยม (เขียนดีมาก) ที่นี่:
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf
นี่คือบทสรุป ->
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
เนื่องจากไม่มีเลเยอร์ TCP ในระหว่างนั้นPing (program)
จึงมีการตรวจสอบแพ็คเก็ต ICMP ขาเข้าทั้งหมดและกรองเฉพาะจากปลายทาง
หวังว่าจะช่วย
สมมติว่า ping เกี่ยวข้องกับแพ็กเก็ตที่ส่งผ่านเครือข่าย Ethernet หรือ WiFi ARP จะใช้เพื่อค้นหาที่อยู่ฮาร์ดแวร์ Ethernet ของอุปกรณ์ที่รับแพ็กเก็ตขาออก โดยทั่วไปจะเป็นเราเตอร์สำหรับ LAN ที่เปิดเครื่อง ping
กระบวนการทั่วไปคือ:
คุณป้อนคำสั่งเพื่อ ping ปลายทาง
DNS ใช้เพื่อกำหนดที่อยู่ IP (หากจำเป็น)
ตารางเส้นทางจะถูกพิจารณาเพื่อค้นหาการกระโดดต่อไปยังปลายทางนั้น
ARP ใช้เพื่อค้นหาที่อยู่ฮาร์ดแวร์ของ hop ถัดไป
แพ็กเก็ต IP จะถูกส่งไปยัง hop ถัดไปซึ่งรวมอยู่ในเฟรม Ethernet หรือ WiFi
Ping จริง ๆ แล้วเป็นสองแพ็คเก็ต ICMP (Internet Message Message Protocol)
ในการ ping โฮสต์คุณส่ง ICMP Echo Request Packet ก่อนจากนั้นโฮสต์จะตอบกลับด้วย ICMP Echo Reply
สำหรับข้อมูลเพิ่มเติมโปรดดูที่: https://en.wikipedia.org/wiki/Ping_(networking_utility)
Ping และ ARP เป็นสิ่งต่าง ๆ ที่อยู่ในเลเยอร์ต่าง ๆ ในโปรโตคอลเครือข่ายสแต็ก
Ping อยู่ที่เลเยอร์เครือข่าย (หรือเลเยอร์อินเทอร์เน็ต - ดูโปรโตคอลICMPอย่างที่ @ServerMonkey ชี้ให้เห็น)
โปรโตคอล Arp อยู่ที่ระดับลิงก์ (ระดับต่ำกว่า) โปรโตคอล Arp ได้รับการออกแบบมาเพื่อให้เชื่อมต่อทางกายภาพระหว่างฮาร์ดแวร์เครือข่ายที่เชื่อมต่อโดยตรง
ในสแต็กเครือข่าย TCP / IP ทุกชั้นใช้เลเยอร์ด้านล่างเพื่อส่งต่อข้อมูลห่อหุ้มภายในโปรโตคอลระดับต่ำ แต่ละเลเยอร์เป็นอิสระจากสิ่งอื่นและอาจไม่ทราบรายละเอียดเฉพาะและการใช้งานในระดับอื่น (ซึ่งไม่เป็นความจริงเสมอไป: ดูฟังก์ชั่นข้ามเลเยอร์ )
ARP จัดเตรียมที่อยู่ MAC แต่บางครั้งหากไม่มีที่อยู่ DMAC จะใช้ที่อยู่การออกอากาศ
เฟรมนี้ที่ใช้ Broadcast DMAC เรียกว่า ARP broadcast frame โดยเราได้รับที่อยู่ DMAC