2편: 목적지를 어떻게 찾는가 - IP와 포트

2026. 6. 22. 15:35Computer Science/네트워크

1편에서 데이터가 물리적 신호로 변환되어 케이블을 타고 이동한다는 걸 배웠다.

 

그런데 한 가지 의문이 남는다.

전 세계에 수십억 대의 컴퓨터가 연결되어 있는데, 내가 보낸 데이터는 그 중에서 "정확히 어느 컴퓨터"로 가야 하는지 어떻게 알까?

그리고 그 컴퓨터에 도착한 뒤에는, 수많은 프로그램 중 "어떤 프로그램"에게 전달해야 하는지는 어떻게 알까?

 

이 두 질문에 답하는 것이 IP 주소와 포트다.

  • "어떤 컴퓨터로 보내야 하지?" → IP 주소
  • "그 컴퓨터 안에서 어떤 프로그램에게 전달해야 하지?" → 포트

IP 주소: 어떤 컴퓨터로 보낼지 정하는 주소

IP 주소는 네트워크에 연결된 모든 기기에 부여되는 고유한 식별자다.

우편을 보낼 때 집 주소가 필요한 것처럼, 데이터를 보낼 때도 "어디로 보낼지"를 식별할 주소가 필요한데, 그 역할을 하는 것이 IP 주소다.

 

IPv4는 왜 점 4개로 이루어져 있을까

IPv4 주소는 192.168.43.241처럼 점으로 구분된 4개의 숫자로 표현되고, 각 숫자는 0부터 255 사이의 값을 가진다.

이건 컴퓨터 내부적으로 32비트(2진수 32자리)로 표현되는 숫자를, 사람이 읽기 쉽게 8비트씩 끊어서 10진수로 바꿔놓은 것이다.

8비트로 표현 가능한 최대값이 255이기 때문에, 각 자리가 0부터 255까지의 범위를 가지는 것이다.

 

IP 주소는 어떻게 관리될까

IP 주소는 아무나 마음대로 사용할 수 없고, 계층적인 구조로 관리된다.

최상위에는 전 세계 인터넷 자원을 총괄하는 ICANN이 있고,

→ 그 아래에 지역별 관리 기관이 있다. 한국을 포함한 아시아·태평양 지역은 APNIC이 담당한다. 

APNIC으로부터 IP 대역을 할당받은 통신사(KT, SK브로드밴드 등)가 실제로 가정과 기업에 IP를 나눠준다.

 

우리가 인터넷에 가입하면 받게 되는 공인 IP는 이 과정을 거쳐 배정된 것이다.


포트: 같은 컴퓨터 안에서 프로그램을 구분하는 번호

같은 컴퓨터(같은 IP) 안에서도 여러 프로그램이 동시에 인터넷과 통신할 수 있다. 웹브라우저, 메신저, 게임이 동시에 켜져 있는 상황을 떠올려보면, 들어오는 데이터가 "어떤 프로그램에게 줘야 하는지"를 구분할 방법이 필요하다. 그 역할을 하는 것이 포트다.

  • IP: 목적지 컴퓨터를 찾는 것 (아파트 이름)
  • 포트: 그 목적지 IP 안에서 돌아가는 프로그램을 찾는 것 (아파트 동호수)

할당 가능한 포트 번호는 0~65535이며, 자주 쓰이는 포트는 미리 약속되어 있다.

80번은 웹사이트(HTTP), 443번은 보안 웹사이트(HTTPS), 22번은 서버 원격 접속(SSH), 3306번은 DB 프로그램에 쓰인다.

 

출발지 포트와 목적지 포트

포트는 "보내는 쪽"과 "받는 쪽" 양쪽에 모두 존재하는데, 그 역할이 완전히 다르다.

 

클라이언트 → 서버 요청시 

  • 출발지 포트: 내 컴퓨터에서 어느 프로그램이 보낸 요청인지 구분하고, 응답이 돌아왔을 때 그 프로그램에게 정확히 전달하기 위해 임시로 배정하는 번호
  • 목적지 포트: 서버 쪽에 이 요청이 어떤 서비스인지 알려주는 고정된 약속 번호 (80, 443, 22 등)

실제 요청/응답 흐름을 보면 이렇다.

// 클라이언트 → 서버 요청
출발지 IP:   192.168.1.10      (내 컴퓨터)
출발지 포트: 51234             (YouTube 요청에 임시로 배정된 포트)
목적지 IP:   142.250.74.206    (YouTube 서버)
목적지 포트: 443               (HTTPS 요청임을 서버가 인식)

// 서버 → 클라이언트 응답
출발지 IP:   142.250.74.206    (YouTube 서버)
출발지 포트: 443               (HTTPS)
목적지 IP:   192.168.1.10      (내 컴퓨터)
목적지 포트: 51234             (이 응답을 기다리던 프로그램을 찾는 데 사용)

 

데이터가 정확히 목적지에 도달하려면 "어느 컴퓨터(IP)의, 어느 프로그램(포트)에게" 전달해야 하는지가 명확히 정해져야 한다.

이 두 정보가 항상 출발지/목적지 쌍으로 데이터에 담겨서 이동한다.


 

그런데 IP 주소를 알고 있다고 해서 데이터가 자동으로 그 목적지까지 찾아가는 건 아니다.

수많은 라우터를 거쳐 "어느 경로로 가야 하는지"를 찾아가는 과정이 필요하다.

다음 편에서는 그 경로 찾기의 원리, 라우팅과 DNS를 다룬다.