(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-25
(45)【発行日】2022-05-09
(54)【発明の名称】パケット転送方式、パケット転送方法、中継装置
(51)【国際特許分類】
H04L 45/50 20220101AFI20220426BHJP
H04L 61/5092 20220101ALI20220426BHJP
【FI】
H04L45/50
H04L61/5092
(21)【出願番号】P 2018168412
(22)【出願日】2018-09-10
【審査請求日】2021-02-03
(73)【特許権者】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100210240
【氏名又は名称】太田 友幸
(72)【発明者】
【氏名】川岸 正幸
【審査官】平井 嗣人
(56)【参考文献】
【文献】特開2012-175394(JP,A)
【文献】国際公開第2009/139465(WO,A1)
【文献】特開2000-022699(JP,A)
【文献】国際公開第2009/013582(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 45/50
H04L 61/5092
(57)【特許請求の範囲】
【請求項1】
ネットワーク上の端末間で中継装置群を経由してパケットを転送する際の方式であって、
前記中継装置群は、前記パケットの送信元の端末と直接に接続されたファーストホップと、
前記パケットの送信先の端末と直接に接続されたラストホップと、
前記ファーストホップと前記ラストホップとの間を中継するトランジットホップと、を備え、
前記各ホップは、前記ホップ毎
のラベルMACアドレスが記録されたテーブルを備え、
前記ラベルMACアドレスは、前記ホップ同士が互いに自身の選択したMACアドレスを広告することで前記ネットワーク内に頒布されて前記各テーブルに記録され、
前記ファーストホップは、前記送信元の端末から前記パケットを受信すれば、前記テーブルを参照して前記パケットの宛先MACアドレスフィールドを前記ラベルMACアドレスに書き換えて転送し、
前記トランジットホップは、前記ラベルMACアドレスの記述された前記パケットを受信すれば、前記ラベルMACアドレスに基づき前記ラストホップまで順次に転送し、
前記ラストホップは、前記ラベルMACアドレスの記述された前記パケットを受信すれば前記送信先の端末に転送する
ことを特徴とするパケット転送方式。
【請求項2】
前記中継装置は、任意に前記ラベルMACアドレスの候補を選択し、
前記広告された前記候補は、他の前記中継装置が使用中の前記ラベルMACアドレスと重複していれば無効となる一方、
重複していなければ前記ラベルMACアドレスとして
前記各テーブルに記録される
ことを特徴とする請求項1記載のパケット転送方式。
【請求項3】
ネットワーク上の端末間においてパケットを、
送信元の端末と直接に接続されたファーストホップと、
送信先の端末と直接に接続されたラストホップと、
前記ファーストホップと前記ラストホップとの間のトランジットホップと、
を備えた中継装置群を経由して転送する方法であって、
前記ホップ同士が
互いに自身の選択したMACアドレスを広告することで前記ホップ毎のラベルMACアドレスをネットワーク内に頒布させてテーブルに記録するステップと、
前記ファーストホップが、前記送信元の端末から前記パケットを受信したときに前
記テーブルを参照して、前記パケットの宛先MACアドレスフィールドを前記ラベルMACアドレスに書き換えて転送するステップと、
前記トランジットホップが、前記ラベルMACアドレスの記述された前記パケットを受信すれば、前記ラベルMACアドレスに基づき前記ラストホップまで順次に転送するステップと、
前記ラストホップが、前記ラベルMACアドレスの記述された前記パケットを受信すれば前記送信先の端末に転送するステップと、
を有することを特徴とするパケット転送方法。
【請求項4】
ネットワークにおいて送信元の端末と送信先の端末との間でパケットの転送を中継する装置であって、
前記送信元の端末と直接に接続されているとともに、前記ネットワーク中の中継装置毎のラベルMACアドレスが記録されたテーブルを備え、
前記ラベルMACアドレスは、前記中継装置同士が互いに自身の選択したMACアドレスを広告することで前記ネットワーク内に頒布されて前記各テーブルに記録され、
前記送信元の端末から前記パケットを受信すれば、前記テーブルを参照して前記パケットの宛先MACアドレスフィールドを前記ラベルMACアドレスに書き換えて転送する
ことを特徴とする中継装置。
【請求項5】
前記中継装置は、前記送信先の端末と直接に接続された中継装置までの中継数を計算し、
前記パケットのTTL(Time to live)から前記計算結果の値を減算し、
前記減算後に前記パケットを転送することを特徴とする請求項4記載の中継装置。
【請求項6】
前記減算の結果が「0」以下であれば、前記パケットの転送を行わないことを特徴とする請求項5記載の中継装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、中継装置経由で端末間のパケット転送を行う技術に関する。
【背景技術】
【0002】
ソフトウェアルーティングを高速化する技術として、特許文献1などに記載されたMPLS(Multi-Protocol Label Switching)の方式が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来方式(MPLS)は、IPパケットにラベルと呼ばれるタグを付加し、付加されたラベルに基づきフォワーディングを行うが、この方式には以下の問題を生じるおそれがあった。
【0005】
すなわち、IPパケットに固定長のラベルを付加するため、送信時点でMTU(Maximum Transmission Unit)最大長のIPパケットにラベルを付加すると、MTUのサイズを越えてしまうため、フラグメント(fragment)が生じる場合がある。
【0006】
この場合にはIPパケットが分割されるため、CPUの負担が増加し、処理が遅延するおそれがある。また、従来方式では、ラベルをホップ(hop)ごとに付け替える必要があるため、処理負担が増加するおそれもある。
【0007】
本発明は、このような従来の問題を解決するためになされ、従来のラベルではなく、事前に中継装置毎に取得されたラベルMACアドレスを用いることで転送対象のパケットをスイッチングで転送させ、負荷を抑制することを解決課題としている。
【課題を解決するための手段】
【0008】
(1)本発明の一態様は、ネットワーク上の端末間で中継装置群を経由してパケットを転送する際の方式であって、
前記中継装置群は、前記パケットの送信元の端末と直接に接続されたファーストホップと、
前記パケットの送信先の端末と直接に接続されたラストホップと、
前記ファーストホップと前記ラストホップとの間を中継するトランジットホップと、を備え、
前記各ホップは、前記ホップ毎に取得したラベルMACアドレスが記録されたテーブルを備え、
前記ファーストホップは、前記送信元の端末から前記パケットを受信すれば、前記テーブルを参照して前記パケットの宛先MACアドレスフィールドを前記ラベルMACアドレスに書き換えて転送し、
前記トランジットホップは、前記ラベルMACアドレスの記述された前記パケットを受信すれば、前記ラベルMACアドレスに基づき前記ラストホップまで順次に転送し、
前記ラストホップは、前記ラベルMACアドレスの記述された前記パケットを受信すれば前記送信先の端末に転送することを特徴としている。
【0009】
(2)本発明の他の態様は、ネットワーク上の端末間においてパケットを、
送信元の端末と直接に接続されたファーストホップと、
送信先の端末と直接に接続されたラストホップと、
前記ファーストホップと前記ラストホップとの間のトランジットホップと、
を備えた中継装置群を経由して転送する方法であって、
前記ファーストホップが、前記送信元の端末から前記パケットを受信したときに前記ホップ毎のラベルMACアドレスが記録されたテーブルを参照して、前記パケットの宛先MACアドレスフィールドを前記ラベルMACアドレスに書き換えて転送するステップと、
前記トランジットホップが、前記ラベルMACアドレスの記述された前記パケットを受信すれば、前記ラベルMACアドレスに基づき前記ラストホップまで順次に転送するステップと、
前記ラストホップが、前記ラベルMACアドレスの記述された前記パケットを受信すれば前記送信先の端末に転送するステップと、を有することを特徴としている。
【0010】
(3)本発明のさらに他の態様は、ネットワークにおいて送信元の端末と送信先の端末との間でパケットの転送を中継する装置であって、
前記送信元の端末と直接に接続されているとともに、前記ネットワーク中の中継装置毎のラベルMACアドレスが記録されたテーブルを備え、
前記送信元の端末から前記パケットを受信すれば、前記テーブルを参照して前記パケットの宛先MACアドレスフィールドを前記ラベルMACアドレスに書き換えて転送することを特徴としている。
【発明の効果】
【0011】
本発明によれば、従来のラベルではなく、事前に中継装置毎に取得されたラベルMACアドレスに基づきパケットが転送され、転送負荷を抑制することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の実施形態に係るネットワーク構成の概略図。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を説明する。この実施形態のパケット転送方式は、レイヤ2/3のパケット通信に関する。
【0014】
≪ネットワーク構成図≫
図1に基づき本実施形態のネットワーク構成を説明する。
図1中の1は、ルーティングネットワークにおけるAS(自律システム)を示している。ここでは3個のAS1-1~1-3が示され、各AS1-1~1-3はインターネットにより接続されている。以下、一例としてAS1-1に基づき説明する。
【0015】
このAS1-1内の2a~2gは、ラベルレススイッチ対応ルータ(以下、ラベルレススイッチとする。)2を示している。また、3a,3bは、ラベルレススイッチ2c,2fと直接に接続(いわゆる直結)された端末3a,3bを示している。
【0016】
このときラベルレススイッチ2は、総体としてはルータとして振舞うが、内部ではスイッチングプレーンを使ってフォワーディングを行うので、その点ではスイッチングハブ(スイッチ)といえる。なお、
図1は、ネットとワークの接続例を示し、他の接続例などでもよいものとする。
【0017】
≪ラベルレススイッチ2の構成例≫
図2に基づきラベルレススイッチ2の構成を説明する。ここでは一例としてラベルレススイッチ2cの構成を説明するが、他のラベルレススイッチ2a,2b,2d~2gも同様に構成されているものとする。
【0018】
具体的にはラベルレススイッチ2cは、エッジインターフェース(IF)21a~21c,トランジットインターフェース(IF)22a~22c,スイッチコア(SW)23,FDB(Forwarding DataBase:MACアドレステーブルとも呼ぶ。)24,RIB(Routing information Base)25,ラベルMSCアドレステーブル26を実装する。
【0019】
このエッジインターフェース21a~21cは、端末3との通信用であって、該インターフェース21aに端末3aが接続されている。一方、トランジットインターフェース22a~22cは、他のラベルレススイッチ2との通信用であって、該インターフェース22bにラベルレススイッチ2dが接続されている。ただし、
図2中ではそれぞれ3個の前記インターフェース21,22が表されているが、個数に制限はなく、任意数でよいものとする。
【0020】
スイッチコア23の実体としては、主にCPUを想定しているが、FPGAなどによるASICでもよい。また、FDB24およびRIB25は、ネットワーク機器としての中継装置には一般的に実装される構成である。
【0021】
このFDB24は、RIB25に基づき作成され、宛先MACアドレスとVLANとの組み合わせなどを管理する。さらにラベルMACアドレステーブル26には、MPLSのラベルに代わるラベルMACアドレスをルータID毎に記録されている。
【0022】
≪パケット転送例≫
図3に基づきAS1-1内のパケット転送例を説明する。ここでは端末3a-3b間においてIPパケットDが転送されている。
【0023】
この端末3a-3b間は、4台のラベルレススイッチ2c~2f群により中継されている。すなわち、送信元の端末3aと直結されたファーストホップのラベルレススイッチ2cと、送信先の端末3bと直結されたラストホップのラベルレススイッチ2fと、両者2c,2f間に配置されたトランジットホップのラベルレススイッチ2d,2eとにより中継されている。
【0024】
ファーストホップのラベルレススイッチ2cと、ラストホップのラベルレススイッチ2fとは、ラベルレスエッジスイッチ(LabelLess Edge Switch:以下、LLESと省略する。)と呼ばれる。
【0025】
トランジットホップのラベルレススイッチ2d,2eとは、ラベルレストランジットスイッチ(LabelLess Transit Switch:以下、LLTSと省略する。)と呼ばれる。このLLES2c,2fおよびLLTS2d,2eの処理動作を以下に説明する。
【0026】
(1)基本的な考え方
LLES2c,2fおよびLLTS2d,2eの処理動作の説明に先立って、従来方式(MPLS)を説明する。
【0027】
この従来方式は、ルーティング性能の向上を目的に開発された。すなわち、ルータは、通常のルーティングの場合に次のS01~S04の処理を実行する。
【0028】
S01:IPヘッダー(場合によってはペイロードまで)を参照して転送先を判定する。
【0029】
S02:IPヘッダーのTTL(Time to live)をデクレメントし、TTLが「0」になれば破棄する。
【0030】
S03:TTLを変更した場合にIPチェックサムを再計算する。
【0031】
S04:イーサネット(登録商標)のFCS(Frame Check Sequence)を再計算する。
【0032】
従来方式は、主にS01の処理負荷の軽減を図っている。このS01は、主にIPヘッダーの宛先MACアドレスに基づき転送先しているが、これは簡単な処理ではない。すなわち、転送パケットごとにRIB中から適合するプリフィックスを検索しなければならず、ソフトウェアの実行負荷が高く、CIDR(クラスレスルーティング)の場合にはさらに負荷が高くなるおそれがある。
【0033】
そこで、従来方式は、S01の判定結果をラベルという形でシンボル化し、転送パケットに前記ラベルを貼り付けることによりルーティング時の転送先判定の負荷軽減を図っている。ところが、前述のようにラベルを付加することでパケットサイズが増加するため、ラベル付加後のサイズが回線のMTUを超過する場合がある。この場合にはフラグメーション(分割)が発生し、処理負荷が却って悪化するおそれがある。また、ラベルは、中継する1ホップごとに貼り替えなければならず、処理負荷の軽減効果が弱い。
【0034】
これに対して本実施形態の方式は、宛先MACアドレスを差し替えることで転送対象のIPパケットをルーティングするのではなく、スイッチングにより転送させる。これによりS01~S04を実行することなく、転送が可能となる。
【0035】
また、L2スイッチングデバイスを実装している場合には、スイッチング処理をASICで実行できるので、完全なワイヤレートルーティングが可能なる一方で、CPUは直接スイッチングをしなくて済み、この点で負荷を軽減できる。
【0036】
(2)ラベルMACアドレスの取得
本実施形態のパケット転送方式は、ラベルを貼りつける代わりに特別な意味を持たせたMACアドレスをIPパケットの宛先MACアドレスフィールドにセットすることでルーティングプレーンではなく、スイッチングプレーンを通じて目的地まで転送する。
【0037】
ここで使用されるMACアドレスをラベルMACアドレスと呼ぶ。具体的には特定の組織に占有されていない未使用の「OUI(organizationally unique identifier)」下のMACアドレスを、ラベルMACアドレスとして使用する。以下、この「OUI」を「ラベルOUI」と呼ぶ。
【0038】
具体的にはラベルレススイッチ2a~2gは、最初に自身のラベルMACアドレスを取得する。このとき個々のラベルレススイッチ2a~2gは、ラベルOUIの空間中からランダムに一つのラベルMACアドレス候補を選択する。ここで選択された前記候補をAS1-1内に広告する。
【0039】
この広告は、広告主のルータIDと前記候補とをペアに記述する。例えばラベルレススイッチ2aが広告主となる場合には、ラベルレススイッチ2aのルータIDと前記候補とがペアに記述される。
【0040】
ここで広告された前記候補と重複するラベルMACアドレスが既に使用されている場合、例えばラベルレススイッチ2aが広告主の場合に前記候補と重複するラベルMACアドレスをラベルレススイッチ2bが使用中であれば、ラベルレススイッチ2bにより異議申立のラベル広告が発行される。
【0041】
このラベル広告が発行された場合には前記候補が無効となり、広告主は他の候補を取りなおして再広告をする。ここでは前記候補についての広告の先後によりラベルMACアドレスの使用の可否が決定され、同一のラベルMACアドレスについては先に広告した側に使用権が与えられ、後に広告した側には使用権は与えられない。
【0042】
一方、前記ラベル広告が発行されない場合、即ち重複するラベルMACアドレスが使用されていない場合には、前記候補が広告主のラベルMACアドレスとして取得・設定される。このラベルMACアドレスは、例えば
図4に示すように、「ラベルOUI」と「3バイト空間」とにより構成される。
【0043】
このようにラベルレススイッチ2a~2g同士が、互いに広告し合うことでラベルMACアドレスがネットワーク1-1内に頒布される。ここで広告し合ったラベルMACアドレスは、それぞれ各ラベルレススイッチ2a~2gのラベルMACアドレステーブル26に記録される。
【0044】
【0045】
表1は、ラベルMACアドレステーブル26の記録例を示している。このテーブル26の記録内容は、各ラベルレススイッチ2a~2gで共通とし、ラベルレススイッチ2a~2gのルータIDとラベルMACアドレスとをペアを一つのエントリーとする。
【0046】
なお、ラベルレススイッチ2a~2gは、通常のルーティングプロトコルと同様にラベルMACアドレスの広告・頒布と並行して経路広告および経路計算を実行する。
【0047】
(3)ラベルMACアドレスのFDB登録
前記経路計算の収束後にはAS1-1内のすべてのラベルレススイッチ2a~2gに対する転送先インターフェースが決定する。この決定の結果に基づきラベルレススイッチ2a~2gは、表1のラベルMACアドレスをFDB24に登録する。ただし、各ラベルレススイッチ2a~2gは、自身のラベルMACアドレスの転送先をCPUとする。
【0048】
【0049】
表2は、一例としてラベルレススイッチ2fのFDBのエントリー例を示している。ここで「ラベルOUI:00:0026」は、表1に示すように、ラベルレススイッチ2fを示すため、宛先インターフェースがCPUとされている。
【0050】
また、FDB24のエントリーは、「VLAN-UNAWARE」エントリーとし、VLANフィルタイングの対象から除外する。これによりラベルMACアドレス宛てのIPパケットは、ルーティングではなく、スイッチングにより転送されるようになる。
【0051】
(4)ファーストホップのLLESにおけるpush操作
図3の転送例に基づきファーストホップのLLES(ラベルレススイッチ2c)が実行するpush操作を説明する。ここでは一例としてラベルレススイッチ2cが、自身に直結された端末3aから同じAS1-1内の端末3b宛てのIPパケットDを受信したときの処理内容(S11~S15)を説明する。
【0052】
S11:転送対象のIPパケットDのIPヘッダー(ケースによってはIPペイロード)を参照し、AS1-1内部におけるラストホップとしてラベルレススイッチ2fを求める。
【0053】
例えばOSPF(Open Shortest Path First)などのリンクステート型ルーティングプロトコルを実行していれば、ファーストホップからラストホップまでの経路上の全ホップを求めることができるので、ラストホップルータを特定できると共に到達ホップ数を計算することができる。
【0054】
S12:S11でラストホップが求められたので、それに基づきラベルMACアドレステーブル26を参照する。すなわち、ラベルレススイッチ2fのルータIDに対応するラベルMACアドレスをMACアドレステーブル26から取得する。
【0055】
S13:S12で取得されたラベルMACアドレスをIPパケットDの宛先MACアドレスフィールドdに上書きする。
【0056】
すなわち、端末3aからIPパケットDを受信した時点では、宛先MACアドレスフィールドdにファーストホップ2cのMACアドレスが記述されている。この宛先MACアドレスフィールドdの記述内容を、S12で取得したラストホップ(ラベルレススイッチ2f)のラベルMACアドレスに書き換える。
【0057】
S14:ファーストホップ、即ちラベルレススイッチ2c自身からラストホップのラベルレススイッチ2fまでのホップ数を計算し、計算結果の値をIPパケットDのTTLから減算する。この減算結果が、「0」以下の場合にはIPパケットを転送せずに破棄する。
【0058】
S15:ラストホップのラベルレススイッチ2fに向けてIPパケットDを送信する。
【0059】
(5)トランジットホップのLLTSにおける中継処理
トランジットホップのLLTSは、通常のL2スイッチングと同様な中継処理を実行する。すなわち、S15で送信されたIPパケットDは、ラベルレススイッチ2dに受信される。
【0060】
この受信後にラベルレススイッチ2dは、IPパケットDの宛先MACアドレスフィールドdを参照し、その記述内容とFDB24を照合してラベルレススイッチ2eにIPパケットDを転送する。
【0061】
このIPパケットDを受信したラベルレススイッチ2eは、ラベルレススイッチ2dと同じ処理を実行し、IPパケットDをラストホップのラベルレススイッチ2fに転送する。
【0062】
このようにファーストホップ・ラストホップ間の各LLTS(ラベルレススイッチ2c,2e)は、パケットの再加工などの処理を行う必要が無く、順次に単純なスイッチ転送を実行する。
【0063】
(6)ラストホップのLLESにおけるpop操作
各LLTS(ラベルレススイッチ2c,2e)から順次に転送されてきたIPパケットDは、最後に送信先端末3bが直結されたラストホップのLLES(ラベルレススイッチ2f)に受信される。
【0064】
ここではラベルレススイッチ2fは、前述した表2のFDB24を備えているものとする。この表2に基づき説明すれば、IPパケットDのラベルMACアドレスには「ラベルOUI:00:0026」(
図3中のL
2f)なため、転送先はCPUとなる。
【0065】
したがって、IPパケットDは、ラベルレススイッチ2fのCPUにより通常のIPパケットとして処理され、端末3bに転送される。このような本実施形態のパケット転送によれば、次の(A)~(D)の効果を得ることができる。
【0066】
(A)IPパケットDに従来方式(MPLS)のラベルが付加されないため、MTUの問題を生じることがない。すなわち、ラベル付加によるパケットサイズの増加が回避されるため、ラベル付加後にMTUのサイズをオーバーするおそれがなく、フラグメーションによる処理負荷の悪化を防止することができる。また、ラベルをホップ毎に付け替える手間も省略でき、処理負担の増加を抑制できる。
【0067】
(B)ファーストホップ・ラストホップ間のLLTS(ラベルレススイッチ2c,2e)は、宛先MACアドレスフィールドdだけを参照してIPパケットDを転送するため、転送負荷を最小に抑制することができる。
【0068】
このLLTS(ラベルレススイッチ2c,2e)の中継処理は、スイッチエンジンを搭載した中継装置であれば、ASICで実行できるため、ラインレートでの転送が可能である。
【0069】
特にパケット中継目的に供される装置にはスイッチエンジンは搭載され、CPUでパケット転送する必要はなく、この点でCPUの負担が軽減される。また、一般的にスイッチエンジンデバイスは安価なため、低コストでの実現が可能である。
【0070】
(C)ラベルMACアドレスは、AS1-1内の広告により頒布された結果、各ラベルレススイッチ2a~2gでそれぞれ一つ使用される。これによりラベルMACアドレス配布のための煩雑なプロトコルなどを実装する必要なく、ラベル管理の手間なども大幅に低減される。
【0071】
(D)TTLの減算をファーストホップ(ラベルレススイッチ2c)で実行するので、ラストホップ(ラベルレススイッチ2f)までの経路途上でIPパケットDの生存期間が尽きる場合にファーストホップ(ラベルレススイッチ2c)で破棄でき、無断な転送を抑制することができる。
【0072】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えばAS1-1に新たなラベルレススイッチが追加された場合には、追加されるラベルレススイッチのラベルMACアドレスの候補は、AS1-1内に広告される。この広告時に異議申立が無ければ、前記候補が追加されたラベルレススイッチのラベルMACアドレスとして使用可能となる。
【符号の説明】
【0073】
1-1~1-3…AS
2a~2g…ラベルレススイッチ
3a,3b…端末
21a~21c……エッジインターフェース
22a~22c…トランジットインターフェース
23…スイッチコア
24…FDB
25…RIB
26…ラベルMACアドレステーブル