Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance DNSLink with something similar to HTTPSSVC records #8194

Closed
RubenKelevra opened this issue Jun 16, 2021 · 1 comment
Closed

Enhance DNSLink with something similar to HTTPSSVC records #8194

RubenKelevra opened this issue Jun 16, 2021 · 1 comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature

Comments

@RubenKelevra
Copy link
Contributor

Currently, it takes a lot of time to find the right data for a website that has a DNSLink record in DNS.

Since most websites are hosted on a known node with a fixed IP/Port and/or NodeID we could reduce the time-to-first-byte significantly with a "hint" record which avoids that a node has to crawl the DHT in most cases.

A node that requests an ipns would also request the SRV-records (for IPFS) for this domain name, which leads to hostnames of the nodes.

Those hostnames can be resolved to A/AAAA records, so the node now knows the port and the IP. We need an additional record type for the Node-ID on the hostnames. The CERT records look like a perfect fit for this.

On the first roundtrip the node would request:

  • A/AAAA record (for HTTPS fallback)
  • IPNS record
  • SRV record (for ipfs)

If there's an SRV record, the second roundtrip would request:

  • the A/AAAA record for these hostnames
  • The CERT records for these hostnames

If both are supplied the node can connect to the IP/Port with a known public key and directly request the IPNS/CID from the specified node.

Since QUIC can deliver the first data on the first roundtrip, we should be able to receive the first byte after the three roundtrips (two to DNS).

@RubenKelevra RubenKelevra added the kind/enhancement A net-new feature or improvement to an existing feature label Jun 16, 2021
@lidel
Copy link
Member

lidel commented Jun 21, 2021

Closing, as I believe this idea is already tracked in:

@lidel lidel closed this as completed Jun 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A net-new feature or improvement to an existing feature
Projects
None yet
Development

No branches or pull requests

2 participants