DHCPREQUEST 단계에서 브로드 캐스트가 사용되는 이유는 무엇입니까?


19

이것은 DHCP작동 과정입니다 . 여기에 이미지 설명을 입력하십시오

내 질문은 3 단계 에서 이전 두 작업 후에 DHCP 서버 / 릴레이 서버의 주소를 알아야 하는 것처럼 클라이언트유니 캐스트가 아닌 브로드 캐스트를 보내는 이유는 무엇입니까?


어떤 대답이 도움이 되었습니까? 그렇다면 질문에 대한 답변이 계속 나오지 않도록 답변을 수락해야합니다. 또는 자신의 답변을 제공하고 수락 할 수 있습니다.
Ron Maupin

답변:


30

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

서버는 클라이언트로부터 DHCPREQUEST 브로드 캐스트를받습니다. DHCPREQUEST 메시지에 의해 선택되지 않은 서버는 클라이언트가 해당 서버의 오퍼를 거부했다는 알림으로 메시지를 사용합니다.

이 프로토콜은 여러 DHCP 서버가있을 수 있다고 가정합니다. 요청 메시지를 브로드 캐스트하면 오퍼를 발행 한 모든 서버가 클라이언트의 선택을 인식 할 수 있습니다.


11

여러 개의 DHCP 서버가있을 수 있습니다. 요청이 전송 된 오퍼를 보낸 다른 DHCP 서버에 오퍼가 수행되지 않음을 알리기 위해 요청이 브로드 캐스트로 전송됩니다.


7

서버가 DHCPACK을 보낼 때까지 클라이언트에는 여전히 IP 주소가 없습니다. DHCP 서버가 DHCPNACK을 사용하여 요청에 응답 할 수 있습니다.


브로드 캐스트를 사용해야하는 이유는 무엇입니까? 클라이언트는 DHCPOFFER 메시지에서 서버의 MAC 주소를 알고 있으므로 DHCPREQUEST 유니 캐스트를 해당 서버로 전송할 수 있습니다. IP 주소가 필요하지 않습니다.
psmears

1
Lps 브로드 캐스트는 L2 브로드 캐스트로 전송되므로 @psmears DHCP는 L2 프로토콜이 아니므로 데이터가 L3에서 L2로 전달 될 때 규칙에 구속됩니다.
YLearn

2
@YLearn : L3 멀티 캐스트 또는 브로드 캐스트 패킷에 대한 소스 및 대상 IP도 필요하므로 분명히 문제가되지는 않습니다. 서버 (브로드 캐스트 패킷과 마찬가지로) 0.0.0.0의 소스 IP. 브로드 캐스트의 이유는 다른 DHCP 서버 (있는 경우)가 클라이언트가 오퍼를 거부하고 있음을 알리기위한 것입니다.
psmears

1
@psmears에서 L3 브로드 캐스트의 대상은 255.255.255.255입니다. 0.0.0.0에서 L3 브로드 캐스트를 소스 할 수 있습니다. 그러나 0.0.0.0에서 L3 유니 캐스트를 소싱 할 수 없습니다.
YLearn

2
@YLearn : 소스 주소의 바이트가 0으로 설정된 패킷을 확실히 보낼 수 있습니다! RFC에 의해 금지 될 수 있습니다. 알고 계십니까? RFC1700에 따르면 0.0.0.0은 "소스 주소로만 사용될 수 있습니다"(단, 유니 캐스트 / 브로드 캐스트는 아님). RFC1122는 0.0.0.0 "호스트가 자체 IP 주소를 학습하는 초기화 절차의 일부로 소스 주소를 제외하고는 전송되지 않아야합니다"라고 말합니다 (다시 말해서 유니 / 브로드 캐스트 제한 없음). 이것은 다른 곳에서 위임 된 것입니까?
psmears
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.