JP2011077768A - 通信装置および通信制御方法 - Google Patents

通信装置および通信制御方法 Download PDF

Info

Publication number
JP2011077768A
JP2011077768A JP2009226332A JP2009226332A JP2011077768A JP 2011077768 A JP2011077768 A JP 2011077768A JP 2009226332 A JP2009226332 A JP 2009226332A JP 2009226332 A JP2009226332 A JP 2009226332A JP 2011077768 A JP2011077768 A JP 2011077768A
Authority
JP
Japan
Prior art keywords
frame
information
entry
flag
search
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
JP2009226332A
Other languages
English (en)
Other versions
JP5407712B2 (ja
Inventor
Yasuyuki Mimori
康之 三森
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 JP2009226332A priority Critical patent/JP5407712B2/ja
Priority to US12/894,473 priority patent/US20110078181A1/en
Publication of JP2011077768A publication Critical patent/JP2011077768A/ja
Application granted granted Critical
Publication of JP5407712B2 publication Critical patent/JP5407712B2/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]

Landscapes

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

Abstract

【課題】エントリの検索処理の負荷を低減する。
【解決手段】エントリ検索情報記憶部14は、エントリしたフレームの種別を示すエントリフラグ情報と、エントリしたフレームの制御情報とを有するエントリ検索情報を記憶する。フラグ生成部11は、受信したフレームが有するフレーム制御情報に基づいて受信したフレームの種別を示すフレームフラグ情報を生成する。検索キー生成部12は、フラグ生成部11によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。検索制御部13は、エントリ検索情報記憶部14を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、検索キー情報が有するフレーム制御情報で検索する。
【選択図】図1

Description

本発明は、エントリの検索を行う通信装置および通信制御方法に関する。
近年、通信事業者等のキャリアネットワークにおいて、Ethernet(登録商標)技術を利用したネットワークの需要が高まってきている。また、Ethernetフレームによるネットワークでは、仮想的なサブネットワークであるVLAN(Virtual Local Area Network)技術が広く利用されており、VLANタグを使用して、ユーザ(カスタマ)やキャリアのサービスを識別する方法が一般的に用いられている。このVLANで送受信されるフレームが有するVLANタグは、TPID(Tag Protocol Identifier:タグ・プロトコル識別子)およびVLAN ID等のフレームの種別を示す情報を有している。例えば、EthernetフレームにこのVLANタグを複数用いることにより、複数のVLANタグを連続してスタック(stack)することが可能である。
また、Ethernetフレームを転送する通信装置におけるこのVLANタグを複数用いたEthernetフレームのエントリに、連想メモリおよびアソシエイトメモリを用いることができる。連想メモリにVLANタグを複数段含むEthernetフレームのエントリを登録する場合、VLANタグを1段有するフレームである1段タグフレームや、2段タグのフレームを受信すると、例えば、この受信したフレームの先頭から20バイトを取り出して、取り出した部分と受信ポート番号とを結合した検索キーが生成される。
しかし、1段タグのフレームのエントリや2段タグのフレームのエントリと受信したフレームの検索キーとがそれぞれ一致することが判断される前に、受信ポート番号以外がマスクされているタグ無しフレームのエントリと受信したフレームの検索キーとが比較されてしまうことになる。すると、検索キーと本来は一致していないエントリとが誤って“一致する”と判断されてしまい、適切な検索ができない場合が生じ得る。また、同様に、2段タグと判断されるべきフレームの検索キーが、先に判断が行われる位置にエントリが格納されていた1段タグと比較され、誤って“一致する”と判断されてしまう場合も生じ得る。
これを防止するために、連想メモリのエントリ構成を、マスク領域が少なく検索対象となるマスク領域以外の領域が多いエントリが若番のアドレスに配置され、マスク領域が多いエントリが老番のアドレスに配置されるように、2段タグのエントリ、1段タグのエントリ、タグ無しのフレームのエントリの順番に格納されているように整列する。そして、2段タグ、1段タグ、タグ無しの順に検索キーと一致するか否かの判断が行われるようにする必要がある。このように通信装置の連想メモリのエントリの設定を行う際は、アドレス順序を考慮して行われる。
特開2004−159019号公報 特開2008−227695号公報
ここで、上記のような通信装置では、一般的に新規のユーザフレームのエントリの登録や不要となったユーザフレームのエントリの削除など、エントリの追加や削除が頻繁に行われる。従って、フレームの種別の一例である、タグ無しのフレームのエントリ、1段タグのフレームのエントリ、2段タグのフレームのエントリの各エントリが適切に判断されるように、ソフトウェアは各フレームのエントリの追加や削除に応じて、エントリのアドレス内の適切な配置を維持するために、エントリのソート(並べ替え)を行う必要がある。これはソフトウェアやCPU(Central Processing Unit)にとって複雑な処理となり、且つ負荷の高い処理となる。また、収容するエントリ数が多い場合、適切な並べ替えが完了するまでに時間を要することになる。これらにより、場合によっては、処理の負荷が増加したり、エントリの登録に要する時間が増加したりして、通信の遅延や停止等の影響を与える場合もあるという問題点があった。
本件はこのような点に鑑みてなされたものであり、エントリの検索処理の負荷を低減する通信装置および通信制御方法を提供することを目的とする。
上記課題を解決するために、開示の通信装置および通信制御方法が提供される。開示の通信装置では、エントリ検索情報記憶部は、エントリしたフレームの種別を示すエントリフラグ情報と、エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶する。フラグ生成部は、受信したフレームが有するフレーム制御情報に基づいて受信したフレームの種別を示すフレームフラグ情報を生成する。検索キー生成部は、フラグ生成部によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。検索制御部は、エントリ検索情報記憶部を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、検索キー情報が有するフレーム制御情報で検索する。
開示の通信装置および通信制御方法によれば、エントリフラグ情報およびフレームフラグ情報により、検索するエントリを特定することが可能になるので、エントリのアドレスの順序を意識する必要が無くなり、任意のアドレスに任意のエントリを設定することが可能になるので、エントリのソートが不要になる。
第1の実施の形態を示す図である。 第2の実施の形態の通信システムの全体構成を示す図である。 第2の実施の形態のスイッチのハードウェア構成を示す図である。 第2の実施の形態のフレームのデータ構造例を示す図である。 第2の実施の形態のスイッチの機能を示すブロック図である。 第2の実施の形態のエントリ検索テーブルのデータ構造例を示す図である。 第2の実施の形態の宛先テーブルのデータ構造例を示す図である。 第2の実施の形態のフラグ生成処理の手順を示すフローチャートである。 第3の実施の形態のスイッチの機能を示すブロック図である。 第3の実施の形態のエントリ検索テーブルのデータ構造例を示す図である。 第3の実施の形態のフラグ生成処理の手順を示すフローチャートである。 第4の実施の形態のスイッチの機能を示すブロック図である。 第4の実施の形態のTPID設定テーブルのデータ構造例を示す図である。 第4の実施の形態のフラグ生成処理の手順を示すフローチャートである。 第5の実施の形態のスイッチの機能を示すブロック図である。 第5の実施の形態のエントリ検索テーブルのデータ構造例を示す図である。 第5の実施の形態の宛先テーブルのデータ構造例を示す図である。
以下、実施の形態について、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態を示す図である。図1に示す通信装置1は、フラグ生成部11、検索キー生成部12、検索制御部13、エントリ検索情報記憶部14を有する。また、通信装置1は、検索制御部13による検索結果に応じて受信したフレームの転送先を判定する受信フレーム判定部15を有する。
通信装置1は、ユーザが使用する端末装置(図示省略)から送信されるフレームやパケット等のデータを受信し、データ内に格納されたアドレス情報等の制御情報に基づいて転送する処理を行う。例えば、端末装置から送信されたEthernetフレームやIPフレームを転送する場合、通信装置1は、Ethernetフレーム内に格納されたMACアドレス(Media Access Control address)やIPフレーム内に格納された IPアドレス(Internet Protocol address)等に基づいて転送する処理を行う。このデータは、通信装置1が接続されているネットワークにおいて分割されて転送される。具体的には、通信装置1がL2(Layer 2)スイッチであれば、分割されたデータはフレーム(frame)である。通信装置1がL3(Layer 3)スイッチであれば、分割されたデータはパケット(packet)である。本実施の形態では、転送されるデータとしてフレームを例示して説明する。しかし、これに制限されず、転送されるデータとしてはパケットであってもよく、分割されないデータであってもよい。
フラグ生成部11は、受信したフレームが有するフレーム制御情報に基づいて受信したフレームの種別を示すフレームフラグ情報を生成する。
検索キー生成部12は、フラグ生成部11によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。
検索制御部13は、エントリ検索情報記憶部14を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、検索キー情報が有するフレーム制御情報で検索する。
エントリ検索情報記憶部14は、エントリしたフレームの種別を示すエントリフラグ情報と、エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶する。
このようにして、受信したフレームの種別をチェックし、種別に応じたフレームフラグ情報を生成する。そして、そのフレームフラグ情報を、エントリの検索を行う検索キーに含ませる。また、エントリには、フレームの種別を示すエントリフラグ情報を含ませ、これらを用いて検索を行う。これにより、エントリフラグ情報およびフレームフラグ情報により、検索するエントリを特定することが可能になるので、エントリのアドレス順序性を意識する必要が無くなり、任意のアドレスに任意のエントリを設定することが可能になるので、エントリのソートが不要になる。
次に、上記の通信装置のさらに具体的な実施の態様について説明する。
なお、以下の実施の形態では通信装置をスイッチとして、特にMACアドレスに基づいてデータリンク層のフレームを中継するL2スイッチを例示しして説明する。なお、これに制限されず、本実施形態は、通信装置として、例えばIPアドレスに基づいてネットワーク層のパケットを中継するIPルータやL3スイッチにも適用することができる。また、OSI(Open Systems Interconnection)参照モデルにおけるL2のデータの単位を、パケットと呼ぶこともあるが、以下の実施の形態では、説明の便宜上、すべてフレームに統一して表現する。
[第2の実施の形態]
次に、第2の実施の形態について説明する。
図2は、第2の実施の形態の通信システムの全体構成を示す図である。本実施の形態の通信システムは、端末装置間でデータの送受信を行えるように、複数のL2スイッチがデータリンク層のフレームを中継するものである。
図2に示す通信システムは、スイッチ100,100a,100b,100c,100d,100e,100f,100gと端末装置61,62,63,64,65,66,67,68とで構成される。スイッチ100,100a,100b,100c,100d,100e,100f,100gは、L2スイッチである。端末装置61,62,63,64,65,66,67,68は、ユーザが使用する端末装置である。スイッチ100a,100b,100c,100d,100e,100f,100gは、スイッチ100と同様に構成されており、同等の機能を有する。
スイッチ100は、スイッチ100a,100b,100cと接続されている。スイッチ100aは、スイッチ100,100b,100cと接続されている。スイッチ100bは、スイッチ100,100a,100c,100d,100eと接続されている。スイッチ100cは、スイッチ100,100a,100b,100d,100eと接続されている。スイッチ100dは、スイッチ100b,100c,100e,100f,100gと接続されている。スイッチ100eは、スイッチ100b,100c,100d,100f,100gと接続されている。スイッチ100fは、スイッチ100d,100e,100gと接続されている。スイッチ100gは、スイッチ100d,100e,100fと接続されている。
端末装置61,62は、スイッチ100と接続されている。端末装置63,64は、スイッチ100aと接続されている。端末装置65,66は、スイッチ100fと接続されている。端末装置67,68は、スイッチ100gと接続されている。2つのスイッチ間またはスイッチと端末装置の間は、1つ以上の物理リンク(ネットワークケーブル)で接続されている。
スイッチ100,100a,100b,100c,100d,100e,100f,100gは、フレームに含まれるアドレスに従って、送信元の端末装置から宛て先の端末装置まで、フレームを中継する。具体的には、端末装置61が端末装置68へフレームを送信する場合、例えば、スイッチ100、スイッチ100c、スイッチ100d、スイッチ100gの順にフレームが中継される。
図3は、第2の実施の形態のスイッチのハードウェア構成を示す図である。図3は、スイッチ100の内部構成を示したものであるが、スイッチ100a,100b,100c,100d,100e,100f,100gも同様の構成で実現できる。スイッチ100は、CPU101、インタフェースカード102a,102b,102c,102d、スイッチカード103、テーブル記憶メモリ104、ポート監視部105、バス106を有している。
CPU101は、スイッチ100全体を制御している。CPU101は、プログラムによる処理を実行する。CPU101は、図示しないメモリに保持されたデータを用いて、同じくメモリに保持されたプログラムを実行する。CPU101は、図示しない通信インタフェースを介して、管理者が使用する図示しない管理用端末装置から送信されるコマンドを受信するとともに、コマンドに対する実行結果を管理用端末装置に応答する。
テーブル記憶メモリ104は、複数のテーブルを記憶している。テーブル記憶メモリ104に記憶されるテーブルには、論理リンクの構成を管理するテーブル、論理リンク内でのフレームの転送先を決定するためのテーブル、フレームの転送先を示す情報を格納するテーブルが含まれる。
バス106には、CPU101、インタフェースカード102a,102b,102c,102d、スイッチカード103、テーブル記憶メモリ104、ポート監視部105が接続されている。
インタフェースカード102a,102b,102c,102dは、それぞれ複数個(例えば、8個)の通信ポートを有している。それぞれの通信ポートには、1つの物理リンクを接続できる。インタフェースカード102a,102b,102c,102dは、それぞれの通信ポートを監視してフレームを取得する。なお、インタフェースカード102a,102b,102c,102dは、複数の通信ポートに同時にフレームが到来した場合に備えて、フレームを一時的に保持するバッファを内部に有している。そして、インタフェースカード102a,102b,102c,102dは、取得したフレームをスイッチカード103に送る。
スイッチカード103は、フレームの宛先を示すテーブルを有している。スイッチカード103は、テーブルに、受信したフレームの送信元アドレスと、そのフレームが到来した通信ポートまたは論理リンクの識別情報とを対応付けて記憶している。このテーブルの内容は、事前に静的に設定されたものである。
そして、スイッチカード103は、インタフェースカード102a,102b,102c,102dのいずれかからフレームを受け取ると、テーブルを参照して、そのフレームの転送先を決定する。ここで、決定した転送先が論理リンクである場合、スイッチカード103は、テーブル記憶メモリ104に記憶されたテーブルを参照して、転送に使用する具体的なインタフェースカード102a,102b,102c,102dおよび通信ポートを決定する。その後、スイッチカード103は、フレームを、決定したインタフェースカード102a,102b,102c,102dに送る。
フレームを受け取ったインタフェースカード102a,102b,102c,102dは、受け取ったフレームを、決定された通信ポートから送信先に送出する。
ポート監視部105は、インタフェースカード102a,102b,102c,102dの通信ポートを監視する。そして、ポート監視部105は、インタフェースカード102a,102b,102c,102dの通信ポートに接続された物理リンクの故障や復旧を検出すると、CPU101にその旨を通知する。
図4は、第2の実施の形態のフレームのデータ構造例を示す図である。図4に示すフレーム30,31,32が、インタフェースカード102a,102b,102c,102dの通信ポートを介して、スイッチ100等との間で送受信される。
フレーム30は、VLANタグを有さないタグ無しのフレームである。フレーム31は、1段のVLANタグを有する1段タグのフレームである。フレーム32は、2段のVLANタグを有する2段タグのフレームである。これらのフレーム30〜32は、スイッチ100における同一の物理ポート内に混在させて転送される場合がある。
フレーム30は、宛先MACアドレス(MAC DA:Media Access Control address Destination Address)、送信元MACアドレス、E−TYPE(EtherType)、ペイロードおよびFCS(Frame Check Sequence)を有する。フレーム31,32は、さらにそれぞれ1段または2段のVLANタグを有する。
宛先MACアドレスは、送信先の端末装置が有する通信インタフェースを一意に識別するアドレスである。送信元MACアドレスは、送信元の端末装置が有する通信インタフェースを一意に識別するアドレスである。VLANタグは、TPIDおよびVLAN IDを有している。図4のフレーム32に示すように、複数のVLANタグを連続してスタックすることも可能である。E−TYPEは、使用するプロトコルを指定するフィールドである。E−TYPEは、後段のペイロードに格納されるメッセージタイプが格納される。例えば、0x0800はIPv4フレームを示す。ペイロードは、IPv4フレーム等の上位レイヤのメッセージが格納される。ペイロードは、例えば、送受信するデータ本体であり、IPパケットを所定のデータ長に分割したものである。FCSは、受信したフレームの誤りを検出するために用いられる値である。
TPIDは、VLAN IDが後段に格納されていることを示すと共に、当該フレームの種類(例えば、VLANのフレームであるか通常のフレームであるか)を示す値である。TPIDは、一般的にIEEE802.1qで規定される0x8100が設定される。VLAN IDは、1つのネットワークを複数の論理的なネットワークに分割して運用する場合に、個々の論理的なネットワークに割り当てられる一意に定められた値である。VLAN IDには例えば、ユーザを特定するためのVLAN ID値が格納される。
図4に示す各種類のフレームが混在するスイッチ100のEthernetの物理ポートにおいて、一般的にタグ無しフレーム(フレーム30)は、特定のユーザ専用のフレームとして使用され、または、スイッチ間で送受信される制御フレームとして使用される。
VLANタグを有するフレーム(フレーム31,32)は、VLAN IDフィールドにユーザを識別するためのVLAN IDが格納される。例えば、ユーザAにはVLAN ID=100を割り当て、ユーザBにはVLAN ID=200を割り当てることができる。このように、異なるユーザに対して異なるVLAN IDを割り当てることにより、ネットワーク上でVLAN IDによるユーザの識別を行うことが可能になる。
また2段タグフレーム(フレーム32)は、下位ネットワークのフレームを上位ネットワークで転送するような場合において使用される。一般的に2段目のVLANタグは、下位ネットワークのユーザを識別するためのタグや管理用タグとして使用される。また、一般的に1段目のVLANタグは、上位ネットワークにおけるユーザを識別するためのタグや管理用タグとして使用される。
また、このような場合、下位ネットワークのフレームから上位ネットワークへの入り口において、外側タグとして、上位ネットワーク管理用のVLANタグ(例えば、フレーム32における2段目のVLANタグ)が新たに付与される。さらに、上位ネットワークから下位ネットワークへの出口において、上位ネットワーク管理用のVLANタグとして付与された、外側タグが削除される。
なお、フレームのデータ構造は、ネットワークの運用形態等に応じて、種々の変形例が考えられる。また、図4に示したもの以外のヘッダ情報が付加される場合もある。
図5は、第2の実施の形態のスイッチの機能を示すブロック図である。なお、図5ではスイッチ100を示しているが、他のスイッチ100a,100b,100c,100d,100e,100f,100gもスイッチ100と同様の機能を持たせることにより実現できる。
図5は、インタフェースカード102aによってフレームが受信され、スイッチカード103を介してインタフェースカード102b,102c,・・・が有するポート#1〜#Nによって転送される時のスイッチ100の動作を示す。
インタフェースカード102aは、フレーム受信部121、フラグ生成部122、検索キー生成部123、受信フレーム判定部124、連想メモリアクセス制御部125、連想メモリ126、アソシエイトメモリアクセス制御部127、アソシエイトメモリ128を有する。
インタフェースカード102aは、接続されている他の通信装置や端末装置等の通信機器と通信する回線ポート(例えば、ポート#1)を収容しており、通信機器とのインタフェース機能、受信フレーム処理、送信フレーム処理等を提供する。インタフェースカード102aは、スイッチ100に対して着脱可能としてもよく、スイッチ100やスイッチ100のマザーボードと一体化してもよい。
フレーム受信部121は、インタフェースカード102aが有する各受信ポート(例えば、ポート#1〜#N)の物理レイヤおよびMACレイヤの終端を行う。MACレイヤでは、受信したフレームのFCSチェック等を行い、FCSエラーが検出されたフレームは廃棄し、エラーが検出されなかったフレームは受信する。このフレームは、スイッチ100が接続されているネットワークを用いて統計多重化により転送されるユーザデータである。
フラグ生成部122は、受信したフレームが有するフレーム制御情報に基づいて、受信したフレームの種別を示すフラグ情報であるフレームフラグ情報を生成する。フレームフラグ情報は、受信したフレームのVLANタグの有無および個数を示す。フラグ生成部122は、受信したフレームのTPIDが設定される領域の値が所定の値と一致する場合には、受信したフレームはVLANタグを有すると判定してフレームフラグ情報を生成する。フラグ生成部122は、受信フレームのVLANタグのタグ段数をチェックし、タグ段数に応じてフレームフラグ情報の値を決定する。生成されたフレームフラグ情報は受信フレームと共に検索キー生成部123に送信される。
検索キー生成部123は、フラグ生成部122によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。
検索キー生成部123は、受信したフレームから制御情報を取得する。このとき、検索キー生成部123は、受信したフレームの先頭から20バイト目までの、20バイト分のデータを切り出して制御情報を取得し、取得した制御情報をフラグ生成部122から受信したフレームフラグ情報および受信したポート番号と結合して、連想メモリアクセス制御部125に対して連想メモリ126の検索キーとして送信する。
受信フレーム判定部124は、フレーム受信部121で受信したフレームについて、上記検索の結果に基づいて、送信先の判定や廃棄の判定等、受信したフレームの制御を行う。受信フレーム判定部124は、アソシエイトメモリアクセス制御部127から送信された宛先情報に基づいて受信したフレームの宛先を判定する。また、受信フレーム判定部124は、宛先情報が有する受信有効フラグが受信を拒否することを示す場合には、受信したフレームを廃棄する。
連想メモリアクセス制御部125は、検索キー生成部123から送信された連想メモリ126に対する検索と、CPU101から連想メモリ126に対するアクセスとの調停制御を行う。
連想メモリアクセス制御部125は、連想メモリ126を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、そのエントリ検索情報が有するエントリ制御情報と検索キー情報が有するフレーム制御情報とを比較して検索する。連想メモリアクセス制御部125は、検索制御部として機能する。
連想メモリ126は、エントリしたフレームの種別を示すフラグ情報であるエントリフラグ情報と、エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶する。エントリフラグ情報は、エントリしたフレームのVLANタグの有無および個数を示す。連想メモリ126は、連想メモリアクセス制御部125から送信された検索キーによる検索を実行して、一致するエントリがあった場合には、そのエントリが格納されているアドレスをアソシエイトメモリアクセス制御部127に送信する。この送信されたアドレスをインデックスとして、アソシエイトメモリ128のエントリを読み出すことが可能となる。連想メモリ126は、エントリ検索情報記憶部として機能する。なお、本実施の形態では連想メモリ126を用いているが、これに限らず、SRAM(Static Random Access Memory)等、他の方式の記憶装置を用いてもよい。
アソシエイトメモリアクセス制御部127は、連想メモリ126からのアクセスと、CPU101からアソシエイトメモリ128に対するアクセスとの調停制御を行う。また、アソシエイトメモリアクセス制御部127は、一連の検索処理により連想メモリ126から検索されたエントリ検索情報に応じて、アソシエイトメモリ128に記憶されている受信したフレームの宛先情報を受信フレーム判定部124に送信する。アソシエイトメモリアクセス制御部127は、宛先制御部として機能する。
アソシエイトメモリ128は、受信したフレームの宛先を示す宛先情報を記憶する。宛先情報は、受信したフレームについて受信を許可するかまたは受信を拒否するかを示す受信有効フラグを有する。アソシエイトメモリ128は、宛先情報記憶部として機能する。なお、アソシエイトメモリ128は、SRAMで構成されるが、これに限らず、DRAM(Dynamic Random Access Memory)等、他の方式の記憶装置を用いてもよい。
インタフェースカード102b,102c,・・・は、インタフェースカード102aと同様に構成され、同様の機能を有する。
スイッチカード103は、受信フレーム判定部124の判定結果に基づいて、ユーザフレームを受信したインタフェースカードから送信するインタフェースカードに転送する。これに基づいて、転送されたインタフェースカードのポートからフレームが出力される。
スイッチカード103は、スイッチ100においてインタフェースカード102a等とデータ信号で接続されており、インタフェースカード102a等の間のフレーム転送の切り替えを行う。スイッチカード103は、スイッチ100に対して着脱可能としてもよく、スイッチ100やスイッチ100のマザーボードと一体化してもよい。
図6は、第2の実施の形態のエントリ検索テーブルのデータ構造例を示す図である。図6に示すエントリ検索テーブル126aは、連想メモリ126に記憶されている、スイッチ100で受信したフレームのエントリの構成を示す。エントリ検索テーブル126aは、スイッチ100で受信するフレームの検索キーと比較される各エントリの検索条件を示すエントリ検索情報を記憶するテーブルである。エントリ検索テーブル126aには、“アドレス”、“タグ無しフラグ”フィールド、“1段タグフラグ”フィールド、“2段タグフラグ”フィールド、“受信ポート番号”フィールド、“宛先MACアドレス”フィールド、“送信元MACアドレス”フィールド、“TPID”フィールド(1段目)、“VLAN ID”フィールド(1段目)、“TPID”フィールド(2段目)、“VLAN ID”フィールド(2段目)が設けられている。各フィールドの横方向に並べられた情報同士がエントリ検索情報として互いに関連付けられている。
“アドレス”は、連想メモリ126における各エントリ検索情報が格納されているアドレスである。
“タグ無しフラグ”フィールド、“1段タグフラグ”フィールド、”2段タグフラグ”フィールドは、エントリの検索条件であるVLANタグの有無および段数を示すエントリフラグ情報が設定される各1ビットの領域である。エントリのフレームがタグ無しであれば、タグ無しフラグに“1”が設定される。エントリのフレームが1段タグであれば、1段タグフラグに“1”が設定される。エントリのフレームが2段タグであれば、2段タグフラグに“1”が設定される。
“受信ポート番号”フィールドは、エントリの検索条件であるフレームを受信した受信ポート番号を示す1バイトの領域である。
“宛先MACアドレス”フィールドは、エントリの検索条件であるスイッチ100で受信したフレームに示されている宛先MACアドレスを示す6バイトの領域である。“送信元MACアドレス”フィールドは、エントリの検索条件であるスイッチ100で受信したフレームに示されている送信元MACアドレスを示す6バイトの領域である。“TPID”フィールド(1段目)は、エントリの検索条件である1段目のVLANタグのTPIDの値を示す2バイトの領域である。“VLAN ID”フィールド(1段目)は、エントリの検索条件である1段目のVLANタグのVLAN IDの値を示す2バイトの領域である。“TPID”フィールド(2段目)は、エントリの検索条件である2段目のVLANタグのTPIDの値を示す2バイトの領域である。“VLAN ID”フィールド(2段目)は、エントリの検索条件である2段目のVLANタグのVLAN IDの値を示す2バイトの領域である。
本実施の形態では、図6に示すエントリ検索テーブル126aにおいて、上記のように、最初の3ビットは、“タグ無しフラグ”フィールド、“1段タグフラグ”フィールド、”2段タグフラグ”フィールドのエントリフラグ情報であり、次の1バイトは、受信ポート番号である。そして、残り20バイト(宛先MACアドレスフィールドからVLAN IDフィールド(2段目)まで)は、スイッチ100で受信したフレームの先頭から20バイト分のデータに対応するものである。このエントリ検索テーブル126aに示された各エントリのエントリフラグ情報および宛先MACアドレスフィールドからVLAN IDフィールド(2段目)までを、スイッチ100で受信したフレームについて、フラグ生成処理で生成されたフラグおよび先頭から20バイト分のデータである検索キーと比較することにより、フレームの検索が行われる。
また、エントリ検索テーブル126aにおいて、“−”はマスクされた領域を示す。マスクは、検索キーにおいてその領域がフレームとの比較の対象としないことを示しており、フレーム側においてマスクに対応する領域がいかなる値であっても、当該領域は一致しているものと判定される。また、連想メモリ126は、ビット単位に比較対象の制御が可能である。
エントリ検索テーブル126aの例では、アドレス100にタグ無しフレームのエントリが登録され、アドレス101に1段タグのフレームのエントリ(TPID=0x8100、VLAN ID=100)が登録されている。アドレス102に2段タグのフレームのエントリ(1段目のタグ(外側タグ)のTPID=0x8100、1段目のタグのVLAN ID=100、2段目のタグ(内側タグ)のTPID=0x8100、2段目のタグのVLAN ID=200)が登録されている。
また、連想メモリ126の検索キーによる検索は、若番アドレスから老番アドレスへ順に実施され、完全一致するエントリが見つかった場合、その時点で検索処理は終了し、そのエントリが格納されている連想メモリ126のアドレス値が連想メモリ126より出力される。
最終アドレスには、全マスクが設定された最終エントリを設定しておくものとする。これにより、受信したフレームに一致するエントリが登録されていない場合でも、受信したフレームを必ず最終アドレスのエントリに一致すると判定することが可能である。これに従い、受信したフレームの検索キーと比較して、連想メモリ126から送信される検索結果のアドレスが最終アドレスである場合には、「受信したフレームは、一致するエントリが無い」と判断される。
本実施の形態では、エントリ検索テーブル126aが有するエントリフラグ情報により、例えば1段タグ(TPID=0x8100、VLAN ID=100)のフレームや2段タグ(1段目のタグのTPID=0x8100、1段目のタグのVLAN ID=100、2段目のタグのTPID=0x8100、2段目のタグのVLAN ID=200)のフレームを受信し、受信したフレームの検索キーによって連想メモリ126が検索された場合に、タグ無し、1段タグ、2段タグではそれぞれ検索時に制御情報まで比較されるエントリフラグ情報が異なるため、1段タグや2段タグのフレームの検索キーが、タグ無しのフレームのエントリと一致することは無い。また、同様に、2段タグのフレームを受信し、受信したフレームの検索キーによって連想メモリ126が検索された場合に、検索キーが1段タグのフレームのエントリと一致することは無い。
このように本実施の形態では、フラグ生成処理によって、受信したフレームについて予めVLANタグのタグ段数がチェックされ、VLANタグの段数に応じたフレームフラグ情報が生成される。そして、生成されたフレームフラグ情報が検索キーに含まれる。これにより、連想メモリ126のエントリ検索テーブル126aに登録されるエントリのアドレスの順序を意識する必要が無くなるので、連想メモリ126の任意のアドレスに任意のエントリを設定することが可能であり、この場合にもエントリのソートが不要になる。
また、エントリ検索テーブル126aに示すように、最終エントリには全マスクのエントリを設定する。これにより、連想メモリ126における他のいずれのエントリにも一致しないフレームが存在する場合にも、そのようなフレームが最終エントリに一致したことにより未登録フレームと判定して廃棄することが可能になる。
なお、図6は、インタフェースカード102aが有する連想メモリ126に記憶されているエントリ検索テーブル126aを示したものであるが、インタフェースカード102b,102c,・・・が有するエントリ検索テーブル(図示省略)も同様の構成で実現できる。
図7は、第2の実施の形態の宛先テーブルのデータ構造例を示す図である。図7に示す宛先テーブル128aは、アソシエイトメモリ128に記憶されている、スイッチ100で受信したフレームの宛先を示す宛先情報を記憶するテーブルである。宛先テーブル128aには、“アドレス”、“受信有効フラグ”フィールド、“宛先カード情報”フィールド、“宛先ポート情報”フィールドが設けられている。各フィールドの横方向に並べられた情報同士が宛先情報として互いに関連付けられている。
“アドレス”は、アソシエイトメモリ128における各宛先情報が格納されているアドレスである。
“受信有効フラグ”フィールドには、エントリ検索テーブル126aにおいてそのアドレスに対応するエントリ検索情報と検索キーとを比較して、検索キーが一致したインタフェースカード102aで受信したフレームについて受信の許可または拒否を示すフラグが設定される。検索キーが、アドレスに対応するエントリ検索情報と一致したフレームについて、そのフレームの受信を許可する場合には、有効を示す値(例えば、“1”)が設定される。受信有効フラグに有効を示す値が設定されている場合、そのフレームは受信され、宛先カード情報および宛先ポート情報が示す宛先に転送される。検索キーが、アドレスに対応するエントリ検索情報と一致したフレームについて、そのフレームの受信を拒否する場合には、無効を示す値が設定される。受信有効フラグに無効を示す値(例えば、“0”)が設定されている場合、そのフレームは廃棄される。
“宛先カード情報”フィールドには、受信有効フラグにより受信が許可された各フレームの転送先のインタフェースカードを示す情報が設定される。宛先ポート情報”フィールドには、受信有効フラグにより受信が許可された各フレームの転送先のインタフェースカードにおけるポート番号を示す情報が設定される。
また、宛先テーブル128aに示すように、最終エントリには全マスクのエントリを設定する。この全マスクエントリに対応するエントリの受信有効フラグについて無効を示す“0”を設定する。これにより、アソシエイトメモリ128のどのエントリにも一致しないエントリに対して、そのエントリに一致したフレームを未登録フレームとして廃棄することが可能になる。
図8は、第2の実施の形態のフラグ生成処理の手順を示すフローチャートである。図8に示すフラグ生成処理は、受信されたフレームの先頭部分を取得し、取得した先頭部分に基づいてフレームフラグ情報が生成される処理である。フラグ生成処理は、フレーム受信部121にユーザフレームを受信し、フラグ生成部122にフレームが送信された場合に実行が開始される。
本実施の形態のフラグ生成処理では、以下に示すように、ユーザフレームを受信したインタフェースカード102aにより、受信したフレームの先頭部分が取得される。次に、取得した先頭部分に含まれているVLANタグのTPIDを取得してVLANタグが設定されているか否かおよび何段設定されているかを判定し、判定結果に基づいてフレームフラグ情報がセットされる。フラグ生成処理によって生成されたフラグは、受信したフレームの検索キーの一部であって、エントリ検索情報のエントリフラグ情報に対応する部分となる。
[ステップS11]フラグ生成部122は、受信したフレームの先頭部分(例えば、先頭から20バイト分)を切り出して取得する。
[ステップS12]フラグ生成部122は、ステップS11で取得したフレームの先頭部分における1段目のVLANタグのTPIDの領域(先頭から13バイト目および14バイト目)を参照して、1段目にVLANタグが設定されていることを示す所定値(例えば、“0x8100”)であるか否かについて判定する。1段目のVLANタグのTPIDの領域が所定値であれば、処理はステップS14に進められる。一方、1段目のVLANタグのTPIDの領域が所定値でなければ、処理はステップS13に進められる。
[ステップS13]フラグ生成部122は、受信したフレームのフレームフラグ情報に“タグ無し”を示す値(例えば、タグ無しフラグ=“1”、1段タグフラグ=“0”、2段タグフラグ=“0”)をセットする。その後、処理は終了する。
[ステップS14]フラグ生成部122は、ステップS11で取得したフレームの先頭部分における2段目のVLANタグのTPIDの領域(先頭から17バイト目および18バイト目)を参照して、2段目にVLANタグが設定されていることを示す所定値であるか否かについて判定する。2段目のVLANタグのTPIDの領域が所定値であれば、処理はステップS15に進められる。一方、2段目のVLANタグのTPIDの領域が所定値でなければ、処理はステップS16に進められる。
[ステップS15]フラグ生成部122は、受信したフレームのフレームフラグ情報に“2段タグ”を示す値(例えば、タグ無しフラグ=“0”、1段タグフラグ=“0”、2段タグフラグ=“1”)をセットする。その後、処理は終了する。
[ステップS16]フラグ生成部122は、受信したフレームのフレームフラグ情報に“1段タグ”を示す値(例えば、タグ無しフラグ=“0”、1段タグフラグ=“1”、2段タグフラグ=“0”)をセットする。その後、処理は終了する。
以上のように、第2の実施の形態によれば、予めVLANタグのタグ段数をチェックして、タグ段数に応じたフレームフラグ情報を生成する。そして、そのフレームフラグ情報を検索キーに含ませる。これにより、連想メモリ126に登録されているエントリのマスクがあっても、フレームフラグ情報およびエントリフラグ情報を比較することにより、検索するエントリを特定することが可能になるので、一致するフレームおよびエントリ同士を一意に特定することが可能になる。このため、連想メモリ126に登録されるエントリのアドレスの順序を意識する必要が無くなり、ソフトウェアは任意のアドレスに任意のエントリを設定すると共に、エントリのソートが不要になるので、スイッチ100における転送処理の負荷を軽減し、転送処理の安定化および高速化を図ることが可能になる。
また、全マスクのエントリを連想メモリ126の最終アドレスに登録することにより、最終エントリに一致したフレームを未登録フレームとして廃棄することが可能になる。
また、同様に、全マスクのエントリをアソシエイトメモリ128の最終アドレスに登録することにより、最終エントリに一致したフレームを未登録フレームとして廃棄することが可能になる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
第3の実施の形態は、TPIDの値が複数種類存在する場合に対応可能である点で、第2の実施の形態と異なる。
図9は、第3の実施の形態のスイッチの機能を示すブロック図である。図9は、インタフェースカード202aによってフレームが受信され、スイッチカード203を介してインタフェースカード202b,202c,・・・が有するポート#1〜#Nによって転送される時のスイッチ200の動作を示す。
インタフェースカード202aは、フレーム受信部221、フラグ生成部222、検索キー生成部223、受信フレーム判定部224、連想メモリアクセス制御部225、連想メモリ226、アソシエイトメモリアクセス制御部227、アソシエイトメモリ228を有する。
インタフェースカード202aは、接続されている他の通信装置や端末装置等の通信機器と通信する回線ポートを収容しており、通信機器とのインタフェース機能、受信フレーム処理、送信フレーム処理等を提供する。
フレーム受信部221は、インタフェースカード202aが有する各受信ポートの物理レイヤおよびMACレイヤの終端を行う。
フラグ生成部222は、受信したフレームが有するフレーム制御情報に基づいて受信したフレームの種別を示すフラグ情報であるフレームフラグ情報を生成する。フレームフラグ情報は、受信したフレームのVLANタグの有無および個数を示す。
ここで、本実施の形態では、フレームフラグ情報の生成の判定に用いられるTPIDの値は、予め複数種類設定されている。フラグ生成部222は、受信したフレームのTPIDが設定される領域の値が、予め設定されているいずれかの値と一致する場合には、受信したフレームはVLANタグを有すると判定してフレームフラグ情報を生成する。フラグ生成部222は、受信フレームのVLANタグのタグ段数をチェックし、タグ段数に応じてフレームフラグ情報の値を決定する。生成されたフレームフラグ情報は受信フレームと共に検索キー生成部223に送信される。
検索キー生成部223は、フラグ生成部222によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。
検索キー生成部223は、受信したフレームから制御情報を取得する。このとき、検索キー生成部223は、受信したフレームの先頭から20バイト目までの、20バイト分のデータを切り出して制御情報を取得し、取得した制御情報をフラグ生成部222から受信したフレームフラグ情報および受信したポート番号と結合して、連想メモリアクセス制御部225に対して連想メモリ226の検索キーとして送信する。
受信フレーム判定部224は、フレーム受信部221で受信したフレームについて、上記検索の結果に基づいて、送信先の判定や廃棄の判定等、受信したフレームの制御を行う。受信フレーム判定部224は、アソシエイトメモリアクセス制御部227から送信された宛先情報に基づいて受信したフレームの宛先を判定する。また、受信フレーム判定部224は、宛先情報が有する受信有効フラグが受信を拒否することを示す場合には、受信したフレームを廃棄する。
連想メモリアクセス制御部225は、検索キー生成部223から送信された連想メモリ226に対する検索と、CPU101から連想メモリ226に対するアクセスとの調停制御を行う。
連想メモリアクセス制御部225は、連想メモリ226を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、そのエントリ検索情報が有するエントリ制御情報と検索キー情報が有するフレーム制御情報とを比較して検索する。連想メモリアクセス制御部225は、検索制御部として機能する。
連想メモリ226は、エントリしたフレームの種別を示すフラグ情報であるエントリフラグ情報と、エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶する。エントリフラグ情報は、エントリしたフレームのVLANタグの有無および個数を示す。連想メモリ226は、連想メモリアクセス制御部225から送信された検索キーによる検索を実行して、一致するエントリがあった場合には、そのエントリが格納されているアドレスをアソシエイトメモリアクセス制御部227に送信する。ここで、本実施の形態では、図10に後述するように、エントリ検索情報においても、TPIDの値は予め複数種類設定されている。この送信されたアドレスをインデックスとして、アソシエイトメモリ228のエントリを読み出すことが可能となる。連想メモリ226は、エントリ検索情報記憶部として機能する。
アソシエイトメモリアクセス制御部227は、連想メモリ226からのアクセスと、CPU101からアソシエイトメモリ228に対するアクセスとの調停制御を行う。また、アソシエイトメモリアクセス制御部227は、一連の検索処理により連想メモリ226から検索されたエントリ検索情報に応じて、アソシエイトメモリ228に記憶されている受信したフレームの宛先情報を受信フレーム判定部224に送信する。アソシエイトメモリアクセス制御部227は、宛先制御部として機能する。
アソシエイトメモリ228は、受信したフレームの宛先を示す宛先情報を記憶する。宛先情報は、受信したフレームについて受信を許可するかまたは受信を拒否するかを示す受信有効フラグを有する。アソシエイトメモリ228は、宛先情報記憶部として機能する。
インタフェースカード202b,202c,・・・は、インタフェースカード202aと同様に構成され、同様の機能を有する。
スイッチカード203は、受信フレーム判定部224の判定結果に基づいて、ユーザフレームを受信したインタフェースカードから送信するインタフェースカードに転送する。これに基づいて、転送されたインタフェースカードのポートからフレームが出力される。
図10は、第3の実施の形態のエントリ検索テーブルのデータ構造例を示す図である。図10に示すエントリ検索テーブル226aは、連想メモリ226に記憶されている、スイッチ200で受信したフレームのエントリの構成を示す。エントリ検索テーブル226aは、スイッチ200で受信するフレームの検索キーと比較される各エントリの検索条件を示すエントリ検索情報を記憶するテーブルである。エントリ検索テーブル226aには、第2の実施の形態のエントリ検索テーブル126aと同様、“アドレス”、“タグ無しフラグ”フィールド、“1段タグフラグ”フィールド、“2段タグフラグ”フィールド、“受信ポート番号”フィールド、“宛先MACアドレス”フィールド、“送信元MACアドレス”フィールド、“TPID”フィールド(1段目)、“VLAN ID”フィールド(1段目)、“TPID”フィールド(2段目)、“VLAN ID”フィールド(2段目)が設けられている。各フィールドの横方向に並べられた情報同士がエントリ検索情報として互いに関連付けられている。
ここで、IEEE802.1qにおいて、複数のVLANタグがスタックされる構成において、ユーザーネットワークで使用するカスマタタグ(Cタグ)と、通信事業者であるキャリアネットワークで使用するサービスタグ(Sタグ)の2種類について、CタグのTPIDは0x8100と規定されており、SタグのTPIDは0x88a8と規定されている。本実施の形態では、複数のタグ段数をサポートするVLANタグフレームであって、1段目のタグと2段目のタグにおいて、2種類の異なるTPIDが使用される場合に対応可能である。
エントリ検索テーブル226aの例では、第2の実施の形態と同様、アドレス100にタグ無しフレームのエントリが登録され、アドレス101に1段タグのフレームのエントリ(TPID=0x8200、VLAN ID=100)が登録されている。アドレス102に2段タグのフレームのエントリ(1段目のタグのTPID=0x8100、VLAN ID=100、2段目のタグのTPID=0x8100、VLAN ID=200)が登録されている。
さらに、エントリ検索テーブル226aの例では、アドレス103に1段タグのフレームのエントリ(TPID=0x88a8、VLAN ID=100)が登録されている。アドレス104に2段タグのフレームのエントリ(1段目のタグのTPID=0x88a8、1段目のタグのVLAN ID=100、2段目のタグのTPID=0x8100、2段目のタグのVLAN ID=200)が登録されている。
なお、図10は、インタフェースカード202aが有する連想メモリ226に記憶されているエントリ検索テーブル226aを示したものであるが、インタフェースカード202b,202c,・・・のスイッチ200における他のインタフェースカードが有するエントリ検索テーブル(図示省略)も同様の構成で実現できる。
図11は、第3の実施の形態のフラグ生成処理の手順を示すフローチャートである。図11に示すフラグ生成処理は、受信されたフレームの先頭部分を取得し、取得した先頭部分に基づいてフレームフラグ情報が生成される処理である。フラグ生成処理は、フレーム受信部221にユーザフレームを受信し、フラグ生成部222にフレームが送信された場合に実行が開始される。
本実施の形態のフラグ生成処理では、以下に示すように、ユーザフレームを受信したインタフェースカード202aにより、受信したフレームの先頭部分が取得される。次に、VLANタグのTPIDが、例えば、“0x8100”および“0x88a8”の2種類存在する場合において、取得した先頭部分に含まれているVLANタグのTPIDを取得していずれかのTPIDのVLANタグが設定されているか否かおよび何段設定されているかを判定し、判定結果に基づいてフレームフラグ情報がセットされる。フラグ生成処理によって生成されたフラグは、受信したフレームの検索キーの一部であって、エントリ検索情報のエントリフラグ情報に対応する部分となる。
[ステップS21]フラグ生成部222は、受信したフレームの先頭部分(例えば、先頭から20バイト分)を切り出して取得する。
[ステップS22]フラグ生成部222は、ステップS21で取得したフレームの先頭部分における1段目のVLANタグのTPIDの領域(先頭から13バイト目および14バイト目)を参照して、1段目にVLANタグが設定されていることを示す所定値1(例えば、“0x8100”)であるか否かについて判定する。1段目のVLANタグのTPIDの領域が所定値1であれば、処理はステップS25に進められる。一方、1段目のVLANタグのTPIDの領域が所定値1でなければ、処理はステップS23に進められる。
[ステップS23]フラグ生成部222は、ステップS21で取得したフレームの先頭部分における1段目のVLANタグのTPIDの領域を参照して、1段目にVLANタグが設定されていることを示す所定値2(例えば、“0x88a8”)であるか否かについて判定する。1段目のVLANタグのTPIDの領域が所定値2であれば、処理はステップS25に進められる。一方、1段目のVLANタグのTPIDの領域が所定値2でなければ、処理はステップS24に進められる。
[ステップS24]フラグ生成部222は、受信したフレームのフレームフラグ情報に“タグ無し”を示す値(例えば、タグ無しフラグ=“1”、1段タグフラグ=“0”、2段タグフラグ=“0”)をセットする。その後、処理は終了する。
[ステップS25]フラグ生成部222は、ステップS21で取得したフレームの先頭部分における2段目のVLANタグのTPIDの領域(先頭から17バイト目および18バイト目)を参照して、2段目にVLANタグが設定されていることを示す所定値1であるか否かについて判定する。2段目のVLANタグのTPIDの領域が所定値1であれば、処理はステップS27に進められる。一方、2段目のVLANタグのTPIDの領域が所定値1でなければ、処理はステップS26に進められる。
[ステップS26]フラグ生成部222は、ステップS21で取得したフレームの先頭部分における2段目のVLANタグのTPIDの領域を参照して、2段目にVLANタグが設定されていることを示す所定値2であるか否かについて判定する。2段目のVLANタグのTPIDの領域が所定値2であれば、処理はステップS27に進められる。一方、2段目のVLANタグのTPIDの領域が所定値2でなければ、処理はステップS28に進められる。
[ステップS27]フラグ生成部222は、受信したフレームのフレームフラグ情報に“2段タグ”を示す値(例えば、タグ無しフラグ=“0”、1段タグフラグ=“0”、2段タグフラグ=“1”)をセットする。その後、処理は終了する。
[ステップS28]フラグ生成部222は、受信したフレームのフレームフラグ情報に“1段タグ”を示す値(例えば、タグ無しフラグ=“0”、1段タグフラグ=“1”、2段タグフラグ=“0”)をセットする。その後、処理は終了する。
以上のように、第3の実施の形態によれば、第2の実施の形態に加えて、複数種類のTPIDを持つVLANタグが存在する場合に対しても適用可能である。
[第4の実施の形態]
次に、第4の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
第4の実施の形態は、任意のTPID値を設定可能である点で、第2の実施の形態と異なる。
図12は、第4の実施の形態のスイッチの機能を示すブロック図である。図12は、インタフェースカード302aによってフレームが受信され、スイッチカード303を介してインタフェースカード302b,302c,・・・が有するポート#1〜#Nによって転送される時のスイッチ300の動作を示す。
インタフェースカード302aは、フレーム受信部321、フラグ生成部322、検索キー生成部323、受信フレーム判定部324、連想メモリアクセス制御部325、連想メモリ326、アソシエイトメモリアクセス制御部327、アソシエイトメモリ328、TPID設定部329を有する。
インタフェースカード302aは、接続されている他の通信装置や端末装置等の通信機器と通信する回線ポートを収容しており、通信機器とのインタフェース機能、受信フレーム処理、送信フレーム処理等を提供する。
フレーム受信部321は、インタフェースカード302aが有する各受信ポートの物理レイヤおよびMACレイヤの終端を行う。
フラグ生成部322は、受信したフレームが有するフレーム制御情報に基づいて受信したフレームの種別を示すフラグ情報であるフレームフラグ情報を生成する。フレームフラグ情報は、受信したフレームのVLANタグの有無および個数を示す。
ここで、本実施の形態では、フレームフラグ情報の生成の判定に用いられるTPIDの値は、予め複数種類設定されている。フラグ生成部322は、受信したフレームのTPIDが設定される領域の値が、予め設定されているいずれかの値と一致する場合には、受信したフレームはVLANタグを有すると判定してフレームフラグ情報を生成する。フラグ生成部322は、受信フレームのVLANタグのタグ段数をチェックし、タグ段数に応じてフレームフラグ情報の値を決定する。生成されたフレームフラグ情報は受信フレームと共に検索キー生成部323に送信される。
検索キー生成部323は、フラグ生成部322によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。
検索キー生成部323は、受信したフレームから制御情報を取得する。このとき、検索キー生成部323は、受信したフレームの先頭から20バイト目までの、20バイト分のデータを切り出して制御情報を取得し、取得した制御情報をフラグ生成部322から受信したフレームフラグ情報および受信したポート番号と結合して、連想メモリアクセス制御部325に対して連想メモリ326の検索キーとして送信する。
受信フレーム判定部324は、フレーム受信部321で受信したフレームについて、上記検索の結果に基づいて、送信先の判定や廃棄の判定等、受信したフレームの制御を行う。受信フレーム判定部324は、アソシエイトメモリアクセス制御部327から送信された宛先情報に基づいて受信したフレームの宛先を判定する。また、受信フレーム判定部324は、宛先情報が有する受信有効フラグが受信を拒否することを示す場合には、受信したフレームを廃棄する。
連想メモリアクセス制御部325は、検索キー生成部323から送信された連想メモリ326に対する検索と、CPU101から連想メモリ326に対するアクセスとの調停制御を行う。
連想メモリアクセス制御部325は、連想メモリ326を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、そのエントリ検索情報が有するエントリ制御情報と検索キー情報が有するフレーム制御情報とを比較して検索する。連想メモリアクセス制御部325は、検索制御部として機能する。
連想メモリ326は、エントリしたフレームの種別を示すフラグ情報であるエントリフラグ情報と、エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶する。エントリフラグ情報は、エントリしたフレームのVLANタグの有無および個数を示す。連想メモリ326は、連想メモリアクセス制御部325から送信された検索キーによる検索を実行して、一致するエントリがあった場合には、そのエントリが格納されているアドレスをアソシエイトメモリアクセス制御部327に送信する。ここで、本実施の形態では、エントリ検索情報においても、TPIDの値は予め複数種類設定されている。この送信されたアドレスをインデックスとして、アソシエイトメモリ328のエントリを読み出すことが可能となる。連想メモリ326は、エントリ検索情報記憶部として機能する。
アソシエイトメモリアクセス制御部327は、連想メモリ326からのアクセスと、CPU101からアソシエイトメモリ328に対するアクセスとの調停制御を行う。また、アソシエイトメモリアクセス制御部327は、一連の検索処理により連想メモリ326から検索されたエントリ検索情報に応じて、アソシエイトメモリ328に記憶されている受信したフレームの宛先情報を受信フレーム判定部324に送信する。アソシエイトメモリアクセス制御部327は、宛先制御部として機能する。
アソシエイトメモリ328は、受信したフレームの宛先を示す宛先情報を記憶する。宛先情報は、受信したフレームについて受信を許可するかまたは受信を拒否するかを示す受信有効フラグを有する。アソシエイトメモリ328は、宛先情報記憶部として機能する。
TPID設定部329は、図示しない管理用端末装置によるTPIDの値の入力を受け付け、受け付けたTPIDの値を示すTPID設定情報を設定すると共に、設定したTPID設定情報を記憶する。TPID設定部329は、フラグ生成部322の要求に応じてTPID設定情報を送信する。
インタフェースカード302b,302c,・・・は、インタフェースカード302aと同様に構成され、同様の機能を有する。
スイッチカード303は、受信フレーム判定部324の判定結果に基づいて、ユーザフレームを受信したインタフェースカードから送信するインタフェースカードに転送する。これに基づいて、転送されたインタフェースカードのポートからフレームが出力される。
図13は、第4の実施の形態のTPID設定テーブルのデータ構造例を示す図である。図13に示すTPID設定テーブル329aは、スイッチ300で受信したフレームが有するVLANタグを有効にするか無効にするかを示すTPID設定情報を記憶するテーブルである。TPID設定テーブル329aは、TPID設定部329で管理されると共に記憶されている。このTPID設定テーブル329aは、インタフェースカード302aのポート毎に1段目のVLANタグに使用されるTPIDであるTPID1の値と、2段目のVLANタグに使用されるTPIDであるTPID2の値とを設定可能とする。
TPID設定テーブル329aには、“ポート番号”フィールド、“TPID1有効フラグ”フィールド、“TPID1”フィールド、“TPID2有効フラグ”フィールド、“TPID2”フィールドが設けられている。各フィールドの横方向に並べられた情報同士がTPID設定情報として互いに関連付けられている。
“ポート番号”フィールドには、フレームを受信したポート番号が設定される。各TPID設定情報は、このポート番号フィールドで示されたポート番号から受信したフレームのTPIDの判定に用いられる。
“TPID1有効フラグ”フィールドには、TPID1に設定されたTPIDが有効であるか無効であるかを示すフラグが設定される。そのTPIDが有効である場合には、有効を示す値(例えば、“1”)が設定される。TPID1有効フラグに有効を示す値が設定されている場合、そのTPID1が示すTPIDは、インタフェースカード302aで受信したフレームのフラグ生成において1段目のVLANタグの有無の判定に使用される。TPID有効フラグに無効を示す値(例えば、“0”)が設定されている場合、TPID1が示すTPIDは、インタフェースカード302aで受信したフレームのフラグ生成において使用されず、1段目のVLANタグは無いと判定される。
“TPID1”フィールドには、TPID1有効フラグの値が有効を示す場合に受信したフレームが1段目のVLANタグを有するか否かの判定に用いられるTPIDの値が設定される。
“TPID2有効フラグ”フィールドには、TPID2に設定されたTPIDが有効であるか無効であるかを示すフラグが設定される。そのTPIDが有効である場合には、有効を示す値が設定される。TPID2有効フラグに有効を示す値が設定されている場合、そのTPID2が示すTPIDは、インタフェースカード302aで受信したフレームのフラグ生成において2段目のVLANタグの有無の判定に使用される。TPID有効フラグに無効を示す値が設定されている場合、TPID2が示すTPIDは、インタフェースカード302aで受信したフレームのフラグ生成において使用されず、2段目のVLANタグは無いと判定される。
“TPID2”フィールドには、TPID2有効フラグの値が有効を示す場合に受信したフレームが2段目のVLANタグを有するか否かの判定に用いられるTPIDの値が設定される。
本実施の形態では、TPID設定テーブル329aにより、ポート毎に各段のVLANタグのTPID値を、明示的に設定することが可能になる。
図14は、第4の実施の形態のフラグ生成処理の手順を示すフローチャートである。図14に示すフラグ生成処理は、受信されたフレームの先頭部分を取得し、取得した先頭部分に基づいてフレームフラグ情報が生成される処理である。フラグ生成処理は、フレーム受信部321にユーザフレームを受信し、フラグ生成部322にフレームが送信された場合に実行が開始される。
本実施の形態のフラグ生成処理では、以下に示すように、ユーザフレームを受信したインタフェースカード302aにより、受信したフレームの先頭部分が取得される。次に、取得した先頭部分に含まれているVLANタグのTPIDを取得してVLANタグが設定されているか否かおよび何段設定されているかを判定し、判定結果に基づいてフレームフラグ情報がセットされる。フラグ生成処理によって生成されたフラグは、受信したフレームの検索キーの一部であって、エントリ検索情報のエントリフラグ情報に対応する部分となる。
[ステップS31]フラグ生成部322は、受信したフレームの先頭部分(例えば、先頭から20バイト分)を切り出して取得する。
[ステップS32]フラグ生成部322は、TPID設定部329から、フレームを受信したポート番号に応じたTPID設定情報を取得する。
[ステップS33]フラグ生成部322は、ステップS32で取得したTPID設定情報を参照して、TPID1有効フラグの値が有効を示す“1”であるか無効を示す“0”であるかについて判定する。TPID1有効フラグの値が有効であれば、処理はステップS34に進められる。一方、TPID1有効フラグの値が無効であれば、処理はステップS35に進められる。
[ステップS34]フラグ生成部322は、ステップS31で取得したフレームの先頭部分における1段目のVLANタグのTPIDの領域(先頭から13バイト目および14バイト目)を参照して、ステップS32で取得したTPID設定情報のTPID1に設定されている設定値1(例えば、“0x9100”)であるか否かについて判定する。1段目のVLANタグのTPIDの領域が設定値1であれば、処理はステップS36に進められる。一方、1段目のVLANタグのTPIDの領域が設定値1でなければ、処理はステップS35に進められる。
[ステップS35]フラグ生成部322は、受信したフレームのフレームフラグ情報に“タグ無し”を示す値(例えば、タグ無しフラグ=“1”、1段タグフラグ=“0”、2段タグフラグ=“0”)をセットする。その後、処理は終了する。
[ステップS36]フラグ生成部322は、ステップS32で取得したTPID設定情報を参照して、TPID2有効フラグの値が有効を示す“1”であるか無効を示す“0”であるかについて判定する。TPID2有効フラグの値が有効であれば、処理はステップS37に進められる。一方、TPID2有効フラグの値が無効であれば、処理はステップS39に進められる。
[ステップS37]フラグ生成部322は、ステップS31で取得したフレームの先頭部分における2段目のVLANタグのTPIDの領域(先頭から17バイト目および18バイト目)を参照して、ステップS32で取得したTPID設定情報のTPID2に設定されている設定値2(例えば、“0x9200”)であるか否かについて判定する。2段目のVLANタグのTPIDの領域が設定値2であれば、処理はステップS38に進められる。一方、2段目のVLANタグのTPIDの領域が設定値2でなければ、処理はステップS39に進められる。
[ステップS38]フラグ生成部322は、受信したフレームのフレームフラグ情報に“2段タグ”を示す値(例えば、タグ無しフラグ=“0”、1段タグフラグ=“0”、2段タグフラグ=“1”)をセットする。その後、処理は終了する。
[ステップS39]フラグ生成部322は、受信したフレームのフレームフラグ情報に“1段タグ”を示す値(例えば、タグ無しフラグ=“0”、1段タグフラグ=“1”、2段タグフラグ=“0”)をセットする。その後、処理は終了する。
上記のように、IEEE標準仕様においては、CタグのTPIDは0x8100と規定されており、SタグのTPIDは0x88a8と規定されている。しかし、例えば、プライベートネットワークや特定の通信事業者で使用される場合等において、任意のTPID値を設定可能であることが要求される場合もある。本実施の形態では、ポート毎に1段目のVLANタグおよび2段目のVLANタグのそれぞれに対して、任意のTPID値を設定することが可能になる。
以上のように、第4の実施の形態によれば、第2の実施の形態に加えて、複数の段数のVLANタグを持つEthernetフレームに対して、ポート毎に任意のTPID値による判定を行うことができる。これにより、より柔軟なVLANネットワークの構築が可能になる。
[第5の実施の形態]
次に、第5の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
第5の実施の形態は、Ethernetフレームが転送する上位レイヤの判定も可能である点で、第2の実施の形態と異なる。
図15は、第5の実施の形態のスイッチの機能を示すブロック図である。図15は、インタフェースカード402aによってフレームが受信され、スイッチカード403を介してインタフェースカード402b,402c,・・・が有するポート#1〜#Nによって転送される時のスイッチ400の動作を示す。
インタフェースカード402aは、フレーム受信部421、フラグ生成部422、検索キー生成部423、受信フレーム判定部424、連想メモリアクセス制御部425、連想メモリ426、アソシエイトメモリアクセス制御部427、アソシエイトメモリ428を有する。
インタフェースカード402aは、接続されている他の通信装置や端末装置等の通信機器と通信する回線ポートを収容しており、通信機器とのインタフェース機能、受信フレーム処理、送信フレーム処理等を提供する。
フレーム受信部421は、インタフェースカード402aが有する各受信ポートの物理レイヤおよびMACレイヤの終端を行う。
フラグ生成部422は、受信したフレームが有するフレーム制御情報に基づいて受信したフレームの種別を示すフラグ情報であるフレームフラグ情報を生成する。フレームフラグ情報は、受信したフレームのVLANタグの有無および個数を示す。
ここで、本実施の形態では、フレームフラグ情報の生成の判定に用いられるTPIDの値は、予め複数種類設定されている。フラグ生成部422は、受信したフレームのTPIDが設定される領域の値が、予め設定されているいずれかの値と一致する場合には、受信したフレームはVLANタグを有すると判定してフレームフラグ情報を生成する。フラグ生成部422は、受信フレームのVLANタグのタグ段数をチェックし、タグ段数に応じてフレームフラグ情報の値を決定する。生成されたフレームフラグ情報は受信フレームと共に検索キー生成部423に送信される。
検索キー生成部423は、フラグ生成部422によって生成されたフレームフラグ情報と受信したフレームが有するフレーム制御情報の全部または一部とを有する検索キー情報を生成する。
検索キー生成部423は、受信したフレームから制御情報を取得する。このとき、本実施の形態の検索キー生成部423は、受信したフレームの先頭から22バイト目までの、22バイト分のデータを切り出して制御情報を取得し、取得した制御情報をフラグ生成部422から受信したフレームフラグ情報および受信したポート番号と結合して、連想メモリアクセス制御部425に対して連想メモリ426の検索キーとして送信する。
このように、本実施の形態では、フレーム制御情報は、受信したフレームの上位レイヤのプロトコルを示すフレーム上位プロトコル情報として、2段目のVLANタグの直後に位置する領域のデータであるE−TYPEを有する。これにより、2段タグのVLANをフレーム受信した場合にも、連想メモリ426で検索するときに、E−TYPEの検索が可能になる。
受信フレーム判定部424は、フレーム受信部421で受信したフレームについて、上記検索の結果に基づいて、送信先の判定や廃棄の判定等、受信したフレームの制御を行う。受信フレーム判定部424は、アソシエイトメモリアクセス制御部427から送信された宛先情報に基づいて受信したフレームの宛先を判定する。また、受信フレーム判定部424は、宛先情報が有する受信有効フラグが受信を拒否することを示す場合には、受信したフレームを廃棄する。
連想メモリアクセス制御部425は、検索キー生成部423から送信された連想メモリ426に対する検索と、CPU101から連想メモリ426に対するアクセスとの調停制御を行う。
連想メモリアクセス制御部425は、連想メモリ426を制御して、検索キー情報が有するフレームフラグ情報とエントリ検索情報が有するエントリフラグ情報とを比較して、比較結果が一致したエントリ検索情報について、そのエントリ検索情報が有するエントリ制御情報と検索キー情報が有するフレーム制御情報とを比較して検索する。連想メモリアクセス制御部425は、検索制御部として機能する。
連想メモリ426は、エントリしたフレームの種別を示すフラグ情報であるエントリフラグ情報と、エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶する。エントリフラグ情報は、エントリしたフレームのVLANタグの有無および個数を示す。連想メモリ426は、連想メモリアクセス制御部425から送信された検索キーによる検索を実行して、一致するエントリがあった場合には、そのエントリが格納されているアドレスをアソシエイトメモリアクセス制御部427に送信する。
ここで、本実施の形態では、エントリ制御情報は、エントリされたフレームの上位レイヤのプロトコルを示すエントリ上位プロトコル情報として、E−TYPEの領域が設けられている。これにより、受信したフレームについてE−TYPEを検索条件に含めてエントリを検索することが可能になる。この送信されたアドレスをインデックスとして、アソシエイトメモリ428のエントリを読み出すことが可能となる。連想メモリ426は、エントリ検索情報記憶部として機能する。
アソシエイトメモリアクセス制御部427は、連想メモリ426からのアクセスと、CPU101からアソシエイトメモリ428に対するアクセスとの調停制御を行う。また、アソシエイトメモリアクセス制御部427は、一連の検索処理により連想メモリ426から検索されたエントリ検索情報に応じて、アソシエイトメモリ428に記憶されている受信したフレームの宛先情報を受信フレーム判定部424に送信する。アソシエイトメモリアクセス制御部427は、宛先制御部として機能する。
アソシエイトメモリ428は、受信したフレームの宛先を示す宛先情報を記憶する。宛先情報は、受信したフレームについて受信を許可するかまたは受信を拒否するかを示す受信有効フラグを有する。アソシエイトメモリ428は、宛先情報記憶部として機能する。
インタフェースカード402b,402c,・・・は、インタフェースカード402aと同様に構成され、同様の機能を有する。
スイッチカード403は、受信フレーム判定部424の判定結果に基づいて、ユーザフレームを受信したインタフェースカードから送信するインタフェースカードに転送する。これに基づいて、転送されたインタフェースカードのポートからフレームが出力される。
連想メモリアクセス制御部425は、受信したフレームの制御情報が有するE−TYPEと、エントリフラグ制御情報が有するE−TYPEとを比較して検索することが可能である。
図16は、第5の実施の形態のエントリ検索テーブルのデータ構造例を示す図である。図16に示すエントリ検索テーブル426aは、連想メモリ426に記憶されている、スイッチ400で受信したフレームのエントリの構成を示す。エントリ検索テーブル426aは、スイッチ400で受信するフレームの検索キーと比較される各エントリの検索条件を示すエントリ検索情報を記憶するテーブルである。エントリ検索テーブル426aには、 “アドレス”、“タグ無しフラグ”フィールド、“1段タグフラグ”フィールド、“2段タグフラグ”フィールド、“受信ポート番号”フィールド、“宛先MACアドレス”フィールド、“送信元MACアドレス”フィールド、“TPID”フィールド(1段目)、“VLAN ID”フィールド(1段目)、“TPID”フィールド(2段目)、“VLAN ID”フィールド(2段目)、“E−TYPE”フィールドが設けられている。各フィールドの横方向に並べられた情報同士がエントリ検索情報として互いに関連付けられている。
“E−TYPE”フィールドは、エントリの検索条件である上位レイヤの識別子であるE−TYPEを示す2バイトの領域である。E−TYPEフィールドにおいて、“0x0800”はIPv4フレームを表す。また、0x86ddはIPv6フレームを表す。
エントリ検索テーブル426aの例では、アドレス100にタグ無しフレームのエントリが登録され、アドレス101に1段タグのフレームのエントリ(TPID=0x8100、VLAN ID=100)が登録されている。アドレス102に2段タグのフレームのエントリ(1段目のタグのTPID=0x88a8、1段目のタグのVLAN ID=100、2段目のタグのTPID=0x8100、2段目のタグのVLAN ID=200、E−TYPE=0x0800)が登録されている。アドレス103に2段タグのフレームのエントリ(1段目のタグのTPID=0x88a8、1段目のタグのVLAN ID=100、2段目のタグのTPID=0x8100、2段目のタグのVLAN ID=200、E−TYPE=0x86dd)が登録されている。
本実施の形態では、このE−TYPEフィールドによって、エントリ検索テーブル426aのアドレス102,103のエントリに示すように、1段目タグのTPID=0x88a8、VLAN ID=100に対して、上位レイヤがIPv4フレームの場合とIPv6フレームの場合に、異なるエントリを設定することが可能になる。これにより、フレームの判定について上位レイヤまで含めて行うことが可能になる。
また、エントリ検索テーブル426aに示すように、最終エントリには全マスクのエントリを設定する。これにより、連想メモリ426における他のいずれのエントリにも一致しないフレームが存在する場合にも、そのようなフレームが最終エントリに一致したことにより未登録フレームと判定して廃棄することが可能になる。
なお、図16は、インタフェースカード402aが有する連想メモリ426に記憶されているエントリ検索テーブル426aを示したものであるが、インタフェースカード402b,402c,・・・のスイッチ400における他のインタフェースカードが有するエントリ検索テーブル(図示省略)も同様の構成で実現できる。
図17は、第5の実施の形態の宛先テーブルのデータ構造例を示す図である。図17に示す宛先テーブル428aは、アソシエイトメモリ428に記憶されている、スイッチ400で受信したフレームの宛先を示す宛先情報を記憶するテーブルである。宛先テーブル428aには、第2の実施の形態の宛先テーブル128aと同様、“アドレス”、“受信有効フラグ”フィールド、“宛先カード情報”フィールド、“宛先ポート情報”フィールドが設けられている。各フィールドの横方向に並べられた情報同士が宛先情報として互いに関連付けられている。
宛先テーブル428aに示すアソシエイトメモリ428のエントリでは、IPv4フレームのエントリに対応するアドレス102は、“カード#3”(例えば、インタフェースカード402cを示すものとする)の“ポート#1”が宛先として設定されている。また、IPv6フレームのエントリに対応するアドレス103は、“カード#3”の“ポート#2”が宛先として設定されている。このように、本実施の形態では、上位レイヤのフレーム種別単位に異なる宛先に対して転送することが可能になる。
また、宛先テーブル428aに示すように、最終エントリには全マスクのエントリを設定する。この全マスクエントリに対応するエントリの受信有効フラグについて無効を示す“0”を設定する。これにより、アソシエイトメモリ428における他のいずれのエントリにも一致しないフレームが存在する場合にも、そのようなフレームが最終エントリに一致したことにより未登録フレームとして廃棄することが可能になる。
以上のように、第5の実施の形態によれば、第2の実施の形態に加えて、異なる上位レイヤのフレーム種別についての判定を行うことが可能となる。
また、異なる上位レイヤの判定結果を用いて、フレームの上位レイヤに応じて異なる宛先に転送することが可能になる。
以上、開示の通信装置および通信制御方法を、図示の実施の形態に基づいて説明したが、上記については単に本発明の原理を示すものである。開示の技術は、多数の変形、変更が当業者にとって可能であり、上記に示し、説明した正確な構成および応用例に限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。また、開示の技術に対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
(付記1) エントリしたフレームの種別を示すエントリフラグ情報と、前記エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶するエントリ検索情報記憶部と、
受信したフレームが有するフレーム制御情報に基づいて前記受信したフレームの種別を示すフレームフラグ情報を生成するフラグ生成部と、
前記フラグ生成部によって生成された前記フレームフラグ情報と前記受信したフレームが有する前記フレーム制御情報の全部または一部とを有する検索キー情報を生成する検索キー生成部と、
前記エントリ検索情報記憶部を制御して、前記検索キー情報が有する前記フレームフラグ情報と前記エントリ検索情報が有する前記エントリフラグ情報とを比較して、比較結果が一致した前記エントリ検索情報について、前記検索キー情報が有する前記フレーム制御情報で検索する検索制御部とを有することを特徴とする通信装置。
(付記2) 前記検索制御部は、前記エントリ検索情報記憶部を制御して、前記検索キー情報が有する前記フレームフラグ情報と前記エントリ検索情報が有する前記エントリフラグ情報とを比較して、比較結果が一致した前記エントリ検索情報について、当該エントリ検索情報が有する前記エントリ制御情報と前記検索キー情報が有する前記フレーム制御情報とを比較して検索することを特徴とする付記1記載の通信装置。
(付記3) 前記フレームフラグ情報は、前記受信したフレームのVLANタグの有無を示し、
前記エントリフラグ情報は、前記エントリしたフレームの前記VLANタグの有無を示すことを特徴とする付記1記載の通信装置。
(付記4) 前記フラグ生成部は、前記受信したフレームのTPIDが設定される領域の値が所定の値と一致する場合には、前記受信したフレームは前記VLANタグを有すると判定して、前記フラグ情報を生成することを特徴とする付記3記載の通信装置。
(付記5) 前記TPIDの値は予め複数種類設定されており、
前記フラグ生成部は、前記受信したフレームの前記TPIDが設定される領域の値が予め設定されているいずれかの値と一致する場合には、前記受信したフレームは前記VLANタグを有すると判定して、前記フラグ情報を生成することを特徴とする付記4記載の通信装置。
(付記6) 前記TPIDの値の入力を受け付け、受け付けた当該TPIDの値を示すTPID設定情報を設定すると共に当該TPID設定情報を記憶するTPID設定部を有することを特徴とする付記4記載の通信装置。
(付記7) 前記フレームフラグ情報は、前記受信したフレームの前記VLANタグの有無と共に個数を示し、
前記エントリフラグ情報は、前記エントリしたフレームの前記VLANタグの有無と共に個数を示すことを特徴とする付記3記載の通信装置。
(付記8) 前記エントリ検索情報記憶部は、前記エントリ検索情報を記憶する連想メモリを有し、
前記検索制御部は、前記検索キー情報を前記連想メモリに送信することにより前記エントリ検索情報を検索することを特徴とする付記1記載の通信装置。
(付記9) 前記フレーム制御情報は、前記受信したフレームの上位レイヤのプロトコルを示すフレーム上位プロトコル情報を有し、
前記エントリ制御情報は、前記エントリされたフレームの上位レイヤのプロトコルを示すエントリ上位プロトコル情報を有し、
前記検索制御部は、前記フレーム制御情報が有する前記フレーム上位プロトコル情報と、前記エントリフラグ制御情報が有する前記エントリ上位プロトコル情報とを比較して検索することを特徴とする付記1記載の通信装置。
(付記10) 前記受信したフレームの宛先を示す宛先情報を記憶する宛先情報記憶部と、
前記エントリ検索情報記憶部から検索されたエントリ検索情報に応じて、前記宛先情報記憶部に記憶されている前記受信したフレームの前記宛先情報を送信する宛先制御部と、
前記宛先制御部から送信された前記宛先情報に基づいて前記受信したフレームの宛先を判定する受信フレーム判定部とを有することを特徴とする付記1記載の通信装置。
(付記11) 前記宛先情報は、前記受信したフレームについて受信を許可するかまたは受信を拒否するかを示す受信有効フラグを有し、
前記受信フレーム判定部は、前記宛先情報が有する受信有効フラグが受信を拒否することを示す場合には、前記受信したフレームを廃棄することを特徴とする付記10記載の通信装置。
(付記12) フラグ生成部が、受信したフレームが有するフレーム制御情報に基づいて前記受信したフレームの種別を示すフレームフラグ情報を生成し、
検索キー生成部が、前記フラグ生成部によって生成された前記フレームフラグ情報と前記受信したフレームが有する前記フレーム制御情報の全部または一部とを有する検索キー情報を生成し、
検索制御部が、エントリしたフレームの種別を示すエントリフラグ情報と前記エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶するエントリ検索情報記憶部を制御して、前記検索キー情報が有する前記フレームフラグ情報と、前記エントリ検索情報が有する前記エントリフラグ情報とを比較して、比較結果が一致した前記エントリ検索情報について、前記検索キー情報が有する前記フレーム制御情報で検索することを特徴とする通信制御方法。
1 通信装置
11 フラグ生成部
12 検索キー生成部
13 検索制御部
14 エントリ検索情報記憶部
15 受信フレーム判定部

Claims (6)

  1. エントリしたフレームの種別を示すエントリフラグ情報と、前記エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶するエントリ検索情報記憶部と、
    受信したフレームが有するフレーム制御情報に基づいて前記受信したフレームの種別を示すフレームフラグ情報を生成するフラグ生成部と、
    前記フラグ生成部によって生成された前記フレームフラグ情報と前記受信したフレームが有する前記フレーム制御情報の全部または一部とを有する検索キー情報を生成する検索キー生成部と、
    前記エントリ検索情報記憶部を制御して、前記検索キー情報が有する前記フレームフラグ情報と前記エントリ検索情報が有する前記エントリフラグ情報とを比較して、比較結果が一致した前記エントリ検索情報について、前記検索キー情報が有する前記フレーム制御情報で検索する検索制御部とを有することを特徴とする通信装置。
  2. 前記検索制御部は、前記エントリ検索情報記憶部を制御して、前記検索キー情報が有する前記フレームフラグ情報と前記エントリ検索情報が有する前記エントリフラグ情報とを比較して、比較結果が一致した前記エントリ検索情報について、当該エントリ検索情報が有する前記エントリ制御情報と前記検索キー情報が有する前記フレーム制御情報とを比較して検索することを特徴とする請求項1記載の通信装置。
  3. 前記フレームフラグ情報は、前記受信したフレームのVLANタグの有無を示し、
    前記エントリフラグ情報は、前記エントリしたフレームの前記VLANタグの有無を示すことを特徴とする請求項1記載の通信装置。
  4. 前記フレームフラグ情報は、前記受信したフレームの前記VLANタグの有無と共に個数を示し、
    前記エントリフラグ情報は、前記エントリしたフレームの前記VLANタグの有無と共に個数を示すことを特徴とする請求項3記載の通信装置。
  5. 前記フレーム制御情報は、前記受信したフレームの上位レイヤのプロトコルを示すフレーム上位プロトコル情報を有し、
    前記エントリ制御情報は、前記エントリされたフレームの上位レイヤのプロトコルを示すエントリ上位プロトコル情報を有し、
    前記検索制御部は、前記フレーム制御情報が有する前記フレーム上位プロトコル情報と、前記エントリフラグ制御情報が有する前記エントリ上位プロトコル情報とを比較して検索することを特徴とする請求項1記載の通信装置。
  6. フラグ生成部が、受信したフレームが有するフレーム制御情報に基づいて前記受信したフレームの種別を示すフレームフラグ情報を生成し、
    検索キー生成部が、前記フラグ生成部によって生成された前記フレームフラグ情報と前記受信したフレームが有する前記フレーム制御情報の全部または一部とを有する検索キー情報を生成し、
    検索制御部が、エントリしたフレームの種別を示すエントリフラグ情報と前記エントリしたフレームの制御情報であるエントリ制御情報とを有するエントリ検索情報を記憶するエントリ検索情報記憶部を制御して、前記検索キー情報が有する前記フレームフラグ情報と、前記エントリ検索情報が有する前記エントリフラグ情報とを比較して、比較結果が一致した前記エントリ検索情報について、前記検索キー情報が有する前記フレーム制御情報で検索することを特徴とする通信制御方法。
JP2009226332A 2009-09-30 2009-09-30 通信装置および通信制御方法 Expired - Fee Related JP5407712B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009226332A JP5407712B2 (ja) 2009-09-30 2009-09-30 通信装置および通信制御方法
US12/894,473 US20110078181A1 (en) 2009-09-30 2010-09-30 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009226332A JP5407712B2 (ja) 2009-09-30 2009-09-30 通信装置および通信制御方法

Publications (2)

Publication Number Publication Date
JP2011077768A true JP2011077768A (ja) 2011-04-14
JP5407712B2 JP5407712B2 (ja) 2014-02-05

Family

ID=43781454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009226332A Expired - Fee Related JP5407712B2 (ja) 2009-09-30 2009-09-30 通信装置および通信制御方法

Country Status (2)

Country Link
US (1) US20110078181A1 (ja)
JP (1) JP5407712B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013042433A (ja) * 2011-08-18 2013-02-28 Fujitsu Ltd インタフェースモジュール,通信装置,及び通信方法
JP2015158958A (ja) * 2014-02-25 2015-09-03 アラクサラネットワークス株式会社 通信装置、及びcamの異常診断方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231870B2 (en) 2011-12-22 2016-01-05 International Business Machines Corporation Flexible and scalable data link layer flow control for network fabrics
US9019967B2 (en) * 2012-07-30 2015-04-28 Dell Products L.P. VLAN advertisement and automated configuration
US10116467B2 (en) * 2016-10-17 2018-10-30 Cisco Technology, Inc. Ethernet tag mapping in virtual private wire service using ethernet virtual private network
CN112564935A (zh) * 2019-09-26 2021-03-26 中兴通讯股份有限公司 接口信息采集方法、网管系统及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186184A (ja) * 1999-12-24 2001-07-06 Nec Corp 転送先情報検索方式
JP2002359637A (ja) * 2001-03-27 2002-12-13 Fujitsu Ltd パケット中継処理装置
WO2004107683A1 (ja) * 2003-05-29 2004-12-09 Nec Corporation パケット中継装置及びパケット中継方法並びにプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978378A (en) * 1997-09-11 1999-11-02 3Com Corporation Method and apparatus for VLAN support
EP1162797B1 (en) * 2000-06-09 2010-12-08 Broadcom Corporation Flexible header protocol for network switch
JP4236398B2 (ja) * 2001-08-15 2009-03-11 富士通株式会社 通信方法、通信システム及び通信接続プログラム
JP3695447B2 (ja) * 2002-02-27 2005-09-14 日立電線株式会社 仮想lan接続機器
JP3757917B2 (ja) * 2002-08-20 2006-03-22 日本電気株式会社 パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム
JP4120356B2 (ja) * 2002-11-05 2008-07-16 日本電気株式会社 拡張vlanタグswap方式
US20040225725A1 (en) * 2003-02-19 2004-11-11 Nec Corporation Network system, learning bridge node, learning method and its program
JP2006013737A (ja) * 2004-06-24 2006-01-12 Fujitsu Ltd 異常トラヒック除去装置
US7760719B2 (en) * 2004-06-30 2010-07-20 Conexant Systems, Inc. Combined pipelined classification and address search method and apparatus for switching environments
US7492763B1 (en) * 2004-07-16 2009-02-17 Applied Micro Circuits Corporation User-specified key creation from attributes independent of encapsulation type
JP2006262336A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd フレーム転送方法及び装置
JP4732974B2 (ja) * 2006-07-27 2011-07-27 株式会社日立製作所 パケット転送制御方法およびパケット転送装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186184A (ja) * 1999-12-24 2001-07-06 Nec Corp 転送先情報検索方式
JP2002359637A (ja) * 2001-03-27 2002-12-13 Fujitsu Ltd パケット中継処理装置
WO2004107683A1 (ja) * 2003-05-29 2004-12-09 Nec Corporation パケット中継装置及びパケット中継方法並びにプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200800528019; 奥山 剛央: 'はじめてのUTM' NETWORK MAGAZINE 第13巻、第10号, 20081001, pp.68-71 *
JPN6013035189; 奥山 剛央: 'はじめてのUTM' NETWORK MAGAZINE 第13巻、第10号, 20081001, pp.68-71 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013042433A (ja) * 2011-08-18 2013-02-28 Fujitsu Ltd インタフェースモジュール,通信装置,及び通信方法
JP2015158958A (ja) * 2014-02-25 2015-09-03 アラクサラネットワークス株式会社 通信装置、及びcamの異常診断方法

Also Published As

Publication number Publication date
US20110078181A1 (en) 2011-03-31
JP5407712B2 (ja) 2014-02-05

Similar Documents

Publication Publication Date Title
US7675859B2 (en) Transmission apparatus and transmission system
US7079537B1 (en) Layer 3 switching logic architecture in an integrated network switch
US8422493B2 (en) Network relay device and network relay method
US5978378A (en) Method and apparatus for VLAN support
EP1158725B1 (en) Method and apparatus for multi- redundant router protocol support
US7684403B2 (en) EPON bridge apparatus and method for forwarding thereof
US8081633B2 (en) Network node unit and method for forwarding data packets
US7065082B2 (en) Content-based forwarding/filtering in a network switching device
US9667541B2 (en) Virtual MAC address, mask-based, packet forwarding
JP5407712B2 (ja) 通信装置および通信制御方法
US8774179B1 (en) Member link status change handling for aggregate interfaces
CN110830371B (zh) 报文重定向方法、装置、电子设备及可读存储介质
JP2002314571A (ja) スイッチングノードのための分類およびタグ付け規則
US20100215045A1 (en) Method and Apparatus for Direct Frame Switching Using Frame Contained Destination Information
CN109639552B (zh) 一种三层转发方法及装置
US8527674B2 (en) Data packet switching
KR20060024337A (ko) 사용자 mac 프레임 전송방법, 에지 브리지 및 프로그램
WO2017181757A1 (zh) 报文转发方法及装置
CN108259378B (zh) 一种报文处理方法及装置
CN1722707B (zh) 用于在局域网交换机中保证通信的方法
US6337862B1 (en) Network switch with truncated trie look-up facility
US7394810B2 (en) Layer 2 switch and method of processing expansion VLAN tag of layer 2 frame
US8432910B2 (en) Transmission information transfer apparatus and its method
EP1858213A1 (en) A method for implementing mpls message forwarding and an equipment thereof
US20060126643A1 (en) Subscriber loop remote control apparatus, subscriber loop remote control method, and subscriber loop remote control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131021

LAPS Cancellation because of no payment of annual fees