본문 바로가기
네트워크2

TCP/IP 4계층 모델

by 로맨틱스터디 2025. 11. 15.
728x90
반응형
[4] Application Layer   --- HTTP, HTTPS / WebSocket, DNS
[3] Transport Layer      --- TCP, UDP
[2] Internet Layer         --- IP
[1] Link Layer                --- Ethernet, WiFi

✅ 먼저 결론

각 계층은 “전송”이라는 같은 단어를 쓰지만, 전송하는 ‘레벨’과 ‘목적’이 완전히 다르다.

  • Link Layer = 물리적으로 옆 네트워크 장비까지 전달
  • Internet Layer = 전 세계 네트워크 중 목적지까지 라우팅
  • Transport Layer = 애플리케이션 단위의 데이터 스트림을 안정하게 전달
  • Application Layer = 사람/앱이 이해할 프로토콜(HTTP, DNS, WebSocket)을 정의

그리고 계층은 아래 → 위로 순서대로 동작하고, 위 → 아래로 감싸져서 전송된다.


🧩 각 계층의 역할을 느낌으로 쉽게 정리

1️⃣ Link Layer (이더넷, Wi-Fi)

📍 역할:

  • “같은 LAN 안에서” 장비 ↔ 장비 간 데이터 전달
  • MAC 주소 기반
  • 물리적 신호 전송 (케이블, 라디오파 등)

📍 전송 범위:

  • 아파트 단지처럼 로컬 영역

📍 전송 목적:

  • 바로 옆 장비에게” 한 홉(hop) 전달

➡️ 전 세계로는 못 나감 (라우터가 여기서 분리선)


2️⃣ Internet Layer (IP)

📍 역할:

  • 인터넷 전체(WAN)에서 목적지까지 패킷을 라우팅
  • IP 주소 기반
  • 전 세계 라우터들이 패킷 전달

📍 전송 범위:

  • 지구 반대편까지

📍 전송 목적:

  • “A에서 B까지 목적지에 도달할 경로 찾기”

➡️ Link Layer는 이웃끼리, Internet Layer는 전 세계


3️⃣ Transport Layer (TCP / UDP)

📍 역할:

  • 목적지에 도달한 패킷을 “얼마나 안정적으로 전달할지”
  • 애플리케이션 간 연결/신뢰성 제공

🔥 Transport Layer는 왜 필요하냐?

⬇️ 이 3가지를 IP가 못하기 때문.

IP가 못하는 것:

  1. 패킷 순서 맞추기
  2. 손실된 패킷 재전송
  3. 연결 유지
  4. 데이터가 어느 앱(포트)로 가야 하는지 구분

즉 IP는 오로지 “길찾기”만 하고,
TCP가 “데이터가 정확히 도달하게” 만드는 것.

 

📍 Transport Layer가 제공하는 기능:

  • TCP = 연결 기반, 재전송, 순서 보장
  • UDP = 빠르고 간단(재전송 없음)
  • 포트 번호로 애플리케이션 식별 (예: 80=HTTP, 53=DNS)

📍 전송 범위:

  • 목적지 앱까지
  • “서버의 HTTP 앱” 또는 “클라이언트의 브라우저” 같은 레벨

4️⃣ Application Layer (HTTP, DNS, WebSocket)

📍 역할:

  • TCP/UDP 위에서 돌아가는 사람이 이해하는 프로토콜
  • 브라우저, 게임, 앱들이 사용하는 실제 규칙

예시:

  • HTTP = 요청/응답
  • HTTPS = HTTP + TLS
  • WebSocket = 양방향 실시간 통신
  • DNS = 도메인 → IP 변환
  • SMTP/IMAP = 이메일
  • FTP = 파일 전송

📍 왜 Application?
사람이 사용하는 ‘앱’이 바로 이 계층을 사용하기 때문.

 

📍 전송 범위:

  • 브라우저웹 서버 수준

728x90

🚦 전체 흐름 (아래 → 위)

요청이 “보내질 때”는:

Application Layer (HTTP 메시지 생성)

Transport Layer (TCP 세그먼트에 담음)

Internet Layer (IP 패킷에 담음)

Link Layer (Ethernet frame에 담아서 전송)

 

응답이 “도착할 때”는 반대로:

Link Layer → Internet Layer → Transport Layer → Application Layer

🎯 질문에 대한 직접적인 답변

Q1. Link Layer와 Internet Layer도 “전송”하는데 왜 Transport Layer가 또 있음?

👉 “전송”이라는 같은 단어를 쓰지만 하는 일이 완전히 다름.

계층 전송 의미
Link Layer 옆 장비까지 신호 전송(물리적 전송)
Internet Layer 목적지 IP까지 전 세계 라우팅(네트워크 전송)
Transport Layer 애플리케이션 간의 신뢰성 있는 전송
Application Layer 사람이 쓰는 메시지를 전송

즉 계층마다 “전송의 레벨이 다름”.


Q2. Application Layer는 뭐고 왜 여기서 HTTP, DNS가 나와?

👉 Application Layer는 사람/앱이 직접 사용하는 프로토콜이라서 Application(응용) Layer라고 함.

  • 브라우저가 HTTP를 사용
  • 브라우저가 DNS 질의를 보냄
  • 웹앱이 WebSocket 사용

이 모두 “애플리케이션이 사용하는 규칙”이므로 Application Layer에 들어감.


Q3. WebSocket, DNS가 왜 Application Layer에 있어?

  • WebSocket: 웹 앱/서버가 메시지 교환하는 프로토콜
  • DNS: 도메인 → IP 해석하는 앱 수준의 기능

둘 다 사람이 쓰는 서비스의 규칙(프로토콜) = Application Layer


Q4. 계층이 정말 “Link → Internet → Transport → Application 순서로 동작?”

✔️ 네, 네트워크 타고 흐르는 순서는 정확히 이 순서가 맞음.

데이터는 아래쪽에서 감싸지고(캡슐화)
상대방에서 위쪽으로 까짐(디캡슐화)


🔥 초간단 비유로 이해 정리

계층비유하는 일
Link Layer 아파트 단지 도로 옆 건물에 짐 전달
Internet Layer 전국 고속도로 부산, 미국 같은 먼 곳에 짐 전달
Transport Layer 택배사 시스템 택배 박스 관리(분실 방지·주소관리·재전송)
Application Layer 앱/사람 편지를 읽고 작성하는 주체

원하면
📌 전체 구조를 ASCII 다이어그램으로
📌 실제 패킷 캡슐화/디캡슐화 그림
📌 Wireshark 예시

 

Q. 계층이 동작하는 순서 

더보기

좋아, 이 부분이 헷갈리는 이유 딱 하나야:

“데이터가 만들어지는 방향(캡슐화)”과
“데이터가 실제 물리 네트워크를 흐르는 방향(전달 경로)”을
같은 것으로 이해해서 그래.

 

이 둘은 방향이 다르고, 표현 방식도 다르다.

정확하게 찢어서 설명해줄게.


✅ 1. “계층이 동작하는 순서” = 내 PC 안에서 데이터가 만들어지는 순서

즉, 내 컴퓨터가 HTTP 요청을 만들 때 계층이 어떻게 호출되냐?

✔ 이건 반드시 아래 방향이다:

📤 캡슐화 과정(내 컴퓨터에서 보내기)

 
Application Layer (HTTP 메시지 생성)

Transport Layer (TCP 세그먼트)

Internet Layer (IP 패킷)

Link Layer (Ethernet frame)

네트워크로 전송

이 순서가 100% 맞음.
이건 “계층 구조”를 말하는 거지 “네트워크가 이동하는 순서”를 말하는 게 아님.


✅ 2. “네트워크 타고 흐르는 순서” = 물리적으로 네트워크 장비들통과하는 순서

패킷인터넷을 타고 이동할 때는 계층이 아니라 라우터 hop-by-hop 이동임.

네트워크 이동 순서:

내 PC
공유기                          (Link Layer)
ISP 라우터                 (Internet Layer)
백본 라우터들           
목적지 서버로 이동     

 

이걸 요약해서 표현하면:

  • Link Layer: 이웃 노드로 전달
  • Internet Layer: 라우팅
  • 반복

이동 경로는 Link → InternetLink → Internet… → Link 이런 반복 구조야.

🔥 즉 네트워크를 “지나가는 순서”는 계층 구조가 아니라 hop-by-hop 구조임.

그래서:

“네트워크 타고 흐르는 순서 = Link → Internet → Link → …”

라고 표현할 수 있음.


🎯 정리하면 딱 이렇게야:

송신 측(내 PC에서 데이터 만들 때)

✔ 반드시 Application → Transport → Internet → Link
= 캡슐화 순서

■ 실제 인터넷 이동(LAN라우터백본서버)

✔ Link + Internet 계층의 기능들이 hop-by-hop 반복
= 네트워크 전송 과정

수신 측(서버에서 데이터 해석할 때)

✔ Link → Internet → Transport → Application
= 디캡슐화 순서

즉, “계층 구조”는 단말 내부 동작,
네트워크 흐름”은 hop-by-hop 동작이야.
둘을 같은 거로 보면 안 됨.


🔥 왕복 요청에서는 어떻게 되나?

📤 요청(Request)

내 PC Application

Transport

Internet

Link → 공유기ISP서버

📥 응답(Response)

서버 Application

Transport

Internet

Link → … → 내 PC

🔥 왜 헷갈렸는지 완전 결론

계층 순서는 단말 내부에서만 의미 있음
네트워크 이동 순서는 라우터 hop 구조라 계층 순서와 다름

Q. UDP/IP는 없나?

더보기

이 부분을 제대로 이해하면 네트워크 전체 구조가 훨씬 명확해져.


✅ 왜 TCP/IP 라고 부르고, UDP/IP 라고는 안 부를까?

✔ 1. TCP/IP는 “프로토콜 두 개(TCP + IP)”가 아니라 “네트워크 아키텍처 전체”의 이름

원래 “TCP/IP”는 TCP와 IP를 함께 개발한 초기 인터넷 프로토콜 모음에서 유래했다.

초기 인터넷에서는 중요한 두 축이 있었음:

  • IP(Internet Protocol)라우팅, 패킷 전달
  • TCP(Transmission Control Protocol)신뢰성과 연결 보장

당시 IP와 함께 대표적으로 쓰인 게 TCP였기 때문에
인터넷 프로토콜 세트를 통칭하여 TCP/IP라고 부르게 됨.

즉, 이름이 굳었을 뿐
“TCP만 되면 UDP는 제외”라는 의미가 절대 아님.


✔ 2. UDP도 TCP/IP 스택의 정식 구성원

UDP는 사실 TCP와 완전히 동급임.

계층 프로토콜
Transport TCP, UDP
Internet IP

 

즉,

TCP/IP 스택에선 TCP도 쓰고 UDP도 쓴다.
UDP도 TCP/IP 모델의 일부다.

 

그래서 더 정확한 표현은:

  • TCP/IP 프로토콜 스택
  • 그 안에 “TCP도 있고 UDP도 있음”

이라는 의미.


UDP/IP 라는 말은 없는 이유

“UDP/IP"라고 따로 부르지 않는 이유는:

인터넷 아키텍처 이름은 기본적으로 TCP/IP로 굳어버렸기 때문

초기 역사적 이유라서 굳은 관습이다.

② “TCP/IP 모델”은 “Transport(=TCP·UDP) + Internet(IP)” 구조 전체 이름

이 모델 자체가 TCP 기반만을 의미하는 것이 아니다.

③ UDP는 TCP보다 나중에 추가되었고 이름 브랜딩이 이미 끝났기 때문


✔ 3. 그럼 TCP/IP 모델에서 UDP는 어디에 있어?

Transport Layer에 TCP와 UDP가 나란히 존재함.

  • TCP → 연결 지향, 신뢰성 보장, 순서 보장
  • UDP → 비연결, 신뢰성 없음, 빠름

둘 다 같은 Transport Layer 프로토콜이야.


✔ 4. 비유하자면?

“스마트폰 OS”를 안드로이드(Android) 라고 부르지만
그 안에 여러 앱이 들어 있음.

→ 그렇다고 해서 카카오톡/안드로이드는 따로 안 부르지?

 

마찬가지로:

  • TCP/IP 모델 → 인터넷 전체 구조의 이름
  • 그 안에는 TCP도 있고 UDP도 있음

⭐ 결론

TCP/IP는 “TCP와 IP만 쓴다”는 뜻이 아니다.
인터넷 아키텍처 전체 이름이 TCP/IP고, 그 안에 UDP도 포함된다.
그래서 “UDP/IP” 같은 이름은 존재하지 않는다.


필요하면 TCP vs UDP 차이, 또는 왜 UDP가 필요한지(스트리밍, 게임) 도 알려줄까?

728x90
반응형