Tại sao phát sóng được sử dụng ở bước DHCPREQUEST?


19

Đây là quá trình DHCPhoạt động, nhập mô tả hình ảnh ở đây

Câu hỏi của tôi là ở bước thứ 3 tại sao Khách hàng gửi Phát sóng mà không phải là Unicast như sau hai hoạt động trước đó nên biết địa chỉ của máy chủ DHCP / Máy chủ chuyển tiếp?


Có câu trả lời nào giúp bạn không? Nếu vậy, bạn nên chấp nhận câu trả lời để câu hỏi không xuất hiện mãi mãi, tìm kiếm câu trả lời. Ngoài ra, bạn có thể cung cấp và chấp nhận câu trả lời của riêng bạn.
Ron Maupin

Câu trả lời:


30

https://tools.ietf.org/html/rfc2131#page-13

Các máy chủ nhận được phát sóng DHCPREQUEST từ máy khách. Những máy chủ không được chọn bởi tin nhắn DHCPREQUEST sử dụng tin nhắn như thông báo rằng máy khách đã từ chối lời đề nghị của máy chủ đó.

Giao thức giả định có thể có nhiều máy chủ DHCP. Bằng cách truyền phát thông báo yêu cầu, tất cả các máy chủ có thể đã đưa ra một đề nghị có thể nhận thức được sự lựa chọn của khách hàng.


11

Bạn có khả năng có thể có nhiều máy chủ DHCP - yêu cầu được gửi dưới dạng phát để thông báo cho các máy chủ DHCP khác có khả năng gửi ưu đãi mà ưu đãi của họ không được thực hiện.


7

Bởi vì cho đến khi máy chủ gửi DHCPACK, máy khách vẫn không có địa chỉ IP. Máy chủ DHCP có thể trả lời yêu cầu bằng DHCPNACK.


Tại sao khách hàng biết địa chỉ MAC của máy chủ từ tin nhắn DHCPOFFER, vì vậy nó có thể gửi DHCPREQUEST unicast đến máy chủ đó - không cần địa chỉ IP cho điều đó xảy ra.
psmears

1
@psmears, vì chương trình phát sóng L3 được gửi dưới dạng chương trình phát sóng L2. DHCP không phải là giao thức L2, vì vậy bạn bị ràng buộc với các quy tắc khi dữ liệu được truyền từ L3 sang L2.
YLearn

2
@YLearn: Bạn cũng cần IP nguồn và IP đích cho gói phát đa hướng hoặc phát L3, vì vậy đó rõ ràng không phải là vấn đề :) Không có lý do lý thuyết nào khiến gói DHCPREQUEST không thể được gửi với IP đích và MAC của máy chủ và (như với gói quảng bá) IP nguồn là 0,0.0.0. Lý do phát sóng là để cho các máy chủ DHCP khác (nếu có) biết rằng máy khách đang từ chối các ưu đãi của họ.
psmears

1
@psmears, đích đến của phát sóng L3 là 255.255.255.255. Bạn có thể nguồn phát L3 từ 0.0.0.0. Tuy nhiên, bạn không thể lấy nguồn L3 unicast từ 0.0.0.0.
YLearn

2
@YLearn: Bạn chắc chắn có thể gửi một gói có byte cho địa chỉ nguồn được đặt thành 0! Điều đó có thể bị cấm bởi một số RFC mặc dù - bạn có biết về một? RFC1700 cho biết 0.0.0.0 "chỉ có thể được sử dụng làm địa chỉ nguồn" (nhưng không có gì về unicast / Broadcast); RFC1122 nói 0.0.0.0 "KHÔNG PHẢI được gửi, ngoại trừ dưới dạng địa chỉ nguồn như một phần của quy trình khởi tạo mà chủ nhà tìm hiểu địa chỉ IP của chính nó" (một lần nữa, không hạn chế uni / quảng bá). Đây có phải là bắt buộc ở một nơi khác?
psmears
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.