Transport Layer 전송 계층이 없다면 일어나는 일
2025-06-12 17:55

시작하기
네트워크는 여러 계층 구조로 동작한다. 흔히 말하는 OSI 7계층 중 전송 계층(L4)에 대해 알아보고 이 계층의 역할과 데이터가 어떻게 특정 애플리케이션에 각각 전달되는지 살펴보자.
1. L4 (Transport Layer)가 왜 필요할까?
우리가 한 컴퓨터에서 유튜브도 보고, 카톡도 하고, 노션도 하면서 여러 프로그램을 사용한다. 어떻게 특정 프로그램으로 해당 데이터가 오고 갈 수 있었던 것일까? 이러한 역할을 할 수 있게 도와준 녀석들이 있다. 바로 전송 계층에서 TCP와 UDP이다.
IP 계층(L3)에서 1계층, 2계층에서 보낸 데이터를 받아서 패킷을 목적지까지 전달하는 역할을 한다. 하지만 L3는 해당 패킷을 어떤 곳으로 보내야 하는지 정확히 알지 못한다.
예를 들면,
같은 컴퓨터 내에서 Chrome, 카카오톡, Slack, 게임 등 여러 애플리케이션이 동시에 실행되고 있다고 가정해보자.
모두 인터넷을 통해 데이터를 주고받지만, 애플리케이션의 IP만으로는 이 데이터가 어느 앱으로 가야 하는지 알 방법이 없다.
이때 포트 번호(Port number) 를 사용해서 올바른 애플리케이션으로 데이터를 전달해준다. 전송 계층이 L3 위에 추가적인 기능을 덧붙여서 더 편한 서비스를 만들어준다. 개발자들이 일일이 패킷 관련한 문제를 직접 코드로 다루지 않고, 단순히 데이터를 안정적으로 받기 위해 추상화(Abstraction) 작업이 필요했다.

전송 계층(Layer 4)의 역할
IP 계층 + a (부가적인 기능)
을 추가해서 L3에서 부족한 기능을 보완해주는 역할을 하고 있다.
전송 계층에는 TCP와 UDP 프로토콜이 있으며, TCP와 UDP는 모두 포트를 통해 프로세스를 식별할 수 있다.
프로토콜 | 주요 기능 | 설명 |
---|---|---|
TCP | Demultiplexing + Reliability | 연결지향, 신뢰성, 순서 보장, 혼잡 제어 등 |
UDP | Demultiplexing only | 연결 없이 빠르게 데이터 전송, 신뢰성 없음 |
2. 디멀티플렉싱 Demultiplexing
디멀티플렉싱은 들어온 데이터를 포트 번호를 기준으로 올바른 애플리케이션에 전달하는 과정이다.
패킷 전송 과정 요약
- IP 헤더(L3) 안에는 Protocol 필드가 있다.
→ TCP(6), UDP(17) 등의 프로토콜 번호로 구분해 L4로 넘긴다. - TCP/UDP 헤더에 있는 포트 번호를 기반으로 어느 앱으로 보낼지 판단한다.
예를 들면,
웹브라우저는 80번 포트로, 이메일 서버는 25번 포트로 동작하기 때문에 패킷을 적절한 앱에 전달해줄 수 있다.
패킷의 최종 송수신 대상은 호스트가 아니라 호스트가 실행하는 프로세스 이다.
이와 반대로, 여러 애플리케이션이 데이터를 보낼 때 하나의 IP로 모으는 과정은 멀티플렉싱(Multiplexing) 이라고 한다.
3. 포트 번호

포트 번호(Port number)는 컴퓨터 안에서 네트워크 애플리케이션을 구분하기 위해 사용된다. 포트 번호는 IP 주소 위에서 돌아가는 애플리케이션을 식별하는 방 번호와 같다. IP 는 하나의 건물 주소이며, 그 안에 여러 개의 방 번호(Port)가 써져있다.
6비트로 표현할 수 있는 포트 번호의 총 개수는 2^16 , 즉 65536개이다. 0번 부터 할당되기 때문에 0번 ~ 65536번까지의 포트 번호를 할당 할 수 있다. 이 포트 번호는 범위에 따라 3가지로 나뉜다
포트 번호 종류
포트 종류 | 포트 번호 범위 |
---|---|
잘 알려진 포트 | 0 ~ 1023 |
등록된 포트 | 1024 ~ 49151 |
동적 포트 | 49152 ~ 65535 |
잘 알려진 포트는 이름 그대로 가장 대중적으로 사용되는 애플리케이션을 위한 포트 번호이다.
대표적인 Well-known ports
포트 번호 | 설명 |
---|---|
20, 21 | FTP |
22 | SSH |
23 | TELNET |
53 | DNS |
80 | HTTP |
443 | HTTPS |
4. 정리
- 전송 계층(L4)은 IP 계층만으로는 부족한 “어떤 애플리케이션에 데이터를 전달할지” 문제를 해결해준다.
- 이 계층의 핵심 기능은 디멀티플렉싱(Demultiplexing)으로, 포트 번호를 통해 데이터를 각 프로세스로 전달한다.
- TCP는 신뢰성과 연결 지향, UDP는 빠른 속도와 단순함을 추구하며, 상황에 따라 선택적으로 사용된다.
- 포트 번호는 애플리케이션 식별의 핵심이며, 다양한 범위로 구분되어 효율적인 통신이 가능하게 돕는다.