EdgeRouter製品におけるIPv6トンネル接続のスループット

目次

概要

本記事では、Ubiquiti Networks社が提供するEdgeRouter製品でIPv6トンネル接続を行った場合のスループットについてまとめます。

検証機器

次のリストに示すデバイスでテストを行いました。

  • EdgeRouter-X
  • EdgeRouter-Lite
  • EdgeRouter-8
  • EdgeRouter-4

検証環境

検証に使用するトンネル接続には、IPIP6及びIP6GREを使用し、スループットの計測はiperf3を使用して計測を行いました。
構成はローカルでP2Pで接続されたIPv6ネットワーク上に検証機器で示したデバイスを接続しています。
また、対向のデバイスは一般的なラックマウントサーバにVyOSをインストールして使用し、計測上のボトルネックとならないことを確認しています。

なお、都合上、検証機器上にiperf3サーバを立てる形で計測しています。そのため、多少の負荷がルータにかかる状態である点に注意してください。

計測結果

Model IPIP6 IP6GRE 備考:CPU
EdgeRouter-X 136Mbps 138Mbps MediaTek MT7621AT (880 MHz, 2 cores)
EdgeRouter-Lite 85Mbps 84Mbps Cavium CN5020 (500 MHz, 2 cores)
EdgeRouter-8 243Mbps 246Mbps Cavium CN6120 (880 MHz, 2 cores)
EdgeRouter-4 912Mbps 914Mbps Cavium CN7130 (1 GHz, 4 cores)

まとめ

計測結果より、搭載されているCPUの世代やクロックがスループットに大きく影響していることが読み取れます。
加えて、EdgeRouter-4はファンレスで消費電力もEdgeRouter-8と比べると各段と少なく、とにかく性能が欲しい場合には選択肢の1つとなるでしょう。
もちろん、国内でも容易に入手可能で安価なEdgeRouter-Xでもそれなりのスループットが確保できると言えるため、選択肢として十分有力でしょう。

参考になれば幸いです。

NTT西日本 フレッツ光でNGN網内のRTT計測結果

目次

概要

フレッツ光を契約し、フレッツ・v6オプションを申し込むことで利用できるNGN網内での通信について、RTT(ラウンドトリップタイム)を計測したので、その結果をまとめます。

計測環境

  • エリア:NTTフレッツ西日本管内
  • 計測拠点:
    • 京都府京都市内A(以下KYT-Aと表記)
    • 京都府京都市内B(以下KYT-Bと表記)
    • 京都府京都市内C(以下KYT-Cと表記)
    • 大阪府南部(以下OSKと表記)
    • 島根県松江市(以下SMNと表記)

なお、拠点「KYT-A」及び拠点「KYT-B」については、地理的状況から同じ局舎へ収容されているものと推定しています。
加えて、諸事情により全拠点間を網羅的にテストはしていません。

計測方法

  • フレッツ・v6オプションによるIPv6アドレスを収容しているルータ機器間で、ICMPを用いて計測
  • 特に明記がない場合はすべてIPv6のみで通信
  • ICMPでのテストは各10回実行(-cオプションで10を指定)

京都府内での計測結果

まず、地理的に同じ局舎へ収容されていると推定される拠点「KYT-A」と拠点「KYT-B」間での計測結果が次のようになります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo ping6 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX -c 10
PING 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX(240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX) 56 data bytes
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=1 ttl=61 time=2.35 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=2 ttl=61 time=2.23 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=3 ttl=61 time=2.80 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=4 ttl=61 time=2.38 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=5 ttl=61 time=2.39 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=6 ttl=61 time=2.42 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=7 ttl=61 time=2.97 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=8 ttl=61 time=2.83 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=9 ttl=61 time=3.02 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=10 ttl=61 time=2.76 ms

--- 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 2.236/2.619/3.029/0.277 ms

平均値が 2.619ms となっています。

続いて、拠点「KYT-A」と拠点「KYT-C」間での計測結果です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo ping6 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX -c 10
PING 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX(2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX) 56 data bytes
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=1 ttl=61 time=2.76 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=2 ttl=61 time=2.40 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=3 ttl=61 time=2.74 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=4 ttl=61 time=2.79 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=5 ttl=61 time=2.69 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=6 ttl=61 time=2.18 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=7 ttl=61 time=2.73 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=8 ttl=61 time=2.78 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=9 ttl=61 time=2.20 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=10 ttl=61 time=2.81 ms

--- 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 2.188/2.612/2.813/0.240 ms

平均値が 2.612ms となっています。

最後に、拠点「KYT-B」と拠点「KYT-C」間での計測結果です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ sudo ping6 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX -c 10
PING 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX(240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX) 56 data bytes
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=1 ttl=61 time=2.65 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=2 ttl=61 time=2.65 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=3 ttl=61 time=2.79 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=4 ttl=61 time=3.24 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=5 ttl=61 time=2.77 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=6 ttl=61 time=3.18 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=7 ttl=61 time=2.66 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=8 ttl=61 time=2.79 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=9 ttl=61 time=3.21 ms
64 bytes from 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=10 ttl=61 time=2.68 ms
--- 240b:250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 2.654/2.866/3.245/0.241 ms

平均値が 2.866ms となっています。

京都大阪間での計測結果

拠点「KYT-A」と拠点「OSK」間での計測結果です。
大阪側の計測拠点は「大阪府南部地域」にあります。京都市内-大阪市内間のおおよそ2倍の物理的距離があります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo ping6 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX -c 10
PING 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX(2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX) 56 data bytes
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=1 ttl=58 time=6.20 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=2 ttl=58 time=6.10 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=3 ttl=58 time=6.07 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=4 ttl=58 time=5.71 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=5 ttl=58 time=6.37 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=6 ttl=58 time=6.28 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=7 ttl=58 time=6.33 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=8 ttl=58 time=6.28 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=9 ttl=58 time=6.27 ms
64 bytes from 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=10 ttl=58 time=6.30 ms

--- 2001:a250:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 5.713/6.193/6.377/0.201 ms

平均値が 6.193ms となっています。

京都島根間での計測結果

拠点「KYT-A」と拠点「SMN」間での計測結果です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ sudo ping6 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX -c 10
PING 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX(2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX) 56 data bytes
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=1 ttl=57 time=18.0 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=2 ttl=57 time=18.1 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=3 ttl=57 time=18.1 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=4 ttl=57 time=18.1 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=5 ttl=57 time=18.3 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=6 ttl=57 time=18.3 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=7 ttl=57 time=18.3 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=8 ttl=57 time=17.7 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=9 ttl=57 time=17.8 ms
64 bytes from 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX: icmp_seq=10 ttl=57 time=17.8 ms

--- 2409:253:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 17.774/18.092/18.331/0.218 ms

平均値が 18.092ms となっています。

まとめ

NTT西日本がフレッツ光サービス内で提供するNGN網でのRTTの計測を行いました。
京都市内での計測データでは、2.5~3.0ms程度となっています。
これらの3拠点は地理的に非常に近いため、このような数値が出るのは納得できます。
なお、拠点「KYT-A」と拠点「KYT-B」間でISPより割当されるIPv4アドレスを用いて行ったテストでは、平均値は10.638msとなっており、ISP間でトランジットされていると考えれば至極妥当な結果となっていました。

また、京都大阪間がおよそ6ms程度である事が分かりました。
大阪側の拠点は大阪市内ではなく大阪府南部地域にあります。物理的距離は大阪市内までの距離のおよそ2倍程度あります。
この2拠点間でのIPv4でのテスト結果の平均値は7.751msとなっており、NGN網内での優位性をさほど感じられませんでした。
理由として、この2拠点は共に同じISPを利用してIPv4アドレスの割当を受けており、外部とのトランジット無しでISP内のみで通信が行われていると考えられます。

加えて、京都島根間では18ms以上かかる事が分かりました。

これらの結果の平均値を、物理的な直線距離とあわせてグラフにしたものが以下になります。
実際には、網内で通過する機器数やその機器の伝送遅延等が異なると考えられ、また、サンプル数が非常に少ない為あてになるとは言えません。
(青点が各計測結果、青破線は近似直線を示しています。)

ある程度距離に対して比例の関係にあるように見えますが、やはりサンプル数が少ないため参考程度にとどめておくべきでしょう。

個人的な感想としては、光で通信しているにしてはかなり遅いという印象を受けました。
NGN網内で様々な機器を通過し、その伝送遅延が大きいためでしょうか。

今後も、計測可能な対象があれば計測してみたいと思います。

EdgeRouterでIPIP6やIP6GREを設定する

目次

概要

本記事では、Ubiquiti Networks社が提供しているEdgeRouterにおける、IPIP6トンネルやIP6GREトンネルの設定について、例を示します。
なお、EdgeRouterで使用されるEdgeOSのバージョンは v2.0.9-hotfix.1 を使用したものです。

IPIP6

IPIP6はIPv4 over IPv6となります。
IPIP6の設定例は次のようになります。

1
2
3
4
set interfaces ipv6-tunnel v6tun0 address 10.0.0.0/31
set interfaces ipv6-tunnel v6tun0 encapsulation ipip6
set interfaces ipv6-tunnel v6tun0 local-ip 'fd00::1'
set interfaces ipv6-tunnel v6tun0 remote-ip 'fd00::2'

上記の設定項目については、次のようになります。
address v6tun0が持つトンネル内の終端IPアドレスを指定します。
encapsulation トンネル方式を指定します。この例ではipip6を使用します。
local-ip トンネル接続に使用する自IPv6アドレスを指定します。
remote-ip トンネル接続に使用する対抗側のIPv6アドレスを指定します。

上記設定を施したのち、 show interfaces ipv6-tunnel を実行した結果を以下に示します。

1
2
3
4
5
6
ipv6-tunnel v6tun0 {
address 10.0.0.0/31
encapsulation ipip6
local-ip fd00::1
remote-ip fd00::2
}

IP6GRE

IP6GREの設定例は次のようになります。

1
2
3
4
set interfaces ipv6-tunnel v6tun0 address 10.0.0.0/31
set interfaces ipv6-tunnel v6tun0 encapsulation ip6gre
set interfaces ipv6-tunnel v6tun0 local-ip 'fd00::1'
set interfaces ipv6-tunnel v6tun0 remote-ip 'fd00::2'

上記の設定項目については、次のようになります。
address v6tun0が持つトンネル内の終端IPアドレスを指定します。
encapsulation トンネル方式を指定します。この例ではip6greを使用します。
local-ip トンネル接続に使用する自IPv6アドレスを指定します。
remote-ip トンネル接続に使用する対抗側のIPv6アドレスを指定します。

上記設定を施したのち、 show interfaces ipv6-tunnel を実行した結果を以下に示します。

1
2
3
4
5
6
ipv6-tunnel v6tun0 {
address 10.0.0.0/31
encapsulation ip6gre
local-ip fd00::1
remote-ip fd00::2
}

About

インフラエンジニア
主に作業ログ

About Me

Recent Posts