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)
- 장비 예시 : 허브, 리피터, 케이블, 커넥터
2. 데이터 링크 계층 (Data Link Layer)
- 역할 : 물리 계층에서 받은 신호를 프레임(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바이트) |
| 통신 형태 | 유니캐스트 | 유니캐스트, 멀티캐스트, 브로드캐스트 |
| 전송 모드 | 전이중(양방향 동시 통신) | 단방향 위주 (응용에 따라 양방향도 가능) |
👍 적절한 사용 시점
📄 참고 문서