JP2005260710A - パケット転送装置 - Google Patents
パケット転送装置 Download PDFInfo
- Publication number
- JP2005260710A JP2005260710A JP2004071197A JP2004071197A JP2005260710A JP 2005260710 A JP2005260710 A JP 2005260710A JP 2004071197 A JP2004071197 A JP 2004071197A JP 2004071197 A JP2004071197 A JP 2004071197A JP 2005260710 A JP2005260710 A JP 2005260710A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- arp
- layer
- address
- arp cache
- 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
- Small-Scale Networks (AREA)
Abstract
【課題】パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送装置を得る。
【解決手段】レイヤ2のパケットの受信処理を行なう受信処理手段と、受信処理手段で受信したレイヤ2のパケットの送信処理を行なう送信処理手段と、受信処理手段で受信したレイヤ2のパケットのアドレス解決をするためのARPキャッシュを保持するARPキャッシュ保持手段と、ARPキャッシュに対してレイヤ2アドレスのエントリ追加・エントリ削除を行うARP処理手段と、ARPキャッシュを検索し、受信処理手段で受信したレイヤ2のパケットに該当するレイヤ2アドレスが該ARPキャッシュにある場合は該レイヤ2アドレスおよびレイヤ2のパケットを送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合はブロードキャストアドレスおよびレイヤ2のパケットを送信処理手段に送信するARPキャッシュ検索手段と、を備える。
【選択図】 図1
【解決手段】レイヤ2のパケットの受信処理を行なう受信処理手段と、受信処理手段で受信したレイヤ2のパケットの送信処理を行なう送信処理手段と、受信処理手段で受信したレイヤ2のパケットのアドレス解決をするためのARPキャッシュを保持するARPキャッシュ保持手段と、ARPキャッシュに対してレイヤ2アドレスのエントリ追加・エントリ削除を行うARP処理手段と、ARPキャッシュを検索し、受信処理手段で受信したレイヤ2のパケットに該当するレイヤ2アドレスが該ARPキャッシュにある場合は該レイヤ2アドレスおよびレイヤ2のパケットを送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合はブロードキャストアドレスおよびレイヤ2のパケットを送信処理手段に送信するARPキャッシュ検索手段と、を備える。
【選択図】 図1
Description
本発明は、パケット転送装置に関するものであり、詳しくはIPアドレスからレイヤ2アドレスを求め、そのレイヤ2アドレスを付けて転送を行なうパケット転送装置に関するものである。
従来、IPパケットを送信する場合には、たとえば非特許文献1に示されているように、IPアドレスからレイヤ2アドレス(イーサネット(R)のMACアドレス等)を求め、そのレイヤ2アドレスを付けて転送を行なう。そのため、パケット転送装置はIPアドレスからレイヤ2アドレスを求めるテーブル(以下ARPキャッシュと呼ぶ)を持っている。また、ARPキャッシュに該当のエントリが存在しない場合、ARP(Address Resolution Protocol)、Neighbor Discoveryを使用して、レイヤ2アドレスを取得し、ARPキャッシュにエントリとして登録する。この場合には、ARPリクエストパケットをネットワークにブロードキャストし、転送先の該当装置が、ARPリプライパケットにより通知する。この時、転送しようとするパケットは、ARPによってレイヤ2アドレスが取得出来るまで待たされ、取得後そのレイヤ2アドレスを使用して転送される。なお、ARPキャッシュのエントリは一定時間経過後、削除されるのが一般的である。
IETF(The Internet Engineering Task Force) RFC826
しかしながら、上記従来の方式では、パケット転送時にARPキャッシュにエントリが無い場合、ARPによってレイヤ2アドレスが取得出来るまで、パケットは待たされるため、遅延時間が長くなるという問題があった。
また、従来、ARPキャッシュのエントリは一定時間経過後に削除されるため、遅延に厳しいクラスの通信であっても、再度ARP処理を行なわなければならないため遅延時間が長くなるという問題があった。
更に、ARPによって待たされるパケットの数が多くなると、それを保持するバッファの容量を超え、パケットが廃棄されてしまうという問題があった。また、従来は、廃棄の優先クラスを考慮していなかったため、廃棄に厳しいクラスと廃棄を許容するクラスとが同等に廃棄されるという問題もあった。
本発明は、上記に鑑みてなされたものであって、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかるパケット転送装置は受信パケットを受信する受信処理手段と、ARPキャッシュ保持手段と、ARP処理手段と、ARPキャッシュ検索手段と、上記受信パケットに対応する送信パケットを送信する送信処理手段と、を備えるパケット転送装置であって、前記受信処理手段は、レイヤ2のパケットを受信パケットとして受信処理を行ない、前記ARPキャッシュ保持手段は、レイヤ2パケットのレイヤ3アドレスから該レイヤ2パケットのレイヤ2アドレス解決をするためのARPキャッシュを保持し、前記ARP処理手段は、前記ARPキャッシュに対してレイヤ2アドレスのエントリ追加・エントリ削除を行い、前記ARPキャッシュ検索手段は、前記ARPキャッシュを、前記受信パケットのレイヤ3アドレスで検索し、該当するレイヤ2アドレスが該ARPキャッシュにある場合は該受信パケットを送信パケットとして該レイヤ2アドレスとともに前記送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合は該受信パケットを送信パケットとしてブロードキャストアドレスとともに前記送信処理手段に送信し、前記送信処理手段は、前記ARP処理手段から送信された送信パケットを、前記ARP処理手段から送信されたレイヤ2アドレスまたはブロードキャストアドレスに従って送信することを特徴とする。
この発明によれば、レイヤ2のパケットを受信した場合に、ARPキャッシュを検索し、受信処理手段で受信したレイヤ2のパケットに該当するレイヤ2アドレスが該ARPキャッシュにある場合は該レイヤ2アドレスおよびレイヤ2のパケットを送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合はブロードキャストアドレスおよびレイヤ2のパケットを送信処理手段に送信する。したがって、レイヤ2のパケットは、パケット転送時にARPキャッシュにエントリが無い場合においても、ARPによってレイヤ2アドレスが取得できるまでパケットが待たされることがなく、ブロードキャストアドレスを用いて転送される。
この発明によれば、ARPキャッシュミスヒット時でもARPによってレイヤ2アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となるという効果を奏する。また、パケットをARPの処理の時間待たせる必要が無いため、すなわちレイヤ2アドレスの取得待ちパケットを保持しておくバッファが不要なため、バッファの容量オーバーによりパケットが廃棄されることを防止できるという効果を奏する。したがって、この発明によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送装置を提供できるという効果を奏する。
以下に、本発明にかかるパケット転送装置の実施の形態を図面に基づいて詳細に説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
実施の形態1.
図1は、実施の形態1にかかるパケット転送装置10が有する機能ブロックを示す概略構成図である。図1に示すように、本実施の形態にかかるパケット転送装置10は、レイヤ2の受信処理を行なうL2受信処理部1と、レイヤ2の送信処理を行なうL2送信処理部2と、IPアドレスからレイヤ2アドレスを求めるテーブルを有するARPキャッシュ3と、ARPキャッシュ3の検索を行なうARPキャッシュ検索処理部4と、ARPリクエストパケットおよびARPリプライパケットの生成、ARPキャッシュのエントリ追加・削除を行なうARP処理部5と、レイヤ3以上の処理を行なうパケット処理部6とを備えて構成される。
図1は、実施の形態1にかかるパケット転送装置10が有する機能ブロックを示す概略構成図である。図1に示すように、本実施の形態にかかるパケット転送装置10は、レイヤ2の受信処理を行なうL2受信処理部1と、レイヤ2の送信処理を行なうL2送信処理部2と、IPアドレスからレイヤ2アドレスを求めるテーブルを有するARPキャッシュ3と、ARPキャッシュ3の検索を行なうARPキャッシュ検索処理部4と、ARPリクエストパケットおよびARPリプライパケットの生成、ARPキャッシュのエントリ追加・削除を行なうARP処理部5と、レイヤ3以上の処理を行なうパケット処理部6とを備えて構成される。
図2は、ARPキャッシュ検索処理部4の動作を示すフローチャートである。以下に、図1および図2を参照しながら本実施の形態にかかるパケット転送装置10の基本的な動作について受信側、送信側の順番で説明する。
まず、受信側の動作について説明する。L2受信処理部1がパケット(フレーム)を受信すると、L2受信処理部1ではレイヤ2アドレスのチェックおよびパケットの種別の判定を行う。この判定の結果、受信したパケットが自宛の通常パケットである場合には、L2受信処理部1は受信したパケットをパケット処理部6に転送する。また、受信したパケットが自宛のARPパケットである場合には、L2受信処理部1は受信したパケットをARP処理部5に転送する。また受信したパケットが自宛で無い場合には、L2受信処理部1は受信したパケットを廃棄する。
次に送信側の動作について説明する。ARPキャッシュ検索処理部4は、パケット処理部6から送信パケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ1)、該当するレイヤ2アドレスのエントリが有るか否かを判断する(ステップ2)。ARPキャッシュ3を検索した結果、該当するエントリが有る場合(ステップ2肯定、ヒットした場合)には、検索結果であるレイヤ2アドレスとパケット処理部6から受信したパケットとをL2送信処理部2に通知、転送する(ステップ3)。そして、L2送信処理部2では検索結果であるレイヤ2アドレスを送信アドレスとして、レイヤ2のヘッダ、トレーラを付加して検索したレイヤ2アドレス宛に転送する。
また、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ2否定、ミスヒットした場合)には、ARPキャッシュ検索処理部4はブロードキャストアドレスをレイヤ2アドレスとしてパケット処理部6から受信したパケットとともにL2送信処理部2に通知、転送する(ステップ4)。そして、L2送信処理部2では、レイヤ2のヘッダ、トレーラを付加してブロードキャストアドレス宛に送信する。この時の、L2送信処理部2の動作は、該当するエントリが有る場合(ヒットした場合)と同様である。
さらに、ARPキャッシュ検索処理部4は、ARP処理部5に対して該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ5)。ARP処理部5は、ARPキャッシュ検索処理部4からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが転送されるので、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3に反映(エントリ追加)する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
以上のように、本実施の形態にかかるパケット転送装置10においては、パケットはARPキャッシュミスヒット時にはブロードキャストアドレスを用いて転送される。したがって、ARPキャッシュミスヒット時でもパケットはARP処理によってレイヤ2アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となる。また、パケットをARPの処理の時間待たせる必要が無いため、レイヤ2アドレスの取得待ちパケットを保持しておくバッファ不要であり、バッファの容量オーバーによりパケットが廃棄されるという問題も発生しない。したがって、本実施の形態にかかるパケット転送装置10によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
実施の形態2.
上述した実施の形態1においては、ARPキャッシュミスヒット時に全てのパケットをブロードキャストで転送する形態について説明したが、実施の形態2では、遅延に厳しい特定のパケットのみをブロードキャストで転送する実施の形態について説明する。
上述した実施の形態1においては、ARPキャッシュミスヒット時に全てのパケットをブロードキャストで転送する形態について説明したが、実施の形態2では、遅延に厳しい特定のパケットのみをブロードキャストで転送する実施の形態について説明する。
図3は、実施の形態2にかかるパケット転送装置20が有する機能ブロックを示す概略構成図である。なお、図3においては、図1と同じ機能部については図1と同じ符号を付して、詳細な説明は省略する。
本実施の形態にかかるパケット転送装置20は、L2受信処理部1と、L2送信処理部2と、ARPキャッシュ3と、ARP処理部5と、パケット処理部6と、ARPキャッシュの検索を行なうARPキャッシュ検索処理部7と、パケットのIPアドレスや、ToS領域、Protocol領域やトランスポート層のポート番号等から優先クラスを決めるパケット種別判定部8と、ARPキャッシュミスヒットした低優先のパケットをARPによって転送先のレイヤ2アドレスが取得できるまで蓄積するARP処理待ちパケット用バッファ9と、を備えて構成される。なお、ARPキャッシュ検索処理部7は、図1に示したARPキャッシュ検索処理部4と基本的な動作は同じであるが、後述するように優先クラスに応じた処理を行なう点が異なる。
図4は、ARPキャッシュ検索処理部7の動作を示すフローチャートである。以下に、図3および図4を参照しながら本実施の形態にかかるパケット転送装置20の基本的な動作について説明する。なお、受信側の動作は実施の形態1と同様なので詳細な説明は省略し、送信側の特に実施の形態1と異なる点を中心に説明する。
パケット種別判定部8は、パケット処理部6から送信パケットを受信すると、パケットのヘッダ情報(IPアドレス、ToS、Protocol、トランスポート層のポート番号等)および、あらかじめ設定されたルール(ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報)から優先クラスを決定し、ARPキャッシュ検索処理部7にパケットとともに転送する。
ARPキャッシュ検索処理部7は、パケット種別判定部8からパケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ11)、該当するレイヤ2アドレスのエントリが有るか否かを判断する(ステップ12)。その結果、該当するレイヤ2アドレスのエントリが有る場合(ステップ12肯定、ヒットした場合)には、実施の形態1と同じ動作でパケットを転送する。すなわち、検索結果であるレイヤ2アドレスとパケット処理部6から受信したパケットとをL2送信処理部2に通知、転送する(ステップ13)。そして、L2送信処理部2ではレイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
また、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ12否定、ミスヒットした場合)には、パケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ARPキャッシュ検索処理部7は、パケットとともにパケット種別判定部8から通知されたパケットの優先クラスの情報に基づいてパケットの優先クラスが高いか否かを判別する(ステップ14)。
その結果、判別したパケットの優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は(ステップ14否定)、ARPキャッシュ検索処理部7は、ARP処理待ちパケット用バッファ9にパケットを蓄積する(ステップ15)。さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ16)。ARP処理部5は、実施の形態1の場合と同様にARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが転送され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。ARPキャッシュ3へのエントリ追加後は、実施の形態1と同様にエントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
そして、ARP処理部5は、さらにL2送信処理部2に対して、ARPキャッシュ3に追加されたレイヤ2アドレスを通知するとともにARP処理待ちパケット用バッファ9に蓄積されているパケットの読み出し・転送を要求する。L2送信処理部2はARP処理部5からの要求に従い、該当するパケットをARP処理待ちパケット用バッファ9から読み出して、通知されたレイヤ2アドレス等を付加して転送する。
また、ARPリプライパケットがある一定時間送信されて来なく(更に何回かリトライしても良い。)、ARP処理が失敗した場合は、ARP処理待ちパケット用バッファ9に蓄積された該当するパケット(同じNext Hop IPアドレスのパケット)を全て廃棄する。
一方、パケットの優先クラスが高いか否かを判別した結果、パケットの優先クラスが高い場合は(ステップ14肯定)、ARPキャッシュ検索処理部7は、実施の形態1と同様の動作を行なう。すなわち、ARPキャッシュ検索処理部7は、ブロードキャストアドレスをレイヤ2アドレスとしてパケット処理部6から受信したパケットとともにL2送信処理部2に通知、転送する(ステップ17)。そして、L2送信処理部2では、レイヤ2のヘッダ、トレーラを付加してブロードキャストアドレス宛に転送する。この時のL2送信処理部2の動作は、該当するエントリが有る場合(ヒットした場合)と同様である。
さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ16)。ARP処理部5は、ARPキャッシュ検索処理部4からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが転送され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。この場合もARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
なお、本実施の形態ではパケットの優先クラスをパケット種別判定部8で決定しているが、パケット処理部6等でパケットの優先クラスを決定する構成とすることも可能である、この場合は、パケット種別判定部8は特に設けなくても良い。
以上のように、本実施の形態にかかるパケット転送装置20においてはARPキャッシュミスヒット時でも、遅延に厳しい、すなわち優先クラスの高いパケットはブロードキャストアドレスを用いて転送される。したがって、優先クラスの高いパケットはARPキャッシュミスヒット時でも、ARP処理によってレイヤ2アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となる。また、パケット転送装置20においては、実施の形態1の場合のように全てのパケットをブロードキャストで転送せず、必要なパケット(優先クラスの高いパケット)のみをブロードキャストで転送するため、ネットワークのトラヒック量の増加を最小限に抑えつつ、低遅延の転送が実現できる。更に、パケット転送装置20においては、優先クラスが低いパケットのみをARPの処理の時間待たせれば良いので、バッファに蓄積するパケットの数を従来の方式に比べ低減させることができ、バッファの容量オーバーに起因したパケットの廃棄を減少させることができ、パケット廃棄率を低くすることができる。したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
実施の形態3.
上述した実施の形態1および実施の形態2においては、ARPキャッシュミスヒット時に全てのパケットまたは優先クラスの高いパケットをブロードキャストで転送する形態について説明したが、実施の形態3では、ARP処理が失敗した場合、その後は、従来の処理を行なうようにした実施の形態について説明する。
上述した実施の形態1および実施の形態2においては、ARPキャッシュミスヒット時に全てのパケットまたは優先クラスの高いパケットをブロードキャストで転送する形態について説明したが、実施の形態3では、ARP処理が失敗した場合、その後は、従来の処理を行なうようにした実施の形態について説明する。
図5は、実施の形態3にかかるパケット転送装置30が有する機能ブロックを示す概略構成図である。なお、図5においては、図1と同じ機能部については図1と同じ符号を付して、詳細な説明は省略する。
本実施の形態にかかるパケット転送装置30は、L2受信処理部1と、L2送信処理部2と、ARPキャッシュ3と、パケット処理部6と、ARP処理待ちパケット用バッファ9と、ARPキャッシュの検索を行なうARPキャッシュ検索処理部10と、ARPリクエストパケット、リプライパケット、ARPキャッシュのエントリ追加・削除を行なうARP処理部11と、ARP処理が失敗したNext Hop IPアドレスを蓄積するARP失敗Next Hop IPアドレスリスト12と、を備えて構成される。なお、ARPキャッシュ検索処理部10は、図1に示したARPキャッシュ検索処理部4と基本的な動作は同じであるが、ARP失敗Next Hop IPアドレスリスト12を参照し、その結果に応じた処理を行なう点が異なる。また、ARP処理部11も、図1に示したARP処理部5と基本的な動作は同じであるが、ARP失敗Next Hop IPアドレスリスト12の管理も行なう点が異なる。
図6は、ARPキャッシュ検索処理部10の動作を示すフローチャートである。以下に、図5および図6を参照しながら本実施の形態にかかるパケット転送装置30の基本的な動作について説明する。なお、受信側の動作は実施の形態1と同様なので詳細な説明は省略し、送信側の動作について説明する。
ARPキャッシュ検索処理部10は、パケット処理部6から送信パケットを受信すると、通知された、Next Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ21)、該当するレイヤ2アドレスのエントリが有るか否かを判断する(ステップ22)。その結果、該当するエントリが有る場合(ステップ22肯定、ヒットした場合)には、実施の形態1と同じ動作でパケットを転送する。すなわち、検索結果であるレイヤ2アドレスとパケット処理部6から受信したパケットとをL2送信処理部2に通知、転送する(ステップ23)。そして、L2送信処理部2ではレイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
また、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ22否定、ミスヒットした場合)には、ブロードキャストアドレスで転送する前に、ARP失敗Next Hop IPアドレスリスト12にアクセスし、パケットのNext Hop IPアドレスがARP失敗Next Hop IPアドレスリスト12に有るか否かを判断する(ステップ24)。
その結果、パケットのNext Hop IPアドレスがARP失敗Next Hop IPアドレスリスト12に無い場合は(ステップ24否定)、ARPキャッシュ検索処理部10は、実施の形態1と同様の動作を行ない、ブロードキャストで転送する。すなわち、ARPキャッシュ検索処理部10は、ブロードキャストアドレスをレイヤ2アドレスとしてL2送信処理部2に通知、転送する(ステップ27)。そして、L2送信処理部2では、レイヤ2のヘッダ、トレーラを付加してブロードキャストアドレス宛に送信する。
さらに、ARPキャッシュ検索処理部10は、ARP処理部11に該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ26)。ARP処理部11は、ARPキャッシュ検索処理部10からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部11にARPリプライパケットが転送され、ARP処理部11ではその結果、すなわちレイヤ2のアドレスをARPキャッシュ3にエントリ追加する。この場合もARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
一方、パケットのNext Hop IPアドレスがARP失敗Next Hop IPアドレスリスト12に有るか否かを判断した結果、パケットのNext Hop IPアドレスがARP失敗Next Hop IPアドレスリスト12に有る場合は(ステップ24肯定)、パケットをARP処理待ちパケット用バッファ9に一旦蓄積し、アドレス解決後、解決されたレイヤ2アドレスを使って転送を行なう。すなわち、ARPキャッシュ検索処理部10は、ARP処理待ちパケット用バッファ9にパケットを蓄積する(ステップ25)。さらに、ARPキャッシュ検索処理部10は、ARP処理部11に該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ26)。ARP処理部11は、実施の形態2の場合と同様にARPキャッシュ検索処理部10からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部11にARPリプライパケットが通知され、ARP処理部11ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
そして、ARP処理部11は、L2送信処理部2に対して、ARPキャッシュ3に追加されたレイヤ2アドレスを通知するとともにARP処理待ちパケット用バッファ9に蓄積されているパケットの読み出し・転送を要求する。L2送信処理部2はARP処理部11からの要求に従い、該当するパケットをARP処理待ちパケット用バッファ9から読み出して、通知されたレイヤ2アドレス等を付加して転送する。
また、ARPリプライパケットがある一定時間送信されて来なく(更に何回かリトライしても良い。)、ARP処理が失敗した場合は、ARP処理待ちパケット用バッファ9に蓄積された該当するパケット(同じNext Hop IPアドレスのパケット)を全て廃棄する。
また、ARP処理部11は、ARPリクエストを行なった結果、ARPリプライパケットが返送されアドレス解決ができた場合、ARP失敗Next Hop IPアドレスリスト12にそのNext Hop IPアドレスが登録されている場合、そのアドレスを削除する。また逆にアドレス解決に失敗した場合で、ARP失敗Next Hop IPアドレスリスト12にそのNext Hop IPアドレスが登録されていない場合には、ARP処理部11はそのアドレスの追加を行なう。
なお、本実施の形態においては、実施の形態2で説明した優先クラスを考慮していないが、実施の形態2のように優先クラスも考慮する場合にも適用できる。
以上のように、本実施の形態にかかるパケット転送装置30においてはARPキャッシュミスヒット時でも、ARP失敗Next Hop IPアドレスリスト12にNext Hop IPアドレスが登録されていないパケットはブロードキャストアドレスを用いて転送される。したがって、ARP失敗Next Hop IPアドレスリスト12にNext Hop IPアドレスが登録されていないパケットは、ARPによってレイヤ2アドレスが取得できるまで待たされることが無いため、低遅延での転送が可能となる。
また、このパケット転送装置30においては、実施の形態1の場合のように全てのパケットをブロードキャストで転送せず、必要なパケット(ARPキャッシュの検索でミスヒットし、且つARP失敗Next Hop IPアドレスリスト12にNext Hop IPアドレスが登録されていないパケット)のみをブロードキャストで転送するため、ネットワークのトラヒック量の増加を効果的に抑制しつつ、低遅延の転送が実現できる。そして、たとえば転送先の装置が故障等で通信できなくなっている場合(アドレス解決が失敗した場合)にはブロードキャストを行なわないため、無駄なトラヒックを流すことが無く、ネットワークのトラヒック量の増加を効果的に抑制しつつ、低遅延の転送が実現できる。
更に、このパケット転送装置30においては、ARPキャッシュの検索でミスヒットし、且つARP失敗Next Hop IPアドレスリスト12にNext Hop IPアドレスが登録されているパケットのみをARPの処理の時間待たせれば良いので、バッファに蓄積するパケットの数を従来の方式に比べ低減させることができ、バッファの容量オーバーに起因したパケットの廃棄を減少させることができ、パケット廃棄率を低くすることができる。更に、転送先の装置が通信できない状態以外では、パケットをARPの処理の時間待たせる必要が無いため、パケット廃棄も発生しない。したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
実施の形態4.
上述した実施の形態1においては、ARPキャッシュミスヒット時に、パケットをブロードキャストで転送する場合について説明したが、実施の形態4ではブロードキャストで転送した場合でも転送パケットのループが発生しない実施の形態について説明する。
上述した実施の形態1においては、ARPキャッシュミスヒット時に、パケットをブロードキャストで転送する場合について説明したが、実施の形態4ではブロードキャストで転送した場合でも転送パケットのループが発生しない実施の形態について説明する。
図7は、実施の形態4においてARPキャッシュミスヒット時に転送するパケット(フレーム)のフォーマット100を示した図である。図8は、本実施の形態におけるARPキャッシュ検索処理部4の動作を示すフローチャートである。また、図9は、本実施の形態におけるL2受信処理部1の動作を示すフローチャートである。なお、本実施の形態におけるパケット転送装置の構成は図1に示した実施の形態1と同様であり、図1を参照することとし、詳細な説明は省略する。
パケット(フレーム)のフォーマット100には、図7に示すようにMACアドレス、タイプ、Next Hop IPアドレス、IPヘッダ、IPデータ、FCS(Frame Check Sequence)が存在する。そして、レイヤ2のヘッダの中には図7に示すようにレイヤ3のパケットのプロトコルを示すタイプ領域があり、この値によりどのようなプロトコルなのか判別できる。本実施の形態では、通常のIPパケットとレイヤ2ヘッダの間に、Next Hop IPアドレスがある構成で、そのような特殊なパケットであることを示すタイプ値を付ける。
そして、このフォーマット100によれば、ブロードキャストで転送しても、Next Hop IPアドレスから、転送されたパケットが自宛かどうかを判断できるので、本当の宛先装置以外は該当パケットを廃棄することが可能となり、ループやパケットの重複等も回避できる。
次に、図8を参照しながら本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態1と同様なので詳細な説明は省略し、送信側の動作について説明する。
ARPキャッシュ検索処理部4は、パケット処理部6から送信パケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ31)、該当するレイヤ2アドレスのエントリが有るか否かを判断する(ステップ32)。ARPキャッシュ3を検索した結果、該当するエントリが有る場合(ステップ32肯定、ヒットした場合)には、検索結果であるレイヤ2アドレスと送信パケットとをL2送信処理部2に通知、転送する(ステップ33)。そして、L2送信処理部2では検索結果であるレイヤ2アドレスを送信アドレスとして、レイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
つぎに、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ32否定、ミスヒットした場合)には、ARPキャッシュ検索処理部4はブロードキャストアドレスを送信アドレスとして設定して送信パケットとともにL2送信処理部2に通知、転送する(ステップ34)。この時、ARPキャッシュ検索処理部4は、図7に示したパケット(フレーム)のフォーマットに変換して転送を行なうことをL2送信処理部2に指示する。L2送信処理部2では、この指示に従って図7に示したパケット(フレーム)のフォーマットに変換して転送を行なう。すなわち、L2ヘッダとIPヘッダとの間にNext Hop IPアドレスを挿入し、そのことを示すタイプ値を付けたフォーマットに変換して転送を行う。なお、必要であればフラグメント等を行う。また、実施の形態1の場合と同様にARPキャッシュ検索処理部4は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ35)。ARP処理部5は、ARPキャッシュ検索処理部4からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2のアドレスをARPキャッシュ3にエントリ追加する。この場合もARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
次に、図9を用いてブロードキャストで転送されたパケットの受信処理の説明をする。L2受信処理部1がパケット(フレーム)を受信すると、L2受信処理部1ではパケットの正常性を判断する(ステップ41)。その結果、受信したパケットが正常でない場合には(ステップ41否定)、L2受信処理部1はパケットを廃棄する(ステップ46)。
また、パケットの正常性を判断した結果、受信したパケットが正常である場合には(ステップ41肯定)、レイヤ2のヘッダのタイプ値が通常の値であるか否かを判断する(ステップ42)。その結果、レイヤ2のヘッダのタイプ値が通常の値である場合には、従来と同様に受信処理を行なう(ステップ43)。
一方、レイヤ2のヘッダのタイプ値が図7のフォーマットの値である場合には、Next Hop IPアドレスの値が自装置に設定された自宛Next Hop IPアドレスに一致するか否かを判断する(ステップ44)。その結果、Next Hop IPアドレスの値が自宛Next Hop IPアドレスに一致する場合には(ステップ44肯定)、通常のパケットのフォーマットに変換してタイプ値を書き換え、Next Hop IPアドレスを削除する(ステップ45)。その後、従来と同様に受信処理を行なう(ステップ43)。
また、Next Hop IPアドレスの値が自宛Next Hop IPアドレスに一致しない場合には(ステップ44否定)、パケットを廃棄する(ステップ46)。
なお、本実施の形態においては優先クラスを考慮していないが、実施の形態2のように優先クラスも考慮する場合にも適用可能である。
以上のように、本実施の形態にかかるパケット転送装置においては、実施の形態1と同様にARPキャッシュミスヒット時でもARPによってレイヤ2アドレスが取得できるまで待たされる事が無いため、低遅延での転送が可能となる。また、パケットをARPの処理の時間待たせる必要が無いため、すなわちレイヤ2アドレスの取得待ちパケットを保持しておくバッファが不要であり、バッファの容量オーバーによりパケットが廃棄されるという問題も発生しない。したがって、したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
さらに、本実施の形態によれば、パケットをブロードキャストで転送した場合においても、受信したパケットが自宛か否かをNext Hop IPアドレスから判断できる。これにより、本当の宛先装置以外はブロードキャストで転送されたパケットを廃棄することが可能となり、ループやパケットの重複等を回避することができるという効果を奏する。
実施の形態5.
上述した実施の形態4においては、Next Hop IPアドレスを従来のパケットに付加して転送する形態について説明したが、実施の形態5においてはARP(リクエスト)データ自体を従来のパケットに付加する実施の形態について説明する。
上述した実施の形態4においては、Next Hop IPアドレスを従来のパケットに付加して転送する形態について説明したが、実施の形態5においてはARP(リクエスト)データ自体を従来のパケットに付加する実施の形態について説明する。
図10は、本実施の形態においてARPキャッシュミスヒット時に転送するパケット(フレーム)のフォーマット200を示した図である。図11は、ARPキャッシュ検索処理4の本実施の形態の場合の動作を示すフローチャートである。また、図12は、本実施の形態におけるL2受信処理部1の動作を示すフローチャートである。なお、本実施の形態におけるパケット転送装置の構成は図1に示した実施の形態1と同様であり、図1を参照することとし、詳細な説明は省略する。
本実施の形態で転送するパケット(フレーム)のフォーマット200には、MACアドレス、タイプ、ARP(リクエスト)データ、IPヘッダ、IPデータ、FCS(Frame Check Sequence)が存在する。そして、レイヤ2のヘッダの中には、図10に示すようにレイヤ3のパケットのプロトコルを示すタイプ領域があり、この値によりどのようなプロトコルなのか判別できる。本実施の形態では、通常のIPパケットとレイヤ2ヘッダの間に、ARP(リクエスト)データがあり、そのような特殊なパケットである事を示すタイプ値を付ける。
次に、図11を参照しながら本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態1と同様なので詳細な説明は省略し、送信側の動作を説明する。
ARPキャッシュ検索処理部4は、パケット処理部6から送信パケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ51)、該当するエントリが有るか否かを判断する(ステップ52)。ARPキャッシュ3を検索した結果、該当するエントリが有る場合(ステップ52肯定、ヒットした場合)には、検索結果であるレイヤ2アドレスと送信パケットとをL2送信処理部2に通知、転送する(ステップ53)。そして、L2送信処理部2では検索結果であるレイヤ2アドレスを送信アドレスとして、レイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
つぎに、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ52否定、ミスヒットした場合)には、ARPキャッシュ検索処理部4はブロードキャストアドレスを送信アドレスとして設定して送信パケットとともにL2送信処理部2に通知、転送する(ステップ54)。この時、ARPキャッシュ検索処理部4は、図10に示したパケット(フレーム)のフォーマットに変換して転送を行なうことをL2送信処理部2に指示する。L2送信処理部2では、この指示に従って図10に示したパケット(フレーム)のフォーマットに変換して転送を行なう。すなわち、L2ヘッダとIPヘッダとの間にARPデータを挿入し、そのことを示すタイプ値を付けたフォーマットに変換して転送を行う。なお、必要であればフラグメント等を行う。また、本実施の形態の場合、既にARPリクエストのデータは転送パケットの一部に含まれ転送されているので、別にARPリクエストパケットを出力することは行なわない。
次に、図12を用いてブロードキャストで転送されたパケットの受信処理の説明をする。L2受信処理部1がパケット(フレーム)を受信すると、L2受信処理部1ではパケットの正常性を判断する(ステップ61)。その結果、受信したパケットが正常でない場合には(ステップ61否定)、L2受信処理部1はパケットを廃棄する(ステップ67)。
また、パケットの正常性を判断した結果、受信したパケットが正常である場合には(ステップ61肯定)、レイヤ2のヘッダのタイプ値が通常の値であるか否かを判断する(ステップ62)。その結果、レイヤ2のヘッダのタイプ値が通常の値である場合には、従来と同様に受信処理を行なう(ステップ63)。
一方、レイヤ2のヘッダのタイプ値が図10のフォーマットの値である場合には、ARPデータの中のNext Hop (送信先)IPアドレスの値が自装置に設定された自宛IPアドレスと一致するか否かを判断する(ステップ64)。その結果、ARPデータの中のNext Hop (送信先)IPアドレスの値が自宛IPアドレスと一致する場合には、通常のパケットのフォーマットに変換してタイプ値を書き換え、ARPデータを削除する(ステップ65)。また、削除したARPデータはARP処理部5へ通知し、ARPリプライパケットを返送するように要求を出す(ステップ66)。その後、実施の形態1と同様に受信処理を行なう(ステップ63)。
また、ARPデータの中のNext Hop (送信先)IPアドレスの値が自宛IPアドレスに一致しない場合には(ステップ64否定)、パケットを廃棄する(ステップ67)。
なお、ARPデータを含むパケットを転送するのはARPキャッシュミスヒットになった初めのパケットのみとし、後続の同一Next Hop IPアドレス宛のパケットに対しては、実施の形態4のようにNext Hop IPアドレスのみ転送する方法もある。
また、本実施の形態においては優先クラスを考慮していないが、実施の形態2のように優先クラスも考慮する場合にも適用可能である。
以上のように、本実施の形態によれば、実施の形態1と同様にARPキャッシュミスヒット時でもARPによってレイヤ2アドレスが取得できるまで待たされる事が無いため、低遅延での転送が可能となる。また、パケットをARPの処理の時間待たせる必要が無いため、すなわちレイヤ2アドレスの取得待ちパケットを保持しておくバッファが不要であり、バッファの容量オーバーによりパケットが廃棄されるという問題も発生しない。したがって、したがって、本実施の形態によれば、パケット転送の遅延時間が短く且つパケットの廃棄率の低いパケット転送を実現できるという効果を奏する。
そして、本実施の形態によれば、パケットをブロードキャストで転送した場合においても、ARPデータの中のNext Hop (送信先)IPアドレスの値から、受信したパケットが自宛か否かを判断できる。これにより、本当の宛先装置以外はブロードキャストで転送されたパケットを廃棄することが可能となり、ループやパケットの重複等を回避することができる。さらに、本実施の形態によれば、ARPリクエストパケットの送信が不要なため、トラヒック量も効果的に削減することができる。
実施の形態6.
実施の形態6においては、パケットの転送時でなく、ARPキャッシュにおけるレイヤ2アドレスのエントリ削除時の動作に、優先クラスに応じた削除を行なう実施の形態について説明する。
実施の形態6においては、パケットの転送時でなく、ARPキャッシュにおけるレイヤ2アドレスのエントリ削除時の動作に、優先クラスに応じた削除を行なう実施の形態について説明する。
図13は、本実施の形態でのARPキャッシュのレイヤ2アドレスエントリのフォーマット300を示す図である。図14は、ARPキャッシュのエントリ削除時の本実施の形態での動作を示すフローチャートである。本実施の形態におけるパケット転送装置の構成は図1に示した実施の形態1と同様であり、図1を参照することとし、詳細な説明は省略する。以下、図13および図14を参照しながら説明を行なう。本実施の形態では、図13に示すように従来のARPキャッシュでのエントリの内容に加え、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてフラグも保持する。ここで、優先度の高いクラスのレイヤ2アドレスのエントリ追加の場合は、フラグ=1で設定を行なう。
ARP処理部5は、各レイヤ2アドレスのエントリのタイマ値を一定時間毎に減算している。また、ARP処理部5は、タイマ値によりエントリを削除する処理も行なっている。そして、ARP処理部5は、各レイヤ2アドレスのエントリのタイマ値が「0」になっているか否かを検査する(ステップ71)。その結果、エントリのタイマ値が「0」でない場合は(ステップ71否定)そのまま処理を終了する。
また、エントリのタイマ値が「0」である場合は(ステップ71肯定)、ARP処理部5は次にフラグの値を検査し、フラグの値が「1」であるか否かを検査する(ステップ72)。ここで、フラグの値が「0」である場合は(ステップ72否定)、該当エントリの削除を行ない(ステップ74)、終了する。一方、フラグの値が「1」である場合は(ステップ72肯定)、フラグの値を「0」に変更し、再度タイマを設定する(ステップ73)。このような処理を行うことにより、優先度の高いクラスのレイヤ2アドレスは、通常のクラスのレイヤ2アドレスの2倍の時間削除されずにエントリとして保持される。
なお、フラグの値が「1」であるレイヤ2アドレスのエントリは、タイマ値が「0」になっても削除しない、フラグを立てる代わりにタイマの初期値を通常のクラスより長くする、などの方法でも同様のことが実現できる。
以上のように、本実施の形態によれば、優先度が高いクラスとしてARPキャッシュに追加されたレイヤ2アドレスのエントリは、通常のエントリに比べ長い時間削除されずに保持されるため、ARPキャッシュミスヒットになる確率を効果的に減らすことができ、低遅延で転送できる確率を効果的に高めることができる。
実施の形態7.
上述した実施の形態6においては、ARPキャッシュのエントリのフラグにより、レイヤ2アドレスのエントリ追加から削除までの時間を延ばすことで優先度の高いクラスのパケットにより追加されたエントリを削除されにくくする場合について説明した。実施の形態7においては、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてのフラグにより、エントリを削除するか否かを再度ARP処理を行なって判定する実施の形態について説明する。なお、本実施の形態においても、優先度の高いクラスのエントリ追加の場合は、フラグ=1で設定を行なうものとする。
上述した実施の形態6においては、ARPキャッシュのエントリのフラグにより、レイヤ2アドレスのエントリ追加から削除までの時間を延ばすことで優先度の高いクラスのパケットにより追加されたエントリを削除されにくくする場合について説明した。実施の形態7においては、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてのフラグにより、エントリを削除するか否かを再度ARP処理を行なって判定する実施の形態について説明する。なお、本実施の形態においても、優先度の高いクラスのエントリ追加の場合は、フラグ=1で設定を行なうものとする。
図15は、本実施の形態におけるARPキャッシュでのエントリ削除時の動作を示すフローチャートである。本実施の形態では、上述した実施の形態6の図13に示したように従来のARPキャッシュでのエントリの内容に加え、エントリ追加のトリガとなったパケットの優先度を示す優先クラス情報としてフラグも保持する。ここで、優先度の高いクラスのレイヤ2アドレスのエントリ追加の場合は、フラグ=1で設定を行なう。なお、本実施の形態におけるパケット転送装置の構成は図1に示した実施の形態1と同様であり、図1を参照することとし、詳細な説明は省略する。以下、図15を参照しながら説明を行なう。
ARP処理部5は、まず、各レイヤ2アドレスのエントリのタイマ値が「0」になっているか否かを検査する(ステップ81)。その結果、エントリのタイマ値が「0」でない場合は(ステップ81否定)そのまま処理を終了する。また、エントリのタイマ値が「0」である場合は(ステップ81肯定)、ARP処理部5は次にフラグの値を検査し、フラグの値が「1」であるか否かを検査する(ステップ82)。ここで、フラグの値が「0」である場合は(ステップ82否定)、該当エントリの削除を行ない(ステップ86)、終了する。
一方、フラグの値が「1」である場合は(ステップ82肯定)、ARP処理部5はそのエントリのMACアドレス宛にARPリクエストパケットを生成、送信して(ステップ83)、ARPリプライパケットが返送されるか否かを試す(ステップ84)。その結果、ARPリプライパケットが返信されてきた場合には、タイマを再設定し(ステップ85)、エントリの削除は行なわない。また、ARPリプライパケットが返信されてこない場合は、宛先の装置が通信できない状態と判断して該当するレイヤ2アドレスのエントリを削除して(ステップ86)終了する。
以上のように、本実施の形態によれば、優先度が高いクラスとしてARPキャッシュに追加されたエントリに対して、削除するか否かの判断をする時に再度ARP処理を行なうことで、宛先装置が通信可能な状態である限り該エントリは削除されずに保持されるため、ARPキャッシュミスヒットになる確率を効果的に減らすことができるため、低遅延で転送できる確率を効果的に高めることができる。
実施の形態8.
実施の形態8では、ARPキャッシュにレイヤ2アドレスをエントリ追加する際の動作に、優先クラスに応じた制御を行なう実施の形態について説明する。なお、本実施の形態におけるパケット転送装置の構成は図1に示した実施の形態1と同様であり、図1を参照することとし、詳細な説明は省略する。図16は、本実施の形態におけるARPキャッシュでのレイヤ2アドレスのエントリ追加時の動作を示すフローチャートである。詳しくは、ARP処理部5がARPにより新たなエントリをARPキャッシュ3に追加する時の動作を示している。以下、図1および図16を参照しながら、本実施の形態を説明する。
実施の形態8では、ARPキャッシュにレイヤ2アドレスをエントリ追加する際の動作に、優先クラスに応じた制御を行なう実施の形態について説明する。なお、本実施の形態におけるパケット転送装置の構成は図1に示した実施の形態1と同様であり、図1を参照することとし、詳細な説明は省略する。図16は、本実施の形態におけるARPキャッシュでのレイヤ2アドレスのエントリ追加時の動作を示すフローチャートである。詳しくは、ARP処理部5がARPにより新たなエントリをARPキャッシュ3に追加する時の動作を示している。以下、図1および図16を参照しながら、本実施の形態を説明する。
まず、ARP処理部5は、レイヤ2アドレスのエントリ追加時にARPキャッシュ3にエントリ追加のための空き領域があるか否かを検査する(ステップ91)。その結果、空き領域がある場合には(ステップ91肯定)、ARP処理部5は空き領域の1つに新エントリを追加する(ステップ95)。
また、検査の結果、空き領域が無い場合には、ARP処理部5はつぎにフラグ=0のエントリがあるか否かを検査する(ステップ92)。その結果、フラグ=0のエントリがある場合は(ステップ92肯定)、ARP処理部5はフラグ=0のエントリの中でタイマ値が最も小さいエントリ、すなわちARPキャッシュ3にエントリ追加されてからの時間経過が最も長いエントリの領域に新エントリを上書きする(ステップ93)。一方、フラグ=0のエントリが無い場合は(ステップ92否定)、ARP処理部5はタイマ値が最も小さいエントリの領域に新エントリを上書きする(ステップ94)。
以上のように、本実施の形態によれば、ARP処理部5がレイヤ2アドレスのエントリ追加時にARPキャッシュ3にエントリ追加のための空き領域があるか否かを検査し、ARPキャッシュに空き領域が無い場合には、優先クラスの低いエントリから削除する。これにより、優先クラスが高いクラスのエントリがARPキャッシュ3から削除されにくくすることができ、優先クラスの高いクラスのパケットがARPキャッシュミスヒットになる確率を効果的に減らすことができるため、低遅延で転送できる確率を効果的に高めることができる。
実施の形態9.
実施の形態9では、ARPキャッシュミスヒット時のARP処理待ちパケット用バッファへの蓄積を、廃棄優先クラスに応じて行なう実施の形態について説明する。なお、本実施の形態にかかるパケット転送装置の構成は、ARPキャッシュ検索処理部7が実施の形態2と異なる機能を備えること以外は実施の形態2のパケット転送装置と同様であるため、図3を参照しながら説明する。図17は、本実施の形態におけるARPキャッシュ検索処理部7での動作を示すフローチャートである。以下、図3および図17を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態2と同様なので詳細な説明は省略し、送信側の動作について説明する。
実施の形態9では、ARPキャッシュミスヒット時のARP処理待ちパケット用バッファへの蓄積を、廃棄優先クラスに応じて行なう実施の形態について説明する。なお、本実施の形態にかかるパケット転送装置の構成は、ARPキャッシュ検索処理部7が実施の形態2と異なる機能を備えること以外は実施の形態2のパケット転送装置と同様であるため、図3を参照しながら説明する。図17は、本実施の形態におけるARPキャッシュ検索処理部7での動作を示すフローチャートである。以下、図3および図17を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態2と同様なので詳細な説明は省略し、送信側の動作について説明する。
パケット種別判定部8は、パケット処理部6から送信パケットを受信すると、パケットのヘッダ情報(IPアドレス、ToS、Protocol、トランスポート層のポート番号等)および、あらかじめ設定されたルール(ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報)から優先クラスを決定し、ARPキャッシュ検索処理部7にパケットとともに通知する。
ARPキャッシュ検索処理部7は、パケット種別判定部8からパケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ101)、該当するエントリが有るか否かを判断する(ステップ102)。その結果、該当するエントリが有る場合(ステップ102肯定、ヒットした場合)には、検索結果であるレイヤ2アドレスと送信パケットとをL2送信処理部2に通知、転送する(ステップ103)。そして、L2送信処理部2ではレイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
また、ARPキャッシュ3を検索した結果、該当するレイヤ2アドレスのエントリが無い場合(ステップ102否定、ミスヒットした場合)には、パケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ARPキャッシュ検索処理部7は、パケットとともにパケット種別判定部8から通知されたパケットの優先クラスの種別情報(ここでの種別は主に廃棄優先クラスの情報である。)に基づいてパケットの廃棄優先クラスが高いか否かを判別する(ステップ104)。
その結果、判別したパケットの廃棄優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は(ステップ104否定)、ARPキャッシュ検索処理部7は、パケットを廃棄する(ステップ107)。さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ106)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知されるので、ARP処理部5ではその結果をARPキャッシュ3に反映(エントリ追加)する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
一方、パケットの廃棄優先クラスが高いか否かを判別した結果、パケットの廃棄優先クラスが高い場合は(ステップ104肯定)、ARPキャッシュ検索処理部7は、ARP処理待ちパケット用バッファ9にパケットを蓄積する(ステップ105)。さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ106)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。この場合もARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
以上のように、本実施の形態によれば、ARPキャッシュ検索処理部7がARP処理待ちパケット用バッファ9に蓄積するパケットは廃棄優先クラスが高いパケット、すなわち廃棄に厳しいクラスのパケットのみである。これにより、ARP処理待ちパケット用バッファ9に蓄積するパケットの数を従来の方式に比べ低減させることができ、ARP処理待ちパケット用バッファ9の容量オーバーに起因したパケットの廃棄を効果的に減少させることができるため、廃棄優先クラスが高いパケットの廃棄率を効果的に低くすることができる。
実施の形態10.
上述した実施の形態9においては、ARP処理待ちパケット用バッファへ蓄積するパケットを高優先クラスのパケット、すなわち廃棄優先クラスの高いパケットのみとすることで、高優先クラスのパケットの廃棄率を下げる場合について説明した。実施の形態10においては、実施の形態9の変形例であり、ARP処理待ちパケット用バッファを全クラスで共有しながら、高優先クラスのパケットに対して優先的に割り当てるように制御する実施の形態について説明する。
上述した実施の形態9においては、ARP処理待ちパケット用バッファへ蓄積するパケットを高優先クラスのパケット、すなわち廃棄優先クラスの高いパケットのみとすることで、高優先クラスのパケットの廃棄率を下げる場合について説明した。実施の形態10においては、実施の形態9の変形例であり、ARP処理待ちパケット用バッファを全クラスで共有しながら、高優先クラスのパケットに対して優先的に割り当てるように制御する実施の形態について説明する。
なお、本実施の形態にかかるパケット転送装置の構成は、ARPキャッシュ検索処理部7が実施の形態2と異なる機能を備えること以外は実施の形態2のパケット転送装置と同様であるため、図3を参照しながら説明する。図18は、本実施の形態におけるARPキャッシュ検索処理部7での動作を示すフローチャートである。以下、図3および図18を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態2と同様なので詳細な説明は省略し、送信側の動作について説明する。
パケット種別判定部8は、パケット処理部6から送信パケットを受信すると、パケットのヘッダ情報(IPアドレス、ToS、Protocol、トランスポート層のポート番号等)および、あらかじめ設定されたルール(ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報)から優先クラスを決定し、ARPキャッシュ検索処理部7にパケットとともに通知する。
ARPキャッシュ検索処理部7は、パケット種別判定部8からパケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ111)、該当するエントリが有るか否かを判断する(ステップ112)。ARPキャッシュ3を検索した結果、該当するエントリが有る場合(ステップ112肯定、ヒットした場合)には、検索結果であるレイヤ2アドレスと送信パケットとをL2送信処理部2に通知、転送する(ステップ113)。そして、L2送信処理部2ではレイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
また、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ112否定、ミスヒットした場合)には、ARP処理待ちパケット用バッファ9におけるパケットの蓄積数によりその後の処理が変わる。ARPキャッシュ検索処理部7は、まず、ARP処理待ちパケット用バッファ9におけるパケットの蓄積数が予め設定された閾値よりも少ないか否かを検査する(ステップ114)。その結果、現在のARP処理待ちパケット用バッファ9におけるパケットの蓄積数が予め設定された閾値よりも少ない場合は(ステップ114肯定)、ARPキャッシュ検索処理部7はパケットをARP処理待ちパケット用バッファ9に蓄積する(ステップ115)。
さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ116)。ARP処理部5では、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。この場合もARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
一方、ARP処理待ちパケット用バッファ9におけるパケットの蓄積数が予め設定された閾値と同数または多い場合は(ステップ114否定)、上述した実施の形態9のステップ104〜ステップ106と同じ判定・処理を行なう。したがって、この場合はパケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ARPキャッシュ検索処理部7は、パケットとともにパケット種別判定部8から通知されたパケットの優先クラスの種別情報(廃棄優先クラスの種別情報)に基づいてパケットの廃棄優先クラスが高いか否かを判別する(ステップ117)。
その結果、判別したパケットの廃棄優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は(ステップ117否定)、ARPキャッシュ検索処理部7は、パケットを廃棄する(ステップ118)。さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ116)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。この場合もARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
一方、パケットの廃棄優先クラスが高いか否かを判別した結果、パケットの廃棄優先クラスが高い場合は(ステップ117肯定)、ARPキャッシュ検索処理部7は、ARP処理待ちパケット用バッファ9にパケットを蓄積する(ステップ115)。さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ116)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
以上のように、本実施の形態によれば、パケットをARP処理待ちパケット用バッファ9に蓄積する時に、該ARP処理待ちパケット用バッファ9におけるパケットの蓄積数とパケットの廃棄優先クラスとから該ARP処理待ちパケット用バッファ9へパケットを蓄積するか否かを判断する。すなわち、本実施の形態においては、ARP処理待ちパケット用バッファ9にパケットが蓄積されるのは、ARP処理待ちパケット用バッファ9におけるパケットの蓄積数が予め設定された閾値よりも少ない場合、またはARP処理待ちパケット用バッファ9におけるパケットの蓄積数が予め設定された閾値と同数もしくは多い場合であってパケットの廃棄優先クラスが高い場合のみである。これにより、ARP処理待ちパケット用バッファ9に蓄積するパケットの数を従来の方式に比べ大幅に低減させることができ、ARP処理待ちパケット用バッファ9の容量オーバーに起因したパケットの廃棄を効果的に減少させることができるため、廃棄優先クラスが高いパケットの廃棄率を効果的に低くすることができる。
実施の形態11.
上述した実施の形態9では、ARP処理待ちパケット用バッファへ蓄積するパケットを高優先クラスのパケット、すなわち廃棄優先クラスの高いパケットのみとすることで、高優先クラスのパケットの廃棄率を下げる場合について説明した。実施の形態11においては、実施の形態9の他の変形例であり、ARP処理待ちパケット用バッファを全クラスで共有しながら高優先クラスのパケットに対して優先的に割り当てるように制御する実施の形態について説明する。
上述した実施の形態9では、ARP処理待ちパケット用バッファへ蓄積するパケットを高優先クラスのパケット、すなわち廃棄優先クラスの高いパケットのみとすることで、高優先クラスのパケットの廃棄率を下げる場合について説明した。実施の形態11においては、実施の形態9の他の変形例であり、ARP処理待ちパケット用バッファを全クラスで共有しながら高優先クラスのパケットに対して優先的に割り当てるように制御する実施の形態について説明する。
なお、本実施の形態にかかるパケット転送装置の構成は、ARPキャッシュ検索処理部7が実施の形態2と異なる機能を備えること以外は実施の形態2のパケット転送装置と同様であるため、図3を参照しながら説明する。図19は、本実施の形態におけるARPキャッシュ検索処理部7での動作を示すフローチャートである。以下、図3および図19を参照しながら、本実施の形態にかかるパケット転送装置の基本的な動作について説明する。なお、受信側の動作は実施の形態2と同様なので詳細な説明は省略し、送信側の動作について説明する。
パケット種別判定部8は、パケット処理部6から送信パケットを受信すると、パケットのヘッダ情報(IPアドレス、ToS、Protocol、トランスポート層のポート番号等)および、あらかじめ設定されたルール(ヘッダ情報が所定の条件である場合に高優先クラスに割り当てるという情報)から優先クラスを決定し、ARPキャッシュ検索処理部7にパケットとともに通知する。
ARPキャッシュ検索処理部7は、パケット種別判定部8からパケットを受信すると、受信したパケットに含まれるNext Hop IPアドレス(次のレイヤ3処理を行なう装置のIPアドレス)を検索キーとしてARPキャッシュ3を検索し(ステップ121)、該当するエントリが有るか否かを判断する(ステップ122)。ARPキャッシュ3を検索した結果、該当するエントリが有る場合(ステップ122肯定、ヒットした場合)には、検索結果であるレイヤ2アドレスと送信パケットとをL2送信処理部2に通知、転送する(ステップ123)。そして、L2送信処理部2ではレイヤ2のヘッダ、トレーラを付加してレイヤ2アドレス宛に転送する。
また、ARPキャッシュ3を検索した結果、該当するエントリが無い場合(ステップ122否定、ミスヒットした場合)には、ARP処理待ちパケット用バッファ9における空き領域があるか否かによりその後の処理が変わる。ARPキャッシュ検索処理部7は、まず、ARP処理待ちパケット用バッファ9において空き領域が有るか否かを検査する(ステップ124)。その結果、ARP処理待ちパケット用バッファ9において空き領域がある場合は(ステップ124肯定)、ARPキャッシュ検索処理部7はパケットの優先クラスにかかわらずパケットをARP処理待ちパケット用バッファ9に蓄積する(ステップ125)。
さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ126)。ARP処理部5では、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知されるので、ARP処理部5ではその結果をARPキャッシュ3に反映(エントリ追加)する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
一方、ARP処理待ちパケット用バッファ9において空き領域が無い場合は(ステップ124否定)、パケットの優先度、すなわち優先クラスによりその後の処理が変わる。まず、ARPキャッシュ検索処理部7は、パケットとともにパケット種別判定部8から通知されたパケットの優先クラスの種別情報(廃棄優先クラスの種別情報)に基づいてパケットの廃棄優先クラスが高いか否かを判別する(ステップ127)。
その結果、判別したパケットの廃棄優先クラスが高くない、すなわちパケットの優先クラスが通常または低い場合は(ステップ127否定)、ARPキャッシュ検索処理部7は、パケットを廃棄する(ステップ130)。さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ126)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
一方、パケットの廃棄優先クラスが高いか否かを判別した結果、パケットの廃棄優先クラスが高い場合は(ステップ127肯定)、ARPキャッシュ検索処理部7は、つぎにARP処理待ちパケット用バッファ9に低優先クラスのパケットが有るか否かを検査する(ステップ128)。その結果、ARP処理待ちパケット用バッファ9に低優先クラスのパケットが有る場合には(ステップ128肯定)、該低優先クラスのパケットのエントリ領域に新しいパケットを上書きする(ステップ129)。
さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ126)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
また、ARP処理待ちパケット用バッファ9に低優先クラスのパケットが有るか否かを検査した結果、ARP処理待ちパケット用バッファ9に低優先クラスのパケットが無い場合(ステップ128否定)、パケットを廃棄する(ステップ130)。
さらに、ARPキャッシュ検索処理部7は、ARP処理部5に対して、該当するエントリが無い旨(ミスヒット)の情報、すなわちARPリクエスト要求通知を送信する(ステップ126)。ARP処理部5は、ARPキャッシュ検索処理部7からの情報を元にARPリクエストパケットを生成し、該ARPリクエストパケットをL2送信処理部2を介して送信する。
その後、該当装置からARPリプライパケットが返信されてきた場合には、L2受信処理部1経由でARP処理部5にARPリプライパケットが通知され、ARP処理部5ではその結果、すなわちレイヤ2アドレスをARPキャッシュ3にエントリ追加する。ARPキャッシュ3へのエントリ追加後は、エントリが消去されるまではARPキャッシュミスヒットは発生せずにパケットの転送が行なえる。
以上のように、本実施の形態によれば、パケットをARP処理待ちパケット用バッファ9に蓄積する時に、該ARP処理待ちパケット用バッファ9における空き領域の有無とパケットの廃棄優先クラスとから該ARP処理待ちパケット用バッファ9へパケットを蓄積するか否かを判断する。すなわち、本実施の形態においては、ARP処理待ちパケット用バッファ9にパケットが蓄積されるのは、ARP処理待ちパケット用バッファ9に空き領域がある場合の他に、空き領域がなくてもパケットの廃棄優先クラスが高い場合であって、低優先度のパケットがARP処理待ちパケット用バッファ9に有る場合である。したがって、ARP処理待ちパケット用バッファ9に高優先クラスのパケットを蓄積する時に、ARP処理待ちパケット用バッファ9に空き領域が無くても、低優先クラスがARP処理待ちパケット用バッファ9内にある場合は、上書きを行なうことで、高優先クラスのパケットを蓄積することができ、高優先クラスのパケットの廃棄の確率を効果的に減らすことができる。
以上のように、本発明にかかるパケット転送装置は、IPパケットの転送に有用であり、特に廃棄に厳しいクラスのIPパケットの転送に適している。
1 L2受信処理部
2 L2送信処理部
3 ARPキャッシュ
4 ARPキャッシュ検索処理部
5 ARP処理部
6 パケット処理部
7 ARPキャッシュ検索処理部
8 パケット種別判定部
9 ARP処理待ちパケット用バッファ
10 パケット転送装置
11 ARP処理部
12 ARP失敗Next Hop IPアドレスリスト
2 L2送信処理部
3 ARPキャッシュ
4 ARPキャッシュ検索処理部
5 ARP処理部
6 パケット処理部
7 ARPキャッシュ検索処理部
8 パケット種別判定部
9 ARP処理待ちパケット用バッファ
10 パケット転送装置
11 ARP処理部
12 ARP失敗Next Hop IPアドレスリスト
Claims (23)
- 受信パケットを受信する受信処理手段と、
ARPキャッシュ保持手段と、
ARP処理手段と、
ARPキャッシュ検索手段と、
上記受信パケットに対応する送信パケットを送信する送信処理手段と、
を備えるパケット転送装置であって、
前記受信処理手段は、
レイヤ2のパケットを受信パケットとして受信処理を行ない、
前記ARPキャッシュ保持手段は、
レイヤ2パケットのレイヤ3アドレスから該レイヤ2パケットのレイヤ2アドレス解決をするためのARPキャッシュを保持し、
前記ARP処理手段は、
前記ARPキャッシュに対してレイヤ2アドレスのエントリ追加・エントリ削除を行い、
前記ARPキャッシュ検索手段は、前記ARPキャッシュを、前記受信パケットのレイヤ3アドレスで検索し、該当するレイヤ2アドレスが該ARPキャッシュにある場合は該受信パケットを送信パケットとして該レイヤ2アドレスとともに前記送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合は該受信パケットを送信パケットとしてブロードキャストアドレスとともに前記送信処理手段に送信し、
前記送信処理手段は、
前記ARP処理手段から送信された送信パケットを、前記ARP処理手段から送信されたレイヤ2アドレスまたはブロードキャストアドレスに従って送信する
ことを特徴とするパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記レイヤ2のパケットに該当するレイヤ2アドレスが前記ARPキャッシュにない場合に前記ARP処理手段に対してARPリクエスト要求を送信し、
前記ARP処理手段は、前記ARPキャッシュ検索手段からのARPリクエスト要求に従ってARPリクエストパケットを生成して前記送信処理手段に送信すること、
を特徴とする請求項1に記載のパケット転送装置。 - 前記ARP処理手段は、前記ARPリクエストパケットに対するARPリプライパケットが返送された場合に、前記ARPキャッシュに対して前記ARPリプライパケットに含まれるレイヤ2アドレスのエントリ追加を行うこと
を特徴とする請求項2に記載のパケット転送装置。 - パケットのヘッダ情報から該パケットの優先クラスを判別するパケット判別手段と、
パケットを蓄積するバッファ手段と、
をさらに備え、
前記ARPキャッシュ検索手段は、前記ARPキャッシュを検索した結果、送信パケットに該当するレイヤ2アドレスが該ARPキャッシュにない場合において、前記パケット判別手段で判別した前記パケットの優先クラスが高い場合にはブロードキャストアドレスおよび該レイヤ2のパケットを前記送信処理手段に送信し、前記パケット判別手段で判別した前記レイヤ2のパケットの優先クラスが低い場合には、該レイヤ2のパケットを前記バッファ手段に蓄積する機能をさらに有すること、
を特徴とする請求項1〜請求項3に記載のパケット転送装置。 - 前記ARP処理手段は、前記ARPリクエストパケットに対するARPリプライパケットが返送された場合に、前記バッファ手段に蓄積された前記パケットを読み出して前記ARPリプライパケットに含まれるレイヤ2アドレスへ送信することを要求すること
を特徴とする請求項4に記載のパケット転送装置。 - 前記レイヤ2のパケットを蓄積するバッファ手段と
前記ARPキャッシュを検索することによりレイヤ2アドレスが求められなかったレイヤ2のパケットのレイヤ3アドレスを保持するARP失敗アドレス保持手段と、
をさらに備え、
前記ARPキャッシュ検索手段は、前記ARPキャッシュを検索し、前記受信処理手段で受信したレイヤ2のパケットに該当するレイヤ2アドレスが該ARPキャッシュにない場合において、ARP失敗アドレス保持手段に対して前記レイヤ2のパケットのレイヤ3アドレスが存在するか否かを検索し、該当するレイヤ3アドレスが存在する場合は前記レイヤ2のパケットを前記バッファ手段に蓄積し、該当するレイヤ3アドレスが存在しない場合はブロードキャストアドレスおよび前記レイヤ2のパケットを前記送信処理手段に送信する機能をさらに有すること
を特徴とする請求項1〜請求項3に記載のパケット転送装置。 - 前記ARP処理手段は、前記ARPリクエストパケットに対するARPリプライパケットが返送された場合に、前記バッファ手段に蓄積された前記パケットを読み出して前記ARPリプライパケットに含まれるレイヤ2アドレスへ送信することを要求すること
を特徴とする請求項6に記載のパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記ARPキャッシュを検索し、送信パケットに該当するレイヤ2アドレスが該ARPキャッシュにない場合に、ブロードキャストアドレスおよび前記レイヤ2のパケットを前記送信処理手段に送信し、前記レイヤ2のパケットのフォーマットにおけるIPパケットとレイヤ2ヘッダとの間にNext Hop IPアドレスを挿入するとともに該Next Hop IPアドレスの挿入を示す所定のタイプ値を付与するフォーマット変換を前記送信処理手段に指示する機能をさらに有し、
前記送信処理手段は、前記フォーマット変換の指示に従ってフォーマットを変換して前記レイヤ2のパケットを転送し、
前記受信処理手段は、前記所定のタイプ値を有するレイヤ2のパケットを受信した場合に、前記Next Hop IPアドレスが自IPアドレスであるか否かを判断して、前記Next Hop IPアドレスが自宛でない場合には前記パケットを廃棄し、前記Next Hop IPアドレスが自宛である場合には前記所定のタイプ値を通常のタイプ値に書き換えるとともに前記Next Hop IPアドレスを削除する機能をさらに有すること、
を特徴とする請求項1〜請求項3に記載のパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記ARPキャッシュを検索し、送信パケットに該当するレイヤ2アドレスが該ARPキャッシュにない場合において、ブロードキャストアドレスおよび前記レイヤ2のパケットを前記送信処理手段に送信し、前記レイヤ2のパケットのフォーマットにおけるIPパケットとレイヤ2ヘッダの間にARPデータを挿入するとともに該ARPデータの挿入を示す所定のタイプ値を付与するフォーマット変換を前記送信処理手段に指示する機能をさらに有し、
前記送信処理手段は、前記フォーマット変換の指示に従ってフォーマットを変換して前記レイヤ2のパケットを転送し、
前記受信処理手段は、前記所定のタイプ値を有するレイヤ2のパケットを受信した場合に、前記ARPデータに含まれるNext Hop IPアドレスが自IPアドレスであるか否かを判断し、前記Next Hop IPアドレスが自宛でない場合には前記パケットを廃棄し、前記Next Hop IPアドレスが自宛である場合には前記所定のタイプ値を通常のタイプ値に書き換えるとともに前記ARPデータを削除し且つ前記ARP処理手段に対して削除したARPデータを通知する機能をさらに有すること、
を特徴とする請求項1〜請求項3に記載のパケット転送装置。 - 前記ARP処理手段は、前記ARPキャッシュにレイヤ2アドレスがエントリ追加されてからの経過時間をカウントし、所定時間を経過したレイヤ2アドレスのエントリ削除を行う機能をさらに有すること
を特徴とする請求項1〜請求項9に記載のパケット転送装置。 - 前記ARPキャッシュは、該ARPキャッシュにエントリされたレイヤ2アドレスのエントリ追加時のトリガとなったパケットの優先クラス情報をさらに保持し、
前記ARP処理手段は、前記優先クラス情報に基づいて前記ARPキャッシュからレイヤ2アドレスをエントリ削除する前記所定時間を調節する機能をさらに有すること
を特徴とする請求項10に記載のパケット転送装置。 - 前記ARPキャッシュ保持手段は、該ARPキャッシュにエントリされたレイヤ2アドレスのエントリ追加時のトリガとなったパケットの優先クラス情報を保持し、
前記ARP処理手段は、前記優先クラス情報に基づいて所定の優先クラスのレイヤ2アドレスのエントリを削除する場合のみ、該レイヤ2アドレスが通信可能であるかを確認し、該レイヤ2アドレスが通信不可能である場合のみ該レイヤ2アドレスのエントリを削除する機能をさらに有すること
を特徴とする請求項1〜請求項9に記載のパケット転送装置。 - 前記ARPキャッシュ保持手段は、該ARPキャッシュにエントリされたレイヤ2アドレスのエントリ追加時のトリガとなったパケットの優先クラス情報を保持し、
前記ARP処理手段は、前記ARPキャッシュ保持手段に空き領域がない場合には、前記優先クラス情報および前記経過時間に基づいて古いレイヤ2アドレスのエントリ削除を行い、且つ新しいレイヤ2アドレスのエントリ追加を行うこと
を特徴とする請求項1〜請求項9に記載のパケット転送装置。 - レイヤ2のパケットの受信処理を行なう受信処理手段と、
前記受信処理手段で受信したレイヤ2のパケットの送信処理を行なう送信処理手段と、
前記受信処理手段で受信したレイヤ2のパケットのアドレス解決をするためのARPキャッシュを保持するARPキャッシュ保持手段と、
前記ARPキャッシュに対してレイヤ2アドレスのエントリ追加・エントリ削除を行うARP処理手段と、
前記受信手段で受信したレイヤ2のパケットのヘッダ情報から該パケットの廃棄優先クラスを判別するパケット判別手段と、
前記受信手段で受信したレイヤ2のパケットを蓄積するバッファ手段と
前記ARPキャッシュを検索し、前記受信処理手段で受信したレイヤ2のパケットに該当するレイヤ2アドレスが該ARPキャッシュにある場合は該レイヤ2アドレスおよび前記レイヤ2のパケットを前記送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合は前記パケット判別手段で判別した廃棄優先クラスに基づいて前記レイヤ2のパケットを前記バッファ手段に蓄積するか廃棄するかを判断するARPキャッシュ検索手段と、
を備えることを特徴とするパケット転送装置。 - 前記ARPキャッシュ検索手段は、
前記パケット判別手段で判別した前記レイヤ2のパケットの廃棄優先クラスが高い場合には該レイヤ2のパケットを前記バッファ手段に蓄積し、前記パケット判別手段で判別した前記レイヤ2のパケットの廃棄優先クラスが低い場合には、該レイヤ2のパケットを廃棄すること
を特徴とする請求項14に記載のパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記パケットに該当するレイヤ2アドレスが前記ARPキャッシュにない場合に前記ARP処理手段に対してARPリクエスト要求を送信し、
前記ARP処理手段は、前記ARPキャッシュ検索手段からのARPリクエスト要求に従ってARPリクエストパケットを生成して前記送信処理手段に送信すること、
を特徴とする請求項14または請求項15に記載のパケット転送装置。 - 前記ARP処理手段は、前記ARPリクエストパケットに対するARPリプライパケットが返送された場合に、前記ARPキャッシュに対して前記ARPリプライパケットに含まれるレイヤ2アドレスのエントリ追加を行うこと
を特徴とする請求項16に記載のパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記ARPキャッシュを検索し、前記受信処理手段で受信したレイヤ2のパケットに該当するレイヤ2アドレスが該ARPキャッシュにない場合において、まず、前記バッファ手段における蓄積パケット数と予め設定された閾値とを比較して前記レイヤ2のパケットを前記バッファ手段に蓄積するか廃棄するかを判断する機能をさらに有すること
を特徴とする請求項14〜請求項17に記載のパケット転送装置。 - 前記ARPキャッシュ検索手段は、
前記蓄積パケット数が前記閾値よりも少ない場合は前記レイヤ2のパケットを前記バッファ手段に蓄積し、
前記蓄積パケット数が前記閾値と同数または多い場合は前記パケット判別手段において前記レイヤ2のパケットの廃棄優先クラスを判断すること
を特徴とする請求項18に記載のパケット転送装置。 - レイヤ2のパケットの受信処理を行なう受信処理手段と、
レイヤ2のパケットの送信処理を行なう送信処理手段と、
レイヤ3アドレスからパケットのレイヤ2アドレス解決をするためのARPキャッシュを保持するARPキャッシュ保持手段と、
前記ARPキャッシュに対してレイヤ2アドレスのエントリ追加・エントリ削除を行うARP処理手段と、
送信パケットのヘッダ情報から該パケットの廃棄優先クラスを判別するパケット判別手段と、
送信パケットを蓄積するバッファ手段と
前記ARPキャッシュを検索し、送信パケットに該当するレイヤ2アドレスが該ARPキャッシュにある場合は該レイヤ2アドレスおよび前記レイヤ2のパケットを前記送信処理手段に送信し、該当するレイヤ2アドレスが該ARPキャッシュにない場合は前記バッファ手段の空き領域の有無と、前記パケット判別手段で判別した廃棄優先クラスと、前記バッファ手段における低廃棄優先クラスのレイヤ2のパケットの有無により、送信パケットを前記バッファ手段に蓄積するか廃棄するかを判断するARPキャッシュ検索手段と、
を備えることを特徴とするパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記バッファ手段に空き領域がある場合は送信パケットを前記バッファ手段に蓄積し、前記バッファ手段に空き領域がない場合は前記パケット判別手段において前記送信パケットの廃棄優先クラスを判別し、前記送信パケットの廃棄優先クラスを判別した結果、前記パケットの廃棄優先クラスが低い場合には該レイヤ2のパケットを廃棄し、前記パケットの廃棄優先クラスが高い場合には前記バッファ手段に低廃棄優先クラスのパケットが蓄積されているか否かを検査し、前記バッファ手段に低廃棄優先クラスのパケットが蓄積されている場合は該低廃棄優先クラスのパケットを廃棄してその領域に前記送信パケットを蓄積し、前記バッファ手段に低廃棄優先クラスのパケットが蓄積されていない場合は前記送信パケットを廃棄すること
を特徴とする請求項20に記載のパケット転送装置。 - 前記ARPキャッシュ検索手段は、前記レイヤ2のパケットに該当するレイヤ2アドレスが前記ARPキャッシュにない場合に前記ARP処理手段に対してARPリクエスト要求を送信し、
前記ARP処理手段は、前記ARPキャッシュ検索手段からのARPリクエスト要求に従ってARPリクエストパケットを生成して前記送信処理手段に送信すること、
を特徴とする請求項20または請求項21に記載のパケット転送装置。 - 前記ARP処理手段は、前記ARPリクエストパケットに対するARPリプライパケットが返送された場合に、前記ARPキャッシュに対して前記ARPリプライパケットに含まれるレイヤ2アドレスのエントリ追加を行うこと
を特徴とする請求項22に記載のパケット転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004071197A JP2005260710A (ja) | 2004-03-12 | 2004-03-12 | パケット転送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004071197A JP2005260710A (ja) | 2004-03-12 | 2004-03-12 | パケット転送装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005260710A true JP2005260710A (ja) | 2005-09-22 |
Family
ID=35085994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004071197A Pending JP2005260710A (ja) | 2004-03-12 | 2004-03-12 | パケット転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005260710A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007108083A1 (ja) * | 2006-03-20 | 2007-09-27 | Fujitsu Limited | 中継装置、通信システム、通信方法及びコンピュータプログラム |
US7618735B2 (en) | 2002-10-28 | 2009-11-17 | Honda Motor Co., Ltd. | Fuel cell with triangular buffers |
-
2004
- 2004-03-12 JP JP2004071197A patent/JP2005260710A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7618735B2 (en) | 2002-10-28 | 2009-11-17 | Honda Motor Co., Ltd. | Fuel cell with triangular buffers |
WO2007108083A1 (ja) * | 2006-03-20 | 2007-09-27 | Fujitsu Limited | 中継装置、通信システム、通信方法及びコンピュータプログラム |
JPWO2007108083A1 (ja) * | 2006-03-20 | 2009-07-30 | 富士通株式会社 | 中継装置、通信方法及びコンピュータプログラム |
JP4628467B2 (ja) * | 2006-03-20 | 2011-02-09 | 富士通株式会社 | 中継装置、通信方法及びコンピュータプログラム |
KR101058625B1 (ko) | 2006-03-20 | 2011-08-22 | 후지쯔 가부시끼가이샤 | 중계장치, 통신방법 및 기록매체 |
US8351440B2 (en) | 2006-03-20 | 2013-01-08 | Fujitsu Limited | Relay device, communication system, communication method, and computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102033999B1 (ko) | 컨텐트 중심 네트워크에서의 통신 방법 및 장치 | |
JP3123467B2 (ja) | ブリッジ | |
US7436796B2 (en) | Mobile-unit-dedicated data delivery assistance method | |
KR101376014B1 (ko) | 복수의 랑데뷰 포인트에서 모바일 멀티캐스트 소스로부터의 멀티캐스트 트래픽을 함께 처리하기 위한 방법 및 장치 | |
US8462804B2 (en) | Self-cleaning mechanism for error recovery | |
Johnson et al. | RFC 4728: The dynamic source routing protocol (DSR) for mobile ad hoc networks for IPv4 | |
CN109451080B (zh) | 一种无线场景下ndn兴趣包可靠传输方法 | |
US20050243834A1 (en) | Packet transfer method and device | |
JP2010178343A (ja) | コンピュータ実施方法 | |
KR20030078590A (ko) | Ip 네트워크 상에서의 경로 mtu 탐색 방법 및 그 장치 | |
CN1969525A (zh) | 用于减少通信网络上的传输量的通信服务器、方法和系统 | |
TW201941569A (zh) | 在網狀網路中之訊息快取管理 | |
JP2016082479A (ja) | 通信装置、通信方法およびプログラム | |
US8031714B2 (en) | Using a cache of outgoing packet identifiers to recover from a protocol error in GTP-u | |
US7822056B2 (en) | LCR switch with header compression | |
US7822034B2 (en) | Path controls apparatus and table updating method | |
JP2005260710A (ja) | パケット転送装置 | |
US9641461B2 (en) | Relay device, communication system, and communication method | |
JP2005033351A (ja) | パケット中継装置 | |
JP4019884B2 (ja) | パケット振り分け装置 | |
JP5572848B2 (ja) | 通信装置および通信方法 | |
KR100823135B1 (ko) | 효율적 arp 요청을 수행하는 라우팅 제어 장치 및 그방법 | |
KR100760616B1 (ko) | 무선랜 시스템의 데이터 전송 장치 및 그 방법 | |
CN109327402B (zh) | 拥塞管理方法及装置 | |
KR100705565B1 (ko) | 패킷 포워딩을 위한 mac 주소 관리 장치 및 그 방법 |