JP2004193644A - Router and path setting method in mpls, and network - Google Patents
Router and path setting method in mpls, and network Download PDFInfo
- Publication number
- JP2004193644A JP2004193644A JP2002355369A JP2002355369A JP2004193644A JP 2004193644 A JP2004193644 A JP 2004193644A JP 2002355369 A JP2002355369 A JP 2002355369A JP 2002355369 A JP2002355369 A JP 2002355369A JP 2004193644 A JP2004193644 A JP 2004193644A
- Authority
- JP
- Japan
- Prior art keywords
- router
- mpls
- information
- label
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、通信網に収容されるパスまたはコネクションの設定を行う方法および装置に関する。本発明は、パケットに固定長のラベルを付与してパケットの転送方路を決定することにより通信網内のパケット転送を実現するMPLS(MultiProtocol Label Switching)ネットワークに利用する。
【0002】
【従来の技術】
近年、インターネットやLANの急速な普及から、IPトラヒックを含めたデータトラヒックが指数関数的に増加している。トラヒックの増加に対応するため、バックボーンネットワークにおける高速なIPパケットの転送と高度なサービスを提供するメカニズムが求められている。このような要求に対応するため、これまでにMPLSが提案されている。
【0003】
MPLSは、転送するパケットに固定長のラベルを付与し、このラベルをもとに通信網内の各ノードでは転送する方路を決定する。このMPLSをIPバックボーンネットワークに導入することにより高速なIP転送と高度なTraffic Engineeringが可能となる。
MPLSネットワークにおいてパケットを転送するためには事前にパス設定を行う必要があるが、これを行うためにはルーティングプロトコルでネットワークのトポロジ情報を収集し、CR−LDPやRSVP−TE等のMPLSシグナリングプロトコルによってMPLSのパスを設定する(例えば、非特許文献1、2、3参照)。
【0004】
【非特許文献1】
宮村 崇、栗本 崇、青木 道宏,“A Scalable Multipath Algorithum in Hierachical MPLS Networks”,Proc.of WTC/ISS2002.
【非特許文献2】
R.Coltun,“The OSPF Opaque LSA Option”,IETF RFC2370.
【非特許文献3】
B.S.Davie and Y.Rekhter,“MPLS:Technology and Applications”,Morgan Kaufmann Publisher,2002.
【0005】
【発明が解決しようとする課題】
通常、各リンクで使用するMPLSラベルの値はそのリンクで固有の値であれば基本的に制限がなく、対向するルータ同士でシグナリングプロトコルを用いて決定する。
【0006】
図12は従来例を説明するためのネットワークの構成例を示す図であるが、例えば、図12のようにMPLSを用いてルータ1がルータ3、ルータ4にパケットを送信するケースを考える。ルータ2はルータ1から受信したパケットの宛先がルータ3かルータ4か、ラベルを見て判断する。そのため、ルータ1とルータ2の間であらかじめ、各ラベルの値と送信先をシグナリングプロトコル等を用いて決定する必要があり、MPLSではパス設定するためにはシグナリングは不可欠である。
【0007】
しかし、多数のパスを収容する大規模なMPLSネットワークでは、パスを設定する際にシグナリングメッセージが大量に発生するため、ルータのCPU負荷が増大し、パス設定時間が増大するという問題点がある。
【0008】
また、ルータのCPU資源の大半をシグナリングプロトコルが消費するため、他のプロトコルや装置管理等の処理ができなくなるという問題点が存在する。
【0009】
また、ルーティングプロトコルとシグナリングプロトコルを常時動作させる必要があるため、必要とするCPUの処理能力やメモリ量が大きい点も問題である。
【0010】
本発明は、このような背景に行われたものであって、シグナリングプロトコルを用いることなくMPLSのパス設定が可能となるため、多数のパスを設定するような場合にルータのCPUの負荷の軽減とパス設定時間の短縮が図れ、また、各ルータにシグナリングプロトコルを実装する必要がないため、ルータに搭載するメモリ量を削減することができるルータおよびパス設定方法およびネットワークを提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明では、ルーティングプロトコルを拡張し、ルーティングプロトコルを用いてMPLSのラベル付きパケットを転送するために用いるMPLS転送表の作成に必要な情報を広告させ、ルーティングプロトコルが広告する情報を元にMPLS転送表の作成を行うことを特徴とする。
【0012】
すなわち、本発明の第一の観点は、MPLSネットワークに設置されたルータであって、本発明の特徴とするところは、ルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えたところにある。
【0013】
前記付加する手段は、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する手段を備えたり、あるいは、前記付加する手段は、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する手段を備えることが望ましい。
【0014】
自他の広告情報に基づき宛先アドレスとMPLSラベルとの対応関係を記録したMPLS転送表を作成する手段を備えることが望ましい。
【0015】
前記MPLSラベルの一例として、前記ポートを識別可能な情報を含むことにより、例えば、目的の宛先アドレスに到達するために通過するルータのポート番号を認識することができる。あるいは、前記MPLSラベルの一例として、ネットワーク内でルータを識別可能な情報と前記ポートを識別可能な情報とを含むことにより、例えば、目的の宛先アドレスに到達するために通過するルータおよび当該ルータのポート番号を認識することができる。
【0016】
前者の例では、宛先アドレスとそこに行くためのポート番号が認識できるので、とりあえず、MPLSパスを設定することができる。後者の例では、宛先アドレスとそこに行くためのポート番号に加えてルータが認識できるので、ラベル付きパケットが誤ったルータに誤配された場合にはこれを検出することができる。
【0017】
例えば、前記MPLS転送表を参照してMPLSパスの起点から終点までの各ホップにおけるラベル値を選択する手段と、当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせる手段と、当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送する手段とを備えることにより、MPLSによるパケット転送を実現することができる。
【0018】
また、ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータが前記MPLS転送表を作成する手段を有することを広告する手段を備え、当該広告により前記MPLS転送表を作成する手段を有することを確認したルータに対するルーティングプロトコルにおける広告情報に前記付加する手段によりMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えれば、MPLSによるパケット転送が可能な能力を持つルータと持たないルータとを区別し、無効となる広告情報を無くすことができるため、効率の良い広告を行うことができる。
【0019】
また、MPLSパスの起点から終点までの間に2経路以上のパスが存在するときには、前記MPLS転送表を作成する手段は、自他の広告情報に基づき1つの宛先アドレスに対応する複数のMPLSラベルの対応関係を記録したMPLS転送表を作成する手段を備え、当該複数のMPLSラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える手段を備えれば、障害箇所を迂回する経路によりパケット転送が行えるため、信頼性の高いMPLSネットワークを実現することができる。
【0020】
本発明の第二の観点は、MPLSネットワークにおけるパス設定方法であって、本発明の特徴とするところは、ルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加するところにある。
【0021】
例えば、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する、あるいは、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する。
【0022】
自他の広告情報に基づき宛先アドレスとMPLSラベルとの対応関係を記録したMPLS転送表を作成することが望ましい。
【0023】
このとき、例えば、前記MPLSラベルには、前記ポートを識別可能な情報を含む、あるいは、前記MPLSラベルには、ネットワーク内でルータを識別可能な情報と前記ポートを識別可能な情報とを含む。
【0024】
前記MPLS転送表を参照してMPLSパスの起点から終点までの各ホップにおけるラベル値を選択し、当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせ、当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送すれば、MPLSによるパケット転送を実現することができる。
【0025】
また、ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータが前記MPLS転送表を作成する能力を有することを広告し、当該広告により前記MPLS転送表を作成する能力を有することを確認したルーティングに対するルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加することにすれば、無効となる広告を無くすことができ、効率の良い広告を行うことができる。
【0026】
また、MPLSパスの起点から終点までの間に2経路以上のパスが存在するときには、自他の広告情報に基づき1つの宛先アドレスに対応する複数のMPLSラベルの対応関係を記録したMPLS転送表を作成し、当該複数のMPLSラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替えることにすれば、障害箇所を迂回した経路を速やかに設定でき、信頼性の高いMPLSネットワークを実現することができる。
【0027】
本発明の第三の観点は、本発明のルータを備えたことを特徴とするMPLSネットワークである。
【0028】
【発明の実施の形態】
本発明実施例のルータを図1、図3、図7、図11を参照して説明する。図1は本実施例のルータのブロック構成図である。図3、図7、図11は本実施例のMPLS転送表の構成例を示す図である。
【0029】
本実施例は、MPLSネットワークに設置されたルータであって、本実施例の特徴とするところは、図1に示す広告部11から送出されるルーティングプロトコルにおける広告情報(図13)にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加するMPLS情報付加部12を備えたところにある。この広告内容を図2に示す。
【0030】
MPLS情報付加部12は、図3に示すように、隣接ルータを判別可能な情報とその隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する。あるいは、図7に示すように、MPLS情報付加部12は、隣接ルータを判別可能な情報とネットワーク内で自ルータを識別可能な情報と隣接ルータと接続している自ルータのポートを識別可能な情報とをルーティングプロトコルにおける広告情報に付加する。
【0031】
すなわち、自他の広告情報に基づき、図3および図7に示すような、宛先アドレスとMPLSラベルとの対応関係を記録したMPLS転送表14を作成するMPLS転送表作成部13を備える。MPLSラベルには、図3に示すように、ポートを識別可能な情報としてのポート番号を含む。あるいは、MPLSラベルには、図7に示すように、ネットワーク内でルータを識別可能な情報とポートを識別可能な情報とを含む。
【0032】
このようなMPLS転送表14を参照してMPLSパスの起点から終点までの各ホップにおけるラベル値を選択し、当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせるMPLSパケット生成部15と、当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送するMPLSパケット処理部16とを備える。
【0033】
また、MPLS情報付加部12は、ルーティングプロトコルによりパス設定に必要な情報を広告するのに先立って自ルータがMPLS転送表作成部3を有することを広告部11により広告(これを能力広告という)し、MPLS情報付加部12は、当該能力広告によりMPLS転送表作成部13を有することを確認したルータに対するルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加する。
【0034】
また、MPLSパスの起点から終点までの間に2経路以上のパスが存在するときには、MPLS転送表作成部13は、自他の広告情報に基づき、図11に示すように、1つの宛先アドレスに対応する複数のMPLSラベル(プライマリ、セカンダリ)の対応関係を記録したMPLS転送表を作成し、MPLSパケット生成部15は、当該複数のMPLSラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える。
【0035】
以下では、本実施例をさらに詳細に説明する。
【0036】
通常のルーティングプロトコルでは、広告部11は、図13のように情報を広告するルータのアドレスと自身が接続しているルータのインタフェースのIPアドレス(またはルータID)とそのルータまでのコスト(距離)を含んだ情報を広告する。
【0037】
本実施例では、図2のように広告部11が従来広告している情報に加えて、MPLS情報付加部12により、接続しているルータのポート番号やラインカード番号のようなルータ内部の物理的な情報をMPLSラベルの値にエンコードして広告する。つまり、各ルータのポート番号やラインカード番号とMPLSラベルの値を一対一で対応させる。通常のOSPFと同様に自ルータの接続構成に変化が生じるとこの情報を広告する。
【0038】
各ルータのMPLS転送表作成部13は、上述の情報を含んだメッセージを受信すると、それを元にMPLS転送表14を作成する。図3はMPLS転送表14の一例である。図3のようにMPLS転送表作成部13はパケットの宛先アドレスと付与すべきラベルが対応付けられた表を作成する。
【0039】
このMPLS転送表14の作成方法について説明する。MPLS転送表作成部13は、まず、通常のルーティングプロトコルを用いてネットワーク全体のトポロジを作成し、Dijkstraアルゴリズム等の最短経路算出アルゴリズムを用いて宛先までに通過するルータを特定する。次に広告された情報を元に通過するポート番号を求める。
【0040】
例えば、図4のようなネットワーク構成の場合で、ルータ1が宛先アドレスA宛てのMPLS転送表14を作成する例を考える。まず、最短経路算出アルゴリズムを用いて、通過するルータを求める。次に各ルータが広告した情報を元に付与すべきラベルを特定する。この場合に、ルータ1からアドレスAまでの間にルータ2とルータ3を通過する。ルータ2のポート3番がルータ3と接続しており、ルータ3はポート2番を通してアドレスAと接続している。ルータ1は宛先アドレスに近いラベル値を順に並べることでMPLS転送表14を作成する。この場合には、ポート3番、ポート2番の順に通過するので、図3のようにアドレスAに対応するMPLS転送表14内のラベル値は3、2となる。
【0041】
図5は転送するラベル付きパケットの例である。ルータ1にアドレスA宛てのパケットが到着した場合に、MPLSパケット生成部15は、まず、MPLS転送表14を検索し、付与すべきラベル値が3と2であることを確認し、到着したパケットにラベル値3と2の2つのラベルを多段に付与する。
【0042】
次に、ルータ1はラベル付きパケットをルータ2に送信する。ラベル付きパケットを受信したルータ2のMPLSパケット処理部16は、最も上位にあるラベルの値を元に、出力すべき自ルータのポート番号を求めてから、最上位のラベルを削除(Hop)して、出力先ポートにパケットを送出する。
【0043】
次に、ルータ3がこのパケットを受信すると、MPLSパケット処理部16は、同様に最上位のラベルから出力先のポート番号を求めて、このラベルを削除した後に、出力先ポートへと出力する。このようにして、ルータ1からアドレスAが属するネットワークまでパケットが送信される。
【0044】
ここでは、さらに具体的な実施例として、本発明をOSPF、IS−IS等のリンク状態型プロトコルを用いて実施した例について記述する。ここでは、特にOSPFが動作しているネットワークについて記述するが、IS−ISやRIP、BGP等の他ルーティングプロトコルが動作するネットワークにも本発明は適用可能である。
【0045】
ネットワーク内の各ルータでは、OSPFが動作しており、まず各ルータがリンクにより接続されると、OSPFの隣接発見の段階を経て、OSPFの隣接関係が確立され、各ルータはネットワークのトポロジを学習し、それを元にIPパケットのIP転送表を作成する。
【0046】
上記の一連の処理が終わると、OSPFによるラベル配布が可能な能力を持つルータはIETFのRFC2370で規定されているOpaqueLSAを用いて、自ルータがOSPFを用いてラベル配布可能を能力を持つことを広告部11により広告する。ここで、使用するOpaqueLSAのLink−statetypeは“9”、つまりリンクローカル・スコープで、隣接ルータのみに広告する。これは広告する範囲を制限することで、ネットワーク内に流通するOSPFの制御メッセージ量を削減するためである。ただし、小規模ネットワークの場合には、Link−state typeが“10”のエリアローカル・スコープで自ルータが所属するエリア全体に広告してもよい。
【0047】
上記プロセスにより、MPLS情報付加部12は、隣接するルータの中でOSPFによるラベル配布が可能な能力を持つルータのリストを作成する。次に各ルータのMPLS情報付加部12は、MPLS設定に必要な広告情報を作成する。基本的には、作成したラベル配布能力を持つルータのリスト内に入っているルータと接続しているポート番号に関する情報を広告する。具体的には、自ルータがポートを特定可能なルータ内部でのみ使用する内部識別子等を広告する。内部識別子としては、MIB(Management Information Base)のインタフェース番号やスイッチングに用いる内部ヘッダのタグの番号などが利用可能である。最終的に広告する情報を最低限以下のものを含む。
【0048】
・ラベル配布能力を持つ隣接ルータのルータIDもしくはインタフェースのI
Pアドレス
・接続しているリンクのリンクコスト
・ラベル情報(接続しているポートを特定可能な内部識別子)
ここで、MPLSのラベルは20bitであるが、20bit全てのポートを特定可能な内部識別子のエンコードに使用することも可能であるが、20bitの中の上位数bit(例えば、8bit)でネットワーク内で自ルータを識別可能な情報(以下、ルータ識別子と呼ぶ)をエンコードし、残りのbit(例え、12bit)でポートを特定可能な内部識別子をエンコードしてもよい。ここで、ネットワーク内でルータを識別する情報は、ネットワークの運用者がネットワーク内で固有な値を各ルータにあらかじめ付与しておく。
【0049】
このようにMPLSラベル内にルータを判別する情報とポートを識別する情報を併せて入れることにより、何らかの要因でラベル付きパケットが誤配された場合に、誤配先のルータで自ルータとは異なるルータ識別子のコードが付けられていることから誤配先を検出し、該当パケットを廃棄するなどの適切な処理が可能になる。
【0050】
また、このラベル配布能力を持つ隣接ルータのルータIDおよびラベル情報を含んだ広告情報(これを以下、ラベル拡張LSAと呼ぶ)は、自ルータが所属するOSPFエリア全体に広告する。通常のOSPFと同様に自ルータの隣接構成に変化が生じると上述のラベル情報を含めた情報を広告する。
【0051】
各ルータのMPLS転送表作成部13は、上述の情報を含んだメッセージを受信すると、それを元にMPLSパケットの転送に必要なMPLS転送表14を作成する。図7は、図6のネットワークにおけるルータ1のMPLSパケットのMPLS転送表14の一例である。図のようにネットワーク内の各ルータはパケットの宛先アドレスと付与すべきラベルが対応付けられたMPLS転送表14を作成する。
【0052】
一連のMPLS転送表作成までの処理をまとめたものが図8の処理フローである。すなわち、MPLS情報付加部12は、他ルータからのルーティングプロトコルにおける広告に基づき、ルーティングプロトコルの隣接関係を確立する(ステップ1)。続いて、広告部11によりラベル配布の能力があることを広告する(ステップ2)。この広告は、MPLS情報付加部12の指示に基づき広告部11が行ってもよいし、広告部11が自律的に行ってもよい。MPLS情報付加部12は、隣接ルータの中でラベル配布能力を持つルータのリストを作成し(ステップ3)、ラベル配布能力を持つルータに対して、通常の広告情報に加えて、付与すべきラベル情報を広告する(ステップ4)。MPLS転送表作成部13は、隣接ルータからラベル情報を含んだリンク状態広告を受信すると、それをもとにMPLS転送表14を作成する(ステップ5)。
【0053】
以下、MPLS転送表14の作成方法の具体例について説明する。まず、MPLS転送表作成部13は、通常のルーティングプロトコルを用いてネットワーク全体のトポロジを作成し、Dijkstraアルゴリズム等の最短経路算出アルゴリズムを用いて宛先までに通過するルータを特定する。次に広告された情報を元に通過する各ルータで転送に用いるラベルのラベル値を求める。
【0054】
ルータ1が宛先IPアドレス10.8./16宛てのMPLS転送表14を作成する例を考える。最短経路算出アルゴリズムを用いて、自ルータから宛先アドレスまでに通過するルータを特定する。基本的に通過する経路はOSPFが選択する経路と同じとなるが、途中通過するルータを指定する明示的経路指定(Explicit routing)も可能である。
【0055】
次に各ルータが広告したラベル拡張LSAを元に付与すべきMPLSラベルを決定する。この場合には、ルータ1から宛先アドレスまでの間にルータ2とルータ3を通過する。ルータ2のポート3番がルータ3と接続しており、ルータ3はポート5番を通してルータ4と接続している。ルータ1は宛先アドレスに近いラベル値を順に並べることでMPLS転送表14を作成する。この場合には、図7のように、MPLS転送表は“2:3,3:5”となる。ここで、“2:3”で一つのMPLSラベルを表し、この例では“:”の前がルータを判別する情報のルータ識別子、“:”の後がポートを識別するポート識別子となっている。例では、10進表記でラベル値が記述されているが、実際にラベルとして付与する場合には、それぞれの値を2進数に変換してラベルを付与する。はじめから、2進数でMPLS転送表14を作成することも可能である。また、ラベルに通過するポート番号を識別する情報のみを載せる場合は、宛先アドレスに対するラベル値は“3,5”となる。このような手順により、各ルータは各宛先IPアドレスに対して付与すべきラベルを決定し、MPLS転送表14を完成させる。MPLS転送表14が完成したルータはMPLSパケットが転送可能となる。
【0056】
次に、各ルータでのMPLSパケットの転送方法を説明する。図9はルータ1から宛先アドレス10.8./16に転送するラベル付きパケットの例である。ルータ1に該当宛先アドレス宛てのパケットが到着した場合には、MPLSパケット生成部15は、まずMPLS転送表14を検索し、付与すべきラベル値が“3:5”と“2:3”であることを確認し、到着したパケットにラベル値“3:5”と“2:3”のラベルを順にスタックさせて付与する。
【0057】
次にルータ1はこのラベル付きパケットをルータ2に送信する。このラベル付きパケットを受信したルータ2のMPLSパケット処理部16は、最も上位にあるラベルの値(2:3)を検索し、まずルータ識別子の情報から自ルータを通過するパケットであることを確認した上で、出力ポートをポート識別子から出力すべきポート番号を求める。最上位のラベルを削除(Hop)して、出力先ポートにパケットを送出する。
【0058】
次にルータ3がこのパケットを受信すると、MPLSパケット処理部16により、同様に最上位のラベル値(“3:5”)から自ルータを通過すべきパケットであることを確認した上で、出力先のポートを求めて、このラベルを削除した後に、該当ポートへと出力する。このようにして、ルータ1から宛先IPアドレス10.8./16が属するネットワークまでパケットが送信される。
【0059】
次にネットワーク内にリンク故障やルータ故障等の障害が発生したケースを考える。図10のように、ルータ1からIPアドレス10.8./16のネットワークまでMPLSを用いてパケットを転送する例を考える。通常の方式では、障害発生後、再びOSPFによりトポロジ情報を学習し、その上でMPLSのMPLS転送表を作成するため、障害発生後の通信再開に要する時間が大きいという問題がある。この問題を以下の方法により解決する。
【0060】
宛先アドレスには、ルータ3を通過する経路と、ルータ2とルータ4を通過する経路の2経路が存在する。MPLS転送表作成部13は、それぞれの経路に対するラベル値を求めて、あらかじめ1つのアドレスに対して、図11のように2つのMPLSの経路のラベル値を持つMPLS転送表14を作成する。MPLSパケット生成部15は、通常はより宛先までのコストが小さいルータ3を経由するプライマリのラベル値“3:5”のMPLSラベルを付与して送信する。
【0061】
プライマリの経路上に何らかの障害が発生し、その情報がルータ1に伝達されると、障害情報を受信したルータ1のMPLSパケット生成部15は、は正常に通信可能なセカンダリのラベル“2:1,4:2”を付与し、この経路上を転送する。
【0062】
この経路切替方式の利点は、あらかじめ、通常転送する経路に対するバックアップの経路に対するラベル値を作成しておくことで、障害発生後に瞬時に通信を再開することが可能であるところにある。
【0063】
【発明の効果】
以上説明したように、本発明によれば、シグナリングプロトコルを用いることなくMPLSのパス設定が可能となるため、多数のパスを設定するような場合にルータのCPUの負荷の軽減とパス設定時間の短縮が図れる。また、各ルータにシグナリングプロトコルを実装する必要がないため、ルータに搭載するメモリ量を削減することができる。
【図面の簡単な説明】
【図1】本実施例のルータのブロック構成図。
【図2】本実施例におけるルーティングプロトコルの広告情報の一例を示す図。
【図3】本実施例のMPLS転送表の構成例を示す図。
【図4】本実施例のネットワーク構成例を示す図。
【図5】本実施例のラベル付きパケットの一例を示す図。
【図6】本実施例のネットワーク構成例を示す図。
【図7】本実施例のMPLS転送表の構成例を示す図。
【図8】本実施例の処理フローを示すフローチャート。
【図9】本実施例のラベル付きパケットの一例を示す図。
【図10】本実施例のネットワークの構成例を示す図。
【図11】本実施例のMPLS転送表の構成例を示す図。
【図12】従来例を説明するためのネットワークの構成例を示す図。
【図13】従来のルーティングプロトコルの広告情報
【符号の説明】
1〜4 ルータ
11 広告部
12 MPLS情報付加部
13 MPLS転送表作成部
14 MPLS転送表
15 MPLSパケット生成部
16 MPLSパケット処理部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method and an apparatus for setting a path or a connection accommodated in a communication network. INDUSTRIAL APPLICABILITY The present invention is applied to an MPLS (Multiprotocol Label Switching) network that realizes packet transfer in a communication network by assigning a fixed-length label to a packet and determining a packet transfer route.
[0002]
[Prior art]
In recent years, due to the rapid spread of the Internet and LANs, data traffic including IP traffic has increased exponentially. In order to cope with an increase in traffic, a mechanism for providing high-speed IP packet transfer and high-level service in a backbone network is required. In order to respond to such a request, MPLS has been proposed so far.
[0003]
MPLS assigns a fixed-length label to a packet to be transferred, and based on the label, each node in the communication network determines a transfer route. By introducing this MPLS into an IP backbone network, high-speed IP transfer and advanced traffic engineering can be performed.
In order to transfer a packet in an MPLS network, it is necessary to set a path in advance. To do this, network topology information is collected by a routing protocol, and an MPLS signaling protocol such as CR-LDP or RSVP-TE is used. (See, for example,
[0004]
[Non-patent document 1]
Takashi Miyamura, Takashi Kurimoto, Michihiro Aoki, "A Scalable Multipath Algorithm in Hierarchical MPLS Networks", Proc. of WTC / ISS2002.
[Non-patent document 2]
R. Coltun, "The OSPF Opaque LSA Option", IETF RFC 2370.
[Non-Patent Document 3]
B. S. Davie and Y. Rekhter, "MPLS: Technology and Applications", Morgan Kaufmann Publisher, 2002.
[0005]
[Problems to be solved by the invention]
Normally, the value of the MPLS label used in each link is basically not limited as long as it is a value unique to the link, and is determined between the facing routers using a signaling protocol.
[0006]
FIG. 12 is a diagram showing a configuration example of a network for explaining a conventional example. For example, consider a case where the
[0007]
However, in a large-scale MPLS network accommodating a large number of paths, a large amount of signaling messages are generated at the time of setting a path, so that there is a problem that a CPU load on a router increases and a path setting time increases.
[0008]
Further, since most of the CPU resources of the router are consumed by the signaling protocol, there is a problem that other protocols and processing such as device management cannot be performed.
[0009]
In addition, since the routing protocol and the signaling protocol need to be constantly operated, there is a problem in that the required processing power and memory capacity of the CPU are large.
[0010]
The present invention has been made in such a background, and since it is possible to set MPLS paths without using a signaling protocol, it is possible to reduce the load on the CPU of a router when setting many paths. It is an object of the present invention to provide a router, a path setting method, and a network that can reduce the amount of memory installed in a router because it is not necessary to implement a signaling protocol in each router, and to shorten a path setting time. I do.
[0011]
[Means for Solving the Problems]
According to the present invention, the routing protocol is extended, and information necessary for creating an MPLS forwarding table used for forwarding MPLS labeled packets using the routing protocol is advertised, and MPLS forwarding is performed based on the information advertised by the routing protocol. It is characterized in that a table is created.
[0012]
That is, a first aspect of the present invention is a router installed in an MPLS network, and a feature of the present invention is that advertisement information in a routing protocol is used to determine a label value at each hop in an MPLS path. There is a means for adding information to be used.
[0013]
The adding means may include means for adding information capable of identifying an adjacent router and information capable of identifying a port of the own router connected to the adjacent router to advertisement information in a routing protocol, or Means for adding, to the advertisement information in the routing protocol, information capable of identifying the adjacent router, information capable of identifying the own router in the network, and information capable of identifying the port of the own router connected to the adjacent router. It is desirable to provide.
[0014]
It is desirable to have a means for creating an MPLS transfer table in which the correspondence between the destination address and the MPLS label is recorded based on the advertisement information of the own device.
[0015]
As an example of the MPLS label, by including information capable of identifying the port, it is possible to recognize, for example, a port number of a router that passes to reach a target destination address. Alternatively, as an example of the MPLS label, by including information capable of identifying a router in a network and information capable of identifying the port, for example, a router that passes to reach a target destination address and a The port number can be recognized.
[0016]
In the former example, since the destination address and the port number for going there can be recognized, the MPLS path can be set for the time being. In the latter example, since the router can be recognized in addition to the destination address and the port number for going there, if a labeled packet is incorrectly distributed to the wrong router, this can be detected.
[0017]
For example, means for selecting a label value at each hop from the start point to the end point of the MPLS path with reference to the MPLS forwarding table, means for stacking the label value at each hop in a packet transferred from the start point in multiple stages Means for receiving the packet, determining a destination route based on the label value at the highest level of the label values stacked in multiple stages, deleting the label value, and transferring the packet to the next hop destination router Thereby, packet transfer by MPLS can be realized.
[0018]
Means for advertising that the own router has means for creating the MPLS forwarding table prior to advertising information necessary for path setting by a routing protocol, and means for creating the MPLS forwarding table based on the advertisement. If the means for adding the information used to determine the label value at each hop in the MPLS path by the means for adding to the advertisement information in the routing protocol for the router confirmed to have Since routers having capability and routers having no capability can be distinguished and invalid advertisement information can be eliminated, efficient advertisement can be performed.
[0019]
Further, when there are two or more paths between the start point and the end point of the MPLS path, the means for creating the MPLS forwarding table includes a plurality of MPLS labels corresponding to one destination address based on the other advertisement information. A means for creating an MPLS forwarding table that records the correspondence of the plurality of MPLS labels, and a means for switching one of the plurality of MPLS labels to the active state and the other to the standby state in accordance with the occurrence of the failure, thereby bypassing the failure location. Since packet transfer can be performed by the route, a highly reliable MPLS network can be realized.
[0020]
A second aspect of the present invention is a path setting method in an MPLS network, which is characterized in that information used for determining a label value at each hop in an MPLS path is included in advertisement information in a routing protocol. There is a place to add.
[0021]
For example, information that can identify an adjacent router and information that can identify a port of the own router connected to the adjacent router are added to advertisement information in a routing protocol, or information that can identify an adjacent router is Then, information for identifying the own router and information for identifying the port of the own router connected to the adjacent router are added to the advertisement information in the routing protocol.
[0022]
It is desirable to create an MPLS forwarding table that records the correspondence between the destination address and the MPLS label based on the other advertisement information.
[0023]
At this time, for example, the MPLS label includes information capable of identifying the port, or the MPLS label includes information capable of identifying a router in the network and information capable of identifying the port.
[0024]
The label value at each hop from the start point to the end point of the MPLS path is selected with reference to the MPLS forwarding table, the label value at each hop is stacked in a packet transferred from the start point in multiple stages, and the packet is received and multi-staged. If the destination route is determined by the label value at the highest level of the label value stacked on the router, the label value is deleted, and the packet is transferred to the next hop destination router, the packet transfer by MPLS is realized. Can be.
[0025]
In addition, prior to advertising information necessary for path setting by a routing protocol, the router advertises that the own router has the ability to create the MPLS forwarding table, and has the ability to create the MPLS forwarding table by the advertisement. If the information used to determine the label value at each hop in the MPLS path is added to the advertisement information in the routing protocol for the routing that has confirmed the above, invalid advertisement can be eliminated, and efficient advertisement can be performed. be able to.
[0026]
When two or more paths exist between the start point and the end point of the MPLS path, an MPLS transfer table that records a correspondence relationship between a plurality of MPLS labels corresponding to one destination address based on own and other advertisement information is stored. By creating one of the plurality of MPLS labels and using the other as a backup in response to the occurrence of a failure, a route bypassing the failure location can be quickly set, and a highly reliable MPLS network can be created. Can be realized.
[0027]
A third aspect of the present invention is an MPLS network including the router of the present invention.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
A router according to an embodiment of the present invention will be described with reference to FIGS. 1, 3, 7, and 11. FIG. FIG. 1 is a block diagram of the router of the present embodiment. FIG. 3, FIG. 7, and FIG. 11 are diagrams showing examples of the configuration of the MPLS forwarding table of the present embodiment.
[0029]
This embodiment is a router installed in an MPLS network. The feature of this embodiment is that the advertisement information (FIG. 13) in the routing protocol transmitted from the
[0030]
As shown in FIG. 3, the MPLS
[0031]
That is, an MPLS transfer
[0032]
MPLS packet generation for selecting a label value at each hop from the start point to the end point of the MPLS path with reference to the MPLS transfer table 14 and stacking the label value at each hop in a packet transferred from the start point in multiple stages MPLS that receives the packet, determines the destination route with the label value at the highest level of the label values stacked in multiple stages, deletes the label value, and transfers the packet to the next hop destination router A
[0033]
In addition, the MPLS
[0034]
Further, when there are two or more paths between the start point and the end point of the MPLS path, the MPLS
[0035]
Hereinafter, the present embodiment will be described in more detail.
[0036]
In a normal routing protocol, as shown in FIG. 13, the
[0037]
In the present embodiment, as shown in FIG. 2, in addition to the information that the
[0038]
Upon receiving the message including the above information, the MPLS
[0039]
A method of creating the MPLS transfer table 14 will be described. First, the MPLS transfer
[0040]
For example, consider an example in which the
[0041]
FIG. 5 is an example of a labeled packet to be transferred. When a packet addressed to the address A arrives at the
[0042]
Next, the
[0043]
Next, when the
[0044]
Here, as a more specific embodiment, an example in which the present invention is implemented using a link state type protocol such as OSPF and IS-IS will be described. Here, a network in which OSPF operates is particularly described, but the present invention is also applicable to a network in which other routing protocols such as IS-IS, RIP, and BGP operate.
[0045]
OSPF is operating at each router in the network. When each router is connected by a link, OSPF adjacency is established through the OSPF neighbor discovery stage, and each router learns the network topology. Then, an IP transfer table of the IP packet is created based on this.
[0046]
After the above series of processing is completed, the router capable of distributing labels by OSPF uses Opaque LSA specified in RFC2370 of IETF, and determines that the own router has the capability of distributing labels using OSPF. Advertising is performed by the
[0047]
Through the above process, the MPLS
[0048]
-Router ID of adjacent router with label distribution capability or I of interface
P address
・ Link cost of connected link
-Label information (an internal identifier that can identify the connected port)
Here, the label of the MPLS is 20 bits, but it is possible to use all 20-bit ports for encoding an internal identifier that can be specified. However, the upper few bits (for example, 8 bits) of the 20 bits are used in the network. Information that can identify the own router (hereinafter, referred to as a router identifier) may be encoded, and an internal identifier that can identify a port may be encoded with the remaining bits (for example, 12 bits). Here, as for the information for identifying the router in the network, the network operator assigns a unique value in the network to each router in advance.
[0049]
By including information for identifying a router and information for identifying a port together in the MPLS label in this way, if a labeled packet is incorrectly distributed for some reason, the incorrectly distributed destination router differs from its own router. Since the router identifier code is attached, an erroneous delivery destination is detected, and appropriate processing such as discarding the corresponding packet becomes possible.
[0050]
Advertisement information including the router ID and label information of an adjacent router having the label distribution capability (hereinafter, referred to as label extended LSA) is advertised throughout the OSPF area to which the own router belongs. As with the normal OSPF, when a change occurs in the neighboring configuration of the own router, information including the above-described label information is advertised.
[0051]
Upon receiving the message including the above information, the MPLS transfer
[0052]
FIG. 8 is a processing flow that summarizes a series of processes up to the creation of the MPLS transfer table. That is, the MPLS
[0053]
Hereinafter, a specific example of a method of creating the MPLS transfer table 14 will be described. First, the MPLS transfer
[0054]
[0055]
Next, an MPLS label to be assigned is determined based on the label extension LSA advertised by each router. In this case, it passes through the
[0056]
Next, a method of transferring an MPLS packet in each router will be described. FIG. 9 shows that the destination address 10.8. / 16 is an example of a labeled packet to be transferred. When a packet addressed to the destination address arrives at the
[0057]
Next, the
[0058]
Next, when the
[0059]
Next, consider a case in which a failure such as a link failure or a router failure has occurred in the network. As shown in FIG. 10, the IP address 10.8. Consider an example in which a packet is transferred to a / 16 network using MPLS. In the ordinary method, after the occurrence of a failure, the topology information is learned again by the OSPF, and the MPLS forwarding table of the MPLS is created based on the topology information. This problem is solved by the following method.
[0060]
The destination address has two routes, a route passing through the
[0061]
When any failure occurs on the primary path and the information is transmitted to the
[0062]
The advantage of this path switching method is that by creating a label value for a backup path for a normal transfer path in advance, communication can be restarted immediately after a failure occurs.
[0063]
【The invention's effect】
As described above, according to the present invention, MPLS paths can be set without using a signaling protocol. Therefore, when a large number of paths are set, the load on the router CPU can be reduced and the path setting time can be reduced. It can be shortened. Further, since it is not necessary to implement a signaling protocol in each router, the amount of memory installed in the router can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram of a router according to an embodiment.
FIG. 2 is a diagram showing an example of advertisement information of a routing protocol in the embodiment.
FIG. 3 is a diagram illustrating a configuration example of an MPLS forwarding table according to the embodiment;
FIG. 4 is a diagram illustrating an example of a network configuration according to the embodiment;
FIG. 5 is a diagram illustrating an example of a labeled packet according to the embodiment;
FIG. 6 is a diagram illustrating an example of a network configuration according to the embodiment;
FIG. 7 is a diagram illustrating a configuration example of an MPLS forwarding table according to the embodiment;
FIG. 8 is a flowchart showing a processing flow of the embodiment.
FIG. 9 is a diagram illustrating an example of a labeled packet according to the embodiment;
FIG. 10 is a diagram illustrating a configuration example of a network according to the embodiment;
FIG. 11 is a diagram illustrating a configuration example of an MPLS forwarding table according to the embodiment;
FIG. 12 is a diagram showing a configuration example of a network for explaining a conventional example.
FIG. 13 shows advertisement information of a conventional routing protocol.
[Explanation of symbols]
1-4 router
11 Advertising Department
12 MPLS information adding unit
13 MPLS transfer table creation unit
14 MPLS forwarding table
15 MPLS packet generator
16 MPLS packet processing unit
Claims (19)
ルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えたことを特徴とするルータ。In a router installed in an MPLS (Multi Protocol Label Switching) network,
A router comprising means for adding information used for determining a label value at each hop in an MPLS path to advertisement information in a routing protocol.
当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせる手段と、
当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送する手段と
を備えた請求項1ないし6のいずれかに記載のルータ。Means for selecting a label value at each hop from the start point to the end point of the MPLS path with reference to the MPLS forwarding table;
Means for stacking the label value at each hop in a packet transferred from the origin in multiple stages,
Means for receiving the packet, determining a destination route based on the label value at the highest level of the label values stacked in multiple stages, deleting the label value, and transferring the packet to the next hop destination router. The router according to claim 1.
当該広告により前記MPLS転送表を作成する手段を有することを確認したルータに対するルーティングプロトコルにおける広告情報に前記付加する手段によりMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加する手段を備えた請求項1または4記載のルータ。Means for advertising that the own router has means for creating the MPLS forwarding table prior to advertising information necessary for path setting by a routing protocol,
Means for adding information used for determining a label value at each hop in the MPLS path by means for adding the advertisement information to the advertisement information in the routing protocol for the router, which has been confirmed to have the means for creating the MPLS forwarding table by the advertisement. The router according to claim 1 or 4, further comprising:
前記MPLS転送表を作成する手段は、自他の広告情報に基づき1つの宛先アドレスに対応する複数のMPLSラベルの対応関係を記録したMPLS転送表を作成する手段を備え、
当該複数のMPLSラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える手段を備えた
請求項4記載のルータ。When there are two or more paths between the start point and the end point of the MPLS path,
The means for creating the MPLS forwarding table includes means for creating an MPLS forwarding table that records a correspondence relationship between a plurality of MPLS labels corresponding to one destination address based on own and other advertisement information,
5. The router according to claim 4, further comprising means for switching any one of the plurality of MPLS labels as active and setting the other as standby according to the occurrence of a failure.
ルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加することを特徴とするパス設定方法。In a path setting method in an MPLS (Multi Protocol Label Switching) network,
A path setting method characterized by adding information used for determining a label value at each hop in an MPLS path to advertisement information in a routing protocol.
当該起点から転送されるパケットに当該各ホップにおけるラベル値を多段にスタックさせ、
当該パケットを受け取り多段にスタックされた前記ラベル値の最上位にあるラベル値で宛先方路を決定しこのラベル値を削除した上で次ホップ先のルータに当該パケットを転送する
請求項10ないし15のいずれかに記載のパス設定方法。Selecting a label value at each hop from the start point to the end point of the MPLS path with reference to the MPLS forwarding table;
The packet value transferred from the origin is stacked with the label value at each hop in multiple stages,
16. The method according to claim 10, further comprising: receiving the packet, determining a destination route based on a label value at the highest level of the label values stacked in multiple stages, deleting the label value, and transferring the packet to a next hop destination router. Path setting method described in any of the above.
当該広告により前記MPLS転送表を作成する能力を有することを確認したルータに対するルーティングプロトコルにおける広告情報にMPLSのパスにおける各ホップでのラベル値の決定に用いる情報を付加する
請求項10または13記載のパス設定方法。Prior to advertising the information required for path setting by the routing protocol, advertising that the own router has the ability to create the MPLS forwarding table;
14. The method according to claim 10, wherein information used for determining a label value at each hop in an MPLS path is added to advertisement information in a routing protocol for a router that has been confirmed to have the ability to create the MPLS forwarding table by the advertisement. Path setting method.
自他の広告情報に基づき1つの宛先アドレスに対応する複数のMPLSラベルの対応関係を記録したMPLS転送表を作成し、
当該複数のMPLSラベルの内のいずれかを現用とし他を予備として障害発生に応じて切り替える
請求項13記載のパス設定方法。When there are two or more paths between the start point and the end point of the MPLS path,
Create an MPLS forwarding table that records the correspondence between a plurality of MPLS labels corresponding to one destination address based on the other advertisement information,
14. The path setting method according to claim 13, wherein one of the plurality of MPLS labels is set to the active state and the other is set to the standby state and switched according to the occurrence of a failure.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002355369A JP2004193644A (en) | 2002-12-06 | 2002-12-06 | Router and path setting method in mpls, and network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002355369A JP2004193644A (en) | 2002-12-06 | 2002-12-06 | Router and path setting method in mpls, and network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004193644A true JP2004193644A (en) | 2004-07-08 |
Family
ID=32756089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002355369A Pending JP2004193644A (en) | 2002-12-06 | 2002-12-06 | Router and path setting method in mpls, and network |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004193644A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680136B2 (en) | 2005-03-18 | 2010-03-16 | Fujitsu Limited | Method and apparatus for allocating label to path in ring network |
JP2012509018A (en) * | 2008-11-14 | 2012-04-12 | ノーテル・ネットワークス・リミテッド | Service instance applied to MPLS network |
JP2015154192A (en) * | 2014-02-13 | 2015-08-24 | 日本電信電話株式会社 | Communication control system, method and program |
-
2002
- 2002-12-06 JP JP2002355369A patent/JP2004193644A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7680136B2 (en) | 2005-03-18 | 2010-03-16 | Fujitsu Limited | Method and apparatus for allocating label to path in ring network |
JP2012509018A (en) * | 2008-11-14 | 2012-04-12 | ノーテル・ネットワークス・リミテッド | Service instance applied to MPLS network |
US8811388B2 (en) | 2008-11-14 | 2014-08-19 | Rockstar Consortium Us Lp | Service instance applied to MPLS networks |
JP2015154192A (en) * | 2014-02-13 | 2015-08-24 | 日本電信電話株式会社 | Communication control system, method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3648420B1 (en) | Enabling non-flexible-algorithm routers to participate in flexiblealgorithm routing protocols | |
JP7152533B2 (en) | Method, apparatus, and system for handling transmission path failures | |
US7668116B2 (en) | Root node shutdown messaging for multipoint-to-multipoint transport tree | |
US9825886B2 (en) | Routing protocols for accommodating nodes with redundant routing facilities | |
US7983153B2 (en) | Fast reroute (FRR) protection at the edge of a RFC 2547 network | |
CN1992676B (en) | Method and device for forwarding state sharing between multiple traffic paths in a communication network | |
US10742599B2 (en) | Conflict resolution in segment routing | |
CN113452610B (en) | Seamless end-to-end segmented routing method across metropolitan area network and area border router | |
EP2915294B1 (en) | Multiple path availability between walkable clusters | |
CN111865783B (en) | Method and network device for computer network | |
CN114070782A (en) | Method, device and system for processing transmission path fault | |
CN101455030A (en) | Dynamic shared risk node group (srng) membership discovery | |
JP5625121B2 (en) | Prioritizing routing information updates | |
US7969898B1 (en) | Technique for breaking loops in a communications network | |
US11323371B1 (en) | Micro SID packet processing with operations, administration, and management | |
CN113709033B (en) | Segment traceroute for segment routing traffic engineering | |
CN114631293B (en) | Tag derivation with flexible algorithms | |
JP2004193644A (en) | Router and path setting method in mpls, and network | |
EP3422645B1 (en) | Conflict resolution in segment routing | |
CN115460107A (en) | Route detection method, device, system and storage medium | |
JP4369882B2 (en) | Routing method and network system | |
EP3913868A1 (en) | Segmented traceroute for segment routing traffic engineering | |
JP3878140B2 (en) | Communication node, routing information advertising method, routing information advertising program, and recording medium |