ARP là gì?
ARP (Address Resolution Protocol) là một giao thức mạng được dùng để xác định phần cứng địa chỉ MAC của một thiết bị từ địa chỉ IP nguồn. Khi một thiết bị cần kết nối với thiết bị khác, ARP sẽ chuyển đổi IP sang địa chỉ MAC tương ứng để đảm bảo việc liên lạc hiệu quả. ARP hoạt động ở lớp Liên kết dữ liệu trong mô hình OSI.
Giao thức ARP có vai trò không thể thiếu trong việc cho phép kết nối mạng, cho phép khám phá, ánh xạ địa chỉ phần cứng thiết bị trên mạng cục bộ thành IP của thiết bị đó. Giúp các giao tiếp giữa các thiết bị diễn ra hiệu quả.
Các thành phần chính của giao thức ARP
Địa chỉ IP: Là địa chỉ mạng ở lớp 3 dùng để xác định thiết bị trong một mạng IP. IP phổ biến với IPv4 và IPv6, có độ dàu và cấu trúc khác nhau.
Địa chỉ MAC: Địa chỉ lớp 2 được chỉ định cho mỗi card mạng của thiết bị, nó có độ dài 48 bit và biểu diễn dưới dạng thập lục phân gồm 12 ký tự.
Bản tin ARP request: Là bản tin được thiết bị nguồn gửi đi đến thiết bị đích để yêu cầu địa chỉ MAC của thiết bị đích. Nó được gửi dưới dạng broadcast, gửi tới tất cả các thiết bị trong mạng. Bao gồm các thông tin như địa chỉ IP, địa chỉ MAC của thiết bị nguồn, địa chỉ IP của thiết bị đích, loại giao thức, loại phần cứng, loại yêu cầu, kích thước của IP và MAC.
Bản tin ARP reply: Là bản tin phản hồi từ thiết bị đích đến thiết bị nguồn để phản hồi yêu cầu ARP. Nó được gửi dưới dạng unicast, gửi riêng tới thiết bị nguồn. Bản tin phản hồi bao gồm địa chỉ IP, địa chỉ MAC của thiết bị mục tiêu, địa chỉ IP và MAC của thiết bị yêu cầu, loại giao thức, loại phần cứng, loại yêu cầu và kích thuwcos địa chỉ IP và MAC.
Bảng ARP cache: Là bộ nhớ tạm lưu trữ các cặp IP và MAC của thiết bị được phân giải qua ARP. Nó giúp giảm số lượng yêu cầu ARP và tăng hiệu suất trong mạng.
Cách thức hoạt động của ARP
Sau đây là cách thức hoạt động của giao thức ARP:
Bước 1: Kiểm tra bộ nhớ đệm ARP ban đầu
Khi người gửi muốn giao tiếp với người nhận, trước tiên người gửi sẽ kiểm tra bộ nhớ đệm ARP để xác định xem bộ nhớ đệm đã chứa địa chỉ MAC liên kết với địa chỉ IP của người nhận hay chưa. Nếu tìm thấy địa liên kế IP – MAC của thiết bị mục tiêu, thiết bị sẽ sử dụng nó để thiết lập liên lạc với thiết bị mục tiêu.
Bước 2: Chuẩn bị yêu cầu ARP
Nếu địa chỉ MAC không có trong bộ nhớ đệm, người gửi sẽ chuẩn bị yêu cầu ARP, nó bao gồm địa chỉ IP – MAC của người gửi, với địa chỉ IP của người nhận và trường địa chỉ MAC để trống vì không xác định được.
Bước 3: Phát yêu cầu ARP
Tiếp đến người gửi phát yêu cầu ARP này qua mạng cục bộ. Mọi thiết bị được kết nối với LAN đều nhận được phát này.
Bước 4: Đánh giá yêu cầu ARP của các thiết bị LAN
Khi nhận được yêu cầu ARP, các thiết bị mạng sẽ so sánh địa chỉ IP trong gói tin được yêu cầu bởi máy chủ với địa chỉ IP của chính nó. Các thiết bị có địa chỉ IP không khớp sẽ bị loại bỏ, thiết bị có IP phù hợp sẽ được giữ lại xử lý tiếp.
Bước 5: Phản hồi yêu cầu ARP.
Thiết bị chứa địa chỉ IP khớp với IP trong yêu cầu ARP sẽ chuẩn bị phản hồi ARP đến thiết bị yêu cầu. Nó chứa cả cả địa chỉ IP và MAC của thiết bị đã gửi trả lời, và gửi trực tiếp trở lại cho người gửi.
Bước 6: Cập nhật bộ nhớ đệm ARP
Khi người gửi nhận được phản hồi của ARP có thông tin chi tiết về liên kết IP – MAC, nó sẽ cập nhật bộ nhớ đệm ARP của mình bằng thông tin địa chỉ MAC mới. Sau đó sử dụng thông tin này để gửi giao tiếp trực tiếp với người nhận bằng địa chỉ MAC đã biết.
Bước 7: Giao tiếp.
Với địa chỉ MAC đã có và được ghi lại trong bộ nhớ đệm ARP, người gửi có thể gửi các gói dữ liệu trực tiếp đến người nhận.
Các loại ARP phổ biến
Proxy ARP
Proxy ARP cho phép các thiết bị giao tiếp trên các mạnh khác nhau bằng cách cho phép thiết bị lớp 3 hoạt động như một cầu nối. Ở đây, bộ định tuyến sẽ đóng vai trò là Proxy, đại diện cho các thiết bị khác trong mạng để phản hồi yêu cầu ARP.
Gratuitous ARP
Gratuitous ARP được dùng để xác định và ngăn ngừa xung đột do trùng lặp địa chỉ IP trên mạng. Nó sẽ thông báo cho các thiết bị trong mạng về sự thay đổi của địa chỉ IP và MAC của một thiết bị và phản hòi yêu cầu ARP khi một thiết bị khác trên mạng trùng IP.
Reverse ARP (RARP)
Reverse ARP được dùng để xác định đại chỉ MAC được liên kết với địa chỉ IP. Được sử dụng khi một thiết bị chưa được cấp địa chỉ IP và muốn biết IP của chính nó.
Inverse ARP (InARP)
Inverse ARP được sử dụng để tìm địa chỉ IP của thiết bị dựa vào địa chỉ MAC của thiết bị đó. Loại ARP này ít phổ biến và chủ yếu được dùng trong các công nghệ mạng cụ thể như Frame Relay và ATM.
Ưu điểm – hạn chế của giao thức ARP
Ưu điểm
- ARP hoạt động tự động và không yêu cầu cấu hình phức tạp
- Ánh xạ địa chỉ IP và MAC diễn ra nhanh chóng, hiệu quả
- ARP phổ biến trong mạng IPv4 giúp các thiết bị giao tiếp dễ dàng tại Layer 2
- Tự động cập nhật bộ nhớ đệm để thích hợp với các thay đổi của mạng
- Gratuitous ARP giúp phát hiện trùng lặp IP, phát hiện xung đột Ip trong mạng.
- ARP cho phép ánh xạ động giữa địa chỉ IP và MAC, giúp đơn giản hóa việc quản trị mạng
- ARP Cache giúp giảm số lượng yêu cầu ARP lặp lại, cải thiện hiệu suất mạng.
Hạn chế
- Dễ bị tấn công bởi các lỗ hổng bảo mật như ARP Spoofing
- Thiếu cơ chế xác thực và xác minh danh tính nên dễ bị khai thác
- Không hiệu quả ở mạng lớn với nhiều thiết bị, yêu cầu ARP có thể dẫn đến tắc nghẽn mạng
- Không có cơ chế cảnh bảo nếu địa chỉ IP – MAC được ánh xạ sai hoặc có xung đột MAC trong mạng
ARP spoofing là gì?
ARP spoofing là một kỹ thuật tấn công mạng sử dụng để chặn lưu lượng mạng bằng cách thao túng bộ đệm ARP của thiết bị mục tiêu. Để thực hiện một cuộc tấn công ARP spoofing, kẻ tấn công sẽ gửi phản hồi ARP với địa chỉ MAC khi phát hiện ra yêu cầu ARP, với lý do là địa chỉ MAC được liên kết với địa chỉ IP được yêu cầu. Khi thiết bị mục tiêu nhận được phản hồi ARP, sẽ cập nhật bộ nhớ đệm ARP với liên kết IP – MAC độc hại. Thiết bị mục tiêu sẽ gửi các gói dữ liệu đến địa chỉ MAC của kẻ tấn công, cho phép chúng chặn và sửa đổi các gói.
Ngoài ra, bằng cách sử dụng ARP cache poisoning, kẻ tấn công có thể chuyển hướng lưu lượng mạng đến một thiết bị độc hại mà chúng kiểm soát, và nó sẽ tiến hành khởi chạy các loại tấn công khác nhau như Tấn công từ chối dịch vụ (DoS), tấn công Eavesdropping, đánh cắp dữ liệu.
Do đó, quản trị mạng cần tiến hành áp dụng các công cụ phát hiện và ngăn chặn ARP spoofing đáng tin cậy để phát hiện các hoạt động ARP bất thường, giảm thiểu khả năng tấn công ARP spoofing.
Lời kết
Trên đây, LANIT đã chia sẻ chi tiết về ARP – một giao thức mạng có vai trò quan trọng để việc giao tiếp mạng cục bộ, giúp các thiết bị xác định được thông tin để truyền dữ liệu. Tuy nhiên, để đảm bảo về bảo mật và hiệu suất trong mạng, doanh nghiệp cần triển khai các biện pháp báo mật an toàn đáng tin cậy để giảm rủi ro.
Nếu bạn còn thắc mắc nào hoặc cần tư vấn thêm về các giải pháp bảo mật khi thuê VPS giá rẻ hoặc thuê máy chủ riêng, liên hệ ngay LANIT để được hỗ trợ sớm nhất nhé!