Trong bài viết này, chúng ta sẽ đi tìm hiểu về ARP là gì, cách hoạt động của giao thức ARP ra sao, có những giao thức ARP nào; cũng như mối quan hệ của ARP với DHCP và DNS là gì. Không để bạn đợi lâu, chúng ta sẽ bắt đầu ngay nhé!
Tìm hiểu về giao thức ARP
ARP là gì?
Hiểu một cách đơn giản, giao thức phân giải địa chỉ – ARP (Address Resolution Protocol) là một giao thức hoặc thủ tục dùng để kết nối giao thức Internet IP (Internet Protocol) luôn thay đổi với một địa chỉ máy chủ vật lý cố định. Máy chủ cố định này còn được gọi là địa chỉ điều khiển truy cập phương tiện MAC (Media Access Control) trong mạng cục bộ LAN (local-area network).
ARP là một giao thức ánh xạ rất cần thiết. Độ dài của địa chỉ IP và địa chỉ MAC rất khác nhau. Địa chỉ IPv4 thông dụng có độ dài 32 bit, trong khi đó địa chỉ MAC dài đến 48 bit. Do đó, chúng cần “một người” trung gian để dịch 32 thành 48 và ngược lại để chúng “nhận ra nhau”.
ARP có vai trò như thế nào trong mạng?
ARP có vai trò cực kỳ trong mạng vì địa chỉ IP của máy chủ lưu trữ hoặc thiết bị kết nối với mạng cần dịch sang địa chỉ phần cứng – MAC. Nếu không có ARP, máy chủ sẽ không thể tìm ra bất cứ địa chỉ máy chủ nào khác. Mạng LAN giữ một bảng hoặc thư mục ánh xạ địa chỉ IP tới địa chỉ MAC của các thiết bị khác nhau bao gồm: các thiết bị đầu cuối và các router trên mạng đó.
Giao thức ARP tạo các thư mục nhập một cách nhanh chóng. Nếu thiết bị người dùng không biết địa chỉ phần cứng của máy chủ đích, thiết bị sẽ gửi thông báo đến mọi máy chủ trong mạng để yêu cầu địa chỉ này. Khi tìm được một máy chủ thích hợp với yêu cầu, ARP sẽ trả lời lại bằng địa chỉ phần cứng của máy chủ đó. Địa chỉ này sẽ được lưu lại trong thư mục nhập hoặc bảng ARP.
Nếu ARP không hỗ trợ, bạn có thể thực hiện nhập thủ công vào các thư mục lưu trữ địa chỉ này.
Có những loại ARP nào?
Hiện tại, có 4 loại ARP chính bao gồm:
- Proxy ARP
- Gratuitous ARP
- Reverse ARP
- Inverse ARP
Để hiểu hơn về 4 loại này, chúng ta sẽ đi khai thác từng loại nhé!
Proxy ARP
Proxy ARP là một kỹ thuật bắt buộc thiết bị proxy trong một mạng phải trả lời cho ARP không có địa chỉ IP trên mạng đó. Proxy có khả năng nhận biết vị trí đích của lưu lượng truy cập và cung cấp địa chỉ MAC của chính mình làm đích.
Gratuitous ARP
Gratuitous ARP gần giống như thủ tục hành chính và thực hiện trên máy chủ. Hoạt động này chỉ nhằm thông báo một địa chỉ IP to MAC đã được cập nhật. Gratuitous ARP không thể nhắc dịch hoặc thực hiện ARP request từ một IP sang MAC.
Reverse ARP (RARP)
Máy chủ của bạn sẽ không biết địa chỉ IP của chính bản thân chúng nhưng chúng có thể sử dụng Reverse Address Resolution Protocol (RARP) để tự khám phá địa chỉ của mình.
Inverse ARP(IARP)
ARP sử dụng địa chỉ IP để tìm địa chỉ MAC. Trong khi đó, Inverse ARP sử dụng địa chỉ MAC để tìm địa chỉ IP.
TÌm hiểu về cách ARP hoạt động
Cách hoạt động của ARP
Tất cả hệ điều hành trong mạng IPv4 đều giữ một bộ nhớ cache ARP. Khi máy chủ yêu cầu địa chỉ MAC để gửi một gói đến máy chủ khác trong mạng LAN, ARP sẽ kiểm tra cache ARP để kiểm tra xem bản dịch địa chỉ MAC đã có hay chưa.
Để hiểu cách ARP hoạt động, chúng ta sẽ cùng nhau quan sát ví dụ dưới đây nhé! Trước tiên, bạn nhìn vào ảnh sau và tưởng tượng đây là hoạt động trong 3 mạng với nhau.
- Host P phân giải địa chỉ giao thức cho Host U để các thông điệp từ App P gửi đến U.
- P không phân giải địa chỉ giao thức cho Host U
- Bằng cách sử dụng lớp Internet (internet layer), Host P phân phối đến Host U bằng cách định tuyến qua T1 và T2.
- Máy chủ P phân giải địa chỉ phần cứng T1.
- Lớp mạng (Network layer) trên Host P chuyển gói chứa địa chỉ giao thức đích cho Host U để gửi đến T1.
- T1 chuyển gói đến T2, lần lượt chuyển tiếp gói đến Host U.
Tóm gọn: toàn bộ quá trình này là dùng để tìm ra địa chỉ phần cứng của một thiết bị từ một địa chỉ IP nguồn. Quá trình này sẽ có 2 chiều request/response giữa các thiết bị.
Những thành phần quan trọng trong ARP
ARP có 4 thành phần chính bao gồm:
- ARP Cache: sau khi phân giải địa chỉ MAC, ARP sẽ gửi đến bộ lưu trữ một bản để tham khảo trong tương lai. Các giao tiếp kế tiếp sẽ có thể dùng địa chỉ MAC từ bản.
- ARP Cache Timeout: đó là thời gian mà địa chỉ MAC trong bộ nhớ cache ARP có thể lưu trữ.
- ARP request: có nhiệm vụ truyền một gói tin qua mạng để xác nhận xem chúng có gặp đúng địa chỉ MAC đích hay không.
- ARP response/reply: phản hồi địa chỉ MAC từ đích hỗ trợ truyền dữ liệu xa hơn.
Mối quan hệ của ARP với DHCP và DNS
ARP là một quá trình kết nối địa chỉ IP động với địa chỉ MAC tĩnh của thiết bị vật lý. Do đó, điều này sẽ liên quan đến một vài công nghệ mạng khác và liên quan đến IP như:
- Địa chỉ IP thay đổi liên tục để đảm bảo sự bảo mật và riêng tư cho người dùng. IP không nên thay đổi ngẫu nhiên mà cần theo một quy tắc để ngăn chặn 2 máy nhận cùng 2 địa chỉ IP. Các quy tắc này được gọi là DHCP – Dynamic Host Configuration Protocol hay Giao thức cấu hình máy chủ động.
- Người dùng sẽ tìm kiếm nội dung, tài nguyên qua mạng Internet bằng các ký tự, còn máy tính lại sử dụng địa chỉ IP khó nhớ để kết nối với tên miền hay máy chủ. Để kết nối cả 2 lại với nhau, hệ thống phân giải tên miền DNS – Domain Name System ra đời để dịch tên miền thành địa chỉ IP và ngược lại.
Vậy là chúng ta đã tìm hiểu về ARP là gì cũng như cách ARP hoạt động ra sao, có những loại giao thức ARP nào rồi đấy! Tino Group hi vọng rằng những kiến thức này có thể giúp bạn trong việc học tập và làm việc nhé! Nếu có bất kỳ sai sót nào trong bài viết, bạn có thể phản hồi lại với chúng tôi để Tino Group cập nhật lại nội dung đấy! Chúc bạn luôn thành công nhé!
Bài viết có tham khảo nội dung từ: guru99, javatpoint, fortinet, geeksforgeeks,…
Những câu hỏi thường gặp về ARP
Chuyện gì xảy ra khi thực hiện ARP request cho máy chủ không tồn tại?
Nếu bạn gửi ARP request cho một máy chủ không tồn tại, khoảng thời gian giữa các yêu cầu sẽ dần tăng lên và cuối cùng ARP sẽ bỏ cuộc.
Nếu máy chủ gửi ARP request cho địa chỉ IP của mình, chuyện gì sẽ xảy ra?
Đây là một câu hỏi khá thú vị và nhiều bạn muốn thử nhưng không biết hệ quả ra sao nên không thực hiện. Tino Group giải thích nhé:
Những máy khác phản hồi (gratuitous ARP – ARP vô cớ) như một yêu cầu ARP bình thường. Việc này hỗ trợ phát hiện một IP đã được chỉ định và không có ảnh hưởng gì cả.
Các thành phần của ARP header là gì?
Có 8 thành phần quan trọng trong 1 ARP header bao gồm:
- Hardware Type
- Protocol Type
- Hardware Address Length
- Protocol Address Length
- Senders Hardware Address
- Senders Protocol Address
- Target Hardware Address
- Target Protocol Address
Những giao thức ARP nào quan trọng nhất?
Danh sách những giao thức ARP quan trọng nhất bao gồm 4 giao thức:
- Proxy ARP
- Gratuitous ARP
- Reverse ARP
- Inverse ARP