(57)【要約】【課題】疎通させたいネットワークからのＩＰパケットの通信を確保しつつ、なりすましのＩＰパケットの通信を防止する。【解決手段】ルータ１０は、各ＡＳの正当な経路情報を保持するＩＲＲサーバ２０から、経路情報を取得し、取得した経路情報に示されるネットワークをPrefixフィルタに設定する。そして、ルータ１０がＩＰパケットを受信すると、当該ＩＰパケットの送信元のネットワークがルーティング情報に登録され、かつ、ＩＰパケットの受信に用いられたＩＦが、ルーティング情報において当該ＩＰパケットの送信元のネットワークとの通信に用いられるＩＦとして登録されているＩＰパケットを疎通させる。また、ルータ１０は、当該ＩＰパケットの送信元のネットワークがPrefixフィルタに登録されているＩＰパケットも疎通させる。【選択図】図１
2018026761.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰパケットのルーティングを行うルータであって、
ネットワークごとに、当該ネットワークとの通信に用いる自身のルータのインタフェースの識別情報を含むルーティング情報、および、各ＡＳ（Autonomous  System）の正当な経路情報を保持するＩＲＲ（Internet  Routing  Registry）サーバから取得した前記経路情報に示されるネットワークが登録されたフィルタ情報を記憶する記憶部と、
前記ＩＰパケットの受信および送信に用いられる前記インタフェースと、
受信した前記ＩＰパケットの送信元のネットワークが前記ルーティング情報に登録され、かつ、前記ＩＰパケットの受信に用いられたインタフェースが、前記ルーティング情報において前記ＩＰパケットの送信元のネットワークとの通信に用いられるインタフェースとして登録されている場合、前記ＩＰパケットを疎通させると判定する第１の判定部と、
前記第１の判定部において疎通させると判定されなかったＩＰパケットの送信元のネットワークが、前記フィルタ情報に登録されるネットワークである場合、前記ＩＰパケットを疎通させると判定する第２の判定部と、
前記第１の判定部により疎通させると判定されたＩＰパケットおよび前記第２の判定部により疎通させると判定されたＩＰパケットを、前記ルーティング情報を参照して、前記ＩＰパケットの宛先のネットワークへ転送するパケット転送部と、
前記第１の判定部にも前記第２の判定部にも疎通させると判定されなかったＩＰパケットを破棄するパケット処理部と、
を備えることを特徴とするルータ。
【請求項２】
前記ＩＲＲサーバから、前記経路情報を取得し、取得した前記経路情報に示されるネットワークを前記フィルタ情報に設定するフィルタ設定部をさらに備えることを特徴とする請求項１に記載のルータ。
【請求項３】
各ＡＳからＢＧＰ（Border  Gateway  Protocol）により広告された経路情報に基づき、前記ルーティング情報を設定するルーティング情報設定部をさらに備えることを特徴とする請求項１に記載のルータ。
【請求項４】
ＩＰパケットのルーティングを行うルータが、
各ＡＳ（Autonomous  System）の正当な経路情報を保持するＩＲＲ（Internet  Routing  Registry）サーバから、前記経路情報を取得し、取得した前記経路情報に示されるネットワークをフィルタ情報に設定するフィルタ設定ステップと、
インタフェース経由でＩＰパケットを受信する受信ステップと、
受信した前記ＩＰパケットの送信元のネットワークがルーティング情報に登録され、かつ、前記ＩＰパケットの受信に用いられたインタフェースが、前記ルーティング情報において前記ＩＰパケットの送信元のネットワークとの通信に用いられるインタフェースとして登録されている場合、前記ＩＰパケットを疎通させると判定する第１の判定ステップと、
前記第１の判定ステップにおいて疎通させると判定されなかったＩＰパケットの送信元のネットワークが、前記フィルタ情報に登録されるネットワークである場合、前記ＩＰパケットを疎通させると判定する第２の判定ステップと、
前記第１の判定ステップで疎通させると判定されたＩＰパケットおよび前記第２の判定ステップで疎通させると判定されたＩＰパケットを、前記ルーティング情報を参照して、前記ＩＰパケットの宛先のネットワークへ転送するパケット転送ステップと、
前記第１の判定ステップでも前記第２の判定ステップでも疎通させると判定されなかったＩＰパケットを破棄するパケット処理ステップと、
を含んだことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ、および、通信方法に関する。
【背景技術】
【０００２】
従来、経路情報を参照してＩＰ通信の正当性チェック（検査）を行う技術としてuRPF（unicast  Reverse  Path  Forwarding）があり、このuRPFにはStrictモードとLooseモードの２つのモードが存在する（非特許文献１参照）。
【０００３】
Looseモードでは、検査対象のＩＰパケットの送信元ＩＰアドレスがルーティング情報に載っている場合、ルータは、当該ＩＰパケットを疎通させ、送信元ＩＰアドレスがルーティング情報に載っていない場合は、当該ＩＰパケットを破棄する。
【０００４】
また、Strictモードでは、（１）検査対象のＩＰパケットの送信元ＩＰアドレスが、ルーティング情報に載っており、かつ、（２）当該ＩＰパケットの送信元ＩＰアドレスが、ルーティング情報において、当該ＩＰパケットを受信したルータのＩＦ（インタフェース）の先のネットワークとして設定されているか否かをチェックする。そして、ルータは、上記の条件を満たすＩＰパケットについては疎通させ、上記の条件を満たさないＩＰパケットを破棄する。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ingress  Filtering  for  Multihomed  Networks、［平成28年7月27日検索］、インターネット＜URL：https://www.ietf.org/rfc/rfc3704.txt＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記のLooseモードの場合、ルータは、送信元ＩＰアドレスにルーティング情報に登録されるＩＰアドレスを詐称して設定されたＩＰパケット（なりすましのＩＰパケット）については破棄できない。また、Strictモードの場合、ルータは、ルーティング情報においてＩＦの先のネットワークとして設定されるネットワーク以外からのＩＰパケットについて、当該ＩＰパケットが正当なＩＰパケットであっても疎通させることができない。
【０００７】
そこで、本発明は、前記した問題を解決し、疎通させたいネットワークからのＩＰパケットの通信を確保しつつ、なりすましのＩＰパケットの通信を防止することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、本発明は、ＩＰパケットのルーティングを行うルータであって、ネットワークごとに、当該ネットワークとの通信に用いる自身のルータのインタフェースの識別情報を含むルーティング情報、および、各ＡＳ（Autonomous  System）の正当な経路情報を保持するＩＲＲ（Internet  Routing  Registry）サーバから取得した前記経路情報に示されるネットワークが登録されたフィルタ情報を記憶する記憶部と、前記ＩＰパケットの受信および送信に用いられる前記インタフェースと、受信した前記ＩＰパケットの送信元のネットワークが前記ルーティング情報に登録され、かつ、前記ＩＰパケットの受信に用いられたインタフェースが、前記ルーティング情報において前記ＩＰパケットの送信元のネットワークとの通信に用いられるインタフェースとして登録されている場合、前記ＩＰパケットを疎通させると判定する第１の判定部と、前記第１の判定部において疎通させると判定されなかったＩＰパケットの送信元のネットワークが、前記フィルタ情報に登録されるネットワークである場合、前記ＩＰパケットを疎通させると判定する第２の判定部と、前記第１の判定部により疎通させると判定されたＩＰパケットおよび前記第２の判定部により疎通させると判定されたＩＰパケットを、前記ルーティング情報を参照して、前記ＩＰパケットの宛先のネットワークへ転送するパケット転送部と、前記第１の判定部にも前記第２の判定部にも疎通させると判定されなかったＩＰパケットを破棄するパケット処理部と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、疎通させたいネットワークからのＩＰパケットの通信を確保しつつ、なりすましのＩＰパケットの通信を防止することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、通信システムの構成例および概要を説明する図である。
【図２】図２は、ルータの構成例を示す図である。
【図３】図３は、ルータの処理手順の例を示す図である。
【図４】図４は、通信プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明を実施するための形態（実施形態）について説明する。まず、図１を用いて本実施形態の通信システムの構成例および概要を説明する。
【００１２】
（実施形態）
通信システムは、例えば、ルータ１０と、ＩＲＲ（Internet  Routing  Registry）サーバ２０とを備える。ルータ１０は、隣接するＡＳ（Autonomous  System）からＢＧＰ（Border  Gateway  Protocol）により経路情報の広告を受け、広告された経路情報に基づき、ＩＰパケットのルーティングを行う。
【００１３】
ＩＲＲサーバ２０は、正当な経路情報を蓄積する。この経路情報には、各ＡＳの属するネットワークの情報（ＩＰアドレス空間）等が含まれる。
【００１４】
ルータ１０は、隣接するＡＳから広告された経路情報に基づきルーティング情報を作成し、このルーティング情報を用いてＩＰパケットのルーティングを行う。なお、このルーティング情報は、ＦＩＢ（Forwarding  Infomation  Base）、つまり、ＩＰパケットの宛先となるネットワークのＩＰアドレス空間（Destinetion）と、当該ネットワークとの通信に用いるインタフェース（NextHop/IF）の識別情報とを示した情報が含まれる。
【００１５】
ここでルータ１０は、例えば、所定期間ごとにＩＲＲサーバ２０から正当な経路情報を取得し、取得した経路情報をPrefixフィルタに設定する。つまり、ルータ１０はPrefixフィルタのアップデートを行う。そして、ルータ１０は、このPrefixフィルタとルーティング情報とを用いてＩＰ通信の正当性のチェックを行う。
【００１６】
具体的には、ルータ１０は、ルーティング情報におけるＩＦの先のネットワークからのＩＰパケットを疎通させる（（１））。また、ルータ１０は、Prefixフィルタに登録されたネットワークからのＩＰパケットも疎通させる（（２））。つまり、ルータ１０は、ルーティング情報におけるＩＦの先のネットワークとして登録されているネットワーク以外からのＩＰパケットであっても、Prefixフィルタに登録されたネットワークからのＩＰパケットであれば疎通させる。
【００１７】
例えば、ルータ１０のルーティング情報にはＩＦ１の先のネットワークとして１９２.０．２.０／２４が設定され、PrefixフィルタにはＡＳ２００の経路情報として１９２.０．２.０／２４と１９８.５１.１００．０／２４とが設定されている場合を考える。また、ＡＳ２００内の１９８.５１.１００．０／２４は１９２.０．２.０／２４経由でルータ１０のＩＦ１からインターネットにアクセスする場合を考える。
【００１８】
この場合、ルータ１０がＩＦ１経由でＡＳ２００の１９２.０．２．０／２４のネットワークからの通信に受け付けたとき、当該通信はルーティング情報におけるＩＦ１の先のネットワークからの通信なので疎通させる。また、ルータ１０は、ＡＳ２００の１９８.５１.１００.０／２４のネットワークからの通信（従来、uRPFのStrictモードでは遮断される通信）については、ルーティング情報におけるＩＦ１の先のネットワークからの通信ではないが、Prefixフィルタに登録されるネットワークからの通信なので疎通させる。
【００１９】
このようにすることで、ルータ１０のルーティング情報に当該ネットワークの経路情報が登録されなかった場合でも、当該ネットワークからの通信を疎通させることができる。
【００２０】
例えば、図１におけるＡＳ２００が、１９８.５１．１００．０／２４のネットワークへの大量アクセス防止のため、隣接するＡＳに対して、１９８.５１．１００．０／２４のネットワークの経路広告をしなかった場合でも、ルータ１０は、１９８.５１．１００．０／２４のネットワークからの通信を疎通させることができる。また、ＡＳ２００がマルチホームされているため、１９８.５１．１００．０／２４のネットワークが他のルータ（図示省略）には経路情報を広告したが、図１に示すルータ１０には経路情報を広告しなかった場合等でも、ルータ１０は、１９８.５１．１００．０／２４のネットワークからの通信を疎通させることができる。
【００２１】
なお、ルータ１０は、例えば、２０３.０.１１３．０／２４のネットワークからの通信等、ルーティング情報にもPrefixフィルタにも登録されていないネットワークからの通信については、遮断する。これにより、ルータ１０は、従来のuRPFのLooseモードでは疎通可能となっていた、送信元ＩＰアドレスが詐称された可能性のある通信（なりすましの通信）を遮断することができる。
【００２２】
つまり、このようなルータ１０によれば、疎通させたいネットワークからのＩＰパケットの通信を確保しつつ、なりすましのＩＰパケットの通信を防止することができる。
【００２３】
（構成）
次に、図２を用いて、ルータ１０の構成を説明する。ルータ１０は、入出力部１１と、記憶部１２と、制御部１３とを備える。
【００２４】
入出力部１１は、各種データの入出力を司る。この入出力部１１は、例えば、ＩＰパケットの入出力を行うＩＦを含む。
【００２５】
記憶部１２は、制御部１３がＩＰパケットのルーティングやフィルタリングを行う際に参照する各種情報を記憶する。この記憶部１２は、例えば、ルーティング情報とPrefixフィルタとを記憶する。
【００２６】
ルーティング情報は、ネットワークそれぞれの経路を示した情報である。このルーティング情報は、前記したＦＩＢを含む。
【００２７】
Prefixフィルタは、制御部１３がＩＰパケットのフィルタリングに用いる情報であり、例えば、疎通させるＩＰパケットの送信元ＩＰパケットのPrefixが設定される。このPrefixフィルタには、ＩＲＲサーバ２０で保持される経路情報と同じ情報が設定される。
【００２８】
制御部１３は、ルータ１０全体の制御を司り、ここでは主にＩＰパケットのフィルタリングやＩＰパケットの転送を行う。この制御部１３は、ルーティング情報設定部１３１と、フィルタ設定部１３２と、第１の判定部１３３と、第２の判定部１３４と、パケット転送部１３５と、パケット処理部１３６とを備える。
【００２９】
ルーティング情報設定部１３１は、入出力部１１経由で他のＡＳからの経路情報の広告を受け付けると、広告された経路情報に基づき、ルーティング情報を設定する。
【００３０】
フィルタ設定部１３２は、ＩＲＲサーバ２０から、正当な経路情報を取得し、取得した経路情報をPrefixフィルタに設定する。例えば、フィルタ設定部１３２は、所定期間ごとにＩＲＲサーバ２０から、正当な経路情報を取得し、取得した経路情報でPrefixフィルタの情報を更新する。
【００３１】
第１の判定部１３３は、入出力部１１経由で受信したＩＰパケットの送信元のネットワークがルーティング情報に登録され、かつ、当該ＩＰパケットの受信に用いられたＩＦが、ルーティング情報において当該ＩＰパケットの送信元のネットワークとの通信に用いられるＩＦとして登録されているか否かを判定する。そして、第１の判定部１３３は、ＩＰパケットの送信元のネットワークがルーティング情報に登録され、かつ、当該ＩＰパケットの受信に用いられＩＦが、ルーティング情報において当該ＩＰパケットの送信元のネットワークとの通信に用いられるＩＦとして登録されている場合、当該ＩＰパケットを疎通させると判定する。
【００３２】
第２の判定部１３４は、受信したＩＰパケットの送信元のネットワークが、Prefixフィルタに登録されるネットワークである場合、ＩＰパケットを疎通させると判定する。例えば、第２の判定部１３４は、第１の判定部１３３において疎通させると判定されなかったＩＰパケットであっても、当該ＩＰパケットの送信元のネットワークが、Prefixフィルタに登録されるネットワークであれば、当該ＩＰパケットを疎通させると判定する。
【００３３】
パケット転送部１３５は、ルーティング情報に基づき、ＩＰパケットを転送する。具体的には、パケット転送部１３５は、第１の判定部１３３により疎通させると判定されたＩＰパケット、および、第２の判定部１３４により疎通させると判定されたＩＰパケットを、ルーティング情報を参照して、当該ＩＰパケットの宛先のネットワークへ転送する。
【００３４】
パケット処理部１３６は、第１の判定部１３３にも第２の判定部１３４にも疎通させると判定されなかったＩＰパケットを破棄する。
【００３５】
このようなルータ１０によれば、疎通させたいネットワークからのＩＰパケットの通信を確保しつつ、なりすましのＩＰパケットの通信を防止することができる。なお、ルータ１０は、Prefixフィルタのみを用いてＩＰパケットのフィルタリングを行ってもよいが、第１の判定部１３３においてルーティング情報を用いて疎通させないと判定されたＩＰパケットについて、第２の判定部１３４がPrefixフィルタを用いて疎通させるか否かを判定することで、Prefixフィルタのみを用いてＩＰパケットのフィルタリングを行うよりもフィルタリングに要する処理負荷を低減できる。
【００３６】
（処理手順）
次に、図３を用いて、ルータ１０によるＩＰパケットのフィルタリング処理手順を説明する。なお、ルータ１０は、事前に、他のＡＳから広告された経路情報に基づきルーティング情報を設定し、また、ＩＲＲサーバ２０から取得した正当な経路情報を用いてPrefixフィルタを設定しているものとする。
【００３７】
まず、ルータ１０がＩＦ経由でＩＰパケットを受信すると（Ｓ１）、第１の判定部１３３は、Ｓ１で受信したＩＰパケットの送信元のネットワークがルーティング情報に登録され、かつ、当該ＩＰパケットの受信に用いられたＩＦが、ルーティング情報において当該ＩＰパケットの送信元のネットワークとの通信に用いるＩＦとして登録されているか否かを判定する（Ｓ２）。
【００３８】
Ｓ２において、第１の判定部１３３がＳ１で受信したＩＰパケットの送信元のネットワークがルーティング情報に登録され、かつ、当該ＩＰパケットの受信に用いられたＩＦが、ルーティング情報において当該ＩＰパケットの送信元のネットワークとの通信に用いるＩＦとして登録されていると判定した場合（Ｓ２でＹｅｓ）、当該ＩＰパケットを疎通させると判定し、パケット転送部１３５は、ルーティング情報に基づき当該ＩＰパケットを宛先のネットワークへ転送する（Ｓ４）。
【００３９】
一方、第１の判定部１３３は、Ｓ１で受信したＩＰパケットの送信元のネットワークがルーティング情報に登録されていないと判定した場合、または、当該ＩＰパケットの受信に用いられたＩＦが、ルーティング情報において当該ＩＰパケットの送信元のネットワークとの通信に用いるＩＦとして登録されていないと判定した場合（Ｓ２でＮｏ）、Ｓ３へ進む。
【００４０】
Ｓ３において第２の判定部１３４は、当該ＩＰパケットの送信元のネットワークが、Prefixフィルタに登録されているか否かを判定する。そして、第２の判定部１３４は、当該ＩＰパケットの送信元のネットワークが、Prefixフィルタに登録されていると判定した場合（Ｓ３でＹｅｓ）、当該ＩＰパケットを疎通させると判定し、Ｓ４へ進む。一方、第２の判定部１３４は、当該ＩＰパケットの送信元のネットワークが、Prefixフィルタに登録されていないと判定した場合（Ｓ３でＮｏ）、パケット処理部１３６は、当該ＩＰパケットを破棄する（Ｓ５）。
【００４１】
このようなルータ１０によれば、疎通させたいネットワークからのＩＰパケットの通信を確保しつつ、なりすましのＩＰパケットの通信を防止することができる。
【００４２】
（その他の実施形態）
なお、前記した実施形態において通信システムで用いるルータ１０は、ＢＧＰにより他のＡＳからの経路情報の広告を受けるルータ（ＢＧＰルータ）である場合を例に説明したが、ＢＧＰルータ以外のルータであってもよい。
【００４３】
（プログラム）
また、上記の実施形態で述べたルータ１０の機能を実現する通信プログラムを所望の情報処理装置（コンピュータ）にインストールすることによって実現できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記の通信プログラムを情報処理装置に実行させることにより、情報処理装置をルータ１０として機能させることができる。ここで言う情報処理装置は、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）であってもよい。
【００４４】
以下に、通信プログラムを実行するコンピュータの一例を説明する。図４は、通信プログラムを実行するコンピュータを示す図である。図４に示すように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ（Central  Processing  Unit）１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００４５】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ（Random  Access  Memory）１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。ディスクドライブ１１００には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１１１０およびキーボード１１２０が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１１３０が接続される。
【００４６】
ここで、図４に示すように、ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ１０９０やメモリ１０１０に記憶される。
【００４７】
そして、ＣＰＵ１０２０が、ハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００４８】
なお、通信プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、通信プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００４９】
１０    ルータ
１１    入出力部
１２    記憶部
１３    制御部
２０    ＩＲＲサーバ
１３１  ルーティング情報設定部
１３２  フィルタ設定部
１３３  第１の判定部
１３４  第２の判定部
１３５  パケット転送部
１３６  パケット処理部
【図１】
2018026761.tif 000003
【図２】
2018026761.tif 000004
【図３】
2018026761.tif 000005
【図４】
2018026761.tif 000006