(57)【要約】【課題】ＢＧＰ経路情報の監視を行ない、誤った経路への接続を防ぐことが可能なＢＧＰ経路監視装置を提供することを目的とする。【解決手段】ＢＧＰ経路情報を受信する経路情報受信部と、ＩＲＲサーバに登録される複数のＢＧＰ経路情報を含む第１のデータベースと、受信したＢＧＰ経路情報を、第１のデータベースと照合して複数のステートに分類し、分類されたステートに基づいて該ＢＧＰ経路情報が異常経路であるか否かを判断する異常経路検出部と、を備え、上記複数のステートは、少なくとも、受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘとが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、を含むことを特徴とする。【選択図】図１
2011087302.tif 000002
【特許請求の範囲】
【請求項１】
ＢＧＰ経路情報を受信する経路情報受信部と、
ＩＲＲサーバに登録される複数のＢＧＰ経路情報を含む第１のデータベースと、
前記受信したＢＧＰ経路情報を、前記第１のデータベースと照合して複数のステートに分類し、分類されたステートに基づいて、前記受信したＢＧＰ経路情報が異常経路であるか否かを判断する異常経路検出部と、を備え、
前記複数のステートは、少なくとも、前記受信したＢＧＰ経路情報のＰｒｅｆｉｘと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘとが一致し、前記受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、前記受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、を含むことを特徴とする、ＢＧＰ経路監視装置。
【請求項２】
前記異常経路検出部は、前記受信したＢＧＰ経路情報を８つのステートに分類することを特徴とする、請求項１に記載のＢＧＰ経路監視装置。
【請求項３】
前記異常経路検出部の判断結果に基づき、前記ＢＧＰ経路情報のフィルタリングを行なう、フィルタリング部をさらに備えることを特徴とする、請求項１または２に記載のＢＧＰ経路監視装置。
【請求項４】
前記第１のデータベースを、定期的に、またはオペレータの指示によって更新する、データベース更新部をさらに含むことを特徴とする、請求項１から３のいずれか一項に記載のＢＧＰ経路監視装置。
【請求項５】
前記経路情報受信部で受信したＢＧＰ経路情報を記憶する第２のデータベースと、
所定のタイミングで、前記第２のデータベースのバックアップを保存するバックアップ処理部と、をさらに備えることを特徴とする、請求項１から４のいずれか一項に記載のＢＧＰ経路監視装置。
【請求項６】
前記バックアップ処理部は、前記第２のデータベースが記憶されるメモリのスナップショットイメージをハードディスクに保存することを特徴とする、請求項５に記載のＢＧＰ経路監視装置。
【請求項７】
前記フィルタリング部は、（１）前記経路情報受信部において、前記ＢＧＰ経路情報を受信した時点、（２）前記ＢＧＰ経路情報を、ネットワーク上のＢＧＰルータへ配信する時点、または（３）前記ＢＧＰ経路情報を含む複数の経路情報からベストパスを選択する時点、のいずれかにおいてフィルタリングを行なうことを特徴とする、請求項３から６のいずれか一項に記載のＢＧＰ経路監視装置。
【請求項８】
前記異常経路検出部は、前記受信したＢＧＰ経路情報を、
（１）受信したＢＧＰ経路情報のＰｒｅｆｉｘ、ＰｒｅｆｉｘＬｅｎｇｔｈおよびＯｒｉｇｉｎ ＡＳ番号が、前記第１のデータベースにおける経路情報のＰｒｅｆｉｘ、ＰｒｅｆｉｘＬｅｎｇｔｈおよびＯｒｉｇｉｎ ＡＳ番号と一致する場合、
（２）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより長く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、
（３）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、
（４）受信したＢＧＰ経路情報のＰｒｅｆｉｘおよびＰｌｅｆｉｘＬｅｎｇｔｈと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘおよびＰｒｅｆｉｘＬｅｎｇｔｈとがそれぞれ一致し、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致しない場合、
（５）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより長く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致しない場合、
（６）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致しない場合、
（７）受信したＢＧＰ経路情報のＰｒｅｆｉｘが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘと一致しない場合、および
（８）前記第１のデータベースに問い合わせ中である場合、
のステートのいずれかに分類することを特徴とする、請求項１から７のいずれか一項に記載のＢＧＰ経路監視装置。
【請求項９】
前記フィルタリング部は、さらに、前記各ステートに応じて設定される種々のアクションを行なうものであることを特徴とする、請求項３から８のいずれか一項に記載のＢＧＰ経路監視装置。
【請求項１０】
前記アクションには、Ｐｒｅｆｉｘの指定によるフィルタリング、またはＢＧＰ経路情報の変更が含まれることを特徴とする、請求項９に記載のＢＧＰ経路監視装置。
【請求項１１】
前記異常経路検出部は、前記第２のデータベースに含まれるＢＧＰ経路情報の全てに対して、異常経路か否かについて判断を行なうことを特徴とする、請求項５から１０のいずれか一項に記載のＢＧＰ経路監視装置。
【請求項１２】
ＢＧＰ経路情報を受信するステップと、
前記受信したＢＧＰ経路情報を、ＩＲＲサーバに登録される複数のＢＧＰ経路情報を含む第１のデータベースと照合して複数のステートに分類し、分類されたステートに基づいて、前記受信したＢＧＰ経路情報が異常経路であるか否かを判断するステップと、を含み、
前記複数のステートは、少なくとも、前記受信したＢＧＰ経路情報のＰｒｅｆｉｘと、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘとが一致し、前記受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、前記第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、前記受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が前記第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、を含むことを特徴とする、ＢＧＰ経路監視方法。
【請求項１３】
請求項１２に記載されるＢＧＰ経路監視方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＢＧＰ経路情報の監視装置に関するものであり、詳しくは、Ａｎｔｉ−Ｈｉｊａｃｋ機能を備えるＢＧＰ経路監視装置に関する。  
【背景技術】
【０００２】
インターネットは、ＩＳＰ（Internet Service Provider）などによって運用、管理される複数のＡＳ（Autonomous System）と呼ばれるネットワークが接続されて形成される。そして、ＡＳ間の信号経路を制御するルータでは、ＢＧＰ（Border Gateway Protocol）と呼ばれるプロトコルを用いて、経路情報の交換が行なわれ、この交換した経路情報をもとに、所定のネットワーク宛にデータを転送するときの経路が決定される。このようにＢＧＰに基づいて経路情報の交換を行なうルータをＢＧＰルータ、またはＢＧＰスピーカという。非特許文献１には、ＢＧＰの具体的な仕様が記載される。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Y. Rekhter, Ed. et al., “A Border Gateway Protocol 4（BGP-4）” January 2006, RFC 4271
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＢＧＰルータにおける経路情報（以下、「ＢＧＰ経路情報」という）は、ＡＳを管理するオペレータによってメンテナンスおよび管理される。従来、ある経路に異常が発生した場合、オペレータは、ＳＮＭＰ（Simple Networking Management Protocol）というＩＥＴＦ（Internet Engineering Task Force）によって定められたプロトコルを用いて、ＢＧＰルータから異常に関する情報を取り出してチェックを行なっている。しかしながら、ＳＮＭＰでは標準で定められたＭＩＢ（Management Information Base）による特定の情報しか得られないため、詳細な異常の原因を調査するためには、異常が発生したと考えられ得るルータにアクセスし、一つずつ調べて調査を行なう必要がある。また、オペレータは、ネットワークの経路に異常が発生したことを、Ｗｅｂのユーザからの通知でしか認識することができない。
【０００５】
さらに、ＢＧＰでは、複数の属性（パスアトリビュート）を使って、ポリシーベースルーティングと呼ばれる方法で経路の選択が行なわれる。このポリシーベースルーティングでは、オペレータによって各ＡＳのポリシーに基づいた経路の選択が行なわれるため、人為的ミスにより、誤った経路情報等がＢＧＰルータに送られることがある。そして、その結果、ユーザが誤った経路に誘導されたり、パケットの転送先がなく破棄されたり（ブラックホール）することがある。同様の問題は、設定に関する人為的ミスの他に、悪意のあるアタックによっても当然起こり、人為的ミスや悪意のあるアタックによって生じる。このような通信異常は「経路ハイジャック」と呼ばれ、ＢＧＰルーティングにおける問題となっている。
【０００６】
そこで、本発明では、障害が発生した原因を解明するために、どの経路において、いつ、どのような理由で障害が発生したのかなどの詳細な情報を取得すること、およびＢＧＰ経路情報の監視を行ない、誤った経路情報（経路ハイジャック）を検出して、当該経路への接続を防ぐこと（Ａｎｔｉ−Ｈｉｊａｃｋ）が可能なＢＧＰ監視装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するため、本発明により、ＢＧＰ経路情報を受信する経路情報受信部と、ＩＲＲサーバに登録される複数のＢＧＰ経路情報を含む第１のデータベースと、受信したＢＧＰ経路情報を、第１のデータベースと照合して複数のステートに分類し、分類されたステートに基づいて、受信したＢＧＰ経路情報が異常経路であるか否かを判断する異常経路検出部と、を備えるＢＧＰ経路監視装置が提供される。また、本発明のＢＧＰ経路監視装置における複数のステートは、少なくとも、受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘとが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、を含むことを特徴とする。
【０００８】
このような構成とすることにより、受信したＢＧＰ経路情報が異常経路であるか否かを検出することが可能となる。特に、受信したＢＧＰ経路情報が、当該経路情報を少なくするために、アグリゲーションを行なって広い経路情報とされた場合、すなわちＩＲＲサーバに登録されたものに対してＰｒｅｆｉｘＬｅｎｇｔｈが短い経路情報となった場合についても、個別に分類することができ、異常経路か否かを判断することが可能となる。
【０００９】
また、上記異常経路検出部は、受信したＢＧＰ経路情報を８つのステートに分類するものであっても良い。より詳しくは、上記異常経路検出部は、受信したＢＧＰ経路情報を、
（１）受信したＢＧＰ経路情報のＰｒｅｆｉｘ、ＰｒｅｆｉｘＬｅｎｇｔｈおよびＯｒｉｇｉｎ ＡＳ番号が、第１のデータベースにおける経路情報のＰｒｅｆｉｘ、ＰｒｅｆｉｘＬｅｎｇｔｈおよびＯｒｉｇｉｎ ＡＳ番号と一致する場合、
（２）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより長く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、
（３）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、
（４）受信したＢＧＰ経路情報のＰｒｅｆｉｘおよびＰｌｅｆｉｘＬｅｎｇｔｈと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘおよびＰｒｅｆｉｘＬｅｎｇｔｈとがそれぞれ一致し、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致しない場合、
（５）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより長く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致しない場合、
（６）受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が、第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致しない場合、
（７）受信したＢＧＰ経路情報のＰｒｅｆｉｘが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘと一致しない場合、および
（８）第１のデータベースに問い合わせ中である場合、
の８つのステートのいずれかに分類する構成としても良い。このように構成することで、ネットワーク上の想定し得る全ての経路および状態に対して、適切な判断を行なうことが可能となる。
【００１０】
また、上記ＢＧＰ経路監視装置は、異常経路検出部の判断結果に基づき、ＢＧＰ経路情報のフィルタリングを行なう、フィルタリング部をさらに備える構成としても良い。さらに、フィルタリング部は、（１）経路情報受信部において、ＢＧＰ経路情報を受信した時点、（２）ＢＧＰ経路情報を、ネットワーク上のＢＧＰルータへ配信する時点、または（３）ＢＧＰ経路情報を含む複数の経路情報からベストパスを選択する時点、のいずれかにおいてフィルタリングを行なうものであっても良い。このように構成することで、オペレータの操作を必要とせずに、異常経路と判断された場合には該経路情報を自動的に廃棄することができる。それによりユーザが誤った経路に誘導されたり、パケットの転送先がなく破棄されたりすることを防ぐことができる。
【００１１】
また、上記ＢＧＰ経路監視装置は、第１のデータベースを、定期的に、またはオペレータの指示によって更新する、データベース更新部をさらに含む構成としても良い。
【００１２】
また、上記ＢＧＰ経路監視装置は、経路情報受信部で受信したＢＧＰ経路情報を記憶する第２のデータベースと、所定のタイミングで、第２のデータベースのバックアップを保存するバックアップ処理部と、をさらに備える構成としても良い。また、バックアップ処理部は、第２のデータベースが記憶されるメモリのスナップショットイメージをハードディスクに保存するものであっても良い。このように構成することで、障害が発生した時点の（すなわち過去の）ＢＧＰ経路情報を取り出すことができ、障害時の状況を容易に把握することが可能となる。また、メモリのスナップショットイメージを保存することで、第２のデータベースにおけるＢＧＰ経路情報の全てのデータが保存されるため、これらのデータに基づいて、より詳細に障害発生の原因を調査することが可能となる。さらに、第２のデータベースに障害が発生した場合にも、当該スナップショットイメージを用いて容易に復元することが可能となる。
【００１３】
また、上記フィルタリング部は、さらに、各ステートに応じて設定される種々のアクションを行なうものであっても良い。さらに、当該アクションには、Ｐｒｅｆｉｘの指定によるフィルタリング、またはＢＧＰ経路情報の変更が含まれても良い。このように構成することで、各ＡＳにおいて、任意に所望のフィルタリングを行なうことが可能となる。
【００１４】
また、上記異常経路検出部は、第２のデータベースに含まれるＢＧＰ経路情報の全てに対して、異常経路か否かについて判断を行なう構成としても良い。このように構成することにより、ＩＲＲサーバへの経路情報の登録のタイミング等により、誤って異常経路と判断されてしまった経路についても再評価を行なうことが可能となる。
【００１５】
また、本発明により、ＢＧＰ経路情報を受信するステップと、受信したＢＧＰ経路情報を、ＩＲＲサーバに登録される複数のＢＧＰ経路情報を含む第１のデータベースと照合して複数のステートに分類し、分類されたステートに基づいて、受信したＢＧＰ経路情報が異常経路であるか否かを判断するステップと、を含むＢＧＰ経路監視方法、および該方法をコンピュータに実施させるためのプログラムが提供される。また、これらにおける複数のステートは、少なくとも、受信したＢＧＰ経路情報のＰｒｅｆｉｘと、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘとが一致し、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが、第１のデータベースにおけるＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈより短く、受信したＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号が第１のデータベースにおけるＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と一致する場合、を含むことを特徴とする。
【発明の効果】
【００１６】
上記のように、本発明によりＢＧＰ経路情報の監視を行ない、誤った経路情報（経路ハイジャック）を検出して、当該経路への接続を防ぐこと（Ａｎｔｉ−Ｈｉｊａｃｋ）、および障害が発生した原因を解明するために、どの経路において、いつ、どのような理由で障害が発生したのかなどの詳細な情報を取得することが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態におけるＢＧＰ経路監視システムの基本構成を示す図である。
【図２】本発明の実施形態におけるＢＧＰルータの概略構成を示すブロック図である。
【図３】本発明の実施形態におけるＢＧＰ経路監視処理の流れを示すフローチャートである。
【図４】本発明の実施形態における異常経路検出処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照しながら本発明の実施形態に係るＢＧＰ経路監視システムについて説明する。
【００１９】
図１は、本発明の実施形態におけるＢＧＰ経路監視システム１の基本構成を示す図である。本実施形態のＢＧＰ経路監視システム１は、自ＡＳであるＡＳ１０００、外部ＡＳであるＡＳ２０００、およびＩＲＲ（Internet Routing Registry）サーバ３００から構成される。ＡＳ１０００は、複数のＢＧＰルータ１０、２０、３０、４０を備える。各ＢＧＰルータは、ＡＳ１０００と外部ＡＳ（例えばＡＳ２０００）とを接続する機能を有するネットワーク接続装置である。また、各ＢＧＰルータは、外部ＡＳのＢＧＰルータ（例えばＢＧＰルータ１０Ａ）と、ｅ−ＢＧＰ（external BGP）のセッションにてＢＧＰピアを形成し、ＢＧＰ経路情報の交換を行なう。
【００２０】
また、ＢＧＰルータ１０は、ｉ−ＢＧＰ（internal BGP）のセッションにて各ＢＧＰルータ２０、３０、４０とＢＧＰピアを形成してＢＧＰ経路情報の交換を行なうことにより、各ＢＧＰルータ２０、３０、４０からのＢＧＰ経路情報を集約して、各ＢＧＰルータに反映させるためのルートリフレクタ機能を備えている（以下、ＢＧＰルータ１０を「ＲＲ（Route Reflector）１０」という）。尚、ＲＲ１０として、同様のルートリフレクタ機能を備えたＲＳ（Route Server）を用いることも可能である。本実施形態では、このＲＲ１０において、後述するバックアップ処理およびＡｎｔｉ−Ｈｉｊａｃｋ処理を行なうことにより、ＢＧＰ経路情報の監視および異常経路の排除を行なう。
【００２１】
図２は、本実施形態におけるＲＲ１０の概略構成を示すブロック図である。図２に示すように、ＲＲ１０は、経路情報データベース１０２、バックアップ処理部１０３、バックアップ用ハードディスク１０４、ＩＲＲデータベース１０５、ＩＲＲデータベース更新部１０６、異常経路検出部１０７およびフィルタリング部１０８からなるＡｎｔｉ−Ｈｉｊａｃｋ処理部１１０、ネットワークインターフェース１０９、および各部を制御するための制御部１０１を備える。尚、図２に示されるＲＲ１０における各部の処理は、ＲＲ１０が備えるＲＯＭなどのメモリ（不図示）に記憶されたプログラムを呼び出すことにより、同じくＲＲ１０が備えるＣＰＵ（不図示）にて実行される構成であっても良いし、ＡＳＩＣ（Application Specific Integrated Circuit）として各部の処理の全部または一部を実装し、該ＡＳＩＣによってハードウェア的に実現される構成としても良い。
【００２２】
ＲＲ１０は、各ＢＧＰルータから送信されるＢＧＰ経路情報を、ネットワークインターフェース１０９を介して受信し、経路情報データベース１０２に登録する。そして、各ＢＧＰルータに当該経路情報を配信する。これにより、各ＢＧＰルータにてフルメッシュでＢＧＰピアを形成することなく、ＢＧＰ経路情報の交換が可能となる。そして、ネットワークのオペレータは、このＲＲ１０の経路情報データベース１０２を参照することにより、ＢＧＰ経路監視システム１のネットワークにおける現在のＢＧＰ経路情報を把握することができる。
【００２３】
また、本実施形態では、ＲＲ１０のバックアップ処理部１０３において、現在のＢＧＰ経路情報だけでなく、過去のＢＧＰ経路情報が保存される。詳しくは、バックアップ処理部１０３では、経路情報データベース１０２に登録されているデータを、定期的にバックアップ用ハードディスク１０４に保存する。尚、この保存は、オペレータの操作に応じて任意のタイミングで行なうことや、経路情報データベース１０２に登録される情報が変更/更新された際に行なうことも可能である。
【００２４】
さらに、一般的に過去のデータをバックアップする際には、当該データをテキストデータに変換して保存することが知られている。しかしながら、テキストデータに変換して保存した場合、当該テキストデータに基づいて解析を行なうためには、再度テキストデータを元のデータに変換するために大変な手間と時間がかかってしまう。また、当該データはメモリ上で分散して配置されている場合があるため必要な情報が保存されないこともある。そこで、本実施形態のバックアップ処理部１０３では、ＲＲ１０のメモリ（ＲＡＭ）に展開されている経路情報データベース１０２のスナップショットイメージを、バイナリデータとしてバックアップ用ハードディスク１０４に保存する構成となっている。このように構成することで、例えば、オペレータが一日前の経路情報を確認したい場合には、バックアップ用ハードディスク１０４から一日前の経路情報データベース１０２のバイナリデータを、再度メモリに読み出して展開することにより、迅速に経路情報データベース１０２を一日前の状態に戻すことが可能となる。
【００２５】
また、メモリのイメージをそのまま保存することにより、過去の経路情報データベース１０２における全てのデータを保存することができる。そのため、オペレータが必要な情報を取り出したり、検索を行なったりすることで、どの経路において、いつ、どのような理由で障害が発生したのかを容易に把握することが可能となる。さらに、経路情報データベース１０２が何らかの理由によりクラッシュした時でも、過去のメモリイメージを読み出すことにより、迅速に経路情報データベース１０２を復帰させることができ、周囲のルータに気付かれることなく、機能を継続させることも可能となる。
【００２６】
また、本実施形態のＡｎｔｉ−Ｈｉｊａｃｋ処理部１１０では、異常経路検出部１０７においてＢＧＰ経路情報を監視して経路に障害が発生したか（経路ハイジャックが発生したか）否かが検出され、障害が発生した場合には、フィルタリング部１０８により当該経路のフィルタリングが行なわれる。一般的に、経路ハイジャックの判断は、ＢＧＰ経路情報を受信した際に、ＩＲＲサーバ３００のＩＲＲデータベース（不図示）に登録されているＢＧＰ経路情報と、受信したＢＧＰ経路情報とを照合することによって行なわれる。具体的には、受信したＢＧＰ経路情報のＰｒｅｆｉｘ、ＰｒｅｆｉｘＬｅｎｇｔｈ、およびｏｒｉｇｉｎ属性に記述されたＯｒｉｇｉｎ ＡＳ番号と、ＩＲＲサーバ３００のＩＲＲデータベースに登録されているＰｒｅｆｉｘ、ＰｒｅｆｉｘＬｅｎｇｔｈ、およびＯｒｉｇｉｎ ＡＳ番号とを照合し、照合結果に基づいて経路ハイジャックの判断が行なわれている。
【００２７】
ここで、ＩＲＲサーバ３００のＩＲＲデータベースは、経路情報とその管理者（Ｏｒｉｇｉｎ ＡＳ番号）に関する情報が蓄積されたデータベースであり、インターネットを介して一般に公開されている。しかしながら、インターネット上のＩＲＲサーバ３００への問い合わせには制限があり、全ての経路を問い合わせる場合には、長時間かかってしまうといった問題がある。そのため、本実施形態では、ＲＲ１０にＩＲＲサーバ３００で公開されるＩＲＲデータベースのデータをコピーしたローカルのＩＲＲデータベース１０５を備え、受信したＢＧＰ経路情報とＩＲＲデータベース１０５におけるＢＧＰ経路情報とを内部的に照合する構成となっている。このように、ＲＲ１０内部で照合を行なうことにより、回数の制限なく全経路に対して迅速に照合が行なえると共に、ネットワークに送るトラフィックを削減することが可能となる。また、このＩＲＲデータベース１０５は、ＩＲＲデータベース更新部１０６によって、定期的にＩＲＲサーバ３００とデータの同期をとることにより、データの更新が行なわれる。さらに、本発実施形態では、ＩＲＲデータベース１０５から一度取得したエントリは一定時間キャッシュとして保持しておくことも可能である。この場合、受信したＢＧＰ経路情報をチェックする際には、まずキャッシュに保持しているエントリをチェックし、キャッシュにない場合のみＩＲＲデータベース１０５に問い合わせを行う。また、本実施形態では、ＩＲＲデータベース１０５からの返答を待たずに、通常のＢＧＰ処理を行なってから、ＩＲＲデータベース１０５からの返答を得た時点で当該経路のチェックを行なう構成としても良い。
【００２８】
また、受信したＢＧＰ経路情報とＩＲＲデータベース１０５のＢＧＰ経路情報とを照合した場合、両者が（１）一致する場合、（２）不一致の場合、または（３）問い合わせ中の場合の３つのステートのいずれかが考えられる。そして、従来のＡｎｔｉ−Ｈｉｊａｃｋ処理においては、両者の経路情報が（２）不一致の場合は、経路ハイジャックが検出されたとの判断を行なっていた。しかしながら、実際には、プロバイダへのマルチホーム接続等の影響により、正当な経路情報に対して、より詳細な経路情報（ＰｒｅｆｉｘＬｅｎｇｔｈが長い経路情報）として経路を通知する場合や、経路情報を少なくするために、アグリゲーションを行なって広い経路情報（ＰｒｅｆｉｘＬｅｎｇｔｈが短い経路情報）として経路を通知する場合などがある。この場合、適切な経路であってもＩＲＲデータベース１０５に登録されている情報と、受信したＢＧＰ経路情報に含まれる情報とが完全には一致しなくなってしまう。すなわち、従来の３ステートの分類では、経路がハイジャックされたか否かについて適切に判断することができない。そのため、本実施形態のＡｎｔｉ−Ｈｉｊａｃｋ処理部１１０では、受信したＢＧＰ経路情報とＩＲＲデータベース１０５のＢＧＰ経路情報の照合結果を８ステートに分類することにより、考え得る全てのケースにおいて適切なハイジャック判断を行ない、分類されたステートに応じて、ＢＧＰ経路情報のフィルタ、パスなどのアクションを行なう。
【００２９】
続いて、ＲＲ１０におけるＢＧＰ経路監視処理の流れについて、図３を参照して説明する。まず、最初に、制御部１０１にて所定時間が経過したか否かが判断される（Ｓ１０１）。ここでいう所定時間とは、経路情報データベース１０２のバックアップ周期、およびＩＲＲデータベース１０５の更新周期であり、オペレータにより任意に設定される。そして、所定の時間が経過したと判断された場合には（Ｓ１０１：Ｙｅｓ）、まず、バックアップ処理部１０３において、上記のような経路情報データベース１０２のバックアップ処理が行なわれる（Ｓ１０２）。続いて、ＩＲＲデータベース更新部１０６によって、ＩＲＲサーバ３００とのデータの同期が行われ、ＩＲＲデータベース１０５が更新される（Ｓ１０３）。ここで、経路情報データベース１０２のバックアップとＩＲＲデータベース１０５の更新は、別々のタイミングで行なわれるものであっても良い。
【００３０】
一方、所定の時間が経過していない場合には（Ｓ１０１：Ｎｏ）、Ｓ１０４のステップに進む。Ｓ１０４では、何れかのＢＧＰルータからＢＧＰ経路情報を受信したか否かが判断される（Ｓ１０４）。そして、ＢＧＰ経路情報を受信していない場合には（Ｓ１０４：Ｎｏ）、Ｓ１０１の処理に戻り、再度所定の時間が経過したかが判断される。一方、ＢＧＰ経路情報を受信した場合は（Ｓ１０４：Ｙｅｓ）、Ａｎｔｉ−Ｈｉｊａｃｋ処理部１１０におけるＡｎｔｉ−Ｈｉｊａｃｋ処理（Ｓ１０５およびＳ１０６）が行なわれる。まず、Ｓ１０５では、受信したＢＧＰ経路情報が異常経路であるか否かを判断するための異常経路検出処理が行なわれる。図４は、本実施形態の異常経路検出処理の流れを示すフローチャートである。本実施形態では、異常経路検出部１０７にて、受信したＢＧＰ経路情報とＩＲＲデータベース１０５に登録されているＢＧＰ経路情報との照合結果が下記８つのステートに分類される。
１：Exact Match
２：More Specific
３：Less Specific
４：Multiple Origin（Hijacking）
５：Punching Hole（Hijacking）
６：Miss Config（Hijacking）
７：Hijacking
８：Pending
【００３１】
具体的には、まず受信したＢＧＰ経路情報のＰｒｅｆｉｘおよびＰｒｅｆｉｘＬｅｎｇｔｈに基づいて、ＩＲＲデータベース１０５のexact検索が行なわれる（Ｓ１）。exact検索では、受信したＢＧＰ経路情報におけるＰｒｅｆｉｘおよびＰｒｅｆｉｘＬｅｎｇｔｈの両方が完全に一致するものがＩＲＲデータベース１０５にあるかどうかを検索する。例えば、受信したＢＧＰ経路情報のＰｒｅｆｉｘ/ＰｒｅｆｉｘＬｅｎｇｔｈが「1.1.0.0/16」の場合、ＩＲＲデータベース１０５にてＰｒｅｆｉｘ/ＰｒｅｆｉｘＬｅｎｇｔｈが「1.1.1.0/16」のＢＧＰ経路情報がある場合のみ、exact検索がヒットしたと判断される。そして、exact検索がヒットした場合は（Ｓ１：Ｙｅｓ）、続いて当該ＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と、ＩＲＲデータベース１０５におけるＯｒｉｇｉｎ ＡＳ番号とが一致するか否かが判断される（Ｓ２）。そして、Ｏｒｉｇｉｎ ＡＳ番号が一致する場合は（Ｓ２：Ｙｅｓ）、当該ＢＧＰ経路情報は「Exact Match」ステートであると判断される（Ｓ３）。一方、Ｏｒｉｇｉｎ ＡＳ番号が一致しない場合は（Ｓ２：Ｎｏ）、「Multiple Origin (Hijacking)」ステートであると判断される（Ｓ４）。
【００３２】
また、Ｓ１にてexact検索を行なってヒットしなかった場合は（Ｓ１：Ｎｏ）、best検索が行なわれる（Ｓ５）。best検索では、受信したＢＧＰ経路情報とＰｒｅｆｉｘが一致し、ＰｒｅｆｉｘＬｅｎｇｔｈが短いものがＩＲＲデータベース１０５にあるかどうかが検索される。例えば、ＢＧＰ経路情報のＰｒｅｆｉｘ/ＰｒｅｆｉｘＬｅｎｇｔｈが「1.1.0.0/24」の場合、ＩＲＲデータベース１０５にて「1.1.1.0/24」よりＰｒｅｆｉｘＬｅｎｇｔｈが短いもの（例えば「1.1.0.0/16」）がある場合のみ、best検索がヒットしたと判断される。そして、best検索がヒットした場合は（Ｓ５：Ｙｅｓ）、続いて当該ＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と、ＩＲＲデータベース１０５におけるＯｒｉｇｉｎ ＡＳ番号とが一致するか否かが判断される（Ｓ６）。そして、Ｏｒｉｇｉｎ ＡＳ番号が一致する場合は（Ｓ６：Ｙｅｓ）、当該経路は「More Specific」ステートであると判断される（Ｓ７）。一方、Ｏｒｉｇｉｎ ＡＳ番号が一致しない場合は（Ｓ６：Ｎｏ）、「Punching Hole (Hijacking)」ステートであると判断される（Ｓ８）。
【００３３】
さらに、Ｓ５におけるbest検索を行なってヒットしなかった場合は（Ｓ５：Ｎｏ）、best検索を用いて、受信したＢＧＰ経路情報とＰｒｅｆｉｘが一致し、ＰｒｅｆｉｘＬｅｎｇｔｈが長いものがＩＲＲデータベース１０５にあるかどうかを検索する。ここにおけるbest検索では、Ｐｒｅｆｉｘが一致し、ＰｒｅｆｉｘＬｅｎｇｔｈが短いものしか検索することができない。そのため、Ｓ９において、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈを最大値へと変更した上で、再度best検索が行なわれる（Ｓ１０）。例えば、受信したＢＧＰ経路情報のＰｒｅｆｉｘ/ＰｒｅｆｉｘＬｅｎｇｔｈが「1.1.0.0/16」の場合、当該ＰｒｅｆｉｘＬｅｎｇｔｈが「1.1.1.0/32」に変更された上で、ＩＲＲデータベース１０５にて「1.1.1.0/32」よりＰｒｅｆｉｘＬｅｎｇｔｈが短いもの（例えば「1.1.0.0/24」など）がある場合のみ、best検索がヒットしたと判断される。このように、Ｓ１０では、受信したＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈに関係なく、Ｐｒｅｆｉｘが一致するものについての検索が行なわれるが、受信したＢＧＰ経路情報よりＰｒｅｆｉｘＬｅｎｇｔｈが短いものについては、Ｓ５のbest検索にてヒットされており、Ｓ１０の処理は行なわれない。そのため、実際には、Ｓ１０では、受信したＢＧＰ経路情報よりＰｒｅｆｉｘＬｅｎｇｔｈが長いもののみが検索される。尚、本発明は、IPv4およびIPv6の何れのプロトコルにおいても適用可能であり、IPv6の場合には、Ｓ９にて当該受信されたＢＧＰ経路情報のＰｒｅｆｉｘＬｅｎｇｔｈが「1.1.1.0/128」に変更された上で、ＩＲＲデータベース１０５にて「1.1.1.0/128」よりＰｒｅｆｉｘＬｅｎｇｔｈが短いものがbest検索される。そして、best検索がヒットした場合は（Ｓ１０：Ｙｅｓ）、続いて当該ＢＧＰ経路情報のＯｒｉｇｉｎ ＡＳ番号と、ＩＲＲデータベース１０５におけるＯｒｉｇｉｎ ＡＳ番号とが一致するか否かが判断される（Ｓ１１）。そして、Ｏｒｉｇｉｎ ＡＳ番号が一致する場合は（Ｓ１１：Ｙｅｓ）、当該経路は「Less Specific」ステートであると判断される（Ｓ１２）。一方、Ｏｒｉｇｉｎ ＡＳ番号が一致しない場合は（Ｓ１１：Ｎｏ）、当該経路は「Hijacking」ステートであると判断される（Ｓ１３）。
【００３４】
また、Ｓ１０におけるbest検索を行なってもヒットしなかった場合は（Ｓ１０：Ｎｏ）、ＩＲＲデータベース１０５に問い合わせ中であるか否かが判断される（Ｓ１４）。そして、ＩＲＲデータベース１０５に問い合わせ中の場合は（Ｓ１４：Ｙｅｓ）、「Pending」ステートであると判断される（Ｓ１５）。一方、問い合わせ中でない場合は（Ｓ１４:Ｎｏ）、当該経路は「Miss Config（Hijacking）」ステートであると判断される（Ｓ１６）。
【００３５】
表１は、図２の処理における各ステートの分類をまとめた表である。
【表１】
2011087302.tif 000003
【００３６】
そして、図４における異常経路検出処理が終了すると、再び、図３のＢＧＰ経路監視処理に戻る。そして、続くＳ１０６にて異常経路の検出結果に基づき、フィルタリング部１０８によるＢＧＰ経路情報のフィルタリングが行なわれる。本実施形態のフィルタリング部１０８では、分類した８ステートにそれぞれ所定のアクションを設定し、異常経路のフィルタリングを行なうことが可能である。例えば、上記８ステートにおいて、「Exact Match」、「More Specific」、「Less Specific」、「Pending」の場合は当該ＢＧＰ経路情報をパス（許可）し（経路情報データベース１０２に登録することを許可し）、「Multiple Origin（Hijacking）」、「Punching Hole（Hijacking）」、「Hijacking」および「Miss Config（Hijacking）」の場合は当該経路情報をフィルタする（排除する）（経路情報データベース１０２への登録を行わない、登録を保留する）よう設定することが可能である。また、その他にも「Multiple Origin（Hijacking）」、および「Punching Hole（Hijacking）」の場合にも当該ＢＧＰ経路情報をパスさせたり、各ステートのアクションに対して優先順位を設定したりすることも可能である。
【００３７】
本実施形態では、上記のようにＢＧＰルータであるＲＲ１０にて、受信したＢＧＰ経路情報が異常経路か否かを判断し、異常経路に対してフィルタリングを行なうことにより、オペレータによる操作を必要とせずに、異常経路の排除を行なうことができる。また、経路情報を８つのステートに分類することで、ネットワーク上の想定し得る全ての経路に対して、適切なフィルタリングを行なうことが可能となり、異常経路を正常な経路情報として配信してしまうことはもちろん、本来は正常な経路が異常経路として排除されてしまうことを防ぐことができる。さらに、各ステートに応じたアクションを設定することで、各ＡＳのポリシーに沿った自由度の高いフィルタリングを行なうことが可能となる。
【００３８】
以上が本発明の例示的な実施形態の説明である。本発明の実施形態の具体的態様は、上記に説明したものに限定されず、特許請求の範囲の記載により表現された技術的思想の範囲内で任意に変更することができる。以下に、そのような変更の例を幾つか提示する。
【００３９】
まず、上記実施形態では、ＢＧＰ経路情報を受信した時点でフィルタリングを行なう構成としたが、フィルタリングのタイミングとしては、下記３つのタイミングがあり、オペレータによって任意に選択することも可能である。
・Inbound：ＢＧＰ経路情報がＲＲ１０に入ってきた時点でフィルタリングする。
・Outbound：受信したＢＧＰ経路情報を各ＢＧＰルータ２０、３０、４０に配信する時点でフィルタリングする。
・Best Path Selection：複数の経路からベストパスを選択する時点でフィルタリングする。
【００４０】
さらに、InboundおよびOutboundの場合には、各ステートに設定するアクションとして、フィルタ／パスの他に、Ｐｒｅｆｉｘの指定や、各種ＢＧＰ情報の設定および変更を行なうことも可能である。具体的には、例えばあるＰｒｅｆｉｘについて、特に経路ハイジャックの確認を行ないたい場合には、Ｐｒｅｆｉｘの指定を行なって、当該Ｐｒｅｆｉｘに対してのみ上記Ａｎｔｉ−Ｈｉｊａｃｋ処理を行なうようにすることも可能である。また、ＢＧＰピアの指定を行なうことによって、例えばプライベートピアの場合はＡｎｔｉ−Ｈｉｊａｃｋ処理を不要とするなどの設定を行なうこともできる。さらに、ＢＧＰ経路情報に含まれるＬＯＣＡＬ＿ＰＲＥＦ属性などの属性を書き換えることにより、経路情報として受信することは可能だが、ベストパスとしては選択されないよう構成することもできる。このように、種々のアクションを設定可能として、必要な経路情報についてのみＡｎｔｉ−Ｈｉｊａｃｋ処理を行なうことで、処理の高速化が可能となる。
【００４１】
また、通常、新しいＩＰアドレスがＩＲＲサーバ３００に登録されるまでには、種々の手続きにより時間がかかる。そのため、当該ＩＰアドレスに関するＢＧＰ経路情報が送られた時に、ＩＲＲサーバ３００のＩＲＲデータベースには、当該経路情報が未だ登録されていないことがある。このようなタイミングでＩＲＲデータベース１０５が更新された場合、上記実施形態におけるＡｎｔｉ−Ｈｉｊａｃｋ処理を行なうと、当該経路は異常経路（Hijacking）と判断され、フィルタされてしまう。さらに、ＢＧＰは、ハードステートプロトコルであるため、経路情報が変更されない限り、再度同じ経路情報が送信されることはない。そのため、一旦ＲＲ１０にて新しいＢＧＰ経路情報が異常経路としてフィルタされてしまうと、当該ＢＧＰ経路情報が、ＩＲＲサーバ３００に登録された後でも、フィルタされ続けてしまう。そこで、例えば、定期的に、またはＩＲＲデータベース１０５が更新された時点で、経路情報データベース１０２に登録されている全ＢＧＰ経路情報に対してＩＲＲデータベース１０５に基づくＡｎｔｉ−Ｈｉｊａｃｋ処理を行ない、各経路における状態の再評価を行なうことも有効である。
【００４２】
また、いずれかのＢＧＰ経路情報の状態が変化したことをログに記録し、オペレータへ通知することも可能である。これにより、オペレータは、経路に異常が発生したことを迅速に認識することができる。
【００４３】
その他にも、例えば、上述のＲＲ１０におけるバックアップ処理および異常経路検出処理を、ＢＧＰルータを遠隔操作するために接続された端末装置（ＰＣ等）において実行することも可能である。この場合は、当該端末装置に、ＢＧＰのパッシブスピーカとしての機能を備えることにより、ＲＲ１０における経路情報を取得する。さらに、図２に示されるＲＲ１０におけるフィルタリング部１０８以外の各処理部を備え、バックアップ処理および異常経路検出処理を行なうことも可能である。また、この場合、異常経路検出部１０７によって異常経路が検出された場合は、当該異常経路についてオペレータに通知すること、および／または、分類された８ステートに基づいて各種アクション（フィルタリング）を行なうようＲＲ１０の遠隔操作を行なうことが可能である。このように、構成することにより、ＲＲ１０における処理の負荷を軽減すること、および既存のＢＧＰルータをそのまま利用して、上述の機能を実現することが可能となる。
【符号の説明】
【００４４】
１０  ＲＲ
２０、３０、４０  ＢＧＰルータ
１０１  制御部
１０２  経路情報データベース
１０３  バックアップ処理部
１０４  バックアップ用ＨＤＤ
１０５  ＩＲＲデータベース
１０６  ＩＲＲデータベース更新部
１０７  異常経路検出部
１０８  フィルタリング部
１０９  ネットワークインターフェース
１１０  Ａｎｔｉ−Ｈｉｊａｃｋ処理部
３００  ＩＲＲサーバ
１０００、２０００  ＡＳ
【図１】
2011087302.tif 000004
【図２】
2011087302.tif 000005
【図３】
2011087302.tif 000006
【図４】
2011087302.tif 000007