All'alba vincerò

At dawn, I will win!

CS

컴퓨터 네트워크 스터디 2주차 - DNS

나디아 Nadia 2024. 11. 6. 19:25

 

⭐️ DNS

DNS(도메인 네임 시스템)

: 도메인 이름(www.example.com)을 IP 주소(192.0.2.1)로 변환해주는 시스템

  • 사람이 이해하기 쉬운 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 바꾸어, 사용자가 웹사이트에 쉽게 접근할 수 있게 도와준다.

 


DNS 작동 방식

  1. 사용자가 도메인 입력
    • 사용자가 브라우저에 도메인 이름(ex. example.com)을 입력한다.
  2. 로컬 DNS 서버 조회
    • 먼저, 사용자의 컴퓨터는 캐시에서 IP 주소를 찾고, 없다면 인터넷 서비스 제공업체(ISP)의 로컬 DNS 서버에 질의한다.
  3. 루트 네임 서버로 요청 전달
    • 로컬 DNS 서버가 IP 주소를 모르면, 최상위의 루트 네임 서버에 요청을 전달한다.
      → 루트 네임 서버는 요청을 다음 단계로 안내한다.
  4. TLD 네임 서버로 요청 전달
    • 루트 네임 서버는 .com, .org와 같은 최상위 도메인(TLD) 네임 서버로 요청을 전달한다.
  5. 권한 있는 네임 서버로 요청 전달
    • TLD 네임 서버는 도메인의 권한 있는(authoritative) 네임 서버로 요청을 보낸다.
      → 이 서버는 실제 IP 주소를 가지고 있다.
  6. IP 주소 반환
    • 권한 있는 네임 서버가 IP 주소를 반환하면, 로컬 DNS 서버를 거쳐 사용자에게 전달된다.
  7. 접속 완료
    • 사용자의 브라우저가 해당 IP 주소로 접속하여 웹페이지를 표시한다.

 

  1. Chrome 같은 브라우저에서 www.google.com을 입력한다.
  2. 브라우저는 먼저 가장 가까운 곳부터 찾아본다. 브라우저 자체 캐시도 확인해보고, 컴퓨터 OS에 있는 hosts 파일도 확인해보고, 로컬 DNS 서버 캐시도 확인해본다.
  3. 먼저 Root DNS 서버에 가서 '.com을 관리하는 서버가 어디있어?' 하고 물어본다.
  4. 그 다음 .com DNS 서버에 가서 'google.com을 관리하는 서버가 어디있어?' 하고 물어본다.
  5. 마지막으로 google.com 권한 서버에 가서 'www.google.com의 IP 주소가 뭐야?' 하고 물어보면 드디어IP 주소를 알 수 있다.
  6. 이렇게 찾은 IP 주소는 나중에 또 쓸 수 있게 로컬 DNS 서버에 저장해두고, 브라우저한테 알려준다.

 


DNS 질의 종류

DNS 질의는 재귀 질의, 반복 질의, 역방향 질의로 나뉜다.

 

 

재귀 질의

: 클라이언트가 재귀 DNS 서버에 요청하면, 서버는 최종 IP 주소를 찾을 때까지 다른 DNS 서버에 질의하여 결과를 사용자에게 반환한다.

 

반복 질의

: 클라이언트가 재귀 DNS 서버와 각 계층의 DNS 서버에 직접 질의하며 순차적으로 정보를 수집해 IP 주소를 찾는다.

 

역방향 질의

: IP 주소를 통해 도메인 이름을 찾는 방식으로, 주로 네트워크 진단 및 보안에 활용된다.

 

 


DNS 서버에게 IP 주소를 요청할 때, UDP를 사용하는 이유

DNS 요청은 주로 UDP(사용자 데이터그램 프로토콜)를 사용한다.

단, 응답이 크거나 보안이 중요한 상황에서는 TCP를 사용할 수 있다.

 

 

UDP를 사용하는 이유

  • 속도
    • UDP는 연결을 설정하지 않고도 데이터를 빠르게 전송할 수 있기 때문에 TCP보다 속도가 빠르다.
  • 간단한 연결
    • DNS 요청은 한 번에 끝나는 단순한 구조이기 때문에, 연결 설정이 필요 없는 UDP가 효율적이다.
  • 낮은 오버헤드
    • UDP는 TCP와 달리 연결 유지, 흐름 제어, 오류 검사 같은 추가 기능이 없기 때문에 오버헤드가 낮아, 네트워크 자원을 더 적게 사용하면서도 빠르게 응답할 수 있다.

 


DNS 레코드

 

DNS 레코드

: 도메인에 대한 다양한 정보를 포함한 항목으로, 도메인 이름과 관련된 IP 주소나 메일 서버 등을 정의한다.

  • 네트워크 자원의 위치와 성격을 명확히 하여, 도메인 기반의 인터넷 서비스가 원활하게 작동할 수 있게 해준다.

 

주요 DNS 레코드

  • A 레코드 : 도메인 이름을 IPv4 주소로 매핑한다.
  • AAAA 레코드 : 도메인 이름을 IPv6 주소로 매핑한다.
  • CNAME 레코드 : 도메인을 다른 도메인에 별칭으로 연결한다.
  • MX 레코드 : 메일 서버를 지정하여 이메일을 전달할 주소를 정의한다.
  • TXT 레코드 : 인증 정보, 설명 등 도메인에 대한 텍스트 정보를 제공한다.