[SB 3기] 코드잇 스프린트 위클리페이퍼 17주차

JHLee·2025년 8월 31일
post-thumbnail

Q1. TCP/IP 4계층 모델과 OSI 7계층 모델에 대해 각각 설명하고, 두 모델을 비교해보세요.


이미지 출처 : cheapsslsecurity


✅ TCP/IP 4계층 모델

  • 인터넷 표준인 TCP/IP 프로토콜을 계층화한 실용적인 네트워크 모델
  • 현재 실제 인터넷 통신에서 사용되는 구조

1. 네트워크 연결 계층 (Network Access Layer)

  • 물리적인 데이터 전송 담당 (LAN, WAN, Ethernet, Wi-Fi 등)
  • 프레임 단위 통신
  • 예: Ethernet, Wi-Fi, ARP

2. 인터넷 계층 (Internet Layer)

  • 출발지 -> 목적지까지 IP 주소 기반 패킷 전달(라우팅)
  • 패킷 단위 통신
  • 예: IP, ICMP, ARP, RARP

3. 전송 계층 (Transport Layer)

  • 송수신 프로세스 간 데이터 전송 제어
  • TCP(연결 지향, 신뢰성 보장) / UDP(비연결, 빠른 전송)
  • 세그먼트 단위 통신
  • 예: TCP, UDP

4. 애플리케이션 계층 (Application Layer)

  • 사용자가 직접 접하는 서비스 제공
  • 예: HTTP, FTP, SMTP, DNS

✅ OSI 7계층 모델

  • 국제 표준화 기구(ISO)에서 정의한 네트워크 표준 참조 모델
  • 네트워크 통신 과정을 7단계로 구분

1. 물리 계층 (Physical Layer)

  • 역할 : 네트워크의 가장 하위 계층으로, 데이터를 전기 신호(0과 1) 형태로 주고받음
  • 목적 : 전송 매체를 통해 신호를 그대로 잘 전달하는
  • 단위: 비트(Bit)
  • 장비 예시 : 허브, 리피터, 케이블, 커넥터
  • 역할 : 물리 계층에서 받은 신호를 프레임(Frame) 단위로 묶어 처리
  • 목적 : 오류 검출 및 수정, 출발지/목적지 MAC 주소 확인
  • 특징 : 스위치는 MAC 주소 기반으로 올바른 포트를 선택해 전달
  • 단위 : 프레임(Frame)
  • 장비 예시 : 스위치, 네트워크 인터페이스 카드(NIC)

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

  • 역할 : 목적지까지의 경로를 설정하고 데이터 전달
  • 특징 : IP 주소(논리 주소)를 사용하여 라우팅 수행
  • 단위 : 패킷(Packet)
  • 장비 예시 : 라우터

4. 전송 계층 (Transport Layer)

  • 역할 : 애플리케이션 간 데이터가 정상적으로 전달되도록 보장
  • 기능 : 데이터 분할, 순서 제어, 오류 복구
    • TCP : 신뢰성 있는 연결 (세그먼트 단위)
    • UDP : 빠른 전송, 비연결성 (데이터그램 단위)
  • 단위 : 세그먼트(TCP), 데이터그램(UDP)
  • 장비 예시 : 방화벽, 로드 밸런서

5. 세션 계층 (Session Layer)

  • 역할 : 두 애플리케이션 간의 연결(세션) 생성, 유지, 종료 관리
  • 기능 : 통신 중단 시 에러 복구 및 재전송

6. 표현 계층 (Presentation Layer)

  • 역할 : 데이터의 표현 형식 통일
  • 기능 : 암호화, 압축, 인코딩/디코딩
  • 예시: JPEG, GIF, MIME 인코딩

7. 응용 계층 (Application Layer)

  • 역할 : 사용자가 직접 접근하는 네트워크 서비스 제공
  • 특징 : UI와 가장 밀접한 계층, 다양한 애플리케이션 프로토콜 포함
  • 대표 프로토콜 : TTP, FTP, SMTP, TELNET

📌 계층 구분

  • 데이터 플로 계층 (1~4, 하위 계층) : 데이터 전송에 초점
  • 애플리케이션 계층 (5~7, 상위 계층) : 데이터 해석과 표현에 초점

🆚 TCP/IP 4계층과 OSI 7계층 비교

구분TCP/IP 4계층OSI 7계층
계층 수4계층7계층
기준실제 인터넷 프로토콜 설계 기반이론적 표준 모델
구조단순하고 실용적세분화·개념적
매핑 관계애플리케이션 계층 ↔ 응용·표현·세션 계층
전송 계층 ↔ 전송 계층
인터넷 계층 ↔ 네트워크 계층
네트워크 연결 계층 ↔ 데이터링크·물리 계층
계층별로 독립적으로 구분
활용실제 인터넷 통신에 사용네트워크 개념 학습·분석용

Q2. 전송 계층에서 TCP와 UDP의 차이점은 무엇이며, 각각 어떤 상황에서 사용하는 것이 적절한가요?


이미지 출처 : cheapsslsecurity


✅ TCP와 UDP란?

TCP (Transmission Control Protocol)

  • 연결 지향형 프로토콜 -> 송·수신 측이 먼저 연결(3-way handshake)을 맺은 후 데이터 전송
  • 데이터가 순서대로 정확하게 도착하도록 흐름 제어, 오류 제어, 재전송 제공
  • 신뢰성이 높지만 속도가 상대적으로 느리고, 헤더 크기가 크다.
  • 주로 유니캐스트(Unicast, 1:1 통신) 기반으로 동작하며, 전이중(Full Duplex) 통신 지원

UDP (User Datagram Protocol)

  • 비연결형 프로토콜 -> 별도의 연결 과정 없이 빠르게 데이터 전송
  • 데이터그램 단위로 처리, 순서 보장·오류 복구 없음
  • 오버헤드가 적어 속도는 빠르지만, 신뢰성은 낮다.
  • 유니캐스트(1:1), 멀티캐스트(1:N), 브로드캐스트(1:모두) 모두 지원
  • 기본적으로 단방향이지만, 응용에 따라 양방향(반이중/전이중)도 가능

🆚 차이점

구분TCP (Transmission Control Protocol)UDP (User Datagram Protocol)
연결 방식연결 지향형 (3-way handshake)비연결형
신뢰성전송 보장 (순서·오류 제어)보장하지 않음 (손실 가능)
속도상대적으로 느림빠름
단위세그먼트 (Segment)데이터그램 (Datagram)
오버헤드큼 (헤더 20바이트 이상)작음 (헤더 8바이트)
통신 형태유니캐스트유니캐스트, 멀티캐스트, 브로드캐스트
전송 모드전이중(양방향 동시 통신)단방향 위주 (응용에 따라 양방향도 가능)

👍 적절한 사용 시점

  • TCP: 신뢰성과 정확성이 중요한 경우

    • 웹 브라우징(HTTP/HTTPS)
    • 이메일(SMTP/IMAP)
    • 파일 전송(FTP)
  • UDP: 지연이 적고 빠른 전송이 중요한 경우

    • 실시간 화상 통화
    • 온라인 게임
    • 실시간 스트리밍 서비스
    • DNS 요청

📄 참고 문서

profile
개발자로 성장하기

0개의 댓글