Tìm hiểu DHCP – Dynamic Host Configuration Protocol Phần 1
Tiếp theo loạt bài tìm hiểu về DNS, sangnt có viết về DHCP nhưng quên post lên đây cho mọi người xem.

Hôm nay vào diễn đàn, có đọc bài DHCP của Admin Lương Khiêm, mình xin bổ xung thêm bài viết này của mình để mọi người tham khảo. Hy vọng bài viết có ích cho tất cả mọi người. Bài viết được tổng hợp, chọn lọc và dịch từ nhiều nguồn tài liệu khác nhau.

1. Giới thiệu dịch vụ DHCP – Dynamic Host Configuration Protocol

Thông thường trong một mô hình mạng, người quản trị có thể cấu hình IP cho các máy client theo 2 cách là cấu hình thủ công (static) và sử dụng dịch vụ DHCP để cấp phát IP động (dynamic).

Static : người quản trị phải khai báo địa chỉ IP dạng tĩnh này trên từng máy client theo cách thủ công. Chỉ nên dùng cách này để cấp phát địa chỉ IP cho các client khi :

- Một máy chủ hoặc một máy trạm (client) đang chạy một ứng dụng đòi hỏi phải có IP tĩnh.

- Trong mạng không có DHCP Server.

- Quy mô mạng nhỏ (dưới 20 máy).

Dùng cách này thì người quản trị không cần cấu hình thêm DHCP, giảm bớt một phần việc cho người quản trị. Nhưng việc làm này chỉ phù hợp đối với hệ thống mạng có quy mô nhỏ (<20 máy). Nếu một mạng lớn thì việc cấp phát trùng địa chỉ IP là việc hoàn toàn có khả năng xảy ra, dẫn đến máy trạm trên mạng có địa chỉ IP trùng lặp (duplicate IP) này sẽ không truy cập được vào mạng, và việc cấp phát IP như vậy trong một mạng lớn là việc không khả thi.

Dynamic : một địa chỉ IP động là một địa chỉ sẽ thay đổi trong khoản thời gian xác định. Người quản trị dùng dịch vụ DHCP để cấp phát địa chỉ IP động này cho các máy trạm trong mạng. Phù hợp với việc cấp phát địa chỉ cho một mạng lớn, và việc cấp phát IP động dạng này được quản lý tập trung thông qua DHCP Server.

Việc cấp phát IP động dạng này có ưu điểm hơn so với cơ chế khai báo tĩnh các thông số mạng như :

- Khắc phục được tình trạng đụng địa chỉ IP và giảm chi phí quản trị cho hệ thống mạng.

- Giúp cho các nhà cung cấp dịch vụ (ISP) tiết kiệm được số lượng địa chỉ IP thật (public IP).

- Phù hợp với các máy tính thường xuyên di chuyển qua lại giữa các mạng.

- Kết hợp với hệ thống mạng không dây (Wireless) cung cấp các điểm Hostpot như: nhà ga, sân bay, trường học,…

2. Cơ chế hoạt động của DHCP

Giao thức DHCP làm việc theo mô hình client/server. Theo đó, quá trình tương tác giữa DHCP client và server diễn ra theo 4 bước sau đây :

a. IP lease request
b. IP lease offer
c. IP lease selection
d. IP lease acknowledgement

Có thể tóm tắt các bước trên như sau :

IP Lease Request
Đầu tiên, client sẽ broadcast một message tên là DHCPDISCOVER, vì client lúc này chưa có địa chỉ IP cho nên nó sẽ dùng một địa chỉ source(nguồn) là 0.0.0.0 và cũng vì client không biết địa chỉ của DHCP server nên nó sẽ gửi đến một địa chỉ broadcast là 255.255.255.255. Lúc này gói tin DHCPDISCOVER này sẽ broadcast lên toàn mạng. Gói tin này cũng chứa một địa chỉ MAC (Media Access Control - là địa chỉ mà mỗi một network adapter (card mạng) sẽ được nhà sản xuất cấp cho và là mã số để phân biệt các card mạng với nhau) và đồng thời nó cũng chứa computer name của máy client để DHCP server có thể biết được client nào đã gởi yêu cầu đến.


IP Lease Offer

Nếu có một DHCP hợp lệ (nghĩa là nó có thể cấp địa chỉ IP cho một client) nhận được gói tin DHCPDISCOVER của client thì nó sẽ trả lời lại bằng một gói tin DHCPOFFER, gói tin này đi kèm theo những thông tin sau:

 

+ MAC address của client

 

+ Một IP address cấp cho (offer IP address)

 

+ Một subnet mask

 

+ Thời gian thuê (mặc định là 8 ngày)

 

+ Địa chỉ IP của DHCP cấp IP cho client này

 

Lúc này DHCP server sẽ được giữ lại một IP đã offer (cấp) cho client để nó không cấp cho DHCP client nào khác.

 

DHCP client chờ một vài giây cho một offer, nếu nó không nhận một offer nó sẽ rebroadcast (broadcast gói DHCPDISCOVER) trong khoảng thời gian là 2-, 4-, 8- và 16- giây, bao gồm một khoảng thời gian ngẫu nhiên từ 0 - 1000 mili giây.

 

Nếu DHCP client không nhận một offer sau 4 lần yêu cầu, nó sử dụng một địa chỉ IP trong khoảng 169.254.0.1 đến 169.254.255.254 với subnet mask là 255.255.0.0. Nó sẽ sử dụng trong một số trong khoảng IP đó và việc đó sẽ giúp các DHCP client trong một mạng không có DHCP server thấy nhau. DHCP client tiếp tục cố gắng tìm kiếm một DHCP server sau mỗi 5 phút.

 


IP Lease Selection

DHCP client đã nhận được gói tin DHCPOFFER thì nó sẽ phản hồi broadcast lại một gói DHCPREQUEST để chấp nhận cái offer đó. DHCPREQUEST bao gồm thông tin về DHCP server cấp địa chỉ cho nó. Sau đó, tấc cả DHCP server khác sẽ rút lại các offer (trường hợp này là trong mạng có nhiều hơn 1 DHCP server) và sẽ giữ lại IP address cho các yêu cầu xin IP address khác.

 


IP Lease Acknowledgement

DHCP server nhận được DHCPREQUEST sẽ gởi trả lại DHCP client một DHCPACK để cho biết là đã chấp nhận cho DHCP client đó thuê IP address đó. Gói tin này bao gồm địa chỉ IP và các thông tin cấu hình khác (DNS server, WINS server... ). Khi DHCP client nhận được DHCPACK thì cũng có nghĩa là kết thúc quá trình "tìm kiếm và xin sỏ" của mình.

 

(Tấc cả việc trao đổi thông tin giữa một DHCP server và DHCP client sẽ sử dụng UDP port là 67 và 68 (User Datagram Protocol). Một vài switch sẽ không cho phép các gói tin trao đổi theo kiểu broadcast đi qua, cho nên bạn cần phải config những switch này để được broadcast qua những port này)

 


3. Cơ chế tự động refresh lại thời gian đăng ký (lease time)

Bây giờ ta coi như là DHCP client đã đăng ký được một IP address rồi. Theo mặc định của DHCP server thì mỗi IP lease chỉ được có 8 ngày. Nếu theo như mặc định (8 ngày) thì một DHCP client sau một khoảng thời gian là 50% (tức là 4 ngày) nó sẽ tự động xin lại IP address với DHCP mà nó đã xin ban đầu. Nó DHCP client lúc này sẽ gởi một sẽ gởi một DHCPREQUEST trực tiếp (unicast) đến DHCP server mà nó đã xin ban đầu.

 

 

Nếu mà DHCP server đó "còn sống", nó sẽ trả lời bằng một gói DHCPACK để renew (cho thuê mới lại) tới DHCP client, gói này bao gồm thông các thông số cấu hình mới cập nhật nhất trên DHCP server. Nếu DHCP server "đã chết", thì DHCP client này sẽ tiếp tục sử dụng cấu hình hiện thời của nó.

 

 

Và nếu sau 87.5% (7 ngày) của thời gian thuê hiện thời của nó, nó sẽ broadcast một DHCPDISCOVER để update địa chỉ IP của nó. Vào lúc này, nó không kiếm tới DHCP server ban đầu cho nó thuê nữa mà nó là sẽ chấp nhận bất cứ một DHCP server nào khác.

 

Nếu thời gian đăng ký đã hết, thì client sẽ ngay lập tức dừng lại việc sử dụng IP address đã đăng ký đó. Và DHCP client sau đó sẽ bắt đầu tiến trình thuê một địa chỉ như ban đầu.

 

Chú ý: khi bạn khởi động (restart) lại DHCP client thì nó sẽ tự động renew lại IP address mà trước khi nó shut down.

 

 

Vậy nếu khi ta có một sự thay đổi về cấu hình trên DHCP server mà ta muốn nó có tác dụng đến các client ngay lập tức thì phải làm sao?, chẳng lẽ phải đợi nó hết 50% à? (như vậy thì hơi bị... mỏi cổ). Ta có thể renew một IP lease "bằng tay" đối với DHCP client như sau: vào run, đánh command --> đánh lệnh là ipconfig /renew. Khi đó nó sẽ gởi một DHCPREQUEST đến DHCP server để update thông tin về cấu hình, và thời gian đăng ký mới. Và ngược lại, nếu ta không muốn đăng ký cái IP address này nữa ta có thể đánh lệnh ipconfig /release. Lúc này, nó sẽ gởi đến DHCP server một DHCPRELEASE. Sau lệnh này, client sẽ không còn liên lạc với network bằng TCP/IP nữa.

 

 

(Nguồn : Thegioimang.org)

Bài vết cùng chủ đề