1. ip주소를 할당받고 싶은 게스트가 dhcp server를 찾기 위해 dhcp discover 메시지를 브로드캐스팅한다. dhcp-discover
2. dhcp server는 게스트에게 ip주소 관리 테이블에서 하나를 ip하나를 선택해 받을지 물어본다. - dhcp-offer// 유니케스트
3. 게스트는 해당 ip를 받는다고 dhcp-request 메시지를 보낸다. // 유니케스트
4. dhcp server는 게스트에게 쓰라고 말하고 ip주소 관리 테이블에 사용중인 ip라고 표시한다. dhcp-ack // 유니케스트
그밖
dhcp-release // ip주소 해제 / 게스트 > 서버
dhcp-nak // 요청 거부 / 서버 > 게스트
dhcp-inform // ip주소 외 정보 요청 / 게스트 > 서버
DHCP-DISCOVER
- 출발지인 DHCP 클라이언트는 아직 IP 주소를 가지고 있지 않으므로, 출발지 IP주소에는 편의상 `0.0.0.0`이 들어간다. 그리고 목적지 MAC주소와 목적지 IP주소에는 `FFFF.FFFF.FFFF`와 `255.255.255.255`가 설정되어 있다. 이들은 모두 `브로드캐스트 주소`로 불린다. 일반적으로 같은 서브넷의 기기는 스위칭 허브등 `L2 스위치`에 연결된다. L2 스위치는 목적지 MAC주소가 브로드캐스트 주소인 패킷은 모든 포트에서 같은 패킷을 내보내서, 서브넷 내의 모든 기기에 패킷이 도달하게 되어있다. L2 스위치로부터 패킷을 전달받은 기기는 목적지 IP주소를 자신의 주소와 비교해서 자신에게 온 패킷만 받아들인다. 하지만, 이번에는 목적지 IP주소도 브로드캐스트 주소로 되어 있어, 실제 IP주소와는 관계없이 모든 기기가 수신하기로 약속되어 있다. 결과적으로 DHCP-DISCOVER 패킷은 같은 서브넷의 모든 기기가 수신한다. 단, 목적지 포트 번호 67 에서 UDP패킷을 기다리는 것은 DHCP 서버뿐이므로 실제로 패킷을 받아 처리하는 것은 DHCP 서버이다.
- 메시지 본문에는 누구의 요청인지 알 수 있도록 DHCP클라이언트의 MAC주소 정보가 들어있다.
DHCP-OFFER
- DHCP-DISCOVER 메시지를 받은 DHCP서버는 자신의 `IP 주소 관리대장`에서 미사용 IP주소를 찾아 그중 하나를 할당 후보 IP주소로 DHCP클라이언트에 응답한다.
- 메시지 본문 안에는 서브넷 마스크와 디폴트 게이트웨이 정보, DHCP서버 자신의 IP주소 등도 포함된다.
DHCP-REQUEST
- DHCP클라이언트는 다시 브로드캐스트 주소를 이용하여 DHCP-REQUEST를 DHCP서버에 보낸다.
- 메시지 본문 안에는 후보로 받은 IP주소와 DHCP서버의 IP 주소가 포함되어 있다.
- "DHCP서버에게 이 IP 주소를 사용한다"고 선언하는 의미의 메시지이다.
DHCP-ACK
- 수신확인을 나타내는 메시지를 DHCP클라이언트에게 응답한다.
- 자신의 `IP 주소 관리 대장`에 해당 IP주소를 "사용 중"으로 기록함과 동시에 어느 클라이언트가 사용하는지 알 수 있게 클라이언트의 MAC주소도 함께 기록한다.
'네트워크' 카테고리의 다른 글
~.ssh 폴더 및 ssh 접속 원리 (0) | 2023.01.07 |
---|---|
path vector, distance vector, link state (0) | 2022.12.28 |
DNS, Resolver (0) | 2022.09.26 |
쿠키와 세션 // 퍼옴 (1) | 2022.09.25 |
네트워크 dmz, public, private (0) | 2022.09.17 |