2026. 6. 22. 15:35ㆍComputer 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를 다룬다.