[CS 스터디]DNS, IP 쿼리 과정

Yewon Jeong·2023년 4월 24일
0

CS 스터디

목록 보기
1/19

1. DNS란

Domain Name System → 웹사이트의 도메인과 ip주소가 매핑될 수 있도록 하는 시스템 , 도메인 이름만 알면 웹사이트에 접근할 수 있도록 해준다. (인터넷 전화번호부)

www.naver.com

www,m,mail,blog → host name , 네이버에 속한 컴퓨터를 지칭

  • www.naver.com: www
  • m.naver.com: m
  • mail.naver.com : mail
  • blog.naver.com :blog

naver.com → 도메인 이름

2.동작 방식

  1. 캐시 확인
  • 웹 브라우저 DNS 캐시 (chrome://net-internals/#dns)
  • os hosts 파일
  1. 캐시에 없으면, ISP(인터넷 서비스 제공업체,kt,skt..)에서 제공해주는 서버인 Local DNS(DNS 해석기)에게 재귀적 질의를 보낸다.
  2. Local DNS도 해당 요청에 대한 캐시가 있는지 확인해보고 없으면, 계층적 구조로 되어있는(분산형 데이터베이스 구조) 다른 DNS 서버들에게 요청(반복적 질의)을 보내 IP주소를 가져온다.

1. 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com을 입력하고 Enter 키를 누릅니다.
2. www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기로 라우팅됩니다.
3. ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달합니다.
4. ISP의 DNS 해석기는 www.example.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달합니다. .com 도메인의 이름 서버는 example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답합니다.
5. ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달합니다.
6. Amazon Route 53 이름 서버는 example.com 호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.
7. ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 됩니다. 해석기는 이 값을 웹 브라우저로 반환합니다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간 example.com의 IP 주소를 캐싱(저장)합니다. 자세한 내용은 Time to Live(TTL)를 참조하세요.
8. 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹 서버입니다.
9. 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시합니다.

권한 여부 분류

  • 권한 없는 네임 서버(non-Authoritativa Name Server)
    • DNS 레코드를 추적하는 컴퓨터 → local dns
  • 권한 있는 네임 서버(Authoritative Name Server)
    • 실제로 DNS 리소스 레코드를 보유하고 담당하는 서버. 계층적으로 나뉨 → root dns,TLD dns,Second-level DNS,sub dns

3.DNS의 계층구조

계층은 점 “.”을 기준으로 나뉜다.

1. Root 네임 서버

  • 가장 상위에 위치한 DNS 서버. 모든 DNS 쿼리의 첫 번째 단계로 시작됨.
  • 모든 최상위 도메인(TLD)의 DNS 서버의 IP 주소를 가지고 있음.
  • 국제 인터넷 주소 관리 기구(ICANN)에서 관리함.

(논리적으로 13개의 루트 서버가 있고 하나는 (나머지 12개 IP 주소의 운영을 NASA, 메릴랜드 대학교, US Army,그리고 루트 IP 주소 중 두 개를 운영하는 유일한 조직인 Verisign을 포함한 다양한 조직에 위임))

2.TLD(Top-Level Domain,최상위 도메인) 네임 서버

  • TLD는 도메인 이름의 가장 오른쪽 부분을 관리, 대표적으로 .com, .org, .net 등이 있다.
  • 아래 두가지로 구분된다.
    • 국가 코드 최상위 도메인: 여기에는 국가 또는 주와 관련된 모든 도메인이 포함된다. 예로는 .kr .uk, .us, .ru 및 .jp가 포함된다.
    • 일반 최상위 도메인: 국가별로 고유하지 않은 도메인으로, 가장 잘 알려진 일반적인 TLD에는 .com, .org, .net, .edu 및 .gov가 있다.
  • Authoritative DNS 서버의 주소를 저장하고 안내한다.

3. Other Authoritative Name Server

  • TLD 계층에서 최하위 계층에 도달할때 까지 (Second-level → Third-level .. ) 반복적으로 질의를 하게 된다. 가비아나 Route53같은 도메인 판매 업체들이 관리를 하게 됨.

+추가) 도메인 등록하기

<가비아 사이트>

1 )도메인 판매업체에서 원하는 도메인명을 검색해서 적절하게 조건에 부합하는 도메인을을 한다.

2 ) 서브도메인(호스트) 레코드 타입등을 지정하여 도메인을 관리한다.

3 ) TYPE으로 대표적으로 A 타입 혹은 CNAME을 선택할 수 있는데, A 타입은 ip주소를 직접적으로 매핑해주고, CNAME은 도메인의 별칭으로, 다른 도메인을 넣어준다. CNAME을 사용하면 peace.shop의 ip주소가 바뀌었을 경우, peace.shop의 값만 바꿔주면 www.peace.shop 행은 값을 바꾸지 않아도 된다는 장점이 있다. 하지만 ip가 자주 바뀌는 경우가 아니라면 A타입을 사용해 ip를 바로 연결해주는 것이 성능상 좋다.

profile
일단 하는 중

0개의 댓글