ARP được biết đến là một phương thức phân giải địa chỉ động giữa địa chỉ lớp network với địa chỉ lớp datalink. Đối với các dữ liệu liên kết, ARP đóng vai trò vô cùng quan trọng và cần thiết đối với quá trình này.
Để giúp bạn hiểu rõ hơn ARP là gì? Vai trò của ARP như thế nào? Có bao nhiêu loại ARP? Lịch sử và mục đích sử dụng ARP ra sao?… Tất cả những thắc mắc này sẽ được Mstar Corp giải đáp ngay trong bài viết sau đây.
ARP là gì?
ARP là một giao thức mạng, có vai trò quan trọng trong việc kết nối giữa địa chỉ IP với địa chỉ phần cứng MAC của mạng máy tính. Khi thiết bị có nhu cầu kết nối với các thiết bị khác, ARP sẽ thực hiện công việc chuyển đổi địa chỉ IP sang địa chỉ MAC tương ứng để quá trình liên lạc được đảm bảo.
Mục đích chính của ARP là giúp cho các thiết bị trong cùng một mạng nội bộ có thể nhận biết và trao đổi dữ liệu với nhau hiệu quả. Quá trình hoạt động của ARP dựa vào việc request và response giữa các thiết bị với nhau. Khi muốn gửi dữ liệu cho một thiết bị khác trong cùng một mạng, nó sẽ thực hiện gửi bản tin ARP request có địa chỉ IP đích lên toàn mạng.
Thiết bị nhận được yêu cầu ARP sẽ phản hồi bằng một bản tin ARP response chứa địa chỉ MAC của mình. Thiết bị gửi sau đó sẽ lưu thông tin này vào bảng ARP cache để sử dụng cho các lần truyền dữ liệu tiếp theo.
Ví dụ về giao thức ARP
Các gói tin ARP Request và ARP Reply có thể bị capture. Dưới đây là một ví dụ về việc bắt giữ các gói tin ARP Request để minh họa hoạt động của ARP. Trong ví dụ này, địa chỉ MAC đã được bỏ trống (00:00:00:00:00:00).
Gói tin request sẽ chứa nhiều trường khác nhau như sau:
- Loại phần cứng: Xác định phần cứng được sử dụng để truyền thông báo ARP, chủ yếu là Ethernet.
- Loại giao thức: Một số được gán cho từng giao thức, ở đây là giao thức IPv4: 2048 (hoặc 0x0800 trong hệ Hexa).
- Kích thước giao thức: Độ dài địa chỉ IPv4, ở đây là 4 byte.
- Opcode: Xác định tính chất của thông báo ARP, với 1 là ARP Request và 2 là ARP Reply.
- Địa chỉ IP nguồn: 10.10.10.2.
- Địa chỉ IP đích: 10.10.10.1.
- Địa chỉ MAC nguồn: 00:1a:6b:6c:0c
Bước tiếp theo là thông báo ARP Reply được capture. Các tin nhắn phản hồi sẽ chứa địa chỉ MAC mà nguồn đã yêu cầu. Trong thông báo ARP Reply này, địa chỉ MAC 00:1d:09:f0:92 được gửi.
Ưu điểm của ARP
Vậy ưu điểm của giao thức ARP là gì? Sau đây là một số ưu điểm nổi bật của ARP mà bạn nên biết, cụ thể:
- Với giao thức ARP, địa chỉ MAC có thể dễ dàng xác định nếu người dùng biết địa chỉ IP của hệ thống tương ứng.
- Các end node không nên được cấu hình để “nhận biết” các địa chỉ MAC, vì chúng sẽ tự động được phát hiện khi cần.
- Mục đích của ARP là cho phép mọi host trong mạng tạo ra một ánh xạ giữa địa chỉ IP và địa chỉ vật lý. Tập hợp các ánh xạ này, hay bảng ánh xạ, được lưu trữ trong host và được gọi là bảng ARP hoặc ARP cache.
Vai trò của ARP
Sau khi hiểu rõ hơn về ARP, bạn cần tìm hiểu về vai trò của ARP là gì trên mạng. Dưới đây là các vai trò cụ thể của giao thức này:
Quản lý kết nối dễ dàng
ARP cho phép một mạng có thể quản lý các kết nối độc lập với thiết bị vật lý cụ thể, được gắn vào từng mạng. Điều này có nghĩa là khi một thiết bị muốn gửi dữ liệu đến thiết bị khác trong cùng một mạng thì không cần phải quan tâm đến card mạng, switch hay cáp mạng mà thiết bị đang dùng.
Thiết bị chỉ cần biết địa chỉ IP của thiết bị đích, đồng thời sử dụng thêm ARP để tìm ra địa chỉ MAC tương ứng. Đây là địa chỉ MAC duy nhất cho mỗi card mạng, được dùng để xác định được thiết bị trong lớp liên kết dữ liệu. Nhờ có ARP giao thức internet có thể hoạt động trơn tru trên nhiều loại mạng vật lý khác nhau.
Hỗ trợ các thiết bị mạng giao tiếp qua IP
Đây được cho là một trong những vai trò quan trọng của ARP, vì khi một thiết bị gửi dữ liệu qua switch hay router, nó cần phải có địa chỉ MAC để xác định thiết bị tiếp theo trong đường truyền. Nếu không có sự hỗ trợ của ARP, thiết bị nguồn không thể biết được MAC của thiết bị đích hoặc router để gửi dữ liệu.
Quá trình hoạt động của ARP bao gồm 2 bước:
- Gửi yêu cầu ARP (ARP request): Là một bản tin được gửi tới tất cả các thiết bị trong mạng, hỏi xem ai có địa chỉ IP mà nó cần biết.
- Nhận phản hồi ARP (ARP reply): Là một bản tin được gửi tiền tới thiết bị nguồn, trả lời rằng nó có địa chỉ IP và đây là địa chỉ MAC của nó.
Thay đổi địa chỉ IP hoặc MAC
ARP giúp các thiết bị trong mạng thông báo cho nhau về thay đổi địa chỉ IP hoặc MAC bằng cách gửi các bản tin ARP request hoặc ARP reply. Điều này giúp cập nhật thông tin trong bảng ARP cache một cách chính xác và kịp thời.
Bảng ARP cache là một bộ nhớ tạm lưu trữ các cặp địa chỉ IP và MAC của các thiết bị đã được phân giải qua ARP. Nếu không có các thông báo này, thiết bị trong mạng có thể sử dụng thông tin không chính xác trong bảng ARP cache, dẫn đến việc gửi dữ liệu sai hoặc không thể gửi được dữ liệu.
Các loại ARP chính
Có tất cả 5 loại ARP chính bao gồm: Cơ bản, Proxy, Gratuitous, Reverse, Inverse, mỗi loại sẽ có một đặc điểm riêng, cụ thể:
- ARP cơ bản (Basic ARP): Đây là loại ARP được sử dụng phổ biến nhất, dùng để phân giải địa chỉ IP thành địa chỉ MAC trong cùng một mạng nội bộ. Quá trình hoạt động của ARP cơ bản bao gồm 2 bước chính là: gửi yêu cầu ARP (ARP request) và nhận phản hồi ARP (ARP reply).
- Proxy ARP: Loại ARP này giúp các thiết bị trong các mạng con khác nhau có thể giao tiếp với nhau thông qua một router. Router sẽ giữ vai trò là một proxy, đại diện cho các thiết bị khác để thực hiện nhiệm vụ trả lời yêu cầu ARP.
- Gratuitous ARP: Đây là loại ARP được sử dụng để thông báo cho các thiết bị trong mạng về sự thay đổi địa chỉ IP hoặc MAC của một thiết bị. Thiết bị sẽ gửi một yêu cầu ARP cho chính nó, và nếu có thiết bị nào khác có cùng địa chỉ IP hoặc MAC, nó sẽ phản hồi lại.
- Reverse ARP: Loại ARP này được sử dụng để tìm ra địa chỉ IP của thiết bị từ địa chỉ MAC. Nó thường được sử dụng khi một thiết bị chưa được cấp địa chỉ IP từ DHCP hoặc BOOTP và muốn biết địa chỉ IP của chính nó.
- Inverse ARP: Inverse ARP được sử dụng để tìm ra địa chỉ IP của các thiết bị từ địa chỉ MAC trong các mạng không dây hoặc Frame Relay. Inverse ARP được sử dụng khi một thiết bị muốn biết địa chỉ IP của các thiết bị khác mà nó đã kết nối.
Lịch sử và mục đích của ARP
ARP được hình thành và phát triển lần đầu vào năm 1980, đây cũng là giao thức dịch địa chỉ chung cho mạng IP. Ngoài Ethernet và Wifi thì ARP chính là giao thức được sử dụng cho ATM, Token Ring và một số mạng vật lý khác.
Đặc điểm của ARP là khả năng cho phép quản lý các kết nối độc lập với từng thiết bị vật lý cụ thể được kết nối vào mạng. Nhờ đó giao thức internet hoạt động hiệu quả hơn vì không phải quản lý các địa chỉ của thiết bị phần cứng và mạng vật lý.
Cấu trúc bản tin ARP
Cấu trúc giao thức ARP bao gồm các các thành phần chính như: địa chỉ IP, địa chỉ MAC, ARP request message và ARP reply message.
- ARP Cache: Sau khi thực hiện quá trình phân giải địa chỉ MAC, ARP sẽ thực hiện lưu trữ địa chỉ IP, địa chỉ MAC của các thiết bị đích nhằm phục vụ cho quá trình kết nối trong tương lai.
- ARP Cache Timeout: Chính là thời gian mà dữ liệu địa chỉ MAC có thể tồn tại trong bộ nhớ cache ARP.
- ARP request: Thực hiện nhiệm vụ truyền một gói tin từ chính máy nguồn để tìm địa chỉ MAC của máy nhận.
- ARP response/reply: Chịu trách nhiệm chính trong việc phản hồi địa chỉ MAC từ thiết bị đích đến thiết bị nguồn.
Cấu trúc của một gói tin Request hay Reply sẽ bao gồm 4 thành phần chính như:
- Sender Hardware Address: Là địa chỉ lớp hai của thiết bị gửi bản tin.
- Sender Protocol Address: Là địa chỉ lớp ba của thiết bị gửi bản tin.
- Target Hardware Address: Là đị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: Là địa chỉ lớp ba (hay địa chỉ logic) của thiết bị đích nhận gói tin.
Cách thức hoạt động của giao thức mạng ARP
Trong quá trình trao đổi thông tin giữa hai thiết bị trong mạng, một thiết bị sẽ gửi một thông điệp yêu cầu ARP (ARP request) 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ẽ phản hồi bằng một thông điệp ARP (ARP reply) chứa địa chỉ MAC của mình. Khi đã có địa chỉ MAC, thiết bị sẽ gửi thông tin tới địa chỉ này.
Trong quá trình hoạt động, ARP sử dụng bộ đệm ARP (ARP cache) để lưu trữ các bản ghi liên quan địa chỉ IP và địa chỉ MAC tương ứng của từng thiết bị trong mạng. Khi một thiết bị cần gửi thông tin đến một địa chỉ IP, nó sẽ tra cứu trong bảng ARP để xác định địa chỉ MAC tương ứng. Nếu bản ghi đã tồn tại trong bảng ARP, thiết bị sẽ sử dụng địa chỉ MAC đó để gửi thông tin. Nếu không có bản ghi, thiết bị sẽ gửi một thông điệp yêu cầu ARP để yêu cầu địa chỉ MAC.
Trong mạng máy tính, ARP đóng vai trò quan trọng trong việc giúp các thiết bị giao tiếp với nhau một cách 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 dựa vào ARP để thực hiện truyền thông tin giữa các thiết bị.
Vì vậy, nếu ARP không hoạt động đúng cách hoặc không có trong mạng, quá trình 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 tiêu cực đến hiệu suất của toàn bộ mạng.
Để hiểu rõ hơn, bạn 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ẽ kiểm tra bộ nhớ cache để xem đã có bản lưu địa chỉ IP đích tương ứng với địa chỉ MAC hay chưa.
- Source Device Generates ARP Request Message: Thiết bị nguồn khởi tạo gói tin ARP Request, bao gồm các trường địa chỉ đã đề cập ở phần trên.
- Source Device Broadcasts ARP Request Message: Thiết bị nguồn phát tán gói tin ARP Request trên toàn mạng.
- Local Devices Process ARP Request Message: Ở bước này, các thiết bị trong mạng sẽ nhận được gói tin ARP Request từ chính thiết bị nguồn. Thông qua trường Target Protocol Address, các thiết bị sẽ quyết định xử lý tiếp (nếu IP trùng khớp) hoặc bỏ qua gói tin (nếu IP không trùng khớp).
- Destination Device Generates ARP Reply Message: Nếu thiết bị nhận có địa chỉ IP trùng với IP trong trường Target Protocol Address, nó sẽ khởi tạo gói tin ARP Reply. Đồng thời, thiết bị sẽ thực hiện nhập địa chỉ datalink của mình vào trường Sender Hardware Address trong chính gói tin Reply.
- Destination Device Updates ARP Cache: Sẽ thực hiện việc thiết bị đích cập nhật dữ liệu của địa chỉ IP và MAC của thiết bị nguồn vào bảng ARP cache, nhằm 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 gửi gói tin ARP Reply đến thiết bị nguồn.
- Source Device Processes ARP Reply Message: Thiết bị nguồn nhận được gói tin ARP 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 thực hiện quá trình yêu cầu ARP nữa.
Những rủi ro khi sử dụng giao thức ARP
Trong quá trình sử dụng giao thức ARP, người dùng có thể gặp phải một số rủi ro như ARP cache poisoning hoặc một số vấn đề liên quan đến hiệu suất mạng, cụ thể:
ARP cache poisoning
ARP cache poisoning là một kỹ thuật tấn công mà kẻ xấu gửi các ARP reply message giả mạo đến các thiết bị khác trong mạng, kèm theo một địa chỉ MAC giả. Khi thiết bị nhận được thông điệp này, nó sẽ lưu trữ địa chỉ MAC giả mạo trong ARP cache của mình. Kết quả là, khi các thiết bị khác cần gửi thông tin đến địa chỉ IP tương ứng với địa chỉ MAC giả này, các gói tin sẽ được chuyển tới thiết bị của kẻ tấn công thay vì thiết bị đích, 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ư sau:
- ARP Cache Monitoring: Phương pháp này theo dõi bảng ARP để phát hiện các bản ghi bất thường. Bằng cách giám sát các thay đổi trong ARP cache, quản trị viên mạng có thể nhận ra và ngăn chặn các cuộc tấn công ARP spoofing.
- ARP Cache Timeout: Cài đặt thời gian tồn tại của các bản ghi trong ARP cache. Khi thời gian lưu trữ hết, các bản ghi sẽ bị xóa khỏi cache. Đây là một trong những cách giúp giảm thiểu những tác động không đáng có của các cuộc tấn công ARP spoofing, đồng thời đảm bảo tính bảo mật dữ liệu của mạng.
- Sử dụng Giao thức Bảo mật: Triển khai các giao thức bảo mật như Dynamic ARP Inspection (DAI) trên các thiết bị mạng để kiểm tra và xác minh các gói ARP, giúp ngăn chặn các gói tin giả mạo.
- Chế độ Tĩnh cho ARP Cache: Thiết lập ARP cache tĩnh với các bản ghi cố định, ngăn chặn thay đổi không mong muốn từ các ARP reply giả mạo.
- Sử dụng các Công cụ Bảo mật: Sử dụng các công cụ bảo mật mạng để phát hiện và phòng chống các cuộc tấn công ARP spoofing, như IDS/IPS (Intrusion Detection/Prevention Systems).
Bằng cách kết hợp các biện pháp này, bạn có thể tăng cường bảo mật cho mạng và giảm thiểu nguy cơ từ các cuộc tấn công ARP spoofing.
Vấn đề về hiệu suất mạng
Trong quá trình sử dụng ARP, người dùng có thể gặp phải một số vấn đề liên quan đến hiệu suất mạng. Lý do là vì ARP yêu cầu truyền thông tin giữa các thiết bị với nhân để thực hiện quá trình chuyển đổi địa chỉ IP thành địa chỉ MAC và ngược lại.
Do đó, trong trường hợp có nhiều thiết bị trong mạng hay lưu lượng truy cập quá lớn, việc sử dụng ARP sẽ giúp làm chậm tốc độ truyền thông tin, đồng thời làm giảm hiệu suất mạng.
ARP với DHCP và DNS có quan hệ gì?
Nhằm bảo vệ quyền lợi và đảm bảo sự an toàn cho người dùng trong quá trình sử dụng, địa chỉ IP thường được cập nhật theo một bộ quy định cụ thể, điều này tránh được tình trạng trùng lặp địa chỉ IP giữa các thiết bị.
Quy trình này được điều chỉnh bởi DHCP – Giao thức cấu hình động máy chủ, giúp quản lý việc phân phối địa chỉ IP một cách linh hoạt. DHCP tự động cấp phát, quản lý và cập nhật địa chỉ IP cho các thiết bị trong mạng, đảm bảo mỗi thiết bị có một địa chỉ IP duy nhất và tránh xung đột địa chỉ IP.
Khi người dùng muốn truy cập thông tin trên mạng, họ thường nhập các từ khóa dễ nhớ thay vì chuỗi số địa chỉ IP khó ghi nhớ mà máy tính sử dụng để kết nối với các trang web hoặc máy chủ. Để giải quyết vấn đề này, hệ thống DNS – Hệ thống Tên Miền đã được phát triển.
DNS giúp chuyển đổi giữa địa chỉ IP và tên miền, làm cầu nối giữa người dùng và máy tính, giúp quá trình kết nối mạng được thực hiện một cách suôn sẻ, đạt kết quả cao. Khi người dùng nhập một tên miền vào trình duyệt, DNS sẽ tra cứu và chuyển đổi tên miền đó thành địa chỉ IP tương ứng, giúp máy tính biết được địa chỉ cụ thể của máy chủ để kết nối.
Bằng cách kết hợp DHCP và DNS, hệ thống mạng hoạt động hiệu quả và tiện lợi hơn, đảm bảo an toàn và bảo mật cho người sử dụng cũng như giúp họ dễ dàng truy cập thông tin trên mạng.
Hy vọng những thông tin trong bài viết trên mà Mstar Corp sẽ giúp ích cho bạn trong quá trình tìm hiểu, từ đó hiểu hơn về giao thức ARP. Nếu có bất cứ thắc mắc nào liên quan đến ARP hãy để lại bình luận ở bên dưới để được Mstar Corp hỗ trợ.