« 【VPN】 IPsecフラグメントの問題と対策 その4 | Top Page | 【VPN】 通信経路の暗号化が必要な理由 »

Top Page > VPN > IPsec > 【VPN】 IPsecフラグメントの問題と対策 その5

2008年03月21日

【VPN】 IPsecフラグメントの問題と対策 その5

■IPsec化の前にフラグメントをする場合

島田君:
 ちわー。
 今夜もIPsecの実践的な技術について教えて。

マスター:
 今回はIPsec化の前にフラグメントをする方法について解説するよ。

島田君:
 待ってました。

マスター:
 ここまでの話は、GREでカプセリングした後やIPsec化後にフラグメントが発生するから、色々と問題が出てきたんだよね。
 実はCiscoでは2004年頃にはその問題に気づいていて対策を取ってるんだ。

島田君:
 何?まじで?

マスター:
 LAF(Lool Ahead Fragmentation)といって、IOSは12.2(13)Tから対応している機能だよ。
 パケットをIPsec処理する際に、元のパケット長に84byte(ESPオーバヘッドの最大値)を追加したパケット長をチェックし、これがPath MTUサイズを超えていればIPsec処理前にフラグメントを実行するというものだよ。
 このLAFにより、受信側の処理パフォーマンスが7200VXRを使った場合に12Mbpsから70Mbpsに向上したという報告もある。

島田君:
 なんだ、最初からこれを使えばよかったんじゃないの?

マスター:
 そうとも限らないんだよ。
 なぜかというと、LAFはトンネルモードでしか機能せず、トランスポートモードでは使えないからなんだ。
 ヘッダ効率の面からはトンネルモードよりもトランスポートモードのほうが良いので、最適なIP MTU値を手動で計算したほうが良い場合もあるでしょ。

マスター:
 といっても、いちおうLAFについても説明を入れておくよ。
 LAFはcrypto ipsec df-bit { clear | set | copy }の設定と、入力されるパケットのDFビットの状態に大きく依存するよ。

 表に表すとこんな感じになる。

島田君:
 df-bitの後ろのclear,set,copyは、それぞれ、オリジナルのIPヘッダからIPsecのIPヘッダへDF
ビットをどうするかを決めるコマンドという理解で良いよね?

マスター:
 いいよ。
 例えば、入るパケットのDFビットが1で、crypto ipsec df-bit clear ならば、IPsecのIPヘッダのDFビットは0になるということを表しているよ。
 コマンドとしては、crypto ipsec fragmentation before-encryption で、デフォルトでEnableになっているよ。

また、Ciscoの新しいIPsecの手法であるVTI (Virtual Tunnel Interface) でもデフォルトでこの機能はEnableになっている。
動きを調べた結果を示すよ。

(図)Cisco VTI 暗号化アルゴリズム:AES トンネル IP MTU=1427byte(自動的に計算される)
VTIのLAF

 上記の例の場合、PC-Bから送信するデータサイズが1428byte以上だと、IPsecの処理前にフラグメントされる。
 すなわち、フラグメントされたパケットそれぞれがIPsec化されるので、受信側ルータ(Router-C)はIPsecの複合化処理をするだけでよく、フラグメントの再構築は受信端末(PC-C)に任せることができる。
 そのため、受信側ルータ(Router-C)は負荷が軽い。

島田君:
 Cisco以外はどうなの?

マスター:
 NEC IXシリーズとYAMAHA RTXシリーズでも調べたよ。
 NEC IXシリーズは、Ver7.5.59以降でpre-fragmentコマンドが設定できるようになり同様の動きをするし、YAMAHA RTXシリーズは動作確認したVer8.2.40ではやはりIPsec化前にフラグメントする機能が備わっていたよ。

島田君:
 IPsecを使う場合、帯域よりも通信効率を重視する場合はGRE over IPsecトランスポートモードを使って、通信効率よりもパフォーマンスを重視する場合はLAFが使えるGRE over IPsecトンネルモードやVTIを使うと良いってことだね。

マスター:
 その通り。

島田君:
 勉強になったよ。
 これでIPsecについては中上級になったんじゃない?

マスター:
 何を言ってるんだい。
 IPsecに関しては、まだまだ知っておくべき事は山ほどあるよ。
 中上級と呼べるにはまだ先は長いよ。

島田君:
 りょうかい...。


 

トラックバックURL

このエントリーのトラックバックURL:
http://kaztan.homeip.net/cgi-bin/mt/mt-tb.cgi/238

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)