DHCP (동적 호스트 구성 프로토콜)
기관은 ISP로 부터 주소 블록을 획득하고, 개별 IP 주소를 기관 내부의 호스트와 라우터 인터페이스에 할당한다. 시스템 관리자는 라우터 인터페이스 주소에 대해 IP 주소를 할당한다.
→ 수동으로도 가능하지만, 동적 호스트 구성 프로토콜을 많이 사용 한다.
- 호스트가 네트워크에 접속하고자 할 때마다 동일한 IP 주소로 받거나, 다른 임시 IP주소로 받도록 DHCP를 설정한다.
- 호스트 IP 주소 할당 뿐 아니라, 서브넷 마스크, 디폴트 게이트웨이, 로컬 DNS 서버 주소와 같은 추가 정보를 얻게 해준다.
- 이렇게 자동으로 호스트와 연결해주는 능력 때문에 플러그 앤 플레이 프로토콜, 제로 구성 프로토콜 이라고도 한다.
DHCP는 호스트가 빈번하게 변경되는 가정,기업 네트워크 무선 랜에서 폭넓게 사용된다.
예를 들어 학생이 노트북을 가지고 기숙사 -> 강의실로 이동할 때, 학생은 각 지역에서 새로운
서브넷에 속하게 될 것이며, 각 지역마다 IP 주소가 필요할 것이다.
-> 많은 사용자가 이동하고, 주소들이 제한된 시간 동안에만 필요할 경우 DHCP는 적합하다.
DHCP 동작 과정
- DHCP 클라이언트가 DHCP Discover 메시지를 브로드 캐스트 : DHCP에 접속하는 클라이언트는 DHCP Discover 메시지를 포함한 패킷을 생성하여 목적지 IP 주소를 255.255.255.255, 출발지 IP 주소를 0.0.0.0 으로 설정하여 링크 계층으로 보내고, 해당 프레임은 서브넷에 연결된 모든 노드로 브로드캐스트 된다.
- DHCP 서버가 DHCP offer 메시지를 브로드 캐스트
- 이 때도 255.255.255.255 를 사용하여 서브넷의 모든 노드로 브로드 캐스트 한다. 왜? 여러 서브넷에 DHCP 서버가 존재하기 때문에 가장 최적에 위치한 DHCP 서버를 선택하기 위해서
- DHCP offer 메시지에는 수신된 offer 메시지의 트랜잭션 ID, 클라이언트에 제공할 IP주소, 네트워크 마스크, 주소 임대 기간을 포함한다
- DHCP 서버들 중 하나를 선택하여 DHCP Request 메시지 전송
- 선택한 DHCP 에게 파라미터 설정값을 요청하는 요청 메시지 전송
- 서버는 확인 했다는 DHCP ACK 메시지 전송
- 클라이언트가 DHCP ACK을 받으면 상호작용이 종료되고 클라이언트는 임대 기간동안 할당 IP 주소를 사용할 수 있다.
- 임대 기간 만료 후에도 해당 주소를 사용할 경우, 클라이언트가 IP 주소 임대를 갱싱할 수 있게 하는 메커니즘을 제공한다.
- 새로운 서브넷에 연결을 시도할 때 마다 새로운 IP 주소를 얻기 때문에 이동 노드가 서브넷 사이를 이동할 때 원격 APP에 대한 TCP 연결을 유지할 수 없다.