DHCP (Dynamic Host Configuration Protocol)
: 네트워크에 접속하기 위해서는 물리적인 네트워크 구성은 물론 IP 주소, 서브넷 마스크, 게이트웨이, DNS 주소 설정이 필요 한데, 이러한 정보를 자동으로 설정해주기 위한 프로토콜
: 별도의 IP 설정 작업 없이 네트워크에 접속할 수 있고, 사용하지 않는 정보는 회수되어 재사용할 수 있음
- 동적 할당
: DHCP를 통해 네트워크 정보를 설정하는 방법
- 정적 할당
: 직접 네트워크 정보를 설정하는 방법
- DHCP의 기반
: BOOTP (Bootstrap Protocol)을 기반으로 동작하며, BOOTP에서 지원하지 않는 추가 기능을 제공
: DHCP와 BOOTP는 호환성이 있어 DHCP와 BOOTP를 사용하는 클라이언트와 서버 간에 통신이 가능
DHCP의 동작 방식 (임대 과정)
- DHCP Discover (c to s)
: 클라이언트가 DHCP 서버를 찾기 위해 브로드캐스트로 DHCP Discover 메시지 전송
: DHCP 클라이언트의 IP가 아직 없으므로 출발지 주소는 0.0.0.0, 목적지 주소는 브로드캐스트 주소 (255.255.255.255)로 설정
: 출발지 포트는 UDP 68번 (bootpc), 목적지 포트는 UDP 67번 (bootps)을 사용
: IP를 할당받는 과정이므로 패킷을 정상적으로 주고 받을 수 없어 UDP를 사용
- DHCP Offer (s to c)
: DHCP Discover를 수신한 DHCP 서버가 클라이언트에 할당할 IP 주소와 서브넷, 게이트웨이 및 DNS 정보, Lease Time 등의 정보를 포함한 DHCP 메시지를 클라이언트로 전송
: DHCP IP Pool에서 할당할 IP를 선택하여 임의로 IP를 할당
: 클라이언트의 MAC 주소에 대해 할당할 IP를 미리 정의해둔 경우 고정된 IP 할당 가능
- DHCP Request (c to s)
: DHCP 서버로 부터 제안 받은 IP 주소, DHCP 서버 정보를 포함한 DHCP 요청 메시지를 브로드캐스트로 전송
: DHCP 서버가 여러 대가 동작하는 환경을 고려하여 브로드캐스트로 전송하며, 응답을 받은 DHCP 서버들은 메시지 내에 정의된 Identifier를 통해 자신이 제안한 IP인지 알 수 있음
- DHCP Ack (s to c)
: 클라이언트로 부터 IP 주소를 사용하겠다는 요청을 받고 DHCP 서버에 해당 IP를 어떤 클라이언트가 언제부터 사용했는지 기록하고 메시지를 정상적으로 수신했다는 응답 전송
: 클라이언트는 이 패킷을 받고 할당받은 IP를 로컬에 설정하여 사용
DHCP의 갱신 절차
: DHCP 서버에서 IP를 할당 받은 후 임대 시간의 50%가 지나면 갱신 과정을 수행할 수 있음
: DHCP 서버로 바로 request를 전송하고 갱신 과정 진행 (유니캐스트)
: 첫 갱신이 실패하면 임대 시간의 75%가 지난 시점에 다시 갱신 시도
: 두 번째 갱신에도 실패할 경우 임대 시간이 완료된 후 IP를 반납하고 처음부터 다시 할당 받음
- 갱신 절차
: DHCP Request (c to s)
: DHCP Ack (s to c)
- 임대 시간
: 클라이언트가 어느정도 고정되어있고 IP 풀 범위가 넓으면 임대 시간을 길게 잡아도 무방
: 클라이언트가 불특정 하면서 자주 바뀌는 경우에는 임대 시간을 짧게 잡는 것이 더 좋음
DHCP의 메시지 타입
- DHCP Discover
: 클라이언트가 DHCP 서버를 탐색
- DHCP Offer
: DHCP 서버가 클라이언트에게 IP를 제안
- DHCP Request
: 클라이언트가 DHCP 서버가 제안한 IP를 요청
- DHCP Decline
: 해당 IP가 이미 사용중임을 클라이언트에게 알림
- DHCP Ack
: DHCP 서버가 해당 IP를 사용할 수 있다고 클라이언트에게 알림
- DHCP Nak
: DHCP 서버가 해당 IP를 수락하지 않았다고 클라이언트에게 알림
- DHCP Release
: 클라이언트가 현재 IP를 반납
- DHCP Inform
: 클라이언트가 서버에 IP를 요청
DHCP 서버의 구성
- IP 주소 풀
: 클라이언트에 할당할 IP 주소 범위
- 예외 IP 주소 풀
: 클라이언트에게 할당하지 않을 IP 주소 범위
- 임대 시간
: 기본 IP 임대시간
- 서브넷 마스크
: 클라이언트에 할당할 서브넷 마스크
- 게이트웨이
: 클라이언트에 할당할 게이트웨이 주소
- DNS
: 클라이언트에 할당할 DNS 주소
DHCP 릴레이 에이전트 (중계 에이전트)
: 네트워크 영역이 나뉘어 있는 환경에서는 클라이언트의 요청 브로드캐스트가 불가능 하므로, 네트워크 영역마다 DHCP 서버를 두어야함
: 릴레이 에이전트를 두면 DHCP 서버 한 대로 여러 네트워크 대역에서의 IP 풀을 관리할 수 있음
: 릴레이 에이전트는 서버와 클라이언트와 다른 대역에 위치하여 DHCP 패킷을 중간에서 중계 함
: 릴레이 에이전트와 DHCP 서버는 유니캐스트 통신하여 에이전트를 통해 클라이언트로 통신을 수행
- 통신 방식
: 클라이언트 - DHCP 릴레이 에이전트 = 브로드 캐스트
: DHCP 릴레이 에이전트 - DHCP 서버 = 유니캐스트
- 조건
: DHCP 릴레이 에이전트는 클라이언트와 같은 2계층 네트워크 내에 존재해야하며, DHCP 서버에는 DHCP 릴레이 에이전트의 IP 주소가 등록되어 있어야함
Reference
'Computer Science > Network' 카테고리의 다른 글
네트워크 인프라 10. 보안 (0) | 2023.03.11 |
---|---|
네트워크 인프라 9. 네트워크 상태 확인 방법 (0) | 2023.03.11 |
네트워크 인프라 7. DNS (2) | 2023.03.11 |
네트워크 인프라 6. NAT / PAT (0) | 2023.03.11 |
네트워크 인프라 5. 전송 계층 장비 (0) | 2023.03.01 |