OSI 7계층 모델이란?

OSI(Open Systems Interconnection) 7계층 모델은 ISO가 1984년에 제정한 네트워크 통신 표준 모델이다. 서로 다른 제조사의 네트워크 장비와 소프트웨어가 상호 운용될 수 있도록 통신 과정을 7개 계층으로 나눠 정의한다.

계층  이름                    역할
7     Application Layer      애플리케이션 서비스 제공 (HTTP, FTP, DNS, SMTP)
6     Presentation Layer     데이터 형식 변환, 암호화, 압축
5     Session Layer          세션 연결 관리, 동기화
4     Transport Layer        종단 간 신뢰성 있는 데이터 전송 (TCP, UDP)
3     Network Layer          논리 주소(IP) 기반 라우팅
2     Data Link Layer        물리 주소(MAC) 기반 인접 노드 전송
1     Physical Layer         비트를 물리 신호로 변환, 전기/광 신호 전송

각 계층 상세

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

사용자가 직접 상호작용하는 계층이다. 네트워크 서비스를 애플리케이션에 제공한다.

역할:

  • 사용자 인터페이스와 네트워크 간 인터페이스 제공
  • 데이터 표현, 인코딩, 통신 파트너 식별

PDU (Protocol Data Unit): Data (데이터)

주요 프로토콜:

프로토콜 포트 설명
HTTP 80 웹 브라우징
HTTPS 443 TLS 암호화 HTTP
FTP 20, 21 파일 전송
SMTP 25 이메일 전송
POP3 110 이메일 수신
IMAP 143 이메일 수신 (서버 보관)
DNS 53 도메인 이름 해석
SSH 22 보안 원격 접속
Telnet 23 원격 접속 (비암호화)
DHCP 67, 68 IP 자동 할당

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

데이터의 형식(Format)을 정의하고 변환하는 계층이다.

역할:

  • 데이터 인코딩/디코딩 (ASCII ↔ EBCDIC, UTF-8 변환 등)
  • 데이터 암호화/복호화 (TLS/SSL 협상)
  • 데이터 압축/해제

PDU: Data

주요 포맷/표준:

암호화: TLS, SSL
인코딩: ASCII, Unicode, EBCDIC
압축: gzip, deflate
직렬화: JSON, XML, ASN.1, XDR
미디어: JPEG, MP4, GIF, PNG

현대 TCP/IP 구현에서는 6, 5계층 기능이 애플리케이션 계층에 흡수되는 경우가 많다.


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

애플리케이션 간 세션(논리적 연결)을 관리하는 계층이다.

역할:

  • 세션 수립, 유지, 종료
  • 동기화 (Synchronization) - 대용량 전송 중 체크포인트 설정
  • 반이중(Half-duplex), 전이중(Full-duplex) 통신 제어

PDU: Data

관련 기술:

NetBIOS     - Windows 네트워크 세션 관리
RPC         - 원격 프로시저 호출
SQL         - DB 세션 관리
TLS 핸드셰이크 - 세션 키 협상 (일부 세션 계층 역할)

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

프로세스 간(종단 간) 신뢰성 있는 데이터 전송을 담당한다.

역할:

  • 포트 번호로 애플리케이션 프로세스 식별
  • 세그멘테이션과 재조립
  • 흐름 제어, 오류 제어, 혼잡 제어

PDU: Segment (TCP) / Datagram (UDP)

TCP vs UDP:

특성 TCP UDP
연결 방식 연결 지향 (3-way handshake) 비연결
신뢰성 보장 (ACK, 재전송) 미보장
순서 보장 보장 미보장
흐름 제어 있음 없음
혼잡 제어 있음 없음
속도 상대적으로 느림 빠름
헤더 크기 20~60 bytes 8 bytes
용도 HTTP, FTP, SSH, SMTP DNS, 스트리밍, 게임, VoIP

TCP 3-way Handshake:

Client                    Server
  │                          │
  │──── SYN (seq=x) ────────→│
  │                          │
  │←── SYN+ACK (seq=y, ack=x+1) ──│
  │                          │
  │──── ACK (ack=y+1) ──────→│
  │                          │
  │   연결 수립 완료          │

TCP 4-way Handshake (종료):

Client                    Server
  │                          │
  │──── FIN ────────────────→│
  │←─── ACK ─────────────────│
  │←─── FIN ─────────────────│
  │──── ACK ────────────────→│
  │                          │
  │   (Client: TIME_WAIT 2MSL 대기)

포트 번호 범위:

Well-Known Ports:    0 ~ 1023   (시스템 예약 포트)
Registered Ports: 1024 ~ 49151  (애플리케이션 등록 포트)
Dynamic Ports:   49152 ~ 65535  (클라이언트 임시 포트)

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

논리 주소(IP 주소)를 기반으로 서로 다른 네트워크 간 데이터를 전송(라우팅)한다.

역할:

  • IP 주소 할당 및 관리
  • 라우팅 (최적 경로 결정)
  • 패킷 분할(Fragmentation) 및 재조립
  • TTL 기반 루프 방지

PDU: Packet

주요 프로토콜:

프로토콜 역할
IP (IPv4/IPv6) 논리 주소 지정, 패킷 전달
ICMP 오류 보고, 네트워크 진단 (ping)
ARP IP → MAC 주소 변환
RARP MAC → IP 주소 변환
OSPF, BGP, RIP 라우팅 프로토콜

IPv4 패킷 헤더 주요 필드:

0         1         2         3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL   |Type of Service|          Total Length         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         Identification        |Flags|      Fragment Offset    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Time to Live |    Protocol   |         Header Checksum       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                       Source Address                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Destination Address                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

TTL: 패킷이 거칠 수 있는 라우터 최대 수 (매 홉마다 -1)
Protocol: 상위 계층 프로토콜 (6=TCP, 17=UDP, 1=ICMP)

같은 네트워크(LAN) 내에서 물리 주소(MAC 주소)를 기반으로 인접 노드 간 데이터를 전송한다.

역할:

  • MAC 주소 기반 프레임 주소 지정
  • 오류 감지 (CRC/FCS)
  • 흐름 제어 (인접 노드 간)
  • 매체 접근 제어 (CSMA/CD, CSMA/CA)

PDU: Frame

서브 계층:

LLC (Logical Link Control):  상위 계층 프로토콜 식별, 흐름/오류 제어
MAC (Media Access Control):  물리 주소 지정, 매체 접근 제어

주요 프로토콜 및 장비:

항목 내용
프로토콜 Ethernet, Wi-Fi(IEEE 802.11), PPP
주소 체계 MAC 주소 (48bit, 6옥텟)
장비 스위치(L2), 브리지, NIC

Ethernet 프레임 구조:

┌──────────┬──────────┬──────┬──────────┬─────┐
│Preamble  │ 목적지MAC│출발지│ EtherType│Data │ FCS│
│(8 bytes) │(6 bytes) │ MAC  │(2 bytes) │     │(4B)│
│          │          │(6B)  │          │     │    │
└──────────┴──────────┴──────┴──────────┴─────┘
EtherType: 0x0800=IPv4, 0x0806=ARP, 0x86DD=IPv6

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

비트(0과 1)를 전기, 광, 무선 신호로 변환하여 물리 매체로 전송한다.

역할:

  • 비트 스트림의 물리 신호 변환
  • 전압 레벨, 케이블 규격, 커넥터 정의
  • 동기화, 전송 속도 정의

PDU: Bit

전송 매체:

매체 특성 예시
꼬임쌍선 (UTP) 저렴, 전자기 간섭 취약 Cat5e, Cat6, Cat6a
동축 케이블 간섭 강함, 고대역 케이블 TV, 구형 Ethernet
광섬유 고속, 장거리, 간섭 없음 단일모드(SM), 다중모드(MM)
무선 이동성, 간섭 취약 Wi-Fi, 블루투스, LTE

관련 장비:

허브(Hub):     들어온 신호를 모든 포트로 브로드캐스트 (L1)
리피터:        신호 증폭 및 재전송
NIC:           컴퓨터를 네트워크에 연결하는 인터페이스 카드
모뎀:          디지털↔아날로그 신호 변환

실제 데이터 전송 흐름

캡슐화 (Encapsulation)와 역캡슐화 (Decapsulation)

송신 측 (계층 7 → 1):
                              HTTP 요청 데이터
Application  [HTTP Header | Data]
Presentation [HTTP Header | Data]                    (암호화/인코딩)
Session      [HTTP Header | Data]                    (세션 정보)
Transport    [TCP Header | HTTP Header | Data]       (포트, 순서번호)
Network      [IP Header | TCP Header | HTTP Header | Data]    (IP 주소)
Data Link    [Eth Header | IP Header | TCP Header | HTTP Header | Data | FCS]
Physical     1010110101001101... (비트 신호)

수신 측 (계층 1 → 7):
역순으로 각 계층 헤더 제거하며 상위 계층으로 전달

실제 시나리오: 브라우저에서 웹 서버에 HTTP 요청

1. [7계층] 브라우저가 HTTP GET 요청 생성

2. [6계층] TLS 암호화 적용 (HTTPS인 경우)

3. [5계층] TLS 세션 수립

4. [4계층] TCP 세그먼트 생성
   - 출발지 포트: 49152 (임시 포트)
   - 목적지 포트: 443 (HTTPS)
   - 3-way handshake로 연결 수립

5. [3계층] IP 패킷 생성
   - 출발지 IP: 192.168.1.10
   - 목적지 IP: 93.184.216.34 (DNS로 해석된 서버 IP)
   - 라우팅 테이블 조회로 다음 홉 결정

6. [2계층] Ethernet 프레임 생성
   - 출발지 MAC: 클라이언트 NIC MAC
   - 목적지 MAC: 게이트웨이 라우터 MAC (ARP로 조회)

7. [1계층] 비트를 전기 신호로 변환 → NIC가 케이블/무선으로 전송

--- 네트워크 중간 장비 통과 ---

8. [라우터] 2,1계층 프레임 제거 → 3계층 IP 확인 → 새 프레임으로 다음 홉 전송

9. [서버] 1→7계층 역캡슐화
   - 1계층: 신호 → 비트
   - 2계층: MAC 확인, 프레임 제거
   - 3계층: IP 확인, 패킷 제거
   - 4계층: TCP 포트 확인, 세그먼트 제거, 데이터 재조립
   - 6계층: TLS 복호화
   - 7계층: HTTP 요청 처리

TCP/IP 4계층과 OSI 7계층 매핑

OSI 7계층                      TCP/IP 4계층
┌─────────────────────┐        ┌─────────────────────┐
│  7. Application     │        │                     │
│  6. Presentation    │ ─────→ │  Application        │
│  5. Session         │        │  (HTTP, FTP, DNS)   │
├─────────────────────┤        ├─────────────────────┤
│  4. Transport       │ ─────→ │  Transport          │
│     (TCP/UDP)       │        │  (TCP/UDP)          │
├─────────────────────┤        ├─────────────────────┤
│  3. Network         │ ─────→ │  Internet           │
│     (IP, ICMP)      │        │  (IP, ICMP, ARP)    │
├─────────────────────┤        ├─────────────────────┤
│  2. Data Link       │        │                     │
│  1. Physical        │ ─────→ │  Network Access     │
│                     │        │  (Ethernet, Wi-Fi)  │
└─────────────────────┘        └─────────────────────┘
TCP/IP 계층 OSI 계층 프로토콜 장비
Application 5,6,7 HTTP, FTP, DNS, SMTP, SSH -
Transport 4 TCP, UDP 방화벽(L4), 로드밸런서
Internet 3 IP, ICMP, OSPF, BGP 라우터
Network Access 1,2 Ethernet, ARP, Wi-Fi 스위치, 허브

계층별 네트워크 장비

계층 장비 동작 방식
1계층 허브, 리피터 신호 그대로 브로드캐스트
2계층 스위치, 브리지 MAC 주소 테이블로 선택적 전달
3계층 라우터 라우팅 테이블로 최적 경로 전달
4계층 L4 로드밸런서 TCP/UDP 포트 기반 분산
7계층 L7 로드밸런서, 프록시 HTTP 헤더/URL 기반 분산
L2 Switch vs L3 Switch vs Router:

L2 Switch:  동일 네트워크 내 MAC 기반 전달 (VLAN 지원)
L3 Switch:  VLAN 간 라우팅 가능, 하드웨어 기반 고속 처리
Router:     서로 다른 네트워크 연결, 복잡한 라우팅 정책, WAN 연결

주요 개념 정리

PDU 명칭 정리

7,6,5 계층: Message / Data
4 계층:     Segment (TCP) / Datagram (UDP)
3 계층:     Packet
2 계층:     Frame
1 계층:     Bit

ARP (Address Resolution Protocol)

3계층 IP를 2계층 MAC 주소로 변환하는 프로토콜이다.

ARP 동작:
1. "192.168.1.1의 MAC 주소 누구야?" → ARP Request (브로드캐스트)
2. "나야! MAC: AA:BB:CC:DD:EE:FF" → ARP Reply (유니캐스트)
3. ARP 캐시에 저장 (일정 시간 유지)

arp -a  # ARP 캐시 확인 명령어

ICMP (Internet Control Message Protocol)

네트워크 오류 보고와 진단에 사용되는 프로토콜이다.

ping:        ICMP Echo Request / Echo Reply → 응답 확인
traceroute:  TTL을 1씩 증가시키며 각 홉의 라우터 경로 추적
             각 라우터가 TTL=0 패킷 수신 시 ICMP Time Exceeded 반환

카테고리:

업데이트: