* DHCP(Dynamic Host Configuration Protocol)
- 네트워크 관리자가 중앙에서 IP주소를 관리하고 할당하며 컴퓨터가 네트워크의 다른 장소에 접속되었을 때 자동으로 새로운 IP주소를 보낼 수 있게 해준다.
- IP주소의 효율적인 관리가 가능하다.
- 자신의 MAC주소를 제공하고 DHCP서버로부터 네트워크 정보를 제공받는다.
- 4way handshake를 한다.
- 3계층 장비에 들어있다.
- DHCP메시지는 고정길이필드(58비트)를 사용한다.
[DHCP IP 임대 절차]
1. DHCP Discover
-> 단말기가 DHCP 서버를 찾기 위해 보내는 메시지이다.
- 브로드캐스트한다.
2. DHCP Offer
-> DHCP가 응답하는 메시지이다.
- 단순히 응답하는 메시지가 아닌 네트워크 정보를 함께 실어서 보내는 메시지이다.
- DHCP Discover 메시지 내의 Broadcast Flag값이 1이면 브로드캐스트, 0이면 유니캐스트한다.
3.DHCP Request
-> DHCP 서버를 선택하고 해당 서버에게 자신이 사용할 네트워크 정보를 요청하는 메시지이다.
- 브로드캐스트한다.
4. DHCP Ack
- DHCP 서버가 단말에게 "네트워크 정보"를 전달해 주는 메시지이다.
- DHCP Discover 메시지 내의 Broadcast Flag값이 1이면 브로드캐스트, 0이면 유니캐스트한다.
[DHCP 메세지]
Operation Code(1 Byte)
|
Hardware type (1 Byte)
|
Hardware length (1 Byte)
|
Hop count (1 Byte)
|
|
Transaction ID (4 Byte)
|
||||
Number of seconds (2 Byte)
|
Flags(2 Byte)
|
|||
Client IP address(4 Byte)
|
||||
Your IP address(4 Byte)
|
||||
Server IP address(4 Byte)
|
||||
Gateway IP address(4 Byte)
|
||||
Client hardware address(16 Byte)
|
||||
Server name(64 Byte)
|
||||
Boot file name(128 Byte)
|
||||
Options(가변)
|
① Operation code(op)
- 메시지 유형이 DHCP 요청(1)인지 응답(2)인지 나타낸다.
② Hardware type(htype)
- 물리적 네트워크 유형을 나타낸다.(10MB ethernet, IEEE 802, ATM 등)
- ARP에서 사용된 값에 기초한다.
③ Hardware length(hlen)
- hardware 주소의 길이이다.
④ Hop count
- 서버와 클라이언트가 다른 망에 있을 때 중계 에이전트가 패킷을 중계하는데 이때 agent에 의해 사용된다.
- 클라이언트가 0을 셋팅하여 발송하고 경유 중계 수 마다 증가한다.
⑤ Transaction ID
- 요청과 응답 쌍에 사용되는 난수이다.
- 클라이언트가 선택하는 랜덤한 수이다.
⑥ Number of seconds(sess)
- Client가 처음으로 DHCP Server에게 주소를 요청한 이후의 소요된 시간이다.
⑦ Flags
- DHCP Client가 수용할 수 있는 트래픽 유형이다.
- 요청 클라이언트가 희망한다.
- 첫 앞 비트가 0이면 유니캐스트, 1이면 브로드캐스트이며 나머지 비트들은 모두 0으로 채운다.
⑧ Client IP address(ciaddr)
- Client의 IP 주소이다.
- 최초 요청시에는 할당받기 전이므로 0.0.0.0으로 셋팅돼있다.
⑨ Your IP address(yiaddr)
- DHCP Server에 의해 제공된 IP 주소이다.
⑩ Server IP address(siaddr)
- DHCP Server의 주소이다.
⑪ Gateway IP address(giaddr)
- Network의 default Gateway IP 주소이다.
⑫ Cilent hardware address(chaddr)
- 요청한 Client의 MAC 주소이다.
⑬ Server name
- 서버의 호스트 이름이다.
- 널 문자열로 끝난다.
⑭ Boot file name
- DHCP가 사용할 Boot 파일이다.
- 널 문자열로 끝난다.
⑮ 옵션들
- 응답메시지에만 사용되는 추가적인 정보이다.
- DHCP에 더 많은 기능을 주기 위해 DHCP Packet 구조를 확장하는데 사용한다.
[DHCP 패킷 분석 1]
- 다음은 IP주소를 할당받는 절차를 캡처한 것이다.
(1)-> DHCP Discover
(2)-> DHCP Offer
(3)-> DHCP Request
(4)-> DHCP Ack
[DHCP 패킷 분석 1]
- 다음은 임대를 받은 상태에서 이것을 다시 갱신하는 과정을 캡처한 것이다.
(1)->
(2)->