Googleの使ってそうなCIDR
なんか国際経路がトラブっているのかGoogleの到達性に問題が発生しているらしいので、BGPとか触っている人間では初歩的なtipsなんだけど、ウェブでは全然みかけないので敢えてCIDRブロックを調べる方法など書いてみる。
まずは普通にDNSを引く
$ host www.google.com www.google.com is an alias for www.l.google.com. www.l.google.com has address 209.85.175.104 www.l.google.com has address 209.85.175.147 www.l.google.com has address 209.85.175.99
で、そのうち一つをピックアップ。例えば、209.85.175.104。で、これがインターネット上でどのASに所属するかを調べる。
方法は2つ。
Internet Routing Registryl(IRR)で索く方法。
$ whois -h jpirr.nic.ad.jp 209.85.175.104 route: 209.85.175.0/24 descr: Google origin: AS15169 notify: noc@google.com mnt-by: MAINT-AS15169 changed: noc@google.com 20060607 source: RADB
で、AS15169に所属していることがわかる。
あるいは、公開されているroute serverで索く。こちらの方が実際に動いている経路を直接索くことになるので、確実である。
route-views.wide.routeviews.org> show ip bgp 209.85.175.104 BGP routing table entry for 209.85.174.0/23 Paths: (3 available, best #2, table Default-IP-Routing-Table) Not advertised to any peer 7500 2497 15169 202.249.2.169 from 202.249.2.86 (203.178.133.115) Origin IGP, localpref 100, valid, external Last update: Sun Feb 24 21:31:50 2008 2497 15169 202.249.2.169 from 202.249.2.169 (58.138.96.143) Origin IGP, localpref 100, valid, external, best Last update: Sun Feb 24 21:22:56 2008 4777 2497 15169 202.249.2.169 from 202.249.2.20 (210.171.224.6) Origin IGP, localpref 100, valid, external Last update: Sun Feb 24 21:23:51 2008
見るべきは、各経路のAS_PATHの一番右にある番号。これが問い合わせたIPアドレスを含むCIDRを広告しているORIGIN ASということになる。もちろん結果は同じでAS15169。
次のステップはこのASから広告されている経路を調べる。
IRRで索くこともできるが、route serverから索いてみる。
具体的なコマンドとしては
show ip bgp regexp 15169$
意味としてはAS_PATHを"15169$"という正規表現で検索するというもの。わざわざ"$"で行末とマッチさせているのは、当該ASを経由する(トランジット)するだけの経路を排除するため。ただし、今回のケースでは恐らくGoogleが他ASに対してトランジットを提供しているとは思えないから結果の大勢には影響ないと思われるが。
で、以下がその結果。
route-views.wide.routeviews.org> terminal length 0 route-views.wide.routeviews.org> show ip bgp regexp 15169$ BGP table version is 0, local router ID is 202.249.2.166 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *p2* 64.233.160.0/19 202.249.2.169 0 7500 2497 15169 i *p3*> 202.249.2.169 0 2497 15169 i *p4* 202.249.2.169 0 4777 2497 15169 i *p5* 64.233.160.0/23 202.249.2.169 0 7500 2497 15169 i *p6*> 202.249.2.169 0 2497 15169 i (snip) Total number of prefixes 131
ということで、合計131経路だと判明する。
あとは適当にスクリプトとかで集計すればOK。
前回を書きましたが、route serverはスクリプトなどの自動取得は禁止されていることが多いので、使用条件を事前にチェックすること。