Tech Juny

DHCP Relay와 DHCP Proxy 란? 본문

네트워크

DHCP Relay와 DHCP Proxy 란?

태크주니 2022. 12. 17. 22:16

DHCP Relay / DHCP Proxy


01. DHCP Relay 개요

보통 DHCP Server는 관리 하고싶은 같은 네트워크인 LAN 환경에 설치되어 동작한다.

각 가정에 가지고있는 iptime 공유기와 같이 같은 네트워크 내에 있는 PC나 다른 단말들에게 DHCP를 통해

IP를 동적으로 할당해 주는 방식이다.

그러나 기업이나 더 큰 망에는 LAN 환경마다 DHCP Server를 둘 수 없을 수도 있다.

그래서 다른 네트워크 망에 DHCP Server를 두고 여러 네트워크 LAN 환경에 대한 DHCP Server 역할을 해야된다.

L3 환경 DHCP

하지만 대부분의 DHCP 패킷들은 Broadcast 방식이라 다른 네트워크까지 패킷들이 전달 될 수가 없다.

이러한 경우에는 DHCP Relay라는 중간 장비를 두어 다른 네트워크에 있는 DHCP Server까지 DHCP 패킷들을 전달해

주어야 한다.

Relay 환경 DHCP

 

02. DHCP Relay 동작 과정

DHCP Relay 동작

DHCP Realy 동작 과정은 기본적인 DHCP Lease 과정과 비슷하지만 중간에 Server로 패킷을 대신 전달해 주는

Relay 동작만 추가 되었다고 보면 된다..

IP를 할당 받는 Client 입장에서의 동작과정은 동일하다.

하지만 DHCP Relay를 담당하는 장비는 Client에서 전달 받은 패킷을 Unicast 통신으로 DHCP Server로 전달한다.

반대로 DHCP Server가 송신하는 패킷도 Client에게 전달해주는 방식이다.

 

다음은 패킷 캡처를 위한 테스트 환경이다.

DHCP Relay 테스트 환경

 

Client는 기존처럼 DHCP Server를 찾기위한 Discover 패킷을 Broadcast으로 전송한다.

DHCP 클라이언트 측 Discover

  1. Src & Dst [MAC, IP, Port]
  2. Transaction ID : 해당 패킷의 응답에 발생한 패킷 동일한 ID로 전송
  3. Flags : 0x8000 (Broadcast) / 0x0000 (Unicast)
  4. DHCP Message Type : Discover 패킷
  5. Requested IP Address (Option 50): 과거의 Client가 사용한 요청 IP, 없다면 0.0.0.0 값이 들어 감
  6. Parameter Request List (Option 55): DHCP Server에게 요청하는 파라미터 정보

 

해당 Discover 패킷은 LAN 환경에 있는 DHCP Relay 장비로 전달되게 되고 Relay 동작을 하여 DHCP Server로 전달한다.

다음은 Relay Server에서 해당 Discover 패킷을 캡처한 것이다.

DHCP Relay 측 Discover

1번째 패킷은 Client로부터 Broadcast(255.255.255.255) 패킷으로 들어온 Discover 패킷이다.

1번째 패킷의 B 또한 Broadcast 패킷을 의미한다.

2번째 패킷은 Relay(100.100.100.1) 장비로부터 DHCP 서버(100.100.100.254)로 내보내는(Out) Discover 패킷이다.

덤프를 보면 해당 Discover 패킷은 그대로 Relay 장비가 DHCP Server로 전송하였다.

 

다음은 Relay 장비에서 Discover를 받은 DHCP Server로부터 온 Offer 패킷을 캡처한 것이다.

DHCP Relay 측 Offer

1번째 패킷은 DHCP 서버(100.100.100.254)로부터 Relay(100.100.100.1) 장비로 들어온(In) Offer 패킷이다.

2번째 패킷은 Relay(100.100.100.1) 장비로부터 Client(192.168.95.1)로 내보내는(Out) Offer 패킷이다.

이처럼 Relay 장비는 Unicast 통신으로 DHCP Server와 통신을 한다.

해당 패킷들의 다른 상세한 파라미터들는 이전 DHCP 글을 참고 해주시면 됩니다.

 

이후 Client 측에 Offer 패킷을 전달하고 그 뒤의 Request와 Ack 패킷은 위의 Relay 동작과 동일하다.

Client 측 Offer(우), Request(중), Ack(왼) 패킷 캡처

  1. Src & Dst [MAC, IP, Port]
  2. Hops : 통신을 거친 라우터 수
  3. Your IP: Client에 할당 할 IP 주소
  4. Relay agent IP : Relay 장비의 IP 주소
  5. DHCP Message Type 
  6. DHCP Server Identifier (Option 54): IP 할당 해지 요청 할 Server IP 주소
  7. Requested IP Address (Option 50): Client가 요청하는 IP

 

이러한 과정을 통해 Client는 다른 네트워크 망에있는 DHCP에서 부터 IP를 동적 할당 할 수 있다.

 

03. DHCP Proxy

DHCP Relay처럼 다른 네트워크에 있는 DHCP Server로부터 IP를 할당 받게 해주는 DHCP Proxy 장비도 존재한다.

기본적으로 다른 네트워크에 있는 DHCP Server에 대신 패킷을 전달해 주는 비슷한 역할을 하지만 사소한 차이점이 있다.

DHCP Relay와 DHCP Proxy의 IP를 할당 받는 Lease 과정은 동일하다.

차이점은 바로 IP를 반납하는 DHCP Release 과정과 IP를 재 할당 받는 DHCP Renewal 과정의 동작 방식이 다르다.

먼저 DHCP Relay 장비의 IP 해지(Release) 및 IP 갱신(Renewal)의 과정이다.

DHCP Relay의 Release / Renewal 동작

이전에 Lease 과정을 통해 Client는 다른 네트워크에 있는 DHCP Server의 존재를 알게 된다.

그래서 Release 동작과 Renewal 동작은 중간 단계인 Relay 장비를 거치지 않고 바로 DHCP Server로 패킷을 전송한다.

Relay는 중간 단계를 거치지 않기 때문에 불필요한 패킷 과정을 줄일 수 있어 네트워크 트래픽을 줄이는 장점이 있다.

 

다음은 DHCP Proxy 장비의 IP 해지(Release) 및 IP 갱신(Renewal)의 과정이다.

DHCP Proxy의 Release / Renewal 동작

DHCP Proxy 동작은 Lease 과정을 통해 이전에 IP를 할당 받아도 Client는 다른 네트워크에 있는 DHCP Server의

존재를 알지 못한다.

Client는 DHCP Proxy 장비를 DHCP Server로 생각하기 때문이다.

반대로 DHCP Server 또한 Proxy 장비를 Client로 인식하기 때문이다.

Proxy 장비는 이처럼 Server와 Client가 서로의 존재를 모르고 통신을 하기때문에 보안적인 장점도 있다.

Client가 해킹 공격을 당해도 진짜 Server의 존재는 모르기 때문에 다른 네트워크에 있는 DHCP Server는 안전하다.

그래서 Release 동작과 Renewal 동작은 무조건 중간 단계인 Proxy 장비를 통해서 DHCP Server로 패킷을 전송한다.

'네트워크' 카테고리의 다른 글

라우팅 이란?  (0) 2022.12.23
Unicast / Multicast / Broadcast 통신 방식 이란?  (0) 2022.12.21
DHCP 란?  (2) 2022.12.17
MAC 주소와 ARP 란?  (0) 2022.12.14
OSI 7 계층 이란?  (0) 2022.12.13
Comments