As one of the actions from the last RIPE meeting we have been thinking about a nice way to have an automatic update procedure based on DNS. As a trial for this an auto-script has been been produced that loads current AS derived data into zonefiles under the domain aut-num.ripe.net. This has two very nice features straight away. It allows you to see a list of networks associated with an AS. For example...
[mature-tony-1480] host -lt txt as1104.aut-num.ripe.net AS1104.aut-num.ripe.net TXT 192.16.185.0 AS1104.aut-num.ripe.net TXT 192.16.186.0 AS1104.aut-num.ripe.net TXT 192.16.194.0 AS1104.aut-num.ripe.net TXT 192.16.195.0 AS1104.aut-num.ripe.net TXT 192.16.199.0 AS1104.aut-num.ripe.net TXT 192.87.45.0
I've only one comment (I think): for large ASes there will be a lot of text stored for a single label. If you should try using DNS/UDP to query for TXT for this label, default maximum DNS response packet size (512 bytes?) will likely overflow. If the resolver library in use followed the Host Requirements it should notice a truncated response, and retry with TCP, but who has a resolver library which correctly implements this? I'm not sure the resolver library in BIND does this right... Witness the attached output of "dig" and note the "tc" flag. You could use A records instead, I guess, and save some space in the DNS response packets, but this just postpons the problem a short while. I see you already did that (see below), but I still get a truncated response to the as224.aut-num.ripe.net query, so there you go... However, if all you are interested in doing is zone transfers, then TCP is already in use anyway, so maybe this is not of such a great concern. I should however point out that storing massive amounts of information on a single label is fairly "unconventional use" of the DNS (?), which may stress-test some pieces of code in new ways... I'm not sure of what a solution to this problem should be, however, or whether we just ignore the problem. - Havard skarv% dig @mature.ripe.net. as224.aut-num.ripe.net. any ; <<>> DiG 2.0 <<>> @mature.ripe.net. as224.aut-num.ripe.net. any ;; truncated answer ;; response truncated ;; ->>HEADER<<- opcode: QUERY , status: NOERROR, id: 11 ;; flags: qr aa tc rd ra ; Ques: 1, Ans: 58, Auth: 0, Addit: 0 ;; QUESTIONS: ;; as224.aut-num.ripe.net, type = ANY, class = IN ;; ANSWERS: as224.aut-num.ripe.net. 14400 NS mature.ripe.net. as224.aut-num.ripe.net. 14400 SOA mature.ripe.net. hostmaster.ripe.net. ( 93051001 ;serial 14400 ;refresh 1800 ;retry 14400 ;expire 14400 ) ;minim as224.aut-num.ripe.net. 14400 A 32.0.0.0 as224.aut-num.ripe.net. 14400 A 128.39.0.0 as224.aut-num.ripe.net. 14400 A 129.177.0.0 as224.aut-num.ripe.net. 14400 A 129.240.0.0 as224.aut-num.ripe.net. 14400 A 129.241.0.0 as224.aut-num.ripe.net. 14400 A 129.242.0.0 as224.aut-num.ripe.net. 14400 A 132.150.0.0 as224.aut-num.ripe.net. 14400 A 134.47.0.0 as224.aut-num.ripe.net. 14400 A 136.164.0.0 as224.aut-num.ripe.net. 14400 A 139.105.0.0 as224.aut-num.ripe.net. 14400 A 139.111.0.0 as224.aut-num.ripe.net. 14400 A 139.120.0.0 as224.aut-num.ripe.net. 14400 A 144.164.0.0 as224.aut-num.ripe.net. 14400 A 146.172.0.0 as224.aut-num.ripe.net. 14400 A 152.94.0.0 as224.aut-num.ripe.net. 14400 A 155.73.0.0 as224.aut-num.ripe.net. 14400 A 156.116.0.0 as224.aut-num.ripe.net. 14400 A 157.249.0.0 as224.aut-num.ripe.net. 14400 A 158.36.0.0 as224.aut-num.ripe.net. 14400 A 158.37.0.0 as224.aut-num.ripe.net. 14400 A 158.38.0.0 as224.aut-num.ripe.net. 14400 A 158.39.0.0 as224.aut-num.ripe.net. 14400 A 161.4.0.0 as224.aut-num.ripe.net. 14400 A 192.5.46.0 ;; Sent 2 pkts, answer found in time: 305 msec ;; FROM: skarv to SERVER: mature.ripe.net. 192.87.45.6 ;; WHEN: Mon May 10 23:32:43 1993 ;; MSG SIZE sent: 40 rcvd: 1012 skarv%