CS

웹 통신의 큰 흐름

ri5 2021. 9. 18. 16:40

네트워크에 대해 공부하던 중 우리가 브라우저를 통해 웹사이트를 접속할때에 대략적인 부분을

알고 있지만 세세한 부분은 모르는 부분이 있다. 이번 기회를 통해 세세한 부분까지 다시 정리하고자 한다.

 

출처: https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/Network

브라우저

  • 우리가 위처럼처럼 네이버를 검색하게 되면 브라우저는 일단 해당 URL의 구조를 분석합니다.

  • 분석한 의미에 따라 Http request 메시지를 만든다.
  • 브라우저는 os를 통해 url을 IP로 변경하게 되는데 과정은 아래와 같다.
    • 자신의 로컬 hosts 파일과 브라우저 캐시에 해당 URL이 존재하는지 확인.
    • 존재하지 않는다면 해당 url을 DNS를 통해 컴퓨터가 읽을 수 있는 IP로 변경.

※ 브라우저 캐시: 해당 사이트를 다시 접속할때 로딩 속도를 높여주기 위해 캐시로 남김.

 

 

프로토콜 스택, LAN 어댑터

  • 프로토콜 스택(운영체제에 내장된 네트워크 제어용 소프트웨어)이 브라우저로부터 메시지를 받는다.
  • 브라우저로부터 받은 메시지를 패킷 속에 저장한다.
  • 수신처 주소 등의 제어정보(트래픽, 경로)를 덧붙인다.
  • 패킷을 LAN 어댑터에 넘긴다.
  • LAN 어댑터는 다음 Hop의 MAC주소를 붙인 프레임을 전기신호로 변환시킨다.

※ Hop: 컴퓨터 네트워크에서 출발지와 목적지 사이에 위치한 경로의 한 부분

 

  • 신호를 LAN 케이블에 송출시킨다.

 

허브, 스위치, 라우터

  • LAN 어댑터가 송신한 프레임은 스위칭 허브를 경유하여 인터넷 접속용 라우터에 도착한다.
  • 라우터는 패킷을 프로바이더(통신사)에게 전달한다.
  • 인터넷으로 접속하게 된다.

 

액세스 회선, 프로바이더

  • 패킷은 인터넷의 입구에 있는 액세스 회선(통신 회선)에 의해 POP(Point Of Presence, 통신사용 라우터)까지 운반된다.
  • POP 를 거쳐 인터넷의 핵심부로 들어가게 된다.
  • 수 많은 고속 라우터들 사이로 패킷이 목적지를 향해 흘러가게 된다.

 

방화벽, 캐시서버

  • 패킷은 인터넷 핵심부를 통과하여 웹 서버측의 LAN 에 도착.
  • 기다리고 있던 방화벽이 도착한 패킷을 검사.
  • 패킷이 웹 서버까지 가야하는지 가지 않아도 되는지를 판단하는 캐시서버가 존재한다.

웹 서버

  • 패킷이 물리적인 웹 서버에 도착하면 웹 서버의 프로토콜 스택은 패킷을 추출하여 메시지를 복원하고 WAS에 넘긴다.
  • 메시지를 받은 웹 서버 애플리케이션은 요청 메시지에 따른 데이터를 응답 메시지에 넣어 클라이언트로 회송한다.
  • 왔던 방식대로 응답 메시지가 클라이언트에게 전달된다.