tailscale/derp/derphttp
Brad Fitzpatrick e415991256 derp, derp/derphttp: remove one RTT from DERP setup
* advertise server's DERP public key following its ServerHello
* have client look for that DEPR public key in the response
  PeerCertificates
* let client advertise it's going into a "fast start" mode
  if it finds it
* modify server to support that fast start mode, just not
  sending the HTTP response header

Cuts down another round trip, bringing the latency of being able to
write our first DERP frame from SF to Bangalore from ~725ms
(3 RTT) to ~481ms (2 RTT: TCP and TLS).

Fixes #693

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2020-08-20 14:00:55 -07:00
..
derphttp_client.go derp, derp/derphttp: remove one RTT from DERP setup 2020-08-20 14:00:55 -07:00
derphttp_server.go derp, derp/derphttp: remove one RTT from DERP setup 2020-08-20 14:00:55 -07:00
derphttp_test.go derp: remove a client round-trip waiting on serverInfo 2020-08-17 16:15:22 -07:00
mesh_client.go cmd/derper, derp/derphttp: move bulk of derp mesh code into derphttp 2020-06-15 11:58:10 -07:00