(57)【特許請求の範囲】
【請求項１】
送信元端末から送られるデータフレームを宛先端末に転送するネットワークのノードにおいて、
前記ネットワーク内の各ノードが、前記宛先端末が接続するノードの識別子と、前記宛先端末に接続するノードをルートノードとするスパニングツリーの識別子の対応関係を保持し、
前記データフレームに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子を付加し、
前記スパニングツリーを経路として、前記対応関係から前記データフレームの出力ポートを決定することを特徴とするノード。
【請求項２】
前記送信元端末が接続するノードが、前記送信元端末から受信したデータフレームに、宛先アドレスとして前記宛先端末が接続するノードの識別子を、送信元アドレスとして前記送信元端末が接続するノードの識別子を付加して、前記データフレームを送出し、
前記スパニングツリー上で、付加された前記ノードの識別子に基づいてデータフレーム転送されることを特徴とする請求項１に記載のノード。
【請求項３】
前記宛先端末に接続するノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、
ルートポートであって状態がフォワーディング状態であるポートを、ユニキャストフレームの出力ポートとし、
割り当て済みのポートであってフォワーディング状態またはラーニング状態であるポートを、ブロードキャストフレームの出力ポートとすることを特徴とする請求項１または請求項２に記載のノード。
【請求項４】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を予め設定したテーブルを各ノードに保持することを特徴とする請求項１から請求項３の何れか１項に記載のノード。
【請求項５】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を、前記スパニングツリーの作成においてネットワーク上に転送される所定の制御フレームに含まれる情報から生成することを特徴とする請求項１から請求項３の何れか１項に記載のノード。
【請求項６】
前記スパニングツリーの識別子に所定の演算を施すことで前記宛先端末が接続するノードの識別子が得られるように、前記宛先端末が接続するノードの識別子を設定し、
受信したデータフレームから取得した前記スパニングツリーの識別子に所定の演算を行うことで、前記宛先端末が接続するノードの識別子を求め、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得することを特徴とする請求項１から請求項３の何れか１項に記載のノード。
【請求項７】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを保持し、前記スパニングツリーの処理を行なうスパニングツリー制御部からの通知情報をもとに、通知された前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を取得し、取得した前記宛先端末が接続するノードに対する出力ポートを前記スパニングツリー制御部から取得したポートに設定し、フォワーディングテーブルへの書き込みを行なうテーブル制御部と、
前記フォワーディングテーブルに、
前記宛先端末が接続するノードの識別子に対する出力ポートを保持するテーブルと、前記スパニングツリーの識別子またはＶＰＮを識別する識別子に対するブロードキャスト出力ポートを保持するテーブルを格納することをと特徴とする請求項１から請求項３の何れか１項に記載のノード。
【請求項８】
前記テーブル制御部で、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを手動により設定することを特徴とする請求項７に記載のノード。
【請求項９】
スパニングツリーの処理終了後に、スパニングツリー上に所定の制御フレームを転送し、
前記テーブル制御部が、受信した前記制御フレームに格納される情報から前記前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項７に記載のノード。
【請求項１０】
前記スパニングツリー上に転送される所定の制御フレームに格納される情報から前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、
前記テーブル制御部が、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項７に記載のノード。
【請求項１１】
前記テーブル制御部が、取得した前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を算出し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項７に記載のノード。
【請求項１２】
前記宛先端末に接続するノードが、
送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームを送出することを特徴とする請求項１または請求項２に記載のノード。
【請求項１３】
前記宛先端末に接続するノード以外のノードが、
前記宛先端末に接続するノードが送出した前記データフレームを受信したポートを前記宛先端末に接続するノードに対する出力ポートとすることを特徴とする請求項１と請求項２または請求項１２の何れか１項に記載のノード。
【請求項１４】
前記送信元端末から受信したデータフレームの前記宛先端末に接続するノードの識別子が不明の場合、送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームをの作成と送出を決定するテーブルサーチ部と、
受信データフレームの送信元アドレスに格納されるノード識別子とスパニングツリーの識別子との組み合わせに対する出力ポートを前記受信データフレームの受信ポートとするＭＡＣラーニング部とを有することを特徴とする請求項１３に記載のノード。
【請求項１５】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記スパニングツリーの識別子を格納するデータと共に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加することを特徴とする請求項１から請求項１４に記載のいずれかのノード。
【請求項１６】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、又は、データフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有することを特徴とする請求項１５に記載のノード。
【請求項１７】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、前記スパニングツリーを転送経路として用い、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、他のプロトコルによるネットワークに属する端末用に設定された転送経路を用いることを特徴とする請求項１から請求項１４の何れか１項に記載のノード。
【請求項１８】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、またはデータフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有し、
前記テーブルサーチ部が、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定し、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定することを特徴とする請求項１７に記載のノード。
【請求項１９】
前記他のプロトコルによるネットワークがＶＰＮであることを特徴とする請求項１５から請求項１８の何れか１項に記載のノード。
【請求項２０】
前記宛先端末が接続するノードの識別子が、ＥｏＥ−ＭＡＣアドレスであることを特徴とする請求項１から請求項１９の何れか１項に記載のノード。
【請求項２１】
複数のノードを含み、前記ノードに接続される送信元端末と宛先端末間でデータフレームの転送を行うネットワークにおいて、
前記ネットワーク内の各ノードに、前記宛先端末が接続するノードの識別子と、前記宛先端末に接続するノードをルートノードとするスパニングツリーの識別子の対応関係を保持し、
前記データフレームに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子を付加し、
前記スパニングツリー上で、前記スパニングツリーのポート情報を基に前記対応関係から前記宛先端末が接続するノードに対する出力ポートを決定し、前記データフレームを転送することを特徴とするネットワーク。
【請求項２２】
前記送信元端末が接続するノードが、前記送信元端末から受信したデータフレームに、宛先アドレスとして前記宛先端末が接続するノードの識別子を、送信元アドレスとして前記送信元端末が接続するノードの識別子を付加して、前記データフレームを送出し、
前記スパニングツリー上で、付加された前記ノードの識別子に基づいてデータフレーム転送されることを特徴とする請求項２１に記載のネットワーク。
【請求項２３】
前記宛先端末に接続するノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、
ルートポートであって状態がフォワーディング状態であるポートを、ユニキャストフレームの出力ポートとし、
割り当て済みのポートであってフォワーディング状態またはラーニング状態であるポートを、ブロードキャストフレームの出力ポートとすることを特徴とする請求項２１または請求項２２に記載のネットワーク。
【請求項２４】
前記ノードに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を予め設定したテーブルを各ノードに保持することを特徴とする請求項２１から請求項２３の何れか１項に記載のネットワーク。
【請求項２５】
前記ノードが、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を、前記スパニングツリーの作成においてネットワーク上に転送される所定の制御フレームに含まれる情報から生成することを特徴とする請求項２１から請求項２３の何れか１項に記載のネットワーク。
【請求項２６】
前記スパニングツリーの識別子に所定の演算を施すことで前記宛先端末が接続するノードの識別子が得られるように、前記宛先端末が接続するノードの識別子を設定し、
前記ノードが、受信したデータフレームから取得した前記スパニングツリーの識別子に所定の演算を行うことで、前記宛先端末が接続するノードの識別子を求め、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得することを特徴とする請求項２１から請求項２３の何れか１項に記載のネットワーク。
【請求項２７】
前記ノードに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを保持し、前記スパニングツリーの処理を行なうスパニングツリー制御部からの通知情報をもとに、通知された前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を取得し、取得した前記宛先端末が接続するノードに対する出力ポートを前記スパニングツリー制御部から取得したポートに設定し、フォワーディングテーブルへの書き込みを行なうテーブル制御部を備え、
前記フォワーディングテーブルに、
前記宛先端末が接続するノードの識別子に対する出力ポートを保持するテーブルと、前記スパニングツリーの識別子またはＶＰＮを識別する識別子に対するブロードキャスト出力ポートを保持するテーブルを格することをと特徴とする請求項２１から請求項２３の何れか１項に記載のネットワーク。
【請求項２８】
前記テーブル制御部で、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを手動により設定することを特徴とする請求項２７に記載のネットワーク。
【請求項２９】
スパニングツリーの処理終了後に、スパニングツリー上に所定の制御フレームを転送し、
前記テーブル制御部が、受信した前記制御フレームに格納される情報から前記前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項２７に記載のネットワーク。
【請求項３０】
前記スパニングツリー上に転送される所定の制御フレームに格納される情報から前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、
前記テーブル制御部が、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項２７に記載のネットワーク。
【請求項３１】
前記テーブル制御部が、取得した前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を算出し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項２７に記載のネットワーク。
【請求項３２】
前記宛先端末に接続するノードが、
送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームを送出することを特徴とする請求項２１または請求項２２に記載のネットワーク。
【請求項３３】
前記宛先端末に接続するノード以外のノードが、
前記宛先端末に接続するノードが送出した前記データフレームを受信したポートを前記宛先端末に接続するノードに対する出力ポートとすることを特徴とする請求項２１と請求項２２または請求項３２の何れか１項に記載のネットワーク。
【請求項３４】
前記送信元端末から受信したデータフレームの前記宛先端末に接続するノードの識別子が不明の場合、送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームをの作成と送出を決定するテーブルサーチ部と、
受信データフレームの送信元アドレスに格納されるノード識別子とスパニングツリーの識別子との組み合わせに対する出力ポートを前記受信データフレームの受信ポートとするＭＡＣラーニング部とを有することを特徴とする請求項３３に記載のネットワーク。
【請求項３５】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記スパニングツリーの識別子を格納するデータと共に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加することを特徴とする請求項２１から請求項３４に記載のいずれかのネットワーク。
【請求項３６】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、又は、データフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有することを特徴とする請求項３５に記載のネットワーク。
【請求項３７】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、前記スパニングツリーを転送経路として用い、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、他のプロトコルによるネットワークに属する端末用に設定された転送経路を用いることを特徴とする請求項２１から請求項３４の何れか１項に記載のネットワーク。
【請求項３８】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、またはデータフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有し、
前記テーブルサーチ部が、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定し、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定することを特徴とする請求項３７に記載のネットワーク。
【請求項３９】
前記他のプロトコルによるネットワークがＶＰＮであることを特徴とする請求項３５から請求項３８の何れか１項に記載のネットワーク。
【請求項４０】
前記宛先端末が接続するノードの識別子が、ＥｏＥ−ＭＡＣアドレスであることを特徴とする請求項２１から請求項３９の何れか１項に記載のネットワーク。
【請求項４１】
送信元端末から送られるデータフレームを宛先端末に転送するネットワークにおける転送情報の対応関係作成方法であって、
前記データフレームに、前記宛先端末が接続するノードの識別子と前記宛先端末に接続するノードをルートノードとするスパニングツリーの識別子を付加し、
前記ネットワーク内の各ノードに、前記宛先端末が接続するノードの識別子と、前記宛先端末に接続するノードをルートノードとするスパニングツリーの識別子との対応関係であって、前記スパニングツリーのポート情報を基に前記宛先端末が接続するノードに対して転送する前記データフレームの出力ポートを決定するための対応関係を作成することを特徴とする転送情報の対応関係作成方法。
【請求項４２】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を予め設定したテーブルを各ノードに保持することを特徴とする請求項４１に記載の転送情報の対応関係作成方法。
【請求項４３】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を、前記スパニングツリーの作成においてネットワーク上に転送される所定の制御フレームに含まれる情報から生成することを特徴とする請求項４１又は請求項４２に記載の転送情報の対応関係作成方法。
【請求項４４】
前記スパニングツリーの識別子に所定の演算を施すことで前記宛先端末が接続するノードの識別子が得られるように、前記宛先端末が接続するノードの識別子を設定し、
受信したデータフレームから取得した前記スパニングツリーの識別子に所定の演算を行うことで、前記宛先端末が接続するノードの識別子を求め、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を作成することを特徴とする請求項４１に記載の転送情報の対応関係作成方法。
【請求項４５】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを保持し、前記スパニングツリーの処理を行なうスパニングツリー制御部からの通知情報をもとに、通知された前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を取得し、取得した前記宛先端末が接続するノードに対する出力ポートを前記スパニングツリー制御部から取得したポートに設定し、フォワーディングテーブルへの書き込み、
前記フォワーディングテーブルに、
前記宛先端末が接続するノードの識別子に対する出力ポートを保持するテーブルと、前記スパニングツリーの識別子またはＶＰＮを識別する識別子に対するブロードキャスト出力ポートを保持するテーブルを格することをと特徴とする請求項４１に記載の転送情報の対応関係作成方法。
【請求項４６】
前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを手動により設定することを特徴とする請求項４５に記載の転送情報の対応関係作成方法。
【請求項４７】
スパニングツリーの処理終了後に、スパニングツリー上に所定の制御フレームを転送し、
受信した前記制御フレームに格納される情報から前記前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項４５に記載の転送情報の対応関係作成方法。
【請求項４８】
前記スパニングツリー上に転送される所定の制御フレームに格納される情報から前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、
取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項４５に記載の転送情報の対応関係作成方法。
【請求項４９】
取得した前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を算出し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項４５に記載の転送情報の対応関係作成方法。
【請求項５０】
前記宛先端末に接続するノードが、
送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームを送出することを特徴とする請求項４１または請求項４２に記載の転送情報の対応関係作成方法。
【請求項５１】
前記宛先端末に接続するノード以外のノードが、
前記宛先端末に接続するノードが送出した前記データフレームを受信したポートを前記宛先端末に接続するノードに対する出力ポートとすることを特徴とする請求項４１と請求項４２または請求項５０の何れか１項に記載の転送情報の対応関係作成方法。
【請求項５２】
前記送信元端末から受信したデータフレームの前記宛先端末に接続するノードの識別子が不明の場合、送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームの作成と送出を決定し、
受信データフレームの送信元アドレスに格納されるノード識別子とスパニングツリーの識別子との組み合わせに対する出力ポートを前記受信データフレームの受信ポートとすることを特徴とする請求項５１に記載の転送情報の対応関係作成方法。
【請求項５３】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記スパニングツリーの識別子を格納するデータと共に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加することを特徴とする請求項４１から請求項５２のいずれか１項に記載の転送情報の対応関係作成方法。
【請求項５４】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、又は、データフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを作成することを特徴とする請求項５３に記載の転送情報の対応関係作成方法。
【請求項５５】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、前記スパニングツリーを転送経路として用い、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、他のプロトコルによるネットワークに属する端末用に設定された転送経路を用いることを特徴とする請求項４１から請求項５２の何れか１項に記載の転送情報の対応関係作成方法。
【請求項５６】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、またはデータフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルと、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定し、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定することを特徴とする請求項５５に記載の転送情報の対応関係作成方法。
【請求項５７】
送信元端末と宛先端末間でデータフレームの転送を行うネットワークのノードであるコンピュータ上で実行されるフレーム転送プログラムであって、
前記宛先端末が接続するノードの識別子と、前記宛先端末に接続するノードをルートノードとするスパニングツリーの識別子の対応関係を保持し、
前記データフレームに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子を付加し、
前記スパニングツリー上で、前記スパニングツリーのポート情報を基に前記対応関係から前記宛先端末が接続するノードに対する出力ポートを決定し、前記データフレームを転送する機能を前記ノードに実現させることを特徴とするフレーム転送プログラム。
【請求項５８】
前記送信元端末が接続するノードに、
前記送信元端末から受信したデータフレームに、宛先アドレスとして前記宛先端末が接続するノードの識別子を、送信元アドレスとして前記送信元端末が接続するノードの識別子を付加して、前記データフレームを送出し、
前記スパニングツリー上で、付加された前記ノードの識別子に基づいてデータフレームを転送する機能を実行させることを特徴とする請求項５７に記載のフレーム転送プログラム。
【請求項５９】
前記宛先端末に接続するノードに対する出力ポートを決定する際に、
前記スパニングツリーのポートのうち、
ルートポートであって状態がフォワーディング状態であるポートを、ユニキャストフレームの出力ポートとし、
割り当て済みのポートであってフォワーディング状態またはラーニング状態であるポートを、ブロードキャストフレームの出力ポートとする機能を実行させることを特徴とする請求項５７または請求項５８に記載のフレーム転送プログラム。
【請求項６０】
前記ノードに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を予め設定したテーブルを各ノードに保持する機能を実行させることを特徴とする請求項５７から請求項５９の何れか１項に記載のフレーム転送プログラム。
【請求項６１】
前記ノードに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を、前記スパニングツリーの作成においてネットワーク上に転送される所定の制御フレームに含まれる情報から生成する機能を実行させることを特徴とする請求項５７から請求項５９の何れか１項に記載のフレーム転送プログラム。
【請求項６２】
前記スパニングツリーの識別子に所定の演算を施すことで前記宛先端末が接続するノードの識別子が得られるように、前記宛先端末が接続するノードの識別子を設定し、
前記ノードが、受信したデータフレームから取得した前記スパニングツリーの識別子に所定の演算を行うことで、前記宛先端末が接続するノードの識別子を求め、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得する機能を実行させることを特徴とする請求項５７から請求項５９の何れか１項に記載のフレーム転送プログラム。
【請求項６３】
前記ノードに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを保持し、前記スパニングツリーの処理を行なうスパニングツリー制御機能からの通知情報をもとに、通知された前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を取得し、取得した前記宛先端末が接続するノードに対する出力ポートを前記スパニングツリー制御部から取得したポートに設定し、フォワーディングテーブルへの書き込みを行なうテーブル制御機能を備え、
前記フォワーディングテーブルに、
前記宛先端末が接続するノードの識別子に対する出力ポートを保持するテーブルと、前記スパニングツリーの識別子またはＶＰＮを識別する識別子に対するブロードキャスト出力ポートを保持するテーブルを格する機能を実行させることを特徴とする請求項５７から請求項５９の何れか１項に記載のフレーム転送プログラム。
【請求項６４】
前記テーブル制御機能で、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを手動により設定することを特徴とする請求項６３に記載のフレーム転送プログラム。
【請求項６５】
スパニングツリーの処理終了後に、スパニングツリー上に所定の制御フレームを転送し、
前記テーブル制御機能が、受信した前記制御フレームに格納される情報から前記前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項６３に記載のフレーム転送プログラム。
【請求項６６】
前記スパニングツリー上に転送される所定の制御フレームに格納される情報から前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、
前記テーブル制御機能が、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項６３に記載のフレーム転送プログラム。
【請求項６７】
前記テーブル制御機能が、取得した前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を算出し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする請求項６３に記載のフレーム転送プログラム。
【請求項６８】
前記宛先端末に接続するノードに、
送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームを送出する機能を実行させることを特徴とする請求項５７または請求項５８に記載のフレーム転送プログラム。
【請求項６９】
前記宛先端末に接続するノード以外のノードに、
前記宛先端末に接続するノードが送出した前記データフレームを受信したポートを前記宛先端末に接続するノードに対する出力ポートとする機能を実行させることを特徴とする請求項５７と請求項５８または請求項６８の何れか１項に記載のフレーム転送プログラム。
【請求項７０】
前記送信元端末から受信したデータフレームの前記宛先端末に接続するノードの識別子が不明の場合、送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームをの作成と送出を決定するテーブルサーチ機能と、
受信データフレームの送信元アドレスに格納されるノード識別子とスパニングツリーの識別子との組み合わせに対する出力ポートを前記受信データフレームの受信ポートとするＭＡＣラーニング機構を実行させることを特徴とする請求項６９に記載のフレーム転送プログラム。
【請求項７１】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記スパニングツリーの識別子を格納するデータと共に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加する機能を実行させることを特徴とする請求項５７から請求項７０に記載のいずれかのフレーム転送プログラム。
【請求項７２】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、又は、データフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有することを特徴とする請求項７１に記載のフレーム転送プログラム。
【請求項７３】
データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、前記スパニングツリーを転送経路として用い、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、他のプロトコルによるネットワークに属する端末用に設定された転送経路を用いる機能を実行させることを特徴とする請求項５７から請求項７０の何れか１項に記載のフレーム転送プログラム。
【請求項７４】
データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、または、データフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有し、
前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定し、
前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定する機能を実行させることを特徴とする請求項７３に記載のフレーム転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥｏＥ（Ｅｔｈｅｒｎｅｔ（Ｒ）ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（Ｒ））ネットワークにおけるノード，ネットワーク，対応関係作成方法及びフレーム転送プログラムに関し、特に、フレーム転送の最適化についてのノード，ネットワーク，対応関係作成方法及びフレーム転送プログラムに関する。
【背景技術】
【０００２】
近年、安価な企業向けデータサービスとして、従来ＬＡＮで広く使用されてきたイーサネット（Ｒ）技術を広域網に展開した広域イーサネット（Ｒ）ＶＰＮサービス（広域イーサ）が注目されている。広域イーサはプラグアンドプレイの使い易さ、低コスト性という従来のイーサネット（Ｒ）技術の利点を継承しているものの、ユーザ端末のＭＡＣアドレスがコアネットワーク内を通過するため、コアスイッチが処理するＭＡＣアドレス数が膨大な数となるという問題がある。すなわち、コアスイッチでのＭＡＣアドレス処理量（ＭＡＣアドレス学習処理、フレーム転送時のアドレス検索処理など）がネックとなる、またはコアスイッチでの収容ＭＡＣアドレス数を制限する場合、ネットワークでの収容ＭＡＣアドレス数（収容ユーザ端末数）が制限されるという問題がある。
このような問題を解決するために、非特許文献１では、ＥｏＥという技術が提案されている。なお、非特許文献１以外にも類似の技術、例えばＩＥＥＥ８０２．１で議論されているＭＡＣ  ｉｎ  ＭＡＣ技術等があるが、以降で説明する課題については共通であるので、ここでは非特許文献１について説明する。
図４８は広域イーサのネットワークの一例である。広域イーサのネットワークは、ユーザ端末Ｔ５、Ｔ６、Ｔ７、Ｔ８を収容するエッジスイッチＥ５、Ｅ６、Ｅ７、Ｅ８と、ユーザ端末を収容せずに中継動作のみを行なうコアスイッチＣ３、Ｃ４とから構成される。
従来のイーサネット（Ｒ）技術を利用した広域イーササービスでは、例えば図４８において各エッジスイッチに対して１万台のユーザ端末が接続されている場合、コアスイッチでは４万個のＭＡＣアドレスを処理しなければならない。これに対して、ＥｏＥ技術では、各エッジスイッチにはネットワーク内のみで有効なＭＡＣアドレス（以降では、ＥｏＥ−ＭＡＣアドレスと記す）が設定されており、自スイッチの配下に接続するユーザ端末からのフレームをネットワーク内に転送する場合、ＥｏＥ−ＭＡＣアドレスでカプセル化して転送する。図４８では、エッジスイッチＥ５、Ｅ６、Ｅ７、Ｅ８に対して、それぞれＥｏＥ−ＭＡＣアドレスｅ５、ｅ６、ｅ７、ｅ８が設定されている。
次に、フレームフォーマットについて説明する。図４９は通常のイーサネット（Ｒ）フレーム４３００のフォーマットである。イーサネット（Ｒ）フレーム４３００は、宛先ＭＡＣアドレス４３１０、送信元ＭＡＣアドレス４３２０、Ｔｙｐｅ４３３０、ペイロード４３４０、ＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）４３５０から構成される。
これに対して、ＥｏＥ−ＭＡＣアドレスでカプセル化されたフレーム（以降、ＥｏＥフレームと記す）のフォーマットは、図５０に示す構成となっている。図５０に示すように、ＥｏＥフレーム４４００は、イーサネット（Ｒ）フレーム４４４０の前に宛先のエッジスイッチのＥｏＥ−ＭＡＣアドレス４４１０（宛先ＥｏＥ−ＭＡＣアドレス）、送信元である自スイッチのＥｏＥ−ＭＡＣアドレス４４２０（送信元ＥｏＥ−ＭＡＣアドレス）、Ｔｙｐｅ４４３０を付加し、イーサネット（Ｒ）フレーム４４４０の後にＦＣＳ４４５０を付加してカプセル化したフォーマットとなる。なお、ここでカプセル化されるイーサネット（Ｒ）フレーム４４４０はユーザ端末から受信したイーサネット（Ｒ）フレーム４３００からＦＣＳ４３５０を削除したものである。
ユーザ端末からのイーサネット（Ｒ）フレームにＶＬＡＮタグが付加された時のフォーマットを図５１に示す。ＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００は、宛先ＭＡＣアドレス４３１０、送信元ＭＡＣアドレス４３２０、ＶＬＡＮタグ４５１０、Ｔｙｐｅ４３３０、ペイロード４３４０、ＦＣＳ４３５０から構成される。図５０のイーサネット（Ｒ）フレーム４４４０には、ＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００からＦＣＳ４３５０が削除されたものが格納される場合もある。
また、ＥｏＥフレーム４４００がＶＬＡＮタグ付きの構成となる場合もあり、その場合は図５２のように、宛先ＥｏＥ−ＭＡＣアドレス４４１０、送信元ＥｏＥ−ＭＡＣアドレス４４２０、ＶＬＡＮ４５１０、Ｔｙｐｅ４４３０、イーサネット（Ｒ）フレーム４４４０、ＦＣＳ４４５０から構成される。
図４８の説明に戻ると、エッジスイッチＥ５〜Ｅ８がユーザ端末Ｔ５〜Ｔ８からイーサネット（Ｒ）フレームを受信すると、ＥｏＥ−ＭＡＣアドレスでカプセル化して、コアネットワーク側に転送することにより、コアスイッチＣ３、Ｃ４には、ＥｏＥ−ＭＡＣアドレス付きのフレームが転送される。そのため、コアスイッチＣ３、Ｃ４は、ネットワーク内のエッジスイッチ数分のＭＡＣアドレスを処理すれば良いこととなる。図４８の例では、エッジスイッチ数は４個であるため、各コアスイッチＣ３、Ｃ４は４個のＭＡＣアドレスを処理すれば良い。
既存イーサネット（Ｒ）技術における前述の例では、各エッジスイッチに１万台のユーザ端末が接続されている場合、４万個のＭＡＣアドレスを処理しなければならなかったのが、ＥｏＥ技術を利用することで４個のＭＡＣアドレスを処理すれば良いことになる。このように、ＥｏＥ技術では、コアスイッチは従来どおりのＭＡＣアドレス転送をサポートするだけで、コアスイッチで処理するＭＡＣアドレス数を、ネットワークに収容するＭＡＣアドレス数に関わらず、エッジスイッチ数分のＭＡＣアドレスに削減できるという効果があり、大規模ネットワークまで拡張可能な技術となっている。
一方、イーサネット（Ｒ）技術では、何も処置を講じないと、ネットワーク内にループ構成がある場合にフレームがループ上を回り続けて、特にブロードキャストフレームが回り続けた場合にネットワークがダウンする可能性がある。これを回避するために、ネットワーク内に物理的にループ構成がある場合でも、論理的にループを排除して、ループフリーネットワークを構成するためのスパニングツリープロトコル（Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ。以降、ＳＴＰと記す。本技術はＩＥＥＥ８０２．１Ｄにて規定されている。）やその高速動作版の高速スパニングツリープロトコル（Ｒａｐｉｄ  Ｓｐａｎｎｉｎｇ  Ｔｒｅｅ  Ｐｒｏｔｏｃｏｌ。以降、ＲＳＴＰと記す。本技術はＩＥＥＥ８０２．１ｗにて規定されている。）を用いる場合が多い。
ＳＴＰやＲＳＴＰの技術を用いる場合、ループ構成上のいずれかのポートがブロッキング状態（主信号フレームの送受信を行なわない状態）となることにより、ループフリー構成となる。図４８のネットワークを例にすると、例えばエッジスイッチＥ７／コアスイッチＣ３／コアスイッチＣ４／エッジスイッチＥ８の間でループ構成があるが、コアスイッチＣ３のポートｐ３がブロッキング状態となることでループフリーとなる。
しかしながら、このようなＳＴＰ、ＲＳＴＰの技術を用いた場合、ブロッキングポートと接続されたリンクではフレーム転送できないため、あるスイッチ間でフレーム転送する場合に最短経路（最小ホップ数経路）で転送できない。図４８の例では、ユーザ端末Ｔ６からユーザ端末Ｔ５にフレーム転送する場合、エッジスイッチＥ５のポートｐ３がブロッキング状態となっているため、エッジスイッチＥ６→エッジスイッチＥ５の経路では転送できず、エッジスイッチＥ６→コアスイッチＣ４→エッジスイッチＥ８→エッジスイッチＥ７→コアスイッチＣ３→エッジスイッチＥ５の経路で転送されて、ユーザ端末Ｔ５に到着する。
この問題を解決する技術として、非特許文献２では、ＶＬＡＮＩＤ毎に複数管理可能なＭｕｌｔｉｐｌｅ  ＳＴＰ（以降、ＭＳＴＰと記す）の技術を利用し、各エッジスイッチが、自スイッチがルートノードとなる転送経路であるＳＴＰ／ＲＳＴＰツリーを作成し、各々のＳＴＰ／ＲＳＴＰツリーのルートノードとなるエッジスイッチを宛先とするフレームの転送経路をそのＳＴＰ／ＲＳＴＰツリーとしている。ＳＴＰ／ＲＳＴＰツリーでアクティブとなるリンク（ブロッキングポートを含まないリンク）は、ルートノードからのリンクコストが最小となるリンクが選ばれるため、非特許文献２の方法を用いると最短経路での転送が可能となる。
図４８で説明した前述のユーザ端末Ｔ６からＴ５へのフレーム転送に対し、非特許文献２の方法を用いた例を図５３に示している。図５３では、ユーザ端末Ｔ６からＴ５へのフレーム転送は、エッジスイッチＥ５がルートノードとなるＳＴＰ／ＲＳＴＰツリーを用いて行なわれる（エッジスイッチＥ７、Ｅ８からＥ５への転送もエッジスイッチＥ５がルートノードとなるＳＴＰ／ＲＳＴＰツリーを用いて行なわれる）。したがって、ユーザ端末Ｔ６からのフレームはエッジスイッチＥ６からエッジスイッチＥ５を経て、ユーザ端末Ｔ５に到着する。このように各ノード間の転送が最短経路で行うことができる。
このような転送を行なうために、非特許文献２では、以下のような処理を行っている。エッジスイッチ間の転送は、各エッジスイッチに設定されたノードＩＤをイーサネット（Ｒ）フレームのＶＬＡＮタグに格納し、各エッジスイッチ、コアスイッチではそのＩＤに基づき、フレーム転送する。
図５３では、エッジスイッチＥ５、Ｅ６、Ｅ７、Ｅ８にそれぞれノードＩＤ＝ｇ１１、ｇ１２、ｇ１３、ｇ１４が割り当てられており、エッジスイッチＥ６からエッジスイッチＥ５への転送では、エッジスイッチＥ６において、フレームにＶＬＡＮタグに格納されたＶＬＡＮＩＤ＝ｇ１１がスタックされ（本ＶＬＡＮタグをフォワーディングタグと記す）、エッジスイッチＥ６ではフォワーディングタグ＝ｇ１１に基づきエッジスイッチＥ５方向にフレーム転送される。
各スイッチのフォワーディングテーブルでは、フォワーディングタグ値に対する出力ポートが管理され、出力ポートとしては、フォワーディングタグ値と等しいノードＩＤを持つエッジスイッチがルートノードとなるＳＴＰ／ＲＳＴＰツリーのルートポート（その時のポート状態は転送可能状態を示すフォワーディング状態）のポート番号が設定される。ここで、フォワーディングタグ値（宛先エッジスイッチのノードＩＤ）とＳＴＰ／ＲＳＴＰツリーの識別ＩＤ（ＶＬＡＮＩＤ）はいずれもＶＬＡＮタグに格納され、その値は同一値としている。
図５３では、エッジスイッチＥ５のノードＩＤはｇ１１で、エッジスイッチＥ５がルートノードとなるＳＴＰ／ＲＳＴＰツリーの識別ＩＤ（ＶＬＡＮＩＤ）もｇ１１であり、それぞれＶＬＡＮタグに格納される。そのため、フォワーディングテーブルへの設定は、フォワーディングタグに対して、その値と同一の識別子で識別されるＳＴＰ／ＲＳＴＰツリーのポート情報を反映する。図５３では、各スイッチは、フォワーディングタグｇ１１への出力ポートはＶＬＡＮＩＤ＝ｇ１１のＳＴＰ／ＲＳＴＰツリーのポート情報を反映する。
【非特許文献１】安藤（パワードコム）、“ＬＡＮ  Ｓｗｉｔｃｈ技術〜冗長化手法と最新技術〜”、Ｉｎｔｅｒｎｅｔ  ｗｅｅｋ  ２００３、ｈｔｔｐ：／／ｗｗｗ．ｎｉｃ．ａｄ．ｊｐ／ｊａ／ｍａｔｅｒｉａｌｓ／ｉｗ／２００３／ｐｒｏｃｅｅｄｉｎｇｓ／ｉｎｄｅｘ．ｈｔｍｌ  ｈｔｔｐ：／／ｗｗｗ．ｎｉｃ．ａｄ．ｊｐ／ｊａ／ｍａｔｅｒｉａｌｓ／ｉｗ／２００３／ｐｒｏｃｅｅｄｉｎｇｓ／Ｔ１４−２．ｐｄｆ，ｐ．４２−５７
【非特許文献２】厩橋他、“次世代イーサネット（Ｒ）アーキテクチャＧＯＥ（Ｇｌｏｂａｌ  Ｏｐｔｉｃａｌ  Ｅｔｈｅｒｎｅｔ（Ｒ））の提案−（２）高効率ルーティングと高速プロテクション”、２００２年電子情報通信学会ソサイエティ大会、Ｂ−７−１１
【０００３】
以上説明した非特許文献１のＥｏＥ技術に対して非特許文献２の最適経路転送技術を適用することにより、ＥｏＥ技術における最適経路転送できないという課題を解決できるかどうかを図５４を用いて説明する。
非特許文献２と同様にＥｏＥ技術において、各エッジスイッチがルートノードとなるＳＴＰ／ＲＳＴＰツリーを作成する。ＭＳＴＰの技術を用いるため、各々のＳＴＰ／ＲＳＴＰツリーの識別子はＶＬＡＮＩＤとなる。図５４では、エッジスイッチＥ５がルートとなるＳＴＰ／ＲＳＴＰツリーのＶＬＡＮＩＤはｇ１１である。また、ＥｏＥ技術では、前述のようにＥｏＥ−ＭＡＣアドレスに基づきフレーム転送される。
図５４では、エッジスイッチＥ５のＥｏＥ−ＭＡＣアドレスはｅ５であり、エッジスイッチＥ５宛てのフレームはＥｏＥ−ＭＡＣアドレスｅ５に基づき転送される。ここで、非特許文献２の方法で出力ポート設定を行なう場合に、各スイッチは、ＥｏＥ−ＭＡＣアドレスに対応するＳＴＰ／ＲＳＴＰツリーの識別子（ＶＬＡＮＩＤ）が不明であり、ＥｏＥ−ＭＡＣアドレスに対する出力ポートを決定できない。このように、ＥｏＥ技術に対して、非特許文献２の技術をそのまま適用しただけでは、ＥｏＥ技術において最適経路転送はできないという課題がある。
【発明の開示】
【０００４】
本発明の目的は、ＥｏＥ技術において、最適経路転送を実現することにより、特定リンクへのトラヒック集中を回避し、ネットワーク全体でのスループットを向上することにある。
上記目的を達成するため本発明は、以下に示すような構成としている。
請求項１に記載のノードは、送信元端末から送られるデータフレームを宛先端末に転送するネットワークのノードにおいて、前記ネットワーク内の各ノードが、前記宛先端末が接続するノードの識別子と、前記宛先端末に接続するノードをルートノードとするスパニングツリーの識別子の対応関係を保持し、前記データフレームに、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子を付加し、前記スパニングツリー上で、前記スパニングツリーのポート情報を基に前記対応関係から前記宛先端末が接続するノードに対する出力ポートを決定し、前記データフレームを転送することを特徴とする。
請求項２に記載のノードは、前記送信元端末が接続するノードが、前記送信元端末から受信したデータフレームに、宛先アドレスとして前記宛先端末が接続するノードの識別子を、送信元アドレスとして前記送信元端末が接続するノードの識別子を付加して、前記データフレームを送出し、前記スパニングツリー上で、付加された前記ノードの識別子に基づいてデータフレーム転送されることを特徴とする。
請求項３に記載のノードは、前記宛先端末に接続するノードに対する出力ポートを決定する際に、前記スパニングツリーのポートのうち、ルートポートであって状態がフォワーディング状態であるポートを、ユニキャストフレームの出力ポートとし、割り当て済みのポートであってフォワーディング状態またはラーニング状態であるポートを、ブロードキャストフレームの出力ポートとすることを特徴とする。
請求項４に記載のノードは、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を予め設定したテーブルを各ノードに保持することを特徴とする。
請求項５に記載のノードは、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を、前記スパニングツリーの作成においてネットワーク上に転送される所定の制御フレームに含まれる情報から生成することを特徴とする。
請求項６に記載のノードは、前記スパニングツリーの識別子に所定の演算を施すことで前記宛先端末が接続するノードの識別子が得られるように、前記宛先端末が接続するノードの識別子を設定し、受信したデータフレームから取得した前記スパニングツリーの識別子に所定の演算を行うことで、前記宛先端末が接続するノードの識別子を求め、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得することを特徴とする。
請求項７に記載のノードは、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを保持し、前記スパニングツリーの処理を行なうスパニングツリー制御部からの通知情報をもとに、通知された前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を取得し、取得した前記宛先端末が接続するノードに対する出力ポートを前記スパニングツリー制御部から取得したポートに設定し、フォワーディングテーブルへの書き込みを行なうテーブル制御部と、前記フォワーディングテーブルに、前記宛先端末が接続するノードの識別子に対する出力ポートを保持するテーブルと、前記スパニングツリーの識別子またはＶＰＮを識別する識別子に対するブロードキャスト出力ポートを保持するテーブルを格することをと特徴とする。
請求項８に記載のノードは、前記テーブル制御部で、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルを手動により設定することを特徴とする。
請求項９に記載のノードは、スパニングツリーの処理終了後に、スパニングツリー上に所定の制御フレームを転送し、前記テーブル制御部が、受信した前記制御フレームに格納される情報から前記前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする。
請求項１０に記載のノードは、前記スパニングツリー上に転送される所定の制御フレームに格納される情報から前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、前記テーブル制御部が、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする。
請求項１１に記載のノードは、前記テーブル制御部が、取得した前記スパニングツリーの識別子から前記宛先端末が接続するノードの識別子を算出し、前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を取得し、取得した前記対応関係情報を前記宛先端末が接続するノードの識別子と前記スパニングツリーの識別子の対応関係を記録するテーブルに格納することを特徴とする。
請求項１２に記載のノードは、前記宛先端末に接続するノードが、送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームを送出することを特徴とする。
請求項１３に記載のノードは、前記宛先端末に接続するノード以外のノードが、前記宛先端末に接続するノードが送出した前記データフレームを受信したポートを前記宛先端末に接続するノードに対する出力ポートとすることを特徴とする。
請求項１４に記載のノードは、前記送信元端末から受信したデータフレームの前記宛先端末に接続するノードの識別子が不明の場合、送信元アドレスとして自ノードの識別子を格納し、自ノードがルートノードとなるスパニングツリーの識別子を格納したデータを付加したデータフレームをの作成と送出を決定するテーブルサーチ部と、受信データフレームの送信元アドレスに格納されるノード識別子とスパニングツリーの識別子との組み合わせに対する出力ポートを前記受信データフレームの受信ポートとするＭＡＣラーニング部とを有することを特徴とする。
請求項１５に記載のノードは、データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合に、前記スパニングツリーの識別子を格納するデータと共に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加することを特徴とする。
請求項１６に記載のノードは、データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、又は、データフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有することを特徴とする。
請求項１７に記載のノードは、データフレームを送受信する前記送信元端末および前記宛先端末が他のプロトコルによるネットワークを形成している場合であって、かつ、前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、前記スパニングツリーを転送経路として用い、前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを前記データフレームに付加して、他のプロトコルによるネットワークに属する端末用に設定された転送経路を用いることを特徴とする。
請求項１８に記載のノードは、データフレームの受信ポートに対する他のプロトコルによるネットワークの識別子を保持するテーブル、またはデータフレームの受信ポートとスパニングツリーの識別子に対する他のプロトコルによるネットワークの識別子を保持するテーブルを有し、前記テーブルサーチ部が、前記データフレームがユニキャストフレームである場合に、前記スパニングツリーの識別子を格納するデータと共に、他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定し、前記データフレームがマルチキャストフレームまたはブロードキャストフレームである場合に、前記他のプロトコルによるネットワークを識別する識別子を格納するデータを付加したデータフレームの作成と送出を決定することを特徴とする。
請求項１９に記載のノードは、前記他のプロトコルによるネットワークがＶＰＮであることを特徴とする。
請求項２０に記載のノードは、前記宛先端末が接続するノードの識別子が、ＥｏＥ−ＭＡＣアドレスであることを特徴とする。
（作  用）
本発明は、送信元ノードが接続するノードにおいて、送信するデータフレームに、宛先端末が接続するノードの識別子と宛先端末が接続するノードをルートノードとするスパニングツリーの識別子を付加したデータフレームを前記スパニングツリーを経路として送信し、中継ノードでは、宛先端末が接続するノードの識別子と宛先端末に接続するノードをルートノードとするスパニングツリーの識別子との対応関係を保持し、前記データフレームに付加されたノード及びスパニングツリーの識別子と、前記対応関係との関係に基づいてデータフレームを転送する。
このように、前記対応関係に基づいて、データフレームを転送することにより、ＥｏＥ技術においても、最適経路でのデータフレーム転送が可能となる。
本発明によれば、ノードから構成されるネットワークでは、宛先端末に接続するノードがルートノードとなるスパニングツリーをその宛先端末に接続するノードへの転送経路とするために、宛先端末に接続するノードの識別子とスパニングツリーの識別子との対応関係を保持することにより、宛先端末に接続する全てのノード間で最短経路が形成され、送信元端末から送られるデータフレームを全ての宛先端末に最短経路で転送することが可能である。
これにより、ネットワーク内でのトラヒックの偏りをなくし、輻輳発生の可能性を低下させること及びネットワーク帯域を効率的に利用することが可能となるので、ネットワーク全体でのスループットを向上させることができる。
【図面の簡単な説明】
【０００５】
図１は、本発明の広域イーサのネットワークモデル図である。
図２は、本発明のスイッチの構成図である。
図３は、本発明の第１の実施の形態におけるフレームスイッチング部の構成図である。
図４は、本発明のフォワーディングテーブル格納部の構成図である。
図５は、本発明のＭＡＣテーブルである。
図６は、本発明のＭＡＣ／ＥｏＥ−ＭＡＣテーブルである。
図７は、本発明のブロードキャストテーブルである。
図８は、本発明のＳＴＰポート状態管理テーブルである。
図９は、本発明のＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブルである。
図１０は、本発明のＥｏＥ−ＭＡＣ／ＶＬＡＮ管理テーブルである。
図１１は、本発明の各スイッチのＳＴＰポート状態管理テーブルである。
図１２は、本発明の第１の実施の形態におけるエッジスイッチＥ５のフォワーディングテーブルである。
図１３は、本発明の第１の実施の形態におけるコアスイッチＣ５のフォワーディングテーブルである。
図１４は、本発明の第１の実施の形態におけるエッジスイッチＥ７のフォワーディングテーブルである。
図１５は、イーサネット（Ｒ）フレームの一例である。
図１６は、ＥｏＥフレームの一例である。
図１７は、本発明の第２の実施の形態におけるフレームスイッチング部の構成図である。
図１８は、ＢＰＤＵのフォーマットである。
図１９は、ＢＰＤＵのＲｏｏｔ  Ｉｄｅｎｔｉｆｉｅｒのフォーマットである。
図２０は、本発明の第３の実施の形態におけるフレームスイッチング部の構成図である。
図２１は、ＥｏＥ−ＭＡＣアドレスの構成例である。
図２２は、本発明の第４の実施の形態におけるフレームスイッチング部の構成図である。
図２３は、本発明の第４の実施の形態におけるエッジスイッチＥ５のフォワーディングテーブルである。
図２４は、本発明の第４の実施の形態におけるコアスイッチＣ５のフォワーディングテーブルである。
図２５は、本発明の第４の実施の形態におけるエッジスイッチＥ７のフォワーディングテーブルである。
図２６は、イーサネット（Ｒ）フレームの一例である。
図２７は、ＥｏＥブロードキャストフレームの一例である。
図２８は、ＥｏＥブロードキャストフレームの一例である。
図２９は、本発明の広域イーサの他のネットワークモデル図である。
図３０は、本発明の第５の実施の形態におけるフレームスイッチング部の構成図である。
図３１は、本発明のフォワーディングテーブル格納部の他の構成図である。
図３２は、本発明のポート／ＶＰＮテーブルである。
図３３は、本発明の他のＶＰＮ／ポートテーブルである。
図３４は、本発明のポート／ＶＰＮテーブルである。
図３５は、本発明の他のＶＰＮ／ポートテーブルである。
図３６は、ＶＬＡＮタグ付きＥｏＥフレームの一例である。
図３７は、本発明の広域イーサの他のネットワークモデル図である。
図３８は、本発明の第６の実施の形態におけるフレームスイッチング部の構成図である。
図３９は、本発明の第６の実施の形態における各スイッチのフォワーディングテーブル例である。
図４０は、ＥｏＥブロードキャストフレームの一例である。
図４１は、ＶＬＡＮタグ付きＥｏＥフレームの一例である。
図４２は、本発明の第１の実施の形態におけるフレーム転送手順の概要を示すフローチャートである。
図４３は、本発明の第１の実施の形態におけるフォワーディングテーブル更新手順の概要を示すフローチャートである。
図４４は、本発明の第２の実施の形態におけるＥｏＥ−ＭＡＣアドレスとＶＬＡＮＩＤとの対応付け処理手順の概要を示すフローチャートである。
図４５は、本発明の第３の実施の形態におけるＥｏＥ−ＭＡＣアドレスとＶＬＡＮＩＤとの対応付け処理手順の概要を示すフローチャートである。
図４６は、本発明の第４の実施の形態におけるフォワーディングテーブル更新手順の概要を示すフローチャートである。
図４７は、本発明の第６の実施の形態におけるブロードキャストフレーム転送処理手順の概要を示すフローチャートである。
図４８は、従来の広域イーサのネットワークモデル図である。
図４９は、イーサネット（Ｒ）フレームのフォーマットである。
図５０は、ＥｏＥフレームのフォーマットである。
図５１は、ＶＬＡＮタグ付きイーサネット（Ｒ）フレームのフォーマットである。
図５２は、ＶＬＡＮタグ付きＥｏＥフレームのフォーマットである。
図５３は、従来の広域イーサのネットワークモデル図である。
図５４は、従来の広域イーサのネットワークモデル図である。
２００：スイッチ、２０１〜２０４：ＩＦ、２１１〜２１４：ＰＨＹ、２２１〜２２４：ＭＡＣ、２３０：フレームスイッチング部、２４０：メモリ、２５０：ＣＰＵ、２６０：コンソールＩ／Ｏ、３００：フレーム解析部、３１０、３０１０、３８１０：フレーム書換部、３２０：フレーム転送部、３３０、３０３０、３８３０：テーブルサーチ部、３４０、３０４０、３８４０：フォワーディングテーブル格納部、３５０：ＭＡＣラーニング部、３６０：ＥｏＥ−ＭＡＣラーニング部、３７０：制御フレーム振分け部、３８０、１７８０、２２８０：ＳＴＰ制御部、３９０、１７９０、２０９０、２２９０：テーブル制御部、３９５：設定制御部、３４１、１２０３、１３０３、１４０３、２３０１、２３０４、２４０１、２４０４、２５０１、２５０４：ＭＡＣテーブル、３４２、１２０４、１４０４、１４０６、２３０２、２３０５、２５０２、２５０５：ＭＡＣ／ＥｏＥ−ＭＡＣテーブル、３４３、１２０５、１３０５、１４０５、２３０３、２４０３、２５０３、３９０１、３９１１、３９２１：ブロードキャストテーブル、３４４：テーブル書込み制御部、３４５：テーブル読込制御部、１１００、１２０１、１３０１、１４０１：ＳＴＰポート状態管理テーブル、９００、１２０２、１３０２、１４０２：ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル、１０００：ＥｏＥ−ＭＡＣ／ＶＬＡＮ管理テーブル、１５００、２６００、４３００、５０４０：イーサネット（Ｒ）フレーム、１６００、４４００：ＥｏＥフレーム、１８００：ＢＢＤＵ、１８０１：ＭＡＣ＿ＤＡフィールド、１８０２：ＭＡＣ＿ＳＡフィールド、１８０３，５１１０：ＶＬＡＮタグフィールド、１８０４：Ｔｙｐｅフィールド、１８０５：ＢＰＤＵパラメータ領域、１８０６：ＦＣＳフィールド、１８１１：Ｐｒｏｔｏｃｏｌ＿Ｉｄｅｎｔｉｆｉｅｒフィールド、１８１２：Ｐｒｏｔｏｃｏｌ＿Ｖｅｒｓｉｏｎ＿Ｉｄｅｎｆｉｅｒフィールド、１８１３：ＢＰＤＵ＿Ｔｙｐｅフィールド、１８１４：Ｆｌａｇｓフィールド、１８１５：Ｒｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド、１８１６：Ｒｏｏｔ＿Ｐａｔｈ＿Ｃｏｓｔフィールド、１８１７：Ｂｒｉｄｇｅ＿Ｉｄｅｎｔｉｆｉｅｒフィールド、１８１８：Ｐｏｒｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド、１８１９：Ｍｅｓｓａｇｅ＿Ａｇｅフィールド、１８２０：Ｍａｘ＿Ａｇｅフィールド、１８２１：Ｈｅｌｌｏ＿Ｔｉｍｅフィールド、１８２２：Ｆｏｒｗａｒｄｉｎｇ＿Ｄｅｌｅｙフィールド、１８１４１：Ｐｒｉｏｒｉｔｙフィールド、１８１４２：固定値フィールド、１８１４３：ＭＡＣ＿Ａｄｄｒｅｓｓフィールド、２１００：ＥｏＥ−ＭＡＣアドレス、２７００、２８００、４０００：ＥｏＥブロードキャストフレーム、３０４６：ＶＰＮ管理テーブル、３０４６１、３０４６３、３９０２、３９２２：ポート／ＶＰＮテーブル、３０４６２、３０４６４、３９０３、３９２３：ＶＰＮ／ポートテーブル、３６００、４６００、４１００：ＶＬＡＮタグ付きＥｏＥフレーム、４９１０：宛先ＭＡＣアドレス、４９２０：送信元ＭＡＣアドレス、４９３０、５０３０：Ｔｙｐｅ、４９４０：ペイロード、４９５０、５０５０：ＦＣＳ、５０１０：宛先ＥｏＥ−ＭＡＣアドレス、５０２０：送信元ＥｏＥ−ＭＡＣアドレス、４５００：ＶＬＡＮタグ付きイーサネット（Ｒ）フレーム、４５１０：ＶＬＡＮタグ、Ｃ１、Ｃ２、Ｃ３、Ｃ４：コアスイッチ、Ｅ１、Ｅ２、Ｅ３、Ｅ４、Ｅ５、Ｅ６、Ｅ７、Ｅ８：エッジスイッチ、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５、Ｔ６、Ｔ７、Ｔ８：ユーザ端末、ｅ１、ｅ２、ｅ３、ｅ４、ｅ５、ｅ６、ｅ７、ｅ８：ＥｏＥ−ＭＡＣアドレス、ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６、ｔ７、ｔ８：ＭＡＣアドレス、ｇ１、ｇ３：ＶＬＡＮＩＤ、ｐ１、ｐ２、ｐ３：ポート番号
【発明を実施するための最良の形態】
【０００６】
（第１の実施の形態）
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図１は、本発明を適用する物理ネットワーク構成例を示している。
図１のエッジスイッチ（ノード）Ｅ１、Ｅ２、Ｅ３、Ｅ４は、ＥｏＥ技術対応のスイッチであり、コアスイッチ（ノード）Ｃ１、Ｃ２は既存イーサネット（Ｒ）技術対応のスイッチであり、いずれも従来の機能に加えて、本発明による機能を備えている。各スイッチ間は、以下の接続形態となっている。
エッジスイッチＥ１のポートｐ３とエッジスイッチＥ２のポートｐ１、エッジスイッチＥ１のポートｐ２とコアスイッチＣ１のポートｐ１、コアスイッチＣ１のポートｐ２とエッジスイッチＥ３のポートｐ１、エッジスイッチＥ３のポートｐ３とエッジスイッチＥ４のポートｐ２、エッジスイッチＥ４のポートｐ１とコアスイッチＣ２のポートｐ３、コアスイッチＣ２のポートｐ１とエッジスイッチＥ２のポートｐ２、コアスイッチＣ１のポートｐ３とコアスイッチＣ２のポートｐ２がそれぞれ接続されている。
また、各エッジスイッチは、以下のようにユーザ端末を接続している。
エッジスイッチＥ１のポートｐ１にユーザ端末Ｔ１、エッジスイッチＥ２のポートｐ３にユーザ端末Ｔ２、エッジスイッチＥ３のポートｐ２にユーザ端末Ｔ３、エッジスイッチＥ４のポートｐ３にユーザ端末Ｔ４が接続されている。
このようなネットワークにおけるフレーム転送として、典型的な例として、ユーザ端末Ｔ１〜Ｔ４から送信されたイーサネット（Ｒ）フレームがエッジスイッチＥ１〜Ｅ４においてＥｏＥ−ＭＡＣフレームにカプセリングされ、コアスイッチＣ１、Ｃ２ではＥｏＥ−ＭＡＣアドレスでの転送が行なわれ、宛先ユーザ端末側のエッジスイッチＥ１〜Ｅ４においてＥｏＥ−ＭＡＣフレームのカプセリングが解除され、宛先ユーザ端末Ｔ１〜Ｔ４に転送される場合を前提とする。
本発明の第１の実施の形態では、ＥｏＥ技術において最適経路転送を実現するために、各エッジスイッチＥ１〜Ｅ４が、自ノードがルートノードとなるＳＴＰ／ＲＳＴＰに基づくスパニングツリーを各々作成し、ネットワーク内の各スイッチが各々のＳＴＰ／ＲＳＴＰに基づくスパニングツリーを識別するＶＬＡＮＩＤとそのスパニングツリーのルートノードとなっているエッジスイッチＥ１〜Ｅ４のＥｏＥ−ＭＡＣアドレスとの対応付けを保持する。
そして、後述するＳＴＰ制御部がＳＴＰ／ＲＳＴＰに基づくスパニングツリーのポート情報を基に、上記対応付けを参照して、ＥｏＥ−ＭＡＣアドレスに対する出力ポートを設定する。
以下に、図４２、図４３を参照して、本実施の形態における動作の概要を説明する。
本実施の形態のスイッチにおけるフレーム転送手順の概要は、図４２のフローチャートに示す通りである。
ＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレームを受信する（ステップＡ−１）。
宛先端末が接続されたノードを示すＥｏＥ−ＭＡＣアドレスと、この宛先端末が接続されたノードをルートノードとするスパニングツリーを示すＶＬＡＮＩＤとを取得してフォワーディングテーブル（後述）を参照し、このＥｏＥ−ＭＡＣアドレス，ＶＬＡＮＩＤに対応する出力ポートを取得する（ステップＡ−２）。
ステップＡ−２で取得した出力ポートからＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレームを出力する（ステップＡ−３）。
なお、送信元端末が接続されるノードにおいては、送信元端末が接続されるノードを示すＥｏＥ−ＭＡＣアドレスと、宛先端末が接続されるノードを示すＥｏＥ−ＭＡＣアドレスと、この宛先端末が接続されるノードをルートノードとするスパニングツリーを示すＶＬＡＮＩＤとを、送信元端末から受信したＶＬＡＮタグ付きイーサネット（Ｒ）フレームの各フィールド（宛先ＥｏＥ−ＭＡＣアドレスフィールド，送信元ＥｏＥ−ＭＡＣアドレスフィールド，ＶＬＡＮタグフィールド）に付加して送信する。
また、宛先端末が接続されたノードにおいては、受信したフレームから、宛先ＥｏＥ−ＭＡＣアドレスフィールド及び送信元ＥｏＥ−ＭＡＣアドレスフィールドとＶＬＡＮタグ等を削除し、さらに、送信元端末のＭＡＣアドレス及び宛先端末のＭＡＣアドレスを取得して、宛先端末にこのフレームを送信する。
本実施の形態におけるフォワーディングテーブル更新手順の概要は、図４３のフローチャートに示す通りである。
各スイッチが、ＳＴＰポート状態（後述）の変更時に、ＶＬＡＮ  ＩＤ（スパニングツリープロトコルＩＤ）及び変更ポート情報（後述）を受信する（ステップＢ−１）。
対応テーブルを参照し、ステップＢ−１におけるＶＬＡＮ  ＩＤに対応するＥｏＥ−ＭＡＣアドレスを取得する（ステップＢ−２）。
ステップＢ−２で取得したＥｏＥ−ＭＡＣアドレスに対応する出力ポートを、スパニングツリープロトコルからの通知ポートに書き換えることによって、フォワーディングテーブルを更新する（ステップＢ−３）。
上記フレーム転送手順及びフォワーディングテーブルの更新手順の詳しい内容については、以降の各構成要素とその動作の説明で明らかにする。
エッジスイッチＥ１〜Ｅ４、コアスイッチＣ１、Ｃ２の構成について、図２を用いて説明する。
図２のスイッチ２００は、エッジスイッチＥ１〜Ｅ４、コアスイッチＣ１、Ｃ２に共通の構成図である。
スイッチ２００は、ＰＨＹ（ＰＨＹｓｉｃａｌ）２１１、２１２、２１３、２１４とＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）２２１、２２２、２２３、２２４とフレームスイッチング部２３０とメモリ２４０とＣＰＵ２５０とコンソールＩ／Ｏ２６０とから構成される。
ＰＨＹ２１１、２１２、２１３、２１４は、ＯＳＩ参照モデルの最下位層である物理層でのアクセスを実行するインタフェースであり、ＭＡＣ２２１、２２２、２２３、２２４は、ＯＳＩ参照モデルのデータリンク層の下位副層であるＭＡＣ層でのアクセスを実行するインタフェースである。
ＩＦ（インタフェース部）２０１、２０２、２０３、２０４にはそれぞれＰＨＹ２１１、２１２、２１３、２１４が接続され、ＰＨＹ２１１、２１２、２１３、２１４にはＭＡＣ２２１、２２２、２２３、２２４が接続され、ＭＡＣ２２１、２２２、２２３、２２４にはフレームスイッチング部２３０が接続される。
ＩＦ２０１、２０２、２０３、２０４から入力されるイーサネット（Ｒ）フレームは、それぞれＰＨＹ２１１、２１２、２１３、２１４とＭＡＣ２２１、２２２、２２３、２２４を経由してフレームスイッチング部２３０に入力され、フレームスイッチング部２３０において後述する動作により適切な出力ＩＦが決定され、それぞれＭＡＣ２２１、２２２、２２３、２２４とＰＨＹ２１１、２１２、２１３、２１４を経由して、ＩＦ２０１、２０２、２０３、２０４に出力される。
また、ＣＰＵ２５０およびメモリ２４０には、フレームスイッチング部２３０の動作を制御するプログラムおよび必要なデータが格納され、フレームスイッチング２３０に制御指示を行なう。また、コンソールＩ／Ｏ２６０は、装置内の各部に対する設定管理に関する外部インタフェ−スとなっている。
本発明のスイッチ２００は、その動作をハードウェア的に実現することは勿論として、上記した各構成要素を実行するプログラムをコンピュータ処理装置のＣＰＵ２５０で実行することにより、ソフトウェア的に実現することができる。このプログラムは、磁気ディスク、半導体メモリ等の記録媒体であるメモリ２４０に格納され、そのメモリ２４０からＣＰＵ２５０にロードされ、その動作を制御することにより、上述した各構成要素の各機能を実現する。
図３は、フレームスイッチング部２３０の詳細構成を示している。
フレームスイッチング部２３０は、フレーム解析部３００、フレーム書換部３１０、フレーム転送部３２０、テーブルサーチ部３３０、フォワーディングテーブル格納部３４０、ＭＡＣラーニング部３５０、ＥｏＥ−ＭＡＣラーニング部３６０、制御フレーム振分け部３７０、ＳＴＰ制御部３８０、テーブル制御部３９０、設定制御部３９５とから構成される。
フレームスイッチング部２３０は、前述のように、ＭＡＣ２２１〜２２４から入力されたイーサネット（Ｒ）フレームの出力ＩＦを決定し、所定のＩＦと接続するＭＡＣ２２１〜２２４に転送する機能を持っている。
スイッチ２００がエッジスイッチＥ１〜Ｅ４である場合、入出力フレーム種別は、図４９のイーサネット（Ｒ）フレーム４３００または図５１のＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００が入力され、図５０のＥｏＥフレーム４４００またはＶＬＡＮタグ付きＥｏＥフレーム４６００が出力される。
又は、ＥｏＥフレーム４４００またはＶＬＡＮタグ付きＥｏＥフレーム４６００が入力され、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００が出力される。又は、入出力フレーム共に、ＥｏＥフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００の場合もある。
また、スイッチ２００がコアスイッチＣ１、Ｃ２である場合、入出力フレーム種別は、入出力フレーム共に、ＥｏＥフレーム４４００またはＶＬＡＮタグ付きＥｏＥフレーム４６００となる。
以降では、フレームスイッチング部２３０の各構成要素について説明する。
フレーム解析部３００は、ＭＡＣ２２１〜２２４から入力されたフレームを解析し、通常のイーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００またはＥｏＥ−ＭＡＣフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００の主信号データフレームである場合は、ヘッダ情報とフレーム種別情報、入力ポート情報をテーブルサーチ部３３０およびＭＡＣラーニング部３５０に転送する。
ここで、入力フレームがＥｏＥ−ＭＡＣフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００である場合は、上記情報をＥｏＥ−ＭＡＣラーニング部３６０にも転送する。また、フレーム全体またはペイロード部分をフレーム書換部３１０に転送する。
また、入力フレームがＢＰＤＵ等の制御フレームである場合は、フレーム全体を制御フレーム振分け部３７０に転送する。
フレーム書換部３１０は、フレーム解析部３００から受信した主信号データフレームに対して、テーブルサーチ部３３０から指示があった場合に、フレームの書き換えを行なう。フレーム書き換えとしては、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００に対して、ＥｏＥ−ＭＡＣヘッダでカプセリングすると共に、テーブルサーチ部３３０から指示されたＶＬＡＮＩＤを格納するＶＬＡＮタグをスタックし、ＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００に書き換える場合がある。
または、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００に対するＥｏＥ−ＭＡＣヘッダでのカプセリングには別の例もある。
入力フレームに対して、ＥｏＥ−ＭＡＣヘッダのＥｏＥ−ＭＡＣ＿ＤＡ（宛先アドレス）をブロードキャストアドレスまたはマルチキャストアドレスとし、ＥｏＥ−ＭＡＣ＿ＳＡ（送信元アドレス）を自ノードのＥｏＥ−ＭＡＣアドレスとして、ＥｏＥ−ＭＡＣヘッダを形成し、そのＥｏＥ−ＭＡＣヘッダでカプセリングすると共に、テーブルサーチ部３３０から指示されたＶＬＡＮＩＤを格納するＶＬＡＮタグをスタックし、ＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００に書き換える場合がある。
または、ＥｏＥ−ＭＡＣフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００に対して、ＥｏＥ−ＭＡＣヘッダをデカプセリングして、ＶＬＡＮタグを削除して、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００に書き換える場合がある。
以上いずれかの書き換えを行なった後、または書き換えが不要な場合は、フレーム解析部３００からのフレーム受信後に、フレーム転送部３２０にフレームを転送する。
フレーム転送部３２０は、主信号データフレームに関しては、フレーム書換部３１０から受信する主信号データフレームを、テーブルサーチ部３３０から受信する出力ポートに対応するＭＡＣ２２１〜２２４に転送する。
また制御フレームに関しては、フレーム転送部３２０が、制御フレーム振分け部３７０から受信する制御フレームを同時に受信する出力ポートに対応するＭＡＣ２２１〜２２４に転送する。
テーブルサーチ部３３０は、フレーム解析部３００から受信したヘッダ情報とフレーム種別情報、入力ポート情報を基にフォワーディングテーブル格納部３４０を参照して出力ポート情報とフレーム書き換え情報を取得する。
以下、テーブルサーチ部３３０のフレーム識別情報に応じた処理について説明する。
（１）フレーム種別情報が、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００であり、入力ポートがユーザ端末側ポートである場合、フォワーディングテーブル格納部３４０のＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２（図４、後述）を参照して、ＭＡＣ＿ＤＡに対するＥｏＥ−ＭＡＣアドレスおよび付加するＶＬＡＮタグに格納するＶＬＡＮＩＤを取得する。
（１−１）ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２に対象エントリが存在した場合は、フレーム書換部３１０に対して、取得したＥｏＥ−ＭＡＣアドレスおよびＶＬＡＮタグに格納されたＶＬＡＮＩＤを通知し、ＥｏＥ−ＭＡＣヘッダのカプセリングおよびＶＬＡＮタグのスタックを指示する。また、フォワーディングテーブル格納部３４０のＭＡＣテーブル３００を参照して、取得したＥｏＥ−ＭＡＣアドレスとＶＬＡＮに対する出力ポート情報を取得する。ここで対象エントリが存在した場合は、フレーム転送部３２０に出力ポート情報を通知する。
（１−２）ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２に対象エントリが存在しない場合は、フレーム書換部３１０に対して、ＥｏＥ−ＭＡＣ＿ＤＡ＝ブロードキャストまたはマルチキャスト、ＥｏＥ−ＭＡＣ＿ＳＡ＝自ノードＥｏＥ−ＭＡＣでのＥｏＥ−ＭＡＣヘッダカプセリングを指示する。また、フォワーディングテーブル格納部３４０のブロードキャストテーブル３４３を参照し、ブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知する。
（２）フレーム種別情報が、ＥｏＥ−ＭＡＣフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であり、入力ポートがネットワーク側のポートである場合、宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）が自ノードアドレスか他ノードアドレスかにより、動作が異なる。
（２−１）他ノードアドレスの場合、フォワーディングテーブル格納部３４０のＭＡＣテーブル３４１を参照して、宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）とＶＬＡＮに対する出力ポートを取得する。
（２−１−１）ここで対象エントリが存在した場合は、フレーム転送部３２０に出力ポート情報を通知するとともに、フレーム書換部３１０に対しフレーム書き換え無しを通知する。
（２−１−２）一方、対象エントリが存在しない場合、ブロードキャストテーブル３４３を参照し、ブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知するとともに、フレーム書換部３１０に対しフレーム書き換え無しを通知する。
（２−２）また、宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）が自ノードアドレスの場合、フォワーディングテーブル格納部３４０のＭＡＣテーブル３４１を参照して、ＭＡＣ＿ＤＡとＶＬＡＮに対する出力ポートを取得する。
（２−２−１）ここで対象エントリが存在した場合は、フレーム転送部３２０に出力ポート情報を通知するとともに、フレーム書換部３１０に対しＥｏＥ−ＭＡＣヘッダの削除を指示する。
（２−２−２）一方、対象エントリが存在しない場合、ブロードキャストテーブル３４３を参照し、ブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知するとともに、フレーム書換部３１０に対しＥｏＥ−ＭＡＣヘッダの削除を指示する。
フォワーディングテーブル格納部３４０は、フレームを転送するための情報を格納した各種テーブルを有する。テーブルとしては、ＭＡＣアドレスとＶＬＡＮＩＤから出力ポートを解決するＭＡＣテーブル３４１と、ＭＡＣアドレスからＥｏＥ−ＭＡＣアドレスと付加するＶＬＡＮタグに格納するＶＬＡＮＩＤを解決するＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２と、ＶＬＡＮＩＤからブロードキャスト出力ポートを解決するブロードキャストテーブル３４３がある。
図４は、フォワーディングテーブル格納部３４０の構成例である。
フォワーディングテーブル格納部３４０は、ＭＡＣテーブル３４１とＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２とブロードキャストテーブル３４３とテーブル書込制御部３４４とテーブル読込制御部３４５とから構成される。各テーブルへの新たなデータの書込みはテーブル書込制御部３４４を介して行なわれ、各テーブルからのデータの読み出しはテーブル読込制御部３４５を介して行なわれる。
ＭＡＣテーブル３４１とＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２とブロードキャストテーブル３４３の構成は、それぞれ図５、図６、図７に示す通りである。
また、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２に関しては、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２からＶＬＡＮフィールドが削除されたものと、図１０に示すＥｏＥ−ＭＡＣアドレスから対応するＶＬＡＮを解決するＥｏＥ−ＭＡＣ／ＶＬＡＮ管理テーブル１０００とに分かれて構成されていてもよい。
以降では、図６に示す一体型となっているＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２で説明する。
ＭＡＣラーニング部３５０は、フレーム解析部３００からヘッダ情報を受信すると、フォワーディングテーブル格納部３４０のＭＡＣテーブル３４１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡとＶＬＡＮに対する出力ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡを、ＶＬＡＮフィールドにＶＬＡＮを、出力ポートフィールドに受信ポートを格納する。ここで、設定によって、受信ポートがネットワーク側ポートである場合には、上記ラーニング機能を止めてもよい。
ＥｏＥ−ＭＡＣラーニング部３６０は、フレーム解析部３００からヘッダ情報を受信すると、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡに対するＥｏＥ−ＭＡＣを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡを、ＥｏＥ−ＭＡＣアドレスフィールドにＥｏＥ−ＭＡＣ＿ＳＡを格納する。
制御フレーム振分け部３７０は、フレーム解析部３００から受信した制御フレームを所定の処理部に転送すると共に、処理部から受信した制御フレームおよび出力ポート情報をフレーム転送部３２０に転送する。本構成では、処理部はＳＴＰ制御部３８０のみであるため、制御フレーム（以降、Ｂｒｉｄｇｅ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ：  ＢＰＤＵと記す）をＳＴＰ制御部３８０に転送すると共に、ＳＴＰ制御部３８０から受信したＢＰＤＵおよび出力ポート情報をフレーム転送部３２０に転送する。
ＳＴＰ制御部３８０は、制御フレーム振分け部３７０から受信したＢＰＤＵに基づいてＳＴＰ／ＲＳＴＰのポート情報の更新処理などを行ない、ＢＰＤＵを再作成し、隣接のスイッチに転送すべく、ＢＰＤＵと出力ポート情報を制御フレーム振分け部３７０に転送する。
なお、本発明では、ＶＬＡＮＩＤごとにＲＳＴＰツリーを起動するＭＳＴＰを前提としており、ＶＬＡＮＩＤごとにＲＳＴＰに基づくスパニングツリーのポート情報を管理する。本情報を管理するためのテーブルとして、図８に示すＳＴＰポート情報管理テーブル８００を有する。
ＳＴＰポート情報管理テーブル８００では、ＶＬＡＮＩＤ毎にそのスイッチのポートに関するＳＴＰツリーの情報が管理されている。ＳＴＰツリーのポート情報としては、ポートの役割とポートの状態を管理する。
ポートの役割としては、Ｒｏｏｔポート（ルートポート；図８ではＲと記載）、Ｄｅｓｉｇｎａｔｅｄポート（割り当て済みポート；図８ではＤと記載）、Ａｌｔｅｒｎａｔｅポート（未割り当てポート；図８ではＡと記載）があり、ポートの状態としては、Ｆｏｒｗａｒｄｉｎｇ（フォワーディング）状態（図８ではｆと記載）、Ｌｅａｒｎｉｎｇ（ラーニング）状態（図８ではｌと記載）、Ｄｉｓｃａｒｄｉｎｇ（停止）状態（図８ではｄと記載）があり、テーブルでは、ポート役割／ポート状態とセットで記載している。
ＳＴＰ制御部３８０は、ＳＴＰポート状態管理テーブル８００において、ＶＬＡＮ毎に（すなわちＳＴＰ／ＲＳＴＰツリー毎に）、ポート役割がＲｏｏｔポートでポート状態がＦｏｒｗａｒｄｉｎｇ状態であるポート（図８ではＲ／ｆと記載）またはポート役割がＤｅｓｉｇｎａｔｅｄポートでポート状態がＦｏｒｗａｒｄｉｎｇ状態あるいはＬｅａｒｎｉｎｇ状態であるポート（図８ではＤ／ｆ  ｏｒＤ／ｌと記載）を抽出し、ＶＬＡＮ番号とそのポート情報をテーブル制御部３９０に通知する。
また、ＲＳＴＰツリーの構成に変更があり、ポート状態に変更があった場合は、ＳＴＰポート状態管理テーブル８００の内容を更新すると共に、ポート役割がＲｏｏｔポートでポート状態がＦｏｒｗａｒｄｉｎｇ状態であるポートまたはポート役割がＤｅｓｉｇｎａｔｅｄポートでポート状態がＦｏｒｗａｒｄｉｎｇ状態あるいはＬｅａｒｎｉｎｇ状態であるポートに変更があった場合は、新たな情報をテーブル制御部３９０に通知する。
テーブル制御部３９０は、ＳＴＰ制御部３８０から通知されたＳＴＰツリーのポート情報に基づいて、ＥｏＥ−ＭＡＣアドレスに対する出力ポートを設定する（フォワーディングテーブル格納部３４０内のＭＡＣテーブル３４１を更新する）機能を有する。
この処理を実現するために、テーブル制御部３９０は、図９に示すＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００を有する。
ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００は、ＳＴＰ制御部３８０においてＶＬＡＮ毎に起動してＳＴＰツリーを識別するＶＬＡＮＩＤと、そのＳＴＰツリーのルートノードとなっているエッジスイッチのＥｏＥ−ＭＡＣアドレスを関連付けて管理している。なお、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００の内容は、設定制御部３９５により設定される。
テーブル制御部３９０は、ＳＴＰ制御部３８０からＶＬＡＮ番号とそれに対応するポート情報（（Ａ）ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポート、または（Ｂ）ポート役割＝Ｄｅｓｉｇｎａｔｅｄポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態あるいはＬｅａｒｎｉｎｇ状態であるポートのＡ、Ｂ種別とそのポート番号）を受信すると、フォワーディングテーブル格納部３４０に対して、以下の２種類の書換え処理を行なう。
第１の書換え処理は、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００を参照して受信したＶＬＡＮに対応するＥｏＥ−ＭＡＣアドレスを取得し、フォワーディングテーブル格納部３４０のＭＡＣテーブル３４１において、取得したＥｏＥ−ＭＡＣアドレス、ＶＬＡＮに対する出力ポートを書き換える。書き換える出力ポート番号は、ＳＴＰ制御部３８０から受信した（Ａ）のポート番号である。
また、ブロードキャストテーブル３４３において、取得したＶＬＡＮに対する出力ポートを書き換える。書き換える出力ポート番号は、ＳＴＰ制御部３８０から受信した（Ｂ）のポート番号である。
第２の書換え処理は、フォワーディングテーブル格納部３４０のＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２において、取得したＥｏＥ−ＭＡＣアドレスに対するＶＬＡＮＩＤを書き換える。書き換えるＶＬＡＮＩＤは、ＳＴＰ制御部３８０から通知されているＶＬＡＮＩＤである。
設定制御部３９５は、図２のコンソールＩ／Ｏ２６０経由で入力された設定情報を、ＣＰＵ２５０を介して受信し、適切な処理部に対し設定処理を行なう。具体的にはＳＴＰ制御部３８０に対して、ＳＴＰのパラメータ等を設定する。また、テーブル制御部３９０のＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００の各値を設定する。
以上説明した構成を有するエッジスイッチＥ１〜Ｅ４、コアスイッチＣ１、Ｃ２からなる図１のネットワークにおいて、端末Ｔ３から端末Ｔ１へのフレーム転送を例にとって、本発明の最短経路転送について説明する。
図１では、端末Ｔ１が宛先端末となるため、端末Ｔ１が接続するエッジスイッチＥ１がルートノードとなるＲＳＴＰツリーがフレーム転送の経路となる。このツリーの識別子のＳＴＰＩＤはｇ１となっており、本ツリーはＶＬＡＮＩＤ＝ｇ１で識別される。
図１では、ツリーでアクティブとなっているリンクは太線となっている。この場合の各スイッチにおけるＳＴＰポート状態管理テーブル８００は、図１１に示す内容となっている（なお、ここでは、エッジスイッチＥ１がルートノードとなっているＲＳＴＰツリーのみを記載している。実際には他ノードがルートノードとなるツリーに関する情報も有している。）。
図１によると、端末Ｔ３から端末Ｔ１へのフレームは、エッジスイッチＥ３、コアスイッチＣ１、エッジスイッチＥ１を経由して転送される。これを行なうための各スイッチでのテーブル内容とテーブル設定手順について説明する。
エッジスイッチＥ３の各テーブルの内容を図１２にまとめて示す。エッジスイッチＥ３では、ＳＴＰ制御部３８０において、ＳＴＰポート状態管理テーブル１２０１を有している（これは上述した図１１のＳＴＰポート状態管理テーブル８００のエッジスイッチＥ３のテーブルである）。また、テーブル制御部３９０において、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１２０２を有する。
図１では、ＥｏＥ−ＭＡＣアドレスｅ１が設定されるエッジスイッチＥ１がルートノードとなるＲＳＴＰツリーが、ＳＴＰＩＤ＝ｇ１と設定されているため、設定制御部３９５を介してＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１２０２には、ＶＬＡＮＩＤ＝ｇ１に対するＥｏＥ−ＭＡＣアドレスがｅ１と設定されている。
ＳＴＰ制御部３８０では、ＳＴＰツリーのポート状態が安定すると、ＳＴＰポート状態管理テーブル１２０１を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポートとして、ＶＬＡＮＩＤ＝ｇ１、ポート＝ｐ１をテーブル制御部３９０に通知する。また、ポート役割＝Ｄｅｓｉｇｎａｔｅｄポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態あるいはＬｅａｒｎｉｎｇ状態であるポートとして、ＶＬＡＮＩＤ＝ｇ１、ポート＝ｐ３をテーブル制御部３９０に通知する。
テーブル制御部３９０は、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１２０２を参照して、通知されたＶＬＡＮＩＤ＝ｇ１に対するＥｏＥ−ＭＡＣアドレス＝ｅ１を取得する。
この情報を元に、テーブル制御部３９０は、フォワーディングテーブル格納部３４０のＭＡＣテーブル３４１において、ＭＡＣアドレス＝ｅ１、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートをＳＴＰ制御部３８０から通知されたポートｐ１に設定する。また、ブロードキャストテーブル３４３において、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートをＳＴＰ制御部３８０から通知されたポートｐ３に設定する。
その結果のＭＡＣテーブル３４１は、図１２において、ＭＡＣテーブル１２０３に示す内容となる（ここで、ＭＡＣアドレスｔ３に対する出力ポートは、ユーザ端末Ｔ３からのフレーム受信時にＭＡＣラーニング部３５０が通常のＭＡＣアドレス処理により設定されている）。また、ブロードキャストテーブル３４３は、図１２において、ブロードキャストテーブル１２０５に示す内容となる。
また、テーブル制御部３９０は、フォワーディングテーブル格納部３４０のＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２において、ＥｏＥ−ＭＡＣアドレス＝ｅ１となっているエントリに関して、そのＶＬＡＮをＳＴＰ制御部３８０から通知されたＶＬＡＮＩＤ＝ｇ１に設定する。その結果のＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２は、図１２において、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル１２０４に示す内容となる。
続いて、転送経路上でエッジスイッチＥ３の次ホップのノードであるコアスイッチＣ１のテーブルについて説明する。各テーブルの内容を図１３に示している。
コアスイッチＣ１では、ＳＴＰ制御部３８０において、ＳＴＰポート状態管理テーブル１３０１を有している（これは図１１からの抜粋である）。また、テーブル制御部３９０において、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１３０２を有する。
エッジスイッチＥ３と同様に、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１３０２には、設定制御部３９５を介してＶＬＡＮＩＤ＝ｇ１に対するＥｏＥ−ＭＡＣアドレスがｅ１と設定されている。
ＳＴＰ制御部３８０では、ＳＴＰツリーのポート状態が安定すると、ＳＴＰポート状態管理テーブル１３０１を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポートとして、ＶＬＡＮＩＤ＝ｇ１、ポート＝ｐ１をテーブル制御部３９０に通知する。また、ポート役割＝Ｄｅｓｉｇｎａｔｅポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態あるいはＬｅａｒｎｉｎｇ状態であるポートとして、ＶＬＡＮＩＤ＝ｇ１、ポート＝ｐ２とｐ３をテーブル制御部３９０に通知する。
テーブル制御部３９０は、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１３０２を参照して、通知されたＶＬＡＮＩＤ＝ｇ１に対するＥｏＥ−ＭＡＣアドレス＝ｅ１を取得する。
この情報を元に、テーブル制御部３９０はフォワーディングテーブル格納部３４０のＭＡＣテーブル３４１において、ＭＡＣアドレス＝ｅ１、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートをＳＴＰ制御部３８０から通知されたポートｐ１に設定する。また、ブロードキャストテーブル３４３において、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートをＳＴＰ制御部３８０から通知されたポートｐ２とｐ３に設定する。
その結杲のＭＡＣテーブル３４１は、図１３において、ＭＡＣテーブル１３０３となり、ブロードキャストテーブル３４３は、ブロードキャストテーブル１３０５に示す内容となる。
コアスイッチＣ１では、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２を有さないため、コアスイッチＣ１の各テーブルは以上である。
続いて、転送経路上でコアスイッチＣ１の次ホップのノードであるエッジスイッチＥ１のテーブルについて説明する。各テーブルの内容を図１４に示している。
エッジスイッチＥ１では、ＳＴＰ制御部３８０において、ＳＴＰポート状態管理テーブル１４０１を有している（図１１参照）。また、テーブル制御部３９０において、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１４０２を有する。エッジスイッチＥ３と同様に、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル１４０２には、設定制御部３９５を介してＶＬＡＮＩＤ＝ｇ１に対するＥｏＥ−ＭＡＣアドレスがｅ１と設定されている。
ＳＴＰ制御部３８０では、ＳＴＰツリーのポート状態が安定すると、ＳＴＰポート状態管理テーブル１４０１を参照して、ポート役割＝Ｒｏｏｔポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態であるポートを通知する。現在の状態では、該当するポートが存在しないため、通知しない。
すなわち、エッジスイッチＥ１は本転送のＥｇｒｅｓｓエッジスイッチであるため、次ホップの出力ポートを設定する必要はない。また、ポート役割＝Ｄｅｓｉｇｎａｔｅｄポートかつポート状態＝Ｆｏｒｗａｒｄｉｎｇ状態あるいはＬｅａｒｎｉｎｇ状態であるポートとして、ＶＬＡＮＩＤ＝ｇ１、ポート＝ｐ２とｐ３をテーブル制御部３９０に通知する。
エッジスイッチＥ１では、端末Ｔ１宛てのフレームに関しては、図３で説明したようにテーブルサーチ部３３０によってＥｏＥ−ＭＡＣヘッダの削除処理が選択され、その後、図１４のＭＡＣテーブル１４０３が参照される。
ＭＡＣテーブル１４０３において、ＭＡＣアドレスｔ１に対する出力ポートは、ユーザ端末Ｔ１からのフレーム受信時にＭＡＣラーニング部３５０が通常のＭＡＣアドレス処理により設定されている。
また、ブロードキャストテーブル３４３では、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートをＳＴＰ制御部３８０から通知されたポートｐ２とｐ３に設定する。
その結果のブロードキャストテーブル３４３は、ブロードキャストテーブル１４０５となる。また、エッジスイッチＥ１はＭＡＣ／ＥｏＥ−ＭＡＣテーブル１４０４については、ユーザ端末Ｔ３からユーザ端末Ｔ１への転送に関するエントリは有さない（他の転送についてのエントリは有するが、図１４では省略している）。
以上説明したテーブル設定が行なわれている状態における各スイッチでのフレーム転送処理について、図３のノード構成図および図１２〜図１４のテーブルを用いて以下に説明する。
図１５に示すユーザ端末Ｔ３からユーザ端末Ｔ１宛て（図１参照）のイーサネット（Ｒ）フレーム１５００を受信したエッジスイッチＥ３は、フレーム解析部３００において、入力フレームが通常のイーサネット（Ｒ）フレーム４３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル１２０４（図１２参照）を参照して、宛先ＭＡＣアドレスｔ１に対するＥｏＥ−ＭＡＣアドレス＝ｅ１とスタックするＶＬＡＮタグに格納するＶＬＡＮＩＤ＝ｇ１を取得し、フレーム書換部３１０に対してＥｏＥ−ＭＡＣのカプセリング処理とＶＬＡＮタグのスタック処理を指示する。
また、ＭＡＣテーブル１２０３（図１２参照）を参照して、ＥｏＥ−ＭＡＣアドレスｅ１、ＶＬＡＮＩＤ＝ｇ１に対する出力ポート＝ポートｐ１を取得し、フレーム転送部３２０に通知する。
フレーム書換部３１０は、フレーム解析部３００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３３０から指示されたＥｏＥ−ＭＡＣアドレス＝ｅ１のカプセリング処理とＶＬＡＮＩＤ＝ｇ１が格納されたＶＬＡＮタグのスタック処理を行なう。その結果、出力するフレームは、図１６に示すＥｏＥフレーム１６００となる。
フレーム書換部３１０が、ＥｏＥフレーム１６００をフレーム転送部３２０に転送すると、フレーム転送部３２０は、テーブルサーチ部３３０から受信している出力ポート＝ポートｐ１に対してＥｏＥフレーム１６００を出力する。
また、ここで説明したフレーム転送処理と並行して、ラーニング処理も行なっている。
フレーム解析部３００は、フレーム書換部３１０、テーブルサーチ部３３０に情報通知すると共に、ＭＡＣラーニング部３５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル１２０３を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ３、ＶＬＡＮＩＤ＝０に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｔ３を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝０を、出力ポートフィールドに受信ポートｐ２を格納する。
続いて、エッジスイッチＥ３の次ホップのコアスイッチＣ１について説明する。
エッジスイッチＥ３からＥｏＥフレーム１６００を受信したコアスイッチＣ１は、フレーム解析部３００において、入力フレームがＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は、ＭＡＣテーブル１３０３を参照して、宛先ＭＡＣアドレスｅ１、ＶＬＡＮＩＤ＝ｇ１に対する出力ポート＝ポートｐ１を取得し、フレーム書換部３１０に対してフレーム書換無しを通知し、フレーム転送部３２０には出力ポートｐ１を通知する。
フレーム書換部３１０は、フレーム解析部３００から受信しているＥｏＥフレーム１６００に対し書換処理を行なわずにフレーム転送部３２０に転送する。
フレーム転送部３２０は、テーブルサーチ部３３０から受信している出力ポート＝ポートｐ１に対してＥｏＥフレーム１６００を出力する。
ラーニング処理としては、フレーム解析部３００はＭＡＣラーニング部３５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知し、情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル１３０３を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｅ３、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｅ３を、ＶＬＡＮフィールドにｇ１を、出力ポートフィールドに受信ポートｐ２を格納する。
なお、入力ポート＝ネットワーク側ポートの場合のラーニング機能をオフにする設定の場合には、この処理は行なわれない。
続いて、コアスイッチＣ１の次ホップのエッジスイッチＥ１について説明する。
コアスイッチＣ１からＥｏＥフレーム１６００を受信したエッジスイッチＥ１は、フレーム解析部３００において、入力フレームがＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は、宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡ）が自ノードであるため、フレーム書換部３２０に対してＥｏＥ−ＭＡＣのデカプセリング処理（削除処理）とＶＬＡＮタグの削除処理を指示するとともに、ＭＡＣテーブル１４０３を参照して、ＭＡＣ＿ＤＡ＝ｔ１、ＶＬＡＮＩＤ＝０に対する出力ポート＝ポートｐ１を取得し、フレーム転送部３２０に通知する。
フレーム書換部３１０は、フレーム解析部３００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３３０から指示されたＥｏＥ−ＭＡＣアドレスおよびＶＬＡＮタグの削除処理を行なう。
その結果、出力するフレームは、図１５のイーサネット（Ｒ）フレーム１５００となる。
フレーム書換部３１０は、イーサネット（Ｒ）フレーム１５００をフレーム転送部３２０に転送すると、フレーム転送部３２０はテーブルサーチ部３３０から受信している出力ポート＝ポートｐ１に対してイーサネット（Ｒ）フレーム１５００を出力する。ここで説明したフレーム転送処理と並行して、ラーニング処理も行なっている。
フレーム解析部３００は、ＭＡＣラーニング部３５０およびＥｏＥ−ＭＡＣラーニング部３６０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル１４０３を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｅ３、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｅ３を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ１を、出力ポートフィールドに受信ポートｐ２を格納する。
なお、入力ポート＝ネットワーク側ポートの場合のラーニング機能をオフにする設定の場合には、この処理は行なわれない。
一方、情報を受信したＥｏＥ−ＭＡＣラーニング部３６０は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル１４０４を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ３に対するＥｏＥ−ＭＡＣを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｔ３を、ＥｏＥ−ＭＡＣアドレスフィールドにＥｏＥ−ＭＡＣ＿ＳＡ＝ｅ３を格納する。その結果、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル１４０４は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル１４０６となる。
エッジスイッチＥ１がポートｐ１にイーサネット（Ｒ）フレーム１５００を出力することにより、イーサネット（Ｒ）フレーム１５００がユーザ端末Ｔ１に到着する。
以上説明したように、ユーザ端末Ｔ３からユーザ端末Ｔ１に送られたイーサネット（Ｒ）フレーム１５００は、エッジスイッチＥ３、コアスイッチＣ１、エッジスイッチＥ１を経由して、最短経路で宛先のユーザ端末Ｔ１に到着可能である。
以上説明したノード構成、テーブル作成方法、データ転送方法によると、端末Ｔ３から端末Ｔ１への転送に関しては、エッジスイッチＥ３、コアスイッチＣ１において、図１２のＭＡＣテーブル１２０３、図１３のＭＡＣテーブル１３０３に示したように、ＥｏＥ−ＭＡＣアドレスｅ１に対する出力ポートが、エッジスイッチＥ１をルートノードとするツリーのルートポート側に設定されており、端末Ｔ１が接続するＥｇｒｅｓｓエッジスイッチＥ１に対して最短経路で転送することが可能である。
（第１の実施の形態の効果）
本実施の形態で説明したエッジスイッチＥ１がルートノードとなるツリーと同様に、全てのエッジスイッチがルートノードとなるツリーを生成し、本実施の形態で説明した処理を各ノードが行なうことにより、全てのエッジスイッチ間で最短経路が形成され、イーサネット（Ｒ）フレーム１５００を全ユーザ端末間において最短経路で転送することが可能である。
（第２の実施の形態）
本発明の第１の実施の形態では、ＥｏＥ技術において最適経路転送を行なうために、各々のＲＳＴＰツリーを識別するＶＬＡＮＩＤとそのＲＳＴＰツリーのルートノードとなっているエッジスイッチＥ１〜Ｅ４との対応付けを各ノードが保持することとした。また、第１の実施の形態では、この対応付けは管理者やサーバなどから外部１Ｆを介して設定されることとしていた。これに対して、第２の実施の形態では、各ノードが上記対応関係を自動的に取得する。
本実施の形態における上記対応関係を自動的に取得するＥｏＥ−ＭＡＣアドレスとＶＬＡＮＩＤとの対応付け処理手順の概要は、図４４のフローチャートに示す通りである。
エッジノードをルートノードとするスパニングツリー上でＢＰＤＵを受信することにより、ＥｏＥ−ＭＡＣアドレスとＶＬＡＮ  ＩＤとを取得する（ステップＣ−１）。
ステップＣ−１で取得したＥｏＥ−ＭＡＣアドレスとＶＬＡＮ  ＩＤとを対応付けて、対応テーブルを作成する（ステップＣ−２）。
なお、本実施の形態におけるフレーム転送手順及びフォワーディングテーブル更新手順の概要は、第１の実施の形態におけるフレーム転送手順及びフォワーディングテーブル更新手順と同様であるので、説明を省略する。
また、上記対応付け処理手順の詳しい内容については、以降の各構成要素とその動作の説明で明らかにする。
上記対応付け処理による対応関係の自動取得を行なうためのノード構成を図１７に示す。
図１７は第１の実施の形態において図３で示したノード構成に対して、ＳＴＰ制御部３８０とテーブル制御部３９０がＳＴＰ制御部１７８０とテーブル制御部１７９０に変更されており、その他の各部は図３と同じである（各部は同一の名称と符号で記している）。
以降では、第１の実施の形態との差分となるＳＴＰ制御部１７８０とテーブル制御部１７９０について説明する。
本実施の形態では、ＲＳＴＰツリーを識別するＶＬＡＮＩＤとそのＲＳＴＰツリーのルートノードとなるエッジスイッチのＥｏＥ−ＭＡＣアドレスとの対応関係を、ＳＴＰの制御フレームであるＢＰＤＵの送受信処理からその情報を自動取得する。
最初にＳＴＰ制御部１７８０について説明する。
第１の実施の形態のＳＴＰ制御部３８０では、制御フレーム振分け部３７０から転送されたＢＰＤＵを受信し、そのＢＰＤＵの情報を元にＳＴＰポート状態更新を行い、ＳＴＰポート状態管理テーブル１１００を更新すると共に、新たなＢＰＤＵを作成し、次ホップのノードにＢＰＤＵを転送するために制御フレーム振分け部３７０に新たなＢＰＤＵを転送していた。また、各ポートの中でポート状態が条件に合致したポート番号とＳＴＰツリーの識別子であるＶＬＡＮＩＤをテーブル制御部３９０に通知していた。
これに対して、本実施の形態のＳＴＰ制御部１７８０では、制御フレーム振分け部３７０から受信したＢＰＤＵをコピーし、コピーしたＢＰＤＵをテーブル制御部１７９０に転送する機能を新たに有する。なお、ＢＰＤＵ処理及び新たなＢＰＤＵ作成等、ＳＴＰ制御部３８０が有していた機能は有する。
続いてテーブル制御部１７９０について説明する。
第１の実施の形態のテーブル制御部３９０では、ＳＴＰ制御部３８０からＶＬＡＮおよびポート番号を受信すると、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００を参照して、通知されたＶＬＡＮに対応するＥｏＥ−ＭＡＣアドレスを取得し、フォワーディングテーブル格納部３４０内のＭＡＣテーブル３４１に対して、取得したＥｏＥ−ＭＡＣ、ＶＬＡＮに対する出力ポートとして受信したポート番号を設定する。また、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２に対して、取得したＥｏＥ−ＭＡＣアドレスが関係するエントリに対して受信したＶＬＡＮＩＤを設定する。
ここで、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００は、設定制御部３９５から設定されることになっていたが、本実施の形態ではＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００の設定を外部からではなくテーブル制御部１７９０にて行なう。
テーブル制御部１７９０は、ＳＴＰ制御部１７８０からＢＰＤＵを受信すると、ＢＰＤＵに格納される情報からＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００に保持すべき情報を取得する。
図１８は、ＢＰＤＵのフォーマット図である。
ＢＰＤＵ１８００は、ＭＡＣ＿ＤＡフィールド１８０１、ＭＡＣ＿ＳＡフィールド１８０２、ＶＬＡＮタグフィールド１８０３、Ｔｙｐｅフィールド１８０４、ＢＰＤＵパラメータ領域１８０５、ＦＣＳフィールド１８０６から構成され、ＢＰＤＵパラメータ領域１８０５は、Ｐｒｏｔｏｃｏｌ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１１、Ｐｒｏｔｏｃｏｌ＿Ｖｅｒｓｉｏｎ＿Ｉｄｅｎｆｉｅｒフィールド１８１２、ＢＰＤＵ＿Ｔｙｐｅフィールド１８１３、Ｆｌａｇｓフィールド１８１４、Ｒｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１５、Ｒｏｏｔ＿Ｐａｔｈ＿Ｃｏｓｔフィールド１８１６、Ｂｒｉｄｇｅ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１７、Ｐｏｒｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１８、Ｍｅｓｓａｇｅ＿Ａｇｅフィールド１８１９、Ｍａｘ＿Ａｇｅフィールド１８２０、Ｈｅｌｌｏ＿Ｔｉｍｅフィールド１８２１、Ｆｏｒｗａｒｄｉｎｇ＿Ｄｅｌｅｙフィールド１８２２とから構成される。
ＭＡＣ＿ＤＡフィールド１８０１には、宛先ＭＡＣアドレスが格納される。ＭＡＣ＿ＳＡフィールド１８０２には、送信元ＭＡＣアドレスが格納される。
ＶＬＡＮタグフィールド１８０３には、スパニングツリーを識別する識別子としてＶＬＡＮＩＤが格納される。Ｔｙｐｅフィールド１８０４には、フレームのタイプ識別子が格納される。
ＢＰＤＵパラメータ領域１８０５には、ＩＥＥＥ８０２．１ＤまたはＩＥＥＥ８０２．１ｗに記載のＢＰＤＵの各種パラメータが格納される。ＢＰＤＵパラメータ領域１８０５の各パラメータフィールドには、ＩＥＥＥ８０２．１ＤまたはＩＥＥＥ８０２．１ｗに記載されている対応するパラメータ値がそれぞれ格納される。
ＦＣＳフィールド１８０６には、フレームチェックシーケンスが格納される。
ＢＰＤＵパラメータ領域１８０５の中のＲｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィ−ルド１８１５の構成を図１９に示す。
Ｒｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１５は、Ｐｒｉｏｒｉｔｙフィールド１８１５１と固定値フィールド１８１４２とＭＡＣ＿Ａｄｄｒｅｓｓフィールド１８１４３とから構成される。
ＭＡＣ＿Ａｄｄｒｅｓｓフィールド１８１４３には、ルートノードのＭＡＣアドレスが格納されている。Ｒｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１５は８バイト長であり、Ｐｒｉｏｒｉｔｙフィールド１８１４１は４ビット長、固定値フィールド１８１４２が１２ビット長、ＭＡＣ＿Ａｄｄｅｓｓフィールド１８１４３は６バイト長である。
したがって、Ｒｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１５の下位６バイトを抽出することにより、そのスパニングツリーのルートノードのＭＡＣアドレスを取得できる。
以上説明したように、図１８、１９のＢＰＤＵの構成に示すとおり、ＢＰＤＵのＶＬＡＮタグフィールド１８０３とＲｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１５の中のＭＡＣ＿Ａｄｄｒｅｓｓフィールド１８１４３の情報により、ＲＳＴＰツリーの識別子であるＶＬＡＮＩＤとそのＲＳＴＰツリーのルートノードであるエッジスイッチのＭＡＣアドレスを取得できる。
以上より、テーブル制御部１７９０は、ＳＴＰ制御部１７８０からＢＰＤＵを受信すると、ＢＰＤＵのＶＬＡＮタグフィールド１８０３に格納される情報とＲｏｏｔ＿Ｉｄｅｎｔｉｆｉｅｒフィールド１８１５の中のＭＡＣ＿Ａｄｄｒｅｓｓフィールド１８１４３に格納される情報をそれぞれＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００のＶＬＡＮフィールドとＥｏＥ−ＭＡＣアドレスフィールドに格納する。情報取得後、ＢＰＤＵは廃棄する。ＢＰＤＵを受信するごとにこのような処理を行なうことにより、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００を設定する。また、ＢＰＤＵを受信するごとに処理を行なうのではなく、各ＶＬＡＮの中で処理済みのＶＬＡＮのリストを管理し、ＢＰＤＵ受信時の未処理のＶＬＡＮの場合に対応付け取得処理を行なっても良い。
なお、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００の情報を利用してフォワーディングテーブル格納部３４０への設定を行なう機能についてはテーブル処理部３９０と同様である。
以上説明した例では、ＳＴＰ制御部１７８０がＢＰＤＵをコピーしてテーブル制御部１７９０に転送し、テーブル制御部１７９０では受信したＢＰＤＵからＶＬＡＮとルートノードのＥｏＥ−ＭＡＣアドレスの対応付けを取得したが、機能分担を変えることも可能である。
例えば、ＳＴＰ制御部１７８０ではＢＰＤＵを受信したら上記説明でテーブル制御部１７９０が行なっていた対応付け取得処理を行ない、ＶＬＡＮＩＤと対応するＥｏＥ−ＭＡＣアドレスをテーブル制御部１７９０に通知し、テーブル制御部１７９０では受信した各情報をＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００に書き込むことも可能である。
以上説明したＳＴＰ制御部１７８０とテーブル制御部１７９０により、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００の情報を自動的に設定可能である。
このように設定されたＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００の情報を用いて、フォワーディングテーブル格納部３４０の各テーブルを設定し、最適経路に沿って主信号データを転送することについては、第１の実施の形態で説明した各部の動作で実現可能である。
（第２の実施の形態の効果）
このように、第２の実施の形態におけるノード構成、テーブル作成方法、データ転送方法によると、各端末間の転送を最短経路で転送することが可能であり、さらにそのために必要なＳＴＰツリーを識別するためのＶＬＡＮＩＤとルートノードのＥｏＥ−ＭＡＣアドレスの対応付けを自動設定することが可能である。
（第３の実施の形態）
第３の実施の形態では、ＳＴＰツリーを識別するためのＶＬＡＮ  ＩＤとルートノードのＥｏＥ−ＭＡＣアドレスの対応付けを第２の実施の形態とは異なる手法で（ＢＰＤＵ送受信処理によらずに）自動設定する。
本実施の形態の各スイッチにおけるＥｏＥ−ＭＡＣアドレスとＶＬＡＮ  ＩＤとの上記対応付け処理手順の概要は、図４５のフローチャートに示す通りである。
データフレームを受信する（ステップＤ−１）。
ステップＤ−１で受信したデータフレームのＥｏＥ−ＭＡＣアドレスからＶＲＡＮ  ＩＤを算出する（ステップＤ−２）。
ステップＤ−２で算出されたＶＬＡＮ  ＩＤをＥｏＥ−ＭＡＣアドレスと対応付けて対応テーブルを作成（ステップＤ−３）。
また、送信元端末が接続されるノード（スイッチ）においては、受信したフレームに、ＥｏＥ−ＭＡＣアドレス４８ビットの中の任意の１２ビット領域にＶＬＡＮ  ＩＤを格納する手順を有する。以下では、下位１２ビットにＶＬＡＮ  ＩＤを格納する例について説明する。
なお、本実施の形態におけるフレーム転送手順及びフォワーディングテーブル更新手順の概要は、第１の実施の形態におけるフレーム転送手順及びフォワーディングテーブル更新手順と同様であるので、説明を省略する。
また、上記対応付け処理手順の詳しい内容については、以降の各構成要素とその動作の説明で明らかにする。
本実施の形態におけるノード構成を図２０に示す。
図２０は、第１の実施の形態において図３で示したノード構成に対して、テーブル制御部３９０がテーブル制御部２０９０に変更されており、フレーム解析部３００がフレーム解析部２３００に変更されており、その他の各部は図３と同じである（各部は同一の名称と符号で記している）。以降では、第１の実施の形態との差分となるテーブル制御部２０９０とフレーム解析部２３００について説明する。
ＲＳＴＰツリーを識別するＶＬＡＮ  ＩＤとそのＲＳＴＰツリーのルートノードとなるエッジスイッチのＥｏＥ−ＭＡＣアドレスとの対応付けを自動取得するために、本実施の形態ではＥｏＥ−ＭＡＣアドレスを設定する際にＥｏＥ−ＭＡＣアドレスをＶＬＡＮ  ＩＤと関連付けておき、ＥｏＥ−ＭＡＣアドレスからＶＬＡＮ  ＩＤを自動的に取得できるようにする。
最初にＥｏＥ−ＭＡＣアドレスの設定について説明する。
ＥｏＥ−ＭＡＣアドレスは通常のＭＡＣアドレスと同じ４８ビットで構成される。ここで、ＥｏＥ−ＭＡＣアドレスの設定法として、ＶＬＡＮ  ＩＤに何らかの演算を施してＥｏＥ−ＭＡＣアドレスが算出できるような設定を行なうこととする。本実施の形態では、その一例として、図２１に示すように、ＥｏＥ−ＭＡＣアドレス４８ビットの中の下位１２ビットにＶＬＡＮ  ＩＤを格納することとし、上位３６ビットについては固定値であるものとする。
格納されるＶＬＡＮ  ＩＤは、そのＥｏＥ−ＭＡＣアドレスが割り当てられるエッジスイッチがルートノードとなるＲＳＴＰツリーの識別子であるＶＬＡＮＩＤである。
続いてフレーム解析部２３００について説明する。フレーム解析部２３００は、フレーム解析部３００の動作に加えて、フレーム解析部３１０に転送するデータフレームをテーブル制御部２０９０にも転送する。その他の動作はフレーム解析部３００と同様である。
次に、テーブル制御部２０９０について説明する。第１の実施の形態のテーブル制御部３９０では、ＳＴＰ制御部３８０からＶＬＡＮおよびポート番号を受信すると、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００を参照して、通知されたＶＬＡＮに対応するＥｏＥ−ＭＡＣアドレスを取得し、フォワーディングテーブル格納部３４０内のＭＡＣテーブル３４１に対して、取得したＥｏＥ−ＭＡＣ、ＶＬＡＮに対する出力ポートとして受信したポート番号を設定する。また、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２に対して、取得したＥｏＥ−ＭＡＣアドレスが関係するエントリに対して受信したＶＬＡＮ  ＩＤを設定する。
これに対して、本実施の形態では、データフレームのＥｏＥ−ＭＡＣアドレスからＶＬＡＮ  ＩＤを算出し、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００作成する。
テーブル制御部２０９０は、スパニングツリーのポート状態に変更があった場合に、ＳＴＰ制御部３８０から変更のあったスパニングツリーに関するＶＬＡＮＩＤとポート情報を受信する。また、テーブル制御部２０９０は、フレーム解析部２３００からデータフレームを受信すると、データフレームのＥｏＥ−ＭＡＣアドレスから対応するＶＬＡＮ  ＩＤを算出する。
本実施の形態では、受信したデータフレームの４８ビットのＥｏＥ−ＭＡＣアドレスから所定の１２ビット（この例では、下位１２ビット）をＶＬＡＮ  ＩＤとして抽出する。これにより、ＥｏＥ−ＭＡＣアドレスとＶＬＡＮ  ＩＤの対応関係を取得でき、両者をＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００に格納する。
取得した対応関係を基にフォワーディングテーブル格納部３４０への設定を行なう機能については、テーブル処理部３９０と同様である。
以上説明したＥｏＥ−ＭＡＣアドレスの設定およびテーブル制御部２０９０により、ＥｏＥ−ＭＡＣアドレスに対応するＶＬＡＮ  ＩＤを取得可能であり、フォワーディングテーブル格納部３４０の各テーブルを設定し、最適経路に沿って主信号データを転送することについては、第１の実施の形態で説明した各部の動作で実現可能である。
また、以上の説明では、受信したデータフレームのＥｏＥ−ＭＡＣアドレスからＶＬＡＮ  ＩＤを算出し、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００作成していたが、受信したＢＰＤＵフレームに基づいてＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００作成することも可能である。
（第３の実施の形態の効果）
このように、第３の実施の形態におけるノード構成、テーブル作成方法、データ転送方法によると、各端末間の転送を最短経路で転送することが可能であり、さらにそのために必要なＳＴＰツリーを識別するためのＶＬＡＮ  ＩＤとルートノードのＥｏＥ−ＭＡＣアドレスの対応付けを自動設定することが可能である。
（第４の実施の形態）
本発明の第４の実施の形態では、ＥｏＥ技術において最適経路転送を実現するために、各エッジスイッチが、自ノードがルートノードとなるＳＴＰ／ＲＳＴＰツリーを各々作成し、ネットワーク内の各スイッチが各々のＳＴＰ／ＲＳＴＰツリーを識別するＶＬＡＮＩＤとそのＳＴＰ／ＲＳＴＰツリーのルートノードとなっているエッジスイッチのＥｏＥ−ＭＡＣアドレスとの対応付けを保持する。そして、ＥｏＥ技術におけるユーザ端末の宛先ＭＡＣアドレスに対応するＥｇｒｅｓｓエッジスイッチのＥｏＥ−ＭＡＣアドレスを解決するためのラーニング機構を利用して、上記ＲＳＴＰツリーの識別のためのＶＬＡＮＩＤとＥｏＥ−ＭＡＣアドレスとの対応付けを参照して、ＥｏＥ−ＭＡＣアドレスに対する出力ポートを設定する。
本実施の形態におけるフォワーディングテーブル更新手順の概要は、図４６のフローチャートに示す通りである。
各スイッチが、アンノウンフレームに対し、自身がルートノード（スイッチ）となるスパニングツリー上で学習フレームを送信する（ステップＥ−１）。
学習フレーム受信時に、取得したＥｏＥ−ＭＡＣアドレスに対応する出力ポートがルートポートに設定され、フォワーディングテーブルを更新する（ステップＥ−２）。
ＶＬＡＮＩＤ（スパニングツリープロトコルＩＤ）及び変更ポート情報（後述）により、ＳＴＰポート状態（後述）の変化を受信する（ステップＢ−１）。
対応テーブルを参照し、ステップＢ−１におけるＶＬＡＮＩＤに対応するＥｏＥ−ＭＡＣアドレスを取得する（ステップＢ−２）。
ステップＢ−２で取得したＥｏＥ−ＭＡＣアドレスに対応する出力ポートを、スパニングツリープロトコルからの通知ポートに書き換えることによって、フォワーディングテーブルを更新する（ステップＢ−３）。
なお、本実施の形態におけるフレーム転送手順の概要は、第１の実施の形態におけるフレーム転送手順と同様であり、また、対応付け処理は不要であるので、説明を省略する。
上記フォワーディングテーブルの更新手順の詳しい内容については、以降の各構成要素とその動作の説明で明らかにする。
本実施の形態におけるノード構成を図２２に示す。
図２２は、第１の実施の形態において図３で示したノード構成に対して、ＳＴＰ制御部３８０とテーブル制御部３９０がＳＴＰ制御部２２８０とテーブル制御部２２９０に変更されており、その他の各部は図３と同じである。以降では、第１の実施の形態との差分となるＳＴＰ制御部２２８０とテーブル制御部２２９０について説明する。
最初にＳＴＰ制御部２２８０について説明する。
第１の実施の形態のＳＴＰ制御部３８０では、制御フレーム振分け部３７０から転送されたＢＰＤＵを受信し、そのＢＰＤＵの情報を元にＳＴＰポート状態更新を行ない、ＳＴＰポート状態管理テーブル１１００を更新すると共に、新たなＢＰＤＵを作成し、次ホップのノードにＢＰＤＵを転送するために制御フレーム振分け部３７０に新たなＢＰＤＵを転送していた。また、各ポートの中でポート状態が条件に合致したポート番号とＳＴＰツリーの識別子であるＶＬＡＮＩＤをテーブル制御部３９０に通知していた。
これに対して、本実施の形態のＳＴＰ制御部２２８０では、上記処理の中で、テーブル制御部３９０に対して通知するポート状態の条件が、ポート役割に関わらずＤｉｓｃａｒｄｉｎｇ状態でないポートと変更され、その条件に合致するポート番号とＳＴＰツリーの識別子であるＶＬＡＮＩＤを通知する。
続いてテーブル制御部２２９０について説明する。
第１の実施の形態のテーブル制御部３９０では、ＳＴＰ制御部３８０からＶＬＡＮおよびポート番号を受信すると、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００から通知されたＶＬＡＮに対応するＥｏＥ−ＭＡＣアドレスを取得し、フォワーディングテーブル格納部３４０内のＭＡＣテーブル３４１に対して、取得したＥｏＥ−ＭＡＣアドレス、ＶＬＡＮに対する出力ポートとして受信したポート番号を設定し、ブロードキャストテーブル３４３に対して、取得したＶＬＡＮに対するブロードキャスト出力ポートとして受信したポート番号を設定し、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２に対して、取得したＥｏＥ−ＭＡＣアドレスが関係するエントリに対するＶＬＡＮＩＤを設定していた。
これに対して、本実施の形態のテーブル制御部２２９０では、ＶＬＡＮ／ＥｏＥ−ＭＡＣ管理テーブル９００を持たず、上記処理の中でフォワーディングテーブル格納部３４０内のブロードキャストテーブル３４３に対して、取得したＶＬＡＮＩＤに対応する出力ポートを設定する処理のみを行なう。
本実施の形態ではこのような構成を持つノードによって、以降に説明する方法により、最適経路転送が行なわれる。各ノードにおけるテーブル設定方法が第１の実施の形態とは異なるため、以降では、各ノードでのテーブル内容とテーブル設定について説明する。
前提とするネットワークは第１の実施の形態と同様の図１のネットワークとし、端末Ｔ１と端末Ｔ３との間のフレーム転送を例にとって、本実施の形態の最短経路転送について説明する。
本実施の形態では、ユーザ端末の宛先ＭＡＣアドレスに対応するＥｇｒｅｓｓエッジスイッチのＥｏＥ−ＭＡＣアドレスを解決するためのラーニング機構を利用して、ＶＬＡＮＩＤとＥｏＥ−ＭＡＣアドレスとの対応付けを参照して、ＥｏＥ−ＭＡＣアドレスに対する出力ポートを設定するため、ラーニング機構について説明する。
以降の説明は、図２２のノード構成図と図２３〜２５のテーブル図を用いて行なう。
図１に適した説明をするために、ユーザ端末Ｔ１からユーザ端末Ｔ３へのフレーム転送の後で、ユーザ端末Ｔ３からユーザ端末Ｔ１へのフレーム転送が行なわれるものとする。
エッジスイッチＥ１は、図２３に示すＭＡＣテーブル２３０１、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０２、ブロードキャストテーブル２３０３を保持する。ここで、本実施の形態では、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０２はこれまでの構成に加えて、Ｆｌａｇフィールドを持ち、未学習時のブロードキャストフレームの送信を制御するものとする（図２５のエッジスイッチＥ３のＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０２も同様）。
エッジスイッチＥ１では、ポートｐ１においてユーザ端末Ｔ１からユーザ端末Ｔ３宛てのフレームとして図２６のイーサネット（Ｒ）フレーム２６００を受信すると、フレーム解析部３００において、入力フレームが通常のイーサネット（Ｒ）フレーム４３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０はＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０２を参照して、宛先ＭＡＣアドレスｔ３に関するエントリが存在しないため、フレーム書換部３１０に対して、ＥｏＥ−ＭＡＣ＿ＤＡ＝ブロードキャストまたはマルチキャスト、ＥｏＥ−ＭＡＣ＿ＳＡ＝自ノードＥｏＥ−ＭＡＣでのＥｏＥ−ＭＡＣヘッダカプセリングを指示し、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０２のＭＡＣアドレスフィールドにｔ３、Ｆｌａｇフィールドに１をセットする。
また、自ノードがルートノードとなるＲＳＴＰツリーのＶＬＡＮＩＤはｇ１であるため、フレーム書換部３１０に対してＶＬＡＮＩＤ＝ｇ１のスタックも指示する。
また、ブロードキャストテーブル２３０３を参照し、ＶＬＡＮＩＤ＝ｇ１に対するブロードキャスト転送ポート情報として、ポートｐ２、ｐ３を取得し、入力ポートを除いたポートｐ２、ｐ３をフレーム転送部３２０に通知する。
フレーム書換部３１０は、テーブルサーチ部３３０からの指示に従い、ＥｏＥ−ＭＡＣヘッダでカプセリングし、ＶＬＡＮＩＤを格納したＶＬＡＮタグをスタックしたフレームである図２７に示すＥｏＥブロードキャストフレーム２７００をフレーム転送部３２０に転送し、フレーム転送部３２０はテーブルサーチ部３３０から受信している出力ポートｐ２、ｐ３に対してＥｏＥブロードキャストフレーム２７００を出力する。
ラーニング処理としては、フレーム解析部３００は、フレーム書換部３１０、テーブルサーチ部３３０に情報通知すると共に、ＭＡＣラーニング部３５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル２３０１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ１、ＶＬＡＮＩＤ＝０に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｔ１を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝０を、出力ポートフィールドに受信ポートｐ１を格納する。なお、第１の実施の形態ではＭＡＣラーニング部３５０において、受信ポートがネットワーク側ポートの場合のＭＡＣラーニング処理を止める設定が可能だったが、第４の実施の形態では受信ポートに関わらずＭＡＣラーニング処理は行なわれる。
続いて、エッジスイッチＥ５の次ホップのコアスイッチＣ１について説明する。
コアスイッチＣ１は、図２４に示すＭＡＣテーブル２４０１、ブロードキャストテーブル２４０３を保持する。
エッジスイッチＥ１からＥｏＥブロードキャストフレーム２７００を受信したコアスイッチＣ１は、フレーム解析部３００において、入力フレームがＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は宛先ＭＡＣアドレスがブロードキャストアドレスであることから、ブロードキャストテーブル２４０３を参照し、ＶＬＡＮＩＤ＝ｇ１に対するブロードキャスト転送ポートｐ１、ｐ２、ｐ３を取得し、入力ポートを除いたポートｐ２、ｐ３をフレーム転送部３２０に通知する。また、フレーム書換部３１０に対してフレーム書換無しを通知する。
フレーム書換部３１０は、フレーム解析部３００から受信しているＥｏＥブロードキャストフレーム２７００に対し書換処理を行なわずにフレーム転送部３２０に転送する。
フレーム転送部３２０は、テーブルサーチ部３３０から受信している出力ポートｐ２、ｐ３に対してＥｏＥブロードキャストフレーム２７００を出力する。
ラーニング処理としては、フレーム解析部３００は、ＭＡＣラーニング部３５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知し、情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル２４０１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｅ１、ＶＬＡＮＩＤ＝ｇ１に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｅ１を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ１を、出力ポートフィールドに受信ポートｐ１を格納する。
続いて、コアスイッチＣ１の次ホップのエッジスイッチＥ３について説明する。
エッジスイッチＥ３は、図２５に示すＭＡＣテーブル２５０１、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０２、ブロードキャストテーブル２５０３を保持する。
コアスイッチＣ１からＥｏＥブロードキャストフレーム２７００を受信したエッジスイッチＥ３は、フレーム解析部３００において、入力フレームがＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は、宛先ＭＡＣアドレスがブロードキャストアドレスであることから、ブロードキャストテーブル２５０３を参照し、ＶＬＡＮＩＤ＝ｇ１に対するブロードキャスト転送ポートｐ１、ｐ３を取得し、入力ポートを除いたポートｐ３をフレーム転送部３２０に通知し、フレーム書換部３１０には書換無しを指示する。
また、テーブルサーチ部３３０は、自ノードはエッジスイッチであるため、フレーム書換部３２０に対してＥｏＥ−ＭＡＣのデカプセリング処理（削除処理）とＶＬＡＮタグの削除処理を指示すると共に、ＭＡＣテーブル２５０１を参照して、ＭＡＣ＿ＤＡ＝ｔ３、ＶＬＡＮＩＤ＝０に対するエントリがないことを得るとブロードキャストテーブル２５０３を参照し、ＶＬＡＮＩＤ＝０に対するブロードキャスト転送ポート情報として、ポートｐ２を取得し、フレーム転送部３２０に通知する。
フレーム書換部３１０はフレーム解析部３００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３３０から指示された通り、書換を行なわずにフレーム転送部３２０に転送すると共に、コピーしたもう一方のフレームに対してテーブルサーチ部３３０から指示されたＥｏＥ−ＭＡＣアドレスおよびＶＬＡＮタグの削除処理を行ない、フレーム転送部３２０に出力する。その結果、出力するフレームは図２６のイーサネット（Ｒ）フレーム２７００となる。
フレーム転送部３２０は、テーブルサーチ部３３０から受信している出力ポートｐ３に対してＥｏＥブロードキャストフレーム２７００を出力し、出力ポートｐ２に対してイーサネット（Ｒ）フレーム２６００を出力する。ここで説明したフレーム転送処理と並行して、ラーニング処理も行なっている。
フレーム解析部３００は、ＭＡＣラーニング部３５０およびＥｏＥ−ＭＡＣラーニング部３６０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル２５０１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｅ１、ＶＬＡＮＩＤ＝ｇ１に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｅ１を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ１を、出力ポートフィールドに受信ポートｐ１を格納する。
一方、情報を受信したＥｏＥ−ＭＡＣラーニング部３６０は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０２を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ１に対するＥｏＥ−ＭＡＣを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｔ１を、ＥｏＥ−ＭＡＣアドレスフィールドにＥｏＥ−ＭＡＣ＿ＳＡ＝ｅ１を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ１を格納し、Ｆｌａｇフィールドに０をセットする。
その後、エッジスイッチＥ３から出力されたイーサネット（Ｒ）フレーム２６００はユーザ端末Ｔ３に到着する。
続いて、ユーザ端末Ｔ３がユーザ端末Ｔ１に対してフレームを転送する場合について説明する。
エッジスイッチＥ３では、ポートｐ２においてユーザ端末Ｔ３からユーザ端末Ｔ１宛てのフレームとして図１５のイーサネット（Ｒ）フレーム１５００を受信すると、フレーム解析部３００において、入力フレームが通常のイーサネット（Ｒ）フレーム４３００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０２の宛先ＭＡＣアドレスｔ１に対するエントリのＦｌａｇフィールドが０であるため、フレーム書換部３１０に対して、ＥｏＥ−ＭＡＣ＿ＤＡ＝ブロードキャストまたはマルチキャスト、ＥｏＥ−ＭＡＣ＿ＳＡ＝自ノードＥｏＥ−ＭＡＣ  ｅ３でのＥｏＥ−ＭＡＣヘッダカプセリングを指示し、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０２の宛先ＭＡＣアドレスｔ１に対するエントリのＦｌａｇフィールドに１をセットする。その結果、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０２はＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０５と更新される。また、自ノードがルートノードとなるＲＳＴＰツリーのＶＬＡＮＩＤはｇ３であるため、フレーム書換部３１０に対してＶＬＡＮＩＤ＝ｇ３のスタックも指示する。また、ブロードキャストテーブル２５０３を参照し、ＶＬＡＮＩＤ＝ｇ３に対するブロードキャスト転送ポートｐ１、ｐ３を取得し、入力ポートを除いたポートｐ１、ｐ３をフレーム転送部３２０に通知する（図２５において、ＶＬＡＮＩＤ＝ｇ３に対するブロードキャストポートは、図１に示していないエッジスイッチＥ３をルートノードとするＲＳＴＰツリーのポートから設定されている）。
フレーム書換部３１０は、テーブルサーチ部３３０からの指示に従い、ＥｏＥ−ＭＡＣヘッダでカプセリングし、ＶＬＡＮＩＤを格納したＶＬＡＮタグをスタックすることにより、送出フレームは図２８のＥｏＥブロードキャストフレーム２８００となる。
フレーム書換部はＥｏＥブロードキャストフレーム２８００をフレーム転送部３２０に転送し、フレーム転送部３２０はテーブルサーチ部３３０から受信している出力ポートｐ１、ｐ３に対してそのフレームを出力する。
ここで説明したフレーム転送処理と並行して、ラーニング処理も行なっている。
フレーム解析部３００は、ＭＡＣラーニング部３５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル２５０１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ３、ＶＬＡＮＩＤ＝０に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｔ３を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝０を、出力ポートフィールドに受信ポートｐ２を格納する。その結果、ＭＡＣテーブル２５０１はＭＡＣテーブル２５０４となる。
続いて、エッジスイッチＥ３の次ホップのコアスイッチＣ１について説明する。エッジスイッチＥ３からＥｏＥブロードキャストフレーム２８００を受信したコアスイッチＣ１は、フレーム解析部３００において、入力フレームがＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部１０１０に通知する。
テーブルサーチ部３３０は、宛先ＭＡＣアドレスがブロードキャストアドレスであることから、ブロードキャストテーブル２４０３を参照し、ＶＬＡＮＩＤ＝ｇ３に対するブロードキャスト転送ポートｐ１、ｐ２、ｐ３を取得し、入力ポートを除いたポートｐ１、ｐ３をフレーム転送部３２０に通知する。また、フレーム書換部３１０に対してフレーム書換無しを通知する。
フレーム書換部３１０は、フレーム解析部３００から受信しているＥｏＥブロードキャストフレーム２８００に対し書換処理を行なわずにフレーム転送部３２０に転送する。
フレーム転送部３２０は、テーブルサーチ部３３０から受信している出力ポートｐ１、ｐ３に対してＥｏＥブロードキャストフレーム２８００を出力する。
ラーニング処理としては、フレーム解析部３００は、ＭＡＣラーニング部３５０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル２４０１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｅ３、ＶＬＡＮＩＤ＝ｇ３に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｅ３を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ３を、出力ポートフィールドに受信ポートｐ２を格納する。この結果、ＭＡＣテーブル２４０１は、ＭＡＣテーブル２４０４に更新される。
続いて、コアスイッチＣ１の次ホップのエッジスイッチＥ１について説明する。
コアスイッチＣ１からＥｏＥブロードキャストフレーム２８００を受信したエッジスイッチＥ３は、フレーム解析部３００において、入力フレームがＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であることを解析し、ヘッダ情報、フレーム種別情報、入力ポート情報をテーブルサーチ部３３０に通知し、フレーム全体またはペイロード部をフレーム書換部３１０に通知する。
テーブルサーチ部３３０は、宛先ＭＡＣアドレスがブロードキャストアドレスであるため、ブロードキャストテーブル２３０３を参照し、ＶＬＡＮＩＤ＝ｇ３に対するブロードキャスト転送ポートｐ２、ｐ３を取得し、入力ポートを除いたポートｐ３をフレーム転送部３２０に通知すると共に、フレーム書換部３１０に対し、書換無しを指示する。
また、テーブルサーチ部３３０は、自ノードがエッジスイッチであるため、フレーム書換部３２０に対してＥｏＥ−ＭＡＣのデカプセリング処理（削除処理）とＶＬＡＮタグの削除処理を指示すると共に、ＭＡＣテーブル２３０１を参照して、ＭＡＣ＿ＤＡ＝ｔ１、ＶＬＡＮＩＤ＝０に対する出力ポートとして、ポートｐ１を取得し、フレーム転送部３２０に通知する。
フレーム書換部３１０は、フレーム解析部３００から受信しているフレームまたはペイロードに対して、テーブルサーチ部３３０から指示された通り、書換を行なわずにフレーム転送部３２０に対して転送すると共に、コピーしたフレームに対してＥｏＥ−ＭＡＣアドレスおよびＶＬＡＮタグの削除処理を行ない、フレーム転送部３２０に出力する。その結果、出力するフレームは図１５のイーサネット（Ｒ）フレーム１５００となる。
フレーム書換部３１０は、イーサネット（Ｒ）フレーム１５００をフレーム転送部３２０に転送する。
フレーム転送部３２０は、テーブルサーチ部３３０から受信している出力ポートｐ３に対してＥｏＥブロードキャストフレーム２６００を出力し、出力ポートｐ１に対してイーサネット（Ｒ）フレーム１５００を出力する。
ここで説明したフレーム転送処理と並行して、ラーニング処理も行なっている。
フレーム解析部３００は、ＭＡＣラーニング部３５０およびＥｏＥ−ＭＡＣラーニング部３６０に対し、ヘッダ情報とフレーム種別情報、入力ポート情報を通知する。
情報を受信したＭＡＣラーニング部３５０は、ＭＡＣテーブル２３０１を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｅ３、ＶＬＡＮＩＤ＝ｇ３に対する受信ポートを検索し、エントリが存在しない場合は、ＭＡＣアドレスフィールドにＭＡＣ＿ＳＡ＝ｅ３を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ３を、出力ポートフィールドに受信ポートｐ２を格納する。その結果、ＭＡＣテーブル２３０１はＭＡＣテーブル２３０４に更新される。
一方、情報を受信したＥｏＥ−ＭＡＣラーニング部３６０は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０２を参照して、受信したヘッダ情報のＭＡＣ＿ＳＡ＝ｔ３に対するＥｏＥ−ＭＡＣを検索し、情報が存在しない場合は、ＥｏＥ−ＭＡＣアドレスフィールドにＥｏＥ−ＭＡＣ＿ＳＡ＝ｅ３を、ＶＬＡＮフィールドにＶＬＡＮＩＤ＝ｇ３を格納する。その結果、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０２はＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０５に更新される。
その後、エッジスイッチＥ１から出力されたイーサネット（Ｒ）フレーム１５００は、ユーザ端末Ｔ１に到着する。
（第４の実施の形態の効果）
以上説明したように、本実施の形態では、ユーザ端末の宛先ＭＡＣアドレスに対応するＥｇｒｅｓｓエッジスイッチのＥｏＥ−ＭＡＣアドレスが不明の場合に送出するＥｏＥブロードキャストフレームに対して、ＩｎｇｒｅｓｓエッジスイッチがルートノードとなるＲＳＴＰツリーの識別子であるＶＬＡＮＩＤを格納したＶＬＡＮタグをスタックして、そのＲＳＴＰツリー上で送出することにより、ネットワーク内の各ノードは、そのフレームをそのＲＳＴＰツリーのルートポートで受信する。この時、ラーニング機構が動作し、ＭＡＣ＿ＳＡフィールドに格納されるＩｎｇｒｅｓｓエッジスイッチのＥｏＥ−ＭＡＣアドレスとＩｎｇｒｅｓｓエッジスイッチがルートノードとなるＲＳＴＰツリーのＶＬＡＮＩＤに対する出力ポートとして、そのＲＳＴＰツリーのルートポートが学習され、ＭＡＣテーブルに保持される。それ以降はこのＭＡＣテーブルに従ってフレーム転送されるため、フレームはＥｇｒｅｓｓエッジスイッチがルートノードとなるＲＳＴＰツリーのルートポート方向に転送される。これにより、最適経路上でフレーム転送することが可能となる。
なお、本実施の形態の方法に加えて、各エッジスイッチが自ノードのＥｏＥ−ＭＡＣアドレスをＭＡＣ＿ＳＡとしたフレームを周期的に送出しても良い。この場合、ＥｏＥ−ＭＡＣアドレスに対する出力ポートの決定が早くできる可能性がある。
（第５の実施の形態）
第５の実施の形態では、第１の実施の形態〜４において、ユーザ端末間でＶＰＮが組まれている場合のＥｏＥ網における最適経路転送について説明する。
図２９に前提とするネットワーク図を示す。
図２９は図１のネットワークにおいて、エッジスイッチＥ１のポートｐ１に接続する端末（図２９では端末Ｔ１のみ）とエッジスイッチＥ３のポートｐ２に接続する端末（図２９では端末Ｔ３のみ）がＶＰＮ＃Ａを形成している。ＶＰＮが組まれている場合、ＥｏＥフレームのフォーマットは図５２のＶＬＡＮタグ付きＥｏＥフレーム４６００となり、ＶＬＡＮタグフィールド５１１０にＶＰＮを識別するためにＶＰＮＩＤを格納する。この場合のＶＰＮＩＤは、ＶＬＡＮ空間においてＲＳＴＰツリーの識別用に割り当てるＶＬＡＮＩＤとＶＰＮＩＤが重ならないように設定する。
本実施の形態におけるフレーム転送処理手順テーブル設定処理手順及び対応付け処理手順の概要は、転送元ノードにおいてフレームにＶＰＮＩＤが付加され、宛先ノードにおいてこのＶＰＮＩＤが削除される点を除き、第１〜第４の実施の形態における各手順と同様なので、説明を省略する。
上記手順の詳しい内容については、以降の各構成要素とその動作の説明で明らかにする。
本実施の形態におけるノード構成を図３０に示す。
図３０は、第１の実施の形態において図３で示したノード構成に対して、フレーム書換部３１０がフレーム書換部３０１０に、テーブルサーチ部３３０がテーブルサーチ部３０３０に、フォワーディングテーブル格納部３４０がフォワーディングテーブル格納部３０４０に変更されており、その他の各部は図３と同じである。
なお、本実施の形態においてベースとするノード構成は、第１の実施の形態のノード構成（図３）だけでなく、第２〜第４の実施の形態のノード構成（図１７、２０、２２）でも、本実施の形態でＶＰＮを考慮する場合の転送処理は共通となる。
したがって、図３０におけるＳＴＰ制御部３８０とテーブル制御部３９０は、第２の実施の形態におけるＳＴＰ制御部１７８０とテーブル制御部１７９０でも構わないし、第３の実施の形態におけるＳＴＰ制御部３８０とテーブル制御部２０９０でも構わないし、第４の実施の形態におけるＳＴＰ制御部２２８０とテーブル制御部２２９０でも構わない。
以降では、第１の実施の形態との差分となるフレーム書換部３０１０、テーブルサーチ部３０３０、フォワーディングテーブル格納部３０４０を中心に説明する。
フレーム書換部３０１０は、フレーム解析部３００から受信した主信号データフレームに対して、テーブルサーチ部３０３０から指示があった場合に、フレームの書き換えを行なう。フレーム書き換えに関して、フレーム書換部３１０での処理との差分は以下の通りである。
フレーム書換部３１０において、ＥｏＥ−ＭＡＣヘッダでカプセリングし、ＶＬＡＮＩＤを格納したＶＬＡＮタグをスタックする場合に、フレーム書換部３０１０では、ＶＬＡＮタグの後にテーブルサーチ部３０３０から指示されたＶＰＮＩＤを格納したＶＬＡＮタグをスタックする。すなわち、２つのＶＬＡＮタグをスタックする。
この処理の後のＶＬＡＮタグ付きＥｏＥフレーム３６００のフォーマットを図３６に示す。
ＶＬＡＮタグ１フィールドには、ＲＳＴＰツリーの識別子であるＶＬＡＮ−ＩＤが格納され、ＶＬＡＮタグ２フィールドには、ＶＰＮＩＤが格納される。また、ヘッダ削除の際には、フレーム書換部３０１０は、フレーム３６００を対象としてヘッダ削除処理を行なうため、ＥｏＥ−ＭＡＣヘッダのデカプセリングと共に、ＶＬＡＮタグ１とＶＬＡＮタグ２の両方のタグを削除する。
フォワーディングテーブル格納部３０４０は、図３１に示すように、図４のフォワーディングテーブル格納部３４０に対して、ＶＰＮＩＤを解決するためのＶＰＮ管理テーブル３０４６が追加される。
ＶＰＮ管理テーブル３０４６は、ＶＰＮ設定がポートベースである場合は、図３２に示すように、ポートに対するＶＰＮＩＤを管理するポート／ＶＰＮテーブル３０４６１を保持するとともに、図３３に示すＶＰＮＩＤに対するポートを管理するＶＰＮ／ポートテーブル３０４６２も合わせて保持する。
また、ＶＰＮ設定がポートとＶＬＡＮＩＤで管理される場合もある。
この場合のＶＰＮ管理テーブル３０４６は、図３４に示すように、ポートとＶＬＡＮＩＤに対するＶＰＮＩＤを管理するポート／ＶＰＮテーブル３０４６３を保持するとともに、図３５に示すように、ＶＰＮＩＤとＶＬＡＮに対するポートを管理するＶＰＮ／ポートテーブル３０４６４も合わせて保持する。
テーブルサーチ部３０３０は、フレーム解析部３００から受信したヘッダ情報とフレーム種別情報、入力ポート情報を基にフォワーディングテーブル格納部３０４０を参照して出力ポート情報とフレーム書き換え情報を取得する。
以下に、テーブルサーチ部３３０の処理との差分を説明する。
（１）フレーム種別情報が、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００であり、入力ポートがユーザ端末側ポートである場合、ＶＰＮ管理テーブル３０４６のポート／ＶＰＮテーブル３０４６１または３０４６３を参照して、ＶＰＮＩＤを取得すると共に、フォワーディングテーブル格納部３０４０のＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２を参照して、ＭＡＣ＿ＤＡに対するＥｏＥ−ＭＡＣアドレスおよび付加するＶＬＡＮタグに格納するＶＬＡＮＩＤを取得する。
ここで、（１−１）対象エントリが存在した場合は、フレーム書換部３０１０に対して、取得したＶＰＮＩＤとＥｏＥ−ＭＡＣアドレスとＶＬＡＮＩＤを通知し、ＥｏＥ−ＭＡＣヘッダのカプセリングおよびＶＰＮＩＤとＶＬＡＮＩＤとを格納したＶＬＡＮタグのスタックを指示する。また、フォワーディングテーブル格納部３０４０のＭＡＣテーブル３４１を参照して、取得したＥｏＥ−ＭＡＣアドレス、ＶＬＡＮに対する出力ポート情報を取得する。ここで対象エントリが存在した場合は、フレーム転送部３２０に出力ポート情報を通知する。逆に対象エントリが存在しない場合は、ブロードキャストテーブル３４３を参照し、ＶＬＡＮに対するブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知する。
（１−２）ＭＡＣ−ＥｏＥ−ＭＡＣテーブル３４２に対象エントリが存在しない場合は、フレーム書換部３０１０に対して、ＥｏＥ−ＭＡＣ＿ＤＡ＝ブロードキャストまたはマルチキャスト、ＥｏＥ−ＭＡＣ＿ＳＡ＝自ノードＥｏＥ−ＭＡＣでのＥｏＥ−ＭＡＣヘッダカプセリングを指示する。また、ＶＬＡＮＩＤとＶＰＮＩＤをそれぞれ格納したＶＬＡＮタグのスタックを指示する。また、フォワーディングテーブル格納部３０４０のブロードキャストテーブル３４３を参照し、ＶＬＡＮＩＤに対するブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知する。
（２）フレーム種別情報が、ＥｏＥ−ＭＡＣフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であり、入力ポートがネットワーク側のポートで、宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）が自ノードアドレスの場合、以下の処理を行なう。
（２−２）宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）が自ノードアドレスの場合、ＶＰＮ管理テーブル３０４６のＶＰＮ／ポートテーブル３０４６２または３０４６４を参照して、出力ポートを取得する。
（２−２−１）ここで対象エントリが存在した場合は、フレーム転送部１０２０に出力ポート情報を通知するとともに、フレーム書換部３０１０に対しＥｏＥ−ＭＡＣヘッダとＶＬＡＮタグ１、２の削除を指示する。
（２−２−２）一方、対象エントリが存在しない場合、ブロードキャストテーブル３４３を参照し、ＶＬＡＮＩＤに対するブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知するとともに、フレーム書換部３０１０に対しＥｏＥ−ＭＡＣヘッダとＶＬＡＮタグ１、２の削除を指示する。
（第５の実施の形態の効果）
以上説明したノード構成により、図２９のネットワークにおいて、ＶＰＮを考慮しながら、最適経路での転送を行なうことができる。
（第６の実施の形態）
第６の実施の形態では、ユーザ端末間でＶＰＮが組まれている場合の他の最適経路転送について説明する。
第５の実施の形態では、アンノウンフレームなどのブロードキャストフレームが、ＶＰＮに属する端末が接続されていない経路上にも流れていた。これに対して、本実施の形態ではＶＰＮに閉じた経路を定義し、第１〜第４の実施の形態で設定される最適経路と併用する。
ブロードキャストフレーム、マルチキャストフレームに対してはＶＰＮ内経路で転送し、宛先が特定されるユニキャストフレームに対しては最適経路で転送するよう使用経路を切り替える。
これにより、ユニキャストフレームを最適経路で転送しつつ、ブロードキャスト／マルチキャストフレームは同一ＶＰＮに閉じた転送を行うことができる。
図３７に本実施の形態のブロードキャスト転送用経路図を示す。
ＶＰＮ＃Ａが設定されていた図２９に対して、ＶＰＮ＃Ａに属するユーザ端末間でブロードキャスト転送する際の転送経路として、図３７に示すように、エッジスイッチＥ１とエッジスイッチＥ３との間をコアスイッチＣ１経由で接続する経路を設定する。本転送経路は、ネットワーク管理者、またはサーバによって手動設定されるものとする。
ブロードキャストフレームを本経路上で転送することにより、ＶＰＮ＃Ａに関係ないスイッチに対してフレームが届くことはなく、効率的かつセキュアな転送が可能となる。
本実施の形態におけるブロードキャストフレーム転送処理手順の概要は、図４７のフローチャートに示す通りである。
各スイッチが、ブロードキャストフレームを受信する（ステップＦ−１）。
フォワーディングテーブルを参照して、ステップＦ−１で受信したブロードキャストフレームのＶＬＡＮタグに格納されたＶＰＮＩＤに対応する出力ポートを取得する（ステップＦ−２）。
ステップＦ−２で取得したポートからフレームを送信する（ステップＦ−３）。
なお、本実施の形態によるユニキャストフレームの転送時におけるフレーム転送処理手順及びテーブル設定処理手順は、第１〜第３の実施の形態における各手順と同様であるので、説明を省略する。
上記ブロードキャストフレーム転送処理手順の詳しい内容については、以降の各構成要素とその動作の説明で明らかにする。
本実施の形態におけるノード構成を図３８に示す。
図３８は、第５の実施の形態において図３０で示したノード構成に対して、フレーム書換部３０１０がフレーム書換部３８１０に、テーブルサーチ部３０３０がテーブルサーチ部３８３０に、フォワーディングテーブル格納部３０４０がフォワーディングテーブル格納部３８４０に変更されており、その他の各部は図３０と同じである。
以降では、第５の実施の形態との差分となるフレーム書換部３８１０、テーブルサーチ部３８３０、フォワーディングテーブル格納部３８４０を中心に説明する。
フレーム書換部３８１０は、フレーム解析部３００から受信した主信号データフレームに対して、テーブルサーチ部３８３０から指示があった場合に、フレームの書き換えを行なう。
フレーム書き換えに関して、フレーム書換部３０１０での処理との差分は以下の通りである。
フレーム書換部３８１０の処理は、フレーム書換部３０１０に対して、ブロードキャストフレームに対する処理が異なる。フレーム書換部３０１０では、ユニキャストフレーム、ブロードキャストフレーム共に、ＥｏＥヘッダのカプセリング処理と共に、ＲＳＴＰツリーの識別子（ＶＬＡＮＩＤ）を格納したＶＬＡＮタグとＶＰＮＩＤを格納したＶＬＡＮタグの２つのタグをスタックしていたのに対し、フレーム書換部３８１０ではブロードキャストフレームに対しては、ＥｏＥヘッダのカプセリング処理と共に、ＶＰＮＩＤを格納したＶＬＡＮタグのみをスタックする。ヘッダ削除の際には、フレーム書換部３８１０はブロードキャストフレームに対しては、ＥｏＥ−ＭＡＣヘッダのデカプセリングと共に、ＶＰＮＩＤを格納したＶＬＡＮタグを削除する。
続いて、フォワーディングテーブル格納部３８４０は、図３０のフォワーディングテーブル格納部３０４０と保持するテーブルは同じだが、ブロードキャストテーブル３４３の設定方法が異なる。
ブロードキャストテーブル３４３は、フォワーディングテーブル格納部３８４０では、ＳＴＰ制御部３８０の情報をもとにテーブル制御部３９０を経由して設定されていたのに対して、フォワーディングテーブル格納部３８４０では、設定制御部３９５を介して設定される。設定内容としては、ＶＰＮＩＤに対して、そのＶＰＮＩＤに関係あるスイッチのみを経由する経路を決定し、その経路上にあるポートを設定する。
その他のテーブル（ＭＡＣテーブル３４１、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２、ＶＰＮ管理テーブル３０４６）については、フォワーディングテーブル格納部３０４０と同様に保持する。
テーブルサーチ部３８３０の処理は、ブロードキャストフレームの扱いに関してテーブルサーチ部３０３０と異なる。
テーブルサーチ部３０３０の処理との差分は以下の通りである。
（１）フレーム種別情報が、イーサネット（Ｒ）フレーム４３００またはＶＬＡＮタグ付きイーサネット（Ｒ）フレーム４５００であり、入力ポートがユーザ端末側ポートである場合、ＶＰＮ管理テーブル３０４６のポート／ＶＰＮテーブル３０４６１または３０４６３を参照して、ＶＰＮＩＤを取得すると共に、フォワーディングテーブル格納部３８４０のＭＡＣ／ＥｏＥ−ＭＡＣテーブル３４２を参照して、ＭＡＣ＿ＤＡに対するＥｏＥ−ＭＡＣアドレスおよび付加するＶＬＡＮタグに格納するＶＬＡＮＩＤを取得する。  ここで、（１−１）対象エントリが存在した場合は、フレーム書換部３８１０に対して、取得したＶＰＮＩＤとＥｏＥ−ＭＡＣアドレスとＶＬＡＮＩＤを通知し、ＥｏＥ−ＭＡＣヘッダのカプセリングおよびＶＰＮＩＤとＶＬＡＮＩＤをそれぞれ格納したＶＬＡＮタグのスタックを指示する。また、フォワーディングテーブル格納部３８４０のＭＡＣテーブル３４１を参照して、取得したＥｏＥ−ＭＡＣアドレス、ＶＬＡＮに対する出力ポート情報を取得する。ここで対象エントリが存在した場合は、フレーム転送部３２０に出力ポート情報を通知する。逆に対象エントリが存在しない場合は、スタックするＶＬＡＮタグをＶＰＮＩＤを格納するタグのみとし、ブロードキャストテーブル３４３を参照し、ＶＰＮＩＤに対するブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知する。
（１−２）ＭＡＣ−ＥｏＥ−ＭＡＣテーブル３４２に対象エントリが存在しない場合は、フレーム書換部３８１０に対して、ＥｏＥ−ＭＡＣ＿ＤＡ＝ブロードキャストまたはマルチキャスト、ＥｏＥ−ＭＡＣ＿ＳＡ＝自ノードＥｏＥ−ＭＡＣでのＥｏＥ−ＭＡＣヘッダカプセリングを指示する。また、ＶＰＮＩＤを格納したＶＬＡＮタグのスタックを指示する。また、フォワーディングテーブル格納部３８４０のブロードキャストテーブル３４３を参照し、ＶＰＮＩＤに対するブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知する。
（２）フレーム種別情報が、ＥｏＥ−ＭＡＣフレーム４４００またはＶＬＡＮタグ付きＥｏＥ−ＭＡＣフレーム４６００であり、入力ポートがネットワーク側のポートで、宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）が自ノードアドレスの場合、以下の処理を行なう。
（２−２）宛先ＭＡＣアドレス（ＥｏＥ−ＭＡＣ＿ＤＡアドレス）が自ノードアドレスの場合、ＶＰＮ管理テーブル３０４６のＶＰＮ／ポートテーブル３０４６２または３０４６４を参照して、出力ポートを取得する。
（２−２−１）ここで対象エントリが存在した場合は、フレーム転送部３２０に出力ポート情報を通知するとともに、フレーム書換部３８１０に対しＥｏＥ−ＭＡＣヘッダとＶＬＡＮタグ１、２の削除を指示する（ブロードキャストフレームの場合、削除するのは、ＥｏＥ−ＭＡＣヘッダとＶＬＡＮタグである）。
（２−２−２）一方、対象エントリが存在しない場合、ブロードキャストテーブル３４３を参照し、ＶＬＡＮＩＤに対するブロードキャスト転送ポート情報を取得し、入力ポートを除いたポート情報をフレーム転送部３２０に通知するとともに、フレーム書換部３８１０に対しＥｏＥ−ＭＡＣヘッダとＶＬＡＮタグ１、２の削除を指示する（ブロードキャストフレームの場合、削除するのは、ＥｏＥ−ＭＡＣヘッダとＶＬＡＮタグである）。
以上説明したノード構成のスイッチで構成される図２９、３７のネットワークにおけるＶＰＮを考慮したユニキャストフレーム、ブロードキャストフレームの転送例について、以下に説明する。
ユーザ端末Ｔ１、Ｔ３間の転送で、図３７においてユーザ端末Ｔ１からブロードキャスト転送される例、図２９においてユーザ端末Ｔ３からＴ１へユニキャスト転送される例を説明する。
経路上のエッジスイッチＥ１、コアスイッチＣ１、エッジスイッチＥ３が有するテーブルについては、ＭＡＣテーブル、ＭＡＣ／ＥｏＥ−ＭＡＣテーブルについては、図２３〜２５で示したものを用いる。すなわち、エッジスイッチＥ１はＭＡＣテーブル２３０４、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２３０５を、コアスイッチＣ１はＭＡＣテーブル２４０４を、エッジスイッチＥ３はＭＡＣテーブル２５０４、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０５を保持している。
また、ブロードキャストテーブルとＶＰＮ管理テーブルについては、図３９にまとめた。
エッジスイッチＥ１はブロードキャストテーブル３９０１、ポート／ＶＰＮテーブル３９０２、ＶＰＮ／ポートテーブル３９０３を、コアスイッチＣ１はブロードキャストテーブル３９１１を、エッジスイッチＥ３はブロードキャストテーブル３９２１、ポート／ＶＰＮテーブル３９２２、ＶＰＮ／ポートテーブル３９２３を保持している。各々のブロードキャストテーブル３９０１、３９１１、３９２１においては、ＶＰＮＩＤ＝Ａに対するエントリが新たに設定されている。
以降の説明では、各スイッチ内部の詳細説明はこれまでの実施の形態で繰り返して説明しているため、ポイントのみを説明する。
まず、図３７においてユーザ端末Ｔ５からブロードキャスト転送される例である。
ユーザ端末Ｔ５からフレームを受信したエッジスイッチＥ５は、受信フレームをブロードキャスト転送処理すると判定した場合、ポート／ＶＰＮテーブル４６０１を参照して入力ポート＝ｐ１に対するＶＰＮＩＤ＝Ａを取得し、ブロードキャストテーブル４６００を参照してＶＰＮＩＤ＝Ａに対する出力ポート＝ｐ２を取得し、ＥｏＥヘッダのカプセリング処理とＶＰＮＩＤ＝Ａを格納したＶＬＡＮタグスタック処理を行なって、ポートｐ２にフレームを転送する。
この際のＥｏＥブロードキャストフレームのフォーマットは図４０の通りである。
エッジスイッチＥ１からフレームを受信したコアスイッチＣ１は、ブロードキャストテーブル３９１１を参照してＶＬＡＮＩＤ＝Ａに対する出力ポート＝ｐ１、２を取得し、入力ポート以外のポートｐ２に対しフレームを転送する。
コアスイッチＣ１からフレームを受信したエッジスイッチＥ３は、ブロードキャストテーブル３９２１を参照してＶＬＡＮＩＤ＝Ａに対する出力ポートが入力ポート＝ｐ１以外にないため、ＶＰＮ／ポートテーブル３９２３を参照してＶＰＮＩＤ＝Ａに対する出力ポート＝ｐ２を取得して、ＥｏＥヘッダとＶＬＡＮタグの削除処理を行なったうえで、ポートｐ２にフレームを転送する。
以上の処理により、ＶＰＮ＃Ａが接続するエッジスイッチ間の最短の経路のみでブロードキャスト転送が可能である。
続いて、図２９においてユーザ端末Ｔ３からＴ１へユニキャスト転送される例である。
ユーザ端末Ｔ３からユーザ端末Ｔ１宛てのフレームを受信したエッジスイッチＥ３は、ＭＡＣ／ＥｏＥ−ＭＡＣテーブル２５０５を参照して、ＭＡＣ＿ＤＡ＝ｔ１に対するＥｏＥ−ＭＡＣ＝ｅ１、ＶＬＡＮＩＤ＝ｇ１を取得し、ＭＡＣテーブル２５０４を参照して、ＭＡＣ＝ｅ１（ＥｏＥ−ＭＡＣ＝ｅ１）、ＶＬＡＮＩＤ＝ｇ１に対する出力ポートとしてポートｐ１を取得する。また、ポート／ＶＰＮテーブル３９２２を参照して入力ポート＝ｐ２に対するＶＰＮＩＤ＝Ａを取得する。そして、ＥｏＥ−ＭＡＣ＿ＤＡ＝ｅ１、ＶＬＡＮＩＤ＝ｇ１、ＶＰＮＩＤ＝Ａのヘッダ付加処理を行なって、ポートｐ１にフレームを転送する。この際のＥｏＥフレームのフォーマットは図４１の通りである。
エッジスイッチＥ１からフレームを受信したコアスイッチＣ１は、ＭＡＣテーブル２４０４を参照してＭＡＣ＿ＤＡ＝ｅ１、ＶＬＡＮＩＤ＝ｇ１に対する出力ポート＝ｐ１を取得し、ポートｐ１に対しフレームを転送する。
コアスイッチＣ１からフレームを受信したエッジスイッチＥ３は、ＥｏＥ−ＭＡＣ＿ＤＡ＝ｅ１が自ノードＥｏＥ−ＭＡＣと等しいため、ＶＰＮ／ポートテーブル３９０３を参照してＶＰＮＩＤ＝Ａに対する出力ポート＝ｐ１を取得して、ＥｏＥヘッダと２つのＶＬＡＮタグの削除処理を行なったうえで、ポートｐ１にフレームを転送する。
以上の処理により、ＶＰＮ＃Ａが接続するエッジスイッチ間の最短の経路上でユニキャスト転送が可能である。
（第６の実施の形態の効果）
このようにして、本発明のノードから構成されるネットワークにおけるデータ転送方法では、エッジスイッチがルートノードとなるスパニングツリーをそのエッジスイッチへの転送経路とするために、エッジスイッチのＥｏＥ−ＭＡＣアドレスとツリーの識別子であるＶＬＡＮＩＤの対応付けを解決保持することにより、全てのエッジスイッチ間で最短経路が形成され、全ユーザ端末間において最短経路で転送することが可能である。これにより、ネットワーク内でのトラヒックの偏りをなくし、輻輳発生の可能性を低下させることが可能であり、ネットワーク帯域を効率的に利用することができる。
また、本実施の形態によると、ユニキャスト転送、ブロードキャスト転送共に、最短経路上での転送が可能になると共に、ブロードキャスト転送においては同一ＶＰＮに所属するユーザ端末間のトラヒックがＶＰＮとは関係のない経路上に転送されるのを防ぎ、ＶＰＮ所属エッジスイッチ間経路のみで転送されるため、ネットワーク帯域の効率化を図ることができる。また、同一ＶＰＮ外にＶＰＮトラヒックが流れないことより、セキュリティの面でも効果がある。
【図１】
0004780340.tif 000002
【図２】
0004780340.tif 000003
【図３】
0004780340.tif 000004
【図４】
0004780340.tif 000005
【図５】
0004780340.tif 000006
【図６】
0004780340.tif 000007
【図７】
0004780340.tif 000008
【図８】
0004780340.tif 000009
【図９】
0004780340.tif 000010
【図１０】
0004780340.tif 000011
【図１１】
0004780340.tif 000012
【図１２】
0004780340.tif 000013
【図１３】
0004780340.tif 000014
【図１４】
0004780340.tif 000015
【図１５】
0004780340.tif 000016
【図１６】
0004780340.tif 000017
【図１７】
0004780340.tif 000018
【図１８】
0004780340.tif 000019
【図１９】
0004780340.tif 000020
【図２０】
0004780340.tif 000021
【図２１】
0004780340.tif 000022
【図２２】
0004780340.tif 000023
【図２３】
0004780340.tif 000024
【図２４】
0004780340.tif 000025
【図２５】
0004780340.tif 000026
【図２６】
0004780340.tif 000027
【図２７】
0004780340.tif 000028
【図２８】
0004780340.tif 000029
【図２９】
0004780340.tif 000030
【図３０】
0004780340.tif 000031
【図３１】
0004780340.tif 000032
【図３２】
0004780340.tif 000033
【図３３】
0004780340.tif 000034
【図３４】
0004780340.tif 000035
【図３５】
0004780340.tif 000036
【図３６】
0004780340.tif 000037
【図３７】
0004780340.tif 000038
【図３８】
0004780340.tif 000039
【図３９】
0004780340.tif 000040
【図４０】
0004780340.tif 000041
【図４１】
0004780340.tif 000042
【図４２】
0004780340.tif 000043
【図４３】
0004780340.tif 000044
【図４４】
0004780340.tif 000045
【図４５】
0004780340.tif 000046
【図４６】
0004780340.tif 000047
【図４７】
0004780340.tif 000048
【図４８】
0004780340.tif 000049
【図４９】
0004780340.tif 000050
【図５０】
0004780340.tif 000051
【図５１】
0004780340.tif 000052
【図５２】
0004780340.tif 000053
【図５３】
0004780340.tif 000054
【図５４】
0004780340.tif 000055