JP5887324B2 - 中継装置および中継方法 - Google Patents

中継装置および中継方法 Download PDF

Info

Publication number
JP5887324B2
JP5887324B2 JP2013236718A JP2013236718A JP5887324B2 JP 5887324 B2 JP5887324 B2 JP 5887324B2 JP 2013236718 A JP2013236718 A JP 2013236718A JP 2013236718 A JP2013236718 A JP 2013236718A JP 5887324 B2 JP5887324 B2 JP 5887324B2
Authority
JP
Japan
Prior art keywords
unit
layer
frame
ecn
header
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.)
Active
Application number
JP2013236718A
Other languages
English (en)
Other versions
JP2015097316A5 (ja
JP2015097316A (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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2013236718A priority Critical patent/JP5887324B2/ja
Priority to US14/535,782 priority patent/US9667548B2/en
Publication of JP2015097316A publication Critical patent/JP2015097316A/ja
Publication of JP2015097316A5 publication Critical patent/JP2015097316A5/ja
Application granted granted Critical
Publication of JP5887324B2 publication Critical patent/JP5887324B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Description

本発明は、データを中継する中継装置および中継方法に関する。
輻輳通知技術の一つであるECN(Explicit Congestion Notification)が、LINUX(登録商標)やWINDOWS(登録商標)等のOS(Operating System)にオプション機能として実装され、またIETF(Internet Engineering Task Force)でも盛んに議論されるなど、脚光を浴びている。
ECNとは、ネットワークを構成するルータ/スイッチ等のパケット中継装置において輻輳が発生した場合に、送信端末から送信されたデータパケットに対しルータ/スイッチ自身で輻輳情報を明示的にマーキングして受信端末に送信することで、受信端末に輻輳情報を通知する輻輳通知技術である(特許文献1参照)。
特開2010−232876号公報
しかしながら、上述した輻輳通知技術は、レイヤ3(以下、L3)中継時に、フレームのL3ヘッダのフィールドを更新する技術であり、レイヤ2(以下、L2)中継時にはL3ヘッダのフィールドは更新されない。したがって、L2網の中継装置で輻輳が発生した場合、輻輳通知することができない。また、従来の中継装置では、L2中継時に、フレームのL3ヘッダのエラーチェックは実行されない。したがって、L2中継時に輻輳通知をおこなうために、L3ヘッダの書き換えを実行すると、L3ヘッダを誤訂正してしまう。このように、異なるレイヤをまたがって中継する場合に、データの信頼性を損なう場合がある。
本発明は、データ中継の信頼性の向上を図ることを目的とする。
本願において開示される発明の一側面となる中継装置および中継方法は、ネットワークに接続される複数のポートと、レイヤ2のヘッダと、レイヤ3のヘッダ及びデータ部を含むレイヤ2のデータ部と、を有するフレームを、前記ネットワークを介して中継するレイヤ2処理部と、出力部と、を有する中継装置およびその中継方法であって、前記レイヤ2処理部は、前記レイヤ3のヘッダの複数のフィールドのうち特定のフィールドの値を更新するとともに、前記複数のフィールドのうち所定のフィールドに格納されている前記レイヤ3のヘッダに関する第1の特徴値と、前記特定のフィールドの更新前後の値とを用いて、前記レイヤ3のヘッダに関する第2の特徴値を演算して、前記所定のフィールドの値を前記第1の特徴値から前記第2の特徴値に更新し、前記レイヤ3のヘッダ内のエラーを検出し、前記出力部は、前記エラーの検出結果にかかわらず、前記特定のフィールドの値および前記所定のフィールドの値が更新されたフレームを、前記複数のポートのうち前記更新後のフレームの出力先として指定されたポートから前記ネットワークに出力することを特徴とする。
本発明の代表的な実施の形態によれば、データ中継の信頼性の向上を図ることができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
本実施例にかかるネットワークの構成例を示す説明図である。 フレームのフォーマット例を示す説明図である。 中継装置の構成例を示す説明図である。 シェーパ部の構成例を示す説明図である。 L3ヘッダエラーチェック部がない場合の受信側L2処理部または送信側L2処理部による処理手順例を示すフローチャートである。 L3ヘッダエラーチェック部がある場合の受信側L2処理部または送信側L2処理部による処理手順例を示すフローチャートである。
<ネットワーク構成例>
図1は、本実施例にかかるネットワーク1の構成例を示す説明図である。ネットワーク1において、端末2,3間にはL3網4、5やL2網6があり、送信元の端末2は、L3網4、5やL2網6内の中継装置7、8、9、10を経由して、宛先の端末3にパケットを送信する。L2網6は、たとえば、中継装置9、10のL2中継によりパケットが転送されるネットワークであり、L3網4、5は、たとえば、中継装置7、8、10のL3中継によりパケットが転送されるネットワークである。
中継装置7、8、9、10は、L2網6での中継処理を実行するL2処理部とL3網4、5での中継処理を実行するL3処理部を有する。L3網4,5に配置される中継装置7、8は、L3処理部によりデータ中継を実行し、L2網6に配置される中継装置9は、L2処理部によりデータ中継を実行する。また、L2網6とL3網5との境界に配置される中継装置10は、L3網5からのデータをL2網6に転送する場合、L2網6内のデータをL2網6内に転送する場合には、L2処理部により中継する。また、中継装置10は、L2網6からのデータをL3網5に転送する場合、L3網5内のデータをL2網6内に転送する場合には、L3処理部により中継する。
L2処理部は、OSI参照モデルでのレイヤ2(データリンク層)でのプロトコル(たとえば、イーサネットプロトコル)(イーサネットは登録商標)に従って、受信したフレームを転送する。L3処理部は、OSI参照モデルのレイヤ3(ネットワーク層)でのプロトコル(IPプロトコル)に従って受信したフレームを転送する。
まず、端末2が、端末3にパケットを送信する。送信されるパケットは、ECNに対応可能なパケットとする。ECNに対応可能なパケットとは、具体的には、たとえば、L3ヘッダのTOS(Type Of Service)フィールド内のECNフィールドの値が、輻輳検出に対応可能である意味をもつECT(ECN−Capable Transport)(0)またはECT(1)に書き換えられたパケットである。当該パケットは、L3網4の中継装置7を経由してL2網6の中継装置9に到達する。
L2網6の中継装置9で輻輳が発生した場合、中継装置9は、端末2からのパケットのECNフィールドの値を、輻輳検出済(ECNマーキング実行済)の意味をもつCE(Congestion Experienced)の値に書き換えるECNマーキングを実行する。そして、中継装置9はECNマーキングされたパケットを、L3網5の中継装置8を介して端末3に送信する。これにより、L3網4からのパケットがL2網6で輻輳した場合にも、可能な限り廃棄することなく中継することができる。
通常、TCP(Transmission Control Protocol)では、輻輳が発生していない場合、端末3は、端末2からのパケットに対する応答パケットとしてACK(Acknowledge)パケットを端末2に送信する。本例の場合、L2網6の中継装置9で輻輳が発生しているため、端末3は、ECNマーキングを実行した中継装置9からのパケットを受信すると、端末2に、ECNエコーACKパケットを返信する。ECNエコーACKパケットは、輻輳検出したことを端末2に通知するためECN向けに拡張されたTCP制御フラグのECE(ECN Echo)フラグを‘1’にセットしたパケットである。ECNエコーACKパケットは、L3網5、L2網6、L3網4を経由して端末2に送信される。
端末2は、ECNエコーACKパケットを受信すると、ネットワークが輻輳状態にあるものと判断し、TCPがもつ輻輳回避機能に基づいて送信帯域を抑制することで、輻輳回避する。輻輳回避の処理を実行すると、端末2はパケットにTCP制御フラグのCWR(Congestion Window Reduced)フラグをセットし、CWRフラグをセットしたパケットを端末3に送信する。CWRフラグは、端末2にて輻輳回避の処理を行った後に、端末3が返信するACKパケットのECEフラグのセットを停止させるために、ECN向けに拡張されたTCP制御フラグである。
端末3は、CWRフラグがセットされたパケットを受信すると、ECEフラグのセットを停止する。これにより、ECNエコーACKパケットは、送信されなくなる。なお、本例は、L3網4またはL3網5が存在しない場合も同様の処理となる。また、L3網において輻輳が発生した場合は、通常通り中継装置7、8がECNマーキングを実行する。
このように、ECNを用いることで、L2網6の中継装置9においても輻輳を検出することができ、輻輳を検出した際のパケット廃棄を可能な限り抑止し、パケットを中継しつつ輻輳発生を明示的に端末に通知することができる。これにより、送信帯域の抑制を促すことが可能となり、パケット廃棄やこれに伴うパケット再送による通信品質の低下を抑制することができる。
ここで、中継装置9におけるL2処理部でのECNマーキングについて具体的に説明する。ECNマーキングでは、中継装置9は、端末2からのパケットのECNフィールドの値を、輻輳検出済の意味をもつCEの値に書き換える。中継装置9は、ECNフィールドの値の書き換え後において、チェックサムを求め、求めたチェックサムをチェックサムフィールド235に書き込む。この場合、チェックサムの演算方法として、全体チェックサム演算と差分チェックサム演算がある。
全体チェックサム演算は、ECNフィールドの値の書き換え後において、L3ヘッダの値の総和を求める演算方法である。ただし、チェックサムフィールド235の値は0とする。求めたチェックサムは、チェックサムフィールド235に書き込まれ、中継装置9は、ECNフィールドの値およびチェックサムフィールド235の値が書き換えられたパケットを、L3網5を介して端末3に送信することになる。
全体チェックサム演算の場合、チェックサムフィールド235に書き込まれた元のチェックサムを用いずにチェックサム演算がおこなわれ、あらたなチェックサムが書き込まれるため、元のチェックサムが正しい値であろうが誤った値であろうが、元のチェックサムは失われる。このため、たとえば、端末2と中継装置9との間でビットエラーが発生し、宛先IPアドレスが変化した場合、L3ヘッダにエラーがあるにもかかわらず、正常パケットであると誤訂正されてしまう。このように誤訂正されたパケットは、中継装置7を経由して、誤った宛先に転送され、端末3に到達しないことになる。
このため、本実施例では、中継装置9は、L2処理部でのECNマーキングの際、全体チェックサム演算ではなく差分チェックサム演算を実行する。差分チェックサム演算は、L3ヘッダ(IPヘッダ)の書き換わったフィールドの値を用いてチェックサムを演算する演算方法である。本例の場合、ECNフィールドの値の書き換え前後の値と、元のチェックサムとが用いられる。このため、元のチェックサムに誤りが含まれていれば、差分チェックサム演算後のチェックサムに保存され、ECNフィールドの値の書き換えも実行される。したがって、正常パケットは、正常に端末3に伝送され、輻輳通知も行われる。一方、エラーを含むパケットは、L3網5でエラー検出され、廃棄されることになる。
<フレームのフォーマット例>
図2は、フレームのフォーマット例を示す説明図である。フレームFは、プリアンブル201、L2ヘッダ202、L3ヘッダ203、L4ヘッダ204、ペイロード205、FCS(Frame Check Sequence)206により構成される。なお、IFG(Inter Frame Gap)200は、フレームFから次のフレームFを送るまでの間隔である。
本実施例で書き換え対象となるフィールドは、L3ヘッダ203内のTOSフィールド230内の下位2ビットのECNフィールド231を例として説明する。ECNフィールド231の値については、図2に示すとおりである。なお、ECNフィールド231の初期の値は、フレームFの送信元の端末2で設定される。送信元の端末2がECNをサポートしていれば、ECNフィールド231の値は、‘01’または‘10’に設定され、サポートしていなければ、‘00’に設定される。
端末2からのパケットを受信した端末3は、L4ヘッダ204のコードビット240のACKフィールド241の値を‘1’に設定したACKパケットを返信する。パケットを受信した端末3は、ECNエコーACKパケットの場合は、さらに、ECEフィールド242の値を‘1’に設定して、ECNエコーACKパケットを返信する。また、ECNエコーACKパケットを受信した送信元の端末2は、CWRフィールド243の値を‘1’に設定したCWRを端末3に返信する。
また、入力回線番号211、Byte長212、選択フラグ213、およびL3ヘッダエラーフラグ214は、L2網6の中継装置9に取り込まれた場合に付与される内部ヘッダ210である。入力回線番号211とは、中継装置9がフレームFを入力した回線(ポート)の番号であり、Byte長212とは、たとえば、フレームFのL1長である。なお、L1長に限らず、L2長またはL3長のいずれかを採用してもよい。
選択フラグ213とは、後述する受信側L2/L3選択部321が、受信側L2処理部322と受信側L3処理部323のいずれの処理部を選択したかを識別するフラグであり、送信側L2/L3選択部324に参照される。L3ヘッダエラーフラグ214とは、後述するL3ヘッダエラーチェック部341によりエラーが検出された場合に立てるフラグである。また、L3ヘッダ203において、IHL(Internal Header Length)フィールド232には、L3ヘッダ長を4Byte=1とする単位で表した値であるIHLが格納される。なお、図示はしないが、上述した情報に限らず、内部ヘッダ210には、各処理で得られた情報が格納される。
図3は、中継装置7、8、9、10の構成例を示す説明図である。中継装置300(中継装置7、8、9、10)は、複数組のNIF(Network Interface)301およびPPU302(Packet Processing Unit)302と、中継処理部(Switch Fabric)303と、を有する。各NIF301は、対応するPPU302に接続され、各PPU302は、中継処理部303に接続される。
NIF301は、送受信回路311と、バッファ312と、を有する出力部である。送受信回路311は、外部から送信されてくるフレームFを受信し、受信したフレームFに図2に示した内部ヘッダ210を付与して、バッファ312に出力する。具体的には、たとえば、送受信回路311は、フレームFを受信した入力回線番号211およびByte長212を特定して、内部ヘッダ210を付与する。なお、この段階では、選択フラグ213およびL3ヘッダエラーフラグ214はそれぞれ、未選択および未検出を示す値が設定される。
バッファ312は、送受信回路311からの入力順に従って、内部ヘッダ210が付与されたフレームFをPPU302に出力する。また、送受信回路311は、PPU302からのフレームFを外部に送信する。送受信回路311は、外部にフレームFを送信する際、フレームFのECNフィールド231を書き換える。具体的には、ECNフィールド231の値が「01」または「10」であり、かつ、ECNマーキングが実行された場合には、送受信回路311は、ECNフィールド231の値を「11」に書き換える。なお、ECNフィールド231の値が「00」または「11」の場合は、書き換えない。
PPU302は、受信側の構成と送信側の構成を有する。まず、受信側の構成について説明する。受信側の構成としては、PPU302は、受信側L2/L3選択部321と、受信側L2処理部322と、受信側L3処理部323とを有する。受信側L2/L3選択部321は、バッファ312から送信されてくるフレームFの宛先MACアドレスに基づいて、当該フレームFを、受信側L2処理部322と受信側L3処理部323のいずれの処理部で処理させるかを選択する。
たとえば、宛先MACアドレスが、自装置のMACアドレスである場合、受信側L2/L3選択部321は、受信側L3処理部323を選択し、バッファ312からのフレームFを受信側L3処理部323に転送する。一方、宛先MACアドレスが、自装置のMACアドレスでない場合、受信側L2/L3選択部321は、受信側L2処理部322を選択し、バッファ312からのフレームFを受信側L2処理部322に転送する。なお、受信側L2/L3選択部321からの転送に際して、受信側L2/L3選択部321は、フレームFの内部ヘッダ210の選択フラグ213を、転送先の処理部を特定するフラグに設定する。設定された選択フラグ213は、送信側L2/L3選択部324に参照される。
受信側L2処理部322は、L3ヘッダエラーチェック部341と、FDB342と、L2フロー検索部343と、ECN対象判定部344と、帯域監視部345と、ECNマーキング実行部346と、差分チェックサム演算部347と、を有する。
L3ヘッダエラーチェック部341は、受信側L2/L3選択部321からのフレームFのL3ヘッダ203にエラーが存在するか否かをチェックする。具体的には、たとえば、L3ヘッダエラーチェック部341は、L3ヘッダ203のIPバージョンフィールド233の値が正常な値であることを確認する。たとえば、IPv4の場合は‘4’であることを確認する。
また、L3ヘッダエラーチェック部341は、フレームFのL2長とL3ヘッダ203のパケット長フィールド234に格納されているTotal Length(TL)の値との関係が正常であることを確認する。たとえば、TL≦L2長の場合、正常となる。
また、L3ヘッダエラーチェック部341は、L3ヘッダ203のIHLフィールド232の値(IHL)とTLとの関係が正常であることを確認する。たとえば、IHL×4≦TLの場合、正常となる。また、L3ヘッダエラーチェック部341は、L3ヘッダ203のIHLフィールド232の値(IHL)が正常な値であることを確認する。たとえば、5≦IHLの場合、正常となる。
また、L3ヘッダエラーチェック部341は、チェックサムエラーでないことを確認する。たとえば、L3ヘッダエラーチェック部341は、L3ヘッダ203のチェックサムフィールド235の値を0にした場合のチェックサム(いわゆる全体チェックサム)を計算し、フレームFのチェックサムフィールド235に格納されていたチェックサムと一致するか否かを判断する。一致する場合は、正常となる。
なお、これらのチェックは、少なくともいずれか1つが実行されることとしてもよい。異常が検出された場合、L3ヘッダエラーチェック部341は、当該フレームFをエラーフレームとして扱う。具体的には、L3ヘッダエラーチェック部341は、フレームFを廃棄する。また、廃棄せずに、後段の処理に透過させてもよい。この場合、L3ヘッダエラーチェック部341は、内部ヘッダ210のL3エラーチェックフラグを、エラーありを示す値に設定する。また、複数のチェックが実行された場合に少なくともいずれか1つでも異常が検出された場合、L3ヘッダエラーチェック部341は、当該フレームFをエラーフレームとして扱うこととしてもよい。また、受信側L2処理部322では、L3ヘッダエラーチェック部341がない構成としてもよい。
FDB342は、MACアドレスと出力ポートとを学習するフィルタリングデータベースを有し、フレームFを出力する出力ポートのポート番号を検索する。検索された出力ポートのポート番号は、中継処理部303に参照される。フレームFは、検索された出力ポートを有するNIF301に対応するPPU302に転送されることになる。L2フロー検索部343は、フレームFが所属するフローを検索する。検索されたフローは、帯域監視部345におけるフローごとの帯域計測に用いられる。
ECN対象判定部344は、L2フロー検索部343で検索されたフレームFがECN対象であるか否かを判定する。具体的には、たとえば、ECN対象判定部344は、ECNフィールド231の値を参照し、‘01’または‘10’であれば、フレームFはECN対象であると判定する。なお、ECNエコーACKパケットについては、ECN対象判定部344は、ECN判定対象外として処理する。具体的には、コードビット240のACKフィールド241が“1”であるパケットは、ECNエコーACKパケットであるため、ECN判定対象外とする。後述するシェーパ部327内のL2側ECN対象判定部404およびL3側ECN対象判定部405についても同様である。
帯域監視部345は、フレームFの帯域を監視する。具体的には、たとえば、帯域監視部345は、リーキーバケツアルゴリズムを採用してフレームFが所属するフローの帯域を計測する。そして、帯域監視部345は、計測した帯域が契約帯域を超過しているか否かを判断する。超過している場合は、帯域監視部345は、輻輳が発生していると判断する。また、帯域監視部345は、ECN対象判定部344による判定結果に応じた帯域監視をおこなう。たとえば、ECN対象でないフレームFについては、帯域監視部345は、上述のような帯域監視をおこなう。これに対し、ECN対象であるフレームFについては、帯域監視部345は、確率違反判定を実行する。
確率違反判定とは、輻輳が発生しているかを確率的に判定する処理である。たとえば、リーキーバケツのバケツの深さを横軸、輻輳マーキング確率を縦軸としたグラフにおいて、バケツの深さに応じて輻輳マーキング確率が増加するグラフが用意される。輻輳マーキング確率とは、ECNマーキング実行部346に輻輳マーキングを実行させる確率である。
当該グラフでは、バケツの深さについて第1のしきい値と第1のしきい値よりも大きい第2のしきい値が設定される。たとえば、バケツの深さが0以上第1のしきい値未満の場合は、輻輳マーキング確率は0%、バケツの深さが第1のしきい値以上第2のしきい値未満の場合は、輻輳マーキング確率は、0%よりも大きく100%未満の単調増加関数とする。また、第2のしきい値以上のバケツの深さでは、輻輳マーキング確率は100%とする。確率違反判定では、帯域監視部345は、ランダムサイコロで決まった乱数が、現在のバケツの深さにより特定される輻輳マーキング確率に入った場合、確率違反、すなわち、輻輳マーキングすべきと判定する。当該判定結果を示すフラグは、内部ヘッダ210に設定される。
ECNマーキング実行部346は、帯域監視部345による確率違反判定における判定結果に基づいて、ECNマーキングを実行する。具体的には、たとえば、ECN実行部346は、内部ヘッダ210に確率違反を示すフラグが設定されている場合には、ECN実行済みを示すECNフィールド231の値‘11’を、内部ヘッダ210またはECNフィールド231のいずれかに設定する。ECNフィールド231に設定する場合には、ECNマーキング実行部346は、ECNフィールド231の値(この場合は、ECNマーキング未実行を示す‘10’または‘01’)を内部ヘッダ210に複製して、ECNフィールド231を、ECN実行済みを示す値‘11’に更新する。
差分チェックサム演算部347は、フレームFの内部ヘッダ210およびL3ヘッダ203に基づいて、差分チェックサムを演算する。差分チェックサムの演算例については後述する。差分チェックサム演算部347は、演算された差分チェックサムをチェックサムフィールド235に書き込む。なお、ECN実行済みを示すECNフィールド231の値‘11’が内部ヘッダ210に書き込まれている場合には、差分チェックサム演算部347は、差分チェックサムの演算後に、ECN実行済みを示すECNフィールド231の値‘11’をECNフィールド231に上書きする。そして、差分チェックサム演算部347は、フレームFを中継処理部303に転送する。
つぎに、受信側L3処理部323について説明する。受信側L2処理部322の構成と同一構成には同一符号を付し、説明を省略する。受信側L3処理部323は、L3ヘッダエラーチェック部341と、経路検索部352と、L3フロー検索部353と、ECN対象判定部344と、帯域監視部345と、ECNマーキング実行部346と、全体チェックサム演算部357と、を有する。
経路検索部352は、フレームFのL3ヘッダ203を参照してルーティングテーブルによりフレームFを出力する出力ポートのポート番号を検索する。検索された出力ポートのポート番号は、中継処理部303に参照される。L3フロー検索部353は、フレームFが所属するフローを検索する。検索されたフローは、帯域監視部345におけるフローごとの帯域計測に用いられる。
全体チェックサム演算部357は、フレームFのL3ヘッダ203に基づいて、全体チェックサムを演算する。全体チェックサムの演算例については後述する。全体チェックサム演算部357は、演算された全体チェックサムをチェックサムフィールド235に書き込む。そして、全体チェックサム演算部357は、フレームFを中継処理部303に転送する。
つぎに、PPU302の送信側の構成について説明する。送信側の構成として、PPU302は、送信側L2/L3選択部324と、送信側L2処理部325と、送信側L3処理部326と、シェーパ部327と、を有する。PPU302の送信側の構成と同一構成には同一符号を付し、説明を省略する。
送信側L2/L3選択部324は、中継処理部303からのフレームFの内部ヘッダ210の選択フラグ213を参照して、中継処理部303からのフレームFの転送先を、送信側L2処理部325と送信側L3処理部326のいずれかに選択する。そして、送信側L2/L3選択部324は、選択した処理部にフレームFを転送する。
送信側L2処理部325は、受信側L2処理部322におけるL2フロー検索部343と、ECN対象判定部344と、帯域監視部345と、ECNマーキング実行部346と、差分チェックサム演算部347と、を有する。受信側L3処理部323は、受信側L3処理部323におけるL3フロー検索部353と、ECN対象判定部344と、帯域監視部345と、ECNマーキング実行部346と、全体チェックサム演算部357と、を有する。
シェーパ部327は、フレームFが所属するフローや出力回線等の帯域を制御する。シェーパ部327は、送信側L2処理部325および送信側L3処理部326からのフレームFをNIF301の送受信回路311に出力する。シェーパ部327は、帯域制御のほか、受信側L2処理部322、受信側L3処理部323、送信側L2処理部325、および送信側L3処理部326において、ECNマーキングされなかったフレームFについて、ECNマーキングをおこなうことができる。
L2処理部またはL3処理部のECN対象判定部344でECN対象と判定され、帯域監視部345で輻輳が発生していると判定された場合は、L2処理部またはL3処理部でECNマーキングがなされる。L2処理部またはL3処理部のECN対象判定部344でECN対象と判定されなかった場合、または、L2処理部またはL3処理部のECN対象判定部344でECN対象と判定されても帯域監視部345で輻輳が発生していると判定されなかった場合は、L2処理部またはL3処理部でECNマーキングはされない。
次にシェーパ部327は、L2側ECN対象判定部404またはL3側ECN対象判定部405で、ECNマーキングされたパケットをECN対象外と判定する。ECNマーキングされておらず、ECN対象と判定された場合は、シェーパ部327は、キュー制御部401における確率違反判定における判定結果に基づいて、ECNマーキング実行部346によりECNマーキングを実行する。
また、中継処理部303は、PPU302からのフレームFを、そのPPU302で検索された出力先のポートを有するPPU302に転送する。中継処理部303は、たとえば、クロスバスイッチにより構成される。
なお、中継装置300において、L2に従う処理部は、L2中継部の一部であり、L3に従う処理部は、L3中継部の一部である。たとえば、受信側L2処理部322や送信側L2処理部325は、L2中継部の一部であり、受信側L3処理部323や送信側L3処理部326は、L3中継部の一部である。
また、中継装置9にL3ヘッダ203のエラーチェック機能を搭載してもよい。これにより、中継装置9は、帯域監視に先立ってL3ヘッダ203にエラーがあるパケットを廃棄することができる。なお、中継装置9は、このようなエラーパケットを取り込んでもよく、その場合もECNマーキングを実行する。エラーパケットはヘッダ情報の信頼性が失われており、属するフローを正常に判定することができないので、帯域監視の対象から除外してECNマーキングを実行しない構成とすることもできる。したがって、正常なパケットは、正常に端末3に伝送され、エラーを含むパケットは、差分チェックサムの比較により、従来のエラーパケットのエラー検出と同様にL3網の中継装置8においてエラー検出され、廃棄されることになる。なお、L3網の中継装置8が存在しない場合には、端末3においてエラー検出され、廃棄されることになる。
なお、中継装置9はL2スイッチであってもよく、その場合、図3の構成から受信側L2/L3選択部321、受信側L3処理部323、送信側L2/L3選択部324、送信側L3処理部326は不要である。バッファ312から読み出されたパケットは受信側L2処理部322に転送され、中継処理部303から読み出されたパケットは送信側L2処理部325に転送される。
図4は、シェーパ部327の構成例を示す説明図である。シェーパ部327は、キュー制御部401と、L2/L3選択部403と、L2側ECN対象判定部404と、L3側ECN対象判定部405と、ECNマーキング実行部346と、差分チェックサム演算部347と、全体チェックサム演算部357と、を有する。上述した構成と同一構成については同一符号を付し、その説明を省略する。
キュー制御部401は、キュー402のキュー長を参照して、フレームFのキューイング可否を判定する。具体的には、たとえば、キュー制御部401は、上述した帯域監視部345と同様の処理を実行する。キュー制御部401の場合、たとえば、リーキーバケツアルゴリズムのバケツの深さの代わりにキュー長が用いられる。また、キュー制御部401は、帯域監視部345で説明した確率違反判定も実行する。キュー402は、キュー制御部401からのキューイング可否の判定結果に応じて、フレームFを蓄積し、また、蓄積されたフレームFを入力順に出力する。
L2/L3選択部403は、送信側L2処理部325または送信側L3処理部326からのフレームFの内部ヘッダ210の選択フラグ213を参照して、フレームFの転送先を、L2側ECN対象判定部404とL3側ECN対象判定部405のいずれかに選択する。そして、L2/L3選択部403は、選択したECN対象判定部にフレームFを転送する。
L2側ECN対象判定部404およびL3側ECN対象判定部405は、L2/L3選択部403からのフレームFがECN対象であるか否かを判定する。具体的には、たとえば、L2側ECN対象判定部404およびL3側ECN対象判定部405は、ECNフィールド231の値を参照し、‘01’または‘10’であれば、フレームFはECN対象であると判定する。ECN非対応の場合、当該フレームFは、キュー制御部401を介してキュー402に書き込まれる。
ECNマーキング実行部346は、ECN対象であると判定されたフレームFについて、キュー制御部401での確率違反判定における判定結果に基づいて、ECNマーキングを実行する。具体的な処理内容については、上述した通りである。
なお、L3網4、5に設置された中継装置7、8がECNエコーACKパケットを受信した場合、ECNエコーACKパケットは、NIF301、受信側L2/L3選択部321、受信側L3処理部323、中継処理部303、送信側L2/L3選択部324、送信側L3処理部326、シェーパ部327を経由する。シェーパ部327では、ECNエコーACKパケットは、キュー制御部401、L2/L3選択部403、L3側ECN対象判定部405を経由し、ECNマーキング実行部346および全体チェックサム演算部357による処理を実行せずに、キュー402に渡されて、NIF301の送受信回路311に出力される。
中継装置7、8、10がL3スイッチである場合は、図3の構成そのままとなる。特に、L2網6とL3網5の境界に設置された中継装置10では、L2網6から別のネットワークであるL3網5にパケットを転送する場合には、L3中継に関する受信側L3処理部323と送信側L3処理部326によりパケットは処理される。L2網6から同一のネットワークであるL2網6に折り返してパケットを転送する場合には、L2中継に関する受信側L2処理部322と送信側L2処理部325によりパケットは転送される。L3網5内でL3中継のみを実施する中継装置7、8では、受信側L3処理部323と送信側L3処理部326によりパケットは処理され、受信側L2処理部322と送信側L2処理部325によりパケットは転送されない。
中継装置7、8がルータである場合は、図3の構成から受信側L2/L3選択部321、受信側L2処理部322、送信側L2/L3選択部324、送信側L2処理部325は不要である。バッファ312から読み出されたパケットは受信側L3処理部323に転送され、中継処理部303から読み出されたパケットは送信側L3処理部326に転送される。
また、L2網6に設置された中継装置9がECNエコーACKパケットを受信した場合、ECNエコーACKパケットは、NIF301、受信側L2/L3選択部321、受信側L2処理部322、中継処理部303、送信側L2/L3選択部324、送信側L2処理部325、シェーパ部327を経由する。シェーパ部327では、ECNエコーACKパケットは、キュー制御部401、L2/L3選択部403、L2側ECN対象判定部404を経由し、ECNマーキング実行部346および差分チェックサム演算部347による処理を実行せずに、キュー402に渡されて、NIF301の送受信回路311に出力される。
ECNエコーACKパケットはコードビット240のACKが“1”であることから、いずれの場合においても、ECN対象判定部344、L2側ECN対象判定部404、およびL3側ECN対象判定部405において、ECN判定対象外となり、ECNマーキング、差分チェックサム演算、全体チェックサム演算は実行されない。したがって、中継装置300の処理負荷の低減を図ることができる。
<中継装置300の動作処理フロー>
つぎに、中継装置300の動作処理フローについて説明する。
まず、全体チェックサム演算部357は、L3ヘッダ203の書き換えを実行する(ステップS51)。具体的には、全体チェックサム演算部357は、L3ヘッダ203のチェックサムフィールド235の値HをH=0にする。また、TOSフィールド230の値をECNの輻輳マーキング済みを示す値に書き換える。
つぎに、全体チェックサム演算部357は、ステップS51による書き換え後のL3ヘッダ203について、2Byteごとの加算値Sを求める(ステップS52)。そして、全体チェックサム演算部357は、加算値Sの下位2Byteに対する繰り上がりの加算値S’を求める(ステップS53)。このあと、全体チェックサム演算部357は、加算値S’の1の補数C1を求める(ステップS54)。求めた補数C1が全体チェックサムであり、全体チェックサム演算部357は、C1をチェックサムフィールド235に書き込む(ステップS55)。これにより、全体チェックサム演算部357による処理を終了する。
ここで、全体チェックサムの演算例について説明する。演算対象となるL3ヘッダ203を例として以下の値とする。ここでは、TOS=0x01(ECNサポート)をTOS=0x03(ECNの輻輳検出済み)に書き換える際の全体チェックサムの計算例を示す。
0x45 0x01 0x00 0x28
0xFE 0x2D 0x40 0x00
0x14 0x06 0xE9 0xA0
0xFF 0xFF 0xFF 0xFF
0x7F 0x00 0x00 0x01
(1)1行目の「0x01」は、TOSフィールド230の値であり、TOSフィールド230の下位2ビットであるECNフィールド231の値が‘01’であることを示す。全体チェックサム演算の前に、ECNマーキングが実行されるため、ECNフィールド231の値が‘01’ECN実行済みを示す‘11’に書き換わり、1行目の「0x01」は、「0x03」に書き換わる。当該書き換え後のL3ヘッダ203は以下のようになる。
0x45 0x03 0x00 0x28
0xFE 0x2D 0x40 0x00
0x14 0x06 0xE9 0xA0
0xFF 0xFF 0xFF 0xFF
0x7F 0x00 0x00 0x01
(2)つぎに、全体チェックサム演算部357は、(1)TOSフィールド230の書き換え後のL3ヘッダ203について全体チェックサムを演算する。このとき、全体チェックサム演算部357は、TOSフィールド230の書き換え後のL3ヘッダ203において、チェックサムフィールド235の値Hである3行目の「0xE9 0xA0」をH=0にする。当該書き換え後のL3ヘッダ203は以下のようになる。
0x45 0x03 0x00 0x28
0xFE 0x2D 0x40 0x00
0x14 0x06 0x00 0x00
0xFF 0xFF 0xFF 0xFF
0x7F 0x00 0x00 0x01
(3)全体チェックサム演算部357は、(3)の書き換え後のL3ヘッダ203について、2Byte毎の加算値Sを求める。
S=0x4503+0x0028+0xFE2D+0x4000+0x1406
+0x0000+0xFFFF+0xFFFF+0x7F00+0x0001
=0x4165D
(4)つぎに、全体チェックサム演算部357は、(3)の加算値Sの下位2Byteに対する繰り上がりの加算値S´を演算する。
S’=0x165D+4=0x1661
(5)最後に、全体チェックサム演算部357は、加算値S’の1の補数を求めることで、L3ヘッダ203の書き換え後の全体チェックサムC1を演算する。
C1=0xFFFF−S’=0xE99E
全体チェックサム演算部357は、(5)で演算された全体チェックサムC1をチェックサムフィールド235に書き込んで、フレームFを出力する。
つぎに、差分チェックサム演算部347による差分チェックサム演算処理手順例を説明する。まず、差分チェックサム演算部347は、L3ヘッダ203のチェックサムフィールド235の値Hの1の補数H’を算出する(ステップS61)。
つぎに、差分チェックサム演算部347は、TOSフィールド230の書き換え前の値M0と書き換え後の値M1の2Byteごとの差分M1−M0と、ステップS61で求めた1の補数H’とを加算し、加算値H”を求める(ステップS62)。
そして、差分チェックサム演算部347は、ステップS62で求めた加算値H”の下位2Byteに対する繰り上がりの加算値H”’を求める(ステップS63)。このあと、差分チェックサム演算部347は、ステップS63で求めた加算値H”’の1の補数C2を求める(ステップS64)。求めた補数C2が差分チェックサムであり、差分チェックサム演算部347は、C2をチェックサムフィールド235に書き込む(ステップS65)。これにより、差分チェックサム演算部347による処理を終了する。
差分チェックサムの演算例について説明する。演算対象となるL3ヘッダ203を例として上述と同様、以下の値とする。ここでも、TOS=0x01(ECNサポート)をTOS=0x03(ECNの輻輳検出済み)に書き換える際の全体チェックサムの計算例を示す。
0x45 0x01 0x00 0x28
0xFE 0x2D 0x40 0x00
0x14 0x06 0xE9 0xA0
0xFF 0xFF 0xFF 0xFF
0x7F 0x00 0x00 0x01
(11)差分チェックサム演算部347は、まず、L3ヘッダ203のチェックサムフィールド235の値Hについて、1の補数H’を演算する。
H’=0xFFFF−H=0xFFFF−0xE9A0=0x165F
(12)つぎに、差分チェックサム演算部347は、(11)で求めた1の補数H’に、L3ヘッダ203の書き換え前のTOSフィールド230の値M0と書き換え後のTOSフィールド230の値M1との2Byte毎の差分(M1−M0)を加算して、加算値H”とする。
H”=H’+(M1−M0)=0x165F+(0x03−0x01)
=0x165F+0x0002=0x1661
(13)そして、差分チェックサム演算部347は、(12)で求めた加算値H”の下位2Byteに対する繰り上がりの加算値H”’を演算する。
H”’=0x1661+0x0000=0x1661
(14)最後に、差分チェックサム演算部347は、(13)で求めた加算値H”’の1の補数を求めることで、L3ヘッダ203の書き換え後の差分チェックサムC2を演算する。
C2=0xFFFF−H”’=0xFFFF−0x1661=0xE99E
全体チェックサム演算部357は、(14)で演算された差分チェックサムC2をチェックサムフィールド235に書き込んで、フレームFを出力する。
差分チェックサム演算は、全体チェックサム演算とは演算処理内容が異なるが、同一のチェックサムを求めることができる。
図5は、L3ヘッダエラーチェック部341がない場合の受信側L2処理部322または送信側L2処理部325による処理手順例を示すフローチャートである。図5では、ECN対象判定部344から差分チェックサム演算部347までの処理の流れについて説明する。
まず、ECN対象判定部344がフレームFを入力し(ステップS501)、受信フレームFがECN対象か否かを判定する(ステップS502)。ECN対象でない場合(ステップS502:No)、帯域監視部345が受信フレームFについて帯域監視処理を実行する(ステップS503)。この場合、確率違反判定は実行されない。そして、ステップS508に移行する。
一方、ECN対象である場合(ステップS502:Yes)、帯域監視部345が帯域監視処理を実行する(ステップS504)。この場合、帯域監視部345は、確率違反判定を実行する。そして、帯域監視部345は、確率違反と判定されたか否かを判定する(ステップS505)。確率違反と判定されなかった場合(ステップS505:No)、ステップS508に移行する。
一方、確率違反と判定された場合(ステップS505:Yes)、ECNマーキング実行部346がECNマーキングを実行し(ステップS506)、差分チェックサム演算部347が、差分チェックサムを演算する(ステップS507)。このあと、差分チェックサム演算部347は、更新されたフレームFを出力する(ステップS508)。受信側L2処理部322の場合は、中継処理部303に出力され、送信側L2処理部325の場合は、シェーパ部327に出力される。
なお、シェーパ部327のキュー制御部401、L2側ECN対象判定部404またはL3側ECN対象判定部405、ECNマーキング実行部346、および差分チェックサム演算部347も、図5と同様な処理を実行する。この場合、ステップS503〜S505は、キュー制御部401が実行する。また、ステップS508では、キュー制御部401が、更新されたフレームFをキュー402に出力する。
図6は、L3ヘッダエラーチェック部341がある場合の受信側L2処理部322または送信側L2処理部325による処理手順例を示すフローチャートである。まず、L3ヘッダエラーチェック部341は、フレームFを入力し(ステップS601)、L3ヘッダエラーチェックを実行する(ステップS602)。受信フレームFにL3ヘッダエラーがある場合(ステップS603:Yes)、L3ヘッダエラーチェック部341は、当該受信フレームFを廃棄して(ステップS604)、処理を終了する。
一方、受信フレームFにL3ヘッダエラーがない場合(ステップS603:No)、FDB342判定が実行される(ステップS605)。そして、L2フロー検索部343が、フレームFが所属するフローを検索し(ステップS606)、フレーム処理を実行して(ステップS607)、処理を終了する。フレーム処理(ステップS607)とは、図5に示した一連の処理である。
なお、ステップS604では、フレームFを廃棄したが、フレームFを廃棄せずに透過させて、ステップS605以降の処理を実行することとしてもよい。このように、エラーフレームを透過させることで、FDB342学習などのレイヤ2の通信制御を維持することができる。また、このようなフレームFが外部に出力されても、L3情報の統計や解析を集約的におこなう中継ポイントにおいて、情報を漏れなく収集することが可能となる。また、中継装置300にフレームFを廃棄させるモードとフレームFを透過させるモードとを用意しておき、ユーザによりいずれか一方のモードに選択的に設定可能としてもよい。
このように、本実施例によれば、レイヤ3で規定された輻輳通知をレイヤ2で適用することができるため、L2網6で輻輳が発生した場合も輻輳通知をおこなうことができる。また、差分チェックサムにより、L3ヘッダ203にエラーが含まれている場合でも、エラーを保存することができる。したがって、L3ヘッダ203にエラーがある場合であっても、誤訂正せずに、フレームFを中継することができる。また、差分チェックサム演算をおこなうため、全体チェックサム演算に比べ、演算負荷の軽減を図ることができる。さらに、輻輳通知に先立って、L2中継時にL3エラーチェックを実行して、エラーがあるフレームFを廃棄することにより、エラーフレームの誤訂正を未然に抑制することもできる。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。たとえば、中継装置300のL2中継で、図2のL3ヘッダ203のECNフィールド231に限らず、L3ヘッダ203の他のフィールドの値を更新し、更新前と更新後のフィールドの値を用いて特徴値を演算し、演算結果を、フレームに追加してもよい。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、中継装置自身あるいは外部にある不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
1 ネットワーク
300 中継装置
301 NIF
302 PPU
303 中継処理部
321 受信側L2/L3選択部
322 受信側L2処理部
323 受信側L3処理部
324 送信側L2/L3選択部
325 送信側L2処理部
326 送信側L3処理部
327 シェーパ部
341 L3ヘッダエラーチェック部
344 ECN対象判定部
345帯域監視部
346 ECNマーキング実行部
347 差分チェックサム演算部
357 全体チェックサム演算部
403 L2/L3選択部
404 L2側ECN対象判定部
405 L3側ECN対象判定部

Claims (11)

  1. ネットワークに接続される複数のポートと、
    レイヤ2のヘッダと、レイヤ3のヘッダ及びデータ部を含むレイヤ2のデータ部と、を有するフレームを、前記ネットワークを介して中継するレイヤ2処理部と、
    出力部と、を有し、
    前記レイヤ2処理部は、
    前記レイヤ3のヘッダの複数のフィールドのうち特定のフィールドの値を更新するとともに、前記複数のフィールドのうち所定のフィールドに格納されている前記レイヤ3のヘッダに関する第1の特徴値と、前記特定のフィールドの更新前後の値とを用いて、前記レイヤ3のヘッダに関する第2の特徴値を演算して、前記所定のフィールドの値を前記第1の特徴値から前記第2の特徴値に更新するレイヤ2更新部と、
    前記レイヤ3のヘッダ内のエラーを検出する検出部と、を有し、
    前記出力部は、
    前記検出部による前記エラーの検出結果にかかわらず、前記レイヤ2更新部によって更新された更新後のフレームを、前記複数のポートのうち前記フレームの出力先として指定されたポートから前記ネットワークに出力することを特徴とする中継装置。
  2. レイヤ3に従った経路選択処理を行うレイヤ3処理部と、
    前記フレームに格納されている宛先MACアドレスに基づいて、前記レイヤ2処理部または前記レイヤ3処理部のいずれか一方の処理部を選択して、選択した前記いずれか一方の処理部に前記フレームを出力する選択部と、
    を有することを特徴とする請求項1に記載の中継装置。
  3. 前記レイヤ3処理部は、前記レイヤ3のヘッダの複数のフィールドのうち特定のフィールドの値を更新するとともに、当該更新による更新後の前記レイヤ3のヘッダのうち、前記第1の特徴値が格納されている前記所定のフィールドを除いた他のフィールド群の値を用いて、前記レイヤ3のヘッダに関する第3の特徴値を演算して、前記所定のフィールドの値を前記第1の特徴値から前記第3の特徴値に更新するレイヤ3更新部を有することを特徴とする請求項2に記載の中継装置。
  4. 前記レイヤ2更新部は、輻輳が検出された場合に、前記特定のフィールドであるECNフィールドの値を、輻輳検出済みを示す値に更新することを特徴とする請求項1に記載の中継装置。
  5. 前記レイヤ2処理部は、前記フレームがECN非対応であるか否かを判定する判定部を有し、前記フレームがECN非対応である場合、前記レイヤ2更新部による更新を実行せずに、前記出力部から前記フレームを出力することを特徴とする請求項1に記載の中継装置。
  6. 前記検出部は、前記エラーが検出された場合、前記フレームを廃棄することを特徴とする請求項1に記載の中継装置。
  7. 前記検出部は、前記エラーが検出された場合、前記フレームの廃棄または前記更新後のフレームの中継を選択的に設定可能であり、
    前記出力部は、前記検出部により前記更新後のフレームの中継が設定されている場合、前記検出部による前記エラーの検出結果にかかわらず、前記レイヤ2更新部によって更新された更新後のフレームを、前記複数のポートのうち前記フレームの出力先として指定されたポートから前記ネットワークに出力することを特徴とする請求項1に記載の中継装置。
  8. レイヤ2のヘッダと、レイヤ3のヘッダ及びデータ部を含むレイヤ2のデータ部と、を有するフレームがECN対象か否かを判定する第1の判定部と、
    前記第1の判定部によってECN対象と判定されたフレームについて輻輳が検出された場合、前記フレームにより輻輳通知をおこなうか否かを判定する第2の判定部と、
    前記第2の判定部によって輻輳通知をおこなうと判定された場合、前記フレームのECNフィールドの値を、輻輳検出済みを示す値に更新するECNマーキング実行部と、
    前記第2の判定部によって輻輳通知をおこなうと判定された場合、前記フレームの所定のフィールドに格納されている前記レイヤ3のヘッダに関する第1の特徴値と、前記ECNマーキング実行部による前記ECNフィールドの更新前後の値とを用いて、前記レイヤ3のヘッダに関する第2の特徴値を演算して、前記所定のフィールドの値を前記第1の特徴値から前記第2の特徴値に更新する差分チェックサム演算部と、
    前記レイヤ3のヘッダ内のエラーを検出する検出部と、
    複数のポートを有し、前記複数のポートのいずれかのポートから前記フレームを受信するとともに、前記検出部による前記エラーの検出結果にかかわらず、前記ECNマーキング実行部および前記差分チェックサム演算部により更新された更新後のフレームを、前記複数のポートのうち前記更新後のフレームの出力先として指定されたポートから送信する送受信部と、
    を有することを特徴とする中継装置。
  9. 前記第2の判定部を含み、前記第1の判定部によって判定された判定結果に応じて前記フレームを帯域監視する帯域監視部を有し、
    前記帯域監視部は、前記第1の判定部によってECN対象と判定されたフレームについて輻輳を検出した場合、前記第2の判定部により、前記フレームにより輻輳通知をおこなうか否かを判定することを特徴とする請求項8に記載の中継装置。
  10. 前記送受信部から受信された前記フレームについてレイヤ2に関する処理を実行するレイヤ2処理部と、
    前記レイヤ2処理部により処理された前記フレームを格納するキューと、
    前記第2の判定部を含み、前記キューを制御するキュー制御部と、を有し、
    前記第1の判定部は、前記キューに格納された前記フレームがECN対象か否かを判定し、
    前記キュー制御部は、前記第1の判定部によってECN対象と判定されたフレームについて輻輳を検出した場合、前記第2の判定部により、前記フレームにより輻輳通知をおこなうか否かを判定することを特徴とする請求項8に記載の中継装置。
  11. ネットワークに接続される複数のポートと、レイヤ2のヘッダと、レイヤ3のヘッダ及びデータ部を含むレイヤ2のデータ部と、を有するフレームを、前記ネットワークを介して中継するレイヤ2処理部と、出力部と、を有する中継装置の中継方法であって、
    前記レイヤ2処理部は、
    前記レイヤ3のヘッダの複数のフィールドのうち特定のフィールドの値を更新するとともに、前記複数のフィールドのうち所定のフィールドに格納されている前記レイヤ3のヘッダに関する第1の特徴値と、前記特定のフィールドの更新前後の値とを用いて、前記レイヤ3のヘッダに関する第2の特徴値を演算して、前記所定のフィールドの値を前記第1の特徴値から前記第2の特徴値に更新し、
    前記レイヤ3のヘッダ内のエラーを検出し、
    前記出力部は、
    前記エラーの検出結果にかかわらず、前記特定のフィールドの値および前記所定のフィールドが更新されたフレームを、前記複数のポートのうち前記更新後のフレームの出力先として指定されたポートから前記ネットワークに出力することを特徴とする中継方法。
JP2013236718A 2013-11-15 2013-11-15 中継装置および中継方法 Active JP5887324B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013236718A JP5887324B2 (ja) 2013-11-15 2013-11-15 中継装置および中継方法
US14/535,782 US9667548B2 (en) 2013-11-15 2014-11-07 Relay apparatus and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013236718A JP5887324B2 (ja) 2013-11-15 2013-11-15 中継装置および中継方法

Publications (3)

Publication Number Publication Date
JP2015097316A JP2015097316A (ja) 2015-05-21
JP2015097316A5 JP2015097316A5 (ja) 2015-10-29
JP5887324B2 true JP5887324B2 (ja) 2016-03-16

Family

ID=53173201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013236718A Active JP5887324B2 (ja) 2013-11-15 2013-11-15 中継装置および中継方法

Country Status (2)

Country Link
US (1) US9667548B2 (ja)
JP (1) JP5887324B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10644976B2 (en) * 2015-05-18 2020-05-05 Denso Corporation Relay apparatus
EP3499820B1 (en) * 2016-09-20 2020-07-29 Huawei Technologies Co., Ltd. Congestion control method, apparatus, and system
CN109714267B (zh) * 2018-12-26 2021-01-29 清华大学 管理反向队列的传输控制方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046625B1 (en) * 1998-09-30 2006-05-16 Stmicroelectronics, Inc. Method and system for routing network-based data using frame address notification
JP2003209573A (ja) * 2002-01-10 2003-07-25 Fujitsu Ltd 通信装置及び中継装置
US20080250496A1 (en) 2003-10-07 2008-10-09 Daisuke Namihira Frame Relay Device
JP2005123985A (ja) * 2003-10-17 2005-05-12 Sanyo Electric Co Ltd 通信装置及び通信方法
JP2006217288A (ja) * 2005-02-03 2006-08-17 Fujitsu Ltd データ保護方法及び,この方法を用いる中継装置
US8311059B2 (en) * 2005-09-07 2012-11-13 Emulex Design & Manufacturing Corporation Receive coalescing and automatic acknowledge in network interface controller
US20070058532A1 (en) * 2005-09-15 2007-03-15 Manoj Wadekar System and method for managing network congestion
JP2009071360A (ja) * 2007-09-10 2009-04-02 Ricoh Co Ltd 通信装置および通信方法
JP5283496B2 (ja) * 2008-12-22 2013-09-04 三菱電機株式会社 Lan中継装置
JP5405870B2 (ja) 2009-03-26 2014-02-05 京セラ株式会社 通信機器
US20100246400A1 (en) 2009-03-26 2010-09-30 Kyocera Corporation Communication device and method
US20100309908A1 (en) * 2009-06-08 2010-12-09 Hewlett-Packard Development Company, L.P. Method and system for communicating with a network device
JP5353494B2 (ja) * 2009-07-03 2013-11-27 富士通株式会社 通信装置、および通信方法
US8929218B2 (en) * 2010-09-10 2015-01-06 Brocade Communication Systems, Inc. Congestion notification across multiple layer-2 domains
JP5710418B2 (ja) * 2011-08-08 2015-04-30 アラクサラネットワークス株式会社 パケット中継装置、及び方法

Also Published As

Publication number Publication date
US9667548B2 (en) 2017-05-30
JP2015097316A (ja) 2015-05-21
US20150138978A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
US10075338B2 (en) Relay control unit, relay control system, relay control method, and relay control program
US9590923B2 (en) Reliable link layer for control links between network controllers and switches
CN111654447B (zh) 一种报文传输的方法及装置
JP6015509B2 (ja) パケット解析プログラム、パケット解析方法、パケット解析装置、およびパケット解析システム
US7706277B2 (en) Selective flow control
US9450867B2 (en) Apparatus and method for controlling transmission between relay devices
JP5942706B2 (ja) 監視装置,監視プログラム,監視方法
US10212095B2 (en) Maximum transmission unit installation for switches in a software-defined network
US9602418B2 (en) Apparatus and method for selecting a flow to be changed upon congestion occurrence
JP5867188B2 (ja) 情報処理装置、輻輳制御方法および輻輳制御プログラム
US20140016461A1 (en) Packet relay device and method
JP5673841B2 (ja) データ通信装置,データ送信方法及び計算機システム
JP5534481B2 (ja) 通信品質監視システム、通信品質監視方法、及び記憶媒体
US10326681B2 (en) System and method to analyze route information in a network
WO2021083341A1 (zh) 一种报文处理的方法、网络节点和系统
JP5887324B2 (ja) 中継装置および中継方法
US10153981B2 (en) Determining a maximal size of packets
CN111026324A (zh) 转发表项的更新方法及装置
US20170064489A1 (en) Network system, method for determining communication quality, and analysis apparatus
US20150261599A1 (en) Data communication device, data communication system and data communication method
JP2008118281A (ja) 通信装置
US20180063296A1 (en) Data-division control method, communication system, and communication apparatus
JP2006303703A (ja) ネットワーク中継装置
RU2715016C1 (ru) Передающее устройство, способ, программа и носитель записи
US11962517B2 (en) Communications method, apparatus, and system for recovering lost packets

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150908

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160125

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: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160215

R150 Certificate of patent or registration of utility model

Ref document number: 5887324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250