웹 동작 방식 (3-way, 4-way handshake)

Mincho·2022년 12월 6일
0

cs지식

목록 보기
1/10
post-thumbnail

🏄‍ 웹의 동작 방식

cs면접에서 네트워크 분야에서 단골손님이다... 무조건 알고 있어야 하는 cs지식이라고 할 수 있겠다..

클라이언트(사용자pc)가 서버pc에 원하는 요청을 보내면 서버가 요청에 대해 응답을 주는 과정이라고 볼 수 있다.

위와 같은 그림을 보면 쉽게 이해를 할 수 있다.

	1.사용자가 원하는 url를 입력하여 접속하고자 한다.
	2.브라우저는 dns를 통해 서버의 주소를 확인한다.
	3.TCP/IP연결을 통해서 http응답 메시지를 웹 서버에 요청한다.
	4.웹 서버는 이에 응답 메시지를 보내고 다시 웹 데이터로 변환되
    어 사용자에게 출력된다.

간단 용어 정리

  ○TCP/IP : tcp/ip는 하나의 프로토콜이 아닌 tcp와 ip를 합쳐서 부르는 말이다. tcp는 osi계층에서 4계층, ip는 3계층에 해당하는데 통신에서 중요한 부분을 맡고 있다. tcp의 경우 송수신자의 논리적이고 신뢰성있는 연결을 유지 하도록 도와준다. ip의 경우 경로와 목적지를 찾기 위한 수단으로 볼 수 있다.

  ○HTTP : Hyper Text Transfer Protocol의 약자로 osi계층에서 7계층의 프로토콜로 통신 기기간에 메시지를 주고 받는 양식과 규칙의 체계라고 볼 수 있다.

  ○DNS : 간단하게 말하면 숫자로 이루어진 주소체계를 간단히 입력할 수 있도록 기억하기 쉽게 변환하여 통신하도록 만들기 위한 시스템이다.

3-way handshake

TCP 장치들 사이에 논리적인 접속을 성립하기 위해 사용하며, 정확한 통신을 보장하기 위해 세션을 수립하는 과정이다.

Tcp 3-way handshake 과정

	1.클라이언트가 서버에 요청 메시지 syn을 보내고 기다린다.
	
    2.서버는 syn요청을 받고 요청을 수락하는 ack와 syn flag 
    패킷을 발송하고 잘 받은지 확인을 위해 응답을 기다린다.
	
    3.클라이언트는 다시 ack 메시지를 보내 통신이 성립하게 된다.

4-way handshake

3way 방식이 연결확립을 위한 진행이었다면 4way handshake 방식은 세션을 종료하기 위해 수행되는 절차를 의미한다.

	1.클라이언트가 종료하겠다는 FIN플래그를 전송한다.그리고 FIN-WAIT-1 상태가 된다.
    
	2.FIN플래그를 받은 서버는 ack메시지를 클라이언트에게 보낸다.
    그리고 close-wait상태로 변하고 클라이언트도 서버에서 종료될 준비가 되었다는 FIN을 받기 위해 FIN-WAIT-2 상태가 된다.
    
    3.Close상태가 되면 서버는 클라이언트에게 FIN플래그를 전송한다.
    
	4.클라이언트는 ack메시지를 서버에 보내고 TIME-WAIT상태가 된다.

 간단하게 웹 동작을 알아보았습니다. 이 정도만 알고 있다면 대충 웹의 흐름에 대해 알게 되었을 것이다. 다음에는 http와 관련된 쿠키 및 세션에 대해서 알아보자.

profile
사진찍는 개발자.

0개의 댓글