Skip to content

GRPC DNS Resource Record #139

Open
Open
@miekg

Description

@miekg

Greetings,

I want to start a discussion on the following proposal (before I create PR).

Thanks for your time.

GRPC record proposal

RFC 5507 lays down guidelines for how to use the DNS as a service that wants to store information in it. Quoting the Abstract :

Abstract

This note discusses how to extend the DNS with new data for a new
application. DNS extension discussions too often focus on reuse of
the TXT Resource Record Type. This document lists different
mechanisms to extend the DNS, and concludes that the use of a new DNS
Resource Record Type is the best solution.

The whole RFC is a good read, on the topic of prefixing a name, gRPC uses _grpc_config it says in section 3.2 that this creates problems with wildcards.

As such I want to propose we ask IANA for a new RR type with the following name and semantics:

GRPC <version:8 bits> <reserved: 16 bits> <txt-rdata>

Those 8 and 16 bit fields might be overkill and we can just copy the TXT record semantics verbatim.

We drop the _gprc_config prefix and just provision these GRPC records under the name we query. As we own the record type we can also drop the grpc-config= prefix used in the TXT RDATA, simplifying that a bit as well.

I'm willing to do the heavy lifting here and fix up the Go code (I'm most proficient in that
language) and fix a few other inefficiencies in that code path.

Which adds versioning to quickly sort and filter GRPC records. So this new record will only add
a two, one octet fields and for the rest follow the TXT semantics. I.e. intial record will look like:

www.example.org. IN GRPC 0 0 "<json payload>"

if you're initially looking up www.example.org.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions