Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Use TCP Loopback Fast Path on Windows #420

@benaadams

Description

@benaadams

As the recommended hosting model is to front Kestrel with a reverse proxy server (e.g. HttpPlatformHandler+IIS) which works over localhost, use the TCP Loopback Fast Path on Windows; where it skips the IP layer.

TCP Loopback Fast Path behaviour reference: http://blogs.technet.com/b/wincat/archive/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp-loopback-fast-path.aspx

The only wrinkle is both end-points need the fast path enabled to receive any advantage - so this may need changes to HttpPlatformHandler if it doesn't already have it enabled.

There appears to be no disadvantage to having it enabled but not used (e.g. other socket not enabled).

When it is used the disadvantage is it loops back further up the stack so fewer packsniffers can listen in; depending on where they insert themselves in the stack. Though localhost is problematic for most of them anyway as they generally listen at the inet level.

Related: "Confirm HttpPlatformHandler uses Fast TCP Loopback" aspnet/IISIntegration#29

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions