본문 바로가기
IT Network System/Network

DHCP

by Skills 2021. 1. 17.
728x90

* DHCP(Dynamic Host Configuration Protocol)

 - DHCP는 IP 자원의 효율적인 관리를 위해 태어났다.

 

* DHCP 운용의 장단점

 ① 장점

  - 효율적인 네트워크 관리 : 한 회사에 사원이 10000명이 있다. 만약에 고정 IP를 쓰게 된다면 IP를 10000개 써야 한다. 하지만 하루에 10000명의 모든 사원이 다 출근하는 것이 아니다. 연차, 휴가 등으로 인해 8000명 정도 왔다고 치면 DHCP를 사용할 땐 IP를 8000개만 써도 되는 것이다. 그러면 고정 IP를 쓸 때보다 효율적인 관리(IP 낭비 X)가 가능하다. 

  - IP 방식에 비해 사용자 IP 망 설계변경이 자유롭다. 사용자에게 DHCP IP를 할당할 경우 네트워크 정보가 바뀌더라도 DHCP 서버에만 네트워크 정보를 변경해 주면 되므로 네트워크 정보 변경이 유연하다.

 

 ② 단점

  - DHCP 요구 단말은 초기 부팅 시 broadcast 트래픽(dhcp discover 메시지)을 유발

   => 한 개의 VLAN의 설정 범위에 있는 모든 단말에 전송되므로 네트워크의 성능 저하 발생 가능

  - PC전원을 OFF 할 경우 Lease Time까지 IP가 다른 단말에 할당되지 못하게 되어 IP주소 낭비가 발생

  - IP를 할당해주는 서버에 전적으로 의존

   => 서버가 다운되면 IP를 받을 수 없으므로 인터넷을 사용할 수 없게 된다.

 

* DHCP 특징

 ① 클라이언트 / 서버 형태의 동작

  - 동적인 구성 정보를 요청/제공하는 프로토콜

  - DHCP 클라이언트(요청) 및 서버(응답)가 동일 서브넷에 함께 있을 수도, 다른 망에 분리될 수도 있음 (이 경우, DHCP Relay Agent가 작동)

 

 ② 프로토콜 및 포트

  - 수송(Transport Layer)용 프로토콜 : UDP

  - 사용 포트

   => DHCPv4 : 67(서버용) / 68(클라이언트용)

   => DHCPv6 : 546(서버 송출, 클라이언트 청취) / 547(서버 청취, 클라이언트 송출)

 

* DHCP 동작 방식

출처 : https://jwprogramming.tistory.com/35

 ① Discover (발견)

  - 동일 서브넷에 위치하는 DHCP 서버를 찾기 위해 DHCP Discover 메시지를 이더넷 망에 브로드캐스팅한다. 이를 통해 동일 서브넷 상에 있는 모든 DHCP 서버들은 이 메시지를 수신한다.

 

 ② Offer (제공)

  - Discover 메시지를 받은 DHCP 서버는 사용가능한 IP주소 하나를 포함한 DHCP 패킷을 만들어 브로드캐스트. 만약 하나의 네트워크에 여러 개의 DHCP 서버가 있다면 모두 같은 작업을 함.

 

 ③ Request (요청)

  - DHCP 서버로부터 IP주소를 받은 DHCP 클라이언트가 즉시 IP주소를 사용하지 않고 자신에게 IP주소를 임대해준 서버의 IP주소를 포함한 패킷을 만들어 다시 네트워크에 브로드캐스트

*** 이짓을 왜 하냐? ==> 하나의 네트워크에 여러 대의 DHCP 서버가 있을 수 있기 때문이다.

 

 ④ Ack (수락)

  - DHCP 클라이언트로부터 DHCP Request 브로드캐스트를 받은 dhcp 서버는 다음의 두 가지 작업 중 한 가지 작업을 한다.

 - 자신(DHCP 서버)가 채택되지 않았다면? : DHCP 서버는 해당 IP주소를 자신의 주소 풀에 유지

 - 자신(DHCP 서버)가 채택되면? : IP주소 임대 기간 등의 옵션을 담은 수신확인(Acknoledge) 패킷을 만들어 최종적으로 브로드캐스트

 

* 50%

 - 2/1시점이 될 때다시 Request ack를 보낸다. 나 다시 쓴다 이런 식으로 (이때는 이미 서버의 IP를 알고 있으니까 유니캐스트로 통신)

 - 서버가 응답을 하지 않으면 50%부터 87.5%까지 계속 Request ack를 보낸다.

 

* 87.5%

 - 8/7이 되는 시점에는 브로드캐스트로 다시 처음(Discover)부터 요청을 시작한다. 근데 응답이 없으면 결국 서버가 없다고 판단해서 폐기 처분한다. 그래서 그때 받아오는 IP169.254.x.x이다.

 

* APIPA(Automatic Private IP Addressing)

 - DHCP 서버에게 정상적인 IP주소를 받아오지 못할 때 받는 169.254.x.x이 아이피는 윈도우에서만 사용한다.

 - 이 IP를 받아온다? 그럼 3가지를 생각할 수 있다.

  ① 우리 회사는 고정 IP를 쓰나보다!

  ② Network에 문제가 생겨서 PC에서 DHCP서버를 찾을 수 없다!

  ③ DHCP Server에 문제가 생겼다!

 

* DHCP Binding

 - DHCP 서버는 반드시 사용하려고 하는 네트워크 대역 중 하나의 IP를 고정 IP로 설정해야 한다. (Binding 주소)

 - 10.0.0.0/24 DHCP 서비스 하려면 서버는 반드시 10.0.0.1~10.0.0.254 중의 하나의 IP를 가지고 있어야 한다. (이 조건을 벗어날 수 있는 경우는 DHCP Relay agent가 있는 경우이다.)

 

* DHCP Relay Agent

 - 컴퓨터는 IP를 받기 위해 브로드캐스트를 뿌린다. 하지만 브로드캐스트는 다른 네트워크 대역으로 갈 수 없다. 그래서 각 네트워크에 Relay Agent 서버를 둔다. 이 서버가 클라이언트에게 브로드캐스트를 받으면 다른 네트워크에 있는 DHCP 서버로 유니캐스트 한다.

 - DHCP 서버에게 대신 전달해주는 역할 (DHCP 서버를 한 곳에 두어 관리가 편하다)

728x90

'IT Network System > Network' 카테고리의 다른 글

OSI 7 Layer  (0) 2021.01.19
Cloud  (0) 2021.01.19
DNS  (0) 2021.01.15
Proxy  (0) 2021.01.14
인증 기관(CA)  (0) 2020.12.17

댓글