オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

IMAPの通信量はものすごい!

»

当社が宮沢さんの会社と技術協力してタイ向けに開発したi-Switchは、タイのようにインターネット回線事情が悪い地域で、複数の回線を使い、「可用性向上」「帯域分散」を行うための装置です。

日本ではインターネット回線が安定していますので、中小規模の事業所ではインターネット回線は基本的に1本引けば問題ないと思いますが、タイではまだ光回線は高価で、ADSLが多く使われていますが、安定性があまりよろしくなく、時間帯によってつながらなかったりすることもよくあります。そこで、多くのタイの事業所では複数の回線を契約しておき、社員から「インターネットが使えません!」と言われたときに、手動でルーターをつなぎ替えて運用しているところが多いようですが、それを自動化するのと、活きている回線に分散して負荷を低減したり、あるいはVPNなどは安定した回線にできるだけ割り振り、他を安価な回線に割り振る、などの帯域分散を行うのが目的です。

先日、あるタイのお客さんに説明した際に、タイ人のネットワーク技術者の方から、「モニター機能が欲しい」と言われました。i-Switchは海外向けと言うこともあり、できるだけ機能をシンプルにして、代理店さんが設置したりサポートしたりする手間を省くように設計しましたので、必要最低限の設置時に必要な設定機能しか持たせませんでした。しかし、ネットワーク管理者としては、何かあったときにちゃんと状態を把握したい、ということで、まあ、真っ当な要求でしたので、早速対応した感じです。

とりあえず、自分のPCをi-Switchにぶら下げ、2系統のルートを強引に作り出した検証環境で、私が会社にいる間はずっと使ってみているのですが、モニター機能は使ってみると意外と楽しめる(?)ことがわかりました。

i-Switchには、ルータ優先割り振りの指定ができ、例えば、VPNだけはあるルーターに優先的に流す、とかいう指定ができるのですが、私が強引に作り出した検証環境の都合で、メール関連のIMAPとSMTPのサブミッションポートだけは1つめのルーターに流さないと駄目ということで、その機能を指定して使っているのですが、モニター機能で何パケットその指定にマッチしたかを出すようにしたところ・・・IMAPは恐ろしいほどのパケット数を使っていることがわかったのでした。。

StartTime:Wed Jul 24 13:57:04 2013
NowTime  :Thu Jul 25 14:31:28 2013
-Router-------------------------------------------------------------------------------
Router(no)[       IP      ]:Act,    NG, SendCount,    SendSize, RecvCount,    RecvSize
Router( 1)[   192.168.44.1]:  1,     0,    920453,     61.01MB,    933136,    191.91MB
                      total:         0,   1754020,    116.93MB,   1797265,    416.06MB
Router( 2)[   192.168.44.2]:  1,     0,     32848,      7.25MB,     54010,     35.87MB
                      total:         0,     77025,     13.26MB,    139364,    124.02MB
-FixRout------------------------------------------------------------------------------
(IP:PORT=RouterNo),TodayCount,TotalCount
(219.101.47.162-219.101.47.162:143-143=1),892730,1693247
(219.101.47.162-219.101.47.162:587-587=1),52,76
(192.168.0.1-192.168.0.254:0-0=2),1765,1991

モニター機能はこんな感じで、どのルーターが活きていて、何パケット流したかなどがわかるようになっているのと、FixRoutという優先割り振りの指定が観察できるのですが、この中で、

(219.101.47.162-219.101.47.162:143-143=1),892730,1693247

これがIMAP(143番ポート)です。今日私が外出から戻って数時間だけで、90万回このルールにマッチしたという感じです。

ちなみに、SMTPサブミッションポート(587番ポート)はたったの52回。社内LANのあるセグメントである192.168.0.0は1.7万回。主にsshでログインして作業をしていた分でしょう。IMAPが桁違いに多いことがわかります。

IMAPは同時に複数のコネクションを張ることと、プロトコルが複雑なのが原因なのだと思いますが、実際、タイから日本のサーバにつないでIMAPを使っていると、呆れるほど同期に時間がかかります。まあ、それを裏付けるデータ量という感じですね。。

優先割り当ての状態を見たいとは要望で出なかったのですが、自分でちゃんとルールが有効に機能しているかを見たくて作ってみたところ、IMAPのデータ量にビックリ、という感じだったのでした。もっとも、このくらいはパケットキャプチャで簡単に調べることができますが、こんなにもすごいとは思ってもいませんでした。。

タイでは、このi-Switchとネットワークキャプチャ装置のi-Captureが人気です。i-Captureもタイ向けに宮沢さんのところと共同開発した製品で、こちらもタイの事情に合わせて製品化しましたので、まず日本でのニーズはないでしょう。まだまだインターネット事情は国によって様々です。

Comment(2)