네트워크

Transport Layer 전송 계층이 없다면 일어나는 일

2025-06-12 17:55


Transport Layer 전송 계층이 없다면 일어나는 일

시작하기

네트워크는 여러 계층 구조로 동작한다. 흔히 말하는 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는 모두 포트를 통해 프로세스를 식별할 수 있다.

프로토콜주요 기능설명
TCPDemultiplexing + Reliability연결지향, 신뢰성, 순서 보장, 혼잡 제어 등
UDPDemultiplexing only연결 없이 빠르게 데이터 전송, 신뢰성 없음

2. 디멀티플렉싱 Demultiplexing

디멀티플렉싱은 들어온 데이터를 포트 번호를 기준으로 올바른 애플리케이션에 전달하는 과정이다.

패킷 전송 과정 요약

  1. IP 헤더(L3) 안에는 Protocol 필드가 있다.
    → TCP(6), UDP(17) 등의 프로토콜 번호로 구분해 L4로 넘긴다.
  2. 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, 21FTP
22SSH
23TELNET
53DNS
80HTTP
443HTTPS

4. 정리




 transportlayer  네트워크  전송계층