231206 TIL #261 네트워크 #7 DNS

김춘복·2023년 12월 6일
0

TIL : Today I Learned

목록 보기
261/571

Today I Learned

최종 2탈. 방향 수정해서 다시 도전해야겠다.


DNS

Domain Name System.
도메인 이름과 IP 주소간의 대응 관계를 매핑하는 분산 데이터베이스 시스템

  • 사용자가 이해하기 쉬운 도메인 이름을 기계가 이해할 수 있는 IP주소로 변환하거나 그 반대로 수행한다.

  • 계층구조 : 최상위 - 상위 - 하위 서버처럼 되어 계층구조를 이루고 있다.

  • 분산 DB : 전세계에 분산된 여러 서버에 정보를 저장하고 관리한다.

  • 캐싱 : DNS-IP주소의 대응관계는 일정 시간동안 캐싱되어 동일한 요청을 더 빠르게 처리한다.

  • Hosts : 각각의 컴퓨터 한 대는 Host라고 한다. IP 주소는 통신을 하기 위해 필요한 Host의 주소이다. 즉, 두 대의 컴퓨터가 통신을 하기 위해서는 IP주고사 필요하다. 각 Host의 IP주소와 도메인 네임을 저장해둔 파일의 운영체제의 Hosts 파일이다. 이 파일은 변조가 쉬우므로 주의해야 한다.

동작 방식

  • Recursive Query(재귀적 질의, DNS로 IP주소를 얻기위한 과정)
  1. 도메인 네임 입력
    ex. www.naver.com 입력
  2. 클라이언트 stub 리졸버에서 IP주소 얻기위한 DNS 쿼리 생성
  3. 로컬 DNS 서버에서 캐시 확인. 있으면 바로 IP주소 전송
  4. 3번에서 캐시 없을 시 루트 DNS 서버로 쿼리 전송
  5. 루트 DNS 서버는 ".com"이 등록된 네임 서버의 IP를 로컬 DNS에게 알려줌
  6. 로컬 DNS 서버는 다시 .com 네임 서버에 문의하고, "naver.com" 서버를 알려줌
  7. naver.com 서버가 마지막으로 로컬 DNS 서버에 IP 알려줌.
  • 위의 과정을 거치게 되면 도메인에 대한 데이터가 캐싱되어 바로 응답이 가능하다.

  • 도메인 상세 분류
    Host Name : www.naver.com
    Top-Level Domain Name : .com
    Second-Level Domain Name : .naver.com

  • 각 부분을 담당하는 독자적인 DNS 서버가 존재한다.
    Root는 Top-Level의 DNS서버(TLD서버)와 IP 목록을, TLD는 Second-Level의 DNS 서버(SLD)와 IP 목록을 가지고 있다. 즉, 상위 서버가 하위 서버의 IP주소를 알고 있다.
profile
Backend Dev / Data Engineer

0개의 댓글