企業システムを支えるネットワークにトラブルは尽きない。本連載では、富士通でトラブル対策を担うエキスパートが対応術を紹介する。第1回は「アドレス変換」にまつわるトラブルを取り上げる。

 企業におけるインターネット接続装置では、複数の端末ごとに割り当てたIPアドレスを単一のIPアドレスに変換する「アドレス変換」と呼ぶ処理を実施している。IPアドレスだけの変換を「NAT(Network Address Translation)」、IPアドレスとポート番号の両方の変換を「NAPT(Network Address Port Translation)」と呼ぶ。

 IPにはv4とv6という2つのバージョンがあり、IPv4で割り当てられるIPアドレスの数は約43億個である。企業や家庭のネットワークに接続した全ての端末にIPv4アドレスを直接割り当てると枯渇してしまうため、企業や家庭の内部ではプライベートアドレスを使い、インターネット接続装置でグローバルアドレスに変換していることが多い。

 アドレス変換は企業や家庭のネットワークだけでなく、大手通信事業者やプロバイダー(インターネット接続事業者)も導入している。今回は、アドレス変換にまつわるトラブルを紹介する。

事例(1) 特定パケットがアドレスを占有

 流通業のA社は、全国の店舗で公衆無線LANサービスを始めた。来店客は自分のスマートフォンなどを使い、同サービスを介して無料でインターネットに接続できる。同社は事前設計でユーザーを約1万人と想定。16個のIPv4グローバルアドレスを有効活用し、約100万セッションまで同時に通信できるインターネット接続装置を用意した。

 ところが、稼働してしばらくたつと、ユーザーからインターネット接続が非常に遅いとのクレームが入った。調査した結果、アドレス変換のセッション数が上限に達し、新規に接続したユーザーの通信がつながりにくい状態となっていた。

 A社の運用担当者が当該事象の発生時に無線LANの接続数を確認したところ、ユーザーは1000人程度にすぎなかった。当初の設計では約1万人の収容を見込んでいたが、それよりもはるかに少ないユーザー数にもかかわらずアドレス変換のリソース不足が生じていた。

 さらに調査を進めると、フラグメント化(断片化)されたパケットに原因があったことが判明した。一般に通信を中継する際、データの大きさがMTU(Maximum Transfer Unit)と呼ぶ最大転送容量を超えると、パケットをフラグメント化して転送する。フラグメント化した最初のパケットにはポート番号を含むTCP(TransmissionControl Protocol)ヘッダーがあるが、2番目以降のパケットにはない。この結果、アドレス変換の際に1個のグローバルアドレスを占有してしまう事象が起こっていた。

 今回導入したインターネット接続装置は16個のIPv4グローバルアドレスを確保していた。IPアドレスとポート番号を組み合わせたアドレス変換により、グローバルアドレス1個当たり約6万2500セッション、1人当たり100セッションとしてユーザー数換算では約625人の通信を処理できると見積もっていたが、上記の事象で想定が狂ってしまった。

 トラブル発生時には15個のグローバルアドレスが占有された状態になっており、実質1個のグローバルアドレスでユーザーの通信を処理していたのだ。これでは、インターネット接続が遅くなるのも当然だった。

 A社は最終的にフラグメント化されたパケットについてはアドレス変換を実施しないように設定を変更することで対処した。当該パケットはインターネットに接続できなくなるが、再送制御の仕組みが働いてフラグメント化されたパケットが順番通りに届けば問題なく接続できる。実際、この運用で問題は起こっていない。

 このようにインターネット接続装置の設定では、フラグメント化されたパケットの扱いに留意したい。

図 流通業A社におけるトラブル
アドレス変換が原因で公衆無線LANがつながりにくくなった
[画像のクリックで拡大表示]

事例(2) 通信カードの仕様変更で接続障害

 金融業のB社は、顧客のパソコンを遠隔保守するサービスを提供していた。具体的には、顧客のパソコンにインストールしたアプリがユーザーIDとパソコンのIPアドレスをセンターの管理サーバーに通知。担当者がそのIPアドレスを基にパソコンに接続して保守作業を実施する仕組みだ。顧客に配布していたモバイル通信カードを新機種に入れ替えたところ、遠隔接続できなくなるトラブルが発生した。

 原因は、新しい通信カードにあった。通信カードが顧客のパソコンにDHCP(Dynamic Host Configuration Protocol)でプライベートアドレスを割り当て、アプリが同アドレスをセンターの管理サーバーに通知していたのである。当然、プライベートアドレスに対しては遠隔接続できない。

 一般に通信カードにおけるグローバルアドレスの扱いは、以下の2種類である。

(1)WAN側から付与されたグローバルアドレスをパソコンのIPアドレスとしてそのまま利用(主にUSBドングル型の製品で多い)

(2)WAN側から付与されたグローバルアドレスは通信カード自体に割り当て、パソコンにはDHCPでプライベートアドレスを割り当て(主に無線LANルーター型の製品で多い)

 B社が顧客に配布していた通信カードは新旧ともにUSBドングル型。これまでは上記(1)の挙動に基づいてうまく運用できていたが、新しい通信カードはUSBドングル型にもかかわらず、上記(2)の挙動となっていた。

 とはいえ、通信カードを再交換するとコストがかかる。そこで、B社はセンターの管理サーバーを、顧客パソコンの送信元のIPアドレス(グローバルアドレス)に対してメンテナンスする仕組みに改修。さらに通信カードではWAN側からの全ての通信を顧客のパソコンに転送する設定に変更して対処した。

 具体的には、外部への公開サーバーを設置する非武装セグメント(DMZ:DeMilitarized Zone)を通信カードに設定。顧客のパソコンのプライベートアドレス宛てに全ての通信を転送するようにした。

 このように最近ではUSBドングル型の通信カードであっても無線LANルーターのように振る舞う製品が存在する。勝手な思い込みがトラブルにつながることがあるので注意したい。

図 金融業B社におけるトラブル
モバイル通信カードの仕様変更が原因で接続できない
[画像のクリックで拡大表示]

事例(3) 「プレゼンス情報」を登録できず

 製造業のC社は社内の電話システムにIP電話を採用している。社員は専用アプリをインストールしたスマートフォンを使い、無線LANを介して通話する。ところが、社員が拠点を移動した際、移動先の拠点で通話できなくなるトラブルが発生した。このトラブルもアドレス変換装置が原因だった。

 IP電話では、電話番号とIPアドレスをひも付けたり、通話(呼)を制御したりするためにSIP(Session InitiationProtocol)サーバーを用いる。いわば電話交換機に相当するものだ。SIPサーバーは端末(スマートフォン)のネットワーク環境が変わっても柔軟に対処できるように「プレゼンス情報」を管理しており、この部分で問題が起こった。

 プレゼンス情報は送信元のIPアドレス、SIPテキストメッセージに含まれた社員のアカウントIDならびにスマートフォンのIPアドレスを基に管理するが、アドレス変換装置の有無によって登録に失敗することがあるのだ。C社が採用したSIPサーバーは、送信元のIPアドレスとスマートフォンのIPアドレスが異なる場合にプレゼンス情報を登録する設定になっていた。

 アドレス変換装置を設置した拠点ではうまく動作していたが、設置していない拠点では送信元のIPアドレスとスマートフォンのIPアドレスが同じになるため、不都合が生じる。トラブルが発生した拠点がまさにそうだった。フロアの移動に伴い、新しいプレゼンス情報を登録しようとすると、エラーが発生していた。SIPサーバーは古いプレゼンス情報に基づいて通話を制御しようとするため、「通話できない」「着信が分からない」といったトラブルにつながっていた。

 C社は最終的にトラブルのあった拠点にアドレス変換装置を設置することで対処した。このように拠点ごとのアドレス変換装置の有無がトラブルを引き起こすこともあり、事前の入念な検証が欠かせない。

図 製造業C社におけるトラブル
アドレス変換装置のない拠点で新しいプレゼンス情報を登録できない
[画像のクリックで拡大表示]
ポート番号▲データをやり取りする相手のアプリケーションを識別するための番号。TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)がある。
プライベートアドレス▲企業や家庭などの閉じたネットワーク内で利用するIPアドレスのこと。インターネット上では、世界中で重複しないグローバルアドレスを用いる。
1個のグローバルアドレスを占有▲フラグメント化されたパケットが順番通りに届く分には問題ないが、2番目以降のパケットが先に届くとグローバルアドレスを占有してしまう事象が発生した。この処理自体は“ベンダー仕様”になる。
C社が採用したSIPサーバー▲本文中の説明は、経路の途中でアドレス変換しても問題なく通信できるようにする「NATトラバーサルモード」を有効にした場合の挙動になる。
新しいプレゼンス情報▲なお、NATトラバーサルモードを有効にした場合も新規(1回目)のプレゼンス情報の登録は問題なく、更新時(再登録)だけに発生した。この部分はベンダー仕様になる。
熊木 弘泰 氏、下園 善知 氏、山口 由夏子 氏
富士通 ネットワークサービス事業本部FENICS事業部 モバイルサービス部
出典:日経コンピュータ 2017年9月28日号 pp.112-115
記事は執筆時の情報に基づいており、現在では異なる場合があります。