본문 바로가기
Infra/HTTP

[HTTP] 인터넷 네트워크의 핵심: IP부터 DNS까지

by coding_whale 2026. 5. 11.
반응형

1. 도입부 (Introduction)

우리가 브라우저 주소창에 URL을 입력하고 엔터를 치는 순간, 보이지 않는 곳에서는 수많은 데이터가 패킷(Packet)이라는 단위로 쪼개져 지구 반대편 서버까지 여행을 떠난다. 하지만 단순히 주소만 안다고 해서 데이터가 안전하게 도착하는 것은 아니다.중간에 데이터가 유실될 수도 있고, 순서가 뒤바뀔 수도 있으며, 정작 서버에 도착해도 어떤 프로그램이 이 데이터를 처리해야 할지 모를 수도 있다.
오늘은 이러한 복잡한 인터넷 통신을 가능하게 만드는 핵심 프로토콜들의 역할과 상호작용을 정리해 본다.

 

 

2. IP (Internet Protocol): 데이터 전달의 기본 단위

IP는 지정한 IP 주소에 데이터를 패킷(Packet)이라는 통신 단위로 전달하는 역할을 한다. 패킷은 전송하려는 데이터뿐만 아니라 출발지 IP, 목적지 IP 등의 정보를 담은 '수하물'과 같다.

IP 프로토콜의 한계

IP는 단순한 주소 기반 전달 시스템이기 때문에 다음과 같은 치명적인 한계가 존재한다.

  1. 비연결성: 상대방의 상태를 확인하지 않고 일단 보낸다. 서버가 꺼져 있어도 패킷은 전송된다.
  2. 비신뢰성: 전송 도중 패킷이 소실되거나, 네트워크 경로 차이로 인해 보낸 순서와 다르게 도착할 수 있다.
  3. 프로그램 구분 불가: 하나의 IP를 사용하는 서버 내에 여러 애플리케이션(채팅, 게임 등)이 있을 때 누구에게 줄지 판단하기 어렵다.

 

 

3. TCP와 UDP: 전송의 신뢰성을 결정하다

IP의 한계를 극복하기 위해 Transport 계층에서 사용되는 것이 바로 TCPUDP다.

1) TCP (Transmission Control Protocol)

'전송 제어 프로토콜'이라는 이름답게 매우 꼼꼼하고 신뢰할 수 있는 연결을 제공한다. 현재 인터넷 통신의 대부분은 TCP를 사용한다.

  • 연결 지향 (3-way handshake): 데이터를 보내기 전, 가상 연결을 통해 상대방이 준비되었는지 먼저 확인한다.
  • 데이터 전달 보증: 패킷을 잘 받았는지 응답을 받으며, 누락 시 재전송한다.
  • 순서 보장: 패킷에 번호를 매겨 순서가 틀리면 재조합하거나 다시 요청한다.

 

 

2) UDP (User Datagram Protocol)

하얀 도화지에 비유되는 UDP는 기능이 거의 없다. IP와 비슷하지만 PORT 정보와 데이터 무결성을 검사하는 Checksum 정도만 추가된 형태다.

  • 특징: 연결 확인도 안 하고, 순서도 안 지키지만 매우 빠르다.
  • 용도: 실시간 스트리밍, 온라인 게임처럼 신뢰성보다 속도가 중요한 서비스에 적합하며 최근 HTTP/3 등에서 성능 최적화를 위해 적극 활용된다.

 

 

4. PORT: 같은 집(IP) 내의 문(Door)

IP가 '아파트 주소'라면, PORT는 그 아파트의 '몇 호'인지를 결정한다. 하나의 서버 IP 내에서 동작하는 여러 프로세스를 구분하기 위해 사용된다.

  • 범위: 0 ~ 65535
    • 0 ~ 1023 (Well-known): 유명한 서비스들이 선점한 포트로, 가급적 일반 앱에서는 사용하지 않는다.
    • 주요 포트: HTTP(80), HTTPS(443), FTP(20, 21), SSH(22)

 

 

5. DNS (Domain Name System): 인터넷의 전화번호부

컴퓨터는 숫자로 된 IP 주소를 사용하지만, 사람은 naver.com 같은 도메인 명을 선호한다. 또한 서버의 IP는 언제든 바뀔 수 있는데, 그때마다 사용자가 바뀐 숫자를 외울 수는 없다.

  • 역할: 도메인 명을 관리하고 이를 실제 IP 주소로 변환해 준다.
  • 흐름: 클라이언트가 DNS 서버에 "google.com 주소가 뭐야?"라고 물으면, DNS 서버가 "142.250.xxx.xxx야"라고 응답해 준다.

 

 

6. 마무리 및 핵심 요약

인터넷 네트워크는 각 계층의 프로토콜들이 자신의 책임을 다하며 유기적으로 동작한다.

  1. IP로 목적지 주소를 찾아 패킷을 던진다.
  2. TCP로 그 과정에 신뢰성을 부여하고 데이터 손실을 막는다. (혹은 UDP로 속도를 높인다.)
  3. PORT를 통해 수많은 프로그램 중 정확한 주인을 찾아준다.
  4. 이 모든 과정의 시작인 주소 찾기는 DNS가 돕는다.

네트워크 공부의 시작은 이 패킷의 여행 경로를 이해하는 데 있다. 오늘 정리한 기초 지식은 앞으로 배울 HTTP 웹 기술이나 서버 인프라 구성의 든든한 밑바탕이 될 것이다.

반응형