Đối với các kỹ sư CNTT giao thức ARP không còn quá xa lạ trong môi trường mạng. Trong bài viết này, hãy cùng Viettuans.vn đi tìm hiểu về ARP là gì, cách thức hoạt động và vai trò chính của giao thức ARP. Hãy cùng bắt đầu bài viết!
1. ARP là gì?
ARP, viết tắt của Address Resolution Protocol hay còn gọi là giao thức phân giải địa chỉ. Đây là một trong những giao thức quan trọng nhất trong mạng máy tính. Với vai trò kết nối một địa chỉ IP với một server vật lý (hay còn gọi là địa chỉ MAC).
Giao thức ARP còn có tên gọi khác là giao thức ánh xạ (Mapping). Cụ thể đối với địa chỉ IP thông thường như IP version 4 (IPv4) sẽ có độ dài 48 bit còn địa chỉ MAC thường chỉ có 32 bit chiều dài. Làm cách nào để kết nối hai địa chỉ này lại? Đây là lúc giao thức ARP hoạt động, phiên dịch địa chỉ 32 bit sang 48 bit, và ngược lại.
ARP được phát triển vào đầu những năm 1980 như một giao thức phiên dịch địa chỉ được sử dụng chung cho các mạng IP. Bên cạnh Ethernet, ARP Protocol cũng được ứng dụng cho ATM, Token Ring và những mạng vật lý khác.
Tìm hiểu sâu hơn: Protocol là gì? Kiến thức, các loại giao thức mạng Protocol
2. Giao thức ARP có mấy dạng chính?
Giao thức ARP được phân thành 4 loại chính:
2.1 Proxy ARP
Proxy ARP là giao thức truyền tải giữa 2 host ở 2 mạng khác nhau. Thông thường hai mạng khác nhau muốn kết nối sẽ cần phải thông qua một thiết bị router để có thể làm trung gian cho quá trình truyền tải. Cụ thể về cách hoạt động của Proxy ARP bạn đọc có thể tham khảo ví dụ ngay sau đây:
Có một Host A muốn kết nối và truyền thông tin tới Host D, vì vậy Host A sẽ cung cấp một gói tin ARP request để yêu cầu host D gửi địa chỉ MAC cho Host A. Gói tin broadcast này cho phép tất cả các host trong mạng đều có thể nhận đc và xử lý. e0 của Router cũng có thể nhận được song host D sẽ không thể nhận được gói tin này vì Router đã drop gói tin ngay khi đến e0.
Khi Router nhận biết rằng Host D nằm ở mạng khác, Router sẽ gửi lại cho Host A gói tin ARP Proxy reply và sẽ được lưu lại vào bộ nhớ cache của Host A. Lúc này khi host A muốn gửi gói tin đến host D hoặc bất kỳ host nào trong subnet B thì chỉ cần truyền gói tin đến interface e0 của router. Router sẽ tự biết cách để forward gói tin đến đúng đích.
Tìm hiểu: Proxy là gì? Khám phá các tính năng, hướng dẫn cài đặt
2.2 Gratuitous ARP
Gratuitous ARP là một dạng ARP request nhằm thông báo một địa chỉ IP to MAC mới hay được thay đổi cần được cập nhật trong máy chủ. Các thiết bị trong mạng sẽ nhận được gói tin ARP request chứa địa chỉ IP và địa chỉ MAC của thiết bị cần cập nhập thông tin và lưu lại vào bộ nhớ cache để phục vụ cho quá trình truyền thông tin trong tương lai
2.3. Reverse ARP
Reverse Address Resolution Protocol hay RARP là giao thức cho phép máy chủ của bạn có thể biết được địa chỉ IP của mình
2.4. Inverse ARP
ARP là giao thức cho phép truy xuất địa chỉ MAC dựa trên địa chỉ IP. Ngược lại, Inverse ARP là giao thức tìm ra địa chỉ IP dựa trên địa chỉ MAC.
3. Vai trò của giao thức ARP là gì?
ARP được xem là một trong những giao thức quan trọng nhất trong lớp liên kết dữ liệu trong mô hình TCP/IP. Chức năng chính của ARP là chuyển đổi địa chỉ IP thành địa chỉ MAC và ngược lại, giúp các thiết bị trong mạng có thể giao tiếp với nhau dễ dàng hơn, đồng thời giảm thiểu tải trọng trên mạng và tăng tốc độ truyền thông tin.
Xem thêm: Thiết bị mạng là gì? Chức năng, 10 loại thiết bị mạng cơ bản
4. Cách thức hoạt động của giao thức ARP
Để hiểu rõ hơn về cách thức hoạt động của ARP, chúng ta cần tìm hiểu các thành phần cơ bản của giao thức này.
4.1. Cấu trúc của giao thức ARP
Các thành phần chính bao gồm địa chỉ IP, địa chỉ MAC, ARP request message và ARP reply message:
- ARP Cache: Sau khi phân giải địa chỉ MAC, ARP sẽ lưu trữ địa chỉ IP, địa chỉ MAC của các thiết bị nguồn đích để phục vụ cho các kết nối trong tương lai.
- ARP Cache Timeout: Thời gian mà dữ liệu địa chỉ MAC tồn tại trong bộ nhớ cache ARP.
- ARP request: Gửi yêu cầu truyền một gói tin từ máy nguồn để tìm địa chỉ MAC của máy nhận.
- ARP response/reply: Phản hồi địa chỉ MAC từ thiết bị đích về thiết bị nguồn.
Một gói tin Request hay Reply đều gồm 4 thành phần chính như:
- Sender Hardware Address: Địa chỉ lớp hai của thiết bị gửi bản tin.
- Sender Protocol Address: Địa chỉ lớp ba của thiết bị gửi bản tin.
- Target Hardware Address: Địa chỉ lớp hai (hay địa chỉ phần cứng - MAC) của thiết bị đích nhận gói tin.
- Target Protocol Address: Địa chỉ lớp ba (hay địa chỉ logic) của thiết bị đích nhận gói tin.
4.2. Cách thức hoạt động của ARP
Trong quá trình truyền thông tin giữa hai thiết bị trong mạng, một thiết bị sẽ gửi một ARP request message tới thiết bị còn lại yêu cầu địa chỉ MAC của nó. Thiết bị nhận được yêu cầu sẽ trả lời với một ARP reply message chứa địa chỉ MAC của mình. Sau khi có được địa chỉ MAC, thiết bị gửi thông tin đến địa chỉ này.
Trong quá trình hoạt động, ARP sử dụng ARP cache để lưu trữ các bản ghi về địa chỉ IP và địa chỉ MAC tương ứng của các thiết bị trong mạng. Khi một thiết bị trong mạng cần gửi thông tin đến một địa chỉ IP, nó sẽ tìm kiếm trong bảng ARP để xác định địa chỉ MAC tương ứng của địa chỉ IP đó. Nếu bản ghi tương ứng đã được lưu trong bảng ARP, thiết bị sẽ sử dụng địa chỉ MAC này để gửi thông tin. Nếu không có bản ghi tương ứng trong bảng ARP, thiết bị sẽ gửi một ARP request message để yêu cầu địa chỉ MAC.
Trong mạng máy tính, ARP có vai trò quan trọng trong việc giúp các thiết bị giao tiếp với nhau dễ dàng và nhanh chóng. Các giao thức khác trong mô hình TCP/IP như TCP và UDP cũng phụ thuộc vào ARP để thực hiện truyền thông tin giữa các thiết bị.
Do đó, nếu ARP không hoạt động đúng cách hoặc không tồn tại trong mạng, việc truyền thông tin giữa các thiết bị sẽ bị gián đoạn hoặc chậm chạp, ảnh hưởng đến hiệu suất của toàn bộ mạng.
Cụ thể hơn, bạn đọc có thể tham khảo chi tiết quá trình hoạt động của ARP thông qua 8 bước sau:
- Source Device Checks Cache: thiết bị sẽ thực hiện kiểm tra cache để xác định đã tồn tại bản lưu địa chỉ IP đích tương ứng với MAC hay chưa.
- Source Device Generates ARP Request Message: Thiết bị nguồn bắt đầu khởi tạo gói tin ARP Request bao gồm các trường địa chỉ đã đề cập tại phần trên.
- Source Device Broadcasts ARP Request Message: Thiết bị nguồn phân tán gói tin ARP Request trên toàn mạng.
- Local Devices Process ARP Request Message: Các thiết bị trong mạng đều nhận được gói tin ARP Request từ thiết bị nguồn. Dựa trên trường Target Protocol Address, các thiết bị nhận gói tin sẽ quyết định xử lý tiếp (Nếu trùng IP) hoặc hủy gói tin (Nếu không trùng IP)
- Destination Device Generates ARP Reply Message: Trong trường hợp thiết bị nhận có địa chỉ IP trùng với IP trong trường Target Protocol Address, thiết bị đó sẽ bắt đầu khởi tạo gói tin ARP Reply. Đồng thời thiết bị đó sẽ nhập địa chỉ datalink của mình vào trường Sender Hardware Address trong gói tin Reply.
- Destination Device Updates ARP Cache: Thiết bị đích cập nhật dữ liệu địa chỉ IP và MAC của thiết bị nguồn vào bảng ARP cache để tối ưu thời gian xử lý cho những lần truyền thông tin sau.
- Destination Device Sends ARP Reply Message: Thiết bị đích bắt đầu gửi gói tin Reply đến thiết bị nguồn.
- Source Device Processes ARP Reply Message: Thiết bị nguồn nhận được gói tin reply và lưu lại thông tin về địa chỉ MAC vào ARP cache. Những lần kết nối tiếp theo sẽ không còn cần tới quá trình request.
Tìm hiểu thêm: Payload là gì? Phân biệt Payload gói dữ liệu và Payload Malware
5. Rủi ro bảo mật khi sử dụng giao thức ARP
5.1. ARP cache poisoning
ARP cache poisoning là một kỹ thuật cho phép kẻ tấn công gửi một ARP reply message giả mạo cho thiết bị khác trong mạng, đi kèm với một địa chỉ MAC giả mạo. Khi đó, thiết bị đó sẽ lưu trữ địa chỉ MAC giả mạo này trong ARP cache của mình.
Khi các thiết bị khác trong mạng cần gửi thông tin đến địa chỉ IP tương ứng với địa chỉ MAC giả mạo này, các gói tin sẽ được gửi thẳng đến thiết bị của kẻ tấn công thay vì thiết bị đích. Điều này có thể dẫn đến lộ thông tin và đánh cắp dữ liệu trong mạng.
Để bảo vệ mạng khỏi các cuộc tấn công ARP spoofing, có một số phương pháp phòng chống như sử dụng ARP cache monitoring và ARP cache timeout. ARP cache monitoring sẽ theo dõi bảng ARP để phát hiện các bản ghi bất thường, giúp ngăn chặn các cuộc tấn công ARP spoofing.
ARP cache timeout sẽ cài đặt thời gian tồn tại của các bản ghi trong ARP cache. Khi hết thời gian lưu trữ, các bản ghi sẽ bị xóa khỏi cache. Điều này giúp giảm thiểu tác động của các cuộc tấn công ARP spoofing và đảm bảo tính bảo mật dữ liệu của mạng.
5.2. Các vấn đề về hiệu suất mạng
Việc sử dụng ARP cũng có thể gây ra các vấn đề về hiệu suất mạng. Vì ARP yêu cầu truyền thông tin giữa các thiết bị để thực hiện chuyển đổi địa chỉ IP thành địa chỉ MAC và ngược lại.
Vì vậy trong trường hợp có quá nhiều thiết bị trong mạng và lưu lượng truy cập lớn, việc sử dụng ARP có thể làm chậm tốc độ truyền thông tin và làm giảm hiệu suất mạng.
6. Mối quan hệ giữa ARP - DHCP - DNS
Bạn đọc có thể tham khảo sơ đồ sau để nắm được mối quan hệ giữa ARP - DHCP - DNS:
- ARP là một quá trình kết nối địa chỉ MAC tĩnh của thiết bị vật lý với địa chỉ IP động.
- DHCP - Dynamic Host Configuration Protocol là giao thức cấu hình máy chủ động nhằm thay đổi địa chỉ IP theo một quy tắc nhất định để đảm bảo quyền riêng tư và bảo mật cho người dùng.
- DNS hay Domain Name System sẽ chuyển đổi địa chỉ IP thành tên miền. Cụ thể DNS sẽ chuyển đổi tên miền website từ dạng phức tạp như www.tenmien.com sang một địa chỉ IP dạng số tương ứng để hỗ trợ cho việc đọc hiểu của máy tính trở nên dễ dàng hơn.
7. Tổng kết
ARP là một giao thức quan trọng trong mô hình TCP/IP, cho phép chuyển đổi địa chỉ IP thành địa chỉ MAC và ngược lại. Hi vọng rằng bài viết ARP là gì của Việt Tuấn đã cung cấp đầy đủ những thông tin cần thiết cho bạn đọc xoay quanh chủ đề ARP là gì.
Bài viết hay, rất hữu ích.