オープン性の本質は、標準準拠でも技術公開でもなく、「相互接続性」と「相互運用性」だ。日夜、ハードウエアやソフトウエアの提供元や業界団体、規格団体などが標準化に取り組んでいる。だが一人前のアーキテクトは「仕様が公開されているから」「国際規格で定義されているから」「デファクトとして確立しているから」と安心し、鵜呑みにしてはいけないと心得よう。

 最近、筆者自身もトップシェア級のハイパーバイザと同じくトップシェア級のNAS装置との間でパケットロストが発生するトラブルを経験した。RFCの解釈が相違していたようだ。TCP/IP以前のOSIでは標準仕様で多数のパラメータが存在し、かつ、実装範囲もバラツキが多かったため、相互接続性を検証する機関が誕生した。かようにオープンシステムでは、検証した範囲以外は保証できないと考えたほうがよい。

不安定なネットワークの原因

 相互接続の確認が欠かせない例として下位レイヤーの通信プロトコルを挙げたい。ここでは正常時の性能や伝送量の限界、何を異常と識別するか、フレームの送信と到着の順序を決めるタイミング問題などについて、ICTメーカーによって標準規格の解釈が変わり、結果としてソフトの実装の差として出てきやすい。

 特にタイミング問題は、ハードウエアやネットワークの更改・変更で性能が向上した際にも発生するので注意が必要だ。ネットワーク関連では、半二重や全二重、通信の速度や帯域、暗号化方式のネゴシエーションにも注意を払おう。負荷が高い時だけ問題が発生したり、知らない内に低いセキュリティーレベルで通信していたりすることがままあるからだ。