Can't connect to HTTPS site with TCP Fast Open.

Fixed Issue #7726500

Details

Author
Tomohito Y.
Created
May 28, 2016
Privacy
This issue is public.
Found in
  • Microsoft Edge
  • Internet Explorer
Found in build #
14.14352
Reports
Reported by 1 person

Sign in to watch or report this issue.

Steps to reproduce

Can’t connect to the site that supports “TCP Fast Open” with HTTPS.
(ex. Google Search, YouTube, Google Analytics …)

Server: Environment for repro

I deployed a Linux server with above configurations/environments for repo.

root@p-maekawa:~# nginx -v
nginx version: nginx/1.10.0 (Ubuntu)

root@p-maekawa:~# uname -a
Linux p-maekawa 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

root@p-maekawa:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

root@p-maekawa:~# cat /proc/sys/net/ipv4/tcp_fastopen
1027

and enabled HTTPS server with nginx.

Client: Steps to repro

Environment: Surface Pro 4 and a standard desktop PC.

  1. Open https://[Server IP Address]/ in Edge
    • You may can access to the web site at this time.
  2. Disconnect from Ethernet or Wi-Fi
  3. Close all Edge windows.
  4. Connect to Ethernet or Wi-Fi
  5. Open Edge.
  6. Open https://[Server IP Address]/ in Edge
    • Can’t connect after Edge received TCP SYNACK packet with Fast Open Cookie.

Attachments

Comments and activity

  • Microsoft Edge Team

    Changed Assigned To to “Ibrahim O.”

  • Thank you for your feedback. I am having difficulties reproducing this issue on insider preview build 14385. Could you please verify this issue on the latest update? 

    Environment tested:

    • nginx version: nginx/1.10.0 (Ubuntu)

    • Linux io-server-ubuntu 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

    •  DISTRIB_ID=Ubuntu
         DISTRIB_RELEASE=16.04
         DISTRIB_CODENAME=xenial
         DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

    Best regards,
    The MS Edge Team

  • Hi. It seems work well when I tested on Insider Preview build 14372 and 14890 in local private network. :)

    But I’m still having connection problem through the Internet. so, I guess some network routes(ex. apartment, ISP, 4G etc…) have problems for TCP Fast Open.

  • Insider Preview build 14372 and 14890
    Insider Preview build 14372 and 14390

  • Microsoft Edge Team

    Changed Status to “Fixed”

  • Thanks for the update and happy to hear that the issue is no longer reproducible :) I will go ahead and close this bug as fixed now. We continue to welcome more feedback and look forward to hearing from you again soon.

    All the best,

    The MS Edge Team

  • I can actually reproduce this on build 14393.51 With TCP fast open edge acts like youtube is not responding (a.k.a. down). When disabled it works like a charm.

  • Hi Ruud,

    I took a Wireshark capture of a new session to youtube and saw that youtube is not generating a TCP Fast Open cookie.  See the attached image to see the request packet showing the cookie request.

    Here is a presentation from a Microsoft employee giving a quick overview of the protocol and the requests of the Client, Edge in this case, and the Server, youtube.com in this case.  On slide 3, you will see that the server needs to create and send a TCP Fast Open cookie.

    https://www.ietf.org/proceedings/96/slides/slides-96-tcpm-4.pdf

    TCP Fast Open also relies on this feature being supported by all the routers and load balancers in between the client and the server.
    If you would like to run your own testing, these filters are useful:

    tcp.options.tfo   // TCP Fast Open option set.
    tcp.options.tfo.cookie   // a cookie is present in response to the cookie request, i.e. from the Server in this case and required for the feature to work, i.e., the issue in this case.

    Hope this clarifies the issue a little and thank you for the support,

    The MS Edge Team

You need to sign in to your Microsoft account to add a comment.

Sign in