RFC 7286
Application-Layer Traffic Optimization (ALTO) Server Discovery
RFC 7286: Application-Layer Traffic Optimization (ALTO) Server Discovery π¦
okay so the title block first π this one came from the Internet Engineering Task Force (IETF), and it's a Standards Track doc, so it's an actual spec, not just an idea π₯ it was published in November 2014 (ISSN 2070-1721). the authors are S. Kiesel (University of Stuttgart), M. Stiemerling (NEC Europe Ltd.), N. Schwan (Thales Deutschland), M. Scharf (Alcatel-Lucent Bell Labs), and H. Song (Huawei) π the header has no Obsoletes or Updates line, so it doesn't list anything it replaces or amends.
Abstract β¨
ALTO is all about helping apps pick the right host π§ when they have a bunch of candidates that can all provide the same resource. the catch is that ALTO is a client-server protocol, so before an ALTO client can ask for guidance, it has to find one or more ALTO servers first π«Ά
this doc lays out how to do that discovery for resource-consumer-initiated ALTO server discovery, which works when the ALTO client lives inside the resource consumer π
Status of This Memo πΈ
this is an Internet Standards Track document π
it's a product of the IETF, which means it reflects the consensus of the IETF community. it got public review and was approved for publication by the Internet Engineering Steering Group (IESG). if you want more on Internet Standards, check Section 2 of RFC 5741 π
for the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc7286 π
Copyright Notice π
Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. π¦
this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they stood on the publication date. read those carefully, because they spell out your rights and restrictions for this doc π«Ά if you pull Code Components out of this doc, they have to include the Simplified BSD License text (see Section 4.e of the Trust Legal Provisions), and they come with no warranty, per the Simplified BSD License π
Table of Contents π
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology and Requirements Language . . . . . . . . . . 3
2. ALTO Server Discovery Procedure Overview . . . . . . . . . . 3
3. ALTO Server Discovery Procedure Specification . . . . . . . . 4
3.1. Step 1: Retrieving the Domain Name . . . . . . . . . . . 5
3.1.1. Step 1, Option 1: Local Configuration . . . . . . . . 5
3.1.2. Step 1, Option 2: DHCP . . . . . . . . . . . . . . . 5
3.2. Step 2: U-NAPTR Resolution . . . . . . . . . . . . . . . 6
4. Deployment Considerations . . . . . . . . . . . . . . . . . . 7
4.1. Issues with Home Gateways . . . . . . . . . . . . . . . . 7
4.2. Issues with Multihoming, Mobility, and Changing IP
Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6.1. Integrity of the ALTO Server's URI . . . . . . . . . . . 9
6.2. Availability of the ALTO Server Discovery Procedure . . . 11
6.3. Confidentiality of the ALTO Server's URI . . . . . . . . 11
6.4. Privacy for ALTO Clients . . . . . . . . . . . . . . . . 12
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.1. Normative References . . . . . . . . . . . . . . . . . . 12
7.2. Informative References . . . . . . . . . . . . . . . . . 13
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 14
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
1. Introduction π
okay so ALTO's whole goal is giving apps guidance when they need to choose one or several hosts from a set of candidates that can all provide a desired resource [RFC5693] π ALTO is a client-server protocol (see requirement AR-1 in [RFC6708]), so an ALTO client needs to discover one or more ALTO servers that can guide this specific client before it can ask for anything β¨
this doc covers a discovery procedure for resource-consumer-initiated ALTO server discovery, which works when the ALTO client is embedded in the resource consumer π§ in other words, this doc meets requirement AR-32 in [RFC6708], and AR-33 is out of scope π the third-party version (AR-33, aka third-party ALTO server discovery) is covered in [3PDISC] πΈ
if you want to dig into where all the functional pieces of the overall ALTO architecture can go, [ALTO-DEPLOY] has a much deeper look π₯
the ALTO protocol spec [RFC7285] is built on HTTP and expects discovery to give back the HTTP(S) URI of an ALTO server's Information Resource Directory (IRD) π so this procedure mixes the Dynamic Host Configuration Protocol (DHCP) or local configuration with URI-enabled Naming Authority Pointer (U-NAPTR) resource records in the Domain Name System (DNS) to deliver those URIs π«Ά
1.1. Terminology and Requirements Language
this doc uses the ALTO terminology defined in [RFC5693] π
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119] π§
2. ALTO Server Discovery Procedure Overview π¦
so the ALTO protocol spec [RFC7285] expects the discovery procedure to hand back the HTTP(S) URI [RFC7230] of the ALTO server's IRD π and that IRD tells you what capabilities and services that server offers β¨
on hosts with more than one interface or address family (IPv4/v6), you have to run the ALTO server discovery procedure for every single interface and address family π more details are in Section 4.2 π
the procedure happens in two steps π
- One DNS domain name gets retrieved for each combination of interface and address family. That can come from local configuration (like typing it into a menu or a config file) or from DHCP πΈ
- Those DNS domain names feed into U-NAPTR lookups, which give back one or more URIs. Extra DNS lookups might be needed to figure out the ALTO server's IP address(es) π
DHCP is the main way to get the DNS domain name π«Ά but sometimes DHCP isn't available or doesn't return anything useful, and sometimes a user just wants to override what DHCP would give them π in those cases, local configuration can be used β¨ so the algorithm checks for a locally configured override first, and only then tries DHCP π
the DNS domain name is usually (but not always) the domain the client is sitting in. a PTR lookup on the client's IP address (per [RFC1035], Section 3.5 for IPv4 or [RFC3596], Section 2.5 for IPv6) would give a similar name π§ BUT, because Network Address Translation (NAT) is everywhere, trying to get the DNS domain name through a PTR lookup on an interface's IP address is not recommended for resource-consumer-initiated ALTO server discovery (see also [RFC3424]) π«π
3. ALTO Server Discovery Procedure Specification π
like we already covered in Section 2, the ALTO server discovery procedure runs for every address family on every interface the application is considering for talking to resource providers π¦
first, the algorithm checks for a locally configured domain name, as covered in Section 3.1.1 π if none was configured, it tries to get one from DHCP, as covered in Section 3.1.2 π«Ά if it still can't find a domain name, the procedure has failed and ends with an appropriate error code π
if it finds one or more domain names, they get used as U-NAPTR/DDDS (URI-Enabled NAPTR/Dynamic Delegation Discovery Service) [RFC4848] application-unique strings for a DNS lookup, as covered in Section 3.2 π
3.1. Step 1: Retrieving the Domain Name πΈ
3.1.1. Step 1, Option 1: Local Configuration β¨
the preferred way to get a domain name tied to an interface's point of network attachment is DHCP (see Section 3.1.2) π BUT sometimes there's no DHCP server around π and a user might want to use an ALTO service run by someone who isn't the operator of the underlying IP network π so we let the user specify a DNS domain name, for example in a configuration file option π§ here's an example domain name:
my-alternative-alto-provider.example.org
Implementations MAY give the user the opportunity (e.g., by means of configuration file options or menu items) to specify an individual domain name for every address family on every interface. π
Implementations SHOULD allow the user to specify a default name that is used if no more specific name has been configured. π«Ά
3.1.2. Step 1, Option 2: DHCP π¦
network operators can provide the domain name for service discovery inside an access network using DHCP π
RFC 5986 [RFC5986] defines DHCP IPv4 and IPv6 access network domain name options that identify a domain name suitable for service discovery within the access network π RFC 2132 [RFC2132] defines the DHCP IPv4 domain name option π this one is less suitable, but it can still be useful if the RFC 5986 option isn't available π
for IPv6, the ALTO server discovery procedure MUST try to retrieve DHCP option 57 (OPTION_V6_ACCESS_DOMAIN). if that option can't be retrieved, the procedure fails for this interface π for IPv4, the ALTO server discovery procedure MUST try to retrieve DHCP option 213 (OPTION_V4_ACCESS_DOMAIN). if that one can't be retrieved, the procedure SHOULD try to retrieve option 15 (Domain Name) π₯ if neither option can be retrieved, the procedure fails for this interface π if a result does come back, it gets used as the input for the next step (U-NAPTR resolution) β¨ one example result could be:
example.net
3.2. Step 2: U-NAPTR Resolution
Okay so step 1 handed us one domain name, or β¨ if you've got multiple interfaces and/or you're dual-stack (IPv4 + IPv6), several of them π. Each one becomes a U-NAPTR/DDDS (URI-Enabled NAPTR/Dynamic Delegation Discovery Service) [RFC4848] application unique string. Here's an example:
example.net
In step 2, the discovery procedure runs a U-NAPTR [RFC4848] lookup using the "ALTO" Application Service Tag and either the "http" or the "https" Application Protocol Tag π¦. The goal is to get one or more URIs (protocol, host, and maybe path bits) pointing to the ALTO server's Information Resource Directory. Only HTTP and HTTPS URI schemes are defined in this doc, because the ALTO protocol spec covers access over those two and nothing else [RFC7285] πΈ. Also, the result can be any valid HTTP(S) URI, so keep your eyes open π.
Two U-NAPTR resource records that map "example.net" to the HTTPS URIs "https://alto1.example.net/ird" and "https://alto2.example.net/ird" look like this, with the first one preferred π :
example.net.
IN NAPTR 100 10 "u" "ALTO:https"
"!.*!https://alto1.example.net/ird!" ""
IN NAPTR 100 20 "u" "ALTO:https"
"!.*!https://alto2.example.net/ird!" ""
If no ALTO-specific U-NAPTR records can be retrieved, the discovery procedure fails for that domain name (and the matching interface and IP protocol version). That's it, that's the whole failure era π.
If there are more domain names from Step 1, the procedure may run those U-NAPTR lookups right away π. But before retrying a lookup that failed, a client MUST wait a time period that fits the error it hit (NXDOMAIN, timeout, etc.) β³. No spamming the DNS, bestie π ββοΈ.
4. Deployment Considerations π
4.1. Issues with Home Gateways
Section 3.1.2 covers a DHCP option that lets the network operator of the ALTO client's network hand over a DNS domain name π. But this only works if that DHCP option actually gets passed from the DHCP server to the host running the ALTO client, AND that host understands the option π₯Ί. This memo assumes the client can understand the proposed DHCP option. If it can't, the DHCP option is basically useless to it, and the client has to use the other proposed mechanisms instead π«Ά.
Home gateways have some well-known DHCP drama πΏ. One issue: unknown DHCP options don't always get passed through some home gateways, so the option just vanishes π».
Another classic problem is home-gateway-specific DNS domain names that "override" the one the network operator gave you π . For example, a host behind a home gateway might get the domain name ".local" instead of "example.net". In general, that domain isn't usable for the server discovery procedure, unless a DNS server in the home gateway resolves the NAPTR lookup correctly (say, through a DNS split horizon approach) π§.
4.2. Issues with Multihoming, Mobility, and Changing IP Addresses
If the user only enters one (default) DNS domain name in the local configuration facility (see Section 3.1.1), then only one set of ALTO servers will ever get discovered, no matter how many interfaces or how much moving around they're doing πΆββοΈ. Especially in mobile scenarios, that can go badly π¬.
The DHCP-based discovery method can find a different set of ALTO servers for each interface and address family (IPv4/IPv6) π. Generally speaking, if a client wants to talk through one of its interfaces using a specific IP address family, it SHOULD query the ALTO server or servers discovered for that exact interface and address family π. How to pick an interface and IP address family, and how to compare results from different ALTO servers, is out of scope for this document π.
Changing the IP address on an interface invalidates the result of the ALTO server discovery procedure π¨. For example, if a mobile host's IP address changes because it moved, it is required to re-run the ALTO server discovery procedure without relying on any info it got earlier π.
DNS on hosts with multiple interfaces has several challenges [RFC6418], and they can mess with ALTO server discovery too π. If DNS resolution happens on the wrong interface, it can return an ALTO server that gives suboptimal or wrong guidance π΅. Finding the best ALTO server for multi-interfaced hosts is outside the scope of this document π ββοΈ.
When you're using a Virtual Private Network (VPN), there's usually no DHCP π. So the user has to type the DNS domain name into the local configuration facility. For good optimization results, that should be a DNS domain name corresponding to the VPN concentrator, not to the user's current location π. Similar considerations apply to Mobile IP π±.
5. IANA Considerations π
IANA has registered the following U-NAPTR [RFC4848] application service tag for ALTO π:
Application Service Tag: ALTO
Intended usage: see [RFC5693] or: "The goal of Application-Layer
Traffic Optimization (ALTO) is to provide guidance to applications
that have to select one or several hosts from a set of candidates
capable of providing a desired resource."
Defining Publication: The specification contained within this
document
Contact information: The authors of this document
Author/Change controller: The IESG
Interoperability considerations: No interoperability issues are
known or expected. This tag is to be registered specifically for
ALTO, which is a new application without any legacy deployments.
Security considerations: see Section 6 of this document.
Related publications: This document specifies a procedure for
discovering an HTTP or HTTPS URI of an ALTO server. HTTP and
HTTPS are specified in [RFC7230]. The HTTP(S)-based ALTO protocol
is specified in [RFC7285].
Application Protocol Tag: This document specifies how to use the
application service tag "ALTO" with the application protocol tags
"http" and "https", which have already been registered in the
relevant IANA registry. Therefore, IANA is not requested by this
document to register any new application protocol tag.
6. Security Considerations π
This is where things get SERIOUS, so pay attention π¨. A high-level discussion of security issues related to ALTO is part of the ALTO problem statement [RFC5693]. A classification of unwanted information disclosure risks, plus specific security-related requirements, can be found in the ALTO requirements document [RFC6708] π.
The rest of this section is about security threats and protection mechanisms for the ALTO server discovery procedure itself π΅οΈββοΈ. Once the ALTO server's URI has been discovered and the ALTO client and ALTO server start talking, the threats and protections in the ALTO protocol specification [RFC7285] apply π«‘.
6.1. Integrity of the ALTO Server's URI
Scenario Description
An attacker could compromise the ALTO server discovery procedure or infrastructure so that ALTO clients discover a "wrong" ALTO server URI π±.
Threat Discussion
This is probably the most serious security concern related to ALTO server discovery π. The discovered "wrong" ALTO server might not be able to guide a given ALTO client at all, or it might give suboptimal or forged info. In the latter case, an attacker could try to use ALTO to mess with traffic distribution in the network or with application performance (see also Section 15.1. of [RFC7285]) πͺοΈ. Plus, a hostile ALTO server could threaten user privacy (see also Section 5.2.1, case (5a) in [RFC6708]) ποΈ.
However, it should also be noted that if an attacker managed to compromise the DHCP and/or DNS servers used for ALTO server discovery (see below), (s)he could launch way more serious attacks, like redirecting various application protocols π©.
Protection Strategies and Mechanisms
The ALTO server discovery procedure has three building blocks (local configuration, DHCP, and DNS), and each one is a possible attack vector π―.
Users might follow "bad advice" that tricks them into manually configuring unsuitable ALTO servers. That problem can't be solved by technical means and is out of scope for this document π ββοΈ.
DHCP is pretty prone to attacks, because of the nature of the protocol π©. As already mentioned, an attacker who can inject forged DHCP replies into the network may do way more harm than just configuring a wrong ALTO server. Best current practices for safely operating DHCP should be followed π‘οΈ.
Another threat is alteration of the DNS records used in U-NAPTR resolution π§¨. If an attacker can modify or spoof any of the DNS records used in the DDDS resolution, that URI could be replaced by a forged one. Applying DNS security (DNSSEC) [RFC4033] helps limit attacks that rely on modifying the DNS records used in U-NAPTR resolution π. Security considerations specific to U-NAPTR are described in more detail in [RFC4848] π.
A related risk is impersonation of the ALTO server (i.e., attacks after the correct URI has been discovered) π. This threat and its protection strategies are discussed in Section 15.1 of [RFC7285]. Note that if Transport Layer Security (TLS) is used to protect ALTO, the server certificate will contain the host name (CN). So only the host part of the HTTPS URI gets authenticated, which is the result of the ALTO server discovery procedure. The U-NAPTR based mapping within the discovery procedure needs to be secured as described above, e.g., by using DNSSEC π.
Users and network operators can also keep an eye on application performance and network traffic patterns for poor performance or abnormalities, on top of the active protections π. If relying on a specific ALTO server's guidance doesn't do better than random outcomes, the use of that ALTO server may be discontinued (see also Section 15.2 of [RFC7285]) ποΈ.
6.2. Availability of the ALTO Server Discovery Procedure
Scenario Description
An attacker could compromise the ALTO server discovery procedure or infrastructure so that ALTO clients can't discover any ALTO server at all π.
Threat Discussion
If no ALTO server can be discovered (even though a suitable one exists), applications have to make their decisions without ALTO guidance π« . ALTO could be temporarily unavailable for lots of reasons, so applications must be prepared for that π§―. Just know that the resulting application performance and traffic distribution will look like a deployment scenario without ALTO at all π.
Protection Strategies and Mechanisms
Operators should follow best current practices to secure their DHCP, DNS, and ALTO servers (see Section 15.5 of [RFC7285]) against Denial-of-Service (DoS) attacks π°π.
6.3. Confidentiality of the ALTO Server's URI
Scenario Description π Okay so the spooky scenario here is that an unauthorized party could run the ALTO server discovery procedure, or sneak in and intercept discovery messages between an authorized ALTO client and the DHCP and DNS servers, just to learn the ALTO server's URI. π³
Threat Discussion π In the ALTO use cases from the ALTO problem statement [RFC5693] and/or the stuff discussed in the ALTO working group, the ALTO server's URI as such has always been treated as public info that doesn't need confidentiality protection. Lowkey no drama here πΈ
Protection Strategies and Mechanisms π No protection mechanisms for this scenario have been provided, because it hasn't been identified as a relevant threat. BUT if a new use case shows up that needs this kind of protection, the suitability of this ALTO server discovery procedure as well as possible security extensions have to be re-evaluated thoroughly. Periodt π«Ά
6.4. Privacy for ALTO Clients
Scenario Description π΅οΈββοΈ An unauthorized party could intercept discovery messages between an ALTO client and the DHCP and DNS servers, and that way figure out that the ALTO client uses (or at least tries to use) the ALTO service. Not iconic of them π
Threat Discussion π¦ In the ALTO use cases from the ALTO problem statement [RFC5693] and/or the ALTO working group discussions, this scenario has not been identified as a relevant threat. Easy pass β¨
Protection Strategies and Mechanisms π Again, no protection mechanisms for this scenario have been provided, since it hasn't been identified as a relevant threat. However, if a new use case comes along that needs this kind of protection, the suitability of this ALTO server discovery procedure as well as possible security extensions have to be re-evaluated thoroughly. Stay alert, bestie π
7. References β¨
7.1. Normative References π
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997,
http://www.rfc-editor.org/info/rfc2119. - [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor Extensions", RFC 2132, March 1997,
http://www.rfc-editor.org/info/rfc2132. - [RFC4848] Daigle, L., "Domain-Based Application Service Location Using URIs and the Dynamic Delegation Discovery Service (DDDS)", RFC 4848, April 2007,
http://www.rfc-editor.org/info/rfc4848. - [RFC5986] Thomson, M. and J. Winterbottom, "Discovering the Local Location Information Server (LIS)", RFC 5986, September 2010,
http://www.rfc-editor.org/info/rfc5986. - [RFC7285] Alimi, R., Penno, R., Yang, Y., Kiesel, S., Previdi, S., Roome, W., Shalunov, S., and R. Woundy, "Application-Layer Traffic Optimization (ALTO) Protocol", RFC 7285, September 2014,
http://www.rfc-editor.org/info/rfc7285.
7.2. Informative References π§
- [3PDISC] Kiesel, S., Krause, K., and M. Stiemerling, "Third-Party ALTO Server Discovery (3pdisc)", Work in Progress, draft-kist-alto-3pdisc-05, January 2014.
- [ALTO-DEPLOY] Stiemerling, M., Kiesel, S., Previdi, S., and M. Scharf, "ALTO Deployment Considerations", Work in Progress, draft-ietf-alto-deployments-10, July 2014.
- [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987,
http://www.rfc-editor.org/info/rfc1035. - [RFC3424] Daigle, L. and IAB, "IAB Considerations for UNilateral Self-Address Fixing (UNSAF) Across Network Address Translation", RFC 3424, November 2002,
http://www.rfc-editor.org/info/rfc3424. - [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, "DNS Extensions to Support IP Version 6", RFC 3596, October 2003,
http://www.rfc-editor.org/info/rfc3596. - [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, March 2005,
http://www.rfc-editor.org/info/rfc4033. - [RFC5693] Seedorf, J. and E. Burger, "Application-Layer Traffic Optimization (ALTO) Problem Statement", RFC 5693, October 2009,
http://www.rfc-editor.org/info/rfc5693. - [RFC6418] Blanchet, M. and P. Seite, "Multiple Interfaces and Provisioning Domains Problem Statement", RFC 6418, November 2011,
http://www.rfc-editor.org/info/rfc6418. - [RFC6708] Kiesel, S., Previdi, S., Stiemerling, M., Woundy, R., and Y. Yang, "Application-Layer Traffic Optimization (ALTO) Requirements", RFC 6708, September 2012,
http://www.rfc-editor.org/info/rfc6708. - [RFC7230] Fielding, R. and J. Reschke, "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, June 2014,
http://www.rfc-editor.org/info/rfc7230.
Acknowledgments π«Ά
Olafur Gudmundsson provided an excellent DNS expert review on an earlier version of this document. Thanks to Tina Tsou for an accurate security review. π
Michael Scharf is supported by the German-Lab project http://www.german-lab.de funded by the German Federal Ministry of Education and Research (BMBF). π©πͺ
Martin Stiemerling is partially supported by the CHANGE project http://www.change-project.eu, a research project supported by the European Commission under its 7th Framework Program (contract no. 257422). The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the CHANGE project or the European Commission. π
Contributors πΈ
The initial version of this document was coauthored by Marco Tomsu. π
Hannes Tschofenig provided the initial input to the U-NAPTR solution part. Hannes and Martin Thomson provided excellent feedback and input to the server discovery. π
The authors would also like to thank the following persons for their contribution to this document or its predecessors: Richard Alimi, David Bryan, Roni Even, Gustavo Garcia, Jay Gu, Xingfeng Jiang, Enrico Marocco, Victor Pascual, Y. Richard Yang, Yu-Shun Wang, Yunfei Zhang, Ning Zong. π₯°
Authors' Addresses π
Sebastian Kiesel
University of Stuttgart Information Center
Networks and Communication Systems Department
Allmandring 30
Stuttgart 70550
Germany
EMail: ietf-alto@skiesel.de
URI: http://www.rus.uni-stuttgart.de/nks/
Martin Stiemerling
NEC Laboratories Europe
Kurfuerstenanlage 36
Heidelberg 69115
Germany
Phone: +49 6221 4342 113
EMail: mls.ietf@gmail.com
URI: http://ietf.stiemerling.org
Nico Schwan
Thales Deutschland
Thalesplatz 1
Ditzingen 71254
Germany
EMail: ietf@nico-schwan.de
Michael Scharf
Alcatel-Lucent Bell Labs
Lorenzstrasse 10
Stuttgart 70435
Germany
EMail: michael.scharf@alcatel-lucent.com
Haibin Song
Huawei
EMail: haibin.song@huawei.com
That's the whole thing, bestie! πβ¨ We made it through the entire RFC 7286 spec, and you now know more about ALTO server discovery than most people ever will. Iconic π π
π¦ where this page comes from
- ietf: rfc7286 2014-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms