GODSENAL

브라우저로 웹 사이트에 접속할 때 과정

# network
2018-07-17 · 1

브라우저에 www.naver.com, www.google.com 등을 쳤을 때 네트워크 상에서 어떠한 과정을 거쳐 원하는 페이지가 보여지는지 알아보자.

먼저 간단하게 요약하면,

브라우저에 도메인(naver.com, google.com)을 입력 → DNS서버에 도메인에 해당하는 IP주소를 요청 → 수신한 IP주소에 해당하는 웹 서버에 접속

하는 과정을 거친다.

이 과정을 조금 더 자세히 알아보자.

  1. 사용자의 PC는 DHCP서버에서 사용자 자신의 IP주소, 가장 가까운 라우터의 IP주소, 가장 가까운 DNS서버의 IP주소를 받는다.
  2. 이후, ARP를 이용하여 IP주소를 기반으로 가장 가까운 라우터의 MAC주소를 알아낸다.
  3. 외부와 통신할 준비를 마쳤으므로, DNS Query를 DNS서버에 송신한다. DNS서버는 이에대한 결과로 웹 서버의 IP주소를 사용자 PC에 돌려준다.
  4. 이제 IP를 알았으므로, HTTP Request를 위해 TCP Socket을 개방하고 연결한다.(이 과정에서 3-hand-shaking이 일어난다)
  5. TCP연결에 성공하면 HTTP Request가 TCP Socket을 통해 보내지고, 응답으로 웹페이지의 정보가 사용자의 PC로 들어온다.

참고

DHCP(Dynamic Host Configuration Protocol)

  • 호스트의 IP주소 및 TCP/IP 설정을 클라이언트에 자동으로 제공하는 프로토콜.

DNS(Domain Name System)

  • IP주소와 도메인의 매핑정보를 관리하면서 도메인 혹은 IP주소를 묻는 요청이 오면 이에 응답.
  • DNS에도 캐시가 있기 때문에, 자주 요청을 받는 정보는 캐시로 관리한다.

ARP(Address Resolution Protocal)

  • 네트워크 상에서 IP주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜

3 Way-Handshake

  • TCP/IP를 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에, 먼저 정확한 전송을 보장하기 위해 사전에 세션을 수립하는 과정.

» List

Godsenal

안녕하세요. 개발 공부 중인 학생입니다.
개발하고 공부하며 배우는 내용들을 정리하고 있습니다.
의견, 조언 감사합니다.

» Mail» Github
« 함수형 프로그래밍이란?
React의 진화하는 패턴들(Evolving Patterns in React) »