[ Network] 3 - way Handshake & 4 - way Handshake

이숭인·2021년 8월 25일
0

[Network] 네트워크

목록 보기
4/13

이전 게시물에서 TCPUDP 에 대해 공부했었죠 !

이번에는 TCP 프로토콜 에서 송신지수신지 와의 논리적인 경로 설정 에 대해 좀 더 자세히 알아보려해요.

3 - way handshake 는 논리적인 경로를 설정할때에,
4 - way handshake 는 설정되어 있는 경로를 해제할때에 사용하게 되요.




3 - way Handshake


3 - way handshake 란
TCP/IP 프로토콜 을 이용하여 데이터를 전송하기 위한 네트워크 연결을 설정하는 과정 이에요.

프로세스 A 가 프로세스 B 에 연결 요청하는 과정을 보자면

  • 양쪽 모두 데이터를 전송할 준비가 되어있는 것을 보장하고 , 실제로 데이터 전달이 시작되기 전에 다른 쪽이 준비되어있다는 것을 알 수 있도록 합니다.

1. A -> B : SYN

  • 프로세스 A 에서 프로세스 B 로 접속 요청(Message)을 보냅니다. (SYN)

2. B- > A : SYN + ACK

  • 접속 요청을 받은 B 가 요청을 수락했으며, 요청 프로세스인 A 도 포트를 열어달라는 요청을 합니다. (SYN + ACK)

3. A -> B : ACK

  • 요청 프로세스인 A가 수락 확인 메세지를 보내 연결을 맺습니다 (ACK)



4 - way handshake


4 - way handshake 란

데이터 전송을 위해 연결해놓았던 연결을 해제하는 것을 뜻해요.

프로세스 A 가 프로세스 B 에 연결 해제를 요청하는 과정을 보자면

1. A -> B : FIN

  • AB 에게 연결을 종료하겠다는FIN 메세지를 전송
  • B가 FIN 메세지로 응답하기 전까지 연결 유지

2. B -> A : ACK

  • B확인 메세지를 보내고 자신의 통신 (전송해야할 남아있는 데이터) 이 끝날 때 까지 기다립니다.
  • 이때, 자신이 전송할 데이터가 남아있다면 이어서 계속 전송합니다.

3. B -> A : FIN

  • B 의 통신이 모두 끝이 났다면, 연결 종료 요청에 합의.
  • A 에게 FIN 메세지를 전송

4. A -> B : ACK

  • A 는 연결 종료 요청 메세지를 확인했다는 메세지를 전송 ㅋㅋ
profile
iOS Developer

0개의 댓글