08/34 DHCP cấp cấu hình Các chương

Vừa kết nối Wi-Fi, máy lấy địa chỉ IP ở đâu?

Chưa từng nhập địa chỉ IP, sao máy vẫn có?

Bạn kết nối laptop vào Wi-Fi.

Vài giây sau, máy đã có những thông tin kiểu:

Địa chỉ IP       192.168.1.23
Mạng             /24
Router           192.168.1.1
DNS              192.168.1.1

Bạn không nhập bất kỳ dòng nào.

Ai đã đưa những thông tin này cho máy?

Một máy mới vào mạng chưa biết gì cả

Ngay sau khi kết nối Wi-Fi, laptop biết nó đã nối được với mạng không dây, nhưng chưa biết:

địa chỉ IP của mình là gì
mạng này lớn tới đâu
router nằm ở đâu
DNS nào cần dùng

Khó ở chỗ máy cũng chưa biết phải hỏi ai.

Nó chưa có địa chỉ IP, và cũng chưa biết địa chỉ của máy chuyên cấp IP.

Vì vậy nó làm một việc rất đơn giản:

hỏi cả mạng.

Đại ý:

Laptop → cả mạng:
Có ai cấp cấu hình mạng không?

Một máy chủ DHCP (DHCP server) nghe thấy và trả lời.

Trong mạng gia đình, máy chủ DHCP thường chạy ngay trên router Wi-Fi.

DHCP đưa cho máy một cấu hình

Cuộc trao đổi diễn ra theo bốn bước:

Laptop      → cả mạng      : Có ai cấp địa chỉ không?

Máy chủ DHCP → laptop      : Bạn có thể dùng 192.168.1.23.

Laptop      → cả mạng      : Tôi chọn địa chỉ đó.

Máy chủ DHCP → laptop      : Đồng ý. Đây là cấu hình của bạn.

Đi từng bước để xem laptop nhận được gì:

Laptop lấy địa chỉ IP như thế nào?
  1. Hỏi mạng
  2. Đề nghị
  3. Chọn
  4. Nhận cấu hình

Laptop

IP: chưa có

IP
192.168.1.23
Mạng
/24
Gateway
192.168.1.1
DNS
192.168.1.1
Thời hạn
24 giờ

Router

chạy DHCP

Máy chủ DHCP chốt địa chỉ và gửi toàn bộ cấu hình. Laptop giờ đã đủ thông tin để bắt đầu dùng mạng.

Tên bốn bước trong tài liệu DHCP

Bốn bước thường được gọi là:

DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK

Hay viết tắt là DORA.

Không cần nhớ bốn cái tên này để hiểu DHCP. Chúng hữu ích khi đọc nhật ký (log) hoặc tài liệu mạng.

Máy nhận nhiều hơn một địa chỉ IP

Ở bước cuối, máy chủ DHCP không chỉ nói:

IP của bạn là 192.168.1.23

Nó còn có thể gửi những thông tin như:

Thông tin Ví dụ Máy dùng để làm gì
Địa chỉ IP 192.168.1.23 địa chỉ của máy trong mạng
Mặt nạ mạng (subnet mask) 255.255.255.0 xác định mạng của máy
Cổng mặc định (default gateway) 192.168.1.1 nơi gửi gói khi cần đi sang mạng khác
Máy chủ DNS (DNS server) 192.168.1.1 tìm địa chỉ IP từ tên như google.com

255.255.255.0 ở đây mô tả cùng ranh giới mạng mà bài trước viết là:

/24

Vì vậy sau khi DHCP chạy xong, laptop biết:

Mình là        192.168.1.23
Mạng của mình  192.168.1.0/24
Router         192.168.1.1
DNS            192.168.1.1

Nó đã có đủ thông tin cơ bản để bắt đầu giao tiếp.

Địa chỉ đó không nhất thiết thuộc về máy mãi mãi

DHCP thường không giao 192.168.1.23 vĩnh viễn.

Nó cho máy dùng địa chỉ đó trong một khoảng thời gian, gọi là thời hạn thuê (lease).

Ví dụ:

192.168.1.23
được dùng trong 24 giờ

Nếu laptop vẫn còn trong mạng, nó có thể xin gia hạn.

Nếu máy rời đi và hết thời hạn thuê, máy chủ DHCP có thể đưa địa chỉ đó cho một thiết bị khác.

Nhờ vậy một mạng không cần dành sẵn một địa chỉ cố định cho mọi chiếc điện thoại hay laptop từng kết nối.

Trước DHCP thì sao?

Trước khi DHCP phổ biến, địa chỉ thường được cấu hình bằng tay.

BOOTP, được mô tả trong RFC 951 năm 1985, đã cho phép máy hỏi mạng để lấy cấu hình lúc khởi động. Nhưng cấu hình thường vẫn phải được người quản trị chuẩn bị trước cho từng máy.

DHCP phát triển từ BOOTP và bổ sung khả năng tự động cấp địa chỉ từ một kho địa chỉ, kèm thời hạn sử dụng.

Bây giờ laptop đã có:

192.168.1.23/24

và biết rằng nếu cần gửi dữ liệu ra ngoài mạng của mình thì hãy đưa gói cho:

192.168.1.1

Nhưng 192.168.1.1 thực sự là thiết bị gì?

Router làm gì với gói tin sau khi nhận nó?

Nguồn bài viết (5)

  1. RFC 1531 — Dynamic Host Configuration Protocol · IETF
  2. RFC 5227 — IPv4 Address Conflict Detection · IETF
  3. RFC 951 — Bootstrap Protocol (BOOTP) · IETF
  4. RFC 2131 — Dynamic Host Configuration Protocol · IETF
  5. RFC 1122 — Requirements for Internet Hosts: Communication Layers · IETF