Câu 2 : Em đang học NA, đến chỗ DHCP có mấy điều muốn hỏi:
Article
Tại một thời điểm bất kì nào đó, khi lượng IP đã cấp phát hết sạch mà những người dùng khác vẫn tiếp tục yêu cầu sử dụng dịch vụ thì sẽ giải quyết thế nào.
Khi đang sử dụng mà hết thời gian thuê bao IP thì sẽ giải quyết thế nào
From : kendyhikaru
Link : http://vnpro.org/forum/forumdisplay.php?f=49
Trả lời :
Form : tranmyphuc
Chào bạn,
1. Do ip private là miễn phí và chỉ được dùng truyền thông trong nội mạng (internal) nên muốn dùng bao nhiêu cũng được Giả sử tôi set dãy ip là 10.x.x.x/8 có tới 2^24 host. Chính vì thế bình thường thì ta không lo nhiều về vấn đề DHCP server hết IP.
Tuy nhiên, DHCP server cũng có thể hết ip (thực tế tôi đã thấy) là do người ta muốn tấn công theo kiểu "change MAC liên tục để xin IP liên tục".
Trở lại vấn đề của bạn,đầu tiên bạn cần xem lí thuyết dưới đây :
Quá trình đạt được địa chỉ IP được mô tả dưới đây:
DHCP qua 4 bước để cấp thông tin của IP address cho DHCP client
1. IP lease request
2. IP lease offer
3. IP lease selection
4. IP lease acknowledgement
Có thể tóm tắt quá trình này như sau:
IP Lease Request
Đầu tiên, client sẽ broadcast một message tên là DHCPDISCOVER, vì client lúc này chưa có địa chỉ IP cho nên nó sẽ dùng một địa chỉ source(nguồn) là 0.0.0.0 và cũng vì client không biết địa chỉ của DHCP server nên nó sẽ gửi đến một địa chỉ broadcast là 255.255.255.255. Lúc này gói tin DHCPDISCOVER này sẽ broadcast lên toàn mạng. Gói tin này cũng chứa một địa chỉ MAC (Media Access Control) (là địa chỉ mà mỗi một network adapter (card mạng) sẽ được nhà sản xuất cấp cho và là mã số để phân biệt các card mạng với nhau ví dụ để biết card mạng của mình có MAC address là gì, bạn vào run --> đánh command --> ipconfig /all --> sẽ hiện ra một đoạn text gồm các thông tin khác nhau về IP, DNS, default gateway... và trên máy của tôi có Physical Address (MAC address) là: 00-C0-26-57-39-A8) và đồng thời nó cũng chứa computer name của máy client để DHCP server có thể biết được client nào đã gởi yêu cầu đến.
IP Lease Offer
Nếu có một DHCP hợp lệ (nghĩa là nó có thể cấp địa chỉ IP cho một client) nhận được gói tin DHCPDISCOVER của client thì nó sẽ trả lời lại bằng một gói tin DHCPOFFER, gói tin này đi kèm theo những thông tin sau:
+ MAC address của client
+ Một IP address cấp cho (offer IP address)
+ Một subnet mask
+ Thời gian thuê (mặc định là 8 ngày)
+ Địa chỉ IP của DHCP cấp IP cho client này
Lúc này DHCP server sẽ được giữ lại một IP đã offer (cấp) cho client để nó không cấp cho DHCP client nào khác.
DHCP client chờ một vài giây cho một offer, nếu nó không nhận một offer nó sẽ rebroadcast (broadcast gói DHCPDISCOVER) trong khoảng thời gian là 2-, 4-, 8- và 16- giây, bao gồm một khoảng thời gian ngẫu nhiên từ 0 - 1000 mili giây.
Nếu DHCP client không nhận một offer sau 4 lần yêu cầu, nó sử dụng một địa chỉ IP trong khoảng 169.254.0.1 đến 169.254.255.254 với subnet mask là 255.255.0.0. Nó sẽ sử dụng trong một số trong khoảng IP đó và việc đó sẽ giúp các DHCP client trong một mạng không có DHCP server thấy nhau. DHCP client tiếp tục cố gắng tìm kiếm một DHCP server sau mỗi 5 phút.* Giải quyết vấn đề 1 của bạn.
IP Lease Selection
DHCP client đã nhận được gói tin DHCPOFFER thì nó sẽ phản hồi broadcast lại một gói DHCPREQUEST để chấp nhận cái offer đó. DHCPREQUEST bao gồm thông tin về DHCP server cấp địa chỉ cho nó. Sau đó, tấc cả DHCP server khác sẽ rút lại các offer (trường hợp này là trong mạng có nhiều hơn 1 DHCP server) và sẽ giữ lại IP address cho các yêu cầu xin IP address khác.
IP Lease Acknowledgement
DHCP server nhận được DHCPREQUEST sẽ gởi trả lại DHCP client một DHCPACK để cho biết là đã chấp nhận cho DHCP client đó thuê IP address đó. Gói tin này bao gồm địa chỉ IP và các thông tin cấu hình khác (DNS server, WINS server... ). Khi DHCP client nhận được DHCPACK thì cũng có nghĩa là kết thúc quá trình "tìm kiếm và xin sỏ" của mình.
Notes:
(Tấc cả việc trao đổi thông tin giữa một DHCP server và DHCP client sẽ sử dụng UDP port là 67 và 68 (User Datagram Protocol). Một vài switch sẽ không cho phép các gói tin trao đổi theo kiểu broadcast đi qua, cho nên bạn cần phải config những switch này để được broadcast qua những port này)
2. Để giải quyết câu hỏi thứ 2. Bạn vui lòng xem bên dưới.
Bây giờ ta coi như là DHCP client đã lease được một IP address rồi. Theo mặc định của DHCP server thì mỗi IP lease chỉ được có 8 ngày. Nếu theo như mặc định (8 ngày) thì một DHCP client sau một khoảng thời gian là 50% (tức là 4 ngày) nó sẽ tự động xin lại IP address với DHCP mà nó đã xin ban đầu. Nó DHCP client lúc này sẽ gởi một sẽ gởi một DHCPREQUEST trực tiếp (unicast) đến DHCP server mà nó đã xin ban đầu.
Nếu mà DHCP server đó "còn sống", nó sẽ trả lời bằng một gói DHCPACK để renew (cho thuê mới lại) tới DHCP client, gói này bao gồm thông các thông số cấu hình mới cập nhật nhất trên DHCP server. Nếu DHCP server "đã chết", thì DHCP client này sẽ tiếp tục sử dụng cấu hình hiện thời của nó. Và nếu sau 87.5%(7 ngày) của thời gian thuê hiện thời của nó, nó sẽ broadcast một DHCPDISCOVER để update địa chỉ IP của nó. Vào lúc này, nó không kiếm tới DHCP server ban đầu cho nó thuê nữa mà nó là sẽ chấp nhận bất cứ một DHCP server nào khác.
Nếu thời gian lease đã hết, thì client sẽ ngay lập tức dừng lại việc sử dụng IP address lease đó. Và DHCP client sau đó sẽ bắt đầu tiến trình thuê một địa chỉ như ban đầu.
Chú ý: khi bạn khởi động (restart) lại DHCP client thì nó sẽ tự động renew lại IP address mà trước khi nó shut down.
Vậy nếu khi ta có một sự thay đổi về cấu hình trên DHCP server mà ta muốn nó có tác dụng đến các client ngay lập tức thì phải làm sao?, chẳng lẽ phải đợi nó hết 50% à? (như vậy thì hơi bị... mỏi cổ). Ta có thể renew một IP lease "bằng tay" đối với DHCP client như sau: vào run, đánh command --> đánh lệnh là ipconfig /renew. Khi đó nó sẽ gởi một DHCPREQUEST đến DHCP server để update thông tin về cấu hình, và thời gian lease m
ới. Và ngược lại, nếu ta không muốn lease cái IP address này nữa ta có thể đánh lệnh ipconfig /release. Lúc này, nó sẽ gởi đến DHCP server một DHCPRELEASE. Sau lệnh này, client sẽ không còn liên lạc với network bằng TCP/IP nữa.
Chúc vui vẻ và may mắn.
**********************************************************************************************************
Cảm ơn các bạn đã xem câu hỏi trên, mọi ý kiến đóng góp vui lòng gởi email đến admin@vnpro.org hoặc thảo luận trực tiếp tại Topic liên quan.
**********************************************************************************************************
Article Details
Created On: 21 Dec 2008 4:26 PM