인프런 커뮤니티 질문&답변

3831568님의 프로필 이미지
3831568

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

3way handshake, 4way handshake 과정 질문

해결된 질문

작성

·

447

0

3way handshake

먼저 클라이언트 측에서 서버측으로 연결해도 될까라는 신호를 보내고

서버측에서 클라이언에게 물론이지라는 신호를보내기만하면 연결이 될 거라고 생각했는데 왜 다시 클라이언트측에서 서버로 ack를 보내게 되는 건가요?

각 과정이 무엇을 의미하는지 정확히 잘 모르겠네요 ㅠㅠ

 

4way handshake
제가 이해한 바로는

클라이언트가 서버에게 "연결 이제끊을래"라고 하고 서버는 클라이언트에게 "알겠어, 근데 하던일이 있어서 이거 마저 다하고 끊을게"라는 응답을 하고 잠시 후 다 끝내고 "연결 끊을게"라고 다시 응답을 합니다. 그러면 클라이언트는 너가 준거 마저 받을게라는 응답을 보낸 후 잠시 뒤에 연결을 끊는 과정이 맞을까요?

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

3way handshake

먼저 클라이언트 측에서 서버측으로 연결해도 될까라는 신호를 보내고

서버측에서 클라이언에게 물론이지라는 신호를보내기만하면 연결이 될 거라고 생각했는데 왜 다시 클라이언트측에서 서버로 ack를 보내게 되는 건가요?

각 과정이 무엇을 의미하는지 정확히 잘 모르겠네요 ㅠㅠ

>> 음.. 제생각에는 클라 > 서버 보내고 / 서버 > 클라 까지는 이해하셨는데 왜 또 클라 > 서버로 하나 더 보내냐는 거죠?

안전하게 설정하기 위함입니다.

이렇게 한번 생각해볼게요. 우리가 멀리 떨어져있는 은석이와 연락을 한다고 해볼게요.

은석이보고 야 ~~ 나 너희집으로 갈게 라고 편지를 보내요.

은석이는 ㅇㅋㅇㅋ 오셈 라고 편지를 보내요.

근데 이 때 큰돌이는 집에 없을 수도 있겠죠? 어디 갑자기 여행을 갔을수도 있구요.

그래서 여행을 가지 않고 은석이가 보낸 편지를 받았는지를 확인해주기 위해 답장을 보내는 과정이 바로 3번째 과정입니다.

그래서 큰돌이가

ㅇㅋㅇㅋ 갈게 ~~

라고 마지막 메세지를 보내는 과정이 되는 셈이죠.

 

4way handshake
제가 이해한 바로는

클라이언트가 서버에게 "연결 이제끊을래"라고 하고 서버는 클라이언트에게 "알겠어, 근데 하던일이 있어서 이거 마저 다하고 끊을게"라는 응답을 하고 잠시 후 다 끝내고 "연결 끊을게"라고 다시 응답을 합니다. 그러면 클라이언트는 너가 준거 마저 받을게라는 응답을 보낸 후 잠시 뒤에 연결을 끊는 과정이 맞을까요?

>> 네 정확합니다.

다만, 마지막에

그러면 클라이언트는 너가 준거 마저 받을게라는 응답을 보낸 후 잠시 뒤에 연결을 끊는 과정이 맞을까요?

>> 이건 아니구요. 클라가 ㅇㅋㅇㅋ 서버야 연결끊자!! 빠이빠이 이러면서 서버가 미처 보내지 못한 데이터를 줄수도 있기 떄문에 대인배처럼 클라이언트가 조금은 기다려주는 단계라고 보시면 됩니다.

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

3831568님의 프로필 이미지
3831568

작성한 질문수

질문하기