네트워크 보안 - OSI 모델 · TCP/IP · 프로토콜 완전 정리

Phase 2  |  Network Security

OSI 모델 · TCP/IP · 프로토콜 완전 정리

캡슐화 구조 · TCP/UDP 헤더 · 3-Way Handshake · 흐름 제어 · 보안 관점까지

01 OSI 7계층 참조 모델

ISO가 정의한 통신 표준 구조. 네트워크 기능을 7개 계층으로 분리해 각 역할을 명확히 구분한다.

L7
Application
사용자 인터페이스 제공 — HTTP, FTP, DNS, SMTP
L6
Presentation
인코딩 · 압축 · 암호화 (TLS/SSL 협상)
L5
Session
세션 연결 설정 · 유지 · 종료
L4
Transport
종단 간 신뢰성 보장 — TCP / UDP, Port 기반 다중화
L3
Network
라우팅 및 경로 결정 — IP, ICMP, ARP
L2
Data Link
MAC 기반 전달 · 오류 제어 — Ethernet, Wi-Fi
L1
Physical
전기 · 광 신호 전송 — 케이블, 허브
구분 기준  |  L5~L7은 소프트웨어(애플리케이션) 영역, L1~L3은 하드웨어(장비) 영역, L4(Transport)는 두 영역을 연결하는 중계 계층이다.
02 캡슐화 (Encapsulation) / 역캡슐화 (De-encapsulation)

송신 측은 상위 → 하위 계층으로 헤더를 추가하고, 수신 측은 하위 → 상위 계층으로 헤더를 제거한다.

[ 송신 측 — Encapsulation ] Application Data → + TCP Header (Segment) → + IP Header (Packet) → + MAC Header + FCS (Frame) → Physical 전송 (Bits) [ 수신 측 — De-encapsulation ] Bits → MAC Header 제거 (Frame → Packet) → IP Header 제거 (Packet → Segment) → TCP Header 제거 (Segment → Data)
계층 PDU 명칭계층헤더/구성 요소
Data / MessageL7~L5애플리케이션 데이터
SegmentL4TCP/UDP Header + Data
PacketL3IP Header + Segment
FrameL2MAC Header + Packet + FCS(Trailer)
BitsL1전기/광 신호
Payload vs Header  |  Payload는 실제 전달할 데이터, Header는 전달을 위한 제어 정보, Trailer(FCS)는 오류 검출용. 각 계층 관점에서 상위 계층 전체가 자신의 Payload가 된다.
03 TCP/IP 모델과 OSI 매핑

실제 인터넷 통신에서 사용하는 4계층 모델. OSI보다 단순하며 실무 기준이 된다.

TCP/IP 계층OSI 대응주요 프로토콜역할
ApplicationL5~L7HTTP, FTP, DNS, SMTP사용자 서비스 제공
TransportL4TCP, UDP종단 간 통신, 포트 기반
InternetL3IP, ICMP, ARP라우팅, 논리적 주소
Network AccessL1~L2Ethernet, Wi-Fi물리적 전송
04 TCP vs UDP 헤더 구조 비교

TCP Header (20~60 bytes)

  • Source / Destination Port
  • Sequence Number — 데이터 순서 보장
  • Acknowledgment Number — 수신 확인
  • Window Size — 흐름 제어
  • Checksum — 오류 검출
  • Flags — SYN, ACK, FIN, RST 등

UDP Header (8 bytes 고정)

  • Source / Destination Port
  • Length — 헤더 + 데이터 전체 길이
  • Checksum — 오류 검출 (선택적)
  • Sequence / ACK 없음
  • 연결 설정 없음
  • 재전송 없음
항목TCPUDP
연결 방식연결 지향 3-Way Handshake비연결형 즉시 전송
신뢰성순서 보장 · 재전송 · ACKBest-effort, 보장 없음
헤더 크기20~60 bytes8 bytes
속도상대적으로 느림빠름
사용 사례HTTP, SSH, FTP, 이메일DNS, VoIP, 스트리밍, 게임
보안 위협SYN Flood, Session HijackingUDP Flood, DNS Amplification
05 TCP 연결 관리 : 3-Way & 4-Way Handshake

3-Way Handshake — 연결 수립

Client
SYN 전송
Server
SYN+ACK 응답
Client
ACK 전송
연결 수립
ESTABLISHED

4-Way Handshake — 연결 종료

FIN
종료 요청
ACK
수신 확인
FIN
상대방 종료
ACK
최종 확인
TIME_WAIT
일정 시간 대기
TIME_WAIT 존재 이유  |  마지막 ACK가 유실됐을 때 상대가 FIN을 재전송할 수 있도록 일정 시간(2×MSL) 대기. 이 시간 동안 같은 포트로 새 연결을 맺으면 패킷 충돌 발생 가능.
# Sequence / Acknowledgment Number 관계식 AN = SN + Data Size # 예시 Client → Server : SYN (SN=1000) Server → Client : SYN+ACK (SN=5000, AN=1001) # AN = 1000 + 1 Client → Server : ACK (SN=1001, AN=5001) # AN = 5000 + 1
06 IP Header 주요 필드
필드역할보안 관점
TTL (Time To Live)라우터를 거칠 때마다 1씩 감소, 0이 되면 패킷 폐기TTL 값으로 OS 추정 가능 (Fingerprinting)
Protocol상위 계층 프로토콜 식별 (6=TCP, 17=UDP, 1=ICMP)비정상 프로토콜 번호로 탐지 우회 시도
Source / Dst IP송수신 IP 주소IP Spoofing 주요 조작 대상
FragmentationMTU 초과 패킷 분할 전송단편화 공격으로 IDS 우회 가능
07 Ethernet Frame 구조
[ Ethernet Frame 구조 ] ┌──────────────┬──────────────┬──────┬──────────────┬─────┐ │ Dst MAC │ Src MAC │ Type │ Data │ FCS │ │ (6 bytes) │ (6 bytes) │(2B) │ (46~1500B) │(4B) │ └──────────────┴──────────────┴──────┴──────────────┴─────┘ 최소 크기: 64 bytes 최대 크기: 1518 bytes (Jumbo Frame 제외) FCS: Frame Check Sequence — CRC 기반 오류 검출
Type 필드  |  0x0800 = IPv4, 0x0806 = ARP, 0x86DD = IPv6. Wireshark로 패킷 분석 시 이 값으로 상위 프로토콜을 빠르게 식별할 수 있다.
08 TCP 흐름 제어 (Flow Control) & 혼잡 제어

Window Size 기반 흐름 제어

  • 수신 측이 처리 가능한 데이터 크기를 광고
  • 송신 측은 Window 크기 이내로만 전송
  • Window = 0 → 전송 즉시 중단
  • Keep-Alive 패킷으로 연결 유지 확인

정상 vs 비정상 트래픽

  • 정상: SN 순차 증가, 정확한 ACK
  • 비정상: ACK 불일치, 재전송 반복
  • SYN Flood: ACK 없이 SYN만 대량 전송
  • Session Hijacking: SN 예측으로 세션 탈취
09 보안 관점 핵심 정리
  • SYN Flood : ACK 없이 SYN을 대량 전송해 서버 연결 테이블(Backlog Queue) 고갈. 대응: SYN Cookie, 방화벽 Rate Limit
  • Session Hijacking : Sequence Number 예측으로 기존 세션 탈취. 대응: 랜덤 ISN(Initial Sequence Number) 생성, TLS 암호화
  • IP Spoofing : 출발지 IP를 위조해 패킷 전송. 대응: BCP38(Ingress Filtering), uRPF
  • IP Fragmentation Attack : 단편화된 패킷으로 IDS/IPS 탐지 우회. 대응: 패킷 재조립 후 검사
  • UDP Flood / DNS Amplification : 소스 IP 위조 후 대용량 DNS 응답을 피해자에게 반사. 대응: BCP38, DNS Response Rate Limiting
  • TTL 기반 OS Fingerprinting : TTL 초기값(Linux=64, Windows=128)으로 OS 추정. 대응: TTL 값 표준화 또는 스크램블링