DHCP hay Giao thức cấu hình host động là gì?

DHCP (Dynamic Host Configuration Protocol hay Giao thức cấu hình host động) là một giao thức được sử dụng để cung cấp quản lý nhanh chóng, tự động và tập trung cho việc phân phối địa chỉ IP trong mạng. DHCP cũng được sử dụng để cấu hình đúng subnet mask, cổng mặc định và thông tin về DNS server trên thiết bị.

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

DHCP server được sử dụng để phát hành các địa chỉ IP duy nhất và tự động định cấu hình các thông tin mạng khác. Trong hầu hết các gia đình và các doanh nghiệp nhỏ, router hoạt động như DHCP server. Trong các mạng lớn, một máy tính duy nhất có thể hoạt động như một DHCP server.

Nói tóm lại, quá trình này diễn ra như sau: Một thiết bị (client) yêu cầu một địa chỉ IP từ một router (máy chủ), sau đó host sẽ gán một địa chỉ IP có sẵn để cho phép client giao tiếp với mạng.

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

Khi một thiết bị đã được bật và kết nối với mạng có DHCP server, nó sẽ gửi một yêu cầu đến máy chủ này, được gọi là yêu cầu DHCPDISCOVER. Sau khi gói tin DISCOVER đến DHCP server, máy chủ sẽ cố gắng giữ một địa chỉ IP mà thiết bị có thể sử dụng, và sau đó cung cấp cho client địa chỉ này với một gói DHCPOFFER. 

Sau khi cung cấp địa chỉ IP đã chọn, thiết bị đáp ứng với DHCP server bằng một gói tin DHCPREQUEST để chấp nhận nó, sau đó máy chủ gửi ACK được sử dụng để xác nhận thiết bị có địa chỉ IP cụ thể đó và để xác định khoảng thời gian mà thiết bị có thể sử dụng địa chỉ trước khi lấy địa chỉ mới. Nếu máy chủ quyết định rằng thiết bị không có địa chỉ IP, nó sẽ gửi một NACK. Tất nhiên điều này xảy ra rất nhanh và bạn không cần biết bất kỳ loại kỹ thuật nào được sử dụng để lấy địa chỉ IP từ DHCP server.

Các thành phần của DHCP

Khi làm việc với DHCP, bạn cần hiểu tất cả thành phần của nó. Dưới đây là danh sách các thành phần của DHCP.

  • DHCP server: Một thiết bị mạng chạy dịch vụ DHCP chứa địa chỉ IP và thông tin cấu hình liên quan. Đây thường là máy chủ hoặc router nhưng có thể là bất cứ thứ gì hoạt động như máy chủ chẳng hạn như thiết bị SD-WAN.
  • DHCP client: Thiết bị nhận thông tin cấu hình từ máy chủ DHCP. Đây có thể máy tính, thiết bị di động, thiết bị IoT (Internet of Things) hoặc bất cứ thiết bị gì khác yêu cầu kết nối mạng. Hầu hết các thiết bị này được cấu hình để nhận thông tin DHCP theo mặc định.
  • IP address pool: Dãy địa chỉ có sẵn cho client DHCP. Những địa chỉ này thường được truyền tuần tự từ thấp nhất đến cao nhất.
  • Subnet: Mạng IP có thể được phân thành các phân đoạn được gọi là subnet (mạng con). Mạng con giúp mạng được quản lý dễ dàng hơn.
  • Lease: Khoảng thời gian client DHCP giữ thông tin địa chỉ IP. Khi khoảng thời gian này hết hạn, client phải làm mới nó.
  • DHCP relay: Router hoặc máy chủ nghe tin nhắn được phát trên mạng đó và sau đó chuyển chúng đến một máy chủ được cấu hình. Máy chủ này sau đó phản hồi lại relay agent để truyền chúng đến client. Nó được sử dụng để tập trung máy chủ DHCP thay vì để máy chủ trên mỗi mạng con.

Ưu và nhược điểm khi sử dụng DHCP

Máy tính hoặc bất kỳ thiết bị nào khác kết nối với mạng (cục bộ hoặc Internet), phải được định cấu hình đúng cách để giao tiếp trên mạng đó. Vì DHCP cho phép tự động cấu hình, được sử dụng trong hầu hết mọi thiết bị kết nối với mạng bao gồm máy tính, thiết bị chuyển mạch, điện thoại thông minh, máy chơi game, v.v…

Do gán địa chỉ IP động nên rất ít khi xảy ra trường hợp hai thiết bị có cùng một địa chỉ IP, điều mà rất dễ xảy ra khi gán địa chỉ IP tĩnh thủ công.

Sử dụng DHCP cũng khiến việc quản lý mạng trở nên dễ dàng hơn. Từ quan điểm quản trị, mọi thiết bị trên mạng đều có thể nhận địa chỉ IP mà không cần cài đặt gì ngoài cài đặt mạng mặc định, được thiết lập để tự động lấy địa chỉ. Biện pháp khác thay thế duy nhất là gán địa chỉ theo cách thủ công cho mỗi thiết bị trên mạng.

Bởi vì các thiết bị này có thể tự động nhận địa chỉ IP, chúng có thể di chuyển tự do từ mạng này sang mạng khác (giả sử chúng đều được thiết lập với DHCP) và nhận địa chỉ IP tự động, điều này rất hữu ích với các thiết bị di động.

Trong hầu hết các trường hợp, khi một thiết bị có địa chỉ IP được gán bởi DHCP server, địa chỉ IP đó sẽ thay đổi mỗi khi thiết bị tham gia mạng. Nếu địa chỉ IP được gán thủ công, điều đó có nghĩa là quản trị không chỉ đưa ra một địa chỉ cụ thể cho mỗi client mới, mà những địa chỉ hiện có đã được gán phải được bỏ gán thủ công để các thiết bị khác sử dụng cùng một địa chỉ đó. Điều này không chỉ tốn thời gian, mà cấu hình thủ công từng thiết bị cũng khiến việc xảy ra lỗi do con người tạo ra cao hơn. 

Mặc dù việc sử dụng DHCP có rất nhiều lợi thế nhưng nó cũng có một số nhược điểm. Không nên sử dụng địa chỉ IP động cho các thiết bị cố định và cần truy cập liên tục, như máy in và máy chủ file. Mặc dù các thiết bị như vậy được sử dụng chủ yếu trong môi trường văn phòng, nhưng không thiết thực khi gán chúng với địa chỉ IP luôn thay đổi. Ví dụ: nếu máy in mạng có địa chỉ IP thay đổi thì mọi máy tính kết nối với máy in đó sẽ phải thường xuyên cập nhật cài đặt để máy tính của họ hiểu cách liên hệ với máy in.

Kiểu thiết lập này là cực kỳ không cần thiết và có thể tránh được bằng cách không sử dụng DHCP cho các loại thiết bị này và thay vào đó gán một địa chỉ IP tĩnh cho chúng. Cách tương tự cũng nên áp dụng khi bạn cần truy cập từ xa vào một máy tính trong mạng gia đình thường xuyên. Nếu kích hoạt DHCP, máy tính này sẽ nhận được địa chỉ IP mới ở những thời điểm khác nhau. Điều đó có nghĩa là máy tính đã ghi lại những gì nó có và sẽ không chính xác trong một thời gian dài. Nếu bạn sử dụng phần mềm truy cập từ xa sử dụng địa chỉ IP để truy cập, bạn cần phải sử dụng địa chỉ IP tĩnh cho thiết bị đó.

Thông tin thêm về DHCP

Máy chủ DHCP xác định phạm vi của các địa chỉ IP mà nó sử dụng để phân phối các thiết bị có địa chỉ. Nhóm địa chỉ này là cách duy nhất mà một thiết bị có thể nhận được kết nối mạng hợp lệ.

Đây là một lý do nữa khiến DHCP rất hữu ích, vì nó cho phép nhiều thiết bị kết nối với mạng trong một khoảng thời gian mà không cần một lượng lớn các địa chỉ có sẵn. Ví dụ, ngay cả khi chỉ có 20 địa chỉ được DHCP server xác định, 30, 50, hoặc thậm chí 200 (hoặc nhiều hơn) thiết bị đều có thể kết nối với mạng, miễn là không để nhiều hơn 20 thiết bị sử dụng một trong số địa chỉ IP có sẵn này cùng một lúc.

Bởi vì DHCP gán địa chỉ IP trong một khoảng thời gian cụ thể (thời gian thuê), bằng cách sử dụng các lệnh như ipconfig để tìm địa chỉ IP của máy tính của bạn sẽ mang lại kết quả khác nhau theo thời gian.

Mặc dù DHCP được sử dụng để cung cấp các địa chỉ IP động cho các client của nó nhưng không có nghĩa là không thể dùng các địa chỉ IP tĩnh cùng một lúc. Nhiều thiết bị khác nhau nhận các địa chỉ động và cũng có thể nhận địa chỉ IP theo cách thủ công và tồn tại trên cùng một mạng.

Ngay cả khi nhà cung cấp dịch vụ sử dụng DHCP để gán địa chỉ IP, bạn vẫn có thể biết điều này khi xác định địa chỉ IP công cộng. Và các địa chỉ này sẽ thay đổi theo thời gian trừ khi mạng gia đình bạn sử dụng địa chỉ IP tĩnh.

Trong Windows, APIPA chỉ định một địa chỉ IP tạm thời đặc biệt khi máy chủ DHCP không cung cấp địa chỉ cho một thiết bị và sử dụng địa chỉ này cho đến khi nó có thể có nhận được một địa chỉ hoạt động.

Rủi ro bảo mật của DHCP

Giao thức DHCP không yêu cầu xác thực để bất kỳ client nào cũng có thể tham gia mạng một cách nhanh chóng. Do đó, nó có nhiều vấn đề về bảo mật như máy chủ trái phép đưa thông tin xấu cho client, client trái phép được cấp địa chỉ IP, v.v…

Bởi vì client không có cách nào để xác thực tính hợp lệ của máy chủ DHCP, do đó máy chủ có thể cung cấp thông tin mạng không chính xác. Điều này có thể gây ra các cuộc tấn công từ chối dịch vụ (denial-of-service attack) hoặc tấn công man-in-the-middle sử dụng máy chủ giả để chặn dữ liệu có thể được sử dụng với mục đích xấu. Ngược lại, bởi vì máy chủ DHCP không xác thực client, do đó nó sẽ phát thông tin địa chỉ IP đến bất cứ thiết bị nào yêu cầu. Ai đó có thể cấu hình client để liên tục thay đổi thông tin đăng nhập và nhanh chóng làm cạn kiệt địa chỉ IP có sẵn trong phạm vi, ngăn các thiết bị truy cập vào mạng.

Thông số DHCP có thể giải quyết được một số vấn đề kể trên. Tùy chọn Relay Agent Information Option cho phép kỹ sư mạng gắn thẻ thông điệp DHCP khi chúng đến mạng. Thẻ này được sử dụng để kiểm soát truy cập mạng. Ngoài ra, còn có một điều khoản để xác thực thông điệp DHCP. Việc sử dụng xác thực 802.1x còn được gọi là kiểm soát truy cập mạng (NAC) được sử dụng để bảo mật DHCP. Hầu hết các nhà cung cấp mạng hàng đầu đều hỗ trợ NAC.

Xem thêm: 

Thứ Năm, 06/09/2018 10:37
52 👨 590