상세 컨텐츠

본문 제목

전송 계층과 네트워크 계층 간의 차이점 - 2

개발 관련(Computer Science)

by Director J 2025. 4. 9. 01:06

본문

 

네트워크 통신을 이해할 때, 우리는 주로 OSI 7계층 모델을 기준으로 공부하곤 합니다. 이 모델에서 전송 계층(4계층)은 프로세스 간 통신을, 네트워크 계층(3계층)은 호스트 간 통신을 담당하죠. 이 두 계층은 모두 ‘데이터를 전달한다’는 큰 목표를 갖고 있지만, 작동 범위와 담당하는 세부 기능이 다릅니다.

 

이번 글에서는 전송 계층과 네트워크 계층이 어떤 점에서 차이가 있고, 실제 인터넷(=TCP/IP 스택) 환경에서는 어떻게 구현되는지를 정리해보겠습니다.


1. 전송 계층 (Transport Layer)

1) 역할

  • 프로세스(Process) 간 논리적 통신 담당
    • 같은 호스트 내 여러 애플리케이션(프로세스)이 동시에 데이터를 주고받을 수 있도록, 포트 번호 등을 이용해 논리적으로 구분하고 연결을 제어한다.
  • 상위 계층(응용 계층, 세션 계층 등)에서 전달받은 데이터를 하위 계층(IP, 네트워크 계층)을 통해 네트워크로 보내고, 안전하게 도착했는지 확인(흐름 제어, 오류 제어)한다.

2) 주요 기능

  • 오류 제어: 전송 중 손실되거나 손상된 데이터가 있는지 검사하고 재전송을 요청한다.
  • 흐름 제어: 수신 측이 처리 가능한 속도를 벗어나지 않도록 송신 측 전송 속도를 조절한다.
  • 연결 제어: 연결형(연결 지향형, 예: TCP) 또는 비연결형(예: UDP) 방식을 통해 데이터 전송 절차를 관리한다.
  • 세그먼트 분할 및 재조립: 전송 계층 단위(세그먼트)로 데이터를 나누어 보내고, 도착지에서 이를 다시 합친다.

3) 대표 프로토콜

  • TCP(Transmission Control Protocol): 연결 지향형 프로토콜로, 신뢰성 있는 전송을 위해 흐름 제어, 오류 제어, 재전송 등을 수행한다.
  • UDP(User Datagram Protocol): 비연결형 프로토콜로, 빠른 전송에 초점을 맞추어 단순한 헤더 구조와 최소한의 제어 기능만을 제공한다.
  • SCTP(Stream Control Transmission Protocol): 멀티 스트리밍, 멀티 호밍 등을 지원해 더 높은 안정성과 유연성을 제공한다.

4) 특징

  • 전송 계층의 핵심 키워드는 “프로세스 간, 신뢰성, 흐름·오류 제어, 포트 기반 연결”이다.
  • 현대 OS에서 하나의 호스트가 여러 프로그램(프로세스)을 동시에 실행하기 때문에, 포트 번호를 통해 각 프로세스를 식별해준다.
  • 전송 계층은 OSI 1~3계층을 ‘전송 경로’로 활용해, 응용 계층에서 내려온 데이터를 목적지 프로세스까지 안전하게 전달하는 중재자 역할을 한다.

2. 네트워크 계층 (Network Layer)

1) 역할

  • 호스트(Host) 간 논리적 통신을 담당
    • 네트워크에 연결된 서로 다른 호스트 간에 데이터를 전달하기 위해 경로 설정(라우팅) 및 주소 지정을 수행한다.
  • 실제로 여러 네트워크(서브넷)가 연결된 복잡한 환경에서, 패킷이 출발지에서 목적지까지 전달될 수 있도록 중간 라우터(라우팅 장치)들을 거쳐가는 경로를 결정한다.

2) 주요 기능

  • 논리적 주소 지정: 모든 장치(호스트)에 네트워크 계층의 주소(IP 주소 등)를 부여한다. 이는 물리적 주소(MAC)와 달리 위치나 장비에 종속되지 않아야 한다.
  • 라우팅: 여러 네트워크를 거쳐 목적지 호스트에 도달하기 위한 최적 경로를 선택하고, 패킷을 적절히 포워딩한다.
  • 패킷(데이터그램) 캡슐화 및 단편화: 상위 계층(전송 계층)에서 받은 데이터를 패킷(또는 데이터그램) 형태로 캡슐화하고, 전송하려는 링크의 MTU(최대 전송 단위)에 맞추어 분할·재조립을 수행한다.
  • 오류 처리: IP 계층에서 발생하는 오류나 경고 정보를 ICMP 등을 통해 교환한다. 예: ping 명령은 ICMP를 활용한 대표적인 진단 툴이다.

3) 대표 프로토콜

  • IP(Internet Protocol): 인터넷에서 사용되는 핵심 프로토콜로, 패킷(데이터그램)을 목적지까지 라우팅하고 전달한다.
  • ICMP(Internet Control Message Protocol): IP 계층 오류 및 제어 메시지를 주고받아 네트워크 상태나 오류 정보를 알려준다.
  • IGMP(Internet Group Management Protocol): 멀티캐스트 그룹을 관리한다.
  • ARP / RARP: IP 주소 ↔ MAC 주소를 상호 변환한다.

4) 특징

  • 네트워크 계층의 핵심 키워드는 “호스트 간, 라우팅, 논리 주소(IP), 오류 및 경로 제어”이다.
  • 데이터 링크 계층(2계층)이 로컬 링크 단위의 통신(프레임 전송)을 담당한다면, 네트워크 계층(3계층)은 전역적(인터네트워크) 주소 지정과 패킷 전달을 담당한다.

3. DNS는 어느 계층에 속할까?

글에서 종종 “논리적 주소(도메인) → 물리적 주소 변환” 이라고 해서, amazon.com을 180.215.206.136(IP 주소)로 바꾸는 과정을 네트워크 계층에서 하는 일로 착각하는 경우가 있습니다. 하지만 DNS(Domain Name System)는 OSI 7계층으로 따지면 응용 계층에 속합니다.

  • 응용 계층의 DNS 프로토콜이 IP 주소를 찾아주면,
  • 네트워크 계층에서는 IP 주소를 바탕으로 실제 라우팅(중간 경로 설정)을 진행하고,
  • 데이터 링크 계층에서는 ARP 등을 사용해 MAC 주소로 바꿔 로컬 전송을 수행하는 식입니다.

즉, 도메인 이름을 IP 주소로 변환하는 것은 “네트워크 계층이 논리 주소를 물리 주소로 바꿔준다”라는 설명과는 다소 다릅니다. OSI 모델상으로 보면, 네트워크 계층의 주소 변환은 주로 IP ↔ MAC 변환(ARP, RARP)과 같이 실제 패킷 전송에 필요한 부분에 초점을 둡니다.


4. OSI 모델 vs. TCP/IP 모델

1) OSI 7계층

  1. 물리 계층 (Physical)
  2. 데이터 링크 계층 (Data Link)
  3. 네트워크 계층 (Network)
  4. 전송 계층 (Transport)
  5. 세션 계층 (Session)
  6. 표현 계층 (Presentation)
  7. 응용 계층 (Application)

2) TCP/IP 4계층

  1. 네트워크 인터페이스 계층 (Link Layer)
  2. 인터넷 계층 (Internet Layer)
  3. 전송 계층 (Transport Layer)
  4. 응용 계층 (Application Layer)

실제 인터넷에서 널리 쓰이는 TCP/IP 스택은 4계층으로 단순화되어 있습니다.

  • OSI 네트워크 계층(3계층) → TCP/IP 인터넷 계층
  • OSI 전송 계층(4계층) → TCP/IP 전송 계층
  • OSI 세션/표현/응용 계층(5~7계층) → TCP/IP 응용 계층으로 뭉뚱그려 합쳐져 있죠.

따라서 OSI 모델에 익숙해진 후, 실제 네트워크 프로토콜을 볼 때는 “OSI 3계층 = TCP/IP 인터넷 계층”, “OSI 4계층 = TCP/UDP 프로토콜이 있는 전송 계층” 정도로 매핑해두시면 됩니다.


5. 전송 계층과 네트워크 계층, 무엇이 다른가?

한눈에 보는 차이점

구분전송 계층(4계층) 네트워크 계층(3계층)
주요 목표 프로세스 간 논리적 통신, 안정적 데이터 전송 호스트 간 논리적 통신, 라우팅(경로 설정)
주소 개념 포트 번호(프로세스 식별) IP 주소(호스트 식별)
주요 프로토콜 TCP, UDP, SCTP 등 IP, ICMP, ARP, RARP 등
데이터 단위 세그먼트(Segment) 패킷(Packet), 데이터그램(Datagram)
기능 중심 오류 제어, 흐름 제어, 연결 관리 라우팅, 주소 할당, 패킷 캡슐화·단편화
OSI/TCP/IP 계층 OSI 4계층 / TCP/IP 3계층(Transport) OSI 3계층 / TCP/IP 2계층(Internet)

이처럼 전송 계층은 호스트 내부 애플리케이션 간의 ‘신뢰성 있고 효율적인 데이터 전송’에 초점을 맞추고, 네트워크 계층은 호스트 간을 잇는 ‘주소 지정과 라우팅(경로 설정)’에 초점을 둡니다.


마무리

  • 전송 계층(4계층)은 프로세스 간 데이터를 안정적으로 혹은 빠르게(프로토콜 종류에 따라) 전송하는 로직을 담당한다.
  • 네트워크 계층(3계층)은 호스트 간 데이터를 올바른 경로로 전달하기 위한 라우팅 및 논리 주소(IP) 할당을 담당한다.
  • DNS와 같은 도메인 이름 변환은 응용 계층(7계층)에서 수행된다.
  • 실제로 사용되는 TCP/IP 모델에서는 네트워크 계층이 ‘인터넷 계층’으로, 전송 계층이 ‘트랜스포트 계층’으로 불리며, 일부 계층(세션·표현·응용)은 하나의 응용 계층으로 통합된다.

두 계층을 구분하는 잣대는 “통신 범위(프로세스 vs. 호스트)”와 “주요 기능(오류·흐름 제어 vs. 라우팅, IP 주소 지정)”입니다. 이 차이를 정확히 이해하면, 네트워크 구조나 각 계층의 동작 원리를 좀 더 쉽게 파악할 수 있습니다.

앞으로 네트워크 학습·설계를 할 때, “이건 전송 계층에서 관리하는 기능인가? 아니면 네트워크 계층에서 하는 일인가?”를 스스로 구분해보면 큰 도움이 될 것입니다.


참고 정리:

  1. 전송 계층 → TCP/UDP, 흐름 제어·오류 제어, 세그먼트 전송
  2. 네트워크 계층 → IP, 라우팅·주소 지정, 패킷 전송
  3. DNS → 응용 계층에서의 도메인 이름 ↔ IP 주소 변환
반응형

관련글 더보기