ER-6PのPPPoEスループット

ER-Xと比べて大幅にパワーアップしたER-6Pですが、PPPoEのスループットも理論上の最大値が出るのか念のためテストしてみました。

計測環境

CentOS7 Aをiperf3のクライアント、CentOS7 Bをiperf3のサーバーにし、スループットの測定を行います。テストに使うPPPoEサーバーはMikrotik社のソフトウェアアプライアンス CHR(Cloud Hosted Router)のv6.44.3を使いました。フレッツ環境を意識し、PPPoEサーバーのMTUは1454に設定しています。基本Basic Setupのものですが、MSS clampingを入れるため、以下の設定を追加で入れています。

set firewall modify MSS_CLAMPING_PPPoE rule 10 action modify
set firewall modify MSS_CLAMPING_PPPoE rule 10 modify tcp-mss 1414
set firewall modify MSS_CLAMPING_PPPoE rule 10 protocol tcp
set firewall modify MSS_CLAMPING_PPPoE rule 10 tcp flags SYN
set interfaces ethernet eth0 pppoe 0 firewall in modify MSS_CLAMPING_PPPoE
set interfaces ethernet eth0 pppoe 0 firewall out modify MSS_CLAMPING_PPPoE

検証に使うER-6Pのファームウェアはv1.10.9となります。

計測結果

CentOS7 Aでのiperf3の実行結果が以下となります。-Mオプションを使ってMSSを変えてテストを行っています。消費電力はTAP-TST10での目測値で無負荷時は7.4Wとなります。offloadなしでテストします。

forwaring=disable
pppoe=disable
receiver sender
MSS Mbps CPU 消費電力 Mbps CPU 消費電力
1414(指定なし) 439 57% 8.2W 507 60% 8.3W
1200 380 54% 8.3W 432 60% 8.3W
800 261 54% 8.3W 285 59% 8.3W
400 133 57% 8.3W 143 62% 8.3W

単純ルーティングNAT+firewallで高パフォーマンスを見せていたER-6Pですが、PPPoEだと見る影もありません。以前CentOSでPPPoEを試したと、CPU負荷がかなり高くなり、あり得ないくらいスピードが出なかったことがありましたが、それと同じ現象でしょうか?pppoeがカーネルモードで動いておらず、スピードが出ないといった事象でした。本件については後日時間があれば調べてみようかと思います。まあ、offloadありが本命なので、pppoe=enableを有効にして再度計測してみます。

forwaring=disable
pppoe=enable
receiver sender
MSS Mbps CPU 消費電力 Mbps CPU 消費電力
1414(指定なし) 929 16% 7.7W 935 18% 7.9W
1200 924 16% 7.7W 924 18% 7.9W
800 862 24% 7.7W 890 25% 8.0W
400 768 25% 7.7W 798 28% 7.9W

めちゃくちゃ改善しました!

ER-Xのときもそうでしたが、ER-6Pでpppoe=enableは必須ですね。offloadの影響もあり消費電力も若干ですが改善しています。最後にforwardingもenableにして計測してみます。

forwaring=enable
pppoe=enable
receiver sender
MSS Mbps CPU 消費電力 Mbps CPU 消費電力
1414(指定なし) 935 16% 7.7W 935 18% 7.9W
1200 924 17% 7.7W 924 19% 7.9W
800 887 23% 7.7W 890 25% 8.1W
400 770 25% 7.7W 798 27% 7.9W

ほぼ変化がないですね。forwaring(NAT) offloadの効果は、iperf3のテストということもありあまりありません。

ER-6PのConfig

テストに使ったconfigは、基本Basic Setupで設定したものに、先に説明のMSS Clampingとoffloadを追加設定をしたものとなります。

set firewall modify MSS_CLAMPING_PPPoE rule 10 action modify
set firewall modify MSS_CLAMPING_PPPoE rule 10 modify tcp-mss 1414
set firewall modify MSS_CLAMPING_PPPoE rule 10 protocol tcp
set firewall modify MSS_CLAMPING_PPPoE rule 10 tcp flags SYN
set firewall name WAN_IN default-action drop
set firewall name WAN_IN description 'WAN to internal'
set firewall name WAN_IN rule 10 action accept
set firewall name WAN_IN rule 10 description 'Allow established/related'
set firewall name WAN_IN rule 10 state established enable
set firewall name WAN_IN rule 10 state related enable
set firewall name WAN_IN rule 20 action drop
set firewall name WAN_IN rule 20 description 'Drop invalid state'
set firewall name WAN_IN rule 20 state invalid enable
set firewall name WAN_LOCAL default-action drop
set firewall name WAN_LOCAL description 'WAN to router'
set firewall name WAN_LOCAL rule 10 action accept
set firewall name WAN_LOCAL rule 10 description 'Allow established/related'
set firewall name WAN_LOCAL rule 10 state established enable
set firewall name WAN_LOCAL rule 10 state related enable
set firewall name WAN_LOCAL rule 20 action drop
set firewall name WAN_LOCAL rule 20 description 'Drop invalid state'
set firewall name WAN_LOCAL rule 20 state invalid enable
set interfaces ethernet eth0 description 'Internet (PPPoE)'
set interfaces ethernet eth0 duplex auto
set interfaces ethernet eth0 pppoe 0 default-route auto
set interfaces ethernet eth0 pppoe 0 firewall in modify MSS_CLAMPING_PPPoE
set interfaces ethernet eth0 pppoe 0 firewall in name WAN_IN
set interfaces ethernet eth0 pppoe 0 firewall local name WAN_LOCAL
set interfaces ethernet eth0 pppoe 0 firewall out modify MSS_CLAMPING_PPPoE
set interfaces ethernet eth0 pppoe 0 mtu 1454
set interfaces ethernet eth0 pppoe 0 name-server auto
set interfaces ethernet eth0 pppoe 0 password test
set interfaces ethernet eth0 pppoe 0 user-id ppp1
set interfaces ethernet eth1 address 192.168.100.1/24
set service nat rule 5010 description 'masquerade for WAN'
set service nat rule 5010 outbound-interface pppoe0
set service nat rule 5010 type masquerade
set system offload ipv4 forwarding enable
set system offload ipv4 pppoe enable

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です