CS 관련 지식 - 네트워크 _ 웹 통신의 흐름

링딩·2023년 3월 13일
0

Computer Science

목록 보기
6/49
post-thumbnail


네트워크


🌈브라우저가 어떻게 동작하는가?

간단한 흐름과 자세한 흐름 둘로 나누어서 이해해보자....

  1. www.google.com 을 브라우저 주소창에 입력

  2. 보낼 패킷의 HTTP 헤더는, HTTP Request 를 통해 채워진 상태입니다.

  3. 보낼 패킷의 IP 헤더를 채우기 위해, DNS 서버를 통해 www.google.com 도메인의 IP 주소를 응답 받습니다.

  4. 보낼 패킷의 TCP 헤더를 채우기 위해, 클라이언트와 구글 웹서버 간 TCP 연결을 합니다.
    => 3-Way Handshaking

  5. 보낼 패킷이 완성되었으므로, www.google.com 에 패킷을 전송하고, HTML 을 응답받습니다.

  6. 클라이언트는 응답 받은 HTML 을 브라우저에 띄웁니다.

  7. 클라이언트와 구글 웹서버간 TCP 연결을 종료합니다.
    => 4-Way Handshaking





자세한 TCP/IP 흐름

  1. 주소창에 url(구글)을 입력
  1. 브라우저가 URL에 적힌 값을 파싱해서 HTTP Request Message를 만들고, OS에 전송 요청을 합니다.

이 때, Domain으로 요청을 보낼 수 없기 때문에 DNS Lookup을 수행

  • DNS Lookup은 크롬의 경우 브라우저 -> hosts 파일 -> DNS Cache의 순서로 도메인에 매칭되는 ip를 찾는다.
    => 루트 도메인서버에서부터 -> 서브도메인 서버 순으로 찾게 됩니다.
  1. 이 요청은 '프로토콜 스택'이라는 OS에 내장된 네트워크 제어용 소프트웨어에 의해 패킷에 담기고, 패킷에 제어정보를 덧붙여 LAN 어댑터에 전송하고, LAN 어댑터는 이것을 전기 신호로 변경하여 송출

  1. '패킷'스위칭 허브 등을 통하여 경유해 인터넷 접속용 라우터에서 -> ISP로 전달되고 인터넷으로 이동

    액세스 회선에 의해 통신사용 라우터로 운반되고 인터넷 핵심부로 전달

  2. 핵심부를 통과한 패킷은 목적지 LAN에 도착

    '방화벽'이 패킷을 검사 및 캐시 서버로 보내어 웹 서버에 갈 필요가 있는지 검사

  3. 웹서버에 도착한 패킷은 '프로토콜 스택'이 패킷을 추출하여 메시지를 복원하고 WAS(웹서버 애플리케이션)에 넘김

    WAS는 요청에 따른 응답 데이터 작성 및 클라이언트로 다시 회송함 (전달된 방식 그대로 전송)





참고

DR-Kim 님의 글을 참조하였습니다.

profile
초짜 백엔드 개린이

0개의 댓글