NTT西日本が10月27日、10月23~25日に発生したNTT西日本の「ひかり電話」サービスの障害の原因について発表した。23、24日に発生した障害と、25日に発生した障害で原因は異なる。前者は容量設計のミスに伴うサーバーに発生した負荷が限界を超えたため。後者は状況の推移を見守ろうとした運用の結果、予想外の事象が発生したことが原因である。

 まず10月23、24日に発生したのは、「呼処理サーバ」の負荷が処理能力を上回ったことが原因である。ひかり電話では「呼制御サーバ」と呼ばれる、通話相手の場所を特定するプロトコルを装備したサーバーが通話相手を特定する。呼処理サーバは、呼制御サーバの呼び出しと連携して、どの呼制御サーバに連携させるかを指示する役割を担う。言わばルーター的な役割を担う。週明けの月曜日は通信量が増加し、呼処理サーバの限界を超えたのが原因である。

 呼処理サーバの処理能力は、同社の見積もりでは140トランザクション/秒だった。ところが実際には、120トランザクション/秒で処理能力を超えてしまったため、限界を超えたという。「サーバー単体での限界処理能力は140トランザクション/秒だった。だが実際にネットワークに接続した形で利用したら120トランザクション/秒程度でダウンしてしまった。IPネットワークはまだ新しい技術であり、見通しを誤った」(NTT西日本の森下俊三代表取締役社長)。

 23日に原因は特定し、11月に予定していた呼処理サーバの増強を木曜に繰り上げることにしたが、24日も同じ体制で運用を開始。しかし24日も朝にトラフィックが集中し、同じ原因でつながりにくい状況に陥った。そこで24日夜に急遽呼処理サーバを増設した。

 25日には増設が完了したため、50%の通話事前規制をかけて運用を開始。ところが25日には、固定電話や携帯電話などとひかり電話を中継する「中継系呼制御サーバ」が異常動作を始めた。これは接続可能な回線数を制限したことにより、「電話網からひかり電話へのアクセスと、ひかり電話から電話網へのアクセスで、空いた回線の奪い合いが発生し、制御信号の衝突が多発するようになった」(ネットワーク部長の片山泰祥取締役)。この衝突の処理が中継系呼制御サーバの処理を圧迫したため、つながりにくくなったという。このため事前規制を解除して運用するとともに、回線の収容替えによって負荷を分散。これらの対策により、正常に動作するようになった。

 ただここで気になるのは、通話事前規制自体はこれまでにも実施してきたこと。例えばNTT東日本でひかり電話がつながりにくくなったときも事前規制を実施したが、それが原因で中継系呼制御サーバに負荷がかかることはなかった。NTT東日本とNTT西日本で事前規制の処理が違っていたのか、あるいはIPネットワークゆえのまだ見えていない部分が原因なのか。いずれにしても、まだこの種の障害が起きる可能性は高そうだ。