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ì:
- Hỏi mạng
- Đề nghị
- Chọn
- 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
DHCPACKHay 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ó?