📑 목차
인터넷 회선 하나로 왜 이렇게 많은 일이 될까
집이나 회사에서 사용하는 인터넷 회선은 보통 하나이다. 그런데 이 한 회선 위에서
- 웹 서핑,
- 유튜브 동영상 재생,
- 메신저,
- 화상 회의,
- 클라우드 파일 동기화
가 동시에 돌아가도 대체로 큰 문제 없이 동작한다.
겉으로 보면 “선 하나”에 불과한데, 어떻게 서로 다른 네트워크 서비스들이 섞이지 않고 각자 제자리로 정확히 도착하는지 궁금해질 수 있다. 이 비밀을 이해하려면 패킷, 포트 번호, TCP/IP, 인터넷 회선이라는 키워드를 알아야 한다.
이 글에서는 전산학 비전공자도 이해할 수 있도록
- 인터넷에서 데이터를 잘게 나누는 단위인 패킷이 무엇인지,
- 하나의 IP 주소 안에서 여러 포트 번호가 왜 필요한지,
- 이 구조 덕분에 하나의 인터넷 회선으로 여러 서비스가 동시에 동작하는 원리가 무엇인지,
- 실생활에서 포트 번호가 문제가 될 때 어떤 증상이 나타나는지
를 전산학 입문서 수준으로 차근차근 설명한다.
패킷과 포트 번호의 개념과 기본 원리
1. 패킷(Packet): 인터넷에서 오가는 작은 데이터 상자
인터넷에서는 데이터를 한 번에 길게 보내지 않는다. 대신 패킷(Packet)이라고 부르는 작은 조각으로 잘라서 보낸다.
패킷은 크게 두 부분으로 구성된다.
- 헤더(Header):
- 보내는 쪽 IP 주소, 받는 쪽 IP 주소, 포트 번호, 프로토콜 정보 등 “배달에 필요한 정보”가 들어 있는 부분이다.
- 데이터(Data, Payload):
- 실제로 전달하려는 내용, 예를 들어 웹 페이지 조각, 채팅 메시지 일부, 동영상 조각 등이 들어 있다.
택배 상자를 떠올리면 이해하기 쉽다.
- 상자 겉에 적힌 주소, 받는 사람 이름, 연락처가 패킷의 헤더 역할을 한다.
- 상자 안에 들어 있는 물건이 패킷의 데이터에 해당한다.
인터넷 회선(물리적인 선) 위에서는 이런 패킷들이 순서대로, 혹은 섞여서 흘러간다. 중간의 라우터, 스위치 같은 네트워크 장비들은
- 패킷의 헤더에 있는 IP 주소를 보고 “어느 방향으로 보내야 하는지”를 판단한다.
이렇게 패킷 단위로 데이터를 나누면 다음과 같은 장점이 있다.
- 여러 사람이 동시에 인터넷을 사용할 때, 패킷을 조금씩 번갈아 보내면서 회선을 공정하게 나눌 수 있다.
- 중간에 어떤 패킷이 유실되더라도 해당 부분만 다시 보내면 되므로, 전체를 다시 보낼 필요가 없다.
2. 포트 번호(Port Number): 같은 주소 안의 여러 서비스 구분자
IP 주소는 “어느 컴퓨터인가”를 가리킨다. 하지만 실제로 한 컴퓨터 안에는
- 웹 서버,
- 메일 서버,
- 파일 전송 서버,
- 데이터베이스 서버
등 여러 서비스(프로그램)가 동시에 돌아갈 수 있다.
이때 필요한 것이 바로 포트 번호(Port Number)이다.
포트 번호는 간단히 말해 “한 IP 주소 안에서 실행 중인 여러 서비스(프로그램)를 구분하기 위한 번호”이다.
비유를 들어 보면 다음과 같다.
- IP 주소: 아파트 동과 동의 주소(예: “서울시 ○○구 ○○아파트 101동”)
- 포트 번호: 동 안에 있는 개별 호실 번호(예: 101호, 102호, 1503호)
택배 기사 입장에서는
- 아파트 주소를 알아야 어느 건물인지 알 수 있고,
- 동과 호실 번호를 알아야 정확한 집 앞까지 갈 수 있다.
인터넷에서도 마찬가지로,
- IP 주소가 “어느 컴퓨터인지”를 알려 준다면,
- 포트 번호는 “그 컴퓨터 안의 어느 서비스인지”를 알려 준다.
대표적인 포트 번호 예시는 다음과 같다.
- 80번 포트: HTTP 웹 서비스(암호화되지 않은 웹)
- 443번 포트: HTTPS 웹 서비스(암호화된 웹)
- 25번 포트: SMTP 메일 전송
- 22번 포트: SSH 원격 접속
운영체제는 포트 번호별로 프로그램을 연결해 두고,
- 특정 포트로 들어오는 패킷은 해당 포트를 사용하는 프로그램에게 전달한다.

3. TCP/IP와 포트 번호: 연결을 구분하는 실제 기준
실제 인터넷 통신에서는 TCP/IP 또는 UDP/IP라는 프로토콜이 사용된다. 여기서는 복잡한 내부 구조 대신, 연결을 구분하는 기준만 이해하면 충분하다.
TCP/IP에서 하나의 연결을 구분할 때는 다음 정보들을 함께 고려한다.
- 출발지 IP 주소
- 출발지 포트 번호
- 도착지 IP 주소
- 도착지 포트 번호
- 사용 프로토콜(TCP 또는 UDP)
이 조합을 통해 운영체제는
- “이 패킷은 A 프로그램이 열어둔 연결에 속한다”
- “이 패킷은 B 프로그램이 열어둔 연결에 속한다”
를 정확히 판별할 수 있다.
예를 들어, 같은 웹 브라우저가
- 탭 1: 유튜브 동영상(서버 1, 443번 포트)
- 탭 2: 뉴스 사이트(서버 2, 443번 포트)
- 탭 3: 인터넷 뱅킹(서버 3, 443번 포트)
를 동시에 열어 두었다고 하자.
브라우저와 운영체제는 각 탭마다
- 서로 다른 출발지 포트 번호,
- 서로 다른 도착지 IP 주소
를 사용하여 세 연결을 구분한다.
따라서 같은 인터넷 회선 하나를 사용하더라도,
- 패킷의 헤더에 있는 IP 주소와 포트 번호 조합을 기준으로
- 수십, 수백 개의 연결을 동시에 유지하고 구분할 수 있다.
하나의 인터넷 회선에서 여러 서비스가 동시에 동작하는 실제 모습
1. 집에서 자주 보는 상황으로 이해하는 패킷과 포트 번호
가정용 인터넷 환경을 떠올려 보자. 보통 다음과 같은 상황이 동시에 발생한다.
- 누군가는 PC로 웹 서핑과 인터넷 뱅킹을 한다.
- 다른 사람은 스마트폰으로 유튜브를 본다.
- TV에서는 OTT 스트리밍 서비스로 드라마를 재생한다.
- 백그라운드에서는 클라우드 동기화 프로그램이 파일을 업로드한다.
겉으로 보면 “집 안에 인터넷 회선은 하나인데, 이렇게 많은 네트워크 서비스가 동시에 동작해도 괜찮을까”라는 의문이 생길 수 있다.
실제로는 다음과 같은 일이 일어난다.
- 각 기기는 공유기를 통해 하나의 인터넷 회선에 연결된다.
- PC, 스마트폰, TV 등 각 기기에서 실행 중인 프로그램은 서로 다른 포트 번호를 사용해 서버와 통신한다.
- 모든 데이터는 작은 패킷 단위로 잘려, 시간 축에서 번갈아가며 같은 회선을 타고 나간다.
- 인터넷 망과 목적지 서버에서는 패킷 헤더에 적힌 IP 주소와 포트 번호를 보고,
- 어떤 서버, 어떤 서비스로 보내야 하는지 구분하여 처리한다.
이 과정은 매우 빠르게 반복되며, 사람 눈에는 단지 “동시에 여러 서비스를 쓰는 것처럼” 보일 뿐이다.
2. 공유기와 NAT: 여러 기기 트래픽을 한 공인 IP로 모아 보내는 구조
집에서는 보통 공유기(라우터)를 사용한다. 공유기는
- 내부에서는 여러 기기에 사설 IP 주소(예: 192.168.0.x)를 나누어 주고,
- 외부 인터넷에는 하나의 공인 IP 주소로 연결된다.
이때 공유기는 NAT(Network Address Translation)라는 기능을 사용하여,
- 내부 여러 기기가 보내는 패킷을
- 하나의 공인 IP 주소 + 각기 다른 출발지 포트 번호 조합으로 바꾸어 인터넷으로 내보낸다.
예를 들어,
- 내부 PC A: 192.168.0.10:50000 → 외부 서버1: 443
- 내부 스마트폰 B: 192.168.0.20:51000 → 외부 서버2: 443
이렇게 두 기기가 동시에 통신하더라도, 공유기 바깥에서 보면
- 공인 IP:203.0.113.5:40001 → 서버1:443
- 공인 IP:203.0.113.5:40002 → 서버2:443
처럼 공인 IP는 같지만 포트 번호가 다른 연결로 보인다.
공유기는 내부에 NAT 테이블을 가지고 있어
- “40001번 포트로 나간 연결은 원래 192.168.0.10:50000에서 온 것”
- “40002번 포트로 나간 연결은 원래 192.168.0.20:51000에서 온 것”
을 기록해 둔다.
그래서 외부 서버에서 응답이 돌아오면, 공유기는
- 도착한 패킷의 포트 번호를 보고
- NAT 테이블을 참조하여
- 원래의 내부 기기와 포트로 되돌려 준다.
이 구조 덕분에
- 하나의 인터넷 회선, 하나의 공인 IP 주소로도
- 집 안 여러 기기가 동시에 다양한 네트워크 서비스를 사용할 수 있다.

3. 포트 번호 문제로 발생하는 대표적인 증상들
포트 번호와 패킷 구조를 이해하면, 실제로 네트워크 문제가 발생했을 때 원인을 추측하는 데 도움이 된다. 대표적인 사례를 몇 가지 살펴본다.
- 웹은 되는데 특정 프로그램만 접속이 안 되는 경우
- 웹 브라우저(80, 443 포트)는 잘 동작하지만,
- 게임, 메신저, 원격 데스크톱은 접속이 되지 않는 경우가 있다.
- 이 경우 해당 프로그램이 사용하는 포트 번호가 방화벽이나 공유기 설정에서 차단되어 있을 가능성이 크다.
- 외부에서 우리 집/회사 서버에 접속이 안 되는 경우
- NAS, CCTV, 원격 데스크톱 서버 등을 집이나 회사에 두고 외부에서 접속하려면,
- 공유기에서 포트 포워딩(Port Forwarding) 설정을 통해
- 특정 포트로 들어오는 외부 패킷을 내부 IP로 전달하도록 해야 한다.
- 이 설정이 없으면 패킷이 공유기에서 어디로 가야 할지 몰라 차단된다.
- 같은 네트워크인데 프로그램끼리 충돌하는 경우
- 하나의 PC에서 이미 어떤 프로그램이 8080 포트를 사용 중인데,
- 다른 프로그램이 같은 포트를 쓰려고 하면 “포트를 열 수 없다”는 오류가 발생한다.
- 포트 번호는 한 기기 안에서 동일한 포트에 동시에 하나의 서버 프로그램만 바인딩할 수 있기 때문이다.
- 보안 관점에서의 포트 관리
- 외부에서 접근할 필요가 없는 포트는 방화벽에서 막는 것이 일반적인 보안 정책이다.
- 예를 들어, 데이터베이스 포트를 인터넷에 그대로 열어 두면 공격 대상이 될 수 있다.
- 따라서 “어떤 서비스가 어떤 포트를 사용하는지”를 이해하는 것은 보안 설정을 할 때도 중요하다.
패킷과 포트 번호를 이해하면 인터넷 구조가 단순해진다
이 글에서는 패킷과 포트 번호를 중심으로, 하나의 인터넷 회선으로 여러 서비스가 동시에 동작하는 비밀을 살펴보았다. 핵심 내용을 정리하면 다음과 같다.
- 패킷은 인터넷에서 오가는 데이터의 기본 단위이다.
- 헤더에는 IP 주소, 포트 번호 등 배달에 필요한 정보가 들어 있고,
- 데이터 부분에는 실제 내용이 담긴다.
- 포트 번호는 한 IP 주소 안에서 여러 서비스를 구분하는 번호이다.
- IP는 “어느 컴퓨터인가”, 포트 번호는 “그 컴퓨터의 어느 서비스인가”를 나타낸다.
- 웹, 메일, 원격 접속 등 각 서비스는 서로 다른 포트를 사용한다.
- TCP/IP는 IP 주소와 포트 번호 조합을 사용해 여러 연결을 동시에 구분한다.
- 출발지/도착지 IP와 포트 번호를 조합해,
- 하나의 인터넷 회선 위에서 수많은 연결을 서로 섞이지 않게 유지한다.
- 공유기와 NAT 덕분에 여러 기기가 하나의 공인 IP와 인터넷 회선을 동시에 사용할 수 있다.
- 공유기는 내부 사설 IP와 포트 번호를 공인 IP와 다른 포트 번호로 변환하여,
- 외부에서 볼 때도 연결들을 정확히 구분할 수 있게 한다.
- 포트 번호를 이해하면 네트워크 문제와 보안을 더 논리적으로 다룰 수 있다.
- 특정 서비스만 접속이 안 되는 문제,
- 원격 접속이 되지 않는 문제,
- 방화벽과 포트 포워딩 설정 등에서
- “어떤 포트가 어디에서 막히고 있는지”를 기준으로 원인을 추적할 수 있다.
이제 “왜 인터넷 선 하나로 이렇게 많은 서비스가 동시에 동작하는가”라는 질문에 대해,
- 데이터가 패킷으로 잘게 나뉘어,
- 포트 번호와 TCP/IP 조합으로 서로 다른 네트워크 서비스가 구분되기 때문에 가능하다는 설명을 할 수 있을 것이다.
다음 단계에서 자연스럽게 이어질 수 있는 학습 주제는 예를 들면 다음과 같다.
- “방화벽과 포트 필터링: 어떤 트래픽을 허용하고 막을지 결정하는 기준”
- “포트 포워딩과 DMZ: 외부에서 내부 서버에 안전하게 접속하는 방법”
이 주제들을 함께 살펴보면, 전산학에서 중요한 영역인 네트워크 구조와 보안 설계를 더 깊이 이해하는 데 도움이 될 것이다.
'전산학' 카테고리의 다른 글
| 트랜잭션과 ACID: 은행 이체가 ‘정확하게’ 처리되는 기술적 원리 (0) | 2025.12.11 |
|---|---|
| 데이터베이스 기초: 엑셀과 무엇이 다르고 어디에 쓰이는가 (0) | 2025.12.11 |
| HTTP와 HTTPS: 웹 브라우저가 웹사이트와 대화하는 규칙과 보안 (0) | 2025.12.11 |
| DNS 동작 원리: 웹사이트 주소를 입력하면 실제 서버를 찾는 과정 (0) | 2025.12.11 |
| 라우터와 스위치: 집·회사 네트워크에서 트래픽을 나누는 방법 (0) | 2025.12.11 |