このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第204回

チップセット黒歴史 不正アクセスをブロックしない「nForce 4」

2013年05月27日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷

不正アクセスをブロックせず正常アクセスをブロックする
謎のファイアウォール機能「ActiveArmor」

 長々と説明してきたが、この「nForce 4」の2005年頃の紹介ページが、まだウェブアーカイブに残っている(関連リンク)。こちらを見てみると、特徴として以下の項目が並んでいる。

  • NVIDIA SLI Support
  • PCI Express Support
  • SATA Support
  • NVIDIA RAID
  • NVIDIA ActiveArmor
  • NVIDIA Gigabit Ethernet

 このうち、2005年のページにあって現在のページにないのが、今回のテーマである「NVIDIA ActiveArmor」である。実はこのActiveArmorもホワイトペーパーがまだ残っている。単純に言えばActiveArmorとは、TCP/IP Offloading+ハードウェアベースのファイアウォールである。

NIVIDIAのウェブサイトに残されている「NVIDIA ActiveArmor」の解説

 マイクロソフトは2004年9月に公開したWindows XP SP2でファイアウォール機能を標準で搭載したが、これはあくまでもソフトウェアベースのファイアウォールであった。これをハードウェアで行なうとともに、TCP/IP Offloadingも組み合わせることで、特にネットワークゲームを実施中のネットワーク関連のCPU負荷を減らすことで、よりゲームの実行にCPUを割り当てられる、というのがNVIDIAの主張であった。

ActiveArmotの概念図。CPUはアプリケーション処理と、ActiveArmorで判断できないような接続/パケットの処理だけをこなせば良いので処理負荷が減る、という話であった

 そのActive Armorを実際に使うとどうなるかが、黒歴史の始まりである。最初の問題は「逆ファイアウォールとして動く」だ。ActiveArmorを有効にするとMSNに繋がらない、Yahooに繋がらないといった、「正常にアクセスしているはずのサイトへのアクセスをブロック」してくれることに、多くのユーザーがブチ切れて、それ以上ActiveArmorを使わなかったので、実害はそれほどなかった(?)。

 ところがこれを綿密に調べた熱心なユーザーもおり、その結果逆に不正アクセスを全然防いでいない事が発覚した。まさしく「逆ファイアウォール」だったわけだ。まずこれが第1の問題。

 第2の問題は、ActiveArmorを有効にすると、カタログとは逆にCPU占有率が猛烈に上がるという問題が発覚した。これは実はTCP/IP Offloadingの問題と密接に関係している。確かに初期のActive Armorは有効にすると、ファイルのダウンロードなどでCPUの占有率が大幅に下がった(本当かどうかは知らないが、100%→20%になった、なんて掲示板での書き込みもあった)。

 ところがこのCPU負荷低減の大半は、TCP/IP Offloadingによるものだった。そしてTCP/IP Offloadingを有効にすると、パケットが破損するという問題が今度は発見されることになった。破損する、というよりもTCP/IP Offloading Engineがパケットを破壊しているというのが正確な表現だ。

 TCP/IPの場合、パケットが破損したら再送を掛けることでこれを回復しようとするため、たまに何パケットか破損するくらいなら問題はないのだが、結構な頻度でこのパケット破損が発生し、そのたびに再送を掛けることになると、結局実効転送速度がぐんと落ちることになる。

 この問題も比較的早期に発見され、ドライバーを何度もバージョンアップしながら修正に努めた結果、最終的にはTCP/IP Offloading Engineをほとんど使わないことで回避に成功した。これを成功した、というのは正しい表現なのか良くわからないのだが、とにかくパケット破損は格段に減ったのだが、その代償としてCPU占有率が格段に上がることになった。

「nForce 4 SLI Intel Edition」搭載のリファレンスマザーボード

 実際、NVIDIAのGbEを使わずに、PCIeレーン経由でMarvellのGbEコントローラーを外付けにした製品もいくつかあるのだが、MarvellのGbEを使ったほうがCPU負荷が少なくなったそうだ。こうなると、Active Armorのファイアウォール機能も、当然CPU占有率がグンとあがることになる。

 CPU占有率が高く、肝心の不正アクセスをブロックできずに正常アクセスをブロックするファイアウォールを使おう、なんて酔狂な人間はそれほど多くない。悪かったのは、どうもこのファイアウォールのエンジンもハードウェアでかなり実装されていたようで、ドライバーの変更で簡単にどうこうできるものではなかったため、CPU占有率はともかく動作のおかしさは最後までどうにもならなかった。

 そこで、NVIDIAはどうしたかというと、先にウェブサイトを比較して紹介したとおり、ひっそりとActiveArmorの看板を外してしまった。最初に説明したとおり、Crush K8-04にはActiveArmor用のハードウェアが入っており、主要な製品では利用可能だった(これも製品差別化の1つだったため、上位グレードの製品は利用できても下位グレードの製品では無効化することはあった)が、これに続くワンチップ化されたGeForce 6100シリーズやnForce 570などでは、ActiveArmorの回路そのものが削減されたようだ。

 製品差別化のためにあれこれ入れたものの、最後までまともに動作させられずに終わったという観点では間違いなく黒歴史的機能であるのだが、幸いなのはそれ以外はまともだったことだろう。

 その後、CPUの性能が上がったことで、Windowsに付属のファイアウォールでも性能的な問題がなくなったこともあり、ActiveArmorを搭載するメリットそのものが失われたことで、同種の技術をさらに突っ込むことを放棄したのは、NVIDIAにしては賢明な判断だったと言わざるを得ない。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン