SSH 연결은 네트워크 재부팅 후에도 어떻게 유지됩니까?

SSH 연결은 네트워크 재부팅 후에도 어떻게 유지됩니까?

Linux SSH 셸에서 다음을 입력하여 /etc/init.d/network restart네트워크 서비스를 다시 시작합니다.

네트워크 서비스 중단으로 인해 SSH 연결이 중단될 것으로 예상했습니다. 그러나 그것은 진실이 아니다. 아주 멋지다. 하지만 Linux는 이를 어떻게 달성합니까? 서비스가 다시 시작된 후 SSH 연결을 어떻게 활성 상태로 유지합니까?

답변1

이를 위해 특별한 작업을 수행하지 않습니다. 네트워크 다시 시작 시간은 TCP 연결이 시간 초과되는 데 필요한 시간보다 짧으므로 TCP 연결은 간단한 네트워크 중단과 마찬가지로 "중단"에도 살아남을 수 있습니다.

Windows가 동일한 작업을 수행하지 않는 유일한 이유는 네트워크 인터페이스가 실패할 때 Windows가 특별히 TCP 연결을 재설정하기 때문입니다. TCP는 짧은 네트워크 중단을 견딜 수 있도록 특별히 설계되었기 때문에 이는 매우 어리석은 일입니다.

답변2

SSHD는 연결 시 하위 프로세스를 분기합니다. SSHD 또는 전체 네트워크가 다시 시작되면 하위 프로세스는 종료되지 않습니다. 이것이 바로 SSH 및/또는 해당 구성을 업데이트하고 service sshd restart이전 설정을 사용하여 이전 SSH 세션에 계속 연결을 유지할 수 있는 이유입니다. 그 외에도 ssh는 소규모 네트워크 중단 시에도 잘 복구됩니다.

관련 정보