ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DNS]
    개발/네트워크 2022. 7. 30. 00:22

    DNS : Domain Name System 

     

    DNS는 사용자가 입력한 URL을 IP 주소로 변환합니다.

    우리가 접속하는 홈페이지를 접속할때 해당 서버의 IP주소가 아닌 홈페이지의 도메인을 통해 접속합니다. 

    티스토리의 IP 주소는 121.53.105.234입니다. 우리는 티스토리에 접속하기 위해 www.tistory.com을 입력하여 접속합니다. 

     

    1. 각 루트 DNS 서버는 최상위 (top-level) DNS 서버의 IP 주소 리스트를 갖고 있습니다.

       * 루트의 top-level 도메인은 크게 Generic Top Level Domain (일반최상위도메인 => .com, .net ... ) 과 Country Code Top Level Domain (국가최상위도메인 => .kr, .jp ... ) 두가지로 구분할수 있습니다. 

    2. 최상위 DNS서버에 접근하여 시스템은 권한이 있는 DNS 서버의 IP주소를 받습니다.

    3. DNS서버는 우리가 찾던 도메인의 IP주소를 리턴합니다. 

     

    [example] 

    www.tistory.com  접속시 브라우저의 DNS에 tistory.com의 IP주소를 물어봅니다. 최근에 방문하여 정보가 캐싱되어있다면 IP주소를 가지고 있을 것이고 바로 PC에 IP주소를 리턴하고 끝납니다.

    만약 찾지못한다면 운영체제(OS)의 DNS에 IP주소를 요청합니다. 만약 여기서도 찾지못하면 근거리 네트워크 혹은 로컬 DNS에서 해당 정보를 찾습니다. 

    1) iterative query 방식 

    로컬 DNS 서버가 루트 네임 서버에 쿼리를 보내 TLD 서버의 주소를 응답받고, TLD 서버에 쿼리를 보내 tistory.com이 변환 요청을 보낸다. (로컬 DNS서버와 각각의 DNS서버 간에 일어납니다.) 

    2) recursive query 방식  

    로컬 DNS 서버가 여러 DNS 서버에 (루트 DNS 서버, TLD 서버..)에 차례대로 물어본 후 tistory.com네임서버 주소에 IP를 물어보는 과정 (클라이언트와 로컬 혹은 캐시 DNS서버로 질의하는 과정입니다.) 

    iterative query와 recursive query구별은 DNS 메세지 헤더의 rd(resursion desired) 플래그에 의해 결정됩니다. 

     

     

     

    참고 - https://medium.com/networks-security/dns-queries-recursive-and-iterative-cdb73e290299 

    https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-DNS-%EA%B0%9C%EB%85%90-%EB%8F%99%EC%9E%91-%EC%99%84%EB%B2%BD-%EC%9D%B4%ED%95%B4-%E2%98%85-%EC%95%8C%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC#DNS_%EB%8F%99%EC%9E%91_%EC%88%9C%EC%84%9C

     

Designed by Tistory.