- From: Eliot Lear <lear@cisco.com>
- Date: Wed, 14 Nov 2012 13:21:51 +0100
- To: "Adrien W. de Croy" <adrien@qbik.com>
- CC: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org>
- Message-ID: <50A38CDF.8040802@cisco.com>
Adrian, My question is how important is it to make use of different transport protocols? I'm asking because there are at least three approaches that we can take to address DNS: 1. SRV. SRV is just fine at providing indirection for host and port, but not for protocol, and not in such a pretty way when a port number is specified. The cost is typically one query per host, which can SOMETIMES be included in additional information, when the zone is the same, and when the client considers additional information. 2. NAPTR combined with SRV. This provides an additional level of indirection to allow the choice of protocol. SIP uses this. The cost is two fold: an additional query plus some additional complexity in terms of processing NAPTR. It also would prove challenging to handle the case where different HTTP servers are running on the same host. 3. An as-of-yet undefined record that describes what services are running over what protocols on a host. Think of it as the old WKS record on steroids. I've actually spec'd out the record and written some code for bind to test this idea, but it has its own set of costs: the first – and biggest – is that it scales linearly with the number of services that are to be advertised for a given host. Put another way: you could just see the advice in an applicability statement "don't use me unless you really have to." One other note about SRV: Use of SRV of any form with regard to TLS would require a substantial change in how we clients validate hostnames. I tell you from personal experience that having a new SAN "Other" type is *not* an easy thing to ask of CAs. Comments please? Eliot On 11/14/12 9:05 AM, Adrien W. de Croy wrote: > > IMO it's a real shame that the designers of the SRV record decided to > code the transport protocol into the record name, rather than the > record data. > > It means the client must pre-suppose what the transport protocol must > be before doing the lookup, whereas if the transport were in the > record, it would become server-driven, and extensible, e.g. add > tls-over-tcp to indicate that the server is available over tls on tcp. > > Then you'd just look up something like _service.name and get back > everything you needed to make a connection, e.g. the server, transport > and sub-channel (e.g. port number or whatever describes the > sub-channel for the transport). > > Adrien > > ------ Original Message ------ > From: "Eliot Lear" <lear@cisco.com> > To: "ietf-http-wg@w3.org Group" <ietf-http-wg@w3.org> > Sent: 14/11/2012 4:07:18 a.m. > Subject: on DNS records >> As I promised last week, I've substantially developed a draft (and >> some code) to look more closely at whether a DNS record can be >> helpful. Before I get it out there, I wanted to check goals. The >> situation is this: there is a 2.0-enabled client and it must >> determine whether or not the other end can speak 2.0. Gabriel and >> Willy have already shown us that it can be done INSIDE the protocol >> at the expense of one roundtrip, but at the risk of a proxy doing the >> wrong thing (a classic case being that it allows an Upgrade: header >> but then barfs all over the upgrade). So let's state our goals: >> >> 1. Keep latency down. >> >> * First, is this a reasonable goal? >> * Can it reasonably be done better than what Willy & Gabriel have >> laid out? >> >> 2. Transport Protocol Discovery >> >> * Some have suggested that it would be useful to do HTTP over UDP >> or SCTP. Is that something that is a reasonable goal? >> >> 3. Handle the case where multiple instances of the same application >> protocol reside on the same host, but on different ports. >> >> * Is this a reasonable goal? >> >> 4. No new URI schema >> >> * Address the 'side of the bus' problem. >> * Is this a reasonable goal? >> >> >> Does this about cover it? I claim we can solve all four, but not >> easily with SRV. >> >> Eliot
Received on Wednesday, 14 November 2012 12:22:24 UTC