(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024169660
(43)【公開日】2024-12-05
(54)【発明の名称】パケット通信装置、パケット処理ルール設定方法、及びプログラム
(51)【国際特許分類】
H04L 45/745 20220101AFI20241128BHJP
【FI】
H04L45/745
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2024166041
(22)【出願日】2024-09-25
(62)【分割の表示】P 2022546854の分割
【原出願日】2020-09-07
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】宮本 克真
(72)【発明者】
【氏名】木村 明寛
(72)【発明者】
【氏名】河野 伸也
(72)【発明者】
【氏名】杉園 幸司
(72)【発明者】
【氏名】加納 浩輝
(57)【要約】
【課題】端末から受信したパケットを、1以上のパスのうちのいずれかのパスに振り分けるパケット通信装置において、パケット処理を適切に行う。
【解決手段】1以上のパスに接続されるパケット通信装置において、端末識別子と接続先パスとを紐付けて格納する記憶部と、端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるルーティング部と、端末識別子と払い出されたIPアドレスとの対応に基づいて、当該IPアドレスのパケットを、前記記憶部において当該端末識別子に紐付けられた接続先パスに出力するよう、前記ルーティング部におけるパケット処理の適用ルールを設定する制御部とを備える。
【選択図】
図15
【特許請求の範囲】
【請求項1】
1以上のパスに接続されるパケット通信装置であって、
端末識別子と接続先パスとを紐付けて格納する記憶部と、
端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるルーティング部と、
端末識別子と払い出されたIPアドレスとの対応に基づいて、当該IPアドレスのパケットを、前記記憶部において当該端末識別子に紐付けられた接続先パスに出力するよう、前記ルーティング部におけるパケット処理の適用ルールを設定する制御部と
を備えるパケット通信装置。
【請求項2】
前記パケット処理の適用ルールは、PBRにおけるルーティングルール、フィルタリングルール、及びトラフィック制御のルールのうちのいずれか1つ又は複数である
請求項1に記載のパケット通信装置。
【請求項3】
前記制御部は、前記端末の端末識別子に対応するIPアドレスを取得し、当該IPアドレスが変更されたか否かを監視し、当該IPアドレスが変更された場合に、前記適用ルールを更新する
請求項1に記載のパケット通信装置。
【請求項4】
1以上のパスに接続されるパケット通信装置が実行するパケット処理ルール設定方法であって、
前記パケット通信装置は、端末識別子と接続先パスとを紐付けて格納する記憶部と、端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるルーティング部とを備えており、
端末識別子と払い出されたIPアドレスとの対応に基づいて、当該IPアドレスのパケットを、前記記憶部において当該端末識別子に紐付けられた接続先パスに出力するよう、前記ルーティング部におけるパケット処理の適用ルールを設定する
パケット処理ルール設定方法。
【請求項5】
コンピュータを、請求項1ないし3のうちいずれか1項に記載のパケット通信装置における各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットを、1以上のパスのうちのいずれかのパスに振り分ける技術及び振り分け時におけるパケット処理(フィルタリングやトラフィック制御等)を実施する技術に関連するものである。
【背景技術】
【0002】
近年、IoT機器の普及により、様々なIoT機器がネットワーク(NW)に接続されている。また、テレワーク等、ユーザが家庭用NWにPCを接続して業務を行うケースも増えている。
【0003】
IoT機器やPC等の端末は、拠点に備えられるCPE(Customer Premises Equipment)に接続される。また、CPEは、1以上のパスを介して1以上のNWに接続され、端末からのパケットを宛先のNWに振り分ける処理を行う。
【0004】
パケットの振り分けを実現する技術として、入力I/F、送信元IPアドレス、ポート番号等に基づいてパケットのルーティングを行う技術がある(例えば非特許文献1,2)。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Cisco, "Understanding Policy Routing" https://www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/10116-36.html?dtid=osscdc000283
【非特許文献2】Linux(登録商標) IP-ROUTE https://manpages.debian.org/experimental/iproute2/ip-route.8.en.html
【発明の概要】
【発明が解決しようとする課題】
【0006】
一般家庭やSOHO等の小規模NWを有する拠点では、拠点内のNWが端末毎に分離されていないことが一般的である。このようなNWでは、入力I/F、ポート番号等に基づいて端末を区別することが難しく、また、DHCPにより送信元IPアドレスが動的に変わる場合が多い。そのため、端末毎に端末に応じたパケット処理を適切に行うことが難しいという課題がある。なお、本明細書における「パケット処理」は、その意味として、少なくとも「パケット振り分け」と「パケットフィルタリング」と「トラフィック制御」を含む。
【0007】
本発明は上記の点に鑑みてなされたものであり、端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるパケット通信装置において、パケット処理を適切に行うことを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
開示の技術によれば、1以上のパスに接続されるパケット通信装置であって、
端末識別子と接続先パスとを紐付けて格納する記憶部と、
端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるルーティング部と、
端末識別子と払い出されたIPアドレスとの対応に基づいて、当該IPアドレスのパケットを、前記記憶部において当該端末識別子に紐付けられた接続先パスに出力するよう、前記ルーティング部におけるパケット処理の適用ルールを設定する制御部と
を備えるパケット通信装置が提供される。
【発明の効果】
【0009】
開示の技術によれば、端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるパケット通信装置において、パケット処理を適切に行うことが可能となる。
【図面の簡単な説明】
【0010】
【
図4】本発明の実施の形態におけるシステムの全体構成例を示す図である。
【
図5】本発明の実施の形態におけるシステムの動作概要を説明するための図である。
【
図11】DHCP払出の監視方法の例を示す図である。
【
図16】オーケストレータの機能構成例を示す図である。
【
図17】装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
【0012】
(関連技術について)
本実施の形態に係る技術を説明する前に、関連技術について説明する。
図1は、関連技術における通信システムの構成例を示す。
【0013】
図1に示すように、本通信システムにおいて、拠点には、CPE10が備えられている。端末AがNW1を介してCPE10のインターフェース(eth1)に接続され、端末BがNW2を介してCPE10のインターフェース(eth2)に接続されている。なお、以降、インタフェースをI/Fと記載する。
【0014】
CPE10は、キャリア網20を介して仮想ルータA、仮想ルータAに接続されている。なお、「仮想ルータ」が使用されることは一例であり、「仮想ルータ」に代えて、「ルータ」が使用されてもよい。後述する本発明の実施の形態の説明でも同様である。
【0015】
CPEのeth0上のトンネルI/F(tun0)と仮想ルータAとの間、及び、トンネルI/F(tun1)と仮想ルータBとの間のそれぞれに、トンネルが構築されている。トンネルは、仮想的なパスであり、トンネルを「パス」と呼んでもよい。関連技術、及び後述する本発明の実施の形態の説明において、トンネルは、パケットのカプセル化を行うトンネルであってもよいし、パケットのカプセル化を行わないトンネルであってもよい。例えば、パケットにDSCP値等を付与することでQoS制御や優先制御を行う場合における当該パケットの通信がトンネルであってもよい。
【0016】
図1に示すとおり、CPE10は、各I/Fに加えて、ルーティング部11を有している。ルーティング部11は、PBR(Policy-Based Routing)によって、パケットの入力I/F、パケットの送信元IPアドレス、パケットの送信元ポート番号等に基づいたルーティングを行うことが可能である。
【0017】
例えば、ルーティング部11において、特定の送信元IPアドレスを持つパケットの出力I/FとしてトンネルI/Fを指定することで、当該パケットを指定のトンネルへ振り分けることが可能である。
【0018】
図2に、ルーティング部11に設定されるPBRのルーティングルールの例を示す。
図2に示す例では、パケットの入力I/Fに基づいて、出力I/Fが決定される。
【0019】
図3に、関連技術の他の構成例を示す。
図2と比べて、
図3に示す例は、拠点内構成が異なる。
【0020】
図3に示す例では、拠点は、マスユーザやSOHO等を想定しており、そのNWは小規模なものである。CPEやAPの機能及び設置に制約があるため、
図3に示すように、複数の端末が同一NW(NW1)に所属する。また、IPアドレス払い出しはDHCPによって管理される。この構成には下記のような課題がある。
【0021】
すなわち、
図3に示す構成では、複数端末が同一NWに所属するため、入力I/Fが複数端末間で共通となる。よって、
図2を参照して説明した入力I/Fに基づく端末毎のパケット振り分けができなくなる。また、サブネットも端末間で共通となるため、送信元サブネットによる振り分けもできなくなる。
【0022】
また、DHCPにより端末のIPアドレスが動的に変更されるので、送信元IPアドレスによるパケット振り分けを行う場合において、その変更に追随できず、所望したパケット振り分けができなくなる可能性がある。
【0023】
なお、パケットのポート番号やペイロードでAPL(アプリケーション)を大まかに特定することは可能であるが、端末の識別には不適であり、ポート番号やペイロードによる端末毎のパケット振り分けは困難である。
【0024】
以下、本発明の実施の形態に係る技術として、複数端末が同一NWに接続され、IPアドレスが動的に変更される場合でも、適切にパケットの振り分けを行うことを可能とする技術について説明する。
【0025】
(システムの構成例)
図4に、本実施の形態における通信システムの全体の構成例を示す。
図4に示すように、本通信システムにおける拠点は、
図3の場合と同様に、マスユーザやSOHO等の小規模NWを有する拠点であり、複数端末が1つのNWに所属し、DHCPによりIPアドレスが各端末に割り当てられることを想定している。
【0026】
ただし、このような想定は一例であり、本発明に係る技術は、拠点のNWの構成に依らずに適用可能である。例えば、
図2に示す構成においても本発明に係る技術を適用することが可能である。
【0027】
本実施の形態における通信システムは、イーサネット(登録商標)上でIPパケットの通信を行うシステムであり、ARP等の一般的な機能を少なくとも備えていることを想定しているが、このような想定は一例である。
【0028】
図4に示すように、本実施の形態における通信システムにおける拠点には、CPE100が備えられている。CPE100を宅内顧客装置、ホームゲートウェイ等と呼んでもよい。また、CPE100をパケット通信装置と呼んでもよい。
【0029】
CPE100には、AP(アクセスポイント)30が接続され、AP30の配下に端末40~60が接続されている。AP30は、例えば、無線LANのアクセスポイントである。
図4には、端末40~60の具体例として、IoT機器40、企業貸与端末50、個人用端末60が示されている。
【0030】
CPE100は、キャリア網20上に構築される各トンネルにより、仮想ルータ610、仮想ルータ620、及び仮想ルータ630に接続されている。仮想ルータ610はインターネット710に接続され、仮想ルータ620は企業NW720に接続され、仮想ルータ630はMEC730に接続されている。
【0031】
図4の例では、一例として、個人用端末60からのパケットは、ベストエフォートの転送を行うトンネルに送出され、当該トンネルを介してインターネット710に送信される。また、企業貸与端末50からのパケットは、優先制御を行うVPNトンネルに送出され、当該トンネルを介して企業NW720に送信される。また、IoT機器40からのパケットは、優先制御を行う低遅延トンネルに送出され、当該トンネルを介してMEC(Multi-access Edge Computing)のネットワーク730に送信される。
【0032】
本実施の形態では、IPアドレスが動的に変更される場合であっても、CPE100のルーティング部140は、端末毎のパケット振り分けを行うことが可能である。これを可能とするCPE100の詳細については後述する。
【0033】
上記の処理を行うためにCPE100等への情報登録のために、オーケストレータ200が備えられている。また、サービスオーダDB500が備えられており、オーケストレータ200はサービスオーダDB500にアクセス可能である。サービスオーダDB500は、オーケストレータ200の内部に備えられていてもよいし、オーケストレータ200の外部に備えられていてもよい。
【0034】
サービスオーダDB500には、ユーザ毎に、ポータルサイトのアカウント名、サービス加入状況、CPEと仮想ルータのIPアドレス及びAPI情報、VPN接続先のIPアドレス、CPEのI/F情報(I/F名や設定値)等が格納されている。
【0035】
ユーザ400(ユーザの端末等)は、ポータルサイト300(Webサーバ等)にアクセスすることで、設定情報を投入することができる。
【0036】
すなわち、ユーザ400は、ポータルサイト300(お客様設定ページ等)にアクセスして、端末情報、サービス情報等を設定する。端末情報は、例えば、ユーザが設定したい端末の情報(MACアドレス等)である。サービス情報は、例えば、ユーザが設定したいサービスの情報(VPN接続先、優先度等)である。
【0037】
例えば、ユーザが、企業貸与端末50を、VPNトンネルを介して高優先で企業NW上の業務サーバに接続させたい場合において、ユーザは、企業貸与端末50のMACアドレス、接続先(企業NW)、及び、高優先の接続を指示する情報をポータルサイト300にアクセスして設定する。
【0038】
ポータルサイト300からオーケストレータ200に対して、ユーザが設定した設定情報が送られる。オーケストレータ200は、設定をしたユーザのアカウント名、及びユーザが入力した設定情報等に基づいて、サービスオーダDB500から、CPE100への設定に必要なユーザ情報(CPEのIPアドレス、API情報、認証情報等)、接続先サービスのCPE設定投入情報(トンネルインターフェイス名やDSCP値等)等を取得して、端末情報(MACアドレス)及びCPE設定投入情報をCPE100に設定する。ここで設定される情報は、後述する端末識別子と接続先との紐付け情報に相当する。仮想ルータに対しても必要な設定を行う。
【0039】
上記のようにして、CPE100等への設定を行うことで、ユーザ400は、ポータルサイト300経由でオーダしたサービスを受けることができる。
【0040】
(CPE100の構成、動作等)
図5は、CPE100の内部構成を含む、本実施の形態における通信システムの構成例を示す図である。
図5に示す例において、拠点にはCPE10が備えられている。端末Aと端末BはいずれもNW1を介してCPE100のI/F(eth1)に接続されている。
【0041】
CPE100のeth0上のトンネルI/F(tun0)と仮想ルータAとの間、及び、トンネルI/F(tun1)と仮想ルータBとの間のそれぞれに、トンネルが構築されている。
【0042】
図5に示すように、CPE100は、上述した各I/Fに加えて、プロセス110、端末情報DB120、アドレス情報DB130、ルーティング部140を有する。なお、プロセス110は、CPE100内で実行されるプログラムに相当する。あるいは、プロセス110は、CPE100内でプログラムが実行されることにより実現される機能部に相当する。
【0043】
ルーティング部140は、PBRのルーティングルール等のパケット処理の適用ルールを保持しており、当該適用ルールに従って、端末から受信したパケットのパスへの振り分けや、パケットフィルタリング、トラフィック制御等のパケット処理を行う。アドレス情報DB130は、例えば、DHCPのリーステーブル、ARPテーブル、Radiusサーバのデータベース等である。アドレス情報DB130は、DHCPのリーステーブル、ARPテーブル、Radiusサーバのデータベース等に限定されるわけではなく、これら以外のテーブルやデータベースであってもよい。アドレス情報DB130は、CPE100の内部ではなく、CPE100の外部に備えられてもよい。
【0044】
プロセス110は、REST APIを有しており、オーケストレータ200からの設定情報をREST APIが仲介して各DB等へ投入がなされる。APIではなくSSHでオーケストレータ200が直接にCPE100に設定投入することとしてもよい。プロセス110が実行する処理を
図6のフローチャートを参照して説明する。
【0045】
下記の処理の前提として、アドレス情報DB130には、端末毎に、端末のIPアドレスと端末識別子との紐付け情報が格納されている。紐付け情報は、端末のIPアドレスが変更になれば更新される。また、ルーティング部140には、各端末について、プロセス110により取得されたIPアドレスに基づいて、PBRのルーティングルールが設定されている。
【0046】
ルーティング部140におけるパケット処理の適用ルールとしてPBRのルーティングルールを使用することは一例に過ぎない。ルーティング部140におけるパケット処理の適用ルールとして、ACL、フィルタリングルール(例:iptables、firewall)、帯域制御や優先制御等のトラフィック制御(例:Linux(登録商標)のtraffic control)を使用してもよい。ルーティング部140におけるパケット処理の適用ルールとして、これら以外のルールを使用してもよい。また、ルーティング部140におけるパケット処理の適用ルールは、1つであってもよいし、複数であってもよい。
【0047】
なお、iptablesコマンドに基づくフィルタリングルールにより、送信元/送信先IPアドレスに基づいたパケット処理(許可、拒否、NAPT実施等)を実行することが可能である。また、tc(traffic control)コマンドに基づくトラフィック制御のルールにより、送信元/送信先IPアドレスに基づいたパケット処理(シェーピング、遅延、順序変更等)を実行することが可能である。
【0048】
本実施の形態では、端末識別子として端末のMACアドレスを使用している。アドレス情報DB130に格納されている紐付け情報の例を
図7に示す。IPアドレスと端末識別子との紐付け情報の取得(更新)方法の例については、後述する実施例1、2において説明する。
【0049】
なお、端末識別子として端末のMACアドレスを使用することは一例である。MACアドレス以外の端末識別子として、SIMのIMSIあるいはIMEI、端末ホスト名等を用いてもよい。MACアドレス以外のこれら識別子とIPアドレスを管理するプロトコル(RadiusやIoT Device discovery等)とを連携させることが可能である。以下、
図6の手順に沿って説明する。なお、
図6に示す手順は、例えば、所定の時間間隔で繰り返し実行される。
【0050】
<S1>
S1において、プロセス110は、端末のMACアドレスと、当該端末の接続先(I/F名等)の紐付け情報をオーケストレータ200から取得し、取得した紐付け情報を端末情報DB120に格納する。端末情報DB120に格納される情報の例を
図8に示す。
図8において、例えば、エントリ100には、ある端末のMACアドレスがtun0に紐付けられていることが示されている。
【0051】
<S2>
S2において、プロセス110は、端末情報DB120に格納されている端末識別子(MACアドレス)のそれぞれについて、アドレス情報DB130を参照することにより、対応するIPアドレスを取得する。つまり、端末識別子(MACアドレス)の端末に払い出されているIPアドレスを取得する。なお、アドレス情報DB130を参照することによりIPアドレスを取得することは一例である。
【0052】
<S3>
プロセス110は、ある端末について、S2で取得したIPアドレスが、前回のS2で取得したIPアドレスと異なることを検知した場合に、当該端末についての、パケット処理の適用ルールを更新する。具体的には、例えば、PBRのルーティングルールを更新する。
【0053】
例えば、端末Aに関して、「送信元IPアドレス=AAAA.BBBB.CCCC.DDDDのパケットはtun0から送信する」というルーティングルールがルーティング部140に設定されている場合において、プロセス110が、端末AのIPアドレスが"AAAA.BBBB.CCCC.DDDD"から"AAAA.BBBB.CCCC.EEEE"に変更されたことを検知した場合に、プロセス110は、ルーティングルールを「送信元IPアドレス=AAAA.BBBB.CCCC.EEEEのパケットはtun0から送信する」に更新する。
【0054】
以下、上述した構成において、IPアドレスと端末識別子(ここではMACアドレス)との紐付け情報の取得方法をより具体的に説明した実施例を、実施例1、2として説明する。
【0055】
(実施例1)
図9に、実施例1における通信システムの構成例を示す。
図9に示すように、実施例1のCPE100は、
図5を参照して説明した各I/F、プロセス110、端末情報DB120、ルーティング140に加えて、DHCPサーバ150、リーステーブル160を備える。リーステーブル160は、
図5に示したアドレス情報DB130の例である。
【0056】
なお、
図9は、一例として、CPE100が、DHCPサーバ150、リーステーブル160を備える場合の例を示している。実施例1において、DHCPサーバ150(及びリーステーブル160)は、CPE100の外部に備えられていてもよい。
【0057】
実施例1では、プロセス110は、DHCPサーバ150の機能を用いて、MACアドレスから、端末に払い出されているIPアドレスを取得し、IPアドレスに変更がある場合にPBRを更新する。より詳細には、下記の例1-1~例1-3がある。
【0058】
<例1-1>
例1-1では、
図9において「例1-1」として示されているように、プロセス110は、DHCPサーバ150のリーステーブル160を監視することで、各MACアドレスについて、払い出されているIPアドレスに変更があるか否かを判定する。
図10に、リーステーブル160に格納される情報の例を示す。
【0059】
<例1-2>
例1-2では、DHCPサーバ150はCPE100の内部にあってもよいし、CPE100の外部にあってもよい。ただし、例1-2は、DHCPサーバ150の機能に依存する。ここでは、下記の機能をDHCPサーバ150が有しているものと想定する。
【0060】
例1-2では、プロセス110は、DHCPサーバ150により提供されるAPIを利用することにより、端末のMACアドレスに対応するIPアドレスを取得する。プロセス110は、DHCPの固定IPの設定を参照してもよい。
【0061】
また、プロセス110は、DHCPサーバ150が端末にIPアドレスを払い出した場合に、当該端末のMACアドレスと、払い出したIPアドレスとをDHCPサーバ150から通知してもらうこととしてもよい。
【0062】
<例1-3>
例1-3でも、DHCPサーバ150はCPE100の内部にあってもよいし、CPE100の外部にあってもよい。例1-3では、プロセス110が、DHCPサーバ150と端末(DHCPクライアント)との間で送受信されるメッセージをスヌーピングすることにより、当該端末へのIPアドレスの払い出しを検知する。
【0063】
図11に、端末AとDHCPサーバ150との間のメッセージのやりとりの例を示す。
【0064】
S101において、端末Aが、ブロードキャストでDHCP-Discoveryを送信する。DHCP-Discoveryを受信したDHCPサーバ150は、S102において、端末Aに対して、提案IPアドレスを含むDHCP-Offerを送信する。
【0065】
S103において、端末Aは、提案を受けたIPアドレスの払い出しをしてもらうよう、DHCP-RequestをDHCPサーバ150に送信する。S104において、DHCPサーバ150は、IP払い出しの承認をするDHCP-Acknowledgeを端末Aに送信する。
【0066】
プロセス110は、例えば、ある端末からDHCP-Discoveryが送信されたことを検知すると、S103において当該端末から送信されるDHCP-Requestを監視し、DHCP-Requestに含まる要求IPアドレスを、DHCPサーバ150により当該端末に払い出されたIPアドレスとして取得する。
【0067】
(実施例2)
図12に、実施例2における通信システムの構成例を示す。
図12に示すように、実施例2のCPE100は、
図5を参照して説明した各I/F、プロセス110、端末情報DB120、ルーティング140に加えて、ARPテーブル170を備える。ARPテーブル170は、
図5に示したアドレス情報DB130の例である。
【0068】
図13に、ARPテーブル170に格納される情報の例を示す。
図13に示すように、ARPテーブル170には、I/F、IPアドレス、MACアドレスが対応付けて格納されている。例えば、CPE100のルーティング部140は、IPアドレス=192.168.0.10の端末にIPパケットを送信する場合、ARPテーブル170を参照して、IPアドレス=192.168.0.10に対応するMACアドレスを宛先とするイーサフレーム(IPパケットを含む)をeth1から送信する。
【0069】
実施例2では、プロセス110は、ARPを用いて、MACアドレスからIPアドレスを取得する。より詳細には、下記の例2-1~例2-2がある。
【0070】
<例2-1>
例2-1では、プロセス110は、端末情報DB120における各MACアドレスについて、ARPテーブル170を参照することにより、MACアドレスに対応するIPアドレスが更新(変更)されたかどうかを監視して、更新されたことを検知した場合に、PBRのルーティングルールを更新する。
【0071】
<例2-2>
例2-2において、プロセス110は、RARP(Reverse Address Resolution Protocol)の機能を有している。プロセス110は、対応するIPアドレスを知りたいMACアドレスを含むリクエストをブロードキャストし、リクエストを受信した端末(あるいはサーバ)において、当該MACアドレスに対応するIPアドレスを知っている場合に、当該IPアドレスをプロセス110に返す。
【0072】
プロセス110は、端末情報DB120における各MACアドレスについて、例えば定期的にRARPを用いて対応するIPアドレスを取得し、IPアドレスに変更があった場合に、PBRのルーティングルールを更新する。
【0073】
なお、MACアドレスからIPアドレスを知ることができる手順(プロトコル)であれば、RARP以外の手順を使用してもよい。
【0074】
(変形例)
これまでの説明では、拠点に設置されたCPE100のルーティング部140がパケットの振り分け処理を行っていたが、このような構成は一例である。
【0075】
例えば、
図14に示すように、拠点のCPE100とL2トンネルで接続されたクラウドサービス上の仮想CPE700におけるルーティング部740が、パケットの振り分け処理を行うこととしてもよい。
図14に示す例において、L2トンネルは、例えば、L2TPやVXLAN等のL2VPNのトンネルであり、仮想CPE700は、CPE100と同一NWに存在する。
【0076】
この例において、仮想CPE700が、これまでに説明したCPE100と同じ構成(プロセス、端末情報DB等)を有し、これまでに説明したCPE100と同じ処理を実行する。また、端末が、これまでに説明したCPE100と同じ構成(プロセス、端末情報DB等)を有し、これまでに説明したCPE100と同じ処理を実行する機能部を備えることとしてもよい。
【0077】
パケット振り分け処理、及び適用ルールの設定及び変更を行うCPE100、仮想CPE700、端末の機能部等の装置を総称して「パケット通信装置」と呼んでもよい。
【0078】
(装置構成例)
図15に、CPE100が有する機能に着目したCPE100の機能構成例を示す。
図15に示すように、CPE100は、通信部101、ルーティング部102、制御部103、記憶部104を有する。仮想CPE700についても同様の構成を備える。
【0079】
通信部101は、
図5等に示したI/Fに相当し、パケットの送受信を行う。ルーティング部102は、
図5等に示したルーティング部140に相当し、PBRのルーティングルールに基づいてパケットの振り分け処理を行う。制御部103は、
図5等に示したプロセス110に相当し、実施例1,2等で説明したように、IPアドレスの変更有無をチェックして、変更がある場合に、ルーティング部140におけるPBRのルーティングルールを更新する。記憶部104は、
図5等に示した端末情報DB120及びアドレス情報DB130に相当し、各種データを格納する。
【0080】
図16は、オーケストレータ200の機能構成例を示す図である。
図16に示すように、オーケストレータ200は、設定情報取得部201、記憶部202、登録部203を有する。
【0081】
設定情報取得部201は、ポータルサイト300から、ユーザ400により設定された情報を取得する。記憶部202は、
図4に示したサービスオーダDB500に相当する。登録部203は、例えば、設定情報取得部201により取得した情報(端末識別子(MACアドレス等))と、記憶部202から読み出した情報(接続先(I/F名等))とに基づいて、端末識別子(MACアドレス等)と接続先(I/F名等)をCPE100(あるいは仮想CPE700)に送信(登録)する。
【0082】
<ハードウェア構成例>
CPE100、仮想CPE700、オーケストレータ200、端末はいずれも、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、仮想マシンであってもよい。
【0083】
すなわち、当該装置(CPE100、仮想CPE700、オーケストレータ200、端末)は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、当該装置で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
【0084】
図17は、上記コンピュータのハードウェア構成例を示す図である。
図16のコンピュータは、それぞれバスBで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
【0085】
当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしもコンピュータ読み取り可能な記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0086】
メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、当該装置に係る機能を実現する。インタフェース装置1005は、ネットワークに接続するためのインタフェースとして用いられ、通信部として機能する。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
【0087】
なお、コンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、当該装置の機能の一部を実現するためのものであっても良い。
【0088】
(実施の形態の効果)
本実施の形態に係る技術により、端末毎のパケット処理(トンネル振り分け等)を実現する際に、同一NWに所属する端末であっても、IPアドレスの変更に常時追従しながらルールを更新することで、NWの規模やDHCPサーバなどの設置箇所に依らない端末毎のパケット処理や制御が可能となる。
【0089】
(実施の形態のまとめ)
本明細書には、少なくとも下記各項に記載のパケット通信装置、パケット処理ルール設定方法、及びプログラムが開示されている。
(第1項)
1以上のパスに接続されるパケット通信装置であって、
端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるルーティング部と、
前記端末のIPアドレスを取得し、当該IPアドレスに基づいて、前記ルーティング部におけるパケット処理の適用ルールを設定する制御部と
を備えるパケット通信装置。
(第2項)
前記パケット処理の適用ルールは、PBRにおけるルーティングルール、フィルタリングルール、及びトラフィック制御のルールのうちのいずれか1つ又は複数である
第1項に記載のパケット通信装置。
(第3項)
前記制御部は、IPアドレスと端末識別子を保持するデータベースを参照することにより、前記端末の端末識別子に対応するIPアドレスが変更されたか否かを監視し、当該IPアドレスが変更された場合に、前記適用ルールを更新する
第1項又は第2項に記載のパケット通信装置。
(第4項)
前記制御部は、DHCPサーバから前記端末の端末識別子に対応するIPアドレスを取得し、当該IPアドレスが変更されたか否かを監視し、当該IPアドレスが変更された場合に、前記適用ルールを更新する
第1項又は第2項に記載のパケット通信装置。
(第5項)
前記制御部は、DHCPサーバと前記端末との間の通信をスヌーピングすることにより、前記端末のIPアドレスを取得し、当該IPアドレスが変更されたか否かを監視し、当該IPアドレスが変更された場合に、前記適用ルールを更新する
第1項又は第2項に記載のパケット通信装置。
(第6項)
前記制御部は、RARPを用いて、前記端末の端末識別子に対応するIPアドレスを取得し、当該IPアドレスが変更されたか否かを監視し、当該IPアドレスが変更された場合に、前記適用ルールを更新する
第1項又は第2項に記載のパケット通信装置。
(第7項)
1以上のパスに接続されるパケット通信装置が実行するパケット処理ルール設定方法であって、
前記パケット通信装置は、端末から受信したパケットを、前記1以上のパスのうちのいずれかのパスに振り分けるルーティング部を備えており、
前記端末のIPアドレスを取得し、当該IPアドレスに基づいて、前記ルーティング部におけるパケット処理の適用ルールを設定する
パケット処理ルール設定方法。
(第8項)
コンピュータを、第1項ないし第6項のうちいずれか1項に記載のパケット通信装置における各部として機能させるためのプログラム。
【0090】
以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0091】
10、100 CPE
20 キャリア網
30 AP
40~60 端末
101 通信部
102 ルーティング部
103 制御部
104 記憶部
110 プロセス
120 端末情報DB
130 アドレス情報DB
11、140、740 ルーティング部
150 DHCPサーバ
160 リーステーブル
170 ARPテーブル
200 オーケストレータ
201 設定情報取得部
202 記憶部
203 登録部
300 ポータルサイト
400 ユーザ
500 サービスオーダDB
610~630 仮想ルータ
700 仮想CPE
710 インターネット
720 企業NW
730 MEC
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置