Bộ giao thức Internet |
---|
Tầng ứng dụng (Application layer) |
|
Tầng giao vận (Transport layer) |
|
Tầng mạng (Internet layer) |
|
Tầng liên kết (Link layer) |
|
Giao thức Cấu hình Máy chủ Động (DHCP) là một giao thức cho phép cấp phát địa chỉ IP và các cấu hình mạng khác như subnet mask và gateway mặc định một cách tự động. Điều này giúp máy tính được cấu hình tự động, giảm thiểu sự can thiệp vào hệ thống mạng. DHCP cung cấp một cơ sở dữ liệu trung tâm để theo dõi tất cả các thiết bị trong mạng, với mục tiêu chính là tránh xung đột địa chỉ IP giữa các máy tính.
Nếu không có DHCP, các máy tính cần cấu hình IP thủ công (IP tĩnh). Ngoài việc cấp phát địa chỉ IP, DHCP còn cung cấp thông tin cấu hình khác, chẳng hạn như DNS. Hiện tại, DHCP có hai phiên bản: cho IPv4 và IPv6.
Lịch sử phát triển của DHCP
DHCP được định nghĩa lần đầu trong RFC 1531 vào tháng 10 năm 1993, như một phần mở rộng của Bootstrap Protocol (BOOTP). Lý do cải tiến BOOTP là vì BOOTP yêu cầu cấu hình thủ công cho mỗi máy client và không có cơ chế tái sử dụng địa chỉ IP. Vào năm 1997, RFC 2131 được phát hành, vẫn là chuẩn cho IPv4 đến năm 2011. DHCPv6 được định nghĩa trong RFC 3315, với RFC 3633 bổ sung cơ chế phân phối prefix cho DHCPv6.
Giao thức BOOTP được định nghĩa lần đầu trong RFC 951, thay thế cho RARP (Reverse Address Resolution Protocol). Sự thay thế này là do RARP hoạt động ở tầng liên kết dữ liệu, khiến việc triển khai trên nhiều máy chủ gặp khó khăn và yêu cầu từng server phải xử lý riêng biệt trên từng mạng. BOOTP cải tiến bằng cách sử dụng relay agent, cho phép chuyển tiếp gói BOOTP trong mạng cục bộ, nhờ đó BOOTP server có thể phục vụ nhiều subnet IP.
Nguyên lý hoạt động của DHCP
DHCP tự động quản lý địa chỉ IP và giảm thiểu nguy cơ mất kết nối. Nó tự động cấp lại các địa chỉ IP chưa sử dụng và cho thuê địa chỉ trong một khoảng thời gian, nghĩa là địa chỉ này có thể được sử dụng cho các hệ thống khác sau khi hết thời gian thuê. Bạn hiếm khi gặp phải tình trạng thiếu địa chỉ. DHCP tự động gán địa chỉ IP phù hợp với mạng con của máy trạm và cũng hỗ trợ gán địa chỉ cho các thiết bị di động kết nối vào mạng con của chúng.
Quá trình thuê địa chỉ IP của DHCP là một giao thức Internet có nguồn gốc từ BOOTP (giao thức khởi tạo), được sử dụng để cấu hình các máy trạm không có ổ đĩa. DHCP tận dụng những ưu điểm của giao thức truyền tin và kỹ thuật cấu hình từ BOOTP, bao gồm khả năng cấp phát địa chỉ IP. Sự tương đồng này cho phép các bộ định tuyến hiện nay có thể chuyển tiếp thông điệp BOOTP và DHCP giữa các mạng con, giúp máy chủ DHCP cấp phát địa chỉ IP cho nhiều mạng con.
Quá trình để nhận địa chỉ IP được mô tả dưới đây:
Bước 1: Máy trạm khởi động với 'địa chỉ IP trống' và gửi thông điệp tới máy chủ DHCP qua giao thức UDP. Thông điệp này (DHCP Discover) bao gồm địa chỉ MAC (như của card Ethernet) và tên máy tính. Thông điệp có thể chứa địa chỉ IP đã thuê trước đó. Máy trạm tiếp tục gửi thông điệp này trên mạng cho đến khi nhận được phản hồi từ máy chủ.
Bước 2: Tất cả các máy chủ DHCP nhận thông điệp và chuẩn bị địa chỉ IP cho máy trạm. Nếu cấu hình của máy chủ hợp lệ, nó sẽ gửi thông điệp đề nghị (DHCP Offer) với địa chỉ MAC của máy khách, địa chỉ IP đề xuất, mặt nạ mạng con, địa chỉ IP của máy chủ và thời gian cho thuê. Địa chỉ IP được đề xuất sẽ được đánh dấu là 'reserved' (được dự trữ). Máy chủ DHCP phát tán thông điệp này lên mạng.
Bước 3: Khi máy khách nhận được thông điệp đề nghị và chấp nhận một trong các địa chỉ IP, nó sẽ gửi thông điệp xác nhận để thông báo rằng địa chỉ IP đã được chấp nhận và thông tin về máy chủ DHCP.
Bước 4: Máy chủ DHCP xác nhận toàn bộ quá trình với máy trạm. Do máy trạm phát tán yêu cầu địa chỉ IP lên mạng, mọi máy chủ DHCP đều có thể nhận thông điệp này. Do đó, có thể có nhiều máy chủ DHCP gửi thông điệp đề nghị. Máy trạm chỉ chọn một thông điệp đề nghị và gửi thông điệp xác nhận lên mạng. Vì thông điệp xác nhận được phát tán, tất cả máy chủ DHCP nhận được nó và máy chủ vừa cấp địa chỉ IP sẽ thông báo để các máy chủ khác rút lại đề nghị của mình và hoàn trả địa chỉ IP vào vùng dự trữ.
Các thuật ngữ liên quan
- Khách DHCP - Máy trạm DHCP: là thiết bị kết nối vào mạng và sử dụng giao thức DHCP để nhận thông tin cấu hình như địa chỉ IP và địa chỉ máy chủ DNS.
- Máy chủ DHCP - DHCP server: là thiết bị kết nối vào mạng có nhiệm vụ cung cấp thông tin cấu hình cho các máy trạm DHCP khi có yêu cầu.
- Thiết bị chuyển tiếp BOOTP - BOOTP relay agents: là máy trạm hoặc router có khả năng chuyển tiếp thông điệp DHCP giữa máy chủ DHCP và máy trạm DHCP.
- Kết nối - Binding: là tập hợp các thông tin cấu hình, bao gồm ít nhất một địa chỉ IP, được sử dụng bởi một máy trạm DHCP và được quản lý bởi máy chủ DHCP.
- DHCPv6