본문으로 건너뛰기

버그 제보

이상한 점을 알려 주시면 고칠게요. 지금 보고 있는 페이지와 브라우저 정보가 함께 담겨요.

페이지:

Computer Science

OSI 7계층

작성 2026. 10. 21.추가
목차5개 항목
출처와 참고

고무오리 CS 스터디의 네트워크 학습 노트(네트워크와 모델)를 바탕으로 재구성한 노트다. 캡슐화 흐름과 계층을 나누는 이유는 ByteByteGo의 System Design 101 가이드 「OSI Model Explained」를 바탕으로 보강했다. 계층별 구현 위치와 세션·표현 계층 설명은 「Frontend_TIL: OSI 7계층」을 바탕으로 보강했다. OSI 모델이 나온 배경, 법률 표준과 사실 표준, 계층 사이의 SDU·PCI·PDU는 고려사이버대학교 「컴퓨터네트워크」(2023-2학기)와 「정보통신개론」(2023 겨울계절학기) 강의 내용으로 보강했다.

OSI(Open Systems Interconnection) 모델은 네트워크 통신 과정을 일곱 개의 계층으로 나눈 참조 모델이다. 계층마다 맡은 일이 정해져 있어, 문제가 생기면 어느 계층의 문제인지 좁혀 갈 수 있고 각 계층을 독립적으로 바꿀 수 있다.

1970년대에는 컴퓨터 제조사마다 자기만의 네트워크 구조를 내놓아 다른 회사 장비끼리는 연결되지 않았다. ISO가 이 폐쇄성을 풀려고 「이런 모양으로 만들라」는 기준(참조 모델)으로 정한 것이 OSI다.

외우는 순서: 물-데-네-전-세-표-응 (아래에서 위로)

계층별 정리

계층이름역할대표 프로토콜·장비
7응용 (Application)사용자 응용 서비스와 연결, 정보 교환HTTP, DNS, SMTP, FTP
6표현 (Presentation)데이터 형식 변환, 암호화·복호화, 압축JPEG, MPEG, SSL/TLS 일부
5세션 (Session)연결 접속 유지, 동기화 제어RPC, NetBIOS
4전송 (Transport)프로세스 간 전달, 분할·재조립, 흐름·혼잡·오류 제어TCP, UDP
3네트워크 (Network)노드 간 전달, 최적 경로 설정(라우팅)IP, ICMP, ARP, 라우터
2데이터 링크 (Data Link)인접 노드 간 전송, 오류·흐름 제어이더넷, HDLC, 스위치
1물리 (Physical)비트를 전기·광 신호로 변환, 기계적·전기적 특성 정의RS-232C, 케이블, 허브

ARP는 IP 주소와 MAC 주소를 잇는 프로토콜이라 2계층과 3계층 사이에 걸쳐 있다고 설명하기도 한다.

각 계층은 어디에 구현되나

계층구현 위치
1 물리NIC의 PHY 칩. 인코더·디코더가 함수가 아니라 회로다
2 데이터 링크NIC(랜카드)와 그 드라이버
3 네트워크, 4 전송운영체제 커널의 네트워크 스택(소프트웨어)
5~7애플리케이션과 라이브러리(브라우저, TLS 라이브러리 등)

그래서 4계층 이하는 OS가 소켓 API로 제공하고, 애플리케이션은 그 위에서 HTTP 같은 응용 프로토콜만 다룬다. 커널 안의 흐름은 네트워크 기초의 「데이터가 커널과 NIC를 지나는 길」에 있다.

계층별로 기억할 포인트

  • 물리 계층: 데이터의 의미는 모르고 0과 1을 신호로 바꿔 보내기만 한다.
  • 데이터 링크 계층: 물리적으로 직접 연결된 두 노드 사이의 신뢰성 있는 전송을 맡는다(MAC 주소 사용).
  • 네트워크 계층: 여러 네트워크를 거쳐 목적지 호스트까지 가는 경로를 결정한다(IP 주소 사용).
  • 전송 계층: 호스트 안의 어느 프로세스에게 줄지 포트 번호로 구분하고, TCP라면 신뢰성을 보장한다.
  • 세션 계층: 연결의 수립·유지·종료와 대화 방식(전이중·반이중·단방향)을 정하고, 긴 전송 중간에 동기점을 두어 끊기면 그 지점부터 다시 잇는다.
  • 표현 계층: 응용이 이해하도록 데이터 형식을 맞춘다. 문자 인코딩(ASCII·UTF-8), 이미지·영상 형식(JPEG·GIF·MPEG), 압축, 암호화가 여기 속한다.
  • 세션·표현·응용 계층: 실제 인터넷(TCP/IP 모델)에서는 보통 하나의 응용 계층으로 묶어서 다룬다.

계층별 자세한 내용: 2계층과 캡슐화는 네트워크 기초, IP·ARP·ICMP는 네트워크 계층, 4계층(TCP·UDP)은 전송 계층, 응용 계층은 HTTP

OSI 모델과 TCP/IP 모델

항목OSI 7계층TCP/IP 4계층
성격ISO 표준 참조 모델. 통신 전반을 역할 기준으로 논리적으로 나눈다실제 인터넷이 쓰는 프로토콜 묶음. 구현 기준으로 나눈다
표준의 종류법률 표준(de jure): 공인 기구가 합의 절차로 제정사실 표준(de facto): 공인 전에 널리 쓰여 표준이 됐다(이후 IETF RFC로 정리)
응용응용 + 표현 + 세션 (7·6·5)응용 계층 하나
전송전송 (4)전송 계층
네트워크네트워크 (3)인터넷 계층
링크데이터 링크 + 물리 (2·1)네트워크 접근(인터페이스) 계층

OSI는 전 세계 합의가 필요해 표준화가 더뎠다. 그사이 ARPANET에서 자란 TCP/IP가 1980년대 UNIX(BSD)에 기본 탑재되어 널리 퍼졌고, 1990년대 WWW가 사용량을 폭발시키면서 실제 인터넷은 TCP/IP로 굳었다. OSI는 프로토콜이 아니라 설명하는 말로 남았다.

둘 다 계층마다 역할을 정하고 아래 계층의 서비스를 위 계층이 쓰는 구조다. 문제를 진단할 때는 OSI 번호로 말하고("L4 로드 밸런서", "L2 스위치"), 구현은 TCP/IP 모델을 따른다.

캡슐화와 계층별 PDU

보낼 때 상위 계층에서 하위 계층으로 내려가며 헤더를 붙이고(캡슐화), 받을 때 아래부터 벗긴다(디캡슐화). 계층마다 데이터 단위(PDU, Protocol Data Unit)의 이름이 다르다.

계층구성PDU
응용데이터메시지
4 전송TCP + 데이터세그먼트 (UDP는 데이터그램)
3 네트워크IP + TCP + 데이터패킷
2 데이터 링크Ethernet + IP + TCP + 데이터 + FCS프레임
1 물리신호비트

이웃한 두 계층 사이에서는 같은 덩어리를 부르는 이름이 바뀐다. 위 계층(N+1)이 내려준 PDU는 N 계층에게 내용을 모르는 짐인 SDU(Service Data Unit)이고, N 계층이 여기에 자기 제어 정보 PCI(Protocol Control Information, 곧 헤더·트레일러)를 붙이면 N 계층의 PDU가 된다. 그래서 N-PDU = N-PCI + N-SDU이고, 하위 계층은 SDU 안이 어떻게 생겼는지 모른 채 통째로 나른다. 받는 쪽의 같은 계층만 그 PCI를 읽고 떼어 낸다.

HTTP 요청 하나가 장치 A에서 B로 가는 과정은 다음과 같다.

flowchart LR
    subgraph A["장치 A (캡슐화)"]
        direction TB
        a7["응용<br/>[HTTP 헤더|데이터]"] --> a4["전송 (포트·순서 번호)<br/>[TCP 헤더|HTTP|데이터]"]
        a4 --> a3["네트워크 (IP 주소)<br/>[IP 헤더|TCP|HTTP|데이터]"]
        a3 --> a2["데이터 링크 (MAC 주소)<br/>[MAC 헤더|IP|TCP|HTTP|데이터|FCS]"]
        a2 --> a1["물리<br/>010110..."]
    end
    subgraph Bd["장치 B (디캡슐화)"]
        direction BT
        b1["물리<br/>비트 수신"] --> b2["데이터 링크<br/>MAC 헤더 제거"]
        b2 --> b3["네트워크<br/>IP 헤더 제거"]
        b3 --> b4["전송<br/>TCP 헤더 제거"]
        b4 --> b7["응용<br/>HTTP 헤더를 읽고 데이터 전달"]
    end
    a1 -->|"전송"| b1

계층을 나누는 이유는 각 계층이 자기 헤더만 보고 일하게 하기 위해서다. 라우터는 IP 헤더만 보고 경로를 정하고, 그 안의 TCP 세그먼트나 HTTP 메시지가 무슨 뜻인지 알 필요가 없다. 그래서 한 계층의 기술(예: 유선 이더넷 → 와이파이)을 바꿔도 다른 계층은 그대로 쓴다.

관련 노트: 네트워크 기초, 네트워크 계층 프로토콜, 전송 계층: 포트, TCP, UDP

원본 기록3

댓글

GitHub 계정으로 댓글을 남길 수 있어요.