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.