JP4623139B2 - ルータ装置 - Google Patents

ルータ装置 Download PDF

Info

Publication number
JP4623139B2
JP4623139B2 JP2008137841A JP2008137841A JP4623139B2 JP 4623139 B2 JP4623139 B2 JP 4623139B2 JP 2008137841 A JP2008137841 A JP 2008137841A JP 2008137841 A JP2008137841 A JP 2008137841A JP 4623139 B2 JP4623139 B2 JP 4623139B2
Authority
JP
Japan
Prior art keywords
router
unit
queue length
adjacent
cost value
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.)
Expired - Fee Related
Application number
JP2008137841A
Other languages
English (en)
Other versions
JP2009290281A (ja
Inventor
規景 今中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2008137841A priority Critical patent/JP4623139B2/ja
Priority to US12/453,859 priority patent/US8009570B2/en
Publication of JP2009290281A publication Critical patent/JP2009290281A/ja
Application granted granted Critical
Publication of JP4623139B2 publication Critical patent/JP4623139B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信パケットを転送するルータ装置に関するものである。
ネットワーク内に流すことができるトラフィック総量は、そのネットワークの性能を測る指標ともなり重要である。トラフィック総量を増加させるために、下記非特許文献1では、ルータのパケット転送方式を提案している。
下記非特許文献1で提案されている方式は、目的アドレスまでのホップ数とキュー待ち時間を考慮に入れたものである。これにより輻輳を回避したルーティングが可能となる。ルーティングの手順は、以下の(1)〜(2)の通りである。
(1)パケットを転送するルータが転送先ルータを決定する時に、各隣接ルータiについて、下記(式1)に示す重みHiを算出する。
Figure 0004623139
上記(式1)は、パケットがノードiを通過する時のコストを表す。つまり、ルータiを通る時に、右辺第1項はそのパケットが処理されるまでの時間的コストを表し、右辺第2項はパケットが目的アドレスに到達するまでの距離的コストを表す。
(2)パケットを転送するルータは、上記(式1)でこの重みHiが最小となる隣接ルータを転送先ルータと決定し、パケットを転送する。
時間的コストを加味することで、転送したパケットが処理されるまでに時間のかかる、混雑したルータを避けたルーティングを実現することができる。
このような手順により、宛先までのホップ数のみを考えてルーティングするRIP(Routing Information Protocol)やOSPF(Open Shortest Path First)のようなルーティングプロトコルを用いた場合に比べ、ネットワークのトラフィック総量を増加させることができる。
Zhen Yi Chen and Xiao Fan Wang,"Effects of network structure and routing strategy on network capacity",PHYSICAL REVIEW E,73,036107,2006
上記非特許文献1に記載の転送方式では、隣接ルータにキュー待ち時間を知らせる必要がある。全ての隣接ルータにキュー待ち時間を通知するパケットを流すと、各ルータがそのパケットを処理するための負荷が増加し、ネットワークのトラフィックを圧迫する恐れがある。
一方、上記(式1)において、キュー待ち時間とホップ数をどれくらいの割合で重みHiに反映させるかを決めるパラメータαの決定が課題となる。
従来技術の文献のFIG.2〜4には、ネットワークのトポロジーが異なれば、λcrit(ネットワークを構成するルータが単位時間当たりに発生させられるパケット量の最大値)を最大にするαが異なることが記載されている。
これは、ネットワークのトラフィック総量を最大にするαがネットワークのトポロジーにより異なるので、最適なαを決定するためには、ネットワーク全体のトポロジーをあらかじめ知っておかなければならないことを示している。
しかし、上記非特許文献1では、特定のネットワークトポロジーに対してトラフィック総量が最大になるαを示してはいるものの、実在するネットワークに対してαを決定する方法については何ら言及されていない。
そのため、実際のネットワークでαを固定にしたルーティング方式を適用しようとした場合、トラフィック総量を最大にするαがネットワークのトポロジーにより異なることに鑑み、αを決定するためにネットワーク全体のトポロジーを知らなければならないが、このようなことは現実的ではない。
以上説明した理由から、全ての隣接ルータにキュー待ち時間を通知するパケットを流すことなく、輻輳を回避した効率の良いルーティングを行うことのできるルータ装置が望まれていた。
本発明に係るルータ装置は、通信パケットを転送するルータ装置であって、当該ルータ装置以外の通信先に宛てた通信パケットを受信する受信部と、当該ルータ装置に隣接する1ないし複数の隣接ルータが前記通信パケットを宛先に転送するためのコスト値を各前記隣接ルータについて計算する計算部と、いずれの前記隣接ルータを前記通信パケットの転送先とするかを前記計算部が計算したコスト値に基づき決定する転送先決定部と、を備え、前記計算部は、前記隣接ルータのノード次数と、前記隣接ルータから宛先までの前記通信パケットのホップ数と、前記コスト値に対する前記ノード次数と前記ホップ数の寄与度を定めた係数と、を用いて前記コスト値を計算するものである。
本発明に係るルータ装置によれば、キュー待ち時間よりも変更頻度の小さいノード次数を用いて転送コスト値を計算するので、ノード次数を通知するパケットを受信したルータ装置の負荷を軽減することができる。
また、転送先ルータを決定する際にノード次数を考慮することで、輻輳を生じやすいルータを回避することができ、これによりネットワークのトラフィック総量を増加させることができる。
実施の形態1.
図1は、本発明の実施の形態1に係るルータ100の機能ブロック図である。
ルータ100は、記憶部111、使用頻度記憶部112、パケット受信部121、コスト計算部122、転送先決定部123、パケット送信部124、ホップ数受信部131、次数受信部141、次数取得部142、次数通知部143を備える。
記憶部111は、ルータ100、およびルータ100にネットワーク上で隣接するルータ(以下、隣接ルータと呼ぶ)全てのノード次数と、任意の隣接ルータからある宛先アドレスまでのホップ数の情報を保持する。ノード次数とは、ルータ100の隣接ルータの数を意味する。
使用頻度記憶部112は、コスト計算部122が記憶部111内に格納されているホップ数情報を参照した頻度を管理する。この参照頻度の使用方法については、後述の図3で説明する。
パケット受信部121は、隣接ルータからパケットを受信する。
コスト計算部122は、パケット受信部121が受信したパケットを転送する先の隣接ルータを決定するために用いる、各隣接ルータのコスト値Hiを計算する。コスト値Hiとは、後述の(式2)で算出される値であり、当該隣接ルータがパケットを宛先に転送するために要するコストを表すものである。詳細は後述する。
転送先決定部123は、コスト計算部122が算出したコスト値が最小となる隣接ルータを求め、その隣接ルータを、パケット受信部121が受信したパケットの転送先ルータとして決定する。
パケット送信部124は、転送先決定部123が決定した転送先の隣接ルータに、パケット受信部121が受信したパケットを転送する。
ホップ数受信部131は、RIPやOSPFなどのルーティングプロトコルの広告によって、隣接ルータ毎に、当該隣接ルータがパケットを転送する宛先の候補となるアドレスと、そのアドレスまでのホップ数を取得する。
また、ホップ数受信部131は、コスト計算部122より、ある隣接ルータからあるアドレスまでのホップ数を取得すべき旨のリクエストを受け取る。次に、その隣接ルータに対し広告のリクエストを行い、要求されたアドレスまでのホップ数をルーティングプロトコルの広告により取得する。
ホップ数受信部131は、取得した情報を記憶部111に格納し、またはコスト計算部122に出力する。
なお、広告とは、RIPやOSPFなどのルーティングプロトコルで用いられる、あるアドレスとそのアドレスまでのホップ数の情報を含んだメッセージを指す。広告の送信を依頼することをリクエストと呼ぶ。
次数受信部141は、任意の隣接ルータから当該隣接ルータのノード次数の通知を受け取り、記憶部111にその情報を格納する。
次数取得部142は、ルータ100に隣接するルータ数、即ちノード次数を取得する。
次数通知部143は、ルータ100のノード次数に変更があった時に限り、隣接ルータの次数受信部141に更新後のルータ100のノード次数を通知する。
記憶部111、使用頻度記憶部112は、HDD(Hard Disk Drive)のような書き込み可能な記憶装置で構成することができる。これらを一体的に構成してもよい。
パケット受信部121、コスト計算部122、転送先決定部123、パケット送信部124、ホップ数受信部131、次数受信部141、次数取得部142、次数通知部143は、これらの機能を実現する回路デバイスのようなハードウェアで構成することもできるし、マイコンやCPU(Central Processing Unit)のような演算装置とその動作を規定するソフトウェアで構成することもできる。
また、パケット受信部121、パケット送信部124、ホップ数受信部131、次数受信部141、次数通知部143は、必要なネットワークインターフェースを適宜備える。ネットワークインターフェースはこれら各機能部で共用してもよい。
以上、ルータ100の構成について説明した。
次に、コスト計算部122が各隣接ルータのコスト値Hiを算出する手順を説明する。
(1)ノード次数とホップ数の取得
コスト計算部122は、まず記憶部111を参照し、隣接ルータのノード次数と、当該隣接ルータからパケット受信部121が受信したパケットの宛先アドレスまでのホップ数を、パケット送信元ルータを除く全隣接ルータについて取得する。
パケット送信元ルータを除くのは、送信元ルータに受信パケットを送り返すことがないようにするためである。
記憶部111を参照しても得られないホップ数の情報がある場合、ホップ数受信部131に対し、不足しているホップ数の情報取得を依頼する。ホップ数受信部131は、不足している隣接ルータのホップ数情報を取得し、コスト計算部122に出力する。
(2)コスト値Hiの計算
コスト計算部122は、全隣接ルータについてノード次数とホップ数の情報を取得すると、下記(式2)を用いて各隣接ルータのコスト値Hiを計算する。
なお、下記(式2)中のαは固定のパラメータであり、あらかじめシミュレーション等で最適な値を定めておく。本実施の形態1における「係数」は、下記(式2)中のαがこれに相当する。
Figure 0004623139
以上、コスト計算部122が各隣接ルータのコスト値Hiを算出する手順を説明した。
次に、ルータ100の詳細動作について、動作フロー図を用いて説明する。
図2は、ルータ100が自ルータ100と隣接ルータのノード次数を取得する際の動作フローである。図2(a)は自ルータ100のノード次数、図2(b)は隣接ルータのノード次数を取得する動作フローである。以下、図2の各ステップについて説明する。
(a)自ルータのノード次数
(S201)
次数取得部142は、自ルータ100のノード次数を取得する。具体的には、例えば隣接ルータとの間の通信経路情報が存在するか否か、などの手法により、隣接ルータの数をカウントすることで、自ルータ100のノード次数を取得することができる。
(S202)
次数取得部142は、ステップS201で取得した新たなノード次数が、記憶部111に格納されている自ルータ100の従前のノード次数と異なるか否かを確認する。異なっていればノード次数に変更が生じたものとしてステップS203へ進み、変更が生じていなければステップS201へ戻る。
(S203)
次数取得部142は、記憶部111に格納されている自ルータ100の従前のノード次数を、新たなノード次数で更新する。また、更新後の値を次数通知部143に出力する。
(S204)
次数通知部143は、次数取得部142より受け取った自ルータ100のノード次数を全ての隣接ルータに通知する。
(S205)
ノード次数を取得する処理を継続する場合は、ステップS201へ戻る。
(b)隣接ルータのノード次数
(S206)
次数受信部141は、隣接ルータからノード次数の通知を受信する。
(S207)
次数受信部141は、ステップS206で取得した新たなノード次数が、記憶部111に格納されている当該隣接ルータの従前のノード次数と異なるか否かを確認する。異なっていればノード次数に変更が生じたものとしてステップS208へ進み、変更が生じていなければステップS206へ戻る。
(S208)
次数受信部141は、記憶部111に格納されている当該隣接ルータのノード次数を更新する。
(S209)
ノード次数を受信する処理を継続する場合は、ステップS206へ戻る。
図3は、ルータ100が隣接ルータから宛先アドレスまでのホップ数の情報を取得する際の動作フローである。以下、図3の各ステップについて説明する。
(S301)
ホップ数受信部131は、任意の隣接ルータからRIPやOSPFなどのルーティングプロトコルによって通知される広告から、その広告に記載してある宛先アドレスと、その隣接ルータを経由した時のその宛先アドレスまでのホップ数の情報を取得する。
(S302)
ホップ数受信部131は、記憶部111が格納している、当該隣接ルータに関する項目エントリの中に、ステップS301で取得した宛先アドレスが登録されているか否かを確認する。
登録があればステップS303へ進み、登録がなければステップS305へ進む。
(S303)
ホップ数受信部131は、ステップS302で確認したアドレスまでのホップ数に基づき、記憶部111が格納している、当該隣接ルータに関する項目エントリ中の従前のホップ数に変更があるか否かを確認する。
変更があればステップS304へ進み、なければステップS301へ戻る。
また、ホップ数受信部131は、使用頻度記憶部112における当該隣接ルータに関する項目エントリの使用頻度を更新する。
(S304)
ホップ数受信部131は、記憶部111が格納している、当該隣接ルータに関する項目エントリ中の従前のホップ数を、ステップS302で確認したアドレスまでのホップ数で更新する。
(S305)
ホップ数受信部131は、記憶部111の登録領域に空きがあるか否かを確認する。空きがあればステップS307へ進み、なければステップS306へ進む。
(S306)
ホップ数受信部131は、使用頻度記憶部112を参照し、一定期間、コスト計算部121が計算に用いなかったアドレスが存在するか否かを確認する。存在すればステップS308へ進み、存在しなければステップS301へ戻る。
(S307)
ホップ数受信部131は、記憶部111中に、ステップS301で広告を受け取った隣接ルータに関する新たな項目エントリを生成し、取得したホップ数の情報を格納する。
(S308)
ホップ数受信部131は、ステップS306で参照した宛先アドレスに関する項目エントリを記憶部111から削除して、登録領域を確保する。次に、ステップS301で広告を受け取った隣接ルータの項目エントリを新たに生成し、取得した宛先アドレスとホップ数の情報を新たに登録する。
以上、ルータ100がノード次数とホップ数の情報を取得する際の動作を説明した。
次に、具体的なネットワーク構成の下で、ルータ100の各部動作について例を挙げて説明する。
図4は、本実施の形態1に係るルータR1〜R5で構成されるネットワークの構成図である。図4(a)はルータR5がR2に接続される前、図4(b)はルータR5がR2に接続された後のネットワーク構成図である。
以下、ルータR2を中心として、新たなルータR5がR2に接続される前後に係る各部の動作を説明する。
図5は、ルータR5がR2に接続される前後に係る、ルータR2の記憶部111が格納する情報の状態を示す図である。図5(a)はルータR5がR2に接続される前、図5(b)はルータR5がR2に接続された後の状態を示す。
図4(a)の状態では、記憶部111に格納されている情報は図5(a)のようになっている。各ルータのノード次数は「ノード次数」欄に、各ルータの宛先アドレス毎のホップ数は「ホップ数」欄に格納されている。
図5を参照すると、例えばルータR2のノード次数は3で、R5が接続されるとノード次数が4に変更されていることが分かる。同様に、R5のノード次数は、R2を含めて10である(R2以外に9個の隣接ルータと接続されている)ことが分かる。
また、例えばルータR5からアドレス「192.168.0.1」までのホップ数は、3であることが分かる。
R2にR5が接続されると、以下のステップ(1)〜(7)で説明するような手順にしたがって記憶部111の内容が更新され、図5(a)の状態から図5(b)の状態に更新される。
(1)R2にR5が接続されると、R2の次数取得部142は、自ルータR2のノード次数を取得する。これは、図2のステップS201に相当する。
(2)R2の次数取得部142は、図2のステップS202〜S203で説明した手順にしたがって、図5に示す「ノード次数」欄の項目「R2:3」を、「R2:4」に更新する。
(3)R2の次数通知部143は、図2のステップS204にしたがって、自ルータR2の新たなノード次数:4を、全隣接ルータR1、R3〜R5に通知する。
(4)R5の次数通知部143は、自ルータR5のノード次数が9から10に変更されたことにともなって、自ルータR5の新たなノード次数:10を、全隣接ルータR1〜R4に通知する。
(5)R2の次数受信部141は、図2のステップS206〜S208で説明した手順にしたがって、R5のノード次数:10を受信する。図5に示す「ノード次数」欄には、R5に関する項目エントリがないので、R2の次数受信部141は、新たな項目エントリ「R5:10」を生成して記憶部111に登録する。
(6)R2のホップ数受信部131は、R5よりRIP、OSPF等のルーティングプロトコルの広告を受信する。この広告には、アドレス「192.168.0.1」までのホップ数が3と記載されていたものとする。
(7)R2のホップ数受信部131は、図3で説明した手順にしたがって、図5に示す「ホップ数」欄を更新する。図5(a)の状態ではR5に関する項目エントリがなく、かつ空き領域が存在するので、新たに記憶部111中へR5に関する項目エントリを生成し、アドレス「192.168.0.1」までのホップ数:3を登録する。
以上、新たなルータR5がR2に接続される前後に係る各部の動作を説明した。
次に、図4〜図5で説明した構成の下、R1からアドレス「192.168.0.1」へ宛てて送信されたパケットをR2が受信し、アドレス「192.168.0.1」へ宛てて転送する際の各部の動作を、下記ステップ(8)〜(11)で説明する。
なお、上記(式2)におけるパラメータαは、シミュレーションにより最適値0.5にあらかじめ設定されているものとする。
(8)R2のパケット受信部121は、R1が送信したアドレス「192.168.0.1」宛てのパケットを受信する。
(9)R2のコスト計算部122は、パケットの送信元であるR1を除き、以下の手順で各隣接ルータのコスト値Hiを算出する。
(9.1)コスト計算部122は、記憶部111より各隣接ルータのノード次数とアドレス「192.168.0.1」までのホップ数を取得する。
(9.2)コスト計算部122は、上記(式2)および記憶部111より取得した各値を用いて、各隣接ルータのコスト値Hiを算出する。ここでは、図5(b)に示す各値に基づき、以下のように求められる。
(9.3)R3のコスト値H3=0.31
(9.4)R4のコスト値H4=0.35
(9.5)R5のコスト値H5=0.33
(10)R2の転送先決定部123は、コスト計算部122が算出した各隣接ルータのコスト値に基づき、R1から受信したパケットの転送先ルータを決定する。ここでは、コスト値の最も小さいルータR3に決定する。
(11)パケット送信部124は、R1から受信したパケットをR3へ転送する。
以上、図4〜図5で説明した構成の下、パケットの転送先を決定して転送する際の動作を説明した。
一般に、ノード次数の大きいルータは、任意のアドレスまでのホップ数も小さくなる。
転送先をホップ数だけで決めるルーティングプロトコルを使用した場合、ホップ数の小さいルータ、即ちノード次数の大きいルータをパケットが集中的に通過する傾向があり、そのルータで輻輳を生じやすい。
そこで従来技術では、ノード次数の大きいルータの輻輳を避けるため、隣接ルータのキュー待ち時間を考慮してルーティングを実行している。
一方、本実施の形態1で説明した構成と動作によれば、ルータ100は、コスト計算部122が計算するコスト値を元にルーティングを実行するので、必ずしもホップ数が最短ではないルータも、次の転送先ルータとして選択され得る。
即ち、ホップ数が小さくノード次数の高いルータを回避して、パケットが集中しやすいルータを避けたルーティングを実行することが可能となる。
また、本実施の形態1によれば、隣接ルータのノード次数を用いることにより、輻輳を生じやすいルータを避けるという点において、従来技術と同種の効果を発揮することができる。
また、ルータのノード次数の変更頻度は、キューの待ち時間の変更頻度に比べれば小さいので、ルータ間でノード次数の情報を相互に交換する頻度も小さくて済む。
これにより、ルータ間でノード次数の情報を通知するパケットを処理するルータの負荷も減少し、ホップ数だけを用いて転送先を決定するルーティング手法に比べ、データを運ぶトラフィック総量を増加させることができる。
実施の形態2.
従来技術や実施の形態1では、各隣接ルータのコスト値Hiの算出に用いるパラメータαを固定しているので、あらかじめ最適なαの値を定めておく必要がある。さらには、非特許文献1に記載のように、ネットワークのトラフィック総量を最大にするαの値を定めるに際し、ネットワーク全体のトポロジーを知らなければならない。
そこで、本発明の実施の形態2では、ネットワーク全体のトポロジーを知らなくとも、パラメータαを好適に可変することのできる構成と動作を説明する。
図6は、本実施の形態2に係るルータ100の機能ブロック図である。
本実施の形態2に係るルータ100は、記憶部111、使用頻度記憶部112、パケット受信部121、コスト計算部122、転送先決定部123、パケット送信部124、ホップ数受信部131、キュー長受信部151、キュー長取得部152、キュー長通知部153、パラメータ計算部154を備える。
使用頻度記憶部112、パケット受信部121、転送先決定部123、パケット送信部124、ホップ数受信部131の機能は、実施の形態1で説明したものと同様であるため、説明を省略する。
記憶部111は、ルータ100、およびルータ100の全隣接ルータのキュー長と、任意の隣接ルータからあるアドレスまでのホップ数の情報を保持する。キュー長とは、処理待ち状態でキューに保持されているパケットの数を表す。
コスト計算部122は、後述の(式4)を用いて各隣接ルータのコスト値Hiを計算する。詳細は後述する。
キュー長受信部151は、任意の隣接ルータから当該隣接ルータのキュー長の通知を受け取り、記憶部111にその情報を格納する。
キュー長取得部152は、ルータ100のキュー長を取得する。
キュー長通知部153は、ルータ100のキュー長に変更があった時に限り、隣接ルータのキュー長受信部151に更新後のルータ100のキュー長を通知する。
パラメータ計算部154は、記憶部111に格納されている全隣接ルータのキュー長を取得し、下記(式3)を用いてパラメータαを算出し、記憶部111に格納する。
算出処理は、記憶部111に格納するキュー長の情報が更新されるときに実行する。具体的には、キュー長受信部151やキュー長取得部152が記憶部111の内容を更新した後に、パラメータ計算部154にその旨を通知し、パラメータ計算部154はこれを契機に算出処理を開始する。
このαは、0≦α<1の範囲の値をとり、隣接ルータのキュー長の分散が大きくなるとαの値も大きくなる。
Figure 0004623139
キュー長受信部151、キュー長取得部152、キュー長通知部153、パラメータ計算部154は、これらの機能を実現する回路デバイスのようなハードウェアで構成することもできるし、マイコンやCPUのような演算装置とその動作を規定するソフトウェアで構成することもできる。
また、キュー長受信部151、キュー長通知部153は、必要なネットワークインターフェースを適宜備える。ネットワークインターフェースはこれら各機能部で共用してもよい。このようなネットワークインターフェースとして、例えば、キュー長の取得を実装しているルータや、SNMPのインターフェース等を挙げることができる。
以上、本実施の形態2に係るルータ100の構成について説明した。
次に、コスト計算部122が各隣接ルータのコスト値Hiを算出する手順を説明する。
(1)キュー長とホップ数の取得
コスト計算部122は、まず記憶部111を参照し、隣接ルータのキュー長と、パケット受信部121が受信したパケットの宛先アドレスまでのホップ数を、パケット送信元ルータを除く全隣接ルータについて取得する。
パケット送信元ルータを除くのは、実施の形態1と同様に、送信元ルータに受信パケットを送り返すことがないようにするためである。
記憶部111を参照しても得られないホップ数の情報がある場合、ホップ数受信部131に対し、不足しているホップ数の情報取得を依頼する。ホップ数受信部131は、不足している隣接ルータのホップ数情報を取得し、コスト計算部122に出力する。
(2)コスト値Hiの計算
コスト計算部122は、全隣接ルータについてキュー長とホップ数の情報を取得すると、下記(式4)を用いて各隣接ルータのコスト値Hiを計算する。
なお、下記(式4)中のαは、パラメータ計算部154が算出した値を用いる。本実施の形態2における「係数」は、下記(式4)中のαがこれに相当する。
Figure 0004623139
以上、コスト計算部122が各隣接ルータのコスト値Hiを算出する手順を説明した。
次に、ルータ100の詳細動作について、動作フロー図を用いて説明する。
図7は、ルータ100が自ルータ100と隣接ルータのキュー長を取得する際の動作フローである。図7(a)は自ルータ100のキュー長、図7(b)は隣接ルータのキュー長を取得する動作フローである。以下、図7の各ステップについて説明する。
(a)自ルータのキュー長
(S701)
キュー長取得部152は、自ルータ100のキュー長を取得する。
(S702)
キュー長取得部152は、ステップS701で取得した新たなキュー長が、記憶部111に格納されている自ルータ100の従前のキュー長と異なるか否かを確認する。異なっていればキュー長に変更が生じたものとしてステップS703へ進み、変更が生じていなければステップS701へ戻る。
(S703)
キュー長取得部152は、記憶部111に格納されている自ルータ100の従前のキュー長を、新たなキュー長で更新する。また、更新後の値をキュー長通知部153に出力する。
(S704)
キュー長通知部153は、キュー長取得部152より受け取った自ルータ100のキュー長を全ての隣接ルータに通知する。
(S705)
キュー長を取得する処理を継続する場合は、ステップS701へ戻る。
(b)隣接ルータのキュー長
(S706)
キュー長受信部151は、隣接ルータからキュー長の通知を受信する。
(S707)
キュー長受信部151は、記憶部111に格納されている当該隣接ルータの従前のキュー長を、新たなキュー長で更新する。
(S708)
キュー長を受信する処理を継続する場合は、ステップS706へ戻る。
以上、ルータ100がキュー長とホップ数の情報を取得する際の動作を説明した。
次に、実施の形態1で説明した図4と同様のネットワーク構成の下で、本実施の形態2に係るルータ100の各部動作について例を挙げて説明する。
図8は、R2がR4からのキュー長変更通知を受信する前後に係る、ルータR2の記憶部111が格納する情報の状態を示す図である。図8(a)はキュー長が変更される前、図8(b)はキュー長が変更された後の状態を示す。
初期状態では、記憶部111に格納されている情報は図8(a)のようになっている。各ルータのキュー長は「キュー長」欄に、各ルータの宛先アドレス毎のホップ数は「ホップ数」欄に格納されている。また、(式3)〜(式4)のパラメータαは、「パラメータ」欄に格納されている。
パラメータ計算部154は、記憶部111に格納されている情報に基づき、パラメータαを以下のように計算し、記憶部111に格納しておく。
σ2=6.5
α=σ2/{1.0+σ2}=0.87
次に、図8(a)の状態の下で、R1からアドレス「192.168.0.1」へ宛てて送信されたパケットをR2が受信し、アドレス「192.168.0.1」へ宛てて転送する際の各部の動作を、下記ステップ(1)〜(4)で説明する。
(1)R2のパケット受信部121は、R1が送信したアドレス「192.168.0.1」宛てのパケットを受信する。
(2)R2のコスト計算部122は、パケットの送信元であるR1を除き、以下の手順で各隣接ルータのコスト値Hiを算出する。
(2.1)コスト計算部122は、記憶部111より各隣接ルータのキュー長とアドレス「192.168.0.1」までのホップ数を取得する。
(2.2)コスト計算部122は、上記(式4)および記憶部111より取得した各値を用いて、各隣接ルータのコスト値Hiを算出する。ここでは以下のように求められる。
(2.3)R3のコスト値H3=0.45
(2.4)R4のコスト値H4=0.16
(2.5)R5のコスト値H5=0.38
(3)R2の転送先決定部123は、コスト計算部122が算出した各隣接ルータのコスト値に基づき、R1から受信したパケットの転送先ルータを決定する。ここでは、コスト値の最も小さいルータR4に決定する。
(4)パケット送信部124は、R1から受信したパケットをR4へ転送する。
以上、図8(a)の状態下、R2がパケットの転送先を決定して転送する際の動作を説明した。
次に、R2の隣接ルータR4から、キュー長が8に変更された旨の通知を受け取ったものとし、R2の各部の動作を下記ステップ(5)〜(7)で説明する。
(5)R2のキュー長受信部151は、R4からのキュー長通知を受信する。これは、図7のステップS706に相当する。
(6)R2のキュー長受信部151は、図7のステップS706〜S707で説明した手順にしたがって、図8に示す「キュー長」欄の項目「R4:2」を、「R4:8」に更新する。また、更新を行った旨を、パラメータ計算部154に通知する。
(7)パラメータ計算部154は、R4のキュー長が更新されたことを契機として、記憶部111が格納している各隣接ルータのキュー長を取得し、パラメータαを再計算する。ここでは以下のように求められる。再計算したαの値は、記憶部111に格納される。
σ2=1.3
α=σ2/{1.0+σ2}=0.56
以上、R2の隣接ルータR4から、キュー長が8に変更された旨の通知を受け取った際の各部の動作を説明した。以上の手順により、記憶部111の内容は、図8(a)から図8(b)へと更新される。
次に、図8(b)の状態の下で、R1からアドレス「192.168.0.1」へ宛てて送信されたパケットをR2が再度受信し、アドレス「192.168.0.1」へ宛てて転送する際の各部の動作を、下記ステップ(8)〜(11)で説明する。
(8)R2のパケット受信部121は、R1が送信したアドレス「192.168.0.1」宛てのパケットを受信する。
(9)R2のコスト計算部122は、パケットの送信元であるR1を除き、以下の手順で各隣接ルータのコスト値Hiを算出する。
(9.1)コスト計算部122は、記憶部111より各隣接ルータのキュー長とアドレス「192.168.0.1」までのホップ数を取得する。
(9.2)コスト計算部122は、上記(式4)および記憶部111より取得した各値を用いて、各隣接ルータのコスト値Hiを算出する。ここでは以下のように求められる。
(9.3)R3のコスト値H3=0.28
(9.4)R4のコスト値H4=0.41
(9.5)R5のコスト値H5=0.32
(10)R2の転送先決定部123は、コスト計算部122が算出した各隣接ルータのコスト値に基づき、R1から受信したパケットの転送先ルータを決定する。ここでは、コスト値の最も小さいルータR3に決定する。
(11)パケット送信部124は、R1から受信したパケットをR3へ転送する。
以上のように、R4のキュー長が2から8へと変わると、隣接ルータのキュー長の標本分散σ2が6.5から1.3へと小さくなる。
これにより、パラメータαも0.87から0.56へと小さくなり、コスト値Hiの算出におけるキュー長の寄与が小さく、ホップ数の寄与が大きくなる。
その結果、R1から受信したパケットの転送先ルータは、アドレス「192.168.0.1」までのホップ数が10であるR4から、ホップ数が3であるR3へと、ホップ数の小さいルータに変更されることになる。
以上のように、本実施の形態2によれは、パラメータαをキュー長の標本分散σ2に応じて動的に変化させることで、ルーティングにおける隣接ルータのキュー長の寄与を変化させることができる。
キュー長の分散が大きいときはパラメータαが大きくなり、コスト値Hiの計算におけるキュー長の寄与が大きく、ホップ数の寄与が小さくなるので、キュー長の小さいルータを転送先に選びやすくなり、混雑を避けたルーティングが可能になる。
一方、隣接ルータのキュー長の分散が小さい時は、隣接ルータのキューの混雑具合は同程度であるから、各隣接ルータのキュー長はあまり考慮しなくともよい。
これに鑑み、本実施の形態2では、隣接ルータのキュー長の分散が小さくなると、(式4)におけるホップ数の寄与が大きくなり、ホップ数を優先したルーティングが行われるように構成されているので、受信したパケットが早く宛先に到着する効果を発揮する。
実施の形態3.
実施の形態1〜2で説明した構成と動作は、組み合わせて用いることもできる。
例えば、実施の形態1で説明したノード次数に加えて実施の形態2で説明したキュー長を取得ないし受信するようにルータ100を構成し、ルータ間の情報更新頻度を抑えてルーティングを実行しつつ、パラメータαを可変にしてトラフィック総量の増加を図ることもできる。
この場合、コスト値Hiの計算は、例えば以下のような手法を用いることができる。
(1)Hiの計算は、(式2)を用いる。キュー長は、αの計算にのみ用いる。
(2)Hiの計算は、(式2)と(式4)の双方で求めた値を平均化するなどして、ノード次数、キュー長、ホップ数を総合的に考慮したコスト値を求める。
実施の形態4.
以上の実施の形態1〜3では、ルータ100の構成と動作を説明したが、同様の構成と動作は、ルーティング処理を行う通信装置一般に適用することができる。
例えば、Peer To Peerネットワークを構成するノードに同様の構成と動作を実装し、当該ノードがパケット転送を行う際に、実施の形態1〜3で説明した手法を用いることができる。
実施の形態1に係るルータ100の機能ブロック図である。 ルータ100が自ルータ100と隣接ルータのノード次数を取得する際の動作フローである。 ルータ100が隣接ルータから宛先アドレスまでのホップ数の情報を取得する際の動作フローである。 実施の形態1に係るルータR1〜R5で構成されるネットワークの構成図である。 ルータR5がR2に接続される前後に係る、ルータR2の記憶部111が格納する情報の状態を示す図である。 実施の形態2に係るルータ100の機能ブロック図である。 ルータ100が自ルータ100と隣接ルータのキュー長を取得する際の動作フローである。 R2がR4からのキュー長変更通知を受信する前後に係る、ルータR2の記憶部111が格納する情報の状態を示す図である。
符号の説明
100 ルータ、111 記憶部、112 使用頻度記憶部、121 パケット受信部、122 コスト計算部、123 転送先決定部、124 パケット送信部、131 ホップ数受信部、141 次数受信部、142 次数取得部、143 次数通知部、151 キュー長受信部、152 キュー長取得部、153 キュー長通知部、154 パラメータ計算部。

Claims (5)

  1. 通信パケットを転送するルータ装置であって、
    当該ルータ装置以外の通信先に宛てた通信パケットを受信する受信部と、
    当該ルータ装置に隣接する1ないし複数の隣接ルータが前記通信パケットを宛先に転送するためのコスト値を各前記隣接ルータについて計算する計算部と、
    いずれの前記隣接ルータを前記通信パケットの転送先とするかを前記計算部が計算したコスト値に基づき決定する転送先決定部と、
    を備え、
    前記計算部は、
    前記隣接ルータのノード次数と、
    前記隣接ルータから宛先までの前記通信パケットのホップ数と、
    前記コスト値に対する前記ノード次数と前記ホップ数の寄与度を定めた係数と、
    を用いて前記コスト値を計算する
    ことを特徴とするルータ装置。
  2. 前記計算部は、
    前記係数をαとして次式により前記コスト値(Hi)を計算する
    ことを特徴とする請求項1記載のルータ装置。
    Figure 0004623139
  3. 各前記隣接ルータからその隣接ルータのノード次数を受信する次数受信部と、
    当該ルータ装置のノード次数を取得する次数取得部と、
    前記次数受信部が受信したノード次数および前記次数取得部が取得したノード次数を格納する記憶部と、
    を備え、
    前記計算部は、
    前記記憶部に格納されている前記ノード次数を参照して前記コスト値を計算する
    ことを特徴とする請求項1または請求項2記載のルータ装置。
  4. 通信パケットを転送するルータ装置であって、
    当該ルータ装置以外の通信先に宛てた通信パケットを受信する受信部と、
    当該ルータ装置に隣接する1ないし複数の隣接ルータが前記通信パケットを宛先に転送するためのコスト値を各前記隣接ルータについて計算する計算部と、
    いずれの前記隣接ルータを前記通信パケットの転送先とするかを前記計算部が計算したコスト値に基づき決定する転送先決定部と、
    パラメータ計算部と、
    を備え、
    前記計算部は、
    前記隣接ルータのキュー長と、
    前記隣接ルータから宛先までの前記通信パケットのホップ数と、
    前記コスト値に対する前記キュー長と前記ホップ数の寄与度を定めた係数と、
    を用いて前記コスト値を計算し、
    前記パラメータ計算部は、
    前記キュー長の標本分散を用いた演算式で前記係数を求め
    前記演算式は、
    前記標本分散が小さくなるほど前記キュー長の前記寄与度が小さくなるように前記係数を算出するよう構成されている
    ことを特徴とするルータ装置。
  5. 各前記隣接ルータからその隣接ルータのキュー長を受信するキュー長受信部と、
    当該ルータ装置のキュー長を取得するキュー長取得部と、
    前記キュー長受信部が受信したキュー長および前記キュー長取得部が取得したキュー長を格納する記憶部と、
    を備え、
    前記計算部は、
    前記記憶部に格納されている前記キュー長を参照して前記コスト値を計算する
    ことを特徴とする請求項4に記載のルータ装置。
JP2008137841A 2008-05-27 2008-05-27 ルータ装置 Expired - Fee Related JP4623139B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008137841A JP4623139B2 (ja) 2008-05-27 2008-05-27 ルータ装置
US12/453,859 US8009570B2 (en) 2008-05-27 2009-05-26 Router device for efficient routing with congestion minimized

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008137841A JP4623139B2 (ja) 2008-05-27 2008-05-27 ルータ装置

Publications (2)

Publication Number Publication Date
JP2009290281A JP2009290281A (ja) 2009-12-10
JP4623139B2 true JP4623139B2 (ja) 2011-02-02

Family

ID=41379731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008137841A Expired - Fee Related JP4623139B2 (ja) 2008-05-27 2008-05-27 ルータ装置

Country Status (2)

Country Link
US (1) US8009570B2 (ja)
JP (1) JP4623139B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8739166B2 (en) * 2009-12-28 2014-05-27 Sap Ag Progress-driven progress information in a service-oriented architecture
EP3142016B1 (en) 2012-11-21 2021-10-13 Coherent Logix Incorporated Processing system with interspersed processors dma-fifo
US10261690B1 (en) 2016-05-03 2019-04-16 Pure Storage, Inc. Systems and methods for operating a storage system
US12067274B2 (en) 2018-09-06 2024-08-20 Pure Storage, Inc. Writing segments and erase blocks based on ordering
US11868309B2 (en) 2018-09-06 2024-01-09 Pure Storage, Inc. Queue management for data relocation
CN113141311A (zh) * 2020-01-19 2021-07-20 华为技术有限公司 一种用于获取转发信息的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1127321A (ja) * 1997-07-08 1999-01-29 Atr Kankyo Tekiou Tsushin Kenkyusho:Kk ルーチング方法、ルータ装置及びルーチングプログラムを記録した記録媒体
JP2004172698A (ja) * 2002-11-18 2004-06-17 Sangaku Renkei Kiko Kyushu:Kk ネットワークにおけるルート選定方法、通信ネットワークにおける送信ルート選定方法及びそれらの装置、並びにコンピュータプログラム
JP2005184727A (ja) * 2003-12-24 2005-07-07 Hitachi Ltd 無線通信システム、無線ノード、無線通信システムの構築方法及びノードの位置測定方法
JP2008022245A (ja) * 2006-07-12 2008-01-31 Nippon Telegr & Teleph Corp <Ntt> 経路制御方法とプログラムおよびエリア間通信装置とネットワーク経路制御システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6832253B1 (en) * 1999-04-01 2004-12-14 Cisco Technologies, Inc. Proximity as an aid to caching and secondary serving of data
US7756008B2 (en) * 2003-12-19 2010-07-13 At&T Intellectual Property Ii, L.P. Routing protocols with predicted outrage notification
US7633940B1 (en) * 2005-06-27 2009-12-15 The Board Of Trustees Of The Leland Stanford Junior University Load-balanced routing
US7830791B2 (en) * 2006-05-26 2010-11-09 Lockheed Martin Corporation Method and system for routing network communications
KR101210334B1 (ko) * 2006-09-04 2012-12-10 서강대학교산학협력단 멀티-홉 시스템에서 라우팅 테이블 관리를 위한 장치 및방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1127321A (ja) * 1997-07-08 1999-01-29 Atr Kankyo Tekiou Tsushin Kenkyusho:Kk ルーチング方法、ルータ装置及びルーチングプログラムを記録した記録媒体
JP2004172698A (ja) * 2002-11-18 2004-06-17 Sangaku Renkei Kiko Kyushu:Kk ネットワークにおけるルート選定方法、通信ネットワークにおける送信ルート選定方法及びそれらの装置、並びにコンピュータプログラム
JP2005184727A (ja) * 2003-12-24 2005-07-07 Hitachi Ltd 無線通信システム、無線ノード、無線通信システムの構築方法及びノードの位置測定方法
JP2008022245A (ja) * 2006-07-12 2008-01-31 Nippon Telegr & Teleph Corp <Ntt> 経路制御方法とプログラムおよびエリア間通信装置とネットワーク経路制御システム

Also Published As

Publication number Publication date
US8009570B2 (en) 2011-08-30
JP2009290281A (ja) 2009-12-10
US20090296725A1 (en) 2009-12-03

Similar Documents

Publication Publication Date Title
JP5722455B2 (ja) ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減
US9647949B2 (en) Systems and methods for network transmission of big data
JP4768857B2 (ja) ネットワークドメインのためのエッジノード
US8743866B2 (en) Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks
CN110943924B (zh) 网络中分段源路由的方法及存储介质
Senthilkumaran et al. Dynamic congestion detection and control routing in ad hoc networks
JP4623139B2 (ja) ルータ装置
CN101656674B (zh) 拥塞控制方法及网络节点
CN111865781B (zh) 用于路径优化的方法、设备和计算机程序产品
WO2020001393A1 (zh) 发送网络性能参数、计算网络性能的方法和网络节点
WO2015161737A1 (zh) 一种缓存数据的方法及转发设备
CN104685832A (zh) 通信控制方法、网络系统以及通信装置
CN112970231B (zh) 用于智能多跳覆盖路由的方法
JP2023090883A (ja) ネットワーク・コーディングを有効にするためのネットワーク・パラメータの最適化
CN108881009A (zh) 基于临空信息网的时延约束路由方法及装置
WO2016078070A1 (zh) 路由数据包的方法、节点和通信系统
KR101897423B1 (ko) 정책 기반 네트워크들에서의 개선된 네트워크 이용
JP2013106077A (ja) 経路決定装置、ノード装置及び経路決定方法
JP5087595B2 (ja) エッジノード、ウィンドウサイズ制御方法およびプログラム
US10965585B2 (en) Method for transmitting path load information and network node
JP5506640B2 (ja) コンテンツ配信方法及びシステム
Siddiqui et al. Minimum delay routing protocol with enhanced multimedia transmission over heterogeneous MANETs
JP5051280B2 (ja) 通信装置、通信システム、通信方法、及び通信プログラム
JP4828555B2 (ja) ノード装置および帯域制御方法
CN106100992A (zh) 数据发送设备及其方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100706

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4623139

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees