Page

2010年3月10日水曜日

BlackBerry の通信の仕組み

 前回、内部接続と外部接続について書いて見ましたが、順番的には BlackBerry の通信の仕組みを先に触れるの先だったような気がしました。
 BlackBerry を使用するには、ドコモショップでSIMに以下のいづれかの契約を付加する必要があります。法人でも個人でもこの条件は同じです。

1. BlackBerry インターネットサービス (BISが利用できる)
2. BlackBerry エンタープライズサービス (BESが利用できる)
3. BlackBerry デュアルサービス (BIS BES 両方が利用できる)

 値段はどれも同じです。この契約のせいで、毎月1500円他のスマートフォンよりも高い維持費となりますが、これらは BlackBerry の通信の仕組みのせいです。



A. NOC方式
 BlackBerry と他のスマートフォンの最大の違いは、通信の仕組みだと思います。PCを含め、他の祖マートフォンは端末がサーバーと直接通信するのが基本です。一方、 BlackBerry は Research In Motion (RIM)が運用する Network Operation Center (NOC) を経由してのアクセスとなります。ただし、 PC などと同様、BlackBerry が直接サーバーと通信する方式も存在しますが、 BlackBerry の持ち味を生かすのはこの NOC 経由での通信となります。極端な表現をすると、端末は NOC としか通信しないともいえます。
 上記の契約はこの NOC を経由させるための使用料と考えてよいと思います。ドコモがいくらとり、RIMがいくら取っているかは知りません、というか公開されて無いと思います。なお、 NOC を経由した通信方法を Relay と表現する資料もあります。
 他のベンダー(かわいそうだから名前は書かない)は、NOC に一度パケットが入るため、セキュリティが低下するとした資料(読むのが疲れた・・・)を公開してますが、各種セキュリティの認証機関やメディアなどは”セキュリティでは BlackBerry が No.1” と評価していて、上記ベンダーが取得できなかった認証も BlackBerry は取れてたりします(ちょっと哀れですね)。企業での実績 No.1 というのもその証明になっています。
 話を戻しますが、 BlackBerry では電源を入れている間、以下の状態で通信経路が維持されます。

BB - 3G - NOC (携帯網の場合)
BB - WiFi - NOC (WiFiの場合)

 WMのように接続とか切断というプロセスはないです。通信を維持しているならバッテリーがすぐになくなるのでは?と当初心配してましたが、上記の部分では通信量が少なく抑えられており、数日間の待ち受けが可能な状況です。もっとも、メールやWebなどの通信を行えば短くなっていきますが、他のスマートフォンに比べればバッテリーの持ちは非常に良いです。
 また、BB端末からみた NOC は blackberry.net という名前の APN 登録がされているように見えます。つまり、 BB は電源を入れている間、 blackberry.net という APN に常にセッションを維持するシステムだといえます。


B. Pushとセッションの維持について
 通常の携帯も、すぐにキャリアのメールを受信できるように、端末とキャリアのシステムは経路を確保しています。これにより、数日間の待ち受けが可能なのに、キャリアのメールはいつでも自動取得される状況です。いわゆる Push と呼ばれる接続です。これに近い動作が BB と NOC 間で維持されている感じです。これにより、
常時接続かつバッテリーが持つ
という両立が難しいことが実現できています。
 また、BlackBerry の場合、メールだけでなく、他のデータもすべて同一の経路で処理されるため、サーバー側から任意のデータのPushが可能なのがうれしいです。

 他のスマートフォンはPCと同じような接続と書きましたが、企業LANに接続するには端末から VPN
を張り、アクセスしていきます。当然この VPN セッションは維持しておかないと通信ができません。 VPN のセッションを維持するためだけに、それなりにパケットの交換が発生するので、バッテリーやパケット通信量に影響が出てしまいます。
 セッションを張りっぱなしにして、サーバー側から端末へデータを渡せるため、 Push 対応という部分だけうたっているベンダーやサービスが存在しますが、個人的には非常に混乱しました。正直やめて欲しいです。バッテリーは持たないし、定額のプランから外れた場合(海外でのローミング)に高額な請求がきてしまいます。 Push というのは、通信料を抑えつつ、端末側からの更新情報の有無の確認をしなくても、サーバー側からデータを渡せるものだと私は理解しています。これが現状できるのは BlackBerry だけです。
BB以外の機種 - 3G - サーバー (端末とサーバー間で VPN維持)


C. NOC から先の通信
 A で端末から NOC までの部分を書きましたが、NOC から先はどうなっているかというと、BISかBESで変わってきます。3GでもWiFiでも同じなので、3Gのみ記載します。

* BISの場合
  BB - 3G - NOC - BIS - ISP のメールや Web など

* BESの場合
  BB - 3G - NOC - BES - 社内の Domino か Exchange

 BISの設備は当然 NOC の中にあります。BESは企業の Firewall の内側です。
 NOCはデータセンターというよりも、巨大なBlackBerry専用のルーターだと思っています。パケットの中継が行われる際、BBとBISもしくはBESの間のルーティングを担当するだけです。BBにもBESにも固有の識別子(BB - PIN番号  BES - SRP ID)がセットされており、NOCやBISはどの端末に対して、どの種類のデータをルーティングするべきか?を判断しています。
 BBは NOC とのやり取りだけ制御していれば良く、 BIS や BES から端末へ渡したいデータがあれば、 NOC へ目的の PIN と共に渡したいデータをセットで渡せば良いことになります。BISからのGmailなどのPush、BESからのグループウェア側からのPushが、この仕組みで実現できることになります。
 また、サーバー側からのPushではなく、Web アクセスのように BB 側から要求を出す動作も当然可能です。BB から NOC へ Web アクセスの要求を出します。この際、BIS 向けなのか、BES 向けなのかの情報も付加します。要求を受け取った NOC は BIS もしくは BES に端末からの要求をルーティングします。 NOC から要求を受け取った BIS もしくは BES は要求された URL の取得を行い、 NOC へレスポンスデータを返し、NOC は BB へ戻します。
 さらに、 BB と BIS もしくは BES 間の通信は、データをそのままやり取りするのではなく、加工しているのも特徴です。

*BISの場合
  パケットの圧縮

*BESの場合
  パケットの暗号化圧縮

 BBも BIS 、 BES ともに圧縮、解除、暗号化、複合化などを全パケットに毎に処理をしています。また、BESの場合、パケットの暗号化を行っているため、仮想 VPN を張っている状況と同じといえます。 VPN のような暗号化で、なお常時接続、そしてバッテリーが持つということです。


D. 欠点と利点
 外部のニュースサイトなどのように、1ページ開くために大量の HTTP 要求が繰り返される通信は、BlackBerry では欠点となります。 NOC を経由すること、データの加工のため、パフォーマンスが悪くなります。 BIS のユーザーが、”ブラウザ遅い”と評価するのはこの仕様のためです。
 個人的には、確かに外のサイトへアクセスする際に気になる部分ですが、イントラのアプリを使用させる分には許容できる感じです。うまく動かないものはモバイル用のページと称して、シンプルなページを少しずつよういしてますし、オリジナルのページも画像や JavaScript なども少なめに抑えてあるせいだと思います。
 でも、 iPhone とか Android の Webkit ベースのブラウザがうらやましいです。 RIM も今年出すみたいですが、まだ先みたいです。
 また、 NOC 自体がダウンした場合、 BB と BES は通信ができない状況になります。めったにあることではないですが、過去何度がニュースになりました。まあ、国内の某キャリアの品質の悪さよりも*マシ*かもしれません。

 利点としては、セキュリティBES のメンテナンスです。
 前述の通り、 BB と BES の間に NOC が中継する形をとります。 BB と NOC 間は 3G ならばキャリアと NOC 間は専用線接続であり、 3G 自体も簡単には盗聴ができない仕組みなので安心できます。また、 NOC と BES の間には、当然企業の Firewall がありますが、Firewall の穴は内側から外側への1方向のみで構成できます。 BES のサービスが起動すると、TCP/IPのセッションが NOC へ張られますが、 NOC 側から BES 側へ情報を渡す際には、 BES が張ったセッションの戻りのパケットのみで処理されます。よって、 Firewall の開放は、Outbound のみで OK となります。 Inbound をあける必要がないので、ネットワークやセキュリティの管理者にとっては、 BES を導入するからといって、テストや確認の工数が削減できます。さらに、既存の VPN を流用しないため、 VPN 機器との接続テストや問題が発生した際の調査などは必要なくなります。よって、うちでは Note PC でしか VPN を利用しません。

 また、 NOC にデータが一時的に残ることを心配する声もありましたが、 BB と BES の間で暗号化と複合化を行っているので、 NOC 内でも複合化できないパケットなので安心です。このような仕組みがないと、カナダのベンダーの製品やサービスである BlackBerry を、他国の省庁や金融、軍などで採用できないです。現状の仕組みが受け入れられない企業があると聞きますが、いったいどんな機密情報を扱っているのか興味があります。当然うちはこの仕組みでOKです。

 また、これは運用を開始してしばらくたってから気づいたのですが、何らかの理由により BES の設定を変えて再起動した場合、短時間であればユーザーには気づかれない可能性が高いです。
 ユーザーが送信したメールは NOC に入るので、 NOC と BES 間の通信が短時間であればダウンしていても、端末にはエラーとして戻らないようです。 BES の再起動にかかる時間や、端末のタイミングに依存しますが、まずばれません。私のような気軽に色々な設定を試すために再起動する管理者にとってはありがたいことです。ユーザーには、送信メールがエラーになったら再送信してね、とあらかじめガイドしておけば、もう完璧です。

0 コメント:

コメントを投稿