You are on page 1of 5

Giao thức phân giải địa chỉ ARP

I. Khái niệm
- ARP (viết tắt của cụm từ Address Resolution Protocol) là giao thức mạng được dùng
để tìm ra địa chỉ phần cứng – hay địa chỉ vật lý (địa chỉ MAC) của thiết bị từ một địa
chỉ IP nguồn.
- Nó được sử dụng khi một thiết bị giao tiếp với các thiết bị khác dựa trên nền tảng local
network. Ví dụ như trên mạng Ethernet mà hệ thống yêu cầu địa chỉ vật lý trước khi
thực hiện gửi packets (gói tin).

Hình 1: hình thành chuyển đổi của địa chỉ IP khi thông qua giao thức ARP
II. Lịch sử hình thành và mục đích của ARP.
- ARP được phát triển vào đầu những năm 1980 như là một giao thức dịch địa chỉ có
mục đích chung cho các mạng IP. Bên cạnh Ethernet và Wi-Fi, ARP cũng đã được
triển khai cho ATM , Token Ring và các loại mạng vật lý khác.
- ARP cho phép một mạng quản lý các kết nối độc lập với những thiết bị vật lý cụ thể
được gắn vào từng mạng. Điều này cho phép giao thức Internet vận hành hiệu quả hơn
so với việc nó phải tự quản lý địa chỉ của các thiết bị phần cứng và mạng vật lý.
III. Lý do phải sử dụng ARP.
- Truyền tin trên tầng mạng dùng địa chỉ IP
- Truyền tin trên tầng liên kết dữ liệu dùng địa chỉ MAC .
- Khi gửi: dữ liệu chuyển từ tầng mạng xuống tầng liên kết dữ liệu.
 Dữ liệu gửi trong mạng LAN: Máy nguồn cần phải biết địa chỉ MAC của máy
đích.
 Dữ liệu gửi ra ngoài mạng LAN: Máy nguồn phải biết địa chỉ MAC của bộ định
tuyến mặc định.
IV. Vị trí của giao thức phân giải địa chỉ ARP trong mô hình OSI và chức năng
1. Vị trí :
- ARP hoạt động giữa Lớp 2 (Data-link layer) và Lớp 3(Network layer) của mô hình
OSI . 
- Địa chỉ MAC tồn tại trên Lớp 2 của mô hình OSI, lớp liên kết dữ liệu . Địa chỉ IP tồn
tại trên Lớp 3, lớp mạng .
2. Chức năng :
- Tìm địa chỉ MAC (định dạng tầng liên kết dữ liệu) của 1 nút mạng khi đã biết địa IP
của nó.
- Phục vụ cho mục đích truyền thông giữa các máy trong mạng cục bộ bởi tầng Datalink
V. Phương thức hoạt động của ARP trong môi trường mạng Wi-Fi và Ethernet

Hình 2: quá tình hoạt động của giao thức ARP

- Bước 1: Thiết bị A sẽ kiểm tra cache của mình (giống như quyển sổ danh bạ nơi lưu
trữ tham chiếu giữa địa chỉ IP và địa chỉ MAC). Nếu đã có địa chỉ MAC của IP
192.168.1.120 thì lập tức chuyển sang bước 9.
- Bước 2: Bắt đầu khởi tạo gói tin ARP Request. Nó sẽ gửi một gói tin broadcast đến
toàn bộ các máy khác trong mạng với địa chỉ MAC và IP máy gửi là địa chỉ của chính
nó, địa chỉ IP máy nhận là 192.168.1.120, và địa chỉ MAC máy nhận là ff:ff:ff:ff:ff:ff.
- Bước 3: Thiết bị A phân phát gói tin ARP Request trên toàn mạng. Khi switch nhận
được gói tin broadcast nó sẽ chuyển gói tin này tới tất cả các máy trong mạng LAN
đó.
- Bước 4: Các thiết bị trong mạng đều nhận được gói tin ARP Request. Máy tính kiểm
tra trường địa chỉ Target Protocol Address. Nếu trùng với địa chỉ của mình thì tiếp tục
xử lý, nếu không thì hủy gói tin.
- Bước 5: Thiết bị B có IP trùng với IP trong trường Target Protocol Address sẽ bắt đầu
quá trình khởi tạo gói tin ARP Reply bằng cách:
+ Lấy các trường Sender Hardware Address và Sender Protocol Address trong gói tin
ARP nhận được đưa vào làm Target trong gói tin gửi đi.
+ Đồng thời thiết bị sẽ lấy địa chỉ MAC của mình để đưa vào trường Sender Hardware
Address
- Bước 6: Thiết bị B đồng thời cập nhật bảng ánh xạ địa chỉ IP và MAC của thiết bị
nguồn vào bảng ARP cache của mình để giảm bớt thời gian xử lý cho các lần sau
(hoạt động cập nhật danh bạ).
- Bước 7: Thiết bị B bắt đầu gửi gói tin Reply đã được khởi tạo đến thiết bị A.
- Bước 8: Thiết bị A nhận được gói tin reply và xử lý bằng cách lưu trường Sender
Hardware Address trong gói reply vào địa chỉ phần cứng của thiết bị B.
- Bước 9: Thiết bị A update vào ARP cache của mình giá trị tương ứng giữa địa chỉ IP
(địa chỉ network) và địa chỉ MAC (địa chỉ datalink) của thiết bị B. Lần sau sẽ không
còn cần tới request.
 Như vậy máy A đã biết được địa chỉ MAC của máy B, tương tự như việc chúng ta đã
biết địa chỉ cụ thể của ai đó. Và khi A cần gửi một gói tin cho B thì sẽ điền địa chỉ này
vào trường Target Hardware Address. Gói tin sẽ được gửi thằng đến B mà không cần
gửi đến các máy khác trong mạng LAN nữa.
 Nhìn chung cách hoạt động của ARP khá đơn giản, hệ thống sẽ gửi 1 tập tin chứa địa
chỉ IP để tìm địa chỉ MAC của nó qua gói ARP Request để hỏi, Một bảng được gọi là
ARP cache duy trì một bản ghi của từng địa chỉ IP và địa chỉ MAC tương ứng của nó.
Khi nhận được gói ARP Request, nó sẽ kiểm tra bộ nhớ cache ARP của nó để xem có
địa chỉ cần tìm không,nếu không có thì gửi gói ARP Reply để thông báo địa chỉ MAC
của IP đó.
VI. Cấu trúc gói tin ARP và phân loại các gói bản tin ARP
- Có 4 loại địa chỉ nằm trong 1 bản tin ARP :

 Hardware Type:
o xác định kiểu bộ giao tiếp phầ n cứ ng máy gử i cầ n biết
o vớ i giá trị 1 cho Ethernet
 Protocol Type:
o Xác định kiểu giao thứ c địa chỉ cấ p cao máy gử i cung cấ p
o Có giá trị 0x0008 cho giao thứ c IP
 HLEN: độ dài địa chỉ vậ t lý (bit), giá trị 0x06
 PLEN: độ dài địa chỉ logic (bit), giá trị 0x04
o 1: là mộ t ARP request.
o 2: là mộ t ARP reply.
o 3: là mộ t RARP request.
o 4: là mộ t RARP reply.
 Sender HA (sender hardware address): địa chỉ MAC củ a máy gử i
 Sender Protocol Address: địa chỉ IP máy gử i
 Target HA (target hardware address): địa chỉ MAC củ a máy nhậ n
 Target Protocol Address: địa chỉ IP máy nhậ n
Hình 3: Cấu trúc 1 bản tin ARP Request phát đi

- Phân loại gói tin :

 Request: Khi hệ thống khởi tạo quá trình, gói tin được gửi từ máy nguồn tới thiết
bị đích
 Reply: Khi quá trình đáp trả gói tin ARP request, được gửi từ thiết bị đích đến máy
nguồn
 ARP probe: Đây là loại bản tin ARP dùng để máy thăm dò xem địa chỉ mà máy
được cấp phát (cấu hình manual hoặc DHCP, …) có bị trùng với địa chỉ IP của
máy nào trong cùng mạng hay không. Khi mới ban đầu, các máy đều thực hiện
broadcast bản tin ARP này.

 ARP announcements: ARP cũng sử dụng một cách đơn giản để thông báo tới các
máy trong mạng khi địa chỉ IP hoặc địa chỉ MAC của nó thay đổi. Đó chính là bản
tin gratuitous ARP
 Proxy ARP
 Gratuitous ARP
 Reverse ARP
 Inverse ARP

VII. 4 Các trường hợp sử dụng ARP


Hình 4: 4 trường hợp sử dụng giao thức ARP

1. Trường hợp 1 ( máy chủ có 1 bản tin gửi đến 1 máy chủ khác trên cùng một mạng)
2. Trường hợp 2 ( máy chủ muốn gửi 1 bản tin đến 1 máy chủ khác không cùng một
mạng)
- Trường hợp này máy chủ phải gửi bản tin đến bộ định tuyến.
3. Trường hợp 3 ( bộ định tuyến muốn gửi bản tin đến một bộ định tuyến khác không
cùng một mạng)
- Trường hợp này bộ định tuyến phải gửi bản tin đến bộ định tuyến thích hợp.
4. Trường hợp 4 ( bộ định tuyến muốn gửi bản tin đến máy chủ trên cùng một mạng)

You might also like