V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
RicardoY
V2EX  ›  问与答

关于 TLS 短连接访问时间过长的的一些问题

  •  
  •   RicardoY · Oct 9, 2019 · 2612 views
    This topic created in 2398 days ago, the information mentioned may be changed or developed.

    最近在折腾一个把 Google Dns Over TLS 转换到本地使用的小玩具, 是用 Python 实现的, 但是发现单次连接耗费的时间特别长,使用的 TLS 协议不管是 TLS1.3 还是 TLS1.2 单次查询的时间都相似且长到不可接受。我同时还设置了 TCP_NODELAY 试图改善一下性能,但是似乎变得更慢了

    抓包的结果如下 uI4mi8.png

    我有一些问题

    1.网上有很多资料显示 TLS1.3 的握手过程仅需要 1-RTT, 但是抓包结果似乎显示使用了 2-RTT 的时间进行握手(第一个数据包应该是编号为 13 的包)

    2.使用 Python 有办法开启 TCP Fast Open, TLS session resumption 和 TLS early data 这些技术来改善连接的速度吗? Python 自带的 ssl 模块似乎不直接支持这些技术, 我尝试将 TLS 协议版本设置为 TLS1.2 并使用 session ticket 进行连接恢复,但是还是没有任何改善

    9 replies    2019-10-10 19:50:13 +08:00
    RicardoY
        1
    RicardoY  
    OP
       Oct 10, 2019
    午饭时间捞一下自己..希望有好心人看到吧..
    imWBB
        2
    imWBB  
       Oct 10, 2019 via Android
    想想 是不是 墙的原因
    RicardoY
        3
    RicardoY  
    OP
       Oct 10, 2019 via Android
    @imWBB 我测试了一下 在墙外还是差不多的情况
    allenforrest
        4
    allenforrest  
       Oct 10, 2019
    为啥不用长连接?
    RicardoY
        5
    RicardoY  
    OP
       Oct 10, 2019 via Android
    @allenforrest 一次查询之后会被对端关掉
    allenforrest
        6
    allenforrest  
       Oct 10, 2019   ❤️ 1
    从抓包看,dns.google 的相应太慢了
    响应 SYN 花了 212ms
    响应 Client Hello 花了 210ms
    响应 Change Cipher Spec 花了 213ms
    响应 TLS 建立以后的 DNS 查询请求,花了 220ms

    你 ping 一下 dns.google 看看时延?
    RicardoY
        7
    RicardoY  
    OP
       Oct 10, 2019 via Android
    @allenforrest ping 的时延是 200ms 左右
    allenforrest
        8
    allenforrest  
       Oct 10, 2019
    @RicardoY 那 TLS 本身也没啥好优化的了。。。
    fengtons
        9
    fengtons  
       Oct 10, 2019 via Android   ❤️ 1
    从抓包结果来看正常,TCP 握手 1RTT,SSL 握手 1RTT,TLS1.3 的 1RTT 不包握 TCP 握手的时间,这个不能省。如果使用 early data 的话可以在发送 client hello 的同时将一些数据发出去,这就是 TLS1.3 的 0RTT。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2655 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 03:43 · PVG 11:43 · LAX 20:43 · JFK 23:43
    ♥ Do have faith in what you're doing.