DHCP 릴레이란 무엇인가?
네트워크에 연결된 컴퓨터는 일반적으로 IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버 등의 네트워크 정보를 필요로 합니다.
이러한 정보를 자동으로 할당해 주는 대표적인 프로토콜이 DHCP(Dynamic Host Configuration Protocol)입니다.
그런데 DHCP 서버와 컴퓨터가 서로 다른 네트워크에 있다면 문제가 발생할 수 있습니다.
DHCP 클라이언트가 처음 네트워크에 연결되면 브로드캐스트 방식으로 DHCP 서버를 찾는데, 일반적인 라우터는 브로드캐스트를 다른 네트워크로 그대로 전달하지 않기 때문입니다.
이때 사용하는 기술이 DHCP 릴레이(DHCP Relay)입니다.
DHCP 릴레이는 서로 다른 네트워크에 있는 DHCP 클라이언트와 DHCP 서버 사이에서 DHCP 메시지를 전달해 주는 역할을 합니다.
쉽게 말하면 DHCP 서버가 다른 네트워크에 있어도 IP 주소를 자동으로 할당받을 수 있도록 DHCP 요청을 전달해 주는 기능입니다.
DHCP 릴레이가 필요한 이유
DHCP 릴레이가 왜 필요한지 이해하려면 먼저 일반적인 DHCP 환경을 살펴볼 필요가 있습니다.
DHCP 서버와 클라이언트가 같은 네트워크에 있다면 비교적 간단합니다.
DHCP 클라이언트
↓
DHCP 브로드캐스트
↓
DHCP 서버
↓
IP 주소 할당
하지만 DHCP 서버가 다른 네트워크에 있다면 구조가 달라집니다.
네트워크 A
PC
↓
라우터
↓
네트워크 B
DHCP 서버
PC가 DHCP 서버를 찾기 위해 브로드캐스트를 보내더라도 라우터가 이 브로드캐스트를 다른 네트워크까지 그대로 전달하지 않습니다.
이 문제를 해결하기 위해 라우터나 L3 스위치에 DHCP 릴레이 기능을 설정할 수 있습니다.
DHCP 릴레이의 기본 구조
DHCP 릴레이를 사용하는 네트워크는 다음과 같이 구성할 수 있습니다.
DHCP 클라이언트
192.168.10.0/24
│
↓
L3 스위치
│
DHCP Relay
│
↓
DHCP 서버
10.0.0.10
클라이언트가 DHCP 요청을 보내면 L3 스위치가 해당 요청을 받아 DHCP 서버가 있는 다른 네트워크로 전달합니다.
이렇게 하면 DHCP 서버를 각 네트워크마다 별도로 설치하지 않고 하나의 DHCP 서버를 여러 네트워크에서 사용할 수 있습니다.
DHCP 릴레이는 어떻게 동작할까?
DHCP 릴레이의 동작 과정을 간단하게 살펴보겠습니다.
먼저 컴퓨터가 네트워크에 연결되고 DHCP 서버로부터 IP 주소를 받기 위해 DHCP 요청을 전송합니다.
일반적으로 클라이언트는 처음에는 자신의 IP 주소를 알지 못하기 때문에 브로드캐스트 방식으로 DHCP 서버를 찾습니다.
클라이언트
↓
DHCP Discover
↓
DHCP Relay
↓
DHCP 서버
DHCP 릴레이 장비는 클라이언트가 보낸 DHCP 메시지를 받아 DHCP 서버가 있는 네트워크로 전달합니다.
DHCP 서버가 IP 주소를 선택하면 응답 메시지를 DHCP 릴레이를 통해 다시 클라이언트에게 전달할 수 있습니다.
전체 과정은 다음과 같이 볼 수 있습니다.
클라이언트
↓
DHCP Discover
↓
DHCP Relay
↓
DHCP 서버
↓
DHCP Offer
↓
DHCP Relay
↓
클라이언트
이후 DHCP Request와 DHCP ACK 과정을 거쳐 클라이언트가 IP 주소와 네트워크 정보를 할당받게 됩니다.
DHCP Discover란 무엇인가?
DHCP 릴레이를 이해하려면 DHCP 메시지의 종류도 알아두면 좋습니다.
가장 먼저 등장하는 것이 DHCP Discover입니다.
클라이언트가 네트워크에 연결된 후 DHCP 서버를 찾기 위해 보내는 메시지입니다.
클라이언트는 처음에는 DHCP 서버의 주소를 알지 못하기 때문에 DHCP Discover를 브로드캐스트 형태로 전송합니다.
PC
↓
"DHCP 서버 어디 있나요?"
↓
DHCP Discover
DHCP 릴레이는 이 요청을 받아 DHCP 서버가 있는 네트워크로 전달합니다.
DHCP Offer란 무엇인가?
DHCP 서버가 DHCP Discover를 확인하면 클라이언트에게 사용할 수 있는 IP 주소와 네트워크 정보를 제안합니다.
이 메시지가 DHCP Offer입니다.
예를 들어 다음과 같은 정보가 포함될 수 있습니다.
IP 주소
192.168.10.100
서브넷 마스크
255.255.255.0
게이트웨이
192.168.10.1
DNS 서버
192.168.10.10
클라이언트는 DHCP Offer를 확인하고 사용할 IP 주소를 선택하는 과정을 진행합니다.
DHCP Request란 무엇인가?
클라이언트가 DHCP 서버의 제안을 받아들이면 DHCP Request 메시지를 전송합니다.
쉽게 말하면 클라이언트가 해당 IP 주소를 사용하겠다고 요청하는 과정입니다.
DHCP Offer
↓
"이 IP 주소를 사용할래?"
↓
DHCP Request
↓
"네, 이 주소를 사용하겠습니다."
DHCP 릴레이를 사용하는 환경에서는 이러한 메시지가 릴레이 장비를 통해 DHCP 서버와 클라이언트 사이에서 전달될 수 있습니다.
DHCP ACK란 무엇인가?
DHCP 서버가 클라이언트의 요청을 승인하면 DHCP ACK 메시지를 전송합니다.
이 과정을 통해 클라이언트는 최종적으로 IP 주소와 필요한 네트워크 설정 정보를 사용할 수 있게 됩니다.
전체 DHCP 과정은 흔히 다음과 같이 정리합니다.
Discover
↓
Offer
↓
Request
↓
ACK
이를 DORA 과정이라고 부르기도 합니다.
DHCP 릴레이와 브로드캐스트
DHCP 릴레이를 이해하는 데 가장 중요한 개념 중 하나가 브로드캐스트입니다.
DHCP 클라이언트는 처음부터 DHCP 서버의 위치를 알 수 없기 때문에 브로드캐스트를 이용해 DHCP 서버를 찾습니다.
하지만 라우터는 일반적으로 브로드캐스트를 다른 네트워크로 전달하지 않습니다.
따라서 DHCP 릴레이가 중간에서 DHCP 메시지를 받아 서버가 있는 네트워크로 전달해 주는 것입니다.
[클라이언트 네트워크]
DHCP Broadcast
↓
DHCP Relay
↓
[서버 네트워크]
DHCP Server
이것이 DHCP 릴레이가 필요한 가장 핵심적인 이유입니다.
DHCP 릴레이와 라우터의 관계
DHCP 릴레이 기능은 라우터나 L3 스위치에서 제공되는 경우가 많습니다.
예를 들어 회사 네트워크를 다음과 같이 구성할 수 있습니다.
VLAN 10
192.168.10.0/24
│
↓
L3 스위치
│
↓
DHCP Server
10.0.0.10
L3 스위치에 DHCP 릴레이 설정을 적용하면 VLAN 10에 연결된 컴퓨터들이 별도의 DHCP 서버 없이 중앙 DHCP 서버에서 IP 주소를 받을 수 있습니다.
VLAN 환경에서 DHCP 릴레이
DHCP 릴레이는 VLAN 환경에서 특히 많이 사용됩니다.
예를 들어 회사에서 부서별로 VLAN을 나눴다고 가정해 보겠습니다.
VLAN 10 → 영업팀
VLAN 20 → 구매팀
VLAN 30 → 개발팀
각 VLAN마다 DHCP 서버를 따로 설치하는 대신 하나의 중앙 DHCP 서버를 사용할 수 있습니다.
VLAN 10 ─┐
VLAN 20 ─┼─ L3 스위치 ─ DHCP 서버
VLAN 30 ─┘
L3 스위치가 DHCP 릴레이 역할을 수행하면 각각의 VLAN에서 발생한 DHCP 요청을 중앙 DHCP 서버로 전달할 수 있습니다.
이 방식은 기업 네트워크에서 DHCP 서버를 효율적으로 관리하는 데 도움이 됩니다.
DHCP 릴레이를 사용하는 장점
DHCP 릴레이를 사용하면 여러 가지 장점이 있습니다.
첫 번째는 DHCP 서버를 중앙에서 관리할 수 있다는 것입니다.
여러 네트워크가 존재하더라도 각각의 네트워크마다 DHCP 서버를 설치할 필요가 줄어듭니다.
두 번째는 네트워크 관리가 편리해진다는 것입니다.
IP 주소 할당 정책이나 임대 시간을 중앙 DHCP 서버에서 관리할 수 있습니다.
세 번째는 VLAN이나 여러 서브넷 환경에서 DHCP를 사용할 수 있다는 것입니다.
네트워크가 여러 개로 나뉘어 있어도 DHCP 릴레이를 이용하면 하나의 DHCP 서버를 공유할 수 있습니다.
DHCP 릴레이의 활용 사례
DHCP 릴레이는 주로 여러 네트워크를 운영하는 환경에서 활용됩니다.
대표적으로 다음과 같은 환경이 있습니다.
- 기업 사내 네트워크
- 대학교 및 학교 네트워크
- 공공기관 네트워크
- 대규모 사무실
- 데이터센터
- 여러 VLAN을 사용하는 네트워크
- 여러 지점이 연결된 기업 네트워크
특히 VLAN이 많은 기업 네트워크에서는 중앙 DHCP 서버와 DHCP 릴레이를 함께 구성하는 경우가 많습니다.
DHCP 서버를 네트워크마다 설치하면 안 될까?
물론 각 네트워크마다 DHCP 서버를 별도로 설치하는 것도 가능합니다.
하지만 네트워크가 많아질수록 관리해야 하는 DHCP 서버도 증가합니다.
예를 들어 20개의 네트워크가 있다면 각각 별도의 DHCP 서버를 운영하는 것보다 중앙 DHCP 서버 하나를 두고 DHCP 릴레이를 이용하는 방식이 관리 측면에서 효율적일 수 있습니다.
여러 DHCP 서버 방식
네트워크 1 → DHCP 서버
네트워크 2 → DHCP 서버
네트워크 3 → DHCP 서버
네트워크 4 → DHCP 서버
DHCP 릴레이 방식
네트워크 1 ─┐
네트워크 2 ─┤
네트워크 3 ─┼─ DHCP Relay ─ 중앙 DHCP 서버
네트워크 4 ─┘
다만 실제 네트워크에서는 장애 대응이나 보안, 가용성 등을 고려하여 DHCP 서버를 이중화하는 등의 구성을 사용할 수 있습니다.
DHCP 릴레이와 DHCP의 차이
두 개념을 헷갈리지 않는 것이 중요합니다.
DHCP는 클라이언트에게 IP 주소와 네트워크 정보를 자동으로 할당하기 위한 프로토콜입니다.
반면 DHCP 릴레이는 DHCP 서버와 클라이언트가 서로 다른 네트워크에 있을 때 DHCP 메시지를 전달해 주는 기능입니다.
쉽게 정리하면 다음과 같습니다.
DHCP
→ IP 주소를 자동으로 할당
DHCP Relay
→ DHCP 요청과 응답을 다른 네트워크까지 전달
따라서 DHCP 릴레이는 DHCP를 대체하는 기술이 아니라 DHCP가 서로 다른 네트워크에서도 정상적으로 동작할 수 있도록 도와주는 기능이라고 이해하면 됩니다.
DHCP 릴레이를 쉽게 이해하는 방법
DHCP 릴레이는 우편물을 전달해 주는 중간 전달자와 비슷하게 생각하면 쉽습니다.
컴퓨터가 DHCP 서버에게 IP 주소를 요청하지만 DHCP 서버가 다른 건물에 있다고 가정해 보겠습니다.
컴퓨터가 직접 서버를 찾아갈 수 없다면 중간 전달자가 요청을 받아 서버에게 전달하고, 서버의 답변을 다시 컴퓨터에게 전달할 수 있습니다.
네트워크에서 이 역할을 하는 것이 DHCP 릴레이입니다.
컴퓨터
"IP 주소 주세요."
↓
DHCP Relay
"이 요청을 서버에게 전달"
↓
DHCP 서버
"192.168.10.100을 사용하세요."
↓
DHCP Relay
↓
컴퓨터
결론
DHCP 릴레이는 DHCP 클라이언트와 DHCP 서버가 서로 다른 네트워크에 있을 때 DHCP 메시지를 전달해 주는 기능입니다.
DHCP 클라이언트는 처음 네트워크에 연결되면 DHCP 서버를 찾기 위해 브로드캐스트를 전송하지만, 일반적인 라우터는 브로드캐스트를 다른 네트워크로 전달하지 않습니다.
DHCP 릴레이는 이러한 문제를 해결하기 위해 클라이언트의 DHCP 요청을 받아 DHCP 서버가 있는 다른 네트워크로 전달합니다.
특히 여러 VLAN이나 서브넷을 사용하는 기업 네트워크에서는 하나의 중앙 DHCP 서버를 여러 네트워크에서 활용할 수 있기 때문에 관리 측면에서 유용합니다.
DHCP와 DHCP 릴레이의 차이도 간단하게 구분할 수 있습니다.
DHCP가 IP 주소를 자동으로 할당하는 프로토콜이라면 DHCP 릴레이는 DHCP 서버와 클라이언트 사이에서 요청과 응답을 전달하는 역할을 합니다.
결국 DHCP 릴레이는 여러 네트워크 환경에서 DHCP를 효율적으로 사용할 수 있도록 연결해 주는 중요한 네트워크 기능이라고 할 수 있습니다.