Service Name Resolution Protocol (SNRP)

 

Name resolution -

DNS for the new protocols. A name identifies both a server and a service. It might be something like http:www.example.com. Also, make the name heriarchical character-by-character. The technical reasons for explicit seperators (like the ".") are long obsolete. Keep the "." as an administrative convention but not a protocol requirement.

Because all destinations are based on names, you can't use a name-based layer-4 protocol to reach the name server. SNRP is a layer-4 protocol directly on top of IPv4 or IPv6. This differs from DNS which sits on top of UDP.

Host sends a name request to an anycast locator assigned to "nearest resolver." Router expected to move it to a nearby resolver. Do we have more than one anycast locator or do we expect the router to figure out that the name server is dead and reroute to the next one? A combination of both?

Resolver machine sends a non-recursive name request to an anycast locator assigned to "nearest root" server. Same issues as nearest resolver. Which anycast LOC(s) are "root dns" should be tunable in case folks want to run more than one DNS system.

Need an option in the query for "ignore cache." This is for when a client has discovered that a LOC has changed before the TTL expires. In this case the authoritative servers should be re-queried and the new results should replace the cached results. The server should still return the cached result to for other queries until the new result comes in just in case the request is lying or wrong.

Response is LOCs for request OR names for referal servers and any LOCs known for them. Recurse until you get the LOCs for the request.

A LOC record is cross between SRV and A/AAAA records. Components include:

Layer-3 protocols are:

Server set::

Unlike an SRV record in the DNS, SNRP discerns between a machine offering multiple locators and multiple machines serving the same name. All of the LOCs associated with a particular machine will be in the same server set.

Ping flag:

The server may have determined that one or more of its locators is usable but malfunctioning for some hosts. For example, there might be a network partition where two transit-free providers have depeered. Marking the ping bit in the LOC record instructs the client to perform a reachability test before attemtping to use this LOC instead of blindly including it and reacting to the subsequent communication failure. If a ping confirms its availability then treat it the same as other LOCs at the same priority.

 

A public key (PK) record has these components:

Public keys are used to encrypt sessions between

If the name in question has a DNS server but no SNRP server, the SNRP resolver should attempt to synthesize a SNRP record from the DNS. In such a case it will strip everything up to the first ":" (by convention the service name) before querying the DNS for AAAA and A records. If the service name was "smtp" it will follow any DNS MX records first. The result will return as an IPv4 classic / IPv6 classic type locator.

 

Name registration -

Send a registration packet via anonymous connectionless protocol to the registration service at the name which matches your domain. Send another to clear a deprecated LOC or add a fresh LOC.

Standardize AAA for registrations or not? My hunch is create a AAA framework in the base protocol but no AAA mechanisms.

 

Notes: this protocol is very much like DNS. It may be possible to re-use large portions of the existing DNS code.