실습은 패킷 트레이서를 통해 진행되었으므로
설정하는 방법 보다는 DNS 와 DHCP 의 역할과 어떻게 동작하는 지 위주로 복습하자!
DNS 는 서버의 IP 주소를 사람이 이해하기 쉽게 바꾼 도메인 명으로
DNS 서버에 등록된 정보를 통해 DNS Query
를 보내게 되면 도메인 네임에 해당하는
IP 주소를 얻을 수 있고 이에 대한 답변으로 DNS Answer
를 보내게 된다.
Services 의 DNS 에 도메인 네임과 그에 해당하는 IP 주소를 등록한다.
이를 통해 이후 DNS 서버로 도메인 명과 함께 DNS 쿼리가 도착하면 해당 도메인 네임에
해당하는 IP 주소를 반환하는 DNS Answer 가 가능하다.
네트워크를 설계하면서 각각의 단말에 본인의 네트워크 대역에 맞는 정보를 할당해야 하는데 이를 DHCP 를 서버를 통해 해결할 수 있다.
(== DHCP 서버를 통해 클라이언트는 본인의 IP [출발지의 주소] 를 얻을 수 있다.)
즉, DHCP
는 요청에 따라 IP 주소, 서브넷 마스크, 디폴트 게이트웨이, DNS 서버의 주소
등의 IP 파라미터들을 자동으로 할당하게 해주는 서비스 이다.
메세지 | 역할 |
---|---|
Discover [클라이언트→서버] | 클라이언트가 DHCP 서버를 찾기 위해 보낸다. |
Offer [서버→클라이언트] | 할당 가능한 IP 관련 파라미터들을 포함하여 보낸다. |
Request [클라이언트→서버] | 할당 받은 IP 주소가 사용 중인지 확인하기 위해 ARP 패킷으로 해당 IP의 ARP 리퀘스트를 보내 답변이 오면 누군가 사용 중이므로 사용하지 않고 ARP reply가 오지 않는다면 해당 IP 주소를 사용하기 위해 최종 할당을 요청한다. |
ACK [서버→클라이언트] | IP 파라미터들을 최종 할당하고 본인의 IP 풀에서 할당한 IP 주소를 제외한다. |
DHCP 메세지는 브로드캐스트로 보내지기 때문에 MAC 주소를 알기 위한
ARP 교환은 필요하지 않는다.
% DHCP 가 다른 네트워크 대역에 있는 것을 해결하기 위한 ip helper-address 명령어를 사용한다!
라우터를 DHCP 서버로 활용하기 위해 기능을 켜고
네트워크 정보를 부여할 대역의 정보를 저장하게 된다.
(당연하지만 DHCP 서버에는 직접 IP 주소와 서브넷 마스크 등을 설정해준다.)
만약 PC A 에서 DHCP Request 를 보내고 이를 받은 DHCP 는 Offer 를
다시 PC A 에게 보내고자 A 로 향하게 된다.
이때 패킷이 들어올 수 있는 방법은 R1을 지나고 R2 를 지날 수 있는 경우가 있으므로
ip helper-address 를 지정한 R1 은 통과할 수 있지만 R2는 통과할 수 없게 된다.