“피어에 의한 연결 재설정”이란 무엇입니까?


648

TCP 연결에서 "피어에 의한 연결 재설정"오류의 의미는 무엇입니까? 치명적인 오류입니까, 아니면 단지 알림이거나 네트워크 오류와 관련이 있습니까?

답변:


771

치명적입니다. 원격 서버가 일반적인 핸드 셰이크 대신 연결이 즉시 끊어 졌음을 나타내는 RST 패킷을 보냈습니다. 이것은 일반적인 반 폐쇄 상태 전환을 우회합니다. 나는 이 설명을 좋아 한다 :

"피어에 의한 연결 재설정"은 후크에서 전화를 다시 슬래 밍하는 TCP / IP에 해당합니다. 응답하지 않고 정중하게 응답합니다. 그러나 정중 한 TCP / IP 대화가 기대하는 것은 FIN-ACK가 아닙니다.


49
" 피어에 의한 연결 재설정"이라고 표시되는 이유는 " 호스트에 의한 연결 재설정"또는 "서버에 의한 연결 재설정"이어야합니다.
Robert

27
@Robert 리셋이 시작된 곳이기 때문입니다. 피어가 RST 패킷을 보냈습니다.
Lorne의 후작

106
... 로버트, 당신의 걱정은 말이되지 않습니다. 피어는 그보다 훨씬 더 일반적입니다. 일반적인 클라이언트-서버 모델에서 서버는 "클라이언트"로부터이 알림을 쉽게받을 수 있습니다. 처음에 연결을 요청한 시스템은이 알림을 보낼만큼의 전원을 공급합니다. TCP 수준에서 연결이 진행되면 동일하게 보입니다. 통신 할 때 두 시스템은 피어 일뿐입니다.
codetaku

9
이 포장은 라우터처럼 중간에 다른 장치에 의해 전송되었을 수 있습니까?
Arnold Roa

3
클라이언트 나 서버가 전송할 수 있으므로 '서버에서 연결 재설정'이라고 할 수 없습니다. '우회'될 수 없습니다. 클라이언트가이 오류를 수신하면 예를 들어 서버가 충돌하여 다시 시작된 후 TCP 연결이 더 이상 서버에서 열리지 않습니다.
Johannes Overmann

193

이것은 TCP RST가 수신되었고 이제 연결이 닫 혔음을 의미합니다. 연결 끝에서 패킷이 전송되었지만 다른 쪽 끝이 연결을 인식하지 못하는 경우에 발생합니다. 연결을 강제로 종료하기 위해 RST 비트가 설정된 패킷을 다시 보냅니다.

이것은 상대방이 충돌 한 다음 다시 나타나거나 close()전송중인 데이터가있는 동안 소켓을 호출 하는 경우에 발생할 수 있으며, 이전에 보낸 일부 데이터가 수신되지 않았 음을 나타냅니다.

그것이 오류인지는 당신에게 달려 있습니다. 전송중인 정보가 원격 클라이언트의 이익을 위해서만 제공된 경우 최종 데이터가 손실 된 것은 중요하지 않을 수 있습니다. 그러나 소켓을 닫고 연결과 관련된 다른 리소스를 비워야합니다.


11
새 소켓을 열 때 소켓 옵션 SO_LINGER를 0으로 설정 한 다음 정상적으로 닫으면 RST 비트가 설정됩니다. 따라서 모든 연결이 재설정으로 종료됩니다. 집에서 시도하지 마십시오. 성가신 일입니다. stackoverflow.com/questions/3757289
Chris Huang-Leaver

1
이 문제를 해결하는 방법, 원격 호스트와 호스트를 모두 다시 시작해야합니까?
user2225190

3
@ user2225190 클라이언트를 다시 연결해야하지만 먼저 소프트웨어가 응용 프로그램 프로토콜 오류로 인한 것이 아닌지 확인해야합니다. 즉, 다른 쪽 끝이 여전히 쓰고있는 연결을 종료해야합니다.
Lorne의 후작

1
귀하의 의견에 감사드립니다. 두 달 동안 일했습니다. 또한 명령 줄에서 시도하고 있지만 여전히이 오류가 발생합니다. "sftp user @ machine"을 시도합니다. 일관성이 없습니다.
user2225190
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.