네트워크 및 보안/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)

반응형

'네트워크 및 보안 > TCPIP 프로토콜' 카테고리의 다른 글

DNS(Domain Name System, RFC 1034)  (0) 2015.02.03
TCP(Transmission Control Protocol,RFC 675, RFC 793)  (0) 2015.02.02
UDP(User Datagram Protocol, RFC 768)  (0) 2015.02.02
ICMPv4  (0) 2015.02.02
ARP(Address Resolution Protocol)  (0) 2015.02.02
IPv4  (0) 2015.02.02
ethernet  (0) 2015.02.02