VOS 16.2.0 以前の TCP に致命的な欠陥
2007-08-09


VOS Release 16.2.0 以前の stream tcp には重大な問題が幾つかある。このリリースでも、他にも数々の修正が行なわれたが、これの欠陥のために、以前のリリースを使っている場合は早急に OS を更新する必要があるかも知れない。

特に致命的なものが二つ。

一つ目は、高負荷時に TCP 送信のスタックが破壊されること。この破壊は、TCP のシークエンスが与えられる前に、データが上書き破壊されてしまうので、TCP レベルではデータの破損が見つからない。それ故、ユーザ層で、根拠のわからないデータの破損を経験することになる。

このバグは大変悲惨だった。何十時間掛けても見つからない。あちこちにデバッガを仕掛けて監視しても、ユーザ領域では何ら異常が見つけれなかったからだ。当り前である。OS 自身が気が付かずに破損しているのだから、どんなに注意深くシステムコールの返り値を監視したりしても見つかるわけがない。この回避の為にわざわざ、TCP の通信速度を落とすようにする必要があった。

二つ目は TCP の初期化。TCP の初期化に問題があり、TCP でのスループットが上がるのに数分を要する。最初から、沢山のデータを流し込もうとしても、ほとんど送信しないのだ。

こちらも随分と気になっていた。明らかに動作がおかしかったが、他にも見なければいけない部分も多く、後回しにしていた為、個人的な被害は少ない。いきなり、大量のデータを TCP に流し込んで、幾度と無く時間を無駄にしただけだ。何回か繰り返すと、動作がおかしいのがわかったので、初期化と安定のためにテストデータを事前に流すだけだ。

VOS は Stratus が言うように確かに無停止システムで、停止こそはしないのかもしれない。しかし、出てくるデータが破損されていては、何の意味もない。

[vos]

コメント(全2件)
コメントをする


記事を書く
powered by ASAHIネット