TCP/IP 4계층 모델과 OSI 7계층 모델 / 전송 계층에서 TCP와 UDP의 차이점

chaewon·2025년 8월 31일

✅ OSI 모델이란?

OSI(Open Systems Interconnection) 모델은 네트워크 통신 기능을 7개의
계층으로 나눈 개념적 프레임워크
국제 표준화 기구(ISO)가 제정했으며, 복잡한 네트워크 통신을 구조화해
범용 언어로 사용할 수 있도록 만든 참조 모델

OSI 모델이 중요한 이유

  • 복잡한 시스템 이해 공유: 네트워크 기능을 계층별로 나누어 역할을
    명확히 구분
  • 연구/개발 효율성 향상: 개발자가 어떤 계층을 대상으로 구현하는지
    명확히 알 수 있음
  • 표준화된 통신 보장: 서로 다른 시스템/기술 간에도 일관된 통신
    가능
  • 추상화의 장점: 상위 계층은 하위 계층의 세부 구현을 몰라도 사용
    가능

OSI 7계층 구조

계층주요 기능예시
7. 애플리케이션사용자 서비스 제공HTTP, SMTP, FTP
6. 표현데이터 암호화, 압축, 변환JPEG, SSL, ASCII
5. 세션세션 관리 (생성/유지/종료)NetBIOS, RPC
4. 전송데이터 전송 신뢰성, 오류 제어TCP, UDP
3. 네트워크라우팅, IP 주소 지정IP, ICMP
2. 데이터 링크프레임 전송, 오류 검출Ethernet, MAC
1. 물리물리적 전송 (비트 단위)케이블, 허브

✅ TCP/IP 4계층

  • 인터넷 통신에서 실제 사용되는 실무 모델
  • OSI보다 단순화 → 구현 중심
계층주요 기능예시
응용 계층응용 프로그램 서비스HTTP, DNS, FTP
전송 계층데이터 전송 (신뢰성/속도)TCP, UDP
인터넷 계층패킷 전달, 라우팅IP, ICMP
네트워크 인터페이스 계층물리 전송, 프레임 처리Ethernet, ARP

📊 OSI vs TCP/IP 비교

구분OSI 7계층TCP/IP 4계층
목적이론적 모델 (교육/표준화)실무적 모델 (인터넷 표준)
계층 수74
상위 계층세션/표현/응용응용 (통합됨)
하위 계층물리/데이터링크네트워크 인터페이스 (통합됨)
활용네트워크 구조 이해, 학습실제 네트워크 구현

🎯 정리

  • OSI 모델: 네트워크를 7계층으로 나눈 이론적 표준
  • TCP/IP 모델: 실제 인터넷 통신에 쓰이는 실무 중심 모델

🚦 TCP vs UDP (전송 계층)

✅ TCP (Transmission Control Protocol)

  • 특징
    • 연결 지향형 (3-way handshake)
    • 신뢰성 보장 (재전송, 흐름제어, 혼잡제어)
    • 순서 보장 (세그먼트 번호 기반)
    • 상대적으로 속도 느림 (오버헤드 ↑)
  • 적합한 상황
    • 데이터의 정확성이 최우선일 때
    • 파일 전송 (FTP), 이메일 (SMTP/IMAP/POP3), 웹 서비스 (HTTP/HTTPS)

✅ UDP (User Datagram Protocol)

  • 특징
    • 비연결형 (handshake 없음)
    • 신뢰성 보장 ❌, 순서 보장 ❌
    • 단순하고 가볍다 (오버헤드 ↓)
    • 상대적으로 속도 빠름
  • 적합한 상황
    • 실시간성, 속도가 중요하고 일부 데이터 손실을 허용할 수 있을
    • 실시간 스트리밍 (YouTube, IPTV), 온라인 게임, 화상 통화/VoIP,
      DNS

📊 비교 요약

구분TCPUDP
연결 방식연결 지향비연결
신뢰성높음 (재전송, 순서 보장)낮음 (손실 가능)
속도느림빠름
오버헤드작음
사용 예시웹, 이메일, 파일 전송스트리밍, 게임, VoIP, DNS

🤝 Handshake란?

Handshake는 네트워크에서 통신을 시작하기 전, 송신자와 수신자가 서로
연결을 맺기 위한 과정
을 의미

  • 두 장치가 데이터를 교환하기 전에 통신 규칙(속도, 순서, 연결 상태
    등)을 합의하고 연결을 설정하는 과정
  • 주로 연결 지향형 프로토콜(TCP)에서 사용됨

목적

  • 연결 성립 확인
  • 송·수신자 모두 준비 상태 확인
  • 통신에 필요한 제어 정보 교환

✅ TCP의 3-Way Handshake

  1. SYN: 클라이언트 → 서버
    • "연결하고 싶습니다" (동기화 요청)
  2. SYN + ACK: 서버 → 클라이언트
    • "연결 요청 받았고, 나도 준비됐습니다" (동기화 + 확인 응답)
  3. ACK: 클라이언트 → 서버
    • "확인했습니다, 이제 데이터 전송 시작합시다"

👉 이 과정을 통해 양방향 연결이 성립되고 이후 본격적인 데이터 전송
시작

✅ UDP에는 Handshake가 없다

  • UDP는 비연결형 프로토콜 → 데이터를 바로 전송
  • 연결 준비 과정이 없어서 속도는 빠르지만 신뢰성이 낮음

🎯 정리

  • TCP: 정확성이 중요한 환경에 적합 (웹, 이메일, 파일)
  • UDP: 속도/실시간성이 중요한 환경에 적합 (스트리밍, 게임, VoIP)
  • Handshake: TCP 연결 시 신뢰성 확보를 위한 연결 합의 과정 (3-Way
    Handshake)

참고
https://www.freecodecamp.org/news/tcp-vs-udp/
https://aws.amazon.com/what-is/osi-model/

0개의 댓글