JP2004072160A - スイッチング方法及び装置並びにコンピュータプログラム - Google Patents
スイッチング方法及び装置並びにコンピュータプログラム Download PDFInfo
- Publication number
- JP2004072160A JP2004072160A JP2002224737A JP2002224737A JP2004072160A JP 2004072160 A JP2004072160 A JP 2004072160A JP 2002224737 A JP2002224737 A JP 2002224737A JP 2002224737 A JP2002224737 A JP 2002224737A JP 2004072160 A JP2004072160 A JP 2004072160A
- Authority
- JP
- Japan
- Prior art keywords
- port
- vlan
- packet
- received packet
- reception
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】受信パケットがVLANタグなしパケットの場合にパケット転送処理を可能にする。
【解決手段】受信パケットの受信処理を許可するVLAN値を接続ポート毎に受信許可テーブル23aに記憶し、受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合はポートVLANテーブル22aに記憶されたVLAN値を用いて受信許可テーブルを参照し、受信許可テーブルに記憶されている場合に受信パケットを受信可能と判定する。
【選択図】 図1
【解決手段】受信パケットの受信処理を許可するVLAN値を接続ポート毎に受信許可テーブル23aに記憶し、受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合はポートVLANテーブル22aに記憶されたVLAN値を用いて受信許可テーブルを参照し、受信許可テーブルに記憶されている場合に受信パケットを受信可能と判定する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、複数ポート間でパケットをスイッチングして転送を行うスイッチング方法及び装置並びにコンピュータプログラムに関する。
【0002】
【従来の技術】
複数ポートを持つスイッチの接続使用形態の一例を図2に示す。スイッチ1は各ポートP1、P2、P3、P4、P10、P11にそれぞれ端末(A、B、C)、(D、E、F)、(G、H、I)、(J、K、L)、X、Yを接続し、各転送元端末からのパケットをそれぞれの転送先端末へスイッチングを行う。ここで各ポートを識別するために、ポート番号P1、P2、P3、P4、P10、P11を割り当てる。
【0003】
図11は図2に示す接続状態における従来のスイッチの構成を示しており、各ポートP1〜P4、P10、P11にそれぞれ接続されるパケット処理部10(1)〜10(4)、10(10)、10(11)と、スイッチ部11と記憶設定部12により構成されている。記憶設定部12はスイッチ1内部のパケット処理で使用する情報の記憶設定を行い、内部にMACアドレステーブル20と、所属ポートテーブル21とポートVLANテーブル22を有する。各パケット処理部10は、図3に詳しく示すように送受信IF部30と、受信処理部31と送信処理部32より構成される。
【0004】
受信処理部31は、当該ポートPより受信したパケットからの情報により記憶設定部12を参照し、パケットを受信するか否かを判定する受信判定処理と、転送先ポートを決定する転送先判定処理と、その転送先ポートにパケットを送信してもいいかを判定する送信判定機能を有し、送信可能と判定した場合にスイッチ部11へ転送を行う。スイッチ部11は各パケット処理部10より転送されたパケットを指定された転送先ポートへ出力を行う。送信処理部32は、スイッチ部11からのパケットを各ポートへ転送するための送信機能を有し、送受信IF部30はポートとのインタフェースを行う機能を持つ。
【0005】
MACアドレステーブル20は、各ポートからの受信パケットの送信元MACアドレスと受信ポートを学習して記憶し、各パケット処理部10からのMACアドレスを用いた問い合わせにより、そのMACアドレスが接続されているポートを転送先ポートとして応答する。所属ポートテーブル21は、VLAN値毎に所属するポートを設定するもので、各パケット処理部10からのVLAN値を用いた問い合わせにより、そのVLANグループに所属するポート番号を応答する。ポート処理設定部22は、各ポートでVLANタグなしパケットであった場合に、所属ポートテーブル21に参照するためのVLAN値を設定するテーブルである。
【0006】
図12はスイッチ1を用いてVLANグループ化を行った従来例を示す。図12では例として、ポートP1とポートP10をVLAN番号“1”(以降 VLAN#1とする)にグループ化を行い、また、ポートP2とポートP10をVLAN番号“2”(以降 VLAN#2とする)にグループ化を行った場合で説明する。まず、上記VLANグループ化構成時のMACアドレステーブル20の情報内容を図13(a)に示す。端末A、B、CのMACアドレスがポートP1と対応して登録され、端末D、E、FのMACアドレスがポートP2と対応して登録され、以下同様にして端末XのMACアドレスがポートP10と対応して登録されている。
【0007】
次に、上記構成時の所属ポートテーブル21の情報内容を図13(b)に示す。VLAN#1にはポートP1、P10を所属させ、VLAN#2にはポートP2、P10を所属させるようにする。また、上記構成時のポートVLANテーブル22の情報内容を図13(c)に示す。ポートP1には“#1”を、ポートP2には“#2”を、以下、P10ポートには“#1”と“#2”を設定する。
【0008】
上記設定における端末Aから端末Xへのパケット転送を例として、図14の処理フローチャートを用いて受信処理部31と記憶設定部12の動作を説明する。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きの場合にはタグに示されたVLAN値を取得し、所属ポートテーブル21に登録の確認を行う(ステップS2)。タグのVLAN値が“1”であればポートP1、P10の応答となり、受信ポートP1が含まれるため処理を継続する(ステップS4で「登録あり」)。VLNA値が“1”以外の時はポートP1が含まれないために処理を停止する(ステップS4→S13)。
【0009】
ステップS1においてまた、タグなしパケットの場合は、ポートVLANテーブル22に指定された“#1”を用いて、上記と同様に所属ポートテーブル21に登録の確認を行う(ステップS3)。この場合もポートP1が含まれるため処理継続となる(ステップS4で「登録あり」)。
【0010】
次に、転送先ポート判定を行う。まず、受信パケットの中から送信先MACアドレスを取得し、MACアドレステーブル20に登録確認を行う(ステップS5、S6)。送信先MACアドレスは“X”であるために“P10”を応答結果として取得し(ステップS6)、処理を継続する。
【0011】
次に、上記応答で得られた転送先ポート(ここではP10)が同じVLANグループに所属しており、転送を行ってもよいかの判定を行う。まず、既に述べた受信判定で用いたVLAN値=“#1”を用いて所属ポートテーブル21へ確認を行う(ステップS8)。VLAN#1にP10が含まれるために、転送可能であるとの判断を行い、スイッチ部11に送信する(ステップS8〜S12)。送信されたパケットは、スイッチ部11を経由し、パケット処理部10(10)よりポートP10へ転送することができる。この動作により、端末Aから端末Xへのパケット転送が可能である。詳細は省略するが、端末Bから端末Xへの転送も上記と同様に可能である。
【0012】
次に、端末Xから端末Aへの転送方法を示す。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きパケットで“#1”か“#2”の場合は、所属ポートテーブル21に登録されているために継続処理が可能である。次に、転送先ポートの判定では、送信先MACアドレス“A”をMACアドレステーブル20に登録確認を行う(ステップS5、S6)。ここでは、“P1”ポートの応答結果をもらい(ステップS6)、処理を継続する。
【0013】
次に、上記応答で得られた転送先ポート(ここでは“P1”)の送信判定では、受信判定で用いたVLAN値が“#1”の場合は、所属ポートテーブル21にP1が登録されているために転送可能との判断が行え(ステップS9で「登録あり」)、スイッチ部11に送信する(ステップS10〜S12)。しかしながら、受信判定で用いたVLAN値が“#2”の場合は、所属ポートテーブル21にP1が登録されているために転送不可との判断となり(ステップS9で「登録なし」)、処理を終了する(ステップS13)。
【0014】
このような動作により、端末A宛のパケットにおいては、VLANタグの値=“#1”のみを転送するようになり、異なるVLAN値の端末A宛パケットを転送禁止とすることができる。逆に、端末B宛のパケットにおいては、VLANタグの値=“#2”のみを転送することが可能であり、VLAN#1とVLAN#2を独立するようにできる。
【0015】
【発明が解決しようとする課題】
しかしながら、上記従来のスイッチにおいては、ポートP10からVLANタグなしパケットを受信した場合、ポート処理設定部22に指定された“#1”か“#2”のいずれを用いてよいか分からないために、受信処理の判定ができず、ポートP10で受信可能なパケットはVLNAタグ付きパケットの形式に限定されてしまうという問題を有していた。
【0016】
スイッチ装置の使用形態として前記従来例で説明すると、端末Aと端末Xの通信は可能とし、端末Bと端末Xの通信も可能とするが、端末Aと端末Bの通信を禁止する要件があり、さらに、端末Xが送信するパケットにはVLANタグを付与しないシステム構成を実現できないことにある。このような例は、端末Xと、端末AとBを収容するスイッチとのインタフェースにおいて、ネットワーク管理方法や管理者が異なるなどの理由によって同一のVLAN値を設定できない場合が想定される。
【0017】
本発明は、上記従来の問題を解決するもので、1つのポートが複数のVLANグループに所属している場合でも、VLNAタグなしパケット形式でも受信可能とすることができる優れたスイッチング方法及び装置並びにコンピュータプログラムを提供することを目的とする。
【0018】
【課題を解決するための手段】
第1の発明は上記目的を達成するために、受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶し、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶し、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶し、
前記受信パケットの受信処理を許可するVLAN値を接続ポート毎に第4のテーブルに記憶し、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合は前記第3のテーブルに記憶されたVLAN値を用いて前記第4のテーブルを参照し、前記VLAN値が前記第4のテーブルに記憶されている場合に前記受信パケットを受信可能と判定し、
受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定し、
前記用いたVLAN値を用いて前記第2のテーブルを参照して転送処理可能な候補ポートを検索し、決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送を行う構成とした。
上記構成により、第4のテーブルに設定するVLAN値を、ポート毎に異なる値にすることにより、同一VLANグループに所属するポートの中で、特定ポートより受信したパケットのみを、同一VLANグループに所属するポートへ転送できるようにすることができ、したがって、複数VLANグループに所属するポートでもVLANタグなしパケットを受信できるという作用を有する。
【0019】
第2の発明は上記目的を達成するために、受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶し、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶し、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶し、
受信ポートとVLAN値の組み合わせ毎に、転送を許可するポートを第4のテーブルに記憶し、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合には前記第3のテーブルに記憶されたVLAN値を用いて前記第2のテーブルを参照し、前記VLAN値が前記第2のテーブルに既に記憶されている場合に前記受信パケットを受信可能と判定し、
前記受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定し、
前記用いたVLAN値と受信ポートを用いて前記第4のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定ステップにより決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する構成とした。
上記構成により、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、転送処理可能なポート番号を受信ポート番号とVLAN番号の組み合わせ毎に異なる値を設定できるようにすることにより、受信パケットがVLANタグなしパケットの場合に上記で指定したVLAN値を用いてパケット転送処理が可能という作用を有する。
【0020】
第3の発明は、第1、第2の発明において、
前記第1のテーブルが送信元MACアドレス及び受信ポートの組み合わせ毎にVLANタグ値を記憶して、前記第1のテーブルを参照して受信パケットにVLANタグ値を付与する構成とした。
上記構成により、パケット転送時に付与するVLANタグ値を決定することができるという作用を有する。
【0021】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
(実施の形態1)
図1は本発明に係るスイッチング装置の一実施の形態を示すブロック図、図2は図1のスイッチング装置の接続使用形態の一例を示すブロック図、図3は図1のパケット処理部を詳しく示すブロック図、図4は図2の接続使用形態においてVLANグループ化を行った例を示す説明図、図5は図4のVLANグループ化を行った場合のテーブルを示す説明図、図6は図1のスイッチング装置の処理を説明するためのフローチャートである。
【0022】
図1に示すスイッチング装置1の接続使用形態は、図2に示すように従来例と同じである。また、図3に示すパケット処理部10(1)〜10(4)、10(10)、10(11)の送受信IF部30と送信処理部32と、スイッチ部11も同じ動作を行う。本発明では、記憶設定部12aと受信処理部31の構成、処理が異なる。
【0023】
記憶設定部12aは、内部にMACアドレステーブル20と、所属ポートテーブル21aと、ポートVLANテーブル22aと、受信許可テーブル23を保持する所属ポートテーブル21a及びポートVLANテーブル22aは従来例と同等の動作を行うが、後述するように設定内容が異なる。受信許可テーブル23は、各ポートP1、P2、P3、P4、P10、P11で受信パケットの処理を行うかどうかを判定するために、ポートP1、P2、P3、P4、P10、P11毎に受信を許可するVLAN値を設定するテーブルである。
【0024】
図4はVLANグループ化を行った例を示し、図4では、ポートP1とポートP10をVLAN番号“1”(以降 VLAN#1とする)にグループ化を行い、ポートP2とポートP10をVLAN番号“2”(以降 VLAN#2とする)にグループ化を行い、P1ポートとP2ポートとP10ポートをVLAN番号“100”(以降 VLAN#100とする)にグループ化を行った場合で説明する。上記VLANグループ構成時のMACアドレステーブル20の情報内容を図5(a)に示す。従来例と同様に、端末A、B、CのMACアドレスがポートP1として登録され、端末D、E、FのMACアドレスがポートP2として登録され、以下、端末XのMACアドレスがP10ポートとして登録されている。
【0025】
次に、上記VLANグループ構成時の所属ポートテーブル21aの情報内容を図5(b)に示す。
・VLAN#1にはP1、P10を所属させ、
・VLAN#2にはP2、P10を所属させ、
・・・・
・VLAN#100にはP1、P2、P10を所属させるようにする。
【0026】
また、上記VLANグループ構成時のポートVLANテーブル22aの情報内容を図5(c)に示す。
・ポートP1には“#1”を、
・ポートP2には“#2”を、
・・・・
・ポートP10には“#100”を
設定する。
【0027】
また、上記VLANグループ構成時の受信許可テーブル23の情報内容を図5(d)に示す。設定内容は
・ポートP1には“#1”を、
・ポートP2には“#2”を、
・・・・
・ポートP10には“#1”、“#2”及び“#100”を
設定する。
【0028】
上記設定における端末Aから端末Xへのパケット転送を例として、図6の処理フローチャートを用いて受信処理部31と記憶設定部12aの動作を説明する。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きの場合には、そのタグに示されたVLAN値を取得し、受信許可テーブル23に登録の確認を行う(ステップS2a)。タグのVLAN値が“#1”であれば、既に“VLAN#1”が含まれるため(ステップS4で「登録あり」)、処理を継続する。その他の値の場合は処理を停止する(ステップS13)。また、タグなしパケットの場合は、ポートVLANテーブル22のP1ポートで指定された“#1”を用いて、上記と同様に受信許可テーブル23に登録の確認を行う(ステップS3a)。この場合は“#1”が含まれるため(ステップS4で「登録あり」)、処理継続となる。
【0029】
次に、転送先ポート判定を行う。まず、受信パケットの中から送信先MACアドレスを取得し、MACアドレステーブル20に登録確認を行う(ステップS5)。送信先MACアドレスは“X”であるために(ステップS6で「登録あり」)、“P10”を応答結果として取得し(ステップS7)、処理を継続する。次に所属ポートテーブル21を参照して(ステップS8)、転送先ポートが同じVLANグループに所属しており、転送を行ってもよいかの判定を行う(ステップS9)。このとき、既に述べた受信判定で用いたVLAN値=“#1”を用いて所属ポートテーブル21へ確認を行う。
【0030】
“VLAN#1”に“ポートP10”が含まれるために、転送可能であるとの判断を行い(ステップS9で「登録あり」)、スイッチ部11に送信する(ステップS10〜S13)。ステップS10〜S13では、受信判定ステップが用いたVLAN値を用いてテーブル21aを参照して転送処理可能な候補ポートを検索し、転送先ポート決定ステップにより決定された転送先ポートが候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに受信パケットを転送する。送信されたパケットは、スイッチ部11を経由し、パケット処理部10(5)よりポートP10へ転送することができる。この動作により、端末Aから端末Xへのパケット転送が可能である。詳細は省略するが、端末Bから端末Xへの転送も上記と同様に可能である。
【0031】
次に、端末Xから端末Aへの転送方法を示す。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きパケットで“#1”か“#2”か“#100”の場合は、受信許可テーブル23のポートP1にそれぞれの値が登録されているために継続処理を行う(ステップS2a、ステップS4で「登録あり」)。その他の値の場合は処理を停止する(ステップS13)。また、タグなしパケットの場合は、ポートVLANテーブル22に指定された“#100”を用いて、上記と同様に受信許可テーブル23に登録の確認を行う(ステップS3a、S4)。この場合は“#100”が含まれるため(ステップS4で「登録あり」)、処理継続となる。
【0032】
次に、転送先ポートの判定では、送信先MACアドレス“A”をMACアドレステーブル20に登録確認を行う(ステップS5、S6)。ここでは、“P1”ポートの応答結果をもらい(ステップS7)、処理を継続する。次に、上記応答で得られた転送先ポート(ここでは“P1”)の送信判定では、受信判定で用いたVLAN値が“#1”の場合は、所属ポートテーブル21aの“#1”にP1が登録されているために転送可能との判断が行え(ステップS9で「登録あり」)、スイッチ部11に送信する。しかしながら、受信判定で用いたVLAN値が“#2”の場合は、所属ポートテーブル21aにポートP1が登録されていないために転送不可との判断となり(ステップS9で「登録なし」)、処理を終了する。また、受信判定で用いたVLAN値が“#100”の場合は、所属ポートテーブル21にP1が登録されているために転送可能との判断となり(ステップS9で「登録あり」)、処理を継続する。
【0033】
このような動作により、端末A宛のパケットにおいては、VLANタグの値=“#1”と“#100”のみを転送するようになり、それ以外の異なるVLAN値の端末A宛パケットを転送禁止とすることができる。逆に、端末B宛のパケットにおいては、VLANタグの値=“#2”と“#100”のみを転送することが可能である。さらに、VLANタグなしパケットであっても“VLAN#100”を使用することにより、端末AとBにパケット転送が可能となる。
【0034】
以上のように本発明の実施の形態1によれば、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、受信処理可能なVLAN番号をポート毎に異なる値を設定できるようにすることにより、受信したVLANタグなしパケットの場合に上記にて指定したVLAN値を用いて転送処理を行うことができる。
【0035】
(実施の形態2)
図7に示す実施の形態2の図1との違いは、受信許可テーブル23の代わり転送許可テーブル24を持つことである。転送許可テーブル24は、転送先ポートが同一VLANグループに属して転送許可されているかを判定するために使用され、受信ポートとVLAN値毎に転送許可ポート番号をしているものである。
【0036】
図8は実施の形態1(図4参照)と同じくVLANグループ化を行った場合の記憶設定部12bの構成を示す。上記VLANグループ化構成時のMACアドレステーブル20、所属ポートテーブル21a、ポートVLANテーブル22aの情報内容は実施の形態1と同じである。転送許可テーブル24の情報内容は、
・“ポートP1とVLAN#1”の組み合わせには“P10”を、
・“ポートP2とVLAN#2”の組み合わせには“P10”を、
・・・・
・“ポートP10とVLAN#1”の組み合わせには“P1”を、
・“ポートP10とVLAN#2”の組み合わせには“P2”を、
・“ポートP10とVLAN#100”の組み合わせには“P1とP2”を
設定する。
【0037】
上記設定における端末Aから端末Xへのパケット転送を例として、図9の処理フローチャートを用いて受信処理部31と記憶設定部12bの動作を説明する。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きの場合にはそのタグに示されたVLAN値を取得し、所属ポートテーブル21aに登録の確認を行う(ステップS2)。タグのVLAN値が“#1”であればP1、P10の応答となり、受信ポートP1が含まれるため(ステップS4で「登録あり」)、処理を継続する。VLNA値が“#1”以外の時は処理を停止する(ステップS13)。また、タグなしパケットの場合は、ポートVLANテーブル22aに指定された“#1”を用いて、上記と同様に所属ポートテーブル21aに登録の確認を行う(ステップS3)。この場合は“P1”ポートが含まれるため(ステップS4で「登録あり」)、処理継続となる。
【0038】
次に、転送先ポート判定を行う。受信パケットの中から送信先MACアドレスを取得し、MACアドレステーブル20に登録確認を行う(ステップS5)。送信先MACアドレスは“X”であるために(ステップS6で「登録あり」)、“P10”を応答結果として取得し(ステップS7)、処理を継続する。
【0039】
次に、上記応答で得られた転送先ポート(ここではP10)が同じVLANグループに所属しており、転送を行ってもよいかの判定を行う。受信ポート“P1”と既に述べた受信判定で用いたVLAN値=“#1”を用いて転送許可テーブル24へ確認を行う(ステップS8a)。“P10ポート”が含まれるために転送可能であるとの判断を行い(ステップS9で「登録あり」)、スイッチ部11に送信する(ステップS10〜S12)。ステップS10〜S12では、受信判定ステップが用いたVLAN値と受信ポートを用いてテーブル24を参照して転送処理可能な候補ポートを検索し、転送先ポート決定ステップにより決定された転送先ポートが候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに受信パケットを転送する。送信されたパケットは、スイッチ部11を経由し、パケット処理部10(10)よりポートP10へ転送することができる。この動作により、端末Aから端末Xへのパケット転送が可能である。詳細は省略するが、端末Bから端末Xへの転送も上記と同様に可能である。
【0040】
次に、端末Xから端末Aへの転送方法を示す。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きパケットで“#1”か“#2”か“#100”の場合は、所属ポートテーブル21aのそれぞれの値にポートP10が登録されているために継続処理を行う(ステップS1→S2→S4→S5)。その他の値の場合は処理を停止する(ステップS1→S2→S4→S13)。また、タグなしパケットの場合は、ポートVLANテーブル22aに指定された“#100”を用いて、上記と同様に所属ポートテーブル21aに登録の確認を行う(ステップS1→S3)。この場合は“#100”に“P10”ポートが含まれるため処理継続となる(ステップS4→S5)。
【0041】
次に、転送先ポートの判定では、送信先MACアドレス“A”をMACアドレステーブル20に登録確認を行う(ステップS5、S6)。ここでは、“P1”ポートの応答結果をもらい(ステップS7)、処理を継続する。次に、上記応答で得られた転送先ポート(ここでは“P1”)の送信判定ステップS8a、S9では、受信判定で用いたVLAN値が“#1”の場合は、転送許可テーブル24の“P10と#1”にP1が登録されているために転送可能との判断が行え、スイッチ部11に送信する(ステップS9→S10)。
【0042】
しかしながら、受信判定で用いたVLAN値が“#2”の場合は、転送許可テーブル24の“P10と#2”に“P1ポート“が登録されているために転送不可との判断となり、処理を終了する(ステップS9→S13)。また、受信判定で用いたVLAN値が“#100”の場合は、転送許可テーブル24の“P10と#100”に“P1”ポートが登録されているために転送可能との判断となり(ステップS9→S10)、処理を継続する。
【0043】
このような動作により、端末A宛のパケットにおいては、VLANタグの値=“#1”と“#100”のみを転送するようになり、それ以外の異なるVLAN値の端末A宛パケットを転送禁止とすることができる。逆に、端末B宛のパケットにおいては、VLANタグの値=“#2”と“#100”のみを転送することが可能である。さらに、VLANタグなしパケットであっても“VLAN#100”を使用することにより、端末AとBにパケット転送が可能となる。
【0044】
以上のように本発明の実施の形態2によれば、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、転送可能なポート番号を、受信ポート番号とVLAN番号の組み合わせ毎に異なる値を設定できるようにすることにより、受信したVLANタグなしパケットの場合に上記にて指定したVLAN値を用いて転送処理を行うことができる。
【0045】
(実施の形態3)
図10に実施の形態1(図4参照)と同じくVLANグループ化を行った場合の実施の形態3の記憶設定部12のMACアドレステーブル20aの構成を示す。上記VLANグループ化構成時の所属ポートテーブル21a、ポートVLANテーブル22a、転送許可テーブル24の情報内容は実施の形態2と同じである。
【0046】
MACアドレステーブル20aの情報内容には、各端末MACアドレス毎にVLAN値が設定される。ポートP10から端末A宛パケットを受信し、受信処理部31にて処理を行い、端末A宛にパケット転送を行う場合を例とする。受信処理部31は、転送先判定時にMACアドレステーブル20aを参照した際に、ポート番号のほかにVLAN値を受信する。その後、パケット送信時にそのVLAN値をタグに挿入するようにすることで、ポートP10でVLANタグなしパケットを受信した場合であっても、端末Aへの転送時に“VLAN#1“を持つタグを付与して転送ができる。
【0047】
以上のように本発明の実施の形態3によれば、受信パケットがVLANタグ付きパケットの場合に、タグに示されるVLAN値と送信元MACアドレスと受信ポートを記憶することにより、受信したパケットがVLANタグなしパケットであってもタグを挿入して転送処理を行うことができる。
【0048】
【発明の効果】
以上のように本発明は、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、受信処理可能なVLAN番号をポート毎に異なる値を設定できるようにすることにより、受信パケットがVLANタグなしパケットの場合に上記で指定したVLAN値を用いてパケット転送処理が可能という効果が得られる。
また、以上のように本発明は、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、転送処理可能なポート番号を受信ポート番号とVLAN番号の組み合わせ毎に異なる値を設定できるようにすることにより、受信パケットがVLANタグなしパケットの場合に上記で指定したVLAN値を用いてパケット転送処理が可能という効果が得られる。
また、以上のように本発明は、受信パケットがVLANタグ付きパケットの場合に、タグに示されるVLAN値と送信元MACアドレスと受信ポートを記憶するようにし、転送先判定時にそのVLAN値を取得することにより、受信パケットがVLANタグなしパケットの場合であっても、適切なVLANタグを生成できるという効果が得られる。
【図面の簡単な説明】
【図1】本発明に係るスイッチング装置の一実施の形態を示すブロック図
【図2】図1のスイッチング装置の接続使用形態の一例を示すブロック図
【図3】図1のパケット処理部を詳しく示すブロック図
【図4】図2の接続使用形態においてVLANグループ化を行った例を示す説明図
【図5】図4のVLANグループ化を行った場合のテーブルを示す説明図(a)MACアドレステーブル
(b)所属ポートテーブル
(c)ポートVLANテーブル
(d)受信許可テーブル
【図6】図1のスイッチング装置の処理を説明するためのフローチャート
【図7】本発明に係るスイッチング装置の実施の形態2を示すブロック図
【図8】図4のVLANグループ化を行った場合の実施の形態2のテーブルを示す説明図(a)MACアドレステーブル
(b)所属ポートテーブル
(c)ポートVLANテーブル
(d)転送許可テーブル
【図9】実施の形態2の処理を説明するためのフローチャート
【図10】図4のLANグループ化を行った場合の実施の形態3のMACアドレステーブルを示す説明図
【図11】従来のスイッチング装置を示すブロック図
【図12】図2の接続使用形態においてVLANグループ化を行った従来例を示す説明図
【図13】図12のVLANグループ化を行った場合の従来例のテーブルを示す説明図(a)MACアドレステーブル
(b)所属ポートテーブル
(c)ポートVLANテーブル
【図14】従来例の処理を説明するためのフローチャート
【符号の説明】
1 スイッチ
10 パケット処理部
11 スイッチ部
12 記憶設定部
20、20a MACアドレステーブル
21a 所属ポートテーブル
22a ポートVLANテーブル
23a 受信許可テーブル
24 転送許可テーブル
30 送受信IF部
31 受信処理部
32 送信処理部
【発明の属する技術分野】
本発明は、複数ポート間でパケットをスイッチングして転送を行うスイッチング方法及び装置並びにコンピュータプログラムに関する。
【0002】
【従来の技術】
複数ポートを持つスイッチの接続使用形態の一例を図2に示す。スイッチ1は各ポートP1、P2、P3、P4、P10、P11にそれぞれ端末(A、B、C)、(D、E、F)、(G、H、I)、(J、K、L)、X、Yを接続し、各転送元端末からのパケットをそれぞれの転送先端末へスイッチングを行う。ここで各ポートを識別するために、ポート番号P1、P2、P3、P4、P10、P11を割り当てる。
【0003】
図11は図2に示す接続状態における従来のスイッチの構成を示しており、各ポートP1〜P4、P10、P11にそれぞれ接続されるパケット処理部10(1)〜10(4)、10(10)、10(11)と、スイッチ部11と記憶設定部12により構成されている。記憶設定部12はスイッチ1内部のパケット処理で使用する情報の記憶設定を行い、内部にMACアドレステーブル20と、所属ポートテーブル21とポートVLANテーブル22を有する。各パケット処理部10は、図3に詳しく示すように送受信IF部30と、受信処理部31と送信処理部32より構成される。
【0004】
受信処理部31は、当該ポートPより受信したパケットからの情報により記憶設定部12を参照し、パケットを受信するか否かを判定する受信判定処理と、転送先ポートを決定する転送先判定処理と、その転送先ポートにパケットを送信してもいいかを判定する送信判定機能を有し、送信可能と判定した場合にスイッチ部11へ転送を行う。スイッチ部11は各パケット処理部10より転送されたパケットを指定された転送先ポートへ出力を行う。送信処理部32は、スイッチ部11からのパケットを各ポートへ転送するための送信機能を有し、送受信IF部30はポートとのインタフェースを行う機能を持つ。
【0005】
MACアドレステーブル20は、各ポートからの受信パケットの送信元MACアドレスと受信ポートを学習して記憶し、各パケット処理部10からのMACアドレスを用いた問い合わせにより、そのMACアドレスが接続されているポートを転送先ポートとして応答する。所属ポートテーブル21は、VLAN値毎に所属するポートを設定するもので、各パケット処理部10からのVLAN値を用いた問い合わせにより、そのVLANグループに所属するポート番号を応答する。ポート処理設定部22は、各ポートでVLANタグなしパケットであった場合に、所属ポートテーブル21に参照するためのVLAN値を設定するテーブルである。
【0006】
図12はスイッチ1を用いてVLANグループ化を行った従来例を示す。図12では例として、ポートP1とポートP10をVLAN番号“1”(以降 VLAN#1とする)にグループ化を行い、また、ポートP2とポートP10をVLAN番号“2”(以降 VLAN#2とする)にグループ化を行った場合で説明する。まず、上記VLANグループ化構成時のMACアドレステーブル20の情報内容を図13(a)に示す。端末A、B、CのMACアドレスがポートP1と対応して登録され、端末D、E、FのMACアドレスがポートP2と対応して登録され、以下同様にして端末XのMACアドレスがポートP10と対応して登録されている。
【0007】
次に、上記構成時の所属ポートテーブル21の情報内容を図13(b)に示す。VLAN#1にはポートP1、P10を所属させ、VLAN#2にはポートP2、P10を所属させるようにする。また、上記構成時のポートVLANテーブル22の情報内容を図13(c)に示す。ポートP1には“#1”を、ポートP2には“#2”を、以下、P10ポートには“#1”と“#2”を設定する。
【0008】
上記設定における端末Aから端末Xへのパケット転送を例として、図14の処理フローチャートを用いて受信処理部31と記憶設定部12の動作を説明する。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きの場合にはタグに示されたVLAN値を取得し、所属ポートテーブル21に登録の確認を行う(ステップS2)。タグのVLAN値が“1”であればポートP1、P10の応答となり、受信ポートP1が含まれるため処理を継続する(ステップS4で「登録あり」)。VLNA値が“1”以外の時はポートP1が含まれないために処理を停止する(ステップS4→S13)。
【0009】
ステップS1においてまた、タグなしパケットの場合は、ポートVLANテーブル22に指定された“#1”を用いて、上記と同様に所属ポートテーブル21に登録の確認を行う(ステップS3)。この場合もポートP1が含まれるため処理継続となる(ステップS4で「登録あり」)。
【0010】
次に、転送先ポート判定を行う。まず、受信パケットの中から送信先MACアドレスを取得し、MACアドレステーブル20に登録確認を行う(ステップS5、S6)。送信先MACアドレスは“X”であるために“P10”を応答結果として取得し(ステップS6)、処理を継続する。
【0011】
次に、上記応答で得られた転送先ポート(ここではP10)が同じVLANグループに所属しており、転送を行ってもよいかの判定を行う。まず、既に述べた受信判定で用いたVLAN値=“#1”を用いて所属ポートテーブル21へ確認を行う(ステップS8)。VLAN#1にP10が含まれるために、転送可能であるとの判断を行い、スイッチ部11に送信する(ステップS8〜S12)。送信されたパケットは、スイッチ部11を経由し、パケット処理部10(10)よりポートP10へ転送することができる。この動作により、端末Aから端末Xへのパケット転送が可能である。詳細は省略するが、端末Bから端末Xへの転送も上記と同様に可能である。
【0012】
次に、端末Xから端末Aへの転送方法を示す。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きパケットで“#1”か“#2”の場合は、所属ポートテーブル21に登録されているために継続処理が可能である。次に、転送先ポートの判定では、送信先MACアドレス“A”をMACアドレステーブル20に登録確認を行う(ステップS5、S6)。ここでは、“P1”ポートの応答結果をもらい(ステップS6)、処理を継続する。
【0013】
次に、上記応答で得られた転送先ポート(ここでは“P1”)の送信判定では、受信判定で用いたVLAN値が“#1”の場合は、所属ポートテーブル21にP1が登録されているために転送可能との判断が行え(ステップS9で「登録あり」)、スイッチ部11に送信する(ステップS10〜S12)。しかしながら、受信判定で用いたVLAN値が“#2”の場合は、所属ポートテーブル21にP1が登録されているために転送不可との判断となり(ステップS9で「登録なし」)、処理を終了する(ステップS13)。
【0014】
このような動作により、端末A宛のパケットにおいては、VLANタグの値=“#1”のみを転送するようになり、異なるVLAN値の端末A宛パケットを転送禁止とすることができる。逆に、端末B宛のパケットにおいては、VLANタグの値=“#2”のみを転送することが可能であり、VLAN#1とVLAN#2を独立するようにできる。
【0015】
【発明が解決しようとする課題】
しかしながら、上記従来のスイッチにおいては、ポートP10からVLANタグなしパケットを受信した場合、ポート処理設定部22に指定された“#1”か“#2”のいずれを用いてよいか分からないために、受信処理の判定ができず、ポートP10で受信可能なパケットはVLNAタグ付きパケットの形式に限定されてしまうという問題を有していた。
【0016】
スイッチ装置の使用形態として前記従来例で説明すると、端末Aと端末Xの通信は可能とし、端末Bと端末Xの通信も可能とするが、端末Aと端末Bの通信を禁止する要件があり、さらに、端末Xが送信するパケットにはVLANタグを付与しないシステム構成を実現できないことにある。このような例は、端末Xと、端末AとBを収容するスイッチとのインタフェースにおいて、ネットワーク管理方法や管理者が異なるなどの理由によって同一のVLAN値を設定できない場合が想定される。
【0017】
本発明は、上記従来の問題を解決するもので、1つのポートが複数のVLANグループに所属している場合でも、VLNAタグなしパケット形式でも受信可能とすることができる優れたスイッチング方法及び装置並びにコンピュータプログラムを提供することを目的とする。
【0018】
【課題を解決するための手段】
第1の発明は上記目的を達成するために、受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶し、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶し、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶し、
前記受信パケットの受信処理を許可するVLAN値を接続ポート毎に第4のテーブルに記憶し、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合は前記第3のテーブルに記憶されたVLAN値を用いて前記第4のテーブルを参照し、前記VLAN値が前記第4のテーブルに記憶されている場合に前記受信パケットを受信可能と判定し、
受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定し、
前記用いたVLAN値を用いて前記第2のテーブルを参照して転送処理可能な候補ポートを検索し、決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送を行う構成とした。
上記構成により、第4のテーブルに設定するVLAN値を、ポート毎に異なる値にすることにより、同一VLANグループに所属するポートの中で、特定ポートより受信したパケットのみを、同一VLANグループに所属するポートへ転送できるようにすることができ、したがって、複数VLANグループに所属するポートでもVLANタグなしパケットを受信できるという作用を有する。
【0019】
第2の発明は上記目的を達成するために、受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶し、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶し、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶し、
受信ポートとVLAN値の組み合わせ毎に、転送を許可するポートを第4のテーブルに記憶し、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合には前記第3のテーブルに記憶されたVLAN値を用いて前記第2のテーブルを参照し、前記VLAN値が前記第2のテーブルに既に記憶されている場合に前記受信パケットを受信可能と判定し、
前記受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定し、
前記用いたVLAN値と受信ポートを用いて前記第4のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定ステップにより決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する構成とした。
上記構成により、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、転送処理可能なポート番号を受信ポート番号とVLAN番号の組み合わせ毎に異なる値を設定できるようにすることにより、受信パケットがVLANタグなしパケットの場合に上記で指定したVLAN値を用いてパケット転送処理が可能という作用を有する。
【0020】
第3の発明は、第1、第2の発明において、
前記第1のテーブルが送信元MACアドレス及び受信ポートの組み合わせ毎にVLANタグ値を記憶して、前記第1のテーブルを参照して受信パケットにVLANタグ値を付与する構成とした。
上記構成により、パケット転送時に付与するVLANタグ値を決定することができるという作用を有する。
【0021】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
(実施の形態1)
図1は本発明に係るスイッチング装置の一実施の形態を示すブロック図、図2は図1のスイッチング装置の接続使用形態の一例を示すブロック図、図3は図1のパケット処理部を詳しく示すブロック図、図4は図2の接続使用形態においてVLANグループ化を行った例を示す説明図、図5は図4のVLANグループ化を行った場合のテーブルを示す説明図、図6は図1のスイッチング装置の処理を説明するためのフローチャートである。
【0022】
図1に示すスイッチング装置1の接続使用形態は、図2に示すように従来例と同じである。また、図3に示すパケット処理部10(1)〜10(4)、10(10)、10(11)の送受信IF部30と送信処理部32と、スイッチ部11も同じ動作を行う。本発明では、記憶設定部12aと受信処理部31の構成、処理が異なる。
【0023】
記憶設定部12aは、内部にMACアドレステーブル20と、所属ポートテーブル21aと、ポートVLANテーブル22aと、受信許可テーブル23を保持する所属ポートテーブル21a及びポートVLANテーブル22aは従来例と同等の動作を行うが、後述するように設定内容が異なる。受信許可テーブル23は、各ポートP1、P2、P3、P4、P10、P11で受信パケットの処理を行うかどうかを判定するために、ポートP1、P2、P3、P4、P10、P11毎に受信を許可するVLAN値を設定するテーブルである。
【0024】
図4はVLANグループ化を行った例を示し、図4では、ポートP1とポートP10をVLAN番号“1”(以降 VLAN#1とする)にグループ化を行い、ポートP2とポートP10をVLAN番号“2”(以降 VLAN#2とする)にグループ化を行い、P1ポートとP2ポートとP10ポートをVLAN番号“100”(以降 VLAN#100とする)にグループ化を行った場合で説明する。上記VLANグループ構成時のMACアドレステーブル20の情報内容を図5(a)に示す。従来例と同様に、端末A、B、CのMACアドレスがポートP1として登録され、端末D、E、FのMACアドレスがポートP2として登録され、以下、端末XのMACアドレスがP10ポートとして登録されている。
【0025】
次に、上記VLANグループ構成時の所属ポートテーブル21aの情報内容を図5(b)に示す。
・VLAN#1にはP1、P10を所属させ、
・VLAN#2にはP2、P10を所属させ、
・・・・
・VLAN#100にはP1、P2、P10を所属させるようにする。
【0026】
また、上記VLANグループ構成時のポートVLANテーブル22aの情報内容を図5(c)に示す。
・ポートP1には“#1”を、
・ポートP2には“#2”を、
・・・・
・ポートP10には“#100”を
設定する。
【0027】
また、上記VLANグループ構成時の受信許可テーブル23の情報内容を図5(d)に示す。設定内容は
・ポートP1には“#1”を、
・ポートP2には“#2”を、
・・・・
・ポートP10には“#1”、“#2”及び“#100”を
設定する。
【0028】
上記設定における端末Aから端末Xへのパケット転送を例として、図6の処理フローチャートを用いて受信処理部31と記憶設定部12aの動作を説明する。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きの場合には、そのタグに示されたVLAN値を取得し、受信許可テーブル23に登録の確認を行う(ステップS2a)。タグのVLAN値が“#1”であれば、既に“VLAN#1”が含まれるため(ステップS4で「登録あり」)、処理を継続する。その他の値の場合は処理を停止する(ステップS13)。また、タグなしパケットの場合は、ポートVLANテーブル22のP1ポートで指定された“#1”を用いて、上記と同様に受信許可テーブル23に登録の確認を行う(ステップS3a)。この場合は“#1”が含まれるため(ステップS4で「登録あり」)、処理継続となる。
【0029】
次に、転送先ポート判定を行う。まず、受信パケットの中から送信先MACアドレスを取得し、MACアドレステーブル20に登録確認を行う(ステップS5)。送信先MACアドレスは“X”であるために(ステップS6で「登録あり」)、“P10”を応答結果として取得し(ステップS7)、処理を継続する。次に所属ポートテーブル21を参照して(ステップS8)、転送先ポートが同じVLANグループに所属しており、転送を行ってもよいかの判定を行う(ステップS9)。このとき、既に述べた受信判定で用いたVLAN値=“#1”を用いて所属ポートテーブル21へ確認を行う。
【0030】
“VLAN#1”に“ポートP10”が含まれるために、転送可能であるとの判断を行い(ステップS9で「登録あり」)、スイッチ部11に送信する(ステップS10〜S13)。ステップS10〜S13では、受信判定ステップが用いたVLAN値を用いてテーブル21aを参照して転送処理可能な候補ポートを検索し、転送先ポート決定ステップにより決定された転送先ポートが候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに受信パケットを転送する。送信されたパケットは、スイッチ部11を経由し、パケット処理部10(5)よりポートP10へ転送することができる。この動作により、端末Aから端末Xへのパケット転送が可能である。詳細は省略するが、端末Bから端末Xへの転送も上記と同様に可能である。
【0031】
次に、端末Xから端末Aへの転送方法を示す。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きパケットで“#1”か“#2”か“#100”の場合は、受信許可テーブル23のポートP1にそれぞれの値が登録されているために継続処理を行う(ステップS2a、ステップS4で「登録あり」)。その他の値の場合は処理を停止する(ステップS13)。また、タグなしパケットの場合は、ポートVLANテーブル22に指定された“#100”を用いて、上記と同様に受信許可テーブル23に登録の確認を行う(ステップS3a、S4)。この場合は“#100”が含まれるため(ステップS4で「登録あり」)、処理継続となる。
【0032】
次に、転送先ポートの判定では、送信先MACアドレス“A”をMACアドレステーブル20に登録確認を行う(ステップS5、S6)。ここでは、“P1”ポートの応答結果をもらい(ステップS7)、処理を継続する。次に、上記応答で得られた転送先ポート(ここでは“P1”)の送信判定では、受信判定で用いたVLAN値が“#1”の場合は、所属ポートテーブル21aの“#1”にP1が登録されているために転送可能との判断が行え(ステップS9で「登録あり」)、スイッチ部11に送信する。しかしながら、受信判定で用いたVLAN値が“#2”の場合は、所属ポートテーブル21aにポートP1が登録されていないために転送不可との判断となり(ステップS9で「登録なし」)、処理を終了する。また、受信判定で用いたVLAN値が“#100”の場合は、所属ポートテーブル21にP1が登録されているために転送可能との判断となり(ステップS9で「登録あり」)、処理を継続する。
【0033】
このような動作により、端末A宛のパケットにおいては、VLANタグの値=“#1”と“#100”のみを転送するようになり、それ以外の異なるVLAN値の端末A宛パケットを転送禁止とすることができる。逆に、端末B宛のパケットにおいては、VLANタグの値=“#2”と“#100”のみを転送することが可能である。さらに、VLANタグなしパケットであっても“VLAN#100”を使用することにより、端末AとBにパケット転送が可能となる。
【0034】
以上のように本発明の実施の形態1によれば、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、受信処理可能なVLAN番号をポート毎に異なる値を設定できるようにすることにより、受信したVLANタグなしパケットの場合に上記にて指定したVLAN値を用いて転送処理を行うことができる。
【0035】
(実施の形態2)
図7に示す実施の形態2の図1との違いは、受信許可テーブル23の代わり転送許可テーブル24を持つことである。転送許可テーブル24は、転送先ポートが同一VLANグループに属して転送許可されているかを判定するために使用され、受信ポートとVLAN値毎に転送許可ポート番号をしているものである。
【0036】
図8は実施の形態1(図4参照)と同じくVLANグループ化を行った場合の記憶設定部12bの構成を示す。上記VLANグループ化構成時のMACアドレステーブル20、所属ポートテーブル21a、ポートVLANテーブル22aの情報内容は実施の形態1と同じである。転送許可テーブル24の情報内容は、
・“ポートP1とVLAN#1”の組み合わせには“P10”を、
・“ポートP2とVLAN#2”の組み合わせには“P10”を、
・・・・
・“ポートP10とVLAN#1”の組み合わせには“P1”を、
・“ポートP10とVLAN#2”の組み合わせには“P2”を、
・“ポートP10とVLAN#100”の組み合わせには“P1とP2”を
設定する。
【0037】
上記設定における端末Aから端末Xへのパケット転送を例として、図9の処理フローチャートを用いて受信処理部31と記憶設定部12bの動作を説明する。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きの場合にはそのタグに示されたVLAN値を取得し、所属ポートテーブル21aに登録の確認を行う(ステップS2)。タグのVLAN値が“#1”であればP1、P10の応答となり、受信ポートP1が含まれるため(ステップS4で「登録あり」)、処理を継続する。VLNA値が“#1”以外の時は処理を停止する(ステップS13)。また、タグなしパケットの場合は、ポートVLANテーブル22aに指定された“#1”を用いて、上記と同様に所属ポートテーブル21aに登録の確認を行う(ステップS3)。この場合は“P1”ポートが含まれるため(ステップS4で「登録あり」)、処理継続となる。
【0038】
次に、転送先ポート判定を行う。受信パケットの中から送信先MACアドレスを取得し、MACアドレステーブル20に登録確認を行う(ステップS5)。送信先MACアドレスは“X”であるために(ステップS6で「登録あり」)、“P10”を応答結果として取得し(ステップS7)、処理を継続する。
【0039】
次に、上記応答で得られた転送先ポート(ここではP10)が同じVLANグループに所属しており、転送を行ってもよいかの判定を行う。受信ポート“P1”と既に述べた受信判定で用いたVLAN値=“#1”を用いて転送許可テーブル24へ確認を行う(ステップS8a)。“P10ポート”が含まれるために転送可能であるとの判断を行い(ステップS9で「登録あり」)、スイッチ部11に送信する(ステップS10〜S12)。ステップS10〜S12では、受信判定ステップが用いたVLAN値と受信ポートを用いてテーブル24を参照して転送処理可能な候補ポートを検索し、転送先ポート決定ステップにより決定された転送先ポートが候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに受信パケットを転送する。送信されたパケットは、スイッチ部11を経由し、パケット処理部10(10)よりポートP10へ転送することができる。この動作により、端末Aから端末Xへのパケット転送が可能である。詳細は省略するが、端末Bから端末Xへの転送も上記と同様に可能である。
【0040】
次に、端末Xから端末Aへの転送方法を示す。始めに受信パケットの受信判定を行う(ステップS1)。受信パケットがVLANタグ付きパケットで“#1”か“#2”か“#100”の場合は、所属ポートテーブル21aのそれぞれの値にポートP10が登録されているために継続処理を行う(ステップS1→S2→S4→S5)。その他の値の場合は処理を停止する(ステップS1→S2→S4→S13)。また、タグなしパケットの場合は、ポートVLANテーブル22aに指定された“#100”を用いて、上記と同様に所属ポートテーブル21aに登録の確認を行う(ステップS1→S3)。この場合は“#100”に“P10”ポートが含まれるため処理継続となる(ステップS4→S5)。
【0041】
次に、転送先ポートの判定では、送信先MACアドレス“A”をMACアドレステーブル20に登録確認を行う(ステップS5、S6)。ここでは、“P1”ポートの応答結果をもらい(ステップS7)、処理を継続する。次に、上記応答で得られた転送先ポート(ここでは“P1”)の送信判定ステップS8a、S9では、受信判定で用いたVLAN値が“#1”の場合は、転送許可テーブル24の“P10と#1”にP1が登録されているために転送可能との判断が行え、スイッチ部11に送信する(ステップS9→S10)。
【0042】
しかしながら、受信判定で用いたVLAN値が“#2”の場合は、転送許可テーブル24の“P10と#2”に“P1ポート“が登録されているために転送不可との判断となり、処理を終了する(ステップS9→S13)。また、受信判定で用いたVLAN値が“#100”の場合は、転送許可テーブル24の“P10と#100”に“P1”ポートが登録されているために転送可能との判断となり(ステップS9→S10)、処理を継続する。
【0043】
このような動作により、端末A宛のパケットにおいては、VLANタグの値=“#1”と“#100”のみを転送するようになり、それ以外の異なるVLAN値の端末A宛パケットを転送禁止とすることができる。逆に、端末B宛のパケットにおいては、VLANタグの値=“#2”と“#100”のみを転送することが可能である。さらに、VLANタグなしパケットであっても“VLAN#100”を使用することにより、端末AとBにパケット転送が可能となる。
【0044】
以上のように本発明の実施の形態2によれば、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、転送可能なポート番号を、受信ポート番号とVLAN番号の組み合わせ毎に異なる値を設定できるようにすることにより、受信したVLANタグなしパケットの場合に上記にて指定したVLAN値を用いて転送処理を行うことができる。
【0045】
(実施の形態3)
図10に実施の形態1(図4参照)と同じくVLANグループ化を行った場合の実施の形態3の記憶設定部12のMACアドレステーブル20aの構成を示す。上記VLANグループ化構成時の所属ポートテーブル21a、ポートVLANテーブル22a、転送許可テーブル24の情報内容は実施の形態2と同じである。
【0046】
MACアドレステーブル20aの情報内容には、各端末MACアドレス毎にVLAN値が設定される。ポートP10から端末A宛パケットを受信し、受信処理部31にて処理を行い、端末A宛にパケット転送を行う場合を例とする。受信処理部31は、転送先判定時にMACアドレステーブル20aを参照した際に、ポート番号のほかにVLAN値を受信する。その後、パケット送信時にそのVLAN値をタグに挿入するようにすることで、ポートP10でVLANタグなしパケットを受信した場合であっても、端末Aへの転送時に“VLAN#1“を持つタグを付与して転送ができる。
【0047】
以上のように本発明の実施の形態3によれば、受信パケットがVLANタグ付きパケットの場合に、タグに示されるVLAN値と送信元MACアドレスと受信ポートを記憶することにより、受信したパケットがVLANタグなしパケットであってもタグを挿入して転送処理を行うことができる。
【0048】
【発明の効果】
以上のように本発明は、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、受信処理可能なVLAN番号をポート毎に異なる値を設定できるようにすることにより、受信パケットがVLANタグなしパケットの場合に上記で指定したVLAN値を用いてパケット転送処理が可能という効果が得られる。
また、以上のように本発明は、各ポートにVLANタグなしパケットを受信した際に用いるVLAN番号を設定し、また、転送処理可能なポート番号を受信ポート番号とVLAN番号の組み合わせ毎に異なる値を設定できるようにすることにより、受信パケットがVLANタグなしパケットの場合に上記で指定したVLAN値を用いてパケット転送処理が可能という効果が得られる。
また、以上のように本発明は、受信パケットがVLANタグ付きパケットの場合に、タグに示されるVLAN値と送信元MACアドレスと受信ポートを記憶するようにし、転送先判定時にそのVLAN値を取得することにより、受信パケットがVLANタグなしパケットの場合であっても、適切なVLANタグを生成できるという効果が得られる。
【図面の簡単な説明】
【図1】本発明に係るスイッチング装置の一実施の形態を示すブロック図
【図2】図1のスイッチング装置の接続使用形態の一例を示すブロック図
【図3】図1のパケット処理部を詳しく示すブロック図
【図4】図2の接続使用形態においてVLANグループ化を行った例を示す説明図
【図5】図4のVLANグループ化を行った場合のテーブルを示す説明図(a)MACアドレステーブル
(b)所属ポートテーブル
(c)ポートVLANテーブル
(d)受信許可テーブル
【図6】図1のスイッチング装置の処理を説明するためのフローチャート
【図7】本発明に係るスイッチング装置の実施の形態2を示すブロック図
【図8】図4のVLANグループ化を行った場合の実施の形態2のテーブルを示す説明図(a)MACアドレステーブル
(b)所属ポートテーブル
(c)ポートVLANテーブル
(d)転送許可テーブル
【図9】実施の形態2の処理を説明するためのフローチャート
【図10】図4のLANグループ化を行った場合の実施の形態3のMACアドレステーブルを示す説明図
【図11】従来のスイッチング装置を示すブロック図
【図12】図2の接続使用形態においてVLANグループ化を行った従来例を示す説明図
【図13】図12のVLANグループ化を行った場合の従来例のテーブルを示す説明図(a)MACアドレステーブル
(b)所属ポートテーブル
(c)ポートVLANテーブル
【図14】従来例の処理を説明するためのフローチャート
【符号の説明】
1 スイッチ
10 パケット処理部
11 スイッチ部
12 記憶設定部
20、20a MACアドレステーブル
21a 所属ポートテーブル
22a ポートVLANテーブル
23a 受信許可テーブル
24 転送許可テーブル
30 送受信IF部
31 受信処理部
32 送信処理部
Claims (9)
- 受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶するステップと、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶するステップと、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶するステップと、
前記受信パケットの受信処理を許可するVLAN値を接続ポート毎に第4のテーブルに記憶するステップと、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合は前記第3のテーブルに記憶されたVLAN値を用いて前記第4のテーブルを参照し、前記VLAN値が前記第4のテーブルに記憶されている場合に前記受信パケットを受信可能と判定する受信判定ステップと、
前記受信判定ステップにより受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定する転送先ポート決定ステップと、
前記受信判定ステップが用いたVLAN値を用いて前記第2のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定ステップにより決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する送信判定ステップとを、
備えたスイッチング方法。 - 受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶するステップと、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶するステップと、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶するステップと、
受信ポートとVLAN値の組み合わせ毎に、転送を許可するポートを第4のテーブルに記憶するステップと、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合には前記第3のテーブルに記憶されたVLAN値を用いて前記第2のテーブルを参照し、前記VLAN値が前記第2のテーブルに既に記憶されている場合に前記受信パケットを受信可能と判定する受信判定ステップと、
前記受信判定ステップにより受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定する転送先ポート決定ステップと、
前記受信判定ステップが用いたVLAN値と受信ポートを用いて前記第4のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定ステップにより決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する送信判定ステップとを
備えたスイッチング方法。 - 前記第1のテーブルは、送信元MACアドレス及び受信ポートの組み合わせ毎にVLANタグ値を記憶し、
前記転送先ポート決定ステップは、前記第1のテーブルを参照して受信パケットにVLANタグ値を付与することを特徴とする請求項1又は2に記載のスイッチング方法。 - 受信パケットの送信元MACアドレス毎にその接続ポートを記憶する第1のテーブルと、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを記憶する第2のテーブルと、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に記憶する第3のテーブルと、
前記受信パケットの受信処理を許可するVLAN値を接続ポート毎に記憶する第4のテーブルと、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合は前記第3のテーブルに記憶されたVLAN値を用いて前記第4のテーブルを参照し、前記VLAN値が前記第4のテーブルに記憶されている場合に前記受信パケットを受信可能と判定する受信判定手段と、
前記受信判定手段により受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定する転送先ポート決定手段と、
前記受信判定手段が用いたVLAN値を用いて前記第2のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定手段により決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する送信判定手段とを、
備えたスイッチング装置。 - 受信パケットの送信元MACアドレス毎にその接続ポートを記憶する第1のテーブルと、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを記憶する第2のテーブルと、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に記憶する第3のテーブルと、
受信ポートとVLAN値の組み合わせ毎に、転送を許可するポートを記憶する第4のテーブルと、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合には前記第3のテーブルに記憶されたVLAN値を用いて前記第2のテーブルを参照し、前記VLAN値が前記第2のテーブルに既に記憶されている場合に前記受信パケットを受信可能と判定する受信判定手段と、
前記受信判定手段により受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定する転送先ポート決定手段と、
前記受信判定手段が用いたVLAN値と受信ポートを用いて前記第4のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定手段により決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する送信判定手段とを、
備えたスイッチング装置。 - 前記第1のテーブルは、送信元MACアドレス及び受信ポートの組み合わせ毎にVLANタグ値を記憶し、
前記転送先ポート決定手段は、前記第1のテーブルを参照して受信パケットにVLANタグ値を付与することを特徴とする請求項4又は5に記載のスイッチング装置。 - 受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶するステップと、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶するステップと、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶するステップと、
前記受信パケットの受信処理を許可するVLAN値を接続ポート毎に第4のテーブルに記憶するステップと、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合は前記第3のテーブルに記憶されたVLAN値を用いて前記第4のテーブルを参照し、前記VLAN値が前記第4のテーブルに記憶されている場合に前記受信パケットを受信可能と判定する受信判定ステップと、
前記受信判定ステップにより受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定する転送先ポート決定ステップと、
前記受信判定ステップが用いたVLAN値を用いて前記第2のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定ステップにより決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する送信判定ステップとを、
備えたコンピュータプログラム。 - 受信パケットの送信元MACアドレス毎にその接続ポートを第1のテーブルに記憶するステップと、
複数ポートをVLANグループ化するためのVLAN値毎に所属ポートを第2のテーブルに記憶するステップと、
VLANタグなしパケット受信時に受信処理を行うためのVLAN値を接続ポート毎に第3のテーブルに記憶するステップと、
受信ポートとVLAN値の組み合わせ毎に、転送を許可するポートを第4のテーブルに記憶するステップと、
前記受信パケットがVLANタグ付きパケットの場合はそのタグに示されるVLAN値を用い、VLANタグなしパケットの場合には前記第3のテーブルに記憶されたVLAN値を用いて前記第2のテーブルを参照し、前記VLAN値が前記第2のテーブルに既に記憶されている場合に前記受信パケットを受信可能と判定する受信判定ステップと、
前記受信判定ステップにより受信可能と判定された受信パケットの送信先MACアドレスを用いて前記第1のテーブルを参照することにより転送先ポートを決定する転送先ポート決定ステップと、
前記受信判定ステップが用いたVLAN値と受信ポートを用いて前記第4のテーブルを参照して転送処理可能な候補ポートを検索し、前記転送先ポート決定ステップにより決定された転送先ポートが前記候補ポートに含まれているか否かを判断し、含まれている場合にその転送先ポートに前記受信パケットを転送する送信判定ステップとを、
備えたコンピュータプログラム。 - 前記第1のテーブルは、送信元MACアドレス及び受信ポートの組み合わせ毎にVLANタグ値を記憶し、
前記転送先ポート決定ステップは、前記第1のテーブルを参照して受信パケットにVLANタグ値を付与することを特徴とする請求項8に記載のコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002224737A JP2004072160A (ja) | 2002-08-01 | 2002-08-01 | スイッチング方法及び装置並びにコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002224737A JP2004072160A (ja) | 2002-08-01 | 2002-08-01 | スイッチング方法及び装置並びにコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004072160A true JP2004072160A (ja) | 2004-03-04 |
Family
ID=32012615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002224737A Withdrawn JP2004072160A (ja) | 2002-08-01 | 2002-08-01 | スイッチング方法及び装置並びにコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004072160A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006115034A (ja) * | 2004-10-13 | 2006-04-27 | Nec Corp | 無線伝送システム、無線伝送装置及びそれに用いる無線伝送方法 |
WO2007045146A1 (fr) * | 2005-10-19 | 2007-04-26 | Huawei Technologies Co., Ltd. | Procede et dispositif de pontage de transfert |
CN101150446B (zh) * | 2006-09-21 | 2010-12-08 | 中兴通讯股份有限公司 | 一种标记模式evplan地址学习功能的测试方法 |
WO2014006689A1 (ja) | 2012-07-03 | 2014-01-09 | 三菱電機株式会社 | 通信装置およびネットワークシステム |
WO2014033835A1 (ja) | 2012-08-28 | 2014-03-06 | 三菱電機株式会社 | ネットワークシステムおよび通信装置 |
-
2002
- 2002-08-01 JP JP2002224737A patent/JP2004072160A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006115034A (ja) * | 2004-10-13 | 2006-04-27 | Nec Corp | 無線伝送システム、無線伝送装置及びそれに用いる無線伝送方法 |
JP4654650B2 (ja) * | 2004-10-13 | 2011-03-23 | 日本電気株式会社 | 無線伝送システム、無線伝送装置及びそれに用いる無線伝送方法 |
WO2007045146A1 (fr) * | 2005-10-19 | 2007-04-26 | Huawei Technologies Co., Ltd. | Procede et dispositif de pontage de transfert |
CN100442772C (zh) * | 2005-10-19 | 2008-12-10 | 华为技术有限公司 | 一种桥接转发方法 |
US7965709B2 (en) | 2005-10-19 | 2011-06-21 | Huawei Technologies Co., Ltd. | Bridge forwarding method and apparatus |
CN101150446B (zh) * | 2006-09-21 | 2010-12-08 | 中兴通讯股份有限公司 | 一种标记模式evplan地址学习功能的测试方法 |
WO2014006689A1 (ja) | 2012-07-03 | 2014-01-09 | 三菱電機株式会社 | 通信装置およびネットワークシステム |
US9531567B2 (en) | 2012-07-03 | 2016-12-27 | Mitsubishi Electric Corporation | Network system |
WO2014033835A1 (ja) | 2012-08-28 | 2014-03-06 | 三菱電機株式会社 | ネットワークシステムおよび通信装置 |
US9923733B2 (en) | 2012-08-28 | 2018-03-20 | Mitsubishi Electric Corporation | Network system and communication apparatus for performing communication among networks having different VLAN settings |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7577142B2 (en) | Derived VLAN mapping technique | |
CN103166874B (zh) | 一种报文转发方法及设备 | |
US9923812B2 (en) | Triple-tier anycast addressing | |
US9444743B2 (en) | Network system, switch and connected terminal detection method | |
US8014409B1 (en) | Virtual router identifier that spans multiple interfaces in a routing device | |
US20020010869A1 (en) | MAC address-based communication restricting method | |
EP1408656B1 (en) | Method and device for transparent LAN services | |
EP2100406B1 (en) | Method and apparatus for implementing multicast routing | |
US20050083952A1 (en) | Flexible ethernet bridge | |
CN108768866B (zh) | 组播报文跨卡转发方法、装置、网络设备及可读存储介质 | |
CN104221331B (zh) | 用于以太网交换机的没有查找表的第2层分组交换 | |
US20030227930A1 (en) | Method and apparatus for sharing a single internet protocol address without a network address translation in an internet access gateway for a local network | |
JP2006295938A (ja) | ネットワーク型ルーティング機構 | |
US20040076121A1 (en) | Method for an internet communication | |
JP2004072160A (ja) | スイッチング方法及び装置並びにコンピュータプログラム | |
CN100479457C (zh) | 一种实现虚拟私有网络中数据传输的方法 | |
CN101447927B (zh) | 用户终端之间三层隔离的方法和路由设备 | |
Chiu et al. | Design the dns-like smart switch for heterogeneous network base on sdn architecture | |
JP2003283546A (ja) | 無線モバイルルータ | |
WO2014036145A2 (en) | Using fabric port-channels to scale ip connectivity to hosts in directly connected subnets in massive scale data centers | |
JP2001136202A (ja) | Tcp/ipにおけるコネクション設定方法および方式 | |
JP4074623B2 (ja) | データ伝送中継システム及びデータ伝送中継方法 | |
CN107547395B (zh) | 一种报文传输方法、装置及机器可读存储介质 | |
JPH088974A (ja) | 経路制御装置 | |
CN114531391A (zh) | 确定下一跳的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Effective date: 20040715 Free format text: JAPANESE INTERMEDIATE CODE: A761 |