본문으로 건너뛰기

안동민 개발노트

본문 시작

OSI 7계층 모델

물리 계층부터 응용 계층까지 OSI 7계층의 역할·데이터 단위·대표 장비와 프로토콜을 연결해 이해합니다.

계층화의 필요성을 이해했으니, 이제 실제로 어떤 계층들이 존재하는지 살펴볼 차례입니다.

네트워크 계층을 설명할 때 가장 자주 쓰는 참조 모델이 OSI(Open Systems Interconnection) 7계층 모델입니다.

1984년 ISO(국제표준화기구)가 발표한 이 모델은, 통신 과정을 7개의 계층으로 나누어 각 계층의 역할을 명확히 정의합니다.

실무에서 직접 사용되는 모델은 아니지만, 네트워크를 이해하고 문제를 진단할 때 여전히 가장 널리 사용되는 참조 프레임워크입니다.


7개 계층 전체 구조

OSI 7계층은 메시지가 내려가며 점점 전송 단위로 바뀌는 지도다

위 계층은 의미를 다루고, 아래 계층으로 내려갈수록 주소·경로·프레임·신호처럼 전송에 가까워집니다.

  1. L7

    Application HTTP, DNS 같은 서비스 의미

  2. L6

    Presentation 형식, 암호화, 압축

  3. L5

    Session 대화의 시작과 종료

  4. L4

    Transport 포트, 순서, 재전송

  5. L3

    Network IP 주소와 경로

  6. L2

    Data Link 프레임과 MAC 주소

  7. L1

    Physical 비트와 실제 신호

외우는 팁: All People Seem To Need Data Processing (7→1) 또는 Please Do Not Throw Sausage Pizza Away (1→7).


각 계층의 역할

1계층 — 물리 계층 (Physical Layer)

0과 1로 이루어진 비트를 실제 전기 신호, 빛, 전파 등의 물리적 신호로 변환하여 전송합니다.

케이블의 종류, 핀 배치, 전압 레벨, 주파수 같은 것들이 이 계층에서 정의됩니다.

속성물리 계층에서 정의
전송 매체UTP, 광섬유, 전파
신호 유형전기, 빛, 전자파
데이터 속도100Mbps, 1Gbps, 10Gbps
커넥터RJ-45, SC, LC
인코딩NRZ, Manchester, 4B/5B

이 계층은 데이터가 무슨 의미인지는 전혀 관여하지 않고, 오직 비트를 매체에 실어 보내는 것만 담당합니다.

같은 네트워크 안에 있는 장치들 사이에서 데이터를 프레임 단위로 전달합니다.

비트들을 프레임(Frame)이라는 단위로 묶고, MAC 주소를 사용하여 로컬 네트워크 내의 목적지를 식별합니다.

데이터 링크 계층은 로컬 네트워크 안에서 프레임을 보낸다

IP 패킷을 프레임에 담고, MAC 주소와 FCS를 이용해 같은 링크 안의 다음 지점까지 전달합니다.

  1. Ethernet frame

    Dst MAC 이번 링크의 목적지 Src MAC 보내는 장치 Payload 안쪽의 IP packet FCS 오류 검사

  2. Switch decision

    Host A MAC table Port 3 목적지 MAC 조회 스위치는 프레임의 Dst MAC으로 나갈 포트를 고릅니다. 손상 검출 FCS가 맞지 않으면 보통 프레임을 버립니다.

오류 감지(CRC/FCS)도 이 계층에서 수행합니다.

프레임이 전송 도중 손상되었는지 수학적으로 검증하고, 손상된 프레임은 보통 버립니다.

주요 장비는 스위치입니다.

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

서로 다른 네트워크 간의 통신을 담당합니다.

IP 주소를 기반으로 목적지까지의 최적 경로를 결정하는 라우팅이 핵심 역할입니다.

데이터 단위는 패킷(Packet)입니다.

인터넷에서 데이터가 여러 라우터를 거쳐 목적지까지 도달할 수 있는 것은 이 계층 덕분입니다.

주요 장비는 라우터입니다.

4계층 — 전송 계층 (Transport Layer)

출발지와 목적지의 프로세스 간 통신을 관리합니다.

네트워크 계층이 어떤 컴퓨터로 보낼까를 결정한다면, 전송 계층은 그 컴퓨터의 어떤 프로그램에 전달할까를 결정합니다.

프로토콜신뢰성연결순서 보장용도
TCPO연결형O웹, 이메일, 파일 전송
UDPX비연결형X스트리밍, 게임, DNS

포트 번호를 사용하여 프로세스를 식별합니다.

HTTP=80, HTTPS=443, SSH=22.

5계층 — 세션 계층 (Session Layer)

통신 세션의 수립, 관리, 종료를 담당합니다.

두 시스템 간의 대화를 조율하는 역할입니다.

현대 인터넷에서는 이 계층이 독립적으로 구현되는 경우가 드물고, 대부분 애플리케이션 계층에 흡수되어 있습니다.

6계층 — 표현 계층 (Presentation Layer)

데이터의 형식 변환, 암호화, 압축을 담당하는 것으로 설명됩니다.

다만 현대 인터넷에서는 이 기능들이 TLS 라이브러리, HTTP, 애플리케이션 코드 안에 섞여 구현되는 경우가 많습니다.

기능예시
형식 변환ASCII ↔ EBCDIC, Unicode
암호화TLS가 제공하는 암호화 기능
압축gzip, Brotli
직렬화JSON, XML, Protocol Buffers

세션 계층과 마찬가지로 현대에는 애플리케이션 계층에 통합되는 경향이 있습니다.

7계층 — 응용 계층 (Application Layer)

사용자와 가장 가까운 계층으로, 실제 네트워크 서비스를 제공합니다.

HTTP, FTP, SMTP, DNS 같은 프로토콜이 이 계층에서 동작합니다.


계층별 대표 예시 정리

계층은 PDU·프로토콜·장비 신호를 함께 묶어야 실무에서 읽힌다

장비 이름이나 장애 로그를 들었을 때 어느 계층을 의심해야 하는지 빠르게 좁히는 표입니다.

  1. L7 App Message HTTP, DNS

    URL, status, host

  2. L6 Pres Message TLS, gzip

    UTF-8 encoding, cert

  3. L5 Sess Message RPC, session

    login, dialog state

  4. L4 Trans Segment TCP, UDP

    QUIC port, SYN, RST

  5. L3 Net Packet IPv4, IPv6

    ICMP route, TTL, gateway

  6. L2 Link Frame Ethernet

    Wi-Fi MAC, VLAN, FCS

  7. L1 PHY Bits Copper, Fiber

    Radio signal, link up

계층PDU대표 예시주요 장비
7. 응용메시지HTTP, DNS, SMTP, SSH, FTP-
6. 표현메시지문자 인코딩, 압축, TLS의 표현 기능-
5. 세션메시지RPC 세션, NetBIOS 세션-
4. 전송세그먼트/데이터그램TCP, UDP, QUIC-
3. 네트워크패킷IP, ICMP, IGMP라우터
2. 데이터 링크프레임이더넷 MAC, Wi-Fi MAC, PPP, VLAN스위치
1. 물리비트UTP, 광섬유, 전파, PHY 규격허브, 리피터

이더넷과 Wi-Fi는 물리 계층과 데이터 링크 계층에 모두 걸쳐 있습니다.

실제 표준은 매체와 신호 방식뿐 아니라 프레임 포맷과 MAC 동작도 함께 정의하기 때문입니다.

ARP처럼 IP 주소와 MAC 주소 사이를 이어 주는 프로토콜은 L2/L3 경계에 놓인 기능으로 이해하면 좋습니다.


OSI 모델의 한계와 의의

한계

OSI 모델은 1984년에 발표되었지만, 당시에 이미 TCP/IP가 인터넷에서 널리 사용되고 있었습니다.

OSI는 이론 먼저, 구현 나중 전략을 취했지만, 현실은 이미 TCP/IP라는 구현 먼저 전략이 승리한 상태였습니다.

5~6계층은 현대 네트워크에서 독립 계층으로 분리되어 보이지 않는 경우가 많습니다.

TLS는 구현과 관점에 따라 표현 계층 또는 응용 계층 기능으로 설명되기도 하고, 세션 관리는 HTTP의 Cookie/Session이나 WebSocket 같은 응용 계층 기술이 직접 처리하는 경우가 많습니다.

의의

OSI 모델은 실제 구현보다 공통 언어와 진단 프레임으로 강하다

현대 인터넷은 TCP/IP로 돌아가지만, OSI 번호는 장애 위치와 장비 역할을 빠르게 공유하게 해 줍니다.

  1. 한계

    론 모델 현실 프로토콜은 7칸에 딱 맞지 않습니다. L5/L6 경계 TLS, 세션, 압축은 응용 계층 구현에 섞입니다. TCP/IP 우세 실제 인터넷 스택은 더 단순한 4계층 관점으로 설명됩니다.

  2. 의의

    L7 로드 밸런서 URL, header, cookie 같은 응용 정보를 봅니다. L4 로드 밸런서 IP와 port, 연결 상태를 기준으로 나눕니다. L3 스위치 라우팅 기능이 있는 장비라는 뜻으로 씁니다.

그럼에도 OSI 모델은 여전히 중요합니다.

  • 공통 언어: L7 로드 밸런서, L3 스위치 같은 용어는 모두 OSI 계층 번호를 사용합니다.
  • 문제 진단 프레임워크: 이 문제가 몇 계층에서 발생한 것인가?라는 사고 방식은 네트워크 트러블슈팅의 기본입니다.
  • 학습 도구: 7개로 세분화되어 있어 각 기능의 역할을 명확히 이해할 수 있습니다.

실무에서 L7 레벨에서 트래픽을 분석한다고 하면, HTTP 헤더, URL, 쿠키 등을 기반으로 라우팅한다는 뜻입니다.

L4 로드 밸런서는 IP와 포트 번호만 보고 트래픽을 분배합니다.

osi_quiz.py
OSI_LAYERS = {
    7: ("응용", ["HTTP", "DNS", "SMTP", "SSH"]),
    6: ("표현", ["JPEG", "gzip", "UTF-8"]),
    5: ("세션", ["RPC", "NetBIOS"]),
    4: ("전송", ["TCP", "UDP", "QUIC"]),
    3: ("네트워크", ["IP", "ICMP", "OSPF"]),
    2: ("데이터 링크", ["Ethernet", "Wi-Fi", "PPP"]),
    1: ("물리", ["UTP", "광섬유", "전파"]),
}

BOUNDARY_CASES = {
    "TLS": "표현/응용 계층 경계에서 설명되는 경우가 많음",
    "ARP": "데이터 링크와 네트워크 계층 사이를 이어 주는 경계 기능",
}

def which_layer(protocol):
    """프로토콜이 속하는 OSI 계층 찾기"""
    if protocol in BOUNDARY_CASES:
        return f"{protocol}{BOUNDARY_CASES[protocol]}"

    for layer_num, (name, protocols) in OSI_LAYERS.items():
        if protocol in protocols:
            return f"{protocol} → L{layer_num} {name} 계층"
    return f"{protocol} → 알 수 없음"

for p in ["HTTP", "TCP", "IP", "Ethernet", "DNS", "TLS", "ARP"]:
    print(which_layer(p))

다음 절에서는 OSI 7계층이 현실에서 어떻게 단순화되어 사용되는지, TCP/IP 4계층 모델을 살펴봅니다.

TCP/IP 4계층은 OSI 7계층을 실제 인터넷 스택 관점으로 압축한다

다음 절에서는 세션·표현·응용을 하나로 묶고, 링크 아래쪽을 더 실무적인 네 계층으로 봅니다.

  1. L7 Application

    HTTP, DNS

  2. L6 Presentation

    TLS, encoding

  3. L5 Session

    dialog state

  4. L4 Transport

    TCP, UDP

  5. L3 Network

    IP

  6. L2/L1 Link

    Ethernet, Wi-Fi, signal