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

팡휘님의 프로필 이미지
팡휘

작성한 질문수

모든 개발자를 위한 HTTP 웹 기본 지식

TCP, UDP

클라에서 서버로 ack를 보내는 3번 이후에 연결이 끊어지는 경우는 없나요??

해결된 질문

작성

·

385

3

만약에 3번 ACK를 보내고 이제 데이터를 전송하려고 하는데 그때 서버와 연결이 끊기면 데이터가 안가나요??

 

그리고 약간 이런 맥락인 것 같은데 맞나요?

1번 SYN : 클라와 서버를 연결을 해달라고 요청

2번 SYN+ACK : 요청 잘 받았고(ACK), 나도 이제 연결해달라고 요청(SYN)

3번 ACK : 서버의 요청을 잘 받았음을 알림

이제 연결된 상태이고, 이후 데이터 전송

답변 1

5

안녕하세요, 팡휘 님! 공식 서포터즈 codesweaver 입니다.

이해하신 맥락이 맞습니다.

네트워크 연결은 '논리상'의 연결일 뿐 물리적으로 연결된것은 아닙니다.

그래서 말씀하신 것처럼 3 way handshake 이후에 바로 서버가 다운되는 등의 문제가 생기면 통신을 정상적으로 수행할 수 없습니다.

TCP는 요청/응답 과정에서 주기적으로 ACK 신호를 교환합니다. 따라서 어느 한쪽이 통신 불능상태가 되면 더 이상의 절차를 진행할 수 없습니다. 이 경우 상호는 오류 복구를 위한 몇번의 신호를 더 보내게 되며 이 신호에 대한 응답이 오지 않으면 통신을 종료합니다.

감사합니다.

팡휘님의 프로필 이미지
팡휘
질문자

답변 감사합니다! 여기서 말씀하시는 "논리상의 연결"은 "내가 통신가능이고 너도 통신가능이니까 우린 현재 연결이 가능한 상태다" 라는 것을 서로 확인하는 것을 의미할까요?? 단순히 논리적으로 서로 연결 가능한 상태라는 것을 알릴뿐, 물리적이든 서버상으로든 뭐가 진짜로 연결된 상태는 아니다 이렇게 이해하면 될까요 ???

안녕하세요 팡휘님.

네 맞습니다. 논리상(가상)으로 연결한 것으로 간주한다. 정도로 이해하시면 됩니다.

 

감사합니다.

팡휘님의 프로필 이미지
팡휘
질문자

답변감사합니다! 좋은하루 되세요 ^^

팡휘님의 프로필 이미지
팡휘

작성한 질문수

질문하기