ARP (Address Resolution Protocol) - Giao thức phân giải địa chỉ: Là giao thức sử dụng data link Ethernet để tương quan giữa một địa chỉ IP - lớp 3 và một địa MAC - lớp 2 nhằm phục vụ cho việc đóng một gói tin IP vào một frame Ethernet.
Như chúng ta đã biết trong mô hình OSI và việc encapsulation / decapsulation là khi 2 host muốn kết nối với nhau thì chúng sẽ:
+ Sẽ tạo gói tin IP gồm: Source IP, Destination IP và dữ liệu từ lớp application
+ Gói tin IP này sẽ được encapsulated tại Ethernet frame với source MAC và destination MAC
Xét sơ đồ như bên dưới:
Ví dụ Host_01 muốn ping tới Host_02, ở mỗi lớp nó sẽ đóng gói với dữ liệu khác nhau:
Layer3-Network Layer: gói tin có source ip và destination ip sẽ được xác định là:
+ Source IP là IP của host_01: 192.168.1.1
+ Destination IP là địa chỉ của host_02: 192.168.1.2.
Gói tin IP này sẽ được đóng gói Ethernet frame để có thể truyền đi được trên data link Ethernet.
Layer2-Data link Layer: gói tin có source MAC và destination MAC sẽ được xác định là:
+ Source MAC: MAC address của host_01
+ Destination MAC: MAC address của host_02, tuy nhiên host_01 sẽ không biết được địa chỉ MAC của host_02 là gì, nhờ giao thức ARP đã hoạt động mà nó phân giải được địa chỉ MAC của host_02.
Mô tả hoạt động của giao thức ARP:
Ban đầu gói tin được tạo ra trên host_01 như hình trên, và nó không biết được địa chỉ MAC của host_02 là gì
Host_01 sẽ gửi Broadcast gói tin ARP Request đến địa chỉ ff:ff:ff:ff:ff:ff là tất cả các node trên mạng và hỏi "Ai có địa chỉ MAC tương ứng với IP 192.168.1.2" hãy cho tôi biết
Host_02 sẽ trả lời (ARP reply) gói unicast cho host_01 rằng: "địa chỉ MAC tương ứng của IP 192.168.1.2 là 50:00:00:02:00:00" (tất các host khác cũng nhận được gói broadcast từ host_01 tuy nhiên nó không biết nên nó không trả lời)
Khi nhận gói arp reply từ host_02, nó có được địa chỉ MAC mà nó cần tìm đó chính là địa chỉ MAC của host_02 là: 50:00:00:02:00:00 nhờ vào hoạt động phân giải ARP, Tiếp đến nó thực hiện đóng frame và thực hiện việc trao đổi dữ liệu với host_02, gói tin sẽ được chuyển xuống layer 1 và truyền đi.
Kiểm tra arp trên máy tinh - hệ điều hành windows cùng lệnh arp -a
Trên router dùng lệnh show ip arp
Hoạt động phân giải ARP sẽ được diễn ra tương tự với các host khác trên mạng LAN, và kết quả của host_01 (ARP đã phân giải) sẽ được cập nhật IP-MAC cho mọi thiết bị còn lại trong bảng ARP Cache.
Trên switch chúng ta có thể dùng lệnh show mac address-table để biết MAC đã được học thông qua cổng nào. Tham khảo bài cơ chế học MAC của switch sẽ biết rõ hơn.
Xong!