DHCP

Lịch sử phát triển DHCP

DHCP đầu tiên được định nghĩa trong RFC 1531 vào tháng 10/1993, là phần mở rộng của Bootstrap Protocol(BOOTP). Động cơ để cải tiến BOOTP là BOOTP đòi hỏi phải cấu hình thủ công để thêm thông tin cho từng máy client, và không cung cấp cơ chế tái sử dụng lại địa chỉ IP.
Năm 1997, RFC 2131 ra đời,vẫn còn chuẩn IPv4 cho đến năm 2011. DHCPv6 được định nghĩa trong RFC 3315 RFC 3633 được thêm vào DHCPv6 cơ chế prefix delegation.
Giao thức BOOTP lần đầu tiên được định nghĩa trong RFC 951 thay thế cho RARP (Reverse Address Resolution Protocol), mà động cơ thiết yếu để thay thế RARP bằng BOOTP là RARP hoạt động ở tầng data link, điều này làm cho việc thực hiện trên nhiều máy server trở nên khó khăn, và đòi hỏi một server xử lý trên riêng trên từng network. BOOTP có đổi mới relay agent, cho phép forwarding đến gói BOOTP trong mạng cục bộ, vì vậy BOOTP server có thể phục vụ cho nhiều IP subnet.

Cách hoạt động của DHCP

DHCP tự động quản lý các địa chỉ IP và loại bỏ được các lỗi có thể làm mất liên lạc. Nó tự động gán lại các địa chỉ chưa được sử dụng. DHCP cho thuê địa chỉ trong một khoảng thời gian, có nghĩa là những địa chỉ này sẽ còn dùng được cho các hệ thống khác. Bạn hiếm khi bị hết địa chỉ. DHCP tự động gán địa chỉ IP thích hợp với mạng con chứa máy trạm này. Cũng vậy, DHCP tự động gán địa chỉ cho người dùng di động tại mạng con họ kết nối.
Trình tự thuê Địa chỉ IP DHCP là một giao thức Internet có nguồn gốc ở BOOTP (bootstrap protocol), được dùng để cấu hình các trạm không đĩa. DHCP khai thác ưu điểm của giao thức truyền tin và các kỹ thuật khai báo cấu hình được định nghĩa trong BOOTP, trong đó có khả năng gán địa chỉ. Sự tương tự này cũng cho phép các bộ định tuyến hiện nay chuyển tiếp các thông điệp BOOTP giữa các mạng con cũng có thể chuyển tiếp các thông điệp DHCP. Vì thế, máy chủ DHCP có thể đánh địa chỉ IP cho nhiều mạng con.
Quá trình đạt được địa chỉ IP được mô tả dưới đây:
Bước 1: Máy trạm khởi động với "địa chỉ IP rỗng" cho phép liên lạc với máy chủ DHCP bằng giao thức UDP. Nó chuẩn bị một thông điệp (DHCP Discover) chứa địa chỉ MAC (ví dụ địa chỉ của card Ethernet) và tên máy tính. Thông điệp này có thể chứa địa chỉ IP trước đây đã thuê. Máy trạm phát tán liên tục thông điệp này lên mạng cho đến khi nhận được phản hồi từ máy chủ.
Bước 2: Mọi máy chủ DHCP có thể nhận thông điệp và chuẩn bị địa chỉ IP cho máy trạm. Nếu máy chủ có cấu hình hợp lệ cho máy trạm, nó chuẩn bị thông điệp đề nghị (DHCP Offer) chứa địa chỉ MAC của khách, địa chỉ IP đề nghị, mặt nạ mạng con (subnet mask), địa chỉ IP của máy chủ và thời gian cho thuê. Địa chỉ đề nghị được đánh dấu là "reserve" (để dành). Máy chủ DHCP phát tán thông điệp đề nghị này lên mạng.
Bước 3: Khi khách nhận thông điệp đề nghị và chấp nhận một trong các địa chỉ IP, máy trạm phát tán thông điệp này để khẳng định nó đã chấp nhận địa chỉ IP và từ máy chủ DHCP nào.
Bước 4: Cuối cùng, máy chủ DHCP khẳng định toàn bộ sự việc với máy trạm. Để ý rằng lúc đầu máy trạm phát tán yêu cầu về địa chỉ IP lên mạng, nghĩa là mọi máy chủ DHCP đều có thể nhận thông điệp nầy. Do đó, có thể có nhiều hơn một máy chủ DHCP tìm cách cho thuê địa chỉ IP bằng cách gửi thông điệp đề nghị. Máy trạm chỉ chấp nhận một thông điệp đề nghị, sau đó phát tán thông điệp khẳng định lên mạng. Vì thông điệp nầy được phát tán, tất cả máy chủ DHCP có thể nhận được nó. Thông điệp chứa địa chỉ IP của máy chủ DHCP vừa cho thuê, vì thế các máy chủ DHCP khác rút lại thông điệp chào hàng của mình và hoàn trả địa chỉ IP vào vùng địa chỉ, để dành cho khách hàng khác.