상세 컨텐츠

본문 제목

[네트워크] 3 way handshake, 4 way handshake 개념/동작 방식/ACK, SYN

네트워크

by 해공학(해킹을 공부하는 학생) 2023. 7. 25. 06:49

본문

안녕하세요 오늘은 3 way handshake에 대해 알아보겠습니다.

 

3 way handshak란?

TCP통신을 하기전에 TCP통신을 안전하고 정확하게 하기 위해서 하는 절차 입니다.

이 절차는 TCP통신을 하기전 무조건 성립되는 절차라고 생각하시면 됩니다.

 

ACK, SYN

이번에는 3 way handshake 과정에서 나오는 용어들에 대해 알아보겠습니다.

 

SYN : 연결을 할수있어? 라고 물어보는 용어 입니다.

ACK : 할수있다고 말하는 용어 입니다.

 

3 way handshake의 과정

우선 Client가 Server한테 연결을 할수있어? 라고 SYN으로 물어봅니다.

다음으로 Sever가 "나 연결할수있어! 너 포트좀 열어줘"하고 ACK와 SYN을 보냅니다.

마지막으로는 Client가 "아 ㅇㅋ 열어줄게" 하고 포트를 열어주면 이제 통신이 시작되는것 입니다.

그리고 위 사진에 설명되있는거와 같이 Client가 SYN을 보내면 SYN_SENT 상태가 되고,

Server가 SYN과 ACK를 보내면 SYN_RECEIVED상태가 되고, Client가 ACK를 보내면,

ESTABLLISHED상태가 된다.

 

4 way handshake란?

4 way handshake는 3 way handshake와 정반대로 3 way handshake는 통신을 시작할때 절차 였다면

4 way handshake는 통신을 끝낼때 절차입니다.

 

4 way handshake의 과정

우선 Client가 Sever한테 이제 통신을 그만 하겠다는 의미인 FIN 플래그를 보냅니다.

다음으로 Server가 알겠다고 답변후, 서버가 통신을 끝낸다고 말합니다.

마지막으로 Client가 알겠다고 말하면 통신은 끝나는것 입니다.

위 사진에 나와있는것 처럼 상태가 계속 바뀝니다.

 

 

 

끝!

관련글 더보기