Trong kiến trúc mạng TCP/IP, Giao thức Phân giải Địa chỉ ARP (Address Resolution Protocol - RFC 826) đóng vai trò là "cầu nối sống còn" giữa Tầng Mạng (Layer 3 - Network Layer) và Tầng Liên kết Dữ liệu (Layer 2 - Data Link Layer). Khi một máy tính, máy chủ hoặc thiết bị mạng muốn gửi một gói tin IP đến một địa chỉ IP đích nằm trong cùng phân đoạn mạng LAN cục bộ, nó bắt buộc phải biết được địa chỉ vật lý MAC (Media Access Control) của card mạng đích để đóng gói thành khung dữ liệu Ethernet (Ethernet Frame).
Nếu không có giao thức ARP, việc truyền thông dữ liệu ở tầng vật lý và liên kết dữ liệu hoàn toàn bị tê liệt. Tuy nhiên, do được thiết kế từ thời kỳ sơ khai của mạng máy tính với cơ chế tin cậy ngầm (Implicit Trust), ARP tiềm ẩn những lỗ hổng bảo mật nghiêm trọng mà phổ biến nhất là tấn công ARP Spoofing / ARP Poisoning (Ngộ độc bảng ARP).
Bài phân tích chuyên sâu dưới đây từ lăng kính kỹ thuật của Kỹ Sư VietITPro sẽ mổ xẻ tường tận cấu trúc bản tin ARP, chu trình phân giải địa chỉ, phân tích bắt gói tin Wireshark thực tế và các giải pháp phòng thủ cứng cáp trên Switch doanh nghiệp.
I. Vị Trí Của Giao Thức ARP Trong Mô Hình OSI & Cấu Trúc Khung Bản Tin
Giao thức ARP hoạt động ở tầng giao thoa giữa Layer 2 và Layer 3 của mô hình OSI:

1. Cấu Trúc Chi Tiết Của Một Gói Tin ARP (ARP Packet Header)
Một khung Ethernet chứa gói tin ARP có trườngEtherType được thiết lập giá trị 0x0806. Cấu trúc bên trong bản tin ARP dài 28 bytes bao gồm các trường chuẩn:
II. Chu Trình Hoạt Động Cốt Lõi: ARP Request, ARP Reply & Bảng ARP Cache
Quá trình phân giải địa chỉ giữa hai máy trạm (Host A: 192.168.1.10 - MAC AA:AA:AA:AA:AA:AA và Host B: 192.168.1.20 - MAC BB:BB:BB:BB:BB:BB) diễn ra tuần tự qua các bước nghiêm ngặt:

1.Bước 1: Kiểm Tra Bảng ARP Cache Cục Bộ
Khi Host A cần gửi dữ liệu đến IP192.168.1.20, trước tiên hệ điều hành của Host A sẽ tra cứu bảng nhớ tạm ARP Cache của chính mình.
- Nếu đã tồn tại mục ánh xạ
192.168.1.20 -> BB:BB:BB:BB:BB:BB, Host A lập tức đóng gói Ethernet Frame và truyền đi ngay lập tức. - Nếu chưa có hoặc mục ghi đã hết hạn (Expired), Host A bắt đầu kích hoạt tiến trình ARP Request.
2.Bước 2: Phát Bản Tin ARP Request (Broadcast)
Host A tạo một gói tin ARP Request với Opcode = 1:Sender MAC:AA:AA:AA:AA:AA:AA,Sender IP:192.168.1.10Target MAC:00:00:00:00:00:00,Target IP:192.168.1.20- Gói tin này được bọc trong Ethernet Header với địa chỉ MAC đích là địa chỉ quảng bá Broadcast Layer 2 (
FF:FF:FF:FF:FF:FF). - Switch mạng nhận được Frame này sẽ sao chép và chuyển tiếp (Flooding) ra tất cả các cổng thuộc cùng VLAN (trừ cổng nhận vào).
3.Bước 3: Xử Lý Tại Các Host & Phản Hồi ARP Reply (Unicast)
Mọi thiết bị trong cùng VLAN đều nhận được gói tin ARP Request và chuyển lên tầng giao thức để kiểm tra trườngTarget IP:
- Các host khác có IP khác
192.168.1.20sẽ lập tức hủy bỏ (Drop) gói tin trong im lặng mà không phản hồi. - Host B nhận diện đúng địa chỉ IP của mình. Trước khi trả lời, Host B ghi nhận thông tin của Host A (
192.168.1.10 -> AA:AA:AA:AA:AA:AA) vào bảng ARP Cache của chính nó để tiết kiệm tài nguyên. - Sau đó, Host B tạo bản tin ARP Reply với Opcode = 2:
Sender MAC:BB:BB:BB:BB:BB:BB,Sender IP:192.168.1.20Target MAC:AA:AA:AA:AA:AA:AA,Target IP:192.168.1.10- Bản tin này được gửi đơn hướng (Unicast) trực tiếp về MAC của Host A thông qua bảng chuyển mạch MAC Table của Switch.
4.Bước 4: Cập Nhật Bảng ARP Cache & Truyền Dữ Liệu
Host A nhận được gói tin ARP Reply, ghi nhận địa chỉ MACBB:BB:BB:BB:BB:BB tương ứng với IP 192.168.1.20 vào bảng ARP Cache, sau đó tiến hành truyền tải dữ liệu ứng dụng (HTTP, FTP, SSH, v.v.).

# Kiểm tra bảng ARP Cache trên hệ điều hành Windows / Linux
C:\> Arp -a
Interface: 192.168.1.10 --- 0x12
Internet Address Physical Address Type
192.168.1.1 00-1A-2b-3c-4d-5e dynamic
192.168.1.20 Bb-bb-bb-bb-bb-bb dynamic
192.168.1.255 Ff-ff-ff-ff-ff-ff static
III. Các Dạng Biến Thể Đặc Biệt Của Giao Thức ARP
Ngoài chu trình phân giải cơ bản, kiến trúc mạng còn sử dụng các biến thể ARP chuyên biệt:
- Gratuitous ARP (GARP):
- Là bản tin ARP Request hoặc Reply mà một thiết bị tự gửi ra để tra cứu... chính địa chỉ IP của mình (
Sender IP = Target IP). - Mục đích: Phát hiện đụng độ IP (IP Conflict Detection) khi vừa cắm dây mạng, đồng thời thông báo cho toàn bộ mạng cập nhật bảng MAC/ARP khi có sự kiện chuyển đổi dự phòng (Failover trong các cụm máy chủ Cluster, Router VRRP/HSRP).
- Proxy ARP (RFC 1027):
- Router đóng vai trò đại diện phản hồi địa chỉ MAC của chính cổng Router cho một yêu cầu ARP nhắm tới một IP thuộc mạng con khác, giúp các máy trạm không có cấu hình Default Gateway vẫn có thể liên lạc xuyên mạng.
IV. Phân Tích Lỗ Hổng Nguy Hiểm: Tấn Công ARP Poisoning / ARP Spoofing
Do ARP là giao thức không trạng thái (Stateless) và không có bất kỳ cơ chế xác thực danh tính nào, máy tính sẽ chấp nhận và cập nhật bảng ARP của nó bất cứ khi nào nhận được một gói tin ARP Reply, ngay cả khi nó chưa từng gửi yêu cầu ARP Request trước đó.

1. Kịch Bản Tấn Công Man-In-The-Middle (MITM)
- Kẻ tấn công (Attacker có MAC
CC:CC:CC:CC:CC:CC) liên tục phát tán các gói ARP Reply giả mạo ra mạng LAN: - Gửi đến Nạn nhân (Victim): "IP của Router 192.168.1.1 đang ở MAC CC:CC:CC:CC:CC:CC"
- Gửi đến Router: "IP của Victim 192.168.1.10 đang ở MAC CC:CC:CC:CC:CC:CC"
- Hậu quả: Toàn bộ lưu lượng Internet từ Nạn nhân gửi đi và từ Router trả về đều bị ép đi qua máy của Attacker. Kẻ tấn công có thể nghe lén mật khẩu, đánh cắp phiên cookie (Session Hijacking) hoặc sửa đổi dữ liệu truyền tải.
V. Giải Pháp Phòng Chống ARP Spoofing Cấp Doanh Nghiệp
Để triệt tiêu hoàn toàn hiểm họa ARP Poisoning, các kỹ sư hệ thống VietITPro luôn triển khai đồng bộ các lớp bảo vệ phần cứng trên Switch:
1. Kỹ Thuật Dynamic ARP Inspection (DAI) Trên Switch Managed
DAI là tính năng bảo mật Layer 2 tối quan trọng trên các dòng Switch Cisco Catalyst, ArubaOS-CX hoặc Ruijie:- Switch chặn tất cả các gói tin ARP trên các cổng không tin cậy (Untrusted Ports).
- Switch kiểm tra chéo từng bản tin ARP dựa trên cơ sở dữ liệu tin cậy của DHCP Snooping Binding Table (gồm cặp IP, MAC, VLAN, Port hợp lệ).
- Nếu phát hiện bản tin ARP có IP và MAC không khớp với bảng DHCP Snooping, Switch lập tức thả bỏ (Drop) gói tin và ghi nhật ký cảnh báo (Syslog).
! Cấu hình DHCP Snooping và Dynamic ARP Inspection (DAI) trên Cisco Catalyst Switch
Switch(config)# ip dhcp snooping
Switch(config)# ip dhcp snooping vlan 10,20
Switch(config)# ip arp inspection vlan 10,20
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# description === UPLINK TO CORE ROUTER ===
Switch(config-if)# ip dhcp snooping trust
Switch(config-if)# ip arp inspection trust




