본문 바로가기

CS

naver.com을 치면 일어나는 일

naver.com을 치면 일어나는 일을 알기 전에 IP와 도메인에 대한 지식이 필요하다.

 

- IP주소

  • 컴퓨터들이 인터넷 상에서 서로를 인식하기 위해 지정받은 식별용 번호
  • 현재는 IPv4 버전(32비트) 로 구성되어 있지만 시간이 갈수록 주소 부족으로 IPv6(128비트)가 생겨났다

- 도메인 네임

  • 12자리의 IP주소를 문자로 표현한 주소
  • 도메인을 컴퓨터가 이해할 수 있는 IP주소로 변환하는 작업이 필요하다
  • 이때, 사용할 수 있도록 미리 도메인 네임과 함께 해당하는 IP 주소값을 한 쌍으로 저장하고 있는 데이터베이스를 DNS(Domain Name System) 이라고 부른다
  • 도메인 네임으로 입력하면 DNS를 이용해 IP주소를 받아 찾아갈 수 있다

 

  1. 사용자가 브라우저에 도메인 네임 (naver.com) 을 입력
  2. 사용자가 입력한 URL 주소 중에서 도메인 네임(Domain Name) 부분을 DNS 서버에서 검색하고, DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달
  3. 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성하고, 이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송
  4. 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환되어 웹 페이지 URL 정보에 해당하는 데이터를 검색

 

IP 정보 수신

www.naver.com일 경우

  1. 지정된 DNS 서버에 DNS Query를 송신
  2. 지정된 DNS서버는 Root 네임서버에 www.naver.com을 질의
    • .com 네임서버의 ip주소를 알려줌
  3. .com 네임서버에 www.naver.com을 질의
    • naver.com 네임서버의 ip주소를 알려줌
  4. naver.com 네임서버 또 질의
    • www.naver.com의 ip주소 획득

 

이처럼 왔다 갔다 하는 이유는 도메인의 계층화 구조에 따라 DNS서버고 계층화 되어있기 때문

 

TMI) 도메인의 최상단 (.com, .kr 등)을 담당하는 DNS서버는 전세계에 13개 뿐이다.

 

이후 Http Request를 위해 TCP Socket을 개방하고 연결하며, 이 과정에서 3-way hand shaking이 일어난다.

 

 

 

참고) https://github.com/WooVictory/Ready-For-Tech-Interview/blob/master/Network/%EC%A3%BC%EC%86%8C%EC%B0%BD%EC%97%90%20naver.com%EC%9D%84%20%EC%B9%98%EB%A9%B4%20%EC%9D%BC%EC%96%B4%EB%82%98%EB%8A%94%20%EC%9D%BC.md

 

'CS' 카테고리의 다른 글

CPU 스케줄링  (0) 2023.08.28
INDEX (인덱스)  (0) 2023.08.23
OSIV  (0) 2023.08.17
캐시  (0) 2023.08.16
쿠키 세션 토큰  (0) 2023.08.10