2016/01/24更新: NTTがx2に増強されたので変更。
2016/04/14更新: China TelecomやChina Unicomは廃止されたようです。API実行時にはまだ出力結果として残っていますが、Customer PortalでBandwidthを見ると、単位がByteになっています。。。
はじめに
SoftLayerの東京DC周りのBackbone構成をもう少し明確にしたかったので、調査してみました。
いちおうSoftLayerのNWサイトには、以下のような記載があるのですが、もうちょっと詳細な構成を確認するのが目的です。
traceroute例
- dar01.tok02 -> bbr01.eq01.tok01 -> シンガポール
Singaporeへtraceroute
# traceroute 119.81.xx.xx
traceroute to 119.81.xx.xx (119.81.xx.xx), 30 hops max, 60 byte packets
1 161.202.xx.xx-static.reverse.softlayer.com (161.202.xx.xx) 1.150 ms 1.081 ms 1.028 ms
2 ae12.dar01.tok02.networklayer.com (161.202.xx.xx) 0.994 ms ae11.dar02.tok02.networklayer.com (161.202.xx.xx) 0.928 ms ae11.dar01.tok02.networklayer.com (161.202.xx.xx) 0.882 ms
3 ae9.bbr01.eq01.tok01.networklayer.com (50.97.xx.xx) 1.619 ms ae8.bbr01.eq01.tok01.networklayer.com (50.97.xx.xx) 1.561 ms 2.166 ms
4 ae1.bbr01.eq01.sng02.networklayer.com (50.97.xx.xx) 81.316 ms 81.281 ms 81.233 ms
5 ae5.dar01.sr03.sng01.networklayer.com (50.97.xx.xx) 81.337 ms 81.293 ms 81.233 ms
(以下略)
- dar01.tok02 -> bbr01.eq01.tok01 -> San Jose
SanJoseへtraceroute
# traceroute 158.85.xx.xx
traceroute to 158.85.xx.xx (158.85.xx.xx), 30 hops max, 60 byte packets
1 161.202.xx.xx-static.reverse.softlayer.com (161.202.xx.xx) 1.376 ms 1.301 ms 161.202.xx.xx-static.reverse.softlayer.com (161.202.xx.xx) 1.243 ms
2 ae11.dar01.tok02.networklayer.com (161.202.xx.xx) 0.408 ms ae11.dar02.tok02.networklayer.com (161.202.xx.xx) 0.427 ms 0.388 ms
3 ae9.bbr01.eq01.tok01.networklayer.com (50.97.xx.xx) 1.053 ms ae8.bbr01.eq01.tok01.networklayer.com (50.97.xx.xx) 1.505 ms ae9.bbr01.eq01.tok01.networklayer.com (50.97.xx.xx) 0.957 ms
4 ae2.bbr02.eq01.sjc02.networklayer.com (50.97.xx.xx) 100.066 ms 100.024 ms 105.881 ms
5 ae6.dar01.sjc01.networklayer.com (50.97.xx.xx) 95.490 ms 95.437 ms ae5.dar02.sjc01.networklayer.com (173.192.xx.xx) 95.376 ms
(以下略)
- dar02.tok02 -> bbr01.eq01.tok01 -> Sydney
Sydney
# traceroute 168.1.xx.xx
traceroute to 168.1.xx.xx (168.1.xx.xx), 30 hops max, 60 byte packets
1 161.202.64.34-static.reverse.softlayer.com (161.202.xx.xx) 13.152 ms 161.202.64.35-static.reverse.softlayer.com (161.202.xx.xx) 13.035 ms 12.843 ms
2 ae12.dar02.tok02.networklayer.com (161.202.xx.xx) 5.022 ms ae11.dar02.tok02.networklayer.com (161.202.xx.xx) 4.925 ms ae12.dar01.tok02.networklayer.com (161.202.xx.xx) 4.862 ms
3 ae9.bbr02.eq01.tok01.networklayer.com (50.97.xx.xx) 12.516 ms ae8.bbr02.eq01.tok01.networklayer.com (50.97.xx.xx) 12.448 ms 12.374 ms
4 ae0.bbr01.eq01.syd02.networklayer.com (50.97.xx.xx) 117.330 ms 117.253 ms 117.215 ms
5 ae5.dar01.syd01.networklayer.com (50.97.xx.xx) 117.306 ms 117.248 ms 117.172 ms
(以下略)
- dar02.tok02 -> bbr02.eq01.tok01 -> Hong Kong
HongKongへtraceroute
# traceroute 119.81.xx.xx
traceroute to 119.81.xx.xx (119.81.xx.xx), 30 hops max, 60 byte packets
1 161.202.xx.xx-static.reverse.softlayer.com (161.202.xx.xx) 1.112 ms 161.202.xx.xx-static.reverse.softlayer.com (161.202.xx.xx) 0.983 ms 161.202.xx.xx-static.reverse.softlayer.com (161.202.xx.xx) 0.968 ms
2 ae12.dar02.tok02.networklayer.com (161.202.xx.xx) 0.869 ms ae12.dar01.tok02.networklayer.com (161.202.xx.xx) 0.850 ms ae12.dar02.tok02.networklayer.com (161.202.xx.xx) 0.748 ms
3 ae8.bbr02.eq01.tok01.networklayer.com (50.97.xx.xx) 1.260 ms ae9.bbr02.eq01.tok01.networklayer.com (50.97.xx.xx) 1.230 ms ae8.bbr02.eq01.tok01.networklayer.com (50.97.xx.xx) 1.182 ms
4 ae0.bbr01.pn01.hkg01.networklayer.com (50.97.xx.xx) 47.372 ms 47.334 ms 48.768 ms
5 ae5.dar01.hkg02.networklayer.com (50.97.xx.xx) 49.031 ms 47.006 ms 48.932 ms
(以下略)
コード例
getBackbone.py
import SoftLayer
from prettytable import PrettyTable
client = SoftLayer.create_client_from_env()
_mask = '''
health,
location,
networkComponent
'''
table = PrettyTable([
'id',
'capacity',
'health',
'name',
'location',
'fqdn'
])
backbones = client['Network_Backbone'].getAllBackbones(mask='health,location,networkComponent')
backbones = sorted(backbones, key=lambda x: x['location']['name'])
for bb in backbones:
if ('capacity' in bb and
'health' in bb and
'name' in bb and
'location' in bb and
'networkComponent'in bb):
table.add_row([bb['id'],
bb['capacity'],
bb['health'],
bb['name'],
bb['location']['longName'],
bb['networkComponent']['hardware']['fullyQualifiedDomainName']])
print table
result
+-----+----------+--------+-------------------------------+---------------+--------------------------------+
| id | capacity | health | name | location | fqdn |
+-----+----------+--------+-------------------------------+---------------+--------------------------------+
(途中略)
| 332 | 20 | Up | NTT 1 | Tokyo 1 | bbr01.eq01.tok01.softlayer.com |
| 334 | 10 | Up | Equinix Peering | Tokyo 1 | bbr02.eq01.tok01.softlayer.com |
| 365 | 10 | Up | Telstra 1 | Tokyo 1 | bbr01.eq01.tok01.softlayer.com |
| 387 | 10 | Up | JPNAP Peering | Tokyo 1 | bbr01.eq01.tok01.softlayer.com |
| 389 | 10 | Up | BBIX Peering | Tokyo 1 | bbr01.eq01.tok01.softlayer.com |
| 391 | 10 | Up | PCCW 1 | Tokyo 1 | bbr02.eq01.tok01.softlayer.com |
| 393 | 10 | Up | Pacnet 1 | Tokyo 1 | bbr02.eq01.tok01.softlayer.com |
| 513 | 10 | Up | China Telecom | Tokyo 1 | bbr01.eq01.tok01.softlayer.com |
(途中略)