문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. [[분류:네트워크 계층]] == 개요 == [[전송 제어 프로토콜|TCP]]/[[IP]] 통신을 실행하기 위해 필요한 설정 정보를 자동적으로 할당, 관리하기 위한 통신 규약. RFC 1541에 규정되어 있다. TCP/IP 환경의 통신망에서 IP 주소의 일률적 관리 서비스를 제공한다. 초기 적재 통신 규약(BOOTP)과 마찬가지로 [[사용자 데이터그램 프로토콜]](UDP)상의 프로토콜로서 DHCP 서버는 DHCP 클라이언트의 요구에 따라서 IP 주소를 할당하는 한편, [[BOOTP]]는 [[서버]]/클라이언트 간에 주고받는 것을 담당한다. BOOTP를 확장한 통신 규약으로서 할당된 IP 주소에 임대 기간을 설정할 수 있다는 점이 BOOTP와 다르다. == 프로토콜 == DHCP는 네트워크 관리자들이 조직 내의 네트워크 상에서 IP 주소를 중앙에서 관리하고 할당해줄 수 있도록 해주는 프로토콜이다. [[인터넷]]의 TCP/IP 프로토콜에서는, 각 컴퓨터들이 고유한 IP 주소를 가져야만 인터넷에 접속할 수 있다. 조직에서 컴퓨터 사용자들이 인터넷에 접속할 때, IP 주소는 각 컴퓨터에 반드시 할당되어야만 한다. DHCP를 사용하지 않는 경우에는, 각 컴퓨터마다 IP 주소가 수작업으로 입력되어야만 하며, 만약 컴퓨터가 네트워크의 다른 부분에 속한 장소로 이동되면 IP 주소를 새로이 입력해야 한다. DHCP는 네트워크 관리자가 중앙에서 IP 주소를 관리하고 할당하며, 컴퓨터가 네트워크의 다른 장소에 접속되었을 때 자동으로 새로운 IP 주소를 보내줄 수 있게 해준다. == DHCP 동작 원리 == DHCP 동작 원리는 크게 네단계로 단말과 서버간에 통신이 이루어 진다. DORA 라고 외우면 된다. [[파일:DORA.jpg|200px|프레임없음|오른쪽]] <ref>https://tools.ietf.org/html/rfc2131 </ref> * 1) DHCP Discover : 메시지 방향: 단말 -> DHCP 서버 로 이루어 지며 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 를 통해서, 단말장비가 DHCP 서버에게 아이피 주소를 할당을 요청하는것이다. 클라이언트는 포트 67번으로 UDP 패킷을 목적지 주소 0.0.0.0으로 보낸다. * 2) DHCP Offer : 메시지 방향: DHCP 서버 -> 단말로 이루어진다. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF)이거나 유니캐스트를 통해서 이루어지며, 단말에서 요청을 한 아이피 주소 정보를 포함한 네트워크 정보의 할당 요청을, DHCP 서버가 받아서 이것에 대해서 응답을 하는것이며, 이때 아이피 주소 정보 와 단말의 MAC 주소 정보, IP 주소 임대 기간등을 네트워크 정보와 함께 같이 전송한다. * 3) DHCP Request: 메시지 방향: 단말 -> DHCP 서버 로 이루어진다. 새롭게 도착한 클라이언트는 하나 또는 그 이상의 서버 제공자 중에서 최적의 조건을 선정해서 요청을 보낸다. 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 로 단말이 받은 아이피 주소 정보를 사용하겠다는 것을 서버로 보내서, 확정을 받기 위한 메시지 이다. * 4) DHCP Ack: 메시지 방향: DHCP 서버 -> 단말 로 이루어 진다 브로드캐스트 메시지 (Destination MAC = FF:FF:FF:FF:FF:FF) 혹은 유니캐스트일수 있다. 단말에서 보낸 DHCP Request 메시지 내의 Broadcast Flag=1이면 DHCP 서버는 DHCP Ack 메시지를 Broadcast로, Flag=0 이면 Unicast로 보내주며, 단말의 MAC 어드레스에 매칭이 되는 IP 주소와 게이트웨이 주소를 확정하여 주는 것이다. == 임대 == DHCP는 주어진 IP 주소가 일정한 시간동안만 그 컴퓨터에 유효하도록 하는 "임대" 개념을 사용한다. 임대시간은 사용자가 특정한 장소에서 얼마나 오랫동안 인터넷 접속이 필요할 것인지에 따라 달라질 수 있다. DHCP는 사용자들이 자주 바뀌는 학교와 같은 환경에서 특히 유용하다. DHCP는 사용 가능한 IP 주소의 개수보다 더 많은 컴퓨터가 있는 경우에도 IP 주소의 임대시간을 짧게 함으로써 네트워크를 동적으로 재구성할 수 있다. 영구적인 IP 주소를 필요로 하는 웹서버에 대해서는 정적인 주소를 제공한다. == 한계 == 이동 노드가 서브넷 사이를 이동할 때 원격 응용에 대한 TCP 연결은 유지되지 못한다. == BOOTP의 대안 == DHCP는 네트워크 IP 관리 프로토콜인 BOOTP의 대안으로 사용된다. DHCP가 더욱 진보된 프로토콜이지만, 두 개의 프로토콜 모두 일반적으로 사용된다. 어떤 조직에서는 두 개의 프로토콜 모두를 사용하지만, 동일한 조직에서 그것을 언제, 어떻게 사용할지를 이해하는 것이 무엇보다 중요하다. [[윈도 NT]]와 같은 몇몇 운영체계에는 DHCP 서버가 딸려 나온다. DHCP 또는 BOOTP 클라이언트는 네트워크가 구성될 수 있도록 각 컴퓨터에 위치하는 프로그램이다. == IETF 표준 문서 == * RFC 2131, Dynamic Host Configuration Protocol * RFC 2132, DHCP Options and BOOTP Vendor Extensions * RFC 3046, DHCP Relay Agent Information Option * RFC 3942, Reclassifying Dynamic Host Configuration Protocol Version Four (DHCPv4) Options * RFC 4242, Information Refresh Time Option for Dynamic Host Configuration Protocol for IPv6 * RFC 4361, Node-specific Client Identifiers for Dynamic Host Configuration Protocol Version Four (DHCPv4) * RFC 4436, Detecting Network Attachment in IPv4 (DNAv4) Dynamic host configuration protocol 문서로 돌아갑니다.