[Internet] 도메인, DNS

이진이·2023년 8월 10일
0
post-thumbnail

도메인 이름

웹 사이트에 엑세스하기 위해 사용되는 IP주소(영숫자)에 맵핑되는 텍스트 문자열
ex) google.com

예시) IP주소가 192.0.2.2 일때 google.com 으로 쓸 수 있음

도메인 이름은 누구나 사용할 수 있다. 도메인을 관리하는 등록 기관에 등록만 하면 됨.



도메인 이름의 구분

점으로 구분되며 2 or 3 부분으로 구분된다.

오른쪽에서 왼쪽으로 갈수록 구체적인 식별자이다.

  • 제일 오른쪽(도메인 이름의 마지막 점 오른쪽 섹션) : 가장 일반적

    • 최상위 도메인(TLD)
    • .com, .net, .org 는 일반 TLD
    • .uk, .kr, .jp 는 국가별 TLD
  • 제일 왼쪽(도메인 이름의 첫 섹션) : 가장 구체적.

    • 2차 도메인(2LD) : 점이 1개일 경우
    • 3차 도메인(3LD) : 점이 2개일 경우
    • google
  • 점이 2개일 때 중간(TLD의 왼쪽 섹션) : 도메인을 등록한 조직의 유형을 나타냄

    • 2차 도메인(2LD)
    • .co



도메인 ≠ URL

URL : 도메인 + 경로 + 프로토콜 및 기타 정보를 다 포함하는 웹 주소

URL : https:// google.com/ search/
         프로토콜      도메인    특정 페이지 경로



DNS(Domain Name System)

브라우저가 인터넷 리소스를 로드할 수 있도록 도메인을 IP주소로 변환하는 역할

DNS 조회 : 도메인을 통해 IP주소(실제 주소)로 라우팅 되는 과정(프로세스)

사람은 도메인으로 접속하지만, 실제 웹 브라우저는 IP주소로 작동하기 때문에 서로 상호작용하도록 해줘야 됨.

DNS 조회 원리

  1. 웹 사이트가 인터넷 상에 호스팅하기 위해 웹사이트의 데이터를 호스팅 서버에 저장한다.

  2. 웹 사이트에 IP주소(실제 주소)가 할당 된다 : 호스팅 서버는 인터넷 회선이 연결된 컴퓨터(또는 장치)이기 때문

  3. DNS 서버가 만들어진 IP주소를 특정 도메인과 같다는 기록을 저장한다.

  4. 인터넷 사용자들이 도메인을 검색하면 DNS 서버가 도메인을 IP주소로 연결되도록 해줌

즉, DNS 서버 : 도메인 = IP 라는 데이터를 모아둔 도서관



DNS 작동 원리

DNS는 상위, 하위 기관과 같은 계층 구조를 가지는 분산 데이터베이스 구조로 작동

세상에 도메인 수가 너무 많아서 서버 종류를 계층화해서 단계적으로 처리하면 빠르기 때문


웹 페이지 로드와 관련된 DNS 서버가 4개 있다.

  • Root DNS Server: ICANN이 직접 관리하는 절대 존엄 서버로, TLD DNS 서버의 주소(IP)들을 저장해두고 안내하는 역할을 함.

  • TLD(최상위 도메인) DNS Server: 도메인 등록 기관(Registry)이 관리하는 서버로, Authoritative DNS 서버 주소들을 저장해두고 안내하는 역할을 함. 어떤 도메인 묶음이 어떤 Authoritative DNS Server에 속하는지 아는 이유는 도메인 판매 업체(Registrar)의 DNS 설정이 변경되면 도메인 등록 기관(Registry)으로 전달이 되기 때문임.

    • 종류 : Com DNS, Org DNS 등
  • Authoritative DNS Server: 실제 개인 도메인과 IP 주소의 관계가 기록/저장/변경되는 서버. 그래서 권한의 의미인 Authoritative가 붙음. 일반적으로 도메인/호스팅 업체의 ‘네임서버’를 말하지만, 개인 DNS 서버 구축을 한 경우에도 여기에 해당함.

    • “Nesite.com = 12.123.123.123”가 저장된 곳
    • 종류 : 아마존 DNS, 가비아 DNS 등
  • Recursive DNS Server: 인터넷 사용자가 가장 먼저 접근하는 DNS 서버. 위 3개의 DNS 서버를 매번 거친다면 효율이 나쁠테니, 한 번 거친 후 얻은 데이터를 일정 기간(TTL/Time to Live) 동안 캐시라는 형태로 저장해 두는 서버. 직접 도메인과 IP 주소의 관계를 기록/저장/변경하지 않고 캐시만을 보관하기 때문에, Authoritative와 비교되는 의미로 반복의 Recursive가 붙음. 대표적으로  ISP(통신사) DNS 서버가 있고, 브라우저 우회 용도로 많이 쓰는 구글 DNS, 클라우드플레어와 같은 Public DNS 서버가 있다.

    • 리커서 == 리졸버(resolver) == recursive DNS server == local server(of ISP)
    • 종류 : KT DNS, LG DNS, Google DNS 등



DNS 작동 과정

  1. 사용자가 브라우저에 Nesite.com를 검색

  2. 사용자의 통신사 ISP (KT DNS) 서버로 도메인 주소 전달

  3. ISP 서버가 내부의 캐시 데이터 확인하고 Root DNS 서버에게 주소 요청

    1. 캐시 데이터가 있다면 “Nesite.com = 12.123.123.123”를 찾아내고 브라우저에게 IP주소를 전달 → 10번으로 넘어감
  4. Root 서버가 TLD (Com DNS) 서버 주소를 전달함 : 루트 서버는 최상위 DNS 서버 주소만 관리함.→ .com 도메인을 보고 Com 도메인을 관리하는 TLD 서버로 안내

  5. ISP 서버가 TLD 서버에게 주소 요청

  6. TLD 서버가 해당 도메인이 Authoritative(아마존 DNS) 서버에서 관리되는 것을 확인하고 전달

  7. ISP 서버가 아마존 DNS 서버에게 주소 요청

  8. 아마존 서버에서 “Nesite.com = 12.123.123.123”라는 정보를 확인하고 IP주소 전달

  9. ISP 서버가 브라우저에게 IP주소를 전달. 동시에 해당 정보를 캐시에 등록

  10. 브라우저가 12.123.123.123의 IP주소를 가지는 호스팅 서버에게 웹사이트 정보 요청

  11. 호스팅 서버에서 12.123.123.123 웹사이트의 정보 전송(응답)

  12. 브라우저가 데이터를 토대로 출력




출처 및 참고

profile
프론트엔드 공부합니다. 블로그 이전: https://jinijana.tistory.com

0개의 댓글