我重启了办公室的 WiFi 路由器,不出所料,我的笔记本电脑断开了连接。重新连接后,我发现我的 SSH 会话从未断开过。
SSH 协议如何实现这一点?或者这与 TCP/IP 有更多关系?
答案1
SSH 默认具有相当长的超时时间,默认 TCP 超时时间并且默认 TCP 超时时间很长。
任何形式的保持连接实际上都会使其更快地断开连接,因为当客户端/服务器看到保持连接没有达到目标时它就会断开连接。
因此,只要你的 IP 保持不变,SSH 连接就可以持续很长时间,只要没有任何事情“发生”来填充发送/接收缓冲区
答案2
我认为是 TCP。只要地址相同,在网络中断时发送的任何内容都会被视为丢失的数据包并重新发送。只要网络中断的时间不长,客户端和服务器就会追上丢失的内容。如果在网络中断时任何一端都没有发送任何内容,那么客户端和服务器都不知道出现了问题。
不过,在最后一种情况下,分组交换网络上的任何协议都会表现得完全相同,因此说这是由于 SSH 还是由于 TCP 并不是一个完整的答案。