OSI (Open Systems Interconnection) 7계층은 네트워크 통신 과정을 7단계로 나눈 모델입니다. 핵심 목적은 역할을 나누어 이해하기 쉽게 하고, 문제 발생 시 어디서 문제인지 빠르게 파악할 수 있도록 하는 것입니다.
7 Application 사용자와 가장 가까운 계층 (HTTP, FTP)
6 Presentation 데이터 형식 변환 (인코딩, 암호화)
5 Session 연결 유지/관리
4 Transport 데이터 전송 방식 결정 (TCP/UDP)
3 Network IP 주소 기반 라우팅
2 Data Link MAC 주소 기반 통신
1 Physical 전기 신호, 케이블
데이터가 내려가면서 캡슐화되고, 올라오면서 해석되는데 데이터 흐름(캡슐화)은 다음과 같습니다.
Application → Transport → Network → Data Link → Physical
데이터를 포장하면서 내려가고, 반대편에서는 풀면서 올라가는 개념입니다.
Wireshark 는 네트워크 패킷을 직접 볼 수 있는 대표적인 도구입니다. 아래는 HTTP 요청을 캡쳐했을 때의 구조입니다.
Frame
└─ Ethernet (Data Link)
└─ IP (Network)
└─ TCP (Transport)
└─ HTTP (Application)
Wireshark에서 패킷 하나를 보면 보통 위와 같이 나옵니다.
즉, OSI 계층이 그대로 쌓여 있는 구조라는 것을 알 수 있습니다.
여기서 핵심 포인트는 아래 계층일수록 더 기본적인 정보이고,
위 계층일수록 실제 데이터(HTTP 등)라는 것입니다.
예시로 사용자가 브라우저에서 입력하여 'https://example.com' 에 접속하였을 때,
위 내용을 한 번에 정리하면 아래와 같습니다. (계층별로 포장하여 캡슐화)
[ Ethernet ]
[ IP ]
[ TCP ]
[ HTTP ]
서버에서는 역순으로 해석 (디캡슐화)
Physical → Data Link → Network → Transport → Application
OSI 7계층 중 4계층(Transport)에서 등장하는 개념입니다.
TCP (Transmission Control Protocol) 는 신뢰성 있는 통신이 주요 특징으로,
연결 기반 (Connection-oriented) 프로토콜이며 데이터 순서가 보장되고,
에러 발생 시 재전송이 가능하지만 속도는 상대적으로 느립니다. 보통 웹 (HTTP, HTTPS),
파일 다운로드, 로그인/결제에서 사용됩니다.
UDP (User Datagram Protocol) 는 빠른 통신 대신 신뢰성이 낮은 게 주요 특징으로,
비연결성 (Connectionless) 프로토콜이며 데이터 순서가 보장되지 않고,
에러 발생 시 재전송이 불가능하지만 속도는 매우 빠릅니다. 보통 실시간 스트리밍,
게임, 영상/음성 통화에 사용됩니다.
따라서, TCP 는 데이터 정확성이 중요할 때 (예: 로그인, 결제, 파일 전송) 필요하고, UDP 는 속도가 중요한 실시간 서비스(예: 게임, 영상 스트리밍)에서 필요하다고 할 수 있습니다.
정리하면, OSI 7계층은 네트워크를 역할별로 나눈 구조이고,
TCP와 UDP는 4계층에서 데이터 전송 방식을 결정하는 프로토콜입니다.
TCP 는 느리지만 정확한 통신, UDP 는 빠르지만 신뢰성이 낮은 통신입니다..