본문 바로가기
knowledge/development

대체 etc/hosts는 뭐하는 친구인가

by 앙냥냥냥 2020. 6. 8.

DNS와 IP주소

Domain System

  • 원래 우리가 접속하는 주소들은 125.209.222.141 같은 주소, 그치만 우리는 그런 주소를 활용하지 않는다. 왜냐면 외우기 어렵고, 활용하기 어렵기 때문
  • 그래서 생긴게 도메인!
  • 도메인은 DNS(Domain Name System)를 통해 IP주소로 변환되고, 그 이후에 실제 IP 주소로 연결된다.
  • 이를 간단하게 확인하는 법은 nslookup명령어를 사용하는 것이다.

Domain Name System

  • 도메인 네임 시스템은 도메인 주소를 네트워크주소(IP주소)로 바꿔주거나, 그 반대로 바꿔주는 역할을 한다.
  • DNS가 없던 시절에는 모든 서버가 /etc/hosts에서 ip매핑을 진행했다.
  • 그래서 지금도 /etc/hosts 를 거친 후, 만약 /etc/hosts 에 요청받은 도메인이 있다면 DNS서버에 요청을 보내지않고, 그렇지 않다면 DNS서버에 요청을 보내 IP 매핑과정을 수행한다.
  • 한마디로 말하자면, /etc/hosts에 등록되어있다면, DNS 서버에 요청이 가지 않고 /etc/hosts 에 정의된 IP주소를 사용한다.

그럼 우리가 실제로 아는 `naver.com` 은 어떤 단계를 거칠까?

네이버에 접속하고싶은 김블록씨가 인터넷 주소창에 `naver.com`을 타이핑하고 엔터를 누른다.

가장 먼저 브라우저 캐시를 확인해서 naver.com이 매핑 될 수 있는 네트워크 주소가 있는지 확인한다.

없다면 os캐시, 이후 라우터, ISP(Internet Service Provider) 캐시를 차례차례로 검색한다.

만약 그래도 없다면 ISP의 DNS서버에 가서 매핑하는 작업을 거친다.

Refenrence

https://aws.amazon.com/ko/route53/what-is-dns/

https://medium.com/@maneesha.wijesinghe1/what-happens-when-you-type-an-url-in-the-browser-and-press-enter-bb0aa2449c1a

'knowledge > development' 카테고리의 다른 글

프로그래밍 패러다임(1) - 프로그래밍 패러다임과 언어의 관계  (0) 2020.08.05
final과 static  (0) 2020.07.15
RESTful API의 조건  (0) 2020.06.10
Dependency Injection  (0) 2020.06.08