Untitled

  1. 사용자가 브라우저에 URL을 입력합니다
  2. 브라우저는 DNS서버를 통해 도메인 네임에 해당하는 IP주소를 찾습니다.
  3. 페이지 URL정보과 전달받은 IP주소를 통해 HTTP프로토콜 요청 메시지를 생성합니다.
  4. TCP/IP연결을 통해 HTTP요청을 서버로 전송합니다.
  5. 서버는 HTTP응답메세지를 생성하여 요청한 컴퓨터로 전송합니다.
  6. 도착한 응답메세지는 웹페이지 데이터로 변환되고, 웹브라우저에 의해 출력됩니다.

[IT 기술면접 준비자료] 당신이 브라우저로 웹사이트에 접속할 때 일어나는 일들 (부제: DNS 이야기)

먼저 웹 브라우저가 URL을 분석하여, DNS 서버로부터 IP 주소를 받아온 상황에서 웹 서버로의 통신을 시작한다. 그리고 웹 브라우저는 응용계층에서 HTTP 리퀘스트 메세지(해당 페이지에 대한 정보를 요청)를 웹 서버에 보낸다. 해당 메세지를 송신하기 위해 OS의 내부에 있는 네트워크 제어용 소프트웨어(프로토콜 스택)를 호출한다. 이 동작은 곧 전송계층에 해당하는 TCP 혹은 UDP를 통하여 데이터 송/수신 동작을 실행한다. 이 과정에서 클라이언트 측 포트 번호(Source Port)와 서버 측 포트번호(Destination Port)가 TCP Header에 추가되어 세그먼트라는 이름으로 추가된다. 그리고 네트워크 계층을 통해 각각의 송신 측, 수신 측 IP 주소가 추가된다. 또한 Data Link Layer에서는 MAC 주소가 헤더에 추가된다. 이는 이더넷에서는 IP 주소 대신 MAC 헤더(랜의 주소 정보를 나타내는 데이터)가 사용되기 때문이다. 그리고 이 메세지는 Physical Layer의 랜 카드를 통해 데이터가 전기 신호로 변환된다. 변환된 전기 신호는 스위치 A에서 라우터 A로 전송된다. 라우트 A에선 여러 계층에서 전송 받은 데이터를 분석해 알맞은 경로인 라우터 B로 데이터를 전송한다. 그런 후 스위치 B는 웹 서버에 데이터를 전기 신호로 전달한다. 이 과정을 모두 거치면, IP 주소에 해당하는 웹 서버에 데이터가 성공적으로 송신된다.