JP2017028521A - フレーム処理装置及びフレーム処理方法 - Google Patents

フレーム処理装置及びフレーム処理方法 Download PDF

Info

Publication number
JP2017028521A
JP2017028521A JP2015145736A JP2015145736A JP2017028521A JP 2017028521 A JP2017028521 A JP 2017028521A JP 2015145736 A JP2015145736 A JP 2015145736A JP 2015145736 A JP2015145736 A JP 2015145736A JP 2017028521 A JP2017028521 A JP 2017028521A
Authority
JP
Japan
Prior art keywords
frame
learned
unlearned
output
input
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.)
Granted
Application number
JP2015145736A
Other languages
English (en)
Other versions
JP6493059B2 (ja
Inventor
勝也 木下
Katsuya Kinoshita
勝也 木下
野口 勉
Tsutomu Noguchi
勉 野口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015145736A priority Critical patent/JP6493059B2/ja
Priority to US15/198,002 priority patent/US10057169B2/en
Publication of JP2017028521A publication Critical patent/JP2017028521A/ja
Application granted granted Critical
Publication of JP6493059B2 publication Critical patent/JP6493059B2/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
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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
    • H04L45/745Address table lookup; Address filtering
    • 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
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • 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/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/624Altering the ordering of packets in an individual queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers

Landscapes

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

Abstract

【課題】フレームの入力と出力とでの順序逆転の発生を抑制する。【解決手段】ユニキャスト転送処理部14は、宛先アドレスと出力ポートとの対応付けを記憶するテーブルに宛先アドレスが登録されていると判定された学習済フレームと、宛先アドレスが登録されていないと判定された未学習フレームと、未学習フレームがコピーされたコピーフレームを格納するバッファ13から格納順にフレームを読み出し、所定の出力ポートに転送するフレーム転送部144と、フレームが未学習フレームのとき、学習済フレームのネットワークへの出力履歴として学習済フレームの宛先アドレスに関する情報を記憶する学習済フレーム通過情報15に未学習フレームの宛先アドレスと合致する情報が含まれている場合は、フレーム転送部による転送前に未学習フレームを廃棄する廃棄判定部143を備える。【選択図】図12

Description

本発明は、フレーム処理装置及びフレーム処理方法に関する。
イーサネット(登録商標)では、各装置はMAC(Media Access Control)アドレスによって識別される。MACアドレスは、各装置に唯一のアドレスである。イーサネットにおいて、レイヤ2の転送処理を行うフレーム処理装置は、フレームに含まれるMACアドレスに基づいて、フレームの転送処理を行う。イーサネットにおいて、レイヤ2の転送処理を行うフレーム処理装置には、例えば、レイヤ2スイッチがある。
レイヤ2スイッチは、フレームを受信すると、該フレームの送信元MACアドレスと該フレームの受信ポートとを対応付けて、アドレスを学習する。学習されたMACアドレスは、学習された際の受信ポートと対応付けられて、MACアドレステーブルに登録される。フレームを転送する場合には、レイヤ2スイッチは、フレームの宛先MACアドレスでMACアドレステーブルを検索し、宛先MACアドレスの登録があれば、MACアドレステーブルで対応付けられているポートから、該フレームを出力する。
以降、宛先MACアドレスが学習済みである、すなわち、宛先MACアドレスがMACアドレステーブルに登録されているフレームを、学習済フレームと称する。また、宛先MACアドレスが未学習である、すなわち、宛先MACアドレスがMACアドレスに登録されていないフレームを、未学習フレームと称する。
イーサネットのフレーム転送処理において、未学習フレームは、フラッディング処理される。フラッディング処理は、フレームをコピーして、受信ポート以外の全てのポートから出力する処理である。未学習フレームは、出力ポートが判明していないので、受信ポート以外の全てのポートから出力されることによって、宛先MACアドレスの装置に該フレームが届くようになっている。
一方、学習済フレームは、出力ポートが判明しているので、フレームはコピーされず、出力ポートから出力される。
図1は、レイヤ2スイッチのフレーム転送処理の一例を示す図である。レイヤ2スイッチP1は、学習判定部P11、フレームコピー処理部P12、バッファP13、ユニキャスト転送処理部P14、MACアドレステーブルP51を備える。
学習判定部P11は、フレームが入力されると、該フレームの宛先MACアドレスでMACアドレステーブルP51を検索し、該フレームが学習済フレームであるか未学習フレームであるかを判定する。入力フレームが学習済フレームである場合には、学習判定部P11は、バッファP13に入力フレームを出力する。入力フレームが未学習フレームである場合には、学習判定部P11は、フレームコピー処理部P12に入力フレームを出力する。
フレームコピー処理部P12は、学習判定部P11からフレームが入力されると、ポートの数分の該フレームのコピーフレームを生成し、コピーフレームをバッファP13に出力する。なお、フレームコピー処理部P12によってバッファP13に出力されるフレームにはオリジナルフレームも含まれるが、便宜上、一括してコピーフレームと称する。
バッファP13は、FIFO(First In First Out)キューである。ユニキャスト転送処理部P14は、バッファP13からフレームを読み出し、該フレームの出力ポートにフレームを出力する。
特開平11−122303号公報 特開2006−279820号公報
しかしながら、従来のフレーム転送処理では、未学習フレームに対して学習が行われた場合には、フレームの入力と出力とで順序逆転が発生する、という問題がある。この順序逆転の問題は、先に転送された未学習フレームが、学習済フレームにより追い越された形になって現われるが、フレームの転送速度の高速化に伴い、その発生頻度が増加する。上記が発生するのは、具体的には、未学習フレームが入力されている状態で学習が行われた場合である。つまり、未学習フレームのMACアドレスが、学習によってMACアドレステーブルに登録されるため、同じMACアドレスを有しているフレームであるにも関わらず、登録前までは未学習フレームとして処理され、登録後は学習フレームとして処理されるようになる。このため、上記のようなフレームの順序逆転が発生する。
図2は、入力と出力とでフレームの順序逆転が発生する場合の一例を示す図である。図2では、入力順番が1〜4番のフレームが示されている。これらのフレームは、同一宛先MACアドレス及び送信元MACアドレスを有する、同一フローのフレームであるとする。
入力順番が1番と2番のフレームがレイヤ2スイッチに入力される際には、宛先MACアドレスは未学習であり、入力順番が3番のフレームの入力時に、宛先MACアドレスが学習されたとする。すなわち、入力順番が1番と2番のフレームは未学習フレームである。入力順番が3番以降のフレームは学習済フレームである。未学習フレームから学習済フレームへと変わる境界を、MAC学習の境界面と称する。
入力順番が1番と2番のフレームは、未学習フレームのため、フレームコピー処理部P12に出力される。フレームコピー処理部P12は、入力順番が1番と2番のフレームをポートの数に応じてコピーし、バッファに出力する。図1では、未学習フレームがフラッディングによって出力されるポートは、ポート#1〜4であるとする。フレームコピー処理部P12は、入力順番が1番と2番のフレームについて、コピーを3つずつ生成し、オリジナルのフレームとコピーフレームを含む計4つずつのフレームをバッファP13に出力する。
入力順番が3番と4番のフレームは、学習済みフレームであるため、フレームコピー処理部P12を経由せずに、バッファP13に出力される。フレームの入力間隔が短い場合には、入力順番が1番と2番の未学習フレームのコピーフレームの生成処理を、入力順番が3番と4番の学習済フレームの転送処理が追い越してしまい、入力順番が3番以降の学習済フレームが先にバッファP13に格納される事象が発生する可能性がある。
図3は、図2におけるフレームの入力及び出力の順序の一例を示す図である。入力順番が1番及び2番のフレームは、未学習フレームのため、コピーが生成され、ポート#1〜4を出力ポートとする4つの未学習フレームとなる。
図3に示される例では、入力順番が1番の未学習フレームのコピーがすべてバッファP13に格納される前に、入力順番が3番と4番の学習済フレームがバッファP13に格納される。そのため、図3では、ポート#3を出力ポートとするフレームの出力順が、入力順番が3番のフレーム、1番のフレーム、4番のフレーム、2番のフレームとなっており、ポート#3から出力されるフレームの入力と出力との順序が異なっている。
図4は、フレームの転送速度が低速の場合のフレームの入力及び出力の順序の一例を示す図である。図4では、図2の入力順番が1〜4番のフレームについて示されている。
フレームの転送速度が低速であることは、フレームの入力間隔が長いことを示す。フレームの転送速度が低速の場合には、フレーム入力間隔が長いため、次のフレームが入力されるまでの間に、1つの未学習フレームのフラッディング処理を完了することができる。そのため、図4に示される例では、入力順番が3番のフレームが入力されるまでの間に、入力順番が2番の未学習フレームのフラッディング処理が完了する。入力順番が2番の未学習フレームのコピーフレームがすべてバッファP13に格納された後に、入力順番が3番のフレームが入力されるため、入力と出力とでフレームの順序逆転が発生していない。
したがって、フレームの転送速度が低速の場合には、MAC学習の境界面付近で、フレームの入力順と出力順との逆転が発生する可能性は低い。
図5は、出力ポートの数が少ない場合のフレームの入力及び出力の順序の一例を示す図である。図5では、図2の入力順番が1〜4番のフレームについて示されている。
出力ポートの数が少ない場合には、フラッディング処理においてフレームをコピーする数が少ないことが示される。したがって、出力ポートの数が少ない場合には、フラッディング処理にかかる時間が短くなるため、次のフレームが入力されるまでの間に、1つの未学習フレームのフラッディング処理を完了することができる。そのため、図5に示される例では、入力順番が3番のフレームが入力されるまでに、入力順番が2番の未学習フレームのフラッディング処理が完了する。入力順番が2番の未学習フレームのコピーフレームがすべてバッファP13に格納された後に、入力順番が3番のフレームが入力されるため、入力と出力とでフレームの順序逆転が発生していない。
したがって、出力ポート数が少ない場合には、MAC学習の境界面付近で、フレームの入力順と出力順との逆転が発生する可能性は低い。
例えば、レイヤ2より上位レイヤのプロトコルであるIP(Internet Protocol)では
、パケットの順序を修正する機能が備えられている。しかしながら、レイヤが上位になるほどソフトウェアによる処理になるため、処理に時間がかかるようになる。今後、ネットワークのデータ量が増えるとともに転送速度の向上が見込まれるため、上位レイヤでの対応では転送速度に追いつかなくなる可能性が高い。したがって、データ量の増大やフレーム転送の高速化に対応するためには、レイヤ2のレベルで、フレームの入力と出力とで順序逆転が発生しないように処理が行われることが望ましい。
しかしながら、フレーム転送速度が向上したり、データ量の増大に伴いレイヤ2スイッチのポート数が増えたりすると、フレームの入力と出力とで順序逆転が発生する可能性が高くなる。
本発明の一態様は、フレームの入力と出力とでの順序逆転の発生を抑制可能なフレーム処理装置及びフレーム処理方法を提供することを目的とする。
本発明の態様の一つは、宛先アドレスを有するフレームが出力される複数の出力ポートと、バッファと、転送部と、記憶部と、制御部とを備えるパケット処理装置である。バッファは、宛先アドレスと出力ポートとの対応付けを記憶するテーブルに宛先アドレスが登録されていると判定された学習済フレームと、テーブルに宛先アドレスが登録されていないと判定された未学習フレームと、未学習フレームがコピーされたコピーフレームと、を格納する。転送部は、バッファから格納順にフレームを読み出し、所定の出力ポートに転送する。記憶部は、学習済フレームのネットワークへの出力履歴として、学習済フレームの宛先アドレスに関する情報を記憶する。制御部は、フレームが未学習フレームのとき、出力履歴に、未学習フレームの宛先アドレスと合致する情報が含まれている場合には、転送部による転送前に、該未学習フレームを廃棄する。
開示のパケット処理装置及びパケット処理方法によれば、フレームの入力と出力とでの順序逆転の発生を抑制することができる。
レイヤ2スイッチのフレーム転送処理の一例を示す図である。 入力と出力とでフレームの順序逆転が発生する場合の一例を示す図である。 図2におけるフレームの入力及び出力の順序の一例を示す図である。 フレームの転送速度が低速の場合のフレームの入力及び出力の順序の一例を示す図である。 出力ポートの数が少ない場合のフレームの入力及び出力の順序の一例を示す図である。 比較例におけるフレームの入力及び出力の順序の一例を示す図である。 第1実施形態に係るレイヤ2スイッチのフレーム転送処理の一例を示す図である。 第1実施形態におけるフレームの入力及び出力の順序の一例を示す図である。 フレーム処理装置の構成の一例を示す図である。 IFカードのハードウェア構成の一例を示す図である。 IFカードの機能構成の一例を示す図である。 ユニキャスト転送処理部の構成の一例を示す図である。 フレーム情報管理部による学習済フレーム通過情報の管理処理の一例を示す図である。 フレーム情報管理部の学習済フレームの入力時の処理のフローチャートの一例である。 フレーム情報管理部の学習済フレーム通過情報の管理処理のフローチャートの一例である。 廃棄判定部の未学習フレームの入力時の処理のフローチャートの一例である。
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<比較例>
図6は、比較例におけるフレームの入力及び出力の順序の一例を示す図である。図6では、図2の入力順番が1〜4番のフレームについて示されている。MAC学習の境界面は、入力順番が2番のフレームと3番のフレームとの間である。
比較例では、フレームの入力と出力の順序を変えないために、レイヤ2スイッチは、未学習フレームのフラッディング処理が完了するまで、次に入力された学習済フレームの転送を遅延させる。すなわち、入力順番が1番と2番の未学習フレームとコピーフレームとのすべてが出力されるまで、入力順番が3番以降のフレームの出力が待機させられる。
図6の場合には、フレームの入力と出力とで順序逆転は発生しないが、入力順番が3番以降のフレームに遅延が発生し、フレームの転送速度に影響が及ぼされる。また、遅延は、フレームのコピーの数が多くなるほど、すなわち、出力ポート数が多くなるほど長くなり、学習済フレームを待機させるためのメモリのサイズも大きくなる。
また、図6に示される例では、入力順番が3番のフレームが入力された時点で宛先MACアドレスが学習されているにもかかわらず、他の出力ポートに不要なフレームを転送してしまうことになる。図6に示される例の場合には、入力順番が1番でポート#4に出力されるフレーム、入力順番が2番でポート#1、2、4に出力されるフレームが転送不要なフレームである。
転送不要な出力ポートにフレームを転送することによって、該出力ポートの帯域を無駄に消費してしまうことになり、結果として、ネットワーク全体の帯域が劣化してしまうことになる。
<第1実施形態>
図7は、第1実施形態に係るレイヤ2スイッチのフレーム転送処理の一例を示す図である。第1実施形態に係るレイヤ2スイッチは、学習判定部11、フレームコピー処理部12、バッファ13、ユニキャスト転送処理部14に加え、学習済フレーム通過情報15を備える。学習済フレーム通過情報15は、ユニキャスト転送処理部14を通過した学習済フレームの宛先MACアドレスを、学習済フレームのネットワークへの出力処理の履歴として、保持する。
第1実施形態では、ユニキャスト転送処理部14は、未学習フレーム又は該未学習フレームのコピーフレームが入力されると、学習済フレーム通過情報15を該入力フレームの宛先MACアドレスで検索する。学習済フレーム通過情報15に該入力フレームの宛先MACアドレスがない場合には、該入力フレームの宛先MACアドレスはまだ学習されていないことが示される。ユニキャスト転送処理部14は、学習済フレーム通過情報15に未学習フレーム又は該未学習フレームのコピーフレームの宛先MACアドレスがない場合には、該未学習フレーム又は該コピーフレームを通常通りに転送する。
未学習フレーム又は該未学習フレームのコピーフレームの宛先MACアドレスが学習済フレーム通過情報15に含まれている場合には、同じ宛先MACアドレスの学習済フレームがユニキャスト転送処理部14をすでに通過していることが示される。すなわち、入力と出力とでフレームの順序逆転が発生していることが示される。そのため、ユニキャスト転送処理部14は、未学習フレーム又は該未学習フレームのコピーフレームの宛先MACアドレスが学習済フレーム通過情報15に含まれている場合には、該未学習フレーム又は該コピーフレームを廃棄する。
図8は、第1実施形態におけるフレームの入力及び出力の順序の一例を示す図である。図8に示される例では、入力順番が1〜4のフレームは同じ宛先MACアドレスを有するものとする。また、入力順番が1〜4番のフレームのうち、MAC学習の境界面は、入力順番が2番目のフレームと3番目のフレームとの間であるとする。また、出力ポートは、出力ポート#1〜#4の4つであるとする。
未学習フレームである入力順番が1番のフレームは、コピーされ、最終的にポート1〜4のそれぞれを宛先とする4つのフレームになる。以降、フレームコピー処理部12から出力される未学習フレーム及び該未学習フレームのコピーフレームを区別することなく、総じて、未学習フレーム、と称する。図8に示される例では、入力順番が1番の未学習フレームすべてがバッファ13に格納される前に、入力順番が3番と4番の学習済フレームが該未学習フレームの一部を追い越し、バッファ13に格納される。
そのため、入力順番が1番で宛先ポートがポート2であるフレームの次に、入力順番が3番で宛先ポートがポート3である学習済フレームが出力される。入力順番が3番の学習済フレームの通過時に、ユニキャスト転送処理部14は、該フレームの宛先MACアドレスを学習済フレーム通過情報15に記録する。
入力順番が1番で宛先ポートがポート#3である未学習フレームは、入力順番が3番の学習済フレームの次にユニキャスト転送処理部14に入力される。入力順番が1番で宛先ポートがポート#3である未学習フレームの宛先MACアドレスは、学習済フレーム通過情報15にすでに登録されている。そのため、入力順番が1番で宛先ポートがポート#3である未学習フレームは、ユニキャスト転送処理部14によって廃棄される。以降、同様にして、入力順番が1番で宛先ポートがポート#4の未学習フレーム、入力順番が2番の全ての未学習フレームは、未学習フレームで学習済フレーム通過情報15に宛先MACアドレスが登録されているので、ユニキャスト転送処理部14によって廃棄される。
したがって、図8に示される例では、宛先MACアドレスへの出力ポートであるポート3から出力されるフレームは、入力順番が3番と4番のフレームであって、入力と出力とでフレームの順序の逆転は発生していない。また、入力順番が3番と4番のフレームは、遅延を与えられていないため、高速に転送される。
なお、図8に示される例では、宛先の装置に、入力順番が1番と2番とのフレームは届かず、パケット損失として扱われることとなる。ただし、損失されたフレームは、誤り符号訂正や、再送等によって、宛先の装置において補てんされる。
<装置構成>
図9は、フレーム処理装置100の構成の一例を示す図である。フレーム処理装置100は、例えば、レイヤ2スイッチ、レイヤ3スイッチ等の装置である。ただし、これに限られず、フレーム処理装置100は、レイヤ2スイッチ、レイヤ3スイッチ等に含まれるインタフェースカードであってもよい。第1実施形態では、フレーム処理装置100は、シャーシ型のレイヤ2スイッチであるとして説明する。フレーム処理装置100は、複数のIFカード1と、各IFカード1間でパケットを中継するSWカード2と、パケット処理装置100の各カードの制御を行う制御カード3とを含む。フレームコピー処理部12、バッファ13、ユニキャスト転送処理部14は、IFカード1に備えられる機能である。
図10は、IFカード1のハードウェア構成の一例を示す図である。IFカード1は、PHY/MAC(PHYsical layer/MAC layer)回路101、メモリ102、フレーム処理部103、複数のポート105、CAM(Content Addressable Memory)106を備える。複数のポート105は、PHY/MAC回路101に接続されている。PHY/MAC回路101と、メモリ102と、フレーム処理部103と、CAM 106とは、バス107によって接続されている。
PHY/MAC回路101は、各ポート105から入力される受信フレームの物理レイ
ヤの終端処理とMACレイヤの終端処理とを行う。メモリ102は、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等の揮発性の
メモリと、PROM(Programmable Read Only Memory)等の不揮発性のメモリと、が含ま
れる。メモリ102には、各種プログラムやデータが記憶されている。
フレーム処理部103は、例えば、NPU(Network Processing Unit)等の通信に係
るデータの処理を行うプロセッサ、又は、FPGA(Field-Programmable Gate Array)
等の回路である。フレーム処理部103は、PHY/MAC回路101によって符号化されたフレーム、SWカード2から転送されてきたフレームを処理する。
CAM 106は、学習済フレーム通過情報15を保持するメモリとして用いられる。なお、メモリ102、及び、CAM 106は、1枚のIFカード1に内蔵されていることに限定されず、IFカード1に外付けされているものを、フレーム処理部103が用いてもよい。
IFカード1に含まれる、PHY/MAC回路101、メモリ102、フレーム処理部103、CAM 106のそれぞれは、個別のデバイスまたはチップであってもよい。また、IFカード1は、これら回路及びデバイスを有する1つ又は複数のLSI(Large Scale Integration)であってもよい。
また、IFカード1のハードウェア構成は、図10に示されるものに限られず、適宜、追加、削除、置換が行われてもよい。なお、第1実施形態では、シャーシ型のレイヤ2スイッチを想定して説明がなされるが、ピザボックス型のレイヤ2スイッチであってもよい。
図11は、IFカード1の機能構成の一例を示す図である。IFカード1は、入力側IFカード1Aと、出力側IFカード1Bとに分かれる。入力側IFカード1Aと出力側IFカード1Bとは、機能構成における区別であって、両者が物理的に同一のIFカード1であってもよいし、物理的に異なるIFカード1であってもよい。
入力側IFカード1Aは、ネットワークからフレームを受信するポートを有するIFカードである。出力側IFカード1Bは、ネットワークにフレームを出力するポートを有するIFカードである。
入力側IFカード1Aは、MACアドレステーブル16と出力ポート判定部17とを備える。MACアドレステーブル16は、MACアドレスと、該MACアドレスを保持する装置が接続されているポートとの対応付けを保持するテーブルである。MACアドレステーブル16は、メモリ102内に保持される。MACアドレステーブル16は、「テーブル」の一例である。
出力ポート判定部17は、入力フレームの出力ポートを判定する。出力ポート判定部17は、宛先MACアドレスでMACアドレステーブル16を検索する。入力フレームの宛先MACアドレスがMACアドレステーブル16に登録されている場合には、出力ポート判定部17は、MACアドレステーブル16において宛先MACアドレスに対応付けられているポートを該入力フレームの出力ポートに判定する。出力ポート判定部17は、出力ポートの識別情報を含む内部ヘッダHD1を入力フレームに付与して、SWカード2に出力する。入力フレームの宛先MACアドレスがMACアドレステーブル16に登録されていない場合には、出力ポート判定部17は、内部ヘッダHD1の出力ポートの識別情報を格納するフィールドを空のままにして入力フレームに付与する。
内部ヘッダHD1には、学習済フレームであるか未学習フレームであるかを示す情報も格納される。学習済フレームであるか未学習フレームであるかを示す情報は、例えば、フラグとして表される。例えば、内部ヘッダHD1内のフラグが1である場合には、フレームは学習済フレームであることが示される。例えば、内部ヘッダHD1内のフラグが0である場合には、フレームが未学習フレームであることが示される。
したがって、出力ポート判定部17は、内部ヘッダHD1に、出力ポートの識別情報に加えて、学習済フレーム又は未学習フレームであることを示す情報を格納する。なお、出力ポート判定部17は、MACアドレステーブル16に入力フレームの宛先MACアドレスが登録されている場合には、該入力フレームの内部ヘッダHD1に学習済フレームであることを示す情報を格納する。MACアドレステーブル16に入力フレームの宛先MACアドレスが登録されていない場合には、出力ポート判定部17は、該入力フレームの内部ヘッダHD1に未学習フレームであることを示す情報を格納する。出力ポート判定部17は、内部ヘッダHD1を付与したフレームを、SWカード2に出力する。出力ポート判定部17は、フレーム処理部103によって達成される機能構成の一つである。
SWカード2は、入力側IFカード1Aから入力されたフレームの内部ヘッダHD1内の出力ポートの識別情報に従って、該出力ポートを有するIFカード1へフレームを転送する。
出力側IFカード1Bは、学習判定部11と、フレームコピー処理部12と、バッファ13と、ユニキャスト転送処理部14と、学習済フレーム通過情報15と、を含む。学習判定部11、フレームコピー処理部12、ユニキャスト転送処理部14は、フレーム処理部103によって達成される機能構成である。
学習判定部11は、出力側IFカード1Bに入力されるフレームが学習済フレーム又は未学習フレームのいずれであるかを判定する。学習判定部11は、入力側IFカード1Aによって付与されたフレームの内部ヘッダHD1内の学習済フレーム又は未学習フレームであることを示す情報に基づいて、判定を行う。フレームが学習済フレームである場合には、学習判定部11は、バッファ13にフレームを出力する。フレームが未学習フレームである場合には、学習判定部11は、フレームコピー処理部12にフレームを出力する。
フレームコピー処理部12は、学習判定部11から未学習フレームが入力されると、未学習フレームを出力側IFカード1Bが有するポートの数に応じてコピーする。例えば、入力側IFカード1Aと出力側IFカード1Bとが物理的に異なるIFカード1である場合には、出力側IFカード1Bには入力フレームの受信ポートは含まれていない。この場合には、フレームコピー処理部12は、オリジナルの未学習フレームを含めて、未学習フレームの数が出力側IFカード1Bに含まれるポートの数になるようにコピーフレームを生成する。
例えば、入力側IFカード1Aと出力側IFカード1Bとが物理的に同じIFカード1である場合には、出力側IFカード1Bに入力フレームの受信ポートが含まれている。この場合には、フレームコピー処理部12は、オリジナルの未学習フレームを含めて、未学習フレームの数が、出力側IFカード1Bに含まれるポートの数から1減じた値になるようにコピーフレームを生成する。
フレームコピー処理部12は、オリジナルの未学習フレーム及びコピーフレームのそれぞれの内部ヘッダHD1に、出力側IFカード1Bが有する各ポートの識別情報を格納してバッファ13に出力する。フレームコピー処理部12が出力するフレームの内部ヘッダHD1には、出力ポートの識別情報と、未学習フレームであることを示す情報とが含まれ
ることとなる。
バッファ13は、FIFOキューであり、バッファ13への格納順でフレームを出力する。バッファ13は、メモリ102の一部である。バッファ13は「バッファ」の一例である。
ユニキャスト転送処理部14は、所定のタイミングでバッファ13からフレームを読み出し、該フレームに付与された内部ヘッダHD1によって示される出力ポートに該フレームを出力する。ユニキャスト転送処理部14の詳細は、後述される。
学習済フレーム通過情報15は、CAM 106に格納される。学習済フレーム通過情報15は、ユニキャスト転送処理部14を通過した学習済フレームの宛先アドレス等の情報を所定時間保持する。学習済フレーム通過情報15の詳細は、後述される。学習済フレーム通過情報15は、「記憶部」の一例である。
図12は、ユニキャスト転送処理部14の構成の一例を示す図である。ユニキャスト転送処理部14は、フレーム判定部141、フレーム情報管理部142、廃棄判定部143、フレーム転送部144を含む。
フレーム判定部141は、バッファ13から、バッファ13への格納順でフレームを読み出し、読み出したフレームが学習済フレーム又は未学習フレームのいずれであるかを判定する。この判定は、フレームの内部ヘッダHD1内に含まれる学習済フレーム又は未学習フレームのいずれであるかを示す情報に基づいて行われる。
フレーム判定部141は、フレームが学習済フレームである場合には、該フレームをフレーム情報管理部142に出力する。フレームが未学習フレームである場合には、フレーム判定部141は、該フレームを廃棄判定部143に出力する。
フレーム情報管理部142は、フレーム判定部141から学習済フレームが入力されると、例えば、該学習済フレームの宛先MACアドレスで学習済フレーム通過情報15を検索する。入力された学習済フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されていない場合には、フレーム情報管理部142は、該学習済フレームの宛先MACアドレスを学習済フレーム通過情報15に登録し、該学習済フレームをフレーム転送部144に出力する。
入力された学習済フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されている場合には、フレーム情報管理部142は、該学習済フレームをフレーム転送部144に出力する。フレーム情報管理部142による学習済フレーム通過情報15の管理の詳細については、後述される。
廃棄判定部143は、フレーム判定部141から未学習フレームが入力されると、該未学習フレームの宛先MACアドレスで学習済フレーム通過情報15を検索する。入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されていない場合には、該未学習フレームと同じ宛先MACアドレスを有する学習済フレームがユニキャスト転送処理部14をまだ通過していないことが示される。すなわち、入力された未学習フレームと同じ宛先MACアドレスを有するフレーム間で、入力と出力とで順序逆転は発生していないことが示される。したがって、この場合には、廃棄判定部143は、入力された未学習フレームをフレーム転送部144に出力する。
入力された未学習フレームの宛先アドレスが学習済フレーム通過情報15に登録されて
いる場合には、該未学習フレームと同じ宛先MACアドレスを有する学習済フレームがユニキャスト転送処理部14を通過済みであることが示される。この場合には、同じ宛先アドレスを有するフレーム間で、フレーム処理装置100への入力順と出力順との不整合が発生していることが示される。また、すでに未学習フレームの宛先MACアドレスは学習されているので、該未学習フレームは、転送不要なポートに出力される可能性が高い。したがって、この場合には、廃棄判定部143は、入力された未学習フレームを廃棄する。廃棄判定部143は、「制御部」の一例である。
フレーム転送部144は、フレーム情報管理部142から入力される学習済フレーム、又は、廃棄判定部143から入力される未学習フレームの内部ヘッダHD1を取り除いて、該内部ヘッダHD1によって示される出力ポートに出力する。フレーム転送部144は、「転送部」の一例である。
図13は、フレーム情報管理部142による学習済フレーム通過情報15の管理処理の一例を示す図である。学習済フレーム通過情報15は、CAM 106に格納されている。CAM 106は、学習済フレーム通過情報15として、ユニキャスト転送処理部14を通過した学習済フレームの宛先MACアドレスを、エントリとして保持する。
CAM 106のエントリは、所定時間経過すると削除される。ユニキャスト転送処理部14を通過した学習フレームの宛先MACアドレスがCAM 106に保持される期間は、例えば、該当する宛先MACアドレスのコピーフレームである未学習フレームがすべて転送されるまで、である。より具体的には、フレーム情報管理部142は、経過時間管理メモリ142Mと自走カウンタ142Cとを備えており、経過時間管理メモリ142MでCAM 106内の学習済フレーム通過情報15としての宛先MACアドレスの保持期間を管理する。
経過時間管理メモリ142Mの各エントリは、CAM 106の各エントリに対応付けられており、CAM 106の対応するエントリが登録されてからの経過時間を保持する。自走カウンタ142Cは、所定の周期で、カウント値に1を加算するカウンタである。自走カウンタ142Cのカウント値は、経過時間管理メモリ142Mのエントリのポインタとしての役割を果たす。
具体的には、例えば、自走カウンタ142Cのカウント値が1である場合には、経過時間管理メモリ142Mの先頭のエントリが指し示される。自走カウンタ142Cのカウント値が2である場合には、経過時間管理メモリ142Mの2番目のエントリが指し示される。自走カウンタ142Cの値が、経過時間管理メモリ142Mの最後のエントリを示す場合に、自走カウンタ142Cの次の値は、経過時間管理メモリ142Mの先頭のエントリを示すこととする。すなわち、自走カウンタ142Cは、経過時間管理メモリ142Mのエントリを巡回する。第1実施形態では、経過時間管理メモリ142Mのエントリに格納されるCAM 106の対応するエントリが登録されてからの経過時間を、自走カウンタ142Cの該エントリの巡回回数によって管理する。
経過時間管理メモリ142Mの各エントリには、CAM 106の対応するエントリに宛先MACアドレスが登録されるまでの間は、0が保持される。経過時間管理メモリ142Mの各エントリには、CAM 106の対応するエントリに宛先MACアドレスが登録されことを契機に、自走カウンタ142Cの巡回回数のカウントが開始され、該カウントの値が格納される。
経過時間管理メモリ142Mのエントリに格納される値、すなわち、自走カウンタ142Cの巡回回数のカウントの値には、閾値が設定されている。経過時間管理メモリ142
Mのメモリに格納される値が該閾値以上になると、経過時間管理メモリ142Mの該当のエントリに格納される値は0にリセットされる。また、経過時間管理メモリ142Mの該当のエントリに対応するCAM 106のエントリに登録される宛先MACアドレスは削除される。
図13に示される例では、学習済フレーム通過情報15には、宛先アドレス0のエントリに“100”、宛先アドレス1のエントリに“1”が格納されている。なお、学習済フレーム通過情報15のエントリに実際に格納されるのはMACアドレスであるが、図13では、便宜上、MACアドレスの代わりに簡易な数字が格納されている。学習済フレーム通過情報15の宛先アドレス2のエントリは、未登録である。
図13において、経過時間管理メモリ142Mの経過時間0、1、2、...のエントリ
は、それぞれ、学習済フレーム通過情報15の宛先アドレス0、1、2、...のエントリ
に対応している。
例えば、フレーム情報管理部142に宛先MACアドレス“125”の学習済フレームが入力されると、該宛先MACアドレスは学習済フレーム通過情報15に未登録であるため、フレーム情報管理部142は、宛先MACアドレス“125”を学習済フレーム通過情報15に登録する。図13では、宛先MACアドレス“125”は、学習済フレーム通過情報15の宛先アドレス2のエントリに格納される。
フレーム情報管理部142は、宛先MACアドレス“125”を学習済フレーム通過情報15に登録するとともに、経過時間管理メモリ142Mの対応するエントリである経過時間2のエントリに、“1”をセットする。以降、自走カウンタ142Cの値が経過時間2のエントリを指し示す度に、経過時間2の値は1ずつ増える。
図13に示される例において、経過時間管理メモリ142Mのエントリの値の閾値は500であるとする。経過時間管理メモリ142Mの経過時間0のエントリの値は、500であるので、フレーム情報管理部142は、経過時間0のエントリの値を0にリセットし、対応する学習済フレーム通過情報15の宛先アドレス0のエントリに登録されているアドレスを削除する。
所定時間が経過した学習済フレーム通過情報15のエントリを削除することによって、CAM 106の容量を小さく抑えることができる。CAM 106の容量は、バッファ13の格納可能なフレーム数より大きければよい。バッファ13に格納されるフレームの宛先MACアドレスがすべて異なっている場合に対応可能にするためである。
<処理の流れ>
図14は、フレーム情報管理部142の学習済フレームの入力時の処理のフローチャートの一例である。図14に示される処理は、フレーム判定部141からフレーム情報管理部142に学習済フレームが入力された場合に開始される。
OP1では、フレーム情報管理部142は、入力された学習済フレームの宛先MACアドレスで学習済フレーム通過情報15を検索する。学習済フレーム通過情報15からは、入力された学習済フレームの宛先MACアドレスに合致するMACアドレスを保持するエントリがある場合には、検索結果としてフレーム情報管理部142に、“データ有”が返ってくる。入力された学習済フレームの宛先アドレスに合致するアドレスを保持するエントリがない場合には、学習済フレーム通過情報15からは、検索結果としてフレーム情報管理部142に、“データ無”が返ってくる。
OP2では、フレーム情報管理部142は、入力された学習済フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されているか否かを判定する。入力された学習済フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されている場合には(OP2:YES)、処理がOP5に進む。入力された学習済フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されていない場合には(OP2:NO)、処理がOP3に進む。
OP3では、フレーム情報管理部142は、入力された学習済フレームの宛先MACアドレスを学習済フレーム通過情報15に登録する。例えば、フレーム情報管理部142は、CAM 106の空いているエントリのうち一番上のエントリに、入力された学習済フレームの宛先MACアドレスを登録する。
OP4では、フレーム情報管理部142は、OP3において学習済フレームの宛先MACアドレスを登録した学習済フレーム通過情報15のエントリに対応する経過時間管理メモリ142Mのエントリに、1をセットする。
OP5では、フレーム情報管理部142は、入力された学習済フレームをフレーム転送部144に出力する。その後、図14に示される処理が終了する。
図15は、フレーム情報管理部142の学習済フレーム通過情報15の管理処理のフローチャートの一例である。図15に示される処理は、自走カウンタ142Cが開始する、すなわち、IFカード1の起動とともに開始される。
OP11では、フレーム情報管理部142は、自走カウンタ142Cが指し示す経過時間管理メモリ142Mのエントリの値を読み出す。自走カウンタの初期値は1であり、自走カウンタが1の場合には、経過時間管理メモリ142Mの先頭のエントリが指し示される。
OP12では、フレーム情報管理部142は、読み出した経過時間管理メモリ142Mのエントリの値が0であるか否かを判定する。読み出された経過時間管理メモリ142Mのエントリの値が0である場合には(OP12:YES)、処理がOP17にすすむ。読み出された経過時間管理メモリ142Mのエントリの値が0でない場合には(OP12:NO)、処理がOP13に進む。
OP13では、フレーム情報管理部142は、読み出した経過時間管理メモリ142Mのエントリの値が閾値以上であるか否かを判定する。読み出された経過時間管理メモリ142Mのエントリの値が閾値以上である場合には(OP13:YES)、処理がOP15に進む。読み出された経過時間管理メモリ142Mのエントリの値が閾値未満である場合には(OP13:NO)、処理がOP14に進む。
OP14では、フレーム情報管理部142は、読み出した経過時間管理メモリ142Mのエントリの値が閾値未満であるので、該エントリの値に1を加算する。
OP15では、フレーム情報管理部142は、読み出した経過時間管理メモリ142Mのエントリの値が閾値以上であるので、該エントリの値を0に戻す。
OP16では、フレーム情報管理部142は、読み出した経過時間管理メモリ142Mのエントリに対応する学習済フレーム通過情報15のエントリの宛先MACアドレスを削除する。
OP17では、フレーム情報管理部142は、自走カウンタの値を1加算する(カウントアップ)。これによって、経過時間管理メモリ142Mの参照エントリが次のエントリに進む。
OP18では、フレーム情報管理部142は、IFカード1が稼働しているか否かを判定する。IFカード1が稼働している場合には(OP18:YES)、処理がOP11に進み、経過時間管理メモリ142Mの次のエントリについてOP11からの処理が行われる。IFカード1が停止する場合には(OP18:NO)、図15に示される処理が終了する。
図16は、廃棄判定部143の未学習フレームの入力時の処理のフローチャートの一例である。図16に示される処理は、フレーム判定部141から廃棄判定部143に未学習フレームが入力されると開始される。
OP21では、廃棄判定部143は、入力された未学習フレームの宛先MACアドレスで学習済フレーム通過情報15を検索する。学習済フレーム通過情報15からは、入力された未学習フレームの宛先MACアドレスに合致するMACアドレスを保持するエントリがある場合には、検索結果として、廃棄判定部143に、“データ有”が返ってくる。入力された未学習フレームの宛先MACアドレスに合致するMACアドレスを保持するエントリがない場合には、学習済フレーム通過情報15からは、検索結果として、廃棄判定部143に、“データ無”が返ってくる。
OP22では、廃棄判定部143は、入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されているか否かを判定する。入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されている場合には(OP22:YES)、処理がOP23に進む。入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されていない場合には(OP22:NO)、処理がOP24に進む。
OP23では、廃棄判定部143は、入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されているので、該未学習フレームを廃棄する。その後、図16に示される処理が終了する。
OP24では、廃棄判定部143は、入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されてないので、該未学習フレームをフレーム転送部144に転送する。その後、図16に示される処理が終了する。
<第1実施形態の作用効果>
第1実施形態では、学習済フレームのネットワークへの出力処理の履歴を記録し、未学習フレームの転送の際に、同じ宛先MACアドレスのフレームの出力処理の履歴の有無を確認することによって、フレームの入力と出力との順序逆転が検出される。未学習フレームと同じ宛先MACアドレスの学習済フレームの出力処理の履歴がある場合には、該学習済フレームが該未学習フレームよりも先にネットワークに出力されていることが示され、入力と出力とで順序逆転が発生していることが示される。この場合には、該未学習フレームは廃棄される。これによって、フレームの入力順と逆転した順序でフレームをネットワークに出力することを抑制することができる。
また、未学習フレームと同じ宛先MACアドレスの学習済フレームの出力処理の履歴がある場合には、該未学習フレームは廃棄される。ユニキャスト転送処理部14に入力される未学習フレームは、宛先MACアドレスが接続するポート以外のポートから出力される
可能性のあるフレームである。したがって、第1実施形態によれば、アドレス学習後に、不要なフレームのネットワークへの出力を抑制することができ、結果的に、ネットワークの帯域を無駄に消費させることを抑制することができる。
また、宛先MACアドレスが未学習から学習済に切り替わった直後の該宛先MACアドレスを有する学習済フレームは、遅延を付加されることなく転送されるため、第1実施形態によれば、ネットワーク転送速度を維持することができる。
第1実施形態では、学習済フレームのネットワークへの出力処理の履歴である学習済フレーム通過情報15の保持にはCAM 106が用いられる。CAMは高速なメモリであるため、第1実施形態によれば、フレームの転送速度を損なうことなく、フレームの入力と出力とでの順序逆転を検出することができる。
また、CAM 106に格納される学習済フレーム通過情報15のエントリは所定時間が経過すると削除される。これによって、CAM 106の容量を節約することができる。
<その他>
第1実施形態では、フレーム処理部101は、NPUやFPGAであるとして説明されたが、フレーム処理部101は、CPU(Central Processing Unit)であってもよい。
フレーム処理部101がCPUである場合には、該CPUに、ユニキャスト転送処理部14(フレーム判定部141、フレーム情報管理部142、廃棄判定部143、フレーム転送部144)の処理を実行させるためのプログラムがIFカード1に内蔵又は外付けの不揮発性メモリに格納される。
第1実施形態を、例えば、以下のように変形することも可能である。学習済フレーム通過情報15をフレームコピー処理部12が検索できるように構成する。フレームコピー処理部12に入力された未学習フレームの宛先MACアドレスが学習済フレーム通過情報15に登録されている場合には、フレームコピー処理部12は、該未学習フレームをコピーせずに廃棄する。これによって、バッファ13に転送不要なコピーフレームを格納することを抑制でき、宛先MACアドレスの未学習から学習済への切り替えによって発生する、フレームの入力と出力との順序逆転を抑制することができる。上述のように変形した場合には、フレームコピー処理部12が「制御部」の一例となり、ユニキャスト転送処理部14が「転送部」の一例となる。
なお、第1実施形態では、VLAN(Virtual Local Area Network)については考慮されていないが、VLANが設定されている場合にも、第1実施形態で説明された技術を適用することができる。VLANが設定されている場合には、MACアドレステーブル16のエントリは、MACアドレスと、ポートと、VLAN IDとの対応付けとなる。また、学習済フレーム通過情報15は、ユニキャスト転送処理部14を通過した学習済フレームの宛先MACアドレスに加えて、VLAN IDが登録されるようにしてもよい。この場合には、フレーム情報管理部142、廃棄判定部143は、学習済フレーム通過情報15を、フレームの宛先MACアドレス及びVLAN IDで検索する。
又は、学習済フレーム通過情報15は、宛先MACアドレスの代わりに、フレーム処理装置100の内部で用いられるフローIDを格納するようにしてもよい。例えば、宛先MACアドレス、送信元MACアドレス、VLAN ID等が同じフレームには同じフローIDが付与される。フローIDは、例えば、入力側IFカード1Aの出力ポート判定部17によって決定され、フレームの内部ヘッダHD1内に格納される。
第1実施形態では、イーサネットのネットワークを前提として説明されたが、第1実施形態で説明された技術はイーサネット以外のネットワークにも適用可能である。MACアドレス、MACアドレステーブル、フレームの構成等を、適宜、適用先のネットワークで用いられる同等のものに置き換えることによって、イーサネット以外のネットワークに第1実施形態で説明された技術を適用することができる。
<記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる非一時的な記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コ
ンピュータ等に固定された記録媒体としても利用可能である。
<付記>
上記実施形態は、さらに以下の付記を開示する。
(付記1)
宛先アドレスを有するフレームが出力される複数の出力ポートと、
前記宛先アドレスと前記出力ポートとの対応付けを記憶するテーブルに前記宛先アドレスが登録されていると判定された学習済フレームと、前記テーブルに前記宛先アドレスが登録されていないと判定された未学習フレームと、前記未学習フレームがコピーされたコピーフレームと、を格納するバッファと、
前記バッファから前記格納順にフレームを読み出し、所定の前記出力ポートに転送する転送部と、
前記学習済フレームのネットワークへの出力履歴として、前記学習済フレームの宛先アドレスに関する情報を記憶する記憶部と、
前記フレームが未学習フレームのとき、前記出力履歴に、前記未学習フレームの宛先アドレスと合致する情報が含まれている場合には、前記転送部による前記転送前に、前記未学習フレームを廃棄する制御部と、
を備えるフレーム処理装置。
(付記2)
前記制御部は、前記学習済フレームの宛先アドレスと合致する情報が前記出力履歴に含まれていない場合に、該学習済フレームの宛先アドレスに関する情報を前記出力履歴に登録し、該登録から所定時間経過後に、該学習済フレームの宛先アドレスに関する情報を前記出力履歴から削除する、
付記1に記載のフレーム処理装置。
(付記3)
前記記憶部は、CAM(Content Addressable Memory)である、
付記1又は2に記載のフレーム処理装置。
(付記4)
前記記憶部の容量は、前記バッファの容量と同じである、
付記3に記載のフレーム処理装置。
(付記5)
前記フレームが学習済フレームであるか、未学習フレームであるかを判定し、前記フレームが学習済フレームである場合に、前記バッファに格納する判定部と、
前記フレームが未学習フレームである場合に、前記未学習フレームのコピーフレームを生成し、該未学習フレームと、前記コピーフレームとを前記バッファに格納する複製部と、
をさらに備える付記1から4のいずれか1つに記載のフレーム処理装置。
(付記6)
宛先アドレスを有するフレームが出力される複数の出力ポートと、
前記宛先アドレスと前記出力ポートとの対応付けを記憶するテーブルに前記宛先アドレスが登録されていると判定された学習済フレームと、前記テーブルに前記宛先アドレスが登録されていないと判定された未学習フレームと、前記未学習フレームがコピーされたコピーフレームと、を格納するバッファと、を備えるフレーム処理装置が、
前記バッファから前記格納順にフレームを読み出し、所定の前記出力ポートに転送し、
前記学習済フレームのネットワークへの出力履歴として、前記学習済フレームの宛先アドレスに関する情報を記憶部に記憶し、
前記フレームが未学習フレームのとき、前記出力履歴に、前記未学習フレームの宛先アドレスと合致する情報が含まれている場合には、前記転送前に、前記未学習フレームを廃棄する、
フレーム処理方法。
1 インタフェース(IF)カード
11 学習判定部
12 フレームコピー処理部
13 バッファ
14 ユニキャスト転送処理部
15 学習済フレーム通過情報
16 MACアドレステーブル
17 出力ポート判定部
102 メモリ
103 フレーム処理部
106 CAM
141 フレーム判定部
142 フレーム情報管理部
143 廃棄判定部
144 フレーム転送部

Claims (4)

  1. 宛先アドレスを有するフレームが出力される複数の出力ポートと、
    前記宛先アドレスと前記出力ポートとの対応付けを記憶するテーブルに前記宛先アドレスが登録されていると判定された学習済フレームと、前記テーブルに前記宛先アドレスが登録されていないと判定された未学習フレームと、前記未学習フレームがコピーされたコピーフレームと、を格納するバッファと、
    前記バッファから前記格納順にフレームを読み出し、所定の前記出力ポートに転送する転送部と、
    前記学習済フレームのネットワークへの出力履歴として、前記学習済フレームの宛先アドレスに関する情報を記憶する記憶部と、
    前記フレームが未学習フレームのとき、前記出力履歴に、前記未学習フレームの宛先アドレスと合致する情報が含まれている場合には、前記転送部による前記転送前に、前記未学習フレームを廃棄する制御部と、
    を備えるフレーム処理装置。
  2. 前記制御部は、前記学習済フレームの宛先アドレスに合致する情報が前記出力履歴に含まれていない場合に、該学習済フレームの宛先アドレスに関する情報を前記出力履歴に登録し、該登録から所定時間経過後に、該学習済フレームの宛先アドレスに関する情報を前記出力履歴から削除する、
    請求項1に記載のフレーム処理装置。
  3. 前記記憶部は、CAM(Content Addressable Memory)である、
    請求項1又は2に記載のフレーム処理装置。
  4. 宛先アドレスを有するフレームが出力される複数の出力ポートと、
    前記宛先アドレスと前記出力ポートとの対応付けを記憶するテーブルに前記宛先アドレスが登録されていると判定された学習済フレームと、前記テーブルに前記宛先アドレスが登録されていないと判定された未学習フレームと、前記未学習フレームがコピーされたコピーフレームと、を格納するバッファと、を備えるフレーム処理装置が、
    前記バッファから前記格納順にフレームを読み出し、所定の前記出力ポートに転送し、
    前記学習済フレームのネットワークへの出力履歴として、前記学習済フレームの宛先アドレスに関する情報を記憶部に記憶し、
    前記フレームが未学習フレームのとき、前記出力履歴に、前記未学習フレームの宛先アドレスと合致する情報が含まれている場合には、前記転送前に、前記未学習フレームを廃棄する、
    フレーム処理方法。
JP2015145736A 2015-07-23 2015-07-23 フレーム処理装置及びフレーム処理方法 Expired - Fee Related JP6493059B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015145736A JP6493059B2 (ja) 2015-07-23 2015-07-23 フレーム処理装置及びフレーム処理方法
US15/198,002 US10057169B2 (en) 2015-07-23 2016-06-30 Frame processing device and frame processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015145736A JP6493059B2 (ja) 2015-07-23 2015-07-23 フレーム処理装置及びフレーム処理方法

Publications (2)

Publication Number Publication Date
JP2017028521A true JP2017028521A (ja) 2017-02-02
JP6493059B2 JP6493059B2 (ja) 2019-04-03

Family

ID=57837660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015145736A Expired - Fee Related JP6493059B2 (ja) 2015-07-23 2015-07-23 フレーム処理装置及びフレーム処理方法

Country Status (2)

Country Link
US (1) US10057169B2 (ja)
JP (1) JP6493059B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10805222B2 (en) * 2017-05-01 2020-10-13 General Electric Company Resilient network configuration for time sensitive traffic

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09205456A (ja) * 1996-01-29 1997-08-05 Sumitomo Electric Ind Ltd Lan間接続装置
JP2004193821A (ja) * 2002-12-10 2004-07-08 Fujitsu Ltd ブリッジ装置およびブリッジ装置のアドレス学習方法
JP2014017639A (ja) * 2012-07-09 2014-01-30 Hitachi Ltd 通信装置及び通信装置においてデータユニットの転送を制御する方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3255596B2 (ja) 1997-10-16 2002-02-12 日本電信電話株式会社 Macブリッジング装置
JP3878014B2 (ja) * 2001-12-28 2007-02-07 富士通株式会社 Lan及びwanをインタフェースするパケットスイッチ
JP2006279820A (ja) 2005-03-30 2006-10-12 Fujitsu Ltd ブロードキャスト抑制機能を有するネットワークシステム
JP5088162B2 (ja) * 2008-02-15 2012-12-05 富士通株式会社 フレーム伝送装置およびループ判定方法
JP2011015094A (ja) * 2009-06-30 2011-01-20 Fujitsu Ltd フレーム中継装置、フレーム中継方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09205456A (ja) * 1996-01-29 1997-08-05 Sumitomo Electric Ind Ltd Lan間接続装置
JP2004193821A (ja) * 2002-12-10 2004-07-08 Fujitsu Ltd ブリッジ装置およびブリッジ装置のアドレス学習方法
JP2014017639A (ja) * 2012-07-09 2014-01-30 Hitachi Ltd 通信装置及び通信装置においてデータユニットの転送を制御する方法

Also Published As

Publication number Publication date
JP6493059B2 (ja) 2019-04-03
US20170026290A1 (en) 2017-01-26
US10057169B2 (en) 2018-08-21

Similar Documents

Publication Publication Date Title
US11258710B2 (en) Network traffic load balancing
EP2627047B1 (en) Flow cache mechanism for performing packet flow lookups in a network device
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US9832106B2 (en) System and method for detecting network neighbor reachability
US9960994B2 (en) Method, system, and apparatus for forwarding network traffic using minimal forwarding information bases
JP2005130489A (ja) ルータ用の改良型アクセス制御リスティング機構
KR102126592B1 (ko) 멀티코어 프로세서들에 대한 내부 및 외부 액세스를 갖는 룩-어사이드 프로세서 유닛
US11695710B2 (en) Buffer management method and apparatus
JP5540954B2 (ja) ブリッジ装置及びインタフェース装置、並びに通信方法
US8509228B2 (en) Method and apparatus for prioritizing source MAC address miss processing
EP3419229B1 (en) Apparatus, system, and method for imposing label stack entries on mpls packets
JP6493059B2 (ja) フレーム処理装置及びフレーム処理方法
AU2013235609A1 (en) Read-throttled input/output scheduler
US12019542B2 (en) High performance cache eviction
US10228852B1 (en) Multi-stage counters
US7855967B1 (en) Method and apparatus for providing line rate netflow statistics gathering
US10862801B1 (en) Selective media access control (MAC) learning and purging to reduce flooding and replication in a network
US10645000B1 (en) Apparatus, system, and method for improving convergence across virtual control and forwarding planes within network devices
TWI572169B (zh) 封包交換系統、方法及其非暫態電腦可讀取記錄媒體
CN113347112B (zh) 一种基于多级缓存的数据包转发方法及装置
US11895005B1 (en) Network devices with hardware accelerated table updates
RU2675148C1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения
JP4400103B2 (ja) ルーティング処理装置
EP3373531A1 (en) Apparatus, system, and method for sharing labels across label-switched paths within networks
WO2019050423A1 (ru) Способ организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах с использованием их самообучения

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees