Trong bài viết này, chúng ta sẽ đi tìm hiểu chi tiết về giao thức Dynamic Host Configuration Protocol hay còn được viết tắt là DHCP. Giao thức này được nâng cấp từ giao thức cũ hơn có tên là BOOTP. Nó được sử dụng để tự động cấu hình thiết bị trong mạng IP để chúng có thể sử dụng dịch vụ mạng như DNS, NTP hay các giao thức truyền thông dựa vào UDP hoặc TCP. Trong bài, ta sẽ cùng đi vào tìm hiễu rõ những khái niệm sau:
- Máy chủ DHCP (DHCP Server).
- Máy khách DHCP (DHCP Clients).
- Đại lý chuyển tiếp HDCP (DHCP Relay Agents)
- Mối quan hệ giữa nhóm địa chỉ IP và DHCP.
- Vai trò của Subnet Mask với DHCP.
- Thời gian thuê (Lease time) với HDCP.
- Ưu điểm của HDCP.
- Nhược điểm của HDCP.
Giao thức DHCP là gì?
Giao thức DHCP (Dynamic Host Configuration Protocol) là một giao thức mạng được sử dụng để tự động cấu hình địa chỉ IP và các thông số mạng khác cho các thiết bị trong mạng. DHCP giúp đơn giản hóa quá trình quản lý mạng bằng cách cung cấp các địa chỉ IP động cho các thiết bị khi chúng tham gia vào mạng, thay vì yêu cầu quản trị viên phải cấu hình thủ công từng thiết bị.
Quy trình hoạt động của DHCP như sau:
- Khi một thiết bị mới tham gia vào mạng hoặc khi cần đổi địa chỉ IP, nó gửi một yêu cầu DHCP Broadcast (DHCP DISCOVER) đến mạng.
- Các máy chủ DHCP trong mạng nhận được yêu cầu và cung cấp địa chỉ IP và thông tin cấu hình khác cho thiết bị qua một DHCP Offer.
- Thiết bị chấp nhận một trong các đề xuất và gửi yêu cầu chính thức (DHCP REQUEST) đến máy chủ DHCP đã chọn.
- Máy chủ DHCP xác nhận yêu cầu và gửi một gói tin DHCP Acknowledgment (DHCP ACK) chứa địa chỉ IP và thông tin cấu hình khác đến thiết bị.
- Thiết bị nhận được gói tin DHCP ACK và sử dụng địa chỉ IP cấp phát.
- DHCP giúp tối ưu hóa quản lý địa chỉ IP trong mạng, giảm thiểu sai sót cấu hình và cung cấp khả năng mở rộng khi mạng mở rộng.
Tại sao cần sử dụng DHCP?
Muốn truy cập vào tài nguyên mạng, các thiết bị như máy tính của bạn cần một địa chỉ IP. Địa chỉ này phải là địa chỉ IP công cộng (Public IP) và là duy nhất trên Internet. Khi sử dụng Internet, ta cần đăng ký dịch vụ từ các nhà cung cấp ISP. Họ sẽ có dữ liệu về địa chỉ IP có thể gán cho người dùng và sẽ gán địa chỉ IP Public cho Router hoặc thiết bị Home Gateway của bạn. Router sẽ sử dụng địa chỉ IP do ISP cấp phát để truy cập Internet.
Nhưng rõ ràng trong mạng, có rất nhiều thiết bị được kết nối Internet. Và về lý thuyết thì mỗi thiết bị đều sẽ cần một địa chỉ IP công cộng để truy cập. Tuy nhiên vì tiết kiệm tài nguyên địa chỉ IP nên các thiết bị trong cùng một mạng sẽ sử dụng chung 1 mạng. Và để có thể gửi thông tin chi tiết từ Internet tới các thiết bị, Router sẽ sử dụng địa chỉ IP riêng. Để truy cập Internet, các máy chủ web ko cần biết địa chỉ IP riêng của thiết bị. Nó chỉ cần địa chỉ IP Public. Router sẽ dựa vào địa chỉ IP riêng để chuyển tiếp thông tin từ máy chủ web tới thiết bị.
Đây cũng chính là lúc ta cần sử dụng đến DHCP. Các thiết bị riêng trong nhà như điện thoại di động, laptop liên tục thay đổi vị trí và kết nối mạng. Nếu cấu hình thủ công gán địa chỉ IP riêng mỗi khi cần kết nối để sử dụng. Do đó, ta cần sử dụng đến giao thức DHCP để thực hiện gán địa chỉ IP vào các nút mạng hoặc thiết bị mạng một cách tự động.
DHCP Server là gì?
DHCP Server là thành phần quan trọng nhất trong tự động cấu hình mạng. Nó có thể một thiết bị hoặc phần mềm chạy trên một máy tính trong mạng, có trách nhiệm cung cấp địa chỉ IP và các thông số cấu hình mạng khác cho các thiết bị trong mạng. Trong các mạng gia đình thì DHCP Server hoạt động trên Router.
Khi một thiết bị (như máy tính, điện thoại thông minh, hoặc thiết bị mạng khác) tham gia vào mạng hoặc cần một địa chỉ IP mới, nó gửi một yêu cầu đến DHCP server trong mạng. DHCP server sau đó phản hồi bằng cách cung cấp một địa chỉ IP cùng với các thông số cấu hình mạng như địa chỉ gateway, máy chủ DNS, và thời gian thuê địa chỉ IP.
Một số đặc điểm quan trọng của DHCP server bao gồm:
- Quản lý Pool địa chỉ IP: DHCP server duy trì một pool các địa chỉ IP có thể cấp phát cho các thiết bị trong mạng. Khi một thiết bị yêu cầu địa chỉ IP, DHCP server chọn một địa chỉ từ pool để cấp phát.
- Cấu hình Tự động: DHCP server tự động cấu hình các thông số mạng cần thiết cho thiết bị, giúp giảm công việc cấu hình thủ công và giảm sai sót.
- Thời gian Thuê địa chỉ IP: DHCP server cấp phát địa chỉ IP cho các thiết bị với một khoảng thời gian xác định, gọi là thời gian thuê. Khi thời gian thuê hết hạn, thiết bị phải làm mới địa chỉ IP hoặc yêu cầu một địa chỉ mới.
- Xử lý yêu cầu từ thiết bị mới: Khi một thiết bị mới gia nhập mạng hoặc yêu cầu địa chỉ IP mới, DHCP server phải xử lý yêu cầu này và cung cấp thông tin cấu hình tương ứng.
DHCP Clients là gì?
DHCP Clients (khách hàng DHCP) là các thiết bị trong mạng, như máy tính, điện thoại di động, máy in, hoặc các thiết bị mạng khác, cần địa chỉ IP và các thông số mạng khác để tham gia vào mạng và giao tiếp với các thiết bị khác. DHCP Clients gửi yêu cầu đến DHCP server để đạt được thông tin cấu hình mạng.
Khi một thiết bị muốn tham gia mạng hoặc cần một địa chỉ IP mới, nó thực hiện các bước sau đây:
- Yêu cầu DHCP DISCOVER: Thiết bị gửi một gói tin yêu cầu DHCP (DHCPDISCOVER) thông qua mạng. Gói tin này là broadcast, có nghĩa là nó được gửi đến tất cả các thiết bị trong mạng.
- Cung cấp DHCP OFFER: DHCP server nhận được yêu cầu và phản hồi bằng cách cung cấp một đề xuất địa chỉ IP và các thông số mạng khác thông qua một gói tin DHCPOFFER. Một mạng có thể có nhiều DHCP server, nhưng thiết bị chỉ chọn một trong số những đề xuất.
- Yêu cầu DHCP REQUEST: Thiết bị chọn một đề xuất từ DHCPOFFER và gửi một yêu cầu chính thức (DHCPREQUEST) đến DHCP server đã chọn.
- Xác nhận DHCP ACK: DHCP server xác nhận yêu cầu và gửi một gói tin DHCPACK chứa địa chỉ IP và thông tin cấu hình mạng khác cho thiết bị.
- Sử dụng địa chỉ IP: Thiết bị nhận được gói tin DHCPACK và sử dụng địa chỉ IP được cấp phát để tham gia vào mạng.
DHCP Relay Agent là gì?
DHCP Relay Agent là một thành phần quan trọng trong mạng có nhiều phân đoạn hoặc subnet nơi mà DHCP server không thể trực tiếp nhìn thấy yêu cầu DHCP của các thiết bị. Relay Agent giúp chuyển các gói DHCP giữa DHCP Clients và DHCP Servers qua các giới hạn subnet.
Khi một thiết bị trong mạng cần địa chỉ IP mới hoặc muốn làm mới địa chỉ IP hiện tại, nó sẽ gửi một yêu cầu DHCPDISCOVER thông qua mạng. Trong môi trường với nhiều subnet, DHCP Relay Agent đóng vai trò chuyển tiếp yêu cầu DHCP này từ subnet nơi thiết bị đang ở tới DHCP server nằm ở một subnet khác.
Mối quan hệ giữa DHCP và nhóm địa chỉ IP
Khi một DHCP server được triển khai trong mạng, nó sẽ quản lý một hoặc nhiều nhóm địa chỉ IP. Mỗi nhóm địa chỉ IP này được gọi là “pool” và bao gồm các địa chỉ IP có sẵn để cấp phát cho các thiết bị.
Khi một thiết bị cần địa chỉ IP, nó gửi một yêu cầu DHCP và DHCP server chọn một địa chỉ IP từ pool của mình để cấp phát cho thiết bị đó.
Một nhóm địa chỉ IP bao gồm một loạt các địa chỉ IP có thể được cấp phát cho các thiết bị trong mạng. Ví dụ, dãy địa chỉ IP 192.168.1.1 đến 192.168.1.254 có thể được coi là một nhóm địa chỉ IP.
Vai trò của Subnet Mask với DHCP
Subnet Mask được sử dụng để xác định các phân đoạn (subnets) trong mạng. Nó là một phần của địa chỉ IP và quyết định phần của địa chỉ IP được sử dụng cho mạng và phần được sử dụng cho thiết bị trong mạng đó. Subnet Mask giúp phân loại địa chỉ IP thành hai phần: phần mạng và phần thiết bị. Điều này giúp quản trị mạng hiểu được cấu trúc mạng và quản lý địa chỉ IP hiệu quả.
Khi triển khai DHCP, việc sử dụng Subnet Mask trong cấu hình DHCP pool là quan trọng. Mỗi pool của DHCP được liên kết với một nhóm địa chỉ IP trong một subnet cụ thể. DHCP sử dụng Subnet Mask để xác định phạm vi (range) của các địa chỉ IP mà nó có thể cấp phát cho các thiết bị trong mạng.
Subnet Mask đóng vai trò trong quyết định xem một địa chỉ IP cụ thể thuộc về mạng nào. Khi một thiết bị tham gia mạng và gửi yêu cầu DHCP, DHCP server sử dụng Subnet Mask để xác định pool nào sẽ cung cấp địa chỉ IP cho thiết bị đó.
Lease Time với DHCP
Lease time là khoảng thời gian mà một địa chỉ IP được cấp phát bởi DHCP server được coi là hiệu lực. Khi một thiết bị kết nối vào mạng và yêu cầu một địa chỉ IP từ DHCP server, DHCP server cung cấp một địa chỉ IP và thiết lập một khoảng thời gian cho việc sử dụng địa chỉ IP đó. Khoảng thời gian này được gọi là “Lease time.”
Đặc điểm:
- Lease time được đo trong đơn vị giờ hoặc ngày.
- Trong thời gian này, thiết bị được phép sử dụng địa chỉ IP được cấp phát.
- Khi Lease time hết hạn, thiết bị phải làm mới địa chỉ IP (thường là gửi một yêu cầu DHCP để gia hạn thời gian thuê) hoặc yêu cầu một địa chỉ IP mới.
Tác dụng:
- Giúp quản lý động địa chỉ IP trong mạng.
- Giảm thiểu lãng phí địa chỉ IP bằng cách giảm thời gian mà một địa chỉ IP không được sử dụng khi thiết bị không kết nối vào mạng nữa.
- Cho phép quản trị viên mạng kiểm soát và xác định tần suất làm mới địa chỉ IP.
Địa chỉ Gateway và DHCP
Địa chỉ Gateway là địa chỉ IP của thiết bị mạng, thường là router, mà các thiết bị trong mạng sử dụng để kết nối với các mạng khác hoặc internet. Khi một thiết bị cần kết nối với một mạng không nằm trong phạm vi của mạng nội bộ, nó sử dụng địa chỉ Gateway để chuyển gói tin ra khỏi mạng nội bộ và đến địa chỉ đích.
Khi một thiết bị tham gia vào mạng hoặc cần một địa chỉ IP mới, nó gửi một yêu cầu DHCP. DHCP server phản hồi bằng cách cung cấp các thông tin cấu hình, bao gồm địa chỉ IP và địa chỉ Gateway.
Ưu điểm và hạn chế của DHCP
Giao thức DHCP mang lại nhiều ưu điểm trong quản lý mạng. Đầu tiên, DHCP tự động hóa quá trình cấu hình mạng, giảm bớt công việc cấu hình thủ công và đảm bảo tính nhất quán của cấu hình trong mạng. Điều này giúp tiết kiệm thời gian và công sức của cả người quản trị mạng và người dùng cuối.
Một lợi ích khác của DHCP là khả năng quản lý linh hoạt và dễ dàng mở rộng mạng. Quản trị viên có thể dễ dàng thay đổi cấu hình mạng mà không gặp khó khăn, và quá trình cấu hình tự động giúp giảm xung đột địa chỉ IP bằng cách tự động quản lý việc cấp phát địa chỉ IP duy nhất cho từng thiết bị.
Tuy nhiên, DHCP cũng đi kèm với một số nhược điểm. Việc phụ thuộc vào máy chủ DHCP là một trong những hạn chế chính, vì khi máy chủ gặp sự cố, quá trình cấu hình mới không thể tiếp tục. Hơn nữa, khả năng tấn công qua broadcast có thể là một vấn đề bảo mật, và quyết định tự động về cấu hình có thể dẫn đến những cấu hình không mong muốn.
Mong rằng đây sẽ là bài viết đầy đủ nhất để bạn tìm hiểu về DHCP. Nếu còn bất kỳ câu hỏi nào khác, hãy để lại dưới phần bình luận để mình hỗ trợ giải đáp!
Thông Tin Về Tác Giả
Nguyễn Thành Hợp là một chuyên gia về lĩnh vực thiết bị mạng, viễn thông gần 10 năm kinh nghiệm với nhiều chứng chỉ chất lượng như CCNA 200-301, CCNP, CCDA, CCDP,... do Cisco cung cấp. Sở thích cá nhân là khám phá những kiến thức mới mẻ về công nghệ nói chung và đặc biệt là liên quan đến lĩnh vực mạng!