<aside>
💡
💡 데이터 전송 과정
인터넷을 통해 우리가 웹 페이지를 열거나 데이터를 다운로드할 때, 그 뒤에서 일어나는 과정은 매우 복잡하고 빠르게 진행됩니다. 이제 그 과정을 단계별로 살펴보겠습니다.
</aside>
1️⃣ URL 입력 및 DNS 변환
- 사용자 요청: 사용자가 웹 브라우저에 URL을 입력하면, 이 요청이 인터넷을 통해 서버에 도달하려고 합니다.
- DNS 변환: URL은 사람이 기억하기 쉽지만, 컴퓨터는 IP 주소를 통해서만 찾을 수 있습니다. URL은 DNS(도메인 네임 시스템) 서버를 통해 IP 주소로 변환됩니다.
- 예시:
www.example.com
→ 192.168.1.1
2️⃣ 패킷 전송
- 패킷 분할: IP 주소로 변환된 요청은 여러 개의 패킷으로 나누어집니다.
- 패킷: 데이터 전송을 위한 작은 단위로, 각 패킷은 데이터 본문과 목적지 주소 등을 포함합니다.
- 인터넷 전송: 이 패킷들은 인터넷을 통해 라우터, 스위치 등의 네트워크 장비를 거쳐 목적지 서버로 전송됩니다.
- 서버 응답: 서버는 요청을 처리한 후, 응답 데이터를 다시 패킷으로 나누어 전송합니다.
- 각 패킷은 독립적으로 경로를 선택하여 목적지에 도달합니다.
3️⃣ TCP/IP 프로토콜의 역할
- 데이터 무사히 도착 보장: 패킷을 전송하는 과정에서 TCP/IP 프로토콜이 중요한 역할을 합니다. 이 프로토콜은 패킷이 정확히 목적지에 도달하도록 보장합니다.
- TCP는 데이터 전송의 신뢰성을 유지하며, 손실된 패킷은 재전송을 통해 복구됩니다.
- 흐름 제어: 네트워크 혼잡을 방지하기 위해 데이터 흐름을 제어하며, 여러 패킷을 올바르게 정렬하여 수신 측에서 재조립할 수 있게 만듭니다.
4️⃣ 웹 브라우저에서의 데이터 처리
- 패킷 재조립: 목적지에 도달한 패킷은 웹 서버로부터 웹 브라우저로 전달됩니다. 웹 브라우저는 받은 패킷들을 하나로 재조립합니다.
- 웹 페이지 렌더링: 재조립된 데이터는 웹 페이지 형태로 렌더링됩니다. 이를 통해 사용자는 원하는 웹사이트를 볼 수 있게 됩니다.
- 이 과정은 HTML, CSS, JavaScript 등을 통해 시각적 요소가 결합되어 최종적으로 사용자에게 표시됩니다.