네트워크 및 보안/TCPIP 프로토콜

DHCP(Dynamic Host Configuration Protocol)

언제나휴일 2015. 2. 2. 17:39
반응형

DHCP(Dynamic Host Configuration Protocol)



DHCP 프로토콜은 동적으로 호스트 IP를 부여하기 위한 프로토콜이다.

참고: 위키백과, http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

     RFC 2131, http://tools.ietf.org/html/rfc2131

DCHP 호스트 상태 및 동작 원리

 

INIT: 초기 상태

    DHCP Discover 메시지를 67번 포트를 사용하여 브로드캐스트한다.

SELECTING: 선택 상태

    DHCP Discover 메시지를 보낸 후의 상태이다.

    서버에서 DHCP Offer 메시지를 수신한다.

REQUESTING: 요청 상태

    DHCP Request 메시지를 보낸 후의 상태이다.

BOUND: 바운드 상태

    DHCP ACK를 받은 후의 상태이다.

    임대 시간의 50%가 지나면 DHCP Request를 보내고 RENEWING 상태로 전이한다.

    임대 시간이 만료하면 DHCP Release를 보내고 INIT 상태로 전이한다.

RENEWING: 재설정 상태

    BOUND 상태에서 임대 시간의 50%가 지나 DHCP Request를 보낸 후의 상태이다.

    DHCP ACK를 받으면 다시 BOUND 상태로 전이한다.

    임대 시간의 87.5%가 지나면 DHCP Request를 보내고 REBINIDING 상태로 전이한다.

REBINDING: 재연결 상태

    RENEWING 상태에서 임대 시간의 87.5%가 지나 DHCP Request를 보낸 후의 상태이다.

    DHCP ACK를 받으면 BOUND 상태로 전이한다.

    DHCP NACK를 받으면 INIT 상태로 전이한다.

 

프로토콜 스택

 

DHCP 메시지는 옵션의 op 코드가 53이다.

OP: 요청(1), 응답(2)

HTYPE: ethernet일 때는 1

HLEN: ethernet일 때는 6

HOPS: 패킷이 전달할 때 경유할 수 있는 최대 홉 개수

XID: 요청과 응답을 확인하기 위한 트랜잭션 식별값

SECS: 클라이언트가 부팅 후 경과 시간(단위: )

Flags:맨 왼쪽 비트(0:유니 캐스트, 1:브로드 캐스트)만 사용하고 나머지는 0

CIADDR: 클라이언트 IP 주소(모를 때는 0.0.0.0)

YIADDR: 클라이언트 IP 주소, 요청의 응답으로 서버에서 채워줌

SIADDR: 서버의 IP 주소, 요청의 응답으로 서버에서 채워줌

GIADDR: 라우터의 IP 주소, 요청의 응답으로 서버에서 채워줌

CHADDR: 클라이언트 물리 주소

Server Name: 서버의 도메인 이름, 요청의 응답으로 서버에서 선택적으로 채워줌

Boot File name: 부트 파일의 전체 경로명, 요청의 응답으로 서버에서 선택적으로 채워줌

DHCP 쿠키: 0x63(99), 0x82(130), 0x53(83), 0x63(99)

Options: 옵션 OP(1) + 길이(1) + (가변)

    0 - Padding(1), 길이와 값이 없음

    1 - Subnet Mask, 2 - Time Offset, 3 - Router, 4 - Time Server

    5 - Name Server, 6 - Domain Name Server, 7 - Log Server

    8 - Cookie Server, 9 - LPR Server, 10 - Impress Server

    11 - Resource Location Server,  12 - Host Name

    13 - Boot File Size, 14 - Merit Dump File, 15 - Domain Name

    16 - Swap Server, 17 - Root path, 18 - Extensions Path

    19 - IP Forwarding Enable/Disable, 20 - Non Local Source Routing Enablbe/Disable

    21 - Policy Filter, 22 - Maximum Datagram Reassembly Size

    23 - Default IP TTL, 24 - Path MTU Aging Timeout, 25 - Path MTU Plateau Table

    26 - Interface MTU, 27 - All Subnets are Local, 28 - Broadcast Address

    29 - Perform Mask Discovery, 30 - Mask Supplier, 31 - Perform Router Discover

    32 - Router Solicitation Address, 33 - Static Route

    34 - Trailer Encapsulation Option, 35 - ARP Cache Timeout, 36 - Ethernet Encapsulation

    37 - TCP Default TTL, 38 - TCP Keepalive Interval, 39 - TCP Keepalive Garbage

    40 - Network Information Service Domain, 41 - Network Information Servers

    42 - Network Time Protocol Servers, 43 - Vendor Specific Information

    44 - NetBIOS over TCP/IP Name Server, 45 - NetBIOS over TCP/IP Datagram Distribution Server

    46 - NetBIOS over TCP/IP Node Type, 47 - NetBIOS over TCP/IP Scope

    48 - X Window System Font Server, 49 - X Window System Display Manager

    50 - Requested IP Address, 51 - IP Address Lease Time

    52 - Option Overload

    53 - DHCP Message Type

        1:Discover, 2:Offer , 3: Request, 4: Decline 5: Ack ,6: NAK, 7: Release, 7: Inform

    54 - Server Identifier, 55 - Parameter Request List

    56 - Message, 57 - Maximum DHCP Message Size

    58 - Renewal Time Value, 59 - Rebinding Time Value

    60 - Vendor class identifier, 61 - Client Identifier

    64 - Network Information Service and Domain, 65 - Network Information Service and Servers

    66 - TFTP Server name, 67 - Bootfile name

    68 - Mobile IP Home Agent, 69 - SMTP Server, 70 - POP3 Server

    71 - NNTP Server, 72 - WWW Server, 73 - Default Finger Server

    74 - Default IRC Server, 75 - StreetTalk Server, 76 - STDA Server

    81 - Client Full Domain Name: 길이(1), Flags(1)

        Flags(비트) - 예약 4, 서버 업데이트 1, ASCII Encoding 1, Override 1, Server of Client 1

    116 - DHCP Auto: 길이(1), 자동여부(1, 0:수동, 1:자동)

    255 - End of option

 


다른 네트워크 프로토콜

[프로그래밍 기술/TCPIP 프로토콜] - ethernet

[프로그래밍 기술/TCPIP 프로토콜] - ARP(Address Resolution Protocol)

[프로그래밍 기술/TCPIP 프로토콜] - IPv4

[프로그래밍 기술/TCPIP 프로토콜] - ICMPv4

[프로그래밍 기술/TCPIP 프로토콜] - TCP(Transmission Control Protocol,RFC 675, RFC 793)

[프로그래밍 기술/TCPIP 프로토콜] - UDP(User Datagram Protocol, RFC 768)

[프로그래밍 기술/TCPIP 프로토콜] - DNS(Domain Name System, RFC 1034)

반응형