될때까지

개념정리 :: DNS? 본문

학습/개념정리

개념정리 :: DNS?

랖니 2022. 6. 17. 22:22
728x90
이 블로그에 정리되어있는 모든 개념들은 공부하면서 정리한 내용입니다.
잘못 기술한 부분이 있을 수 있으니 발견하시면 언제든지 지적해주세요😄

📖 DNS

→ HOST?

인터넷(네트워크)에 연결된 컴퓨터나 장치

→ IP주소(Internet Protocol)?

host끼리 서로 통신하기 위해 필요한 주소다.
네트워킹이 가능한 장비들을 식별하는 주소이며 네트워크 상에서 통신하기 위해 따라야하는 일종의 규약이다.
컴퓨터 자체의 식별 주소가 아니라 컴퓨터가 연결된 네.트.워.크 끝단의 주소라는 점을 유의하자.
(따라서 IP주소가 바뀔 수도 있음. 고정IP/유동IP) 

네트워크 상에서 컴퓨터들은 IP주소를 이용해 서로를 구별하고 통신한다.

  •  IPv4(Version 4) : 0.0.0.0 ~256.256.256.256 이론상 약 42억개의 IP
  •  IPv6(Version 6) : IPv4 주소의 갯수가 부족해서 등장했다

→ ISP(Internet Service Provider)

개인이나 기업체에게 인터넷 접속 서비스, 웹 사이트 구축 및 웹 호스팅 서비스등을 제공하는 회사다.
국내에서는 KT, SK브로드밴드, LG U+등이 해당된다.

→ 도메인 네임?

IP주소를 문자로 알아보기 쉽게 알파벳으로 되어있는 이름이다.
www.google.com , www.naver.com에서 google.com, naver.com만 도메인 네임이다. 
(www는 호스트네임이라고 함)

→ DNS(Domain Name System)

  • 도메인 네임을 IP주소로 변환하는 시스템이다.
  • 이 안에서 해당 역할을 해주는 서버가 DNS Server다.
  •  네트워크 = 컴퓨터와 컴퓨터를 통신망으로 연결한 연결망을 말한다.
  • 사람들이 네트워크를 통해 멀리 떨어져있는 컴퓨터에 접속하기 위해서는 IP주소를 이용해야 하는데,
    연속된 숫자로 이루어진 IP주소는 기억하기도 외우기도 어렵다. ⇒ hosts파일
  • Stanford Research Institute에서 전 세계의 hosts 파일(텍스트 파일)을 관리했다.
    처음엔 좋았지만 인터넷 세상이 점점 더 커질수록 hosts 파일을 업데이트,다운로드 받고 하는 작업에 시간과 비용이 많이 들었다.
  • 그래서 Jon Postel과 Paul Mockapetris가 DNS를 만들었다. 
  • 친구한테 전화할때 전화번호를 다 외워서 누르지 않고 전화번호부에 들어가서 친구이름 검색 후 전화를 건다.
    인터넷의 전화번호부가 DNS. 전화번호부에 [김땡땡, 010-1234-1234]라 저장하는 것처럼
    DNS에도 [www.naver.com, ???.???.???.???]로 저장되어있다.
  • 도메인을 구매하면 ⇒ DNS에 ip주소와 도메인이 자동으로 저장이 된다.

DNS는 계층 구조로 되어있다. 

 

📖 작동 방식

from 생활코딩

  • 브라우저 주소창에 www.blog.example.com.
  • DNS Cache에서 먼저 찾는다.
  • 그 다음 hosts파일에서 ip주소를 찾는다.
  • DNS(Local DNS)서버에게 ‘www.blog.example.com.’에 대한 ip주소를 요청한다.
  • 요청받은 Local DNS에는 www.blog.example.com.의 ip주소가 있을수도 없을 수도 있다.
  • 있다면(캐싱되어있다면-저장되어있다면) 바로 ip주소를 주지만, 없다고 가정해보자.
  • Local DNS에 www.blog.example.com.의 ip주소가 없으니까 이를 찾아내기 위해 다른 DNS서버들과 통신을 한다.
    먼저 Root DNS서버에게 물어본다. www.blog.example.com. ip주소 어디가면 찾을 수 있어?
  • Root DNS는 요청을 받았던 Local DNS에게 .com으로 끝나는 도메인을 담당하는 서버에게 물어보라고 응답을 한다.
  • com도메인을 관리하는 Top-Level DNS서버에게 Local DNS가 www.blog.example.com. ip주소 있어? 재요청을 한다.
  •  Top-Level DNS서버는 example.com. DNS 서버에게 물어보라고 응답을 한다.
  • example.com. 도메인을 관리하는 Second-Level DNS 서버에 ‘www.blog.example.com.’의 ip주소 있냐 요청한다.
  • example.com. Second-Level DNS서버는 blog.example.com 도메인을 담당하는 서버에게 물어보라 알려주고, Third-Level DNS서버가 응 있어. Local DNS서버에게 www.blog.example.com.에 대한 ip주소를 알려준다.
  • IP주소를 수신한 Local DNS는 받은 IP주소를 캐싱(저장)하고 PC에 전달한다.
  • ⇒ 현실에서 매번 이렇게 한다면 시간이 오래 걸리겠지 그래서 일정 시간동안 DNS 정보를 캐싱하고 요청시 캐싱된 정보를 전송해준다

https://velog.io/@doomchit_3/Internet-DNS-작동원리-IMBETPY

https://www.youtube.com/watch?v=XXzxetbAIfA

https://developer88.tistory.com/311

728x90