V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LPeJuN6lLsS9
V2EX  ›  问与答

SSH 协议的握手谁先谁后

  •  
  •   LPeJuN6lLsS9 · 2017-01-22 21:50:40 +08:00 · 1611 次点击
    这是一个创建于 2649 天前的主题,其中的信息可能已经有所发展或是发生改变。

    客户端和服务端通知对方版本的那个包到底是谁先发谁后发呢?我自己观察到的是客户端先发,但是看别人抓包则相反( https://www.youtube.com/watch?v=XfWQ-jXPd8g)

    服务端等客户端先发有什么好处?,为何不惜增大连接建立所用时间这样做呢

    第 1 条附言  ·  2017-01-22 23:13:01 +08:00
    最后一句说错,应为“(像视频里一样)客户端等服务端……”

    补图: https://stackoverflow.com/questions/16205240/which-side-will-initiate-the-version-negotiation-in-the-ssh-transport-layer-prot
    2 条回复    2017-01-22 23:19:51 +08:00
    bearice
        1
    bearice  
       2017-01-22 22:28:02 +08:00
    “ When the connection has been established, both sides MUST send an identification string.” --rfc4253
    其实就是谁先发都无所谓,反正 TCP 是全双工通信的
    LPeJuN6lLsS9
        2
    LPeJuN6lLsS9  
    OP
       2017-01-22 23:19:51 +08:00
    @bearice 题目起错了, tcp 是全双工所以两边一起发可节约时间,但是图和视频里客户端明显在等服务端
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3272 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:46 · PVG 21:46 · LAX 06:46 · JFK 09:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.