Stateless VS Stateful

상훈·2024년 2월 14일
  1. Protocol
  2. Firewall

1. Protocol

Protocol이 연결 상태를 유지하는지 여부에 기반하여 구분

서버가 클라이언트의 상태를 보존한다고 생각하면 이해가 편함

  • 서버에서 클라이언가 이전 단계에서 제공한 값을 저장하고 있는지
  • 홈페이지를 로그인 후 이동해도 로그인 상태를 유지하는지

Stateful

  • 3-way handshaking( SYN, ACK) 후 헤더에 연결 상태 정보를 저장

  • 안정적

  • 문제점

    • 상태를 저장한 서버가 아닌 다른 서버에서는 새로운 요청에 대해 응답이 어려움
    • 클라이언트의 상태 정보를 들고 있어야하는 용량 문제 발생할 수 있음

Stateless

  • 서버가 클라이언트의 상태를 보존하지 않음
  • 클라이언트가 통신에 필요한 모든 상태 정보를 가지고 있다가 서버에 전송

2. Firewall

  • 데이터를 전송한다 -> 잘게 쪼개진 데이터 묶음인 패킷(packet)을 보내고 받는 것
  • 패킷의 헤더에는 출발지, 목적지 IP주소, 포트 등이 존재
  • 라우터에 설정된 필터 정보를 통해 들어온 패킷을 허용하거나 차단
  • 필터가 증가 -> 라우터의 부하 증가 -> 패킷 전송이라는 본래 기능에 문제 발생
  • 트래픽 제어를 위한 전용 장비 (방화벽) 탄생

Stateful Firewall

  • 외부 브라우저에서 웹서버에 접근하는 (Inbound)에 대한 룰만 존재
  • 방화벽은 외부에서 dmz 구역으로 들어오는 요청에 세션 테이블을 만들어 일시적으로 저장
  • 이후 내부에서 외부로 응답이 나갈 때는 기존에 만들어 놓은 세션 테이블과 매칭하여 일치하면 밖으로 응답을 보내줌
  • 장점
    • 세션 정보를 저장하고 있기에 세부적인 설정 가능
    • 응답 보안 정책을 미리 만들어 둘 필요가 없음
  • 문제점
    • 요청이 들어올 때마다 새로운 세션을 만들어 관리해야함
    • DDOS 공격에 취약
profile
문송 개발자

0개의 댓글