DHCP 20031457 박성진 20041513 김형성
Outline DHCP 개요 DHCP 목적 DHCP 용어 DHCP 주소 할당 Server & Client Protocol DHCP Message DHCP 동작 과정 DHCP Database DHCP / BOOTP relay agent
DHCP 개요 DHCP(Dynamic Host Configuration Protocol) RFC – 1541에 명시되어 있는 프로토콜 호스트IP 구성 관리를 단순화하는 IP Protocol IP할당에 3가지 mechanism을 제공 Server – Client 모델 BOOTP(Bootstrap Protocol)의 확장형 Protocol Port번호 67번을 사용
DHCP 목적 TCP/IP의 구성 요소이며 네트워크 관리자의 많은 시간과 노력을 줄여주도록 만든 프로토콜 주소를 사용해서 통신하는데 이를 사용자가 수동으로 입력하지 않고 모든 컴퓨터에 IP주소 를 자동으로 전달해주는 역할을 하는 메커니즘 을 제공하기 위함
DHCP 용어 DHCP Server : DHCP Client에게 IP를 구성할 수 있는 매개변수를 제공 DHCP Client 제외 주소 범위 : DHCP 서비스 내에 제공에서 제외된 범위의 IP주소 Client에게 제공되지 않는 주소 범위 : DHCP에서 사용하는 연속된 전체 IP주소의 범위. DHCP Server가 제공해 줄 수 있는 IP주소의 총량
DHCP 용어 임대 : DHCP 서버에서 클라이언트에게 IP주소를 사용할 수 있는 시간을 부여해주는 것. 클라이언트는 임대 기간을 연장하려면 이 시간을 벗어나기 전에 임대를 갱신하여야만 함 예약 : DHCP 서버에서 영구 주소를 임대해 줌. 옵션 유형 : 옵션 유형은 DHCP 서버가 DHCP 클라이언트에 임대를 제공할 때 지정할 수 있는 다른 클라이언트 구성 매개 변수입니다. 자주 사용하는 일부 옵션에는 기본 게이트웨이(라우터)의 IP 주소, DNS가 있음. RFC – 2132에 명시되어 있음.
DHCP 주소 할당 Automatic allocation : 호스트(Client)에게 영구적인 IP 주소를 할당 Dynamic allocation : Client에게 정해진 임대 기간을 부여하고 IP 주소를 할당 Manual allocation : 네트워크 관리자가 직접 IP주소를 할당
DHCP 주소 할당 Dynamic allocation mechanism - 일시적 또는 영구적인 네트워크 주소(IP)를 할당 서버에게 요청 - 각각의 클라이언트가 같은 네트워크 주소를 가질 수 없다는 것을 보장 - 일정한 기간 동안 네트워크 주소를 가지는 것을 임대라고 말함
DHCP 주소 할당 - 클라이언트는 임대 기간 연장 가능 - 클라이언트가 더 이상의 네트워크 주소를 필요로하지 않을 때 release 메세지를 통해서 서버에게 네트워크 주소를 해지 - 임대가 만료되어진 네트워크 주소는 재사용
Server & Client Protocol DHCP는 BOOTF와 같은 메시지 형식으로 메시지를 주고 받음 DHCP Option field(512byte) 필드 바이트 설명 OP 1 OP코드 메시지이다. 1 = BOOTREQUEST , 2 = BOOTREPLY htype 하드웨어 주소 타입 hlen 하드웨어 주소 길이 Hops 호스트의 주소를 0.0.0.0으로 set함 Xid 4 Transaction id. 클라이언트에 요청한 request와 서버가 반환한 reply가 같은지 확인 같다면 이를 사용해서 메시지를 주고 받음 Ciaddr 클라이언트 IP 주소
Server & Client Protocol 필드 바이트 설명 yiaddr 4 Client IP 주소 giaddr Relay agent(gateway) IP 주소 caddr 16 Client 하드웨어 주소 option 312 선택적 매개 변수 필드(DNS 주소,게이트웨이 라우터IP 등이 있음)
Server & Client Protocol
DHCP Message DHCPDISCOVER - 사용 가능한 서버를 찾는다 DHCPOFFER - 서버는 클라이언트에게 구성 매개 변수를 제공한다 DHCPREQUEST - 클라이언트는 서버에게 구성 매개 변수를 요구한다 DHCPACK - 서버는 클라이언트에게 사용이 허락되어진 네트워크 주소를 클라이언트에게 매개 변수와 함께 제공한다
DHCP Message DHCPNAK - 서버는 클라이언트의 매개 변수 요청을 거부한다. DHCPDECLINE - 클라이언트는 서버에게 잘못된 구성매개 변수를 지시 DHCPRELEASE - 클라이언트는 서버에게 IP의 사용 포기를 말하고 임대 기간을 취소한다.
DHCP 동작 과정 네트워크 관리자는 TCP/IP 구성 정보를 관리하는 DHCP - 네트워크의 모든 클라이언트를 위한 유효한 구성 매개 변수 - 클라이언트에 지정하기 위해 풀에서 관리하는 유효한 IP 주소 및 수동 지정을 위한 예약된 주소 ① 클라이언트는 임대 기간과 제안할 IP값을 포함 한 옵션을 하나 이상의 서버에게 보낸다. 클라이언트와 서버가 같은 서브넷상에 존재하지 않는다면 relay agent를 통 해서 보내질 수 있다. ② 각 서버는 사용할 수 있는 네트워크 주소를 포함한 DHCPOFFER 메시지를 클라이언트에게 전송한다. ③ 클라이언트는 하나 이상의 서버로부터 DHCPOFFER 메시지를 받고 그 중 에서 한 서버를 선택한다. 이 때 옵션에서는 반드시 서버 식별자를 포함하고 있어야 한다. 클라이언트가 시간을 초과해서 제한된 시간안에 DHCPOFFER 메시지를 수신하지 못하면 메시지를 재전송한다.
DHCP 동작 과정 ④ 서버는 클라이언트로부터 DHCPREQUEST 메시지를 받는다. 한다면 클라이언트에게 DHCPACK라는 메시지를 날려줘야만한다. ⑤ 클라이언트가 서버로부터 구성매개변수와 DHCPACK 메시지를 받으면 매개 변수에 대한 최종 검사를 수행한다. 이 때 오류가 있다면 클라이언트가 서버에게 DHCPINVALID 메시지를 보내고 응답을 받은 서버는 일정 시간 후에 구성 프로세스를 다시 시작한다. 오류가 없을 경우에는 서버와 클라이언트간의 연결이 안정적으로 되었다보고 임대 기간 동안 다른 클라이언트들과의 통신을 시작한다. ⑥ 임대 기간이 끝나거나 더 이상 IP가 필요하지 않다면 DHCPRELEASE 메시지로 네트워크 주소를 반환한다.
DHCP 동작 방법
DHCP Database DHCP 서버가 저장할 수 있는 레코드 수는 제한이 없음 데이터베이스의 크기는 네트워크에 있는 클라이언트 수에 따라 달라짐 일부 시간이 지나 일부 클라이언트가 쓸모없게 되어 공간이 남게 되면은 사용되지 않은 공간을 복구하기 위해서 데이터베이스를 압축함
DHCP/BOOTP relay agent 여러 서브넷에서 DHCP 서비스를 지원하고 사용하려면 각 서브넷을 연결하는 라우터는 RFC - 1542에 명시된 DHCP/BOOTP 릴레이 에이전트 기능을 따라야 함 라우터가 DHCP/BOOTP 릴레이 에이전트로 기능하지 못하면 각 서브넷은 해당 서브넷에서 릴레이 에이전트 역할을 할 수 있는 자체 DHCP 서버나 또 다른 컴퓨터가 있어야 합니다
DHCP/BOOTP relay agent DHCP 서버 1에서 DHCP 주소를 임대하는 방법의 예 ① 서브넷 2에 DHCPDISCOVER(DHCP/BOOTP 검색 메시지)를 보냄 ② 릴레이 에이전트는 DHCP/BOOTP 릴레이를 사용할 수 있는 라우터로서 DHCP/BOOTP 메시지에 존재하는 게이트웨이 IP 주소 필드를 조사합니다. 필드에 0.0.0.0이라는 IP 주소가 있으면 에이전트가 이를 릴레이 에이전 트나 라우터의 IP 주소로 채우고 DHCP 서버가 위치한 원격 서브넷 1로 메시지를 전달합니다
DHCP/BOOTP relay agent ③ 원격 서브넷 1에 있는 DHCP 서버 1이 메시지를 수신하면 DHCP 서버에서 IP 주소 임대를 제공하기 위해 사용하는 DHCP 범위의 게이트웨이 IP 주소 필드를 검사합니다 ④ DHCP 서버 1에 여러 개의 DHCP 범위가 있으면 게이트웨이 IP 주소 필드(GIADDR)에 있는 주소는 IP 주소 임대를 제공하는 DHCP 범위를 식별합니다 ⑤ DHCP 서버 1에서 DHCPDISCOVER 메시지를 수신하면 IP 주소 임대 제안(DHCPOFFER)을 처리하고 게이트웨이 IP 주소(GIADDR) 필드에서 식별된 릴레이 에이전트로 직접 보냅니다. ⑥ 그러면 라우터는 주소 임대 제안(DHCPOFFER)을 DHCP 클라이언트로 릴레이합니다.
참고자료 ① http://technet2.microsoft.com/windowsserver/ko/library/8e75e9f0-72e0-4b06- b6dd-abf88e652d3a1042.mspx?mfr=true - 마이크로 소프트 ②http://www.faqs.org/rfcs/rfc951.html - RFC - 951 ③ http://209.85.173.132/search?q=cache:mBUS4qpK5LYJ:computer.pufs.ac.kr/mboar d3/mboard/filedown.asp%3Fdown_num%3D86%26board_id%3Dsyseong01%26gro up_name%3D2005%26file%3D1+BOOTP&hl=ko&ct=clnk&cd=4&gl=kr - BOOTP ④ http://translate.google.co.kr/translate?hl=ko&sl=en&u=http://www.faqs.org/rfcs/rfc 1541.html&sa=X&oi=translate&resnum=1&ct=result&prev=/search%3Fq%3DRFC- 1541%26complete%3D1%26hl%3Dko%26lr%3D%26newwindow%3D1 - RFC - 1541 번역 ⑤ http://www.google.co.kr/imgres?imgurl=http://image.hanb.co.kr/blog/7609/118914 1772%40dhcp_03.png&imgrefurl=http://network.hanb.co.kr/view.php%3Fbi_id%3D 1435&h=385&w=503&sz=11&tbnid=UlaEFdcbSNgJ::&tbnh=100&tbnw=130&prev=/ images%3Fq%3Ddhcp&hl=ko&usg=__ltFdb6TAXeRWMPbc2ByhcQuFWEI=&sa=X&oi =image_result&resnum=13&ct=image&cd=1 - DHCP 구현과 이해
Q & A
감사합니다