탕구리's 블로그

[네트워크 개론] 네트워크 서비스 1편 DHCP 본문

Conception/Computer Network

[네트워크 개론] 네트워크 서비스 1편 DHCP

탕구리당 2019. 2. 27. 23:20
반응형


시작하기 전에

해당 블로그에 작성되는 글은 주인장의 지극히 주관적인 생각이 다수이며, 대부분의 지식은 구글링을 통해 얻고 있기 때문에 옳지않은 정보가 있습니다. 

잘못된 부분이나 수정해야 하는 부분이 있다면 과감히 덧글을 남겨주세요! 모르는게 많은 새싹입니다




오늘의 주제

오늘의 주제는 "네트워크 개론편"  네트워크 서비스 입니다.  네트워크 서비스가 무엇인지, 네트워크 서비스에는 어떤 종류가 있는 지 알아보도록 하겠습니다.




네트워크 서비스?

서비스란 서버가 네트워크에서 제공하는 기능들을 말한다. 예를 들어 호스트들 간의 파일을 공유하거나 프린터를 공유하는 것도 이런 서비스의 하나에 속합니다. 이러한 서비스에는 컴퓨터가 자신을 자원을 공유하거나, 네트워크 전체를 원활하게 관리 및 운영하기 위해 반드시 필요합니다. 



DHCP (Dynamic Host Configuration Protocol)

DHCP와  DNS는 네트워크를 관리 운영하는 대표적인 서비스 입니다. 이 중에서도 오늘은 DHCP에 대해서 집중적으로 알아보려 합니다.
간단하게 얘기해 볼 때, DHCP는 클라이언트에게 네트워크의 할당이나 IP 주소의 할당을 자동화 하는 역할을 합니다.
클라이언트가 DHCP 서버에 요청을 보내면 해당 서버는  클라이언트에게 서버가 가지고 있는 IP Pool에서 사용 가능한 IP를 할당하여 줍니다.
DHCP는 보통 라우터에 같이 탑재되지만, 별도로 서버에도 설치가 가능하다고 합니다.
DHCP는 크게 3가지의 기능을 합니다. IP의 임대, IP의 갱신,  IP의 반환 입니다. 


임대 (Lease)

DHCP가 클라이언트에게 특정 기간동안 IP를 빌려주는 것을 말한다. 임대기간은 보통 8일 정도의 기간이다. 임대기간이 끝나면 DHCP의 IP Pool로 를 반환하며 유동인구가 많은 도심지나 시내의 경우 이 기간을 짧게(2~3시간)으로 설정하여, IP가 빠른 회전률을 갖도록 한다.



DHCP의 IP 할당 순서

DHCP의 IP 할당 순서는 다음과 같다.


1. DHCP Discover

- IP를 가지지 않는 클라이언트는 MAC 주소를 기반으로 IP를 할당 받는다. IP를 할당받기 위해서는 로컬 네트워크의 Discover packet을 broadcast한다. Discover packet이 broadcast되는 경우, 해당 호스트가 속한 네트워크의 모든 호스트에게 패킷이 전달되지만, DHCP 서버를 제외한 모든 호스트는 패킷을 파기하고 DHCP에 Discover packet이 정상적으로 도착한 경우, 다음 단계로 넘어간다.


2. DHCP Offer

- 현재 DHCP 서버는 클라이언트로 부터 Discover packet을 수신한 상태이며 , 그 후  offer packet을 broadcast 한다. MAC 주소에는 Discover 패킷을 발행한 호스트의 MAC 주소를 담아 송신하게 된다.


3. DHCP Request

- 3단계에서는 클라이언트가 DHCP서버의 offer packet를 받게 되고 같은 네트워크안에 DHCP 서버가 존재한다고 해당 패킷을 수신함으로서 판단한다. 클라이언트는 DHCP로 부터 IP를 할당 받기 위해 request 패킷을 송신하며, DHCP는 클라이언트가 보낸 request 패킷을 수신할 경우 4단계로 넘어간다.


4. DHCP ACK

- 자! 드디어 마지막 단계이다. DHCP가 클라이언트가 보낸 request 패킷을 수신한경우, IP 풀에서 할당 할 수 있는 IP가 뭐가 있나 뒤적뒤적(?)이기 시작한다. 보통 IP 주소는 192.168.0.2 ~ 0.254 까지 임대풀에 넣어 둔다. 이 경우 일반적으로  IP의 할당은 가장 앞쪽에 비어있는 IP부터 할당하게 된다. 할당할 IP를 찾은 경우 IP주소를 패킷에 담아 응답하게 되고 클라이언트가 정상적으로 해당 패킷을 수신한 경우 IP가 할당된다.


위의 DHCP에서 Client에게 IP를 할당하는 과정을 "DORA"라고 한다.



하나의 네트워크에 DHCP 서버가 여러대인 경우는?

DHCP에서 4단계에 걸쳐서 IP를 할당하는 이유중 하나는 위와 같은 경우 때문입니다. 하나의 네트워크에 여러대의 DHCP 서버가 존재하는 경우 네트워크 내의 모든 DHCP 서버에 모두 Discover 패킷이 송신되게 됩니다. 패킷을 받은 모든 서버는 해당 패킷에 등록된 MAC 주소로 응답을 하고 클라이언트는 다수의 Offer 패킷을 수신하게 됩니다. 하지만 클라이언트는 하나의 Offer 패킷에만 응답을 하기 때문에 한대의 DHCP 서버로 부터 하나의 IP만 할당 받을 수 있습니다.



고정 IP를 사용하는 경우는?

DHCP는 해당 서버에서 임대가능한 IP 풀 범위 내에서 IP를 할당해주기 때문에 사용중인 IP인지 아닌지에 대한 정보를 정확히 알지 못합니다. 만약 고정 IP로 사용중인 IP를 클라이언트에게 할당해주게 된다면 IP가 충돌하는 현상이 일어나죠.

이런 경우 IP 주소 풀을 옮기거나 DHCP의 예약기능을 통해 해당 IP에 대해 임대기간을 -1로 설정하면 무한대에 가까운 임대기간 동안 IP를 이용할 수 있습니다.



갱신 (Renewal)

IP 갱신의 경우 위의 "DORA" 과정 중에서 RA에 해당하는 부분만 재실행 됩니다.  IP가 정상적으로 임대된 경우 IP 임대 갱신은 총 두번 발생한다. 첫번째 임대 갱신은 임대시간이 50% 지났을때, 두번째 임대갱신은 87.5%가 지났을 때이다. 여기서 왜 임대갱신이 두 번이지? 라는 의문이 생길 수 있는데, DHCP의 임대갱신이 두번인 이유는 임대 갱신 동안 네트워크의 불안정이나 DHCP 서버의 불안정으로 제대로 임대갱신이 이루어지지 않을 경우를 대비하기 위해서 이다.



반환 (Release)

그냥 말그대로, IP 임대기간이 끝나게 되면 IP를 DHCP 서버에 반환한다. 참 쉽죠~?



전체적으로 DHCP의 IP 할당부터 갱신, 반환에 이르기까지의 과정은 아래 그림을 보면 알 수 있습니다.





+ 추가 정보


DHCP Relay Agent

일반적으로 BroadCast 패킷은 라우터(게이트웨이) 밖의 영역으로 넘어가지 못한다. 가정에 존재하는 PC의 경우 공유기로부터 사설 IP를 할당 받아 쓰기 때문에 DHCP 서버가 라우터 밖에 존재할 경우가 없지만, 기업의 경우 DHCP가 라우터 밖에 존재하는 경우가 있다. 이 경우 패킷이 라우터 바깥 영역으로 전달될 수 있도록 Unicast로 변환하여 전송해야 한다. DCHP Relay Agent가 해당 역할을 해준다 (일반적으로 DHCP는 라우터 내에 존재하는 경우가 많기 때문)




이렇게 오늘은 "네트워크 서비스" 중에서도  관리 및 운영을 담당하는 서비스 DHCP에 대해서 알아 보았습니다. 자료를 많이 찾아 봤는데 대부분 고만고만 해서 대부분의 내용은 나무위키를 참고하였고, 제가 필요하다고 생각하는 수준에 한하여 블로그에 정리를 하게 되었습니다.



참고 => 여기! (DHCP - 나무위키)

반응형
Comments