Skip to content

Commit

Permalink
Merge pull request #73 from tfpauly/tfpauly-patch-5
Browse files Browse the repository at this point in the history
Make charter more concise
  • Loading branch information
tfpauly authored Jan 23, 2025
2 parents 7ee6052 + 588437c commit 12792a8
Showing 1 changed file with 22 additions and 37 deletions.
59 changes: 22 additions & 37 deletions charter.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
## HAPPY WG (Heuristics and Algorithms to Prioritize Protocol deploYment)

RFC 8305 defined “Happy Eyeballs Version 2”, which described a client algorithm
for asynchronous resolution of and connection attempts to different server IP
address options, aiming to improve IPv6 usage without degrading connection
establishment success rates due to misconfigured networks, clients, or servers.
The algorithm focused specifically on optimizing TCP connection establishment.
The name “happy eyeballs” itself refers to how a user’s eyeballs are happier
when content loads more quickly because they don’t need to wait for timeouts
due to misconfigured deployments.
RFC 8305 defined “Happy Eyeballs Version 2”, a client algorithm for resolving
and connecting to a server with different server IP address options, aiming
to improve IPv6 usage without degrading connection success rates due to
misconfigured networks, clients, or servers.

Since the publication of RFC 8305, several changes to common protocols, clients, and
server deployments have occurred that require a revision of the algorithm. Some
Expand All @@ -16,50 +12,39 @@ of these include:
- Standardization and increased use of QUIC, which require updating the
TCP-specific parts of Happy Eyeballs.
- Introduction of Service Binding DNS resource records (SVCB and HTTPS RRs) that
provide richer information about available services and record priorities
and change the selection and sorting of addresses for Happy Eyeballs.
provide richer service information and add priorities and parameters that
will change the sorting of addresses for Happy Eyeballs.
- Preparations for the standardization of TLS Encrypted Client Hello, which
can impact which servers a client is willing to connect to based on available
security properties.
- Increased deployment and refinement of IPv6-only and IPv6-mostly networks.

The HAPPY working group will deliver an updated version of the Happy Eyeballs
algorithm, "Happy Eyeballs Version 3", that incorporates changes to account for
these protocol developments. The working group will focus on realistic network
scenarios and should be guided by performance data measured in deployed networks.
these developments. The working group will focus on realistic network
scenarios and performance data measured in deployed networks.
Although the algorithm needs to be generally applicable, platform-specific or
deployment-specific considerations should be included in the core algorithm
document. The algorithm should have tunable input values that can reflect the
preferences of a client implementation; defaults for these input values should
be based on working group consensus for standard behavior (such as preferring
IPv6 connections, preferring faster establishment times, etc.), but allow for
variation.

There have been a number of documents in which similar Happy Eyeballs-like racing
strategies have been specified, including in Section 4.3 of RFC 9132. An inventory
of such Happy Eyeballs-related use cases and a survey of other applications of
similar concepts are also in scope, which can be included as part of the Happy
Eyeballs Version 3 main deliverable.
document. The algorithm should have tunable input values that allow for variation
between clients, with defaults based on working group consensus for preferred
behaviors.

The working group will also document the impact of the Happy Eyeballs algorithm
on the detection of misconfigured deployments, such as networks with configured
(but non-functional) IPv6 connectivity. It may provide recommendations for methods
or define protocols to report such cases that might otherwise be hidden due to
automatic switching from one technology to another. Any reporting mechanisms
need to preserve user privacy, allow for accurate detection of broken deployments,
and produce reports that are actionable.
(but non-functional) IPv6 connectivity. This can include recommendations for how
to report issues that might otherwise be hidden by the algorithm's automatic
failover. Any reporting mechanisms need to preserve user privacy,
accurately detect broken deployments, and produce actionable reports.

The working group will focus on a connection establishment algorithm that
runs on clients. The algorithm takes as input a fully-qualified domain name
(FQDN), and results in a single established connection to a single server IP
address on a single network. While the algorithm could apply to scenarios with
multiple networks to choose between or to use simultaneously, or could deal
with pools of multiple connections, such scenarios are out of scope for the
working group deliverables.
The Happy Eyeballs Version 3 algorithm will be scoped to connection establishment
that starts with a fully-qualified domain name (FQDN) and ends with a single
established connection to a server. While the algorithm may apply to scenarios
with multiple network links, or pools of multiple connections, specific
mechanisms for such scenarios are out of scope for the working group.

The updated algorithm is expected to have increased cross-functional scope,
beyond the original versions of the algorithm developed in V6OPS. As such, the
HAPPY working group will review its work with groups such as V6OPS, 6MAN, TSVWG,
beyond the original versions of the algorithm developed in V6OPS. The HAPPY
working group will review its work with groups such as V6OPS, 6MAN, TSVWG,
QUIC, HTTPBIS, DNSOP, and TLS. The working group should also coordinate with the
Security Area, specifically around the security considerations for TLS Encrypted
Client Hello and the behavior of the algorithm with secure protocols (TLS, QUIC,
Expand Down

0 comments on commit 12792a8

Please sign in to comment.