브라우저에서 Google.com을 검색하면 일어나는일, Three-Way-Handshake

seongwon·2021년 7월 24일

브라우저는 DNS 기록을 4가지의 캐시에서 확인

  1. 브라우저 캐시 확인한다. 실패시 차례로 실행
  2. OS에 저장된 DNS 캐시를 확인한다.
  3. Router와 통신해서 캐시를 확인한다.
  4. ISP 캐시를 확인한다. ISP는 DNS 서버를 구축하고 있기 때문이다.
  5. ISP DNS server가 Root name server 에 연락을 한다.
  6. Root name server 는 .com 도메인 name server로 리다이렉트한다.
  7. .com name server는 google.com nameserver로 리다이렉트한다.
  8. google.com name server는 DNS 기록에서 www.google.com에 매칭되는 IP주소를 찾고 ISP DNS Server로 보낸다.
  9. 브라우저가 올바른 IP 주소를 받게 되면 서버와 Connection을 빌드한다. 웹사이트의 HTTP 요청의 경우 일반적으로 TCP를 사용한다.
  10. 클라이언트와 서버간 데이터 패킷들이 오가려면 TCP connection이 되어야 한다. TCP/IP three-way-handshake 프로세스를 통해 connection이 이뤄지게 된다.
  • 클라이언트가 SYN 패킷을 서버에 보내고 connection을 열어 달라고 물어본다.
  • 서버가 새로운 connection을 시작할 수 있는 포트가 있다면 SYN/ACK 패킷으로 응답.
  • 클라이언트는 SYN/ACK 패킷을 서버로부터 받으면 서버에게 ACK 패킷을 보낸다.
  • 이 과정이 끝나면 TCP 연결이 완료 되는 것이다.
  1. TCP로 연결이 되어있다면, 데이터를 전송하면 된다. 브라우저는 GET 요청을 통해 서버에게 www.google.com 웹페이지를 요구한다.
  2. 서버가 요청을 처리하고 응답을 생성후 클라이언트로 보낸다.
  3. 브라우저는 HTML의 스켈레톤을 렌더링한다. 그다음에는 HTML tag들을 체크하고 나서 추가적으로 필요한 웹페이지요소들을(이미지, CSS, JS 등) GET으로 요청한다. 이 정적인 파일들은 브라우저에 의해 캐싱된다.
profile
공부 기록

0개의 댓글