DNS로 IP 주소를 자동으로 구한다

Sunhee·2024년 2월 23일

네트워크

목록 보기
23/40
post-thumbnail

해당 포스트는 영진닷컴,『그림으로 배우는 네트워크 NetWork 원리』, Gene 저·김성훈 역을 참고하여 작성하였습니다.


DNS로 IP 주소를 자동으로 구한다

DNS를 이용하려면 DNS 서버가 필요합니다. DNS 서버에 미리 호스트명과 IP 주소의 대응 관계를 등록해 둡시다. DNS 서버에는 호스트명과 IP 주소의 대응 관계뿐만 아니라 그 밖에도 여러 가지 정보를 등록합니다. DNS 서버에서 등록하는 정보를 리소스 레코드라고 부릅니다.

DNS 이름해석

DNS의 이름해석 원리를 살펴보겟씁니다. 우선, DNS 서버에 필요한 정보(리소스 레코드)를 바르게 등록하는 것이 대전제입니다. DNS 서버는 루트를 장점으로 한 계층 구조로 되어 있습니다.

그리고, 애플리케이션이 동작하는 호스트에는 DNS 서버의 IP 주소를 설정해 둡니다. 애플리케이션을 이용하는 사용자가 호스트 이름을 지정하면, 자동으로 DNS 서버에 대응하는 IP 주소를 질의합니다. DNS 서버에 질의하는 기능은 윈도우 등 OS에 내저오디어 있고, DNS 리졸버라고 부릅니다.

질의한 호스트명에 관한 정보가 반드시 가까운 DNS 서버에 있다고는 할 수 없습니다. 자신이 관리하는 도메인 이외의 호스트명을 찾으려면 루트에서부터 더듬어 가며 여러 번 질의를 반복해야 합니다. 'www.n-study.com'의 IP 주소를 질의하는 예입니다.

DNS가 이처럼 이름해석을 반복해서 묻는 것을 재귀질의라고 부릅니다. 하지만, 매번 루트에서부터 재귀질의를 하는 것은 효율적이지 않습니다. 그래서 DNS 서버와 리졸버는 질의한 정보를 한동안 캐시에 보존합니다. 얼마나 오래 캐시에 보존할지는 설정하기 나름이지만, 과거에 질의한 결과가 캐시에 남아 있다면, 루트에서부터 찾지 않아도 이름해석을 할 수 있습니다.


Point

  • DNS 서버에 호스트명과 IP 주소 등의 리소스 레코드를 등록해 둔다.
  • DNS 서버에 질의하는 기능을 DNS 리졸버라고 부른다.
  • DNS 서버로 IP 주소를 질의할 때는 루트에서부터 질의를 반복한다.

[참고자료] https://ethan-ncs.tistory.com/31

0개의 댓글