패킷 이름 암기보다, 왜 3단계가 필요하고 2단계가 왜 불충분한지 논리적으로 설명할 수 있는지 확인하려는 질문이다.
3-way handshake의 본질은 "연결 상태 합의"다. 클라이언트 SYN으로 연결 의사를 전달하고, 서버 SYN-ACK로 수신 가능 상태와 자신의 ISN을 함께 알린 뒤, 클라이언트 ACK로 이를 확인해야 양쪽이 서로의 송수신 준비 상태를 확정할 수 있다. 2-way만으로는 지연·중복 패킷 상황에서 상태 불일치가 남을 수 있어 3단계 확인이 필요하다. 이 비용(최소 1 RTT)은 신뢰성의 대가이며, 요구사항에 따라 keep-alive/pooling으로 연결 수립 오버헤드를 줄이거나 다른 전송 전략을 선택한다.
초기 연결 비용 때문에 keep-alive/pooling을 도입한 경험을 말한다
요구사항에 따라 TCP 대신 다른 전송 전략을 검토한 근거를 설명한다
패킷 지연/중복 시나리오를 테스트해 상태 불일치를 검증한 사례를 공유한다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.