[ CS / Network ] 웹 통신의 흐름

황승환·2022년 2월 4일
0

CS

목록 보기
26/60
post-thumbnail

웹 통신의 흐름

Chrome을 실행시켜 주소창에 특정 URL을 입력한다고 가정한다.

브라우저

  1. URL에 입력된 값을 브라우저 내부에서 결정된 규칙에 따라 그 의미를 조사한다.
  2. 조사된 의미에 따라 HTTP Request 메세지를 만든다.
  3. 만들어진 메세지를 웹 서버로 전송한다.

이때 만들어진 메세지 전송은 브라우저가 직접하는 것이 아니라 OS에 의뢰하여 메세지를 전달한다. OS가 메세지를 전송할 때에 도메인명이 아니라 해당하는 IP 주소로 수신 대상을 정하는데 이때 DNS 서버를 조회해야 한다.

프로토콜 스택, LAN 어댑터

  1. 프로토콜 스택(OS에 내장된 네트워크 제어용 SW)이 브라우저로부터 메세지를 받는다.
  2. 브라우저로부터 받은 메세지를 패킷 속에 저장한다.
  3. 수신처 주소 등의 제어 정보를 덧붙인다.
  4. 패킷을 LAN 어댑터에 넘긴다.
  5. LAN 어댑터는 다음 Hop의 MAC 주소를 붙인 프레임을 전기신호로 변환한다.
  6. 신호를 LAN 케이블에 송출시킨다.

프로토콜 스택은 통신 중 에러가 발생하면, 제어 정보를 사용하여 옳게 고쳐 보내거나 각종 상황을 조절하는 등 다양한 역할을 하게 된다. 프로토콜 스택은 네트워크 계에서의 비서라고 볼 수 있다. (받는 이의 주소, 각종 유의사항을 작성해줌)

허브, 스위치, 라우터

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

엑세스 회선, 프로바이더

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

방화벽, 캐시서버

  1. 패킷은 인터넷 핵심부를 통과하여 웹 서버측의 LAN에 도착한다.
  2. 방화벽이 패킷을 검사한다.
  3. 패킷이 웹 서버까지 가야하는지 가지 않아도 되는지의 여부를 판단하는 캐시서버가 존재한다. (엑세스한 페이지의 데이터가 캐시서버에 있으면 웹 서버에 의뢰하지 않고 바로 그 값을 읽어올 수 있다. 페이지의 데이터 중 다시 이용할 수 있는 것이 있으면 캐시 서버에 저장된다.)

웹 서버

  1. 패킷이 물리적인 웹 서버에 도착하면 웹 서버의 프로토콜 스택은 패킷을 추출하여 메세지를 복원하고 웹 서버 애플리케이션에 넘긴다.
  2. 메시지를 받은 웹 서버 애플리케이션은 요청 메세지에 따른 데이터를 응답 메세지에 넣어 클라이언트로 회송한다.
  3. 왔단 방식 그대로 응답 메세지가 클라이언트에게 전달된다.
profile
꾸준함을 꿈꾸는 SW 전공 학부생의 개발 일기

0개의 댓글