Stateful와 Stateless [TCP/UDP]

cad·2022년 4월 15일
0

Web

목록 보기
6/8

Stateful(서버에 정보O)

  • 서버에서 상태 정보를 저장하는 형태, 세션 상태에 기반하여 서버의 응답이 달라진다.

Stateless(무상태, 서버에 정보X)

  • 서버에서 상태 정보를 저장하지 않는 형태, 서버의 응답이 클라이언트와의 세션 상태와 독립적이다.

한 가지의 예로 TCP(Stateful)와 UDP(Stateless)의 동작 방식의 차이가 있다.


TCP(Transmission Control Protocol)

  • TCP에서 클라이언트와 서버는 데이터를 주고 받기 위해서 다음과 같은 과정을 거친다.
  1. 연결 설정 (3-Way Handshake, Establishing connection)

  2. 데이터 전송(Trasmitting data)

  3. 연결 종료(4-Way Handshake, Terminating connection)

TCP Handshake 과정을 통해서 데이터를 전송하는데 이때 서버에서 세션 정보를 저장하면서 Stateful한 특징을 지닌다.

  • 정확한 데이터를 전송하기 위해서는 TCP를 이용해야 한다. 로그인하는데 비밀번호가 '1234'일 때 문제가 생겨 '12*4'가 전송되면 안된다는 것이다.

UDP(User Datagram Protocol)

  • 클라이언트와 서버와의 동작에서 서버가 상태 정보를 저장하지 않는 형태이다. Server의 응답이 클라이언트와의 세션 상태와 독립적이다.
  • 예를 들어 유튜브나 트위치, 아프리카 같은 스트리밍 서비스가 UDP에 속한다. 데이터가 잘 전달 됐는지 보다 속도가 더 중요하다. 화면이 조금씩 끊기는 것 보다도 빨리 빨리 영상이 사용자에게 전달이 되어야 한다는 것이다.
  • 즉, UDP는 TCP와 달리 Client의 세션 상태와 관계 없이 요청에 대한 응답만을 수행한다.

profile
Dare mighty things!

0개의 댓글