OSI 7 계층(OSI7 Layer)

OSI 7계층(Open Systems Interconnection 7 Layers)은 네트워크 통신 과정을 7단계로 나눈 모델이며, 이 모델은 각 계층마다 맡은 역할이 정해져 있어서, 복잡한 통신 과정을 구조화하고 표준화하는 데 도움이 됩니다.

OSI 7 계층물리 신호부터 user application까지 네트워크 기능을 일곱 단계로 나눈 개념적 설계도이다. 실무에선 TCP/IP 4계층으로 단순화해 쓰지만, 문제 분석과 개념 정리에 여전히 유용함

한눈에 보는 OSI 7계층

번호계층 이름주요 기능예시
7응용 계층 (Application)사용자와 직접 상호작용, 네트워크 서비스 제공HTTPS/HTTPS, FTP, SMTP, DNS, SSH
6표현 계층 (Presentation)데이터 형식 변환, 암호화/복호화, 압축JPEG, MP3, SSL
5세션 계층 (Session)연결 설정/유지/종료, 세션 관리NetBIOS, RPC, PPTP
4전송 계층 (Transport)데이터 전송 보장(신뢰성), 오류 제어TCP, UDP, QUIC, SCTP
3네트워크 계층 (Network)주소 지정/경로 선택(라우팅)IP, ICMP, ARP, OSPF, BGP
2데이터링크 계층 (Data-Link)프레임 생성, MAC 주소 기반 전달, 에러 감지Ethernet, Wi-Fi 802.11, PPP, VLAN, 스위치
1물리 계층 (Physical)0/1 신호를 실제 매체로 전송UTP 케이블, 광섬유, 전파, 허브, 리피터

계층별 세부사항

  1. 물리 계층

“전길줄에 0과 1을 어떻게 흘려보낼까?”

- 전압 크기, 광펄스 세기, 라디오 주파수 등 **신호**의 물리적 특성을 정의함

- 허브/리피터처럼 "증폭만 하고 아무 판단도 못 하는" 장비가 여기에 속함
  1. 데이터링크 계층

“같은 네트워크(브로드캐스트 도메인) 안에서 누가 누구인지 구분하려면?”

- **MAC 주소**를 붙여 프레임 단위로 전송하며, CRC로 프레임 오류를 검출함

- 스위치/브리지·VLAN·ARP 캐시 같은 개념이 등장함
  1. 네트워크 계층

“지구 반대편 호스트까지 가려면 중간길(라우팅)을 어떻게 잡지?”

- **IP 주소**를 붙이고, 라우터가 최적 경로를 찾아 포워딩함

- ICMP '목적지 도달 불가', OSPF/BGP 등 라우팅 프로토콜이 여기에 있음
  1. 전송 계층

“프로세스 간에 패킷이 유실돼도 재전송하고, 순서도 맞춰야지”

- TCP : 3-Way Handshake, 흐름/혼잡 제어, 세그먼트 재전송

- UDP : 최소한의 헤더로 "빠르지만 책임 안 진다"

- QUIC : HTTP/3가 쓰는 신흥 강자, UDP 위에 신뢰성·TLS 포함
  1. 세션 계층

“논리적인 대화방(세션)을 열고 닫는 관리를 맡자”

- 체크포인트·재동기화·다중 스트림 제어 가능

- 실무에선 애매함, OSI만의 전통적인 구분이며, 실제 구현은 주로 응용/전송이 흡수
  1. 표현 계층

“바이트를 사람이 읽을 수 있게/암호화된 형태로 변환하자”

- 문자 집합 변환(UTF-8↔EUC-KR), 압축(GZIP), 암복호(TLS) 담당

- 응용계층과 합쳐서 다루는 경우가 많지만, 보안·멀티미디어 코덱 설명 때 유용
  1. 응용 계층

“사용자 프로그램이 원하는 서비스 그 자체”

- 웹브라우저-HTTP, 메일-SMTP/IMAP, 파일전송-FTP/SFTP 처럼 **실제 앱 프로토콜**이 자리함

- API 호출(REST/GraphQL)·메신저 프로토콜도 여기서 논의됨

왜 TCP/IP 4계층 모델을 더 많이 쓸까?

OSITCP/IP(실무)설명
7-5응용 계층HTTP·TLS·RPC 등 모두 한 덩어리
4전송 계층TCP·UDP·QUIC
3인터넷 계층IP, ICMP 등
2-1네트워크 접근 계층Ethernet·Wi-Fi·물리 매체
  • 간소화 : 실제 구현에서는 세션/표현 계층이 따로 분리돼 작동하지 않는 경우가 많아 4단계로 줄임

  • 표준화 주체도 다름. OSI는 ISO(국제표준화기구) 주도, TCP/IP는 IETF(인터넷 엔지니어링 태스크포스)가 주도함

OSI 7계층을 배우는 이유

  1. 문제 진단 : “이건 3계층 문제인가 4계층 문제인가?”를 구분해야 디버깅이 쉬움

  2. 역할 분리 : “ 새 프로토콜 설계 시 “이 기능은 어느 계층 책임인가?”를 결정하는 기준 세우기가 가능해짐

  3. 학습 프레임 : 물리 → 응용으로 올라가며 추상화·책임 범위를 체계적으로 이해할 수 있음


© 2022 JeongHwan Yun.