Changes between Version 11 and Version 12 of NameserverAddressStoreDesign


Ignore:
Timestamp:
Jun 21, 2011, 2:31:23 PM (6 years ago)
Author:
stephen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • NameserverAddressStoreDesign

    v11 v12  
    8080== Miscellanous Considerations ==
    8181=== Choosing the address ===
    82 When a zone is asked for an IP address to contact, it takes all addresses of all nameservers and picks from them. The selection is random, but weighted according to the RTT. The probability of an address is 1/(rtt * rtt) (normalized, so the total of the probabilities is 1).  This algorithm is supported by the "[[Image(placement.pdf)]]", a paper by Somegawa, Cho, Sekiya and Yagamuchi (also published at http://www.sonycsl.co.jp/person/kjc/papers/placement.pdf).
     82When a zone is asked for an IP address to contact, it takes all addresses of all nameservers and picks from them. The selection is random, but weighted according to the RTT. The probability of an address is 1/(rtt * rtt) (normalized, so the total of the probabilities is 1).  This algorithm is supported by a [http://www.sonycsl.co.jp/person/kjc/papers/placement.pdf paper] by Somegawa, Cho, Sekiya and Yagamuchi.
    8383
    8484Initially the nameservers dave RTTs set to 1. This is lower than any realistic RTT; it makes the first lookup random and guarantees that every address is tried at least once.  Thereafter, the lowest RTT is selected each time.  Every time an address is used, the resolver updates the RTT for the address.  To avoid transient effects, the new RTT is a weighted combination of the old RTT and the new RTT.
     
    107107== Processing Algorithm ==
    108108=== Introduction ===
    109 Although the NSAS is a data store, the logic surrounding it handles the issuing of requests to remote nameservers trough the resolver.
     109Although the NSAS is a data store, the logic surrounding it handles the issuing of requests to remote nameservers through the resolver.
    110110
    111111Since the NSAS is capable of processing multiple queries at once, it must be prepared to handle cases where a query is received for information that is in the process of being obtained.  For example, a lookup may be in progress for the nameservers of a zone when another request is received for the address of a nameserver in the zone.  The second request must wait until the nameserver lookup is finished, and must then further wait until the subsequent A/AAAA records have been retrieved, but not trigger additional queries.