The Pulsar Route Map filter gives users direct and granular control over traffic steering logic. Users can upload custom map files containing specific CIDR IP ranges and their targets and then use the Filter Chain to easily control and automate routing behavior across even the most complex network architectures.
Typically, Pulsar makes traffic steering decisions based on collected GeoIP and ASN data that is updated according to usage patterns. The Route Maps feature gives users direct control over inputs and their expected resolution outcomes via uploaded route map files.
Pulsar Route Map tools allow you to specify which locations are accessible to users based on a declarative data model. This model serves as an overlay used to direct traffic based on specific mappings, overriding the default Pulsar routing behavior. For example, one could use route maps to target individual IP prefixes to make targeted micro corrections for precise BGP traffic steering.
Using the Pulsar Route Map filter, users can upload custom route map files to dictate how users should resolve based on pre-existing mappings or network conditions. The map file contains a table with the defined inputs, and then the route map is activated once applied to a DNS record. Maps that have no corresponding records remain inactive.
The route map associates IP ranges with one or more targets. Targets contain labels that correspond to answers within a record.
When a client requests the location of foo.example.com, NS1’s DNS server steers the request using the following logic:
First, it determines the client IP address based on the EDNS client subnet information (by default). If unavailable, the recursor’s address is used (per RFC).
Next, the server finds a matching network segment (IP range) in the route map associated with the record. If there are multiple segment matches, it uses the one with the longest matching prefix. The matching segment determines one or more targets to use in subsequent steps. For this example, assume the matching network segment is d.e.f.0/24 which has targets: hkg, sin.
Finally, it references each target (i.e., hkg, sin) specified in the map file and searches for answers with the matching target metadata (e.g., hkg). If there are no matching answers for the first target listed in the route map file, then the server will search for answers matching the next listed target (e.g., sin). In the example illustrated above, the resulting DNS answers are 220.127.116.11, 18.104.22.168
It is possible to attach multiple route maps to the same record. In this case, the filter attempts to find a match within the first listed route map. If there is no exact match or the match doesn’t contain a target, it references the following map (and so on) until it locates the matching IP range with associated targets and answers.