안녕하세요! 자주 애용은 했지만, 오늘 가입을 했습니다!^^;
먼저, 사이트가 정말 괜찮은 것 같습니다. Goooooooooood.........!!
제가 궁금한 것은 dhcp 관련된 것으로서, 그 중에서 broadcast flag 값에 대해서 궁금합니다.
그 중에서도,
Windows 7에, ipconfig /release, ipconfig /renew 실행시, client(PC)는 dhcp discover packet을 broadcast 할때, 기존에 dhcp 서버로 부터 할당 받은 ip에 대해서
재요청을 하는 것으로 알고 있습니다.
*dhcp discover packet
==>bootp의 option(50)에 기존에 임대했던 ip 가 있음
==>broadcast flag = 0(unicast)
이런 결과가 웹서칭결과 대부분입니다.
but, 제가 제 PC에서 시험해본 결과로는 dhcp discover packet서 broadcast flag가 1이 나옵니다.(결과적으로 offer, ack 메세지가 broadcast)
왜 차이가 나는지 궁금하며, 어떤것이 맞는건지도 궁금합니다.(1 --> 0으로 바꾸는 방법은 있습니다. windows registry를 수정)
정리하자면,
제가 했던 시험의 discovery packet의 boradcast flag 값이 웹서칭의 결과와 다른 이유?
어떤 결과가 맞는지?
에 대해서 궁금합니다.
OS에 따라 상호 호환성 측면에서 실 구현이 규격과 상이하게 한 부분들이 있게 마련입니다.
아래 링크에 왜 그렇게 했는지, 어떻게 동작하는지가 설명이 되어 있습니다.
검색은 구글에서 "windows 7 dhcp broadcast"로 하면 나옵니다.
http://blogs.technet.com/b/teamdhcp/archive/2009/02/12/dhcp-broadcast-flag-handling-in-windows-7.aspx
netmanias의 기술문서 중 "DHCP 상세 동작 원리" 에서 Windows 7 기준으로 'ipconfig /release' 'ipconfig /renew' 글이 있는데, DHCP Discover 패킷의 broadcast flag가 0, 즉 unicast된 것이 표시가 됩니다.
하지만, 제가 시험을 했을 때는(windows 7 OS 환경), value가 1값, 즉 broadcast로 표시가 되서, 두 내용이 일치 하지가 않아서요. 같은 OS상에서 같은 시험을 했을 때, 다른 결과값을 보여서, OS 문제는 아닌거 같아서요.
"DHCP 상세 동작 원리" 에서도, Windows계열은 boradcast flag 값이 0이어야 한다고 언급되었는데, 혹시 이에 대해 아시면, 답변 부탁드립니다
혹시, 제가 시험해서 해결하면 제가 바로 답을 올려 놓겠습니다. 그 전에 먼저 해결하시거나 아시는 분이 있으면 답변 부탁합니다^^
위에 이완철님께서 링크 해주신 내용에는 윈도우즈가 어떤 경우에 flag를 0으로하고 어떤 경우에는 1로 하는지 , 마지막 성공한 내용을 어떤 경우 삭제 하는가 등에 대해 기술 되어 있는것 같아서 질문하신 내용을 잘 설명 하고 있는것 같은데 찾으시는 내용이 그게 아닌가 보네요