tcp의 session과 was의 session은 다르다

2022. 7. 15. 13:07·Computer Science/Network

신입 네트워크 교육을 받았다! (2022-07-15)

 

 

오버헤드를 줄이기 위한 목적은 같다.

 

하지만 줄이는 오버헤드가 다르다.

 

https://coderbycode.tistory.com/162

 

세션(Session) 이란

세션(Session)이라는 용어는 다분히 혼돈스럽다. 세션의 정의를 Naver에서 찾아보면 (1) 망 환경에서 사용자 간 또는 컴퓨터 간의 대화를 위한 논리적 연결, (2) 프로세스들 사이에 통신을 수행하기

coderbycode.tistory.com

위 사이트를 반드시 참고할 것.

 

tcp의 경우)

http는 connectionless, stateless이기 때문에 tcp/ip와 같이 쓴다.

요청이 들어오면

 

<- 논리적 단위 -> <--- 물리적 단위           -----------------------> <-- 메시지의 교환 -->
세션(세션ID)시작 ->
                         클라이언트 소켓 생성 ->

 

                                                           서버 소켓 연결(Connection)
                                                                                                 -> 요청(Request) 
                                                                                                 <- 응답(Response)
                                                                                                   ....
                                                                                                  -> 요청(Request) 
                                                                                                 <- 응답(Response)
                                                     <-   서버 소켓과 연결 닫힘(Close) 
                       <- 클라이언트 소켓 닫힘
세션종료

출처: https://coderbycode.tistory.com/162 [workSpace:티스토리]

 

웹 서버는 다음과 같은 과정을 거치는데, 서버에서 소켓이 열리고 닫힐 때, 쓰레드가 이를 처리하게 된다.

소켓이 열릴 때 쓰레드가 생겨서 이를 처리하고, 닫힐 때 쓰레드가 삭제되는데

만약 한번 request / response를 처리하고 쓰레드가 삭제되면, 곧이어 request가 왔을 때

다시 쓰레드를 만들고 소켓을 연결하는 과정을 거쳐야 한다.

바로 이 부분이 오버헤드이고, 이를 막기 위해, tcp keep alive라는 대기 시간을 주어서

해당 시간 동안은 쓰레드를 바로 삭제하지 않고, 다음 요청이 들어오면 바로 처리할 수 있게 한다.

(시간 지나면 SESSION TIMEOUT)

이게 바로 TCP의 Session이다.

 

was의 경우, session은 사용자의 로그인 정보, 장바구니 정보등 사용자의 connection이 끊기지 않게 하기 위한 것이다.

 

즉, 오버헤드를 줄이기 위한 것이라는 목적은 맞지만, 내용이 다르다.

저작자표시 비영리

'Computer Science > Network' 카테고리의 다른 글

[펌] 네임서버란!?  (0) 2022.08.10
[카톡설명] NAT Gateway의 목적, 서버는 inbound, 클라이언트는 outbound만 열려있어도 데이터를 주고받을 수 있다!  (0) 2022.07.21
IP CIDR  (0) 2022.06.16
Static IP vs Dynamic IP vs Fixed IP vs Floating IP  (0) 2022.06.16
유무선 전송시에 ping의 latency와 다운/업로드 속도의 차이?  (0) 2022.06.15
'Computer Science/Network' 카테고리의 다른 글
  • [펌] 네임서버란!?
  • [카톡설명] NAT Gateway의 목적, 서버는 inbound, 클라이언트는 outbound만 열려있어도 데이터를 주고받을 수 있다!
  • IP CIDR
  • Static IP vs Dynamic IP vs Fixed IP vs Floating IP
Hojae Lee
Hojae Lee
Solutions Architect
  • Hojae Lee
    기억력이 금붕어라
    Hojae Lee
  • 전체
    오늘
    어제
  • 공지사항

    • 참고사항
    • 이 블로그를 잘 활용하는 방법
    • my linkedin
    • 분류 전체보기 (404)
      • Career Path (19)
        • My Achievements (10)
        • About Career (1)
      • Projects for $100 (1)
      • CLOUD (183)
        • Azure Cloud (61)
        • AWS Cloud (120)
      • System Engineering (91)
        • Kubernetes (48)
        • Docker (0)
        • System Design (4)
        • DevOps (2)
        • SRE (5)
        • git (1)
        • 리눅스, 라즈베리파이 (17)
        • Powershell (2)
      • Computer Science (70)
        • Operating System (22)
        • Computer Architecture (5)
        • Network (18)
        • Database (13)
        • Security (9)
        • Machine Learning, AI (1)
      • Cloud Webinar (4)
        • AWS Summit (4)
      • 3D 프린터 (1)
      • IaC (4)
        • CloudFormation (0)
        • Terraform (4)
      • 아두이노 (임베디드) (2)
      • 개발자의 전기 전자 공부 (3)
      • 이전 직장 (11)
        • TMAX Soft (11)
      • 작업 환경 셋업 (3)
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
Hojae Lee
tcp의 session과 was의 session은 다르다
상단으로

티스토리툴바