Làm thế nào để lệnh ping thực sự hoạt động? Cụ thể ARP (Giao thức phân giải địa chỉ) xuất hiện ở đâu?
Tôi đã được hỏi câu hỏi này trong một cuộc phỏng vấn và tôi đã không thể đưa ra một kịch bản khi ARP có thể được sử dụng.
Làm thế nào để lệnh ping thực sự hoạt động? Cụ thể ARP (Giao thức phân giải địa chỉ) xuất hiện ở đâu?
Tôi đã được hỏi câu hỏi này trong một cuộc phỏng vấn và tôi đã không thể đưa ra một kịch bản khi ARP có thể được sử dụng.
Câu trả lời:
Nếu bạn thực sự muốn hiểu, có một tờ giấy trắng xuất sắc (được viết rất tốt) ở đây:
http://images.globalknowledge.com/wwwimages/whitepaperpdf/WP_Mays_Ping.pdf
Dưới đây là tóm tắt ->
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
Vì không có lớp TCP ở giữa, nên Ping (program)
phải giám sát tất cả các gói ICMP đang đến và chỉ lọc một gói từ đích.
Mong rằng sẽ giúp.
Giả sử ping liên quan đến một gói được gửi qua mạng Ethernet hoặc WiFi, ARP được sử dụng để tìm địa chỉ phần cứng Ethernet của thiết bị nhận gói tin đi. Thông thường, đây sẽ là bộ định tuyến cho mạng LAN mà máy có nguồn gốc ping được bật.
Quá trình điển hình là:
Bạn nhập một lệnh để ping đích.
DNS được sử dụng để xác định địa chỉ IP (nếu cần).
Bảng định tuyến được tham khảo để tìm bước nhảy tiếp theo hướng đến đích đó.
ARP được sử dụng để tìm địa chỉ phần cứng của bước nhảy tiếp theo.
Gói IP được gửi đến bước nhảy tiếp theo, được gói gọn trong khung Ethernet hoặc WiFi.
Ping thực sự là hai gói ICMP (Internet Control Message Protocol) khác nhau.
Để ping máy chủ, trước tiên bạn gửi Gói yêu cầu Echo ICMP, máy chủ sau đó sẽ trả lời bằng Trả lời Echo ICMP.
Để biết thêm thông tin, hãy xem: https://en.wikipedia.org/wiki/Ping_(networking_utility)
Ping và ARP là những thứ khác nhau nằm ở các lớp khác nhau trong ngăn xếp giao thức mạng.
Ping nằm ở lớp mạng (hoặc lớp Internet - Hãy xem giao thức ICMP như được chỉ ra bởi @ServerMonkey).
Giao thức Arp ở cấp liên kết (cấp thấp hơn). Giao thức Arp được thiết kế để cho phép kết nối vật lý giữa phần cứng mạng, được kết nối trực tiếp.
Trong ngăn xếp mạng TCP / IP, mọi lớp sử dụng lớp bên dưới để chuyển tiếp dữ liệu của nó, đóng gói nó bên trong giao thức cấp thấp. Mỗi lớp độc lập với lớp khác và có thể không biết về các chi tiết và cách triển khai cụ thể của các cấp độ khác (điều này không phải lúc nào cũng đúng: xem chức năng lớp chéo ).
ARP cung cấp địa chỉ MAC, nhưng đôi khi nếu không có địa chỉ DMAC, địa chỉ quảng bá được sử dụng.
Khung này sử dụng DMAC quảng bá được gọi là khung phát ARP, với khung này chúng tôi nhận được địa chỉ DMAC.