ブロードバンド・ルーターを用いてIPsecを使って拠点同士をつないで通信している。通信自体は問題なくできているが,ときどきスループットが低下する現象が見られた。LAN回線に流れるIPパケットのサイズとスループットの関係をグラフにしてみたところ,IPパケットが1464バイトを超えたときにスループットが低下していることがわかった。この結果を踏まえ,スループット低下の原因として最も可能性が高いと思われるものを選択肢から一つ選びなさい。

トラフィックとスループットの管理

[選択肢]
a. VPNルーターでNATを使っているから
b. VPNルーターでIPsecを使っているから
c. VPNルーターでDHCP機能を使っているから
d. VPNルーターのLANポートに接続されているケーブル長が長いから
e. VPNルーターのLANポートに接続されているケーブルの品質が悪いから

[解説]
 問18の正解は,選択肢bの「VPNルーターでIPsecを使っているから」です。

 IPsecを使って拠点同士でやりとりされるデータを暗号化する場合には,IPパケットに,暗号通信用のESPヘッダー(8バイト),認証用データ(12バイト),新たなIPヘッダー(20バイト)が付加されて,パケット・サイズが大きくなります。さらに,暗号アルゴリズムの種類や暗号データの大きさによっては,IV(初期ベクトル)やパディングといったデータも付加されます。

 サイズが大きくなったIPパケットをそのままイーサネット回線に送り出す場合,1500バイトを超えるパケットは分割(フラグメント)する必要があります。なぜなら,イーサネットのMACフレームのデータ部分に格納できるデータ・サイズは1500バイトと決まっているからです。

 そうなると,そのパケットの分割作業をVPNルーターで処理する必要が出てきます。パケットを適切なサイズに分割し,それぞれのパケットにヘッダーを付けてMACフレームに組み立て直すという作業になるため,ルーターによってはその作業が処理負荷になってスループットが落ちます(図)。

IPsec利用時のパケット・フォーマット

 また,インターネットにPPPoE(point-to-point protocol over Ethernet)接続をしているケースなども,送信できるIPパケットの最大値は小さくなります。そのため,IPsecで運べるデータ量もそれに応じて少なくなります。フラグメントが発生しない適切なデータ・サイズを設定するには,使っているアプリケーションでデータ・サイズを適切に設定したり,「経路MTU探索」と呼ばれるしくみを使って自動的に最適なデータ・サイズを調べるしくみを取り入れるといった工夫が必要になります。

 NATやDHCPはIPパケットのサイズとは関係ないので,スループットが落ちる原因とは考えられません。ケーブルの長さや品質は,スループット低下の原因としては考えられますが,特定のパケット・サイズのときだけスループットが急に落ちるというケースは考えにくいでしょう。そのため問題の正解は,選択肢bです。