JP4883160B2 - 通信装置およびフレーム送信方法 - Google Patents

通信装置およびフレーム送信方法 Download PDF

Info

Publication number
JP4883160B2
JP4883160B2 JP2009228848A JP2009228848A JP4883160B2 JP 4883160 B2 JP4883160 B2 JP 4883160B2 JP 2009228848 A JP2009228848 A JP 2009228848A JP 2009228848 A JP2009228848 A JP 2009228848A JP 4883160 B2 JP4883160 B2 JP 4883160B2
Authority
JP
Japan
Prior art keywords
frame
hash
flow
information
hash value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009228848A
Other languages
English (en)
Other versions
JP2011077946A (ja
Inventor
裕一郎 桂
鉄男 江原
康之 三森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009228848A priority Critical patent/JP4883160B2/ja
Priority to US12/894,813 priority patent/US8493850B2/en
Publication of JP2011077946A publication Critical patent/JP2011077946A/ja
Application granted granted Critical
Publication of JP4883160B2 publication Critical patent/JP4883160B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Landscapes

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

Description

本発明は、通信装置等に関する。
近年、複数の物理回線を1本の仮想回線として取り扱うLAG(Link Aggregation)と呼ばれる技術が普及している。例えば、LAGでは、1本あたりの通信帯域が100Mbpsの物理回線をN本に束ねたものを、通信帯域が100Mbps×Nとなる仮想回線として取り扱う。
このLAGを利用することで、柔軟かつ効率的なネットワークを構築することができる。例えば、仮想的な回線に含まれる各物理回線のうち、いずれかの物理回線に障害が発生しても、障害の発生していない残りの物理回線を利用して、通信を継続することができる。また、LAGは、単一のサービスタイプだけで無く、VLAN(Virtual LAN) over Ethernet(登録商標)、IP(Internet Protocol) over Ethernet(登録商標)、MPLS(Multi Protocol Label Switching) over Ethernet(登録商標)等の異なるサービスタイプをまとめて処理することができる。すなわち、LAGは、サービスタイプの異なるフレームを、同一の仮想回線上で送受信することができる。
なお、LAGに含まれる各物理回線のうち、一部の物理回線ばかりにフレームが集中し、残りの物理回線が使用されていない状態となると、LAGで構築した通信帯域を有効に利用できていない。したがって、従来の技術では、フレームがなるべく一部の物理回線に集中しないように、フレームを各物理回線に振り分ける。
続いて、LAGを利用した従来のネットワークの構成について説明する。図11は、従来のネットワークの構成例を示す図である。図11に示すように、このネットワークは、ユーザ端末10a〜10h、通信装置20a〜20fを有する。以下の説明では適宜、ユーザ端末10a〜10hをユーザ端末10、通信装置20a〜20fを通信装置20と表記する。
ユーザ端末10は、各通信装置20を介して、フレームを宛先に送信する装置である。また、ユーザ端末10は、各通信装置20を介して、他のユーザ端末から送信されたフレームを受信する。通信装置20は、ユーザ端末20から送信されるフレームを受信し、フレーム内に格納されたアドレス情報等を基にして、該当する宛先にフレームを転送する装置である。例えば、ユーザ端末10が、フレームを送信した場合、通信装置20は、フレーム内に格納されたMACアドレスまたはIPアドレス等を基にフレーム転送を行う。
続いて、図11に示した通信装置20の構成について説明する。図12は、従来の通信装置20の構成を示す図である。図12に示すように、通信装置20は、回線IF(Interface)部21〜24、SW(switch)部25、制御部26を有する。また、制御部26は、制御端末27に接続する。
回線IF部21〜24は、複数の物理的な回線ポートを接続し、外部装置とのインターフェースとして機能し、フレームの送受信処理等を行う装置である。SW部25は、各回線IF部と接続し、各回線IF部の間のフレーム転送のスイッチ機能を提供する装置である。SW部25および回線IF部21〜24は、フレーム等のデータ信号を送受信する。
制御部26は、回線IF部21〜24およびSW部25との間で制御信号を送受信し、回線IF部21〜24およびSW部25の各種設定を行う装置である。また、制御部26は、制御端末27に接続し、回線IF部21〜24およびSW部25から取得した情報を制御端末27に通知する。回線IF部21〜24およびSW部25から取得する情報は、例えば、障害が発生しているか否かの情報を含む。
図12に示した、回線IF部21〜24、SW部25および制御部26は、一般的に、着脱可能なモジュールやカードとして提供される。なお、回線IF部21〜24、SW部25および制御部26は、通信装置20のマザーボードと一体化していてもよい。
続いて、図11に示した各通信装置20の間でLAGを構築している場合の構成について説明する。図13は、LAGを構築する通信装置の構成例を示す図である。図13では一例として、通信装置20aと通信装置20bとの間でLAGが構築された場合を示す。
図13において、通信装置20aに含まれる回線IF部21a〜24a、SW部25aは、図12で説明した回線IF部21〜24、SW部25に対応する。また、通信装置20bに含まれる回線IF部21b〜24b、SW部25bは、図12で説明した回線IF部21〜24、SW部25に対応する。回線IF部23a,21bは、物理回線ポート#0a〜#7aを有する。回線IF部24a,22bは、物理回線ポート#0b〜#7bを有する。
図13では、物理回線ポート#0a〜#7aに接続する物理回線を束ねて1つの仮想回線を構築し、物理回線ポート#0b〜#7bに接続する物理回線を束ねて1つの仮想回線を構築する。物理回線ポート#0a〜#7aに接続する物理回線をまとめてLAG#Aと表記し、物理回線ポート#0b〜#7bに接続する物理回線をまとめてLAG#Bと表記する。また、LAG#AのパスをWorkパス、LAG#BのパスをProtectionパスと表記する。WorkパスおよびProtectionパスは、他のノードを経由する場合もある。図13では、Protectionパスは、他のノード5を介して、通信装置20aと通信装置20bとを接続する。
通信装置20a,20bは、Workパスを現用系として運用し、Protectionパスを予備系として運用することで冗長化を図っている。すなわち、Workパスに障害が発生していない場合には、通信装置20a,20bは、Workパスを利用してフレームを転送する。Workパスに障害が発生した場合には、通信装置20a,20bは、WorkパスからProtectionパスに切り替えてフレームの転送を継続する。
ここで、ユーザ端末10aがユーザ端末10c宛にフレームを送信した場合のフレームの流れについて説明する。まず、回線IF部21aは、ユーザ端末10aからフレームを受信すると、受信したフレームを転送する物理回線ポートを選択する。具体的に、回線IF部21aは、運用系のLAG#Aに設定されたハッシュ(Hash)ルールを基にしてハッシュ値を算出し、ハッシュ値に対応する物理回線ポートを物理回線ポート#0a〜#7aの中から選択する。
回線IF部21aの選択した物理回線ポートが物理回線ポート#0aの場合には、フレームは、SW部25a、回線IF部23a、物理回線#0aを介して通信装置20bに到達する。そして、フレームは、回線IF部21b、SW部25b、回線IF部23bを介して、ユーザ端末10cに到達する。
続いて、図13に示した回線IF部21aの構成について説明する。図14は、従来の回線IF部の構成を示す図である。図14に示すように、この回線IF部21aは、フロー識別部30、LAG管理テーブル31、LAGハッシュ演算部32、転送先制御部33、CPU(Central Processing Unit)部34を有する。また、CPU部34はCPUカード35に接続し、CPUカード35は外部モニタ40に接続する。
フロー識別部30は、外部からフレームを取得した際に、取得したフレームを転送先制御部33に出力する処理部である。LAG管理テーブル31は、LAG毎のハッシュルールを記憶するテーブルである。図15は、LAG管理テーブル31のデータ構造の一例を示す図である。図15に示すように、LAG管理テーブル31は、LAG種別とハッシュルールとを対応付けて記憶する。ここで、LAG種別は各LAGを識別する情報である。ハッシュルールは、ハッシュ値を演算する場合に利用する情報を特定するための情報である。例えば、LAG#Aを利用してフレームを転送する場合には、ハッシュ演算は、フレーム中のMACアドレスを利用して行われる。
LAGハッシュ演算部32は、ハッシュの演算対象となる情報を転送先制御部33から取得し、取得した情報を基にハッシュ演算する処理部である。ここで、ハッシュの演算対象となる情報は、例えば、MACアドレスやIPアドレスとなる。LAGハッシュ演算部32は、演算結果のハッシュ値を転送先制御部33に出力する。演算対象となる情報が同一の場合には、LAGハッシュ演算部32が演算するハッシュ値は同一となる。
転送先制御部33は、LAG管理テーブル31とLAGハッシュ演算部32とを利用して、フレームを転送する物理回線ポートを判定する処理部である。
まず、転送先制御部33は、フレームを転送するLAGの種別とLAG管理テーブル31とを比較して、ハッシュルールを判定する。転送先制御部33は、判定したハッシュルールに基づいて、フレームからハッシュの演算対象となる情報をLAGハッシュ演算部32に出力し、LAGハッシュ演算部32からハッシュ値を取得する。
例えば、フレームを転送するLAGがLAG#Aの場合には、ハッシュルールは「MACアドレス」となる。転送先制御部33は、フレームのMACアドレスをLAGハッシュ演算部32に出力し、ハッシュ値をLAGハッシュ演算部32から取得する。
転送制御部33は、ハッシュ値と物理回線ポート番号とが一対一に対応する選択テーブルを有している。転送制御部33は、LAGハッシュ演算部32から取得するハッシュ値と選択テーブルと比較することで、フレームを転送する物理回線ポートを判定する。
CPU部34は、CPUカード35から取得する各種の制御信号に基づいて、フロー識別部30、LAG管理テーブル31、LAGハッシュ演算部32、転送先制御部33の設定を行う処理部である。
CPUカード35は、フロー識別部30、LAG管理テーブル31、LAGハッシュ演算部32、転送先制御部33の設定を行うために、各種の制御信号をCPU部34に出力する装置である。また、CPUカード35は、設定結果などの情報を外部モニタ40に出力する。
特開2007−180891号公報
しかしながら、上述した従来の技術は、フレームの送信先となる物理回線ポートが一部の物理回線ポートに集中する場合があり、複数の物理回線を有していても各物理回線を有効に使用できないという問題があった。
フレームの送信先となる物理回線ポートが一部の物理回線ポートに集中する問題は、例えば、ハッシュ演算対象となる情報が複数のフレームで同じとなる場合に発生する。ハッシュの演算対象となる情報が同じ場合には、演算結果のハッシュ値も同じとなり、ハッシュ値と物理回線ポートとが一対一に対応しているためである。
例えば、サービスタイプの異なる複数のフレームを転送する際、宛先が同一の場合には、各フレームのMACアドレス・IPアドレスはすべて同じとなる。そして、LAGのハッシュルールが、MACアドレスやIPアドレスに設定されている場合には、各フレームのハッシュ値が全て同じとなり、特定の物理回線にフレームが集中してしまう。
開示の技術は、上記に鑑みてなされたものであって、複数の物理回線を有効に使用することができる通信装置およびフレーム送信方法を提供することを目的とする。
本願の開示する通信装置は、入力されたフレームが属するフロー毎のフロー識別子を取得し、取得したフロー識別子に基づいて、フロー識別子毎のハッシュルールを取得する。続いて、開示の通信装置は、ハッシュルールにより入力されたフレームのハッシュ値をハッシュ演算して取得し、取得したフロー識別子とハッシュ値との組み合わせに基づいて、入力されたフレームの出力ポートを決定する。そして、開示の通信装置は、決定した出力ポートへ入力されたフレームを出力するフレーム出力することを要件とする。
本願の開示する通信装置の一つの態様によれば、複数の物理回線を有効に使用することができるという効果を奏する。
図1は、本実施例1にかかる通信装置の構成を示す図である。 図2は、実施例2にかかる通信装置の構成を示す図である。 図3は、本実施例2にかかるフロー識別テーブルのデータ構造の一例を示す図である。 図4は、本実施例2にかかるハッシュルールテーブルのデータ構造の一例を示す図である。 図5は、本実施例2にかかる宛先管理テーブルのデータ構造の一例を示す図である。 図6は、回線IF部の処理手順を示すフローチャートである。 図7は、本実施例3にかかる通信装置の構成を示す図である。 図8は、本実施例3にかかるフロー識別テーブルのデータ構造の一例を示す図である。 図9は、本実施例3にかかるハッシュルールテーブルのデータ構造の一例を示す図である。 図10は、本実施例3にかかる宛先管理テーブルのデータ構造の一例を示す図である。 図11は、従来のネットワークの構成例を示す図である。 図12は、従来の通信装置の構成を示す図である。 図13は、LAGを構築する通信装置の構成例を示す図である。 図14は、従来の回線IF部の構成を示す図である。 図15は、LAG管理テーブルのデータ構造の一例を示す図である。
以下に、本願の開示する通信装置およびフレーム送信方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例1にかかる通信装置の構成について説明する。図1は、本実施例1にかかる通信装置の構成を示す図である。図1に示すように、通信装置100は、フロー識別部110、転送先制御部120、フレーム出力部130を有する。
フロー識別部110は、入力されたフレームが属するフロー毎のフロー識別子を取得し、取得したフロー識別子に基づいて、フロー識別毎のハッシュルールを取得する処理部である。
転送先制御部120は、フロー識別部110で取得したハッシュルールにより入力されたフレームのハッシュ値を演算して取得し、取得したフロー識別子とハッシュ値との組み合わせに基づいて、入力されたフレームの出力ポートを決定する処理部である。
フレーム出力部130は、転送先制御手段で決定した出力ポートへ入力されたフレームを出力する処理部である。
上述した通信装置100によれば、転送先制御部120がフロー識別子とハッシュ値との組合せに基づいて、フレームの出力ポートを決定するので、複数の物理回線を有効に使用することができる。
次に、本実施例2にかかる通信装置について説明する。図2は、実施例2にかかる通信装置の構成を示す図である。図2に示すように、通信装置200は、回線IF部210〜230、SW部240、CPUカード250を有する。また、CPUカード250は、外部モニタ260に接続する。
回線IF部210〜230は、複数の物理的な回線ポートを有し、外部装置とのインターフェース機能、フレームの送受信処理等を行う装置である。ここでは一例として、回線IF部210は、複数の物理回線ポートを有し、外部のユーザ端末に接続する。回線IF部220,230は、複数の物理回線ポートを有し、他の通信端末に接続する。
回線IF部220は、物理回線ポート#0a〜#7aを有する。そして、通信装置200は、物理回線ポート#0a〜#7aに接続する物理回線を束ねて1つの仮想回線を構築する。物理回線ポート#0a〜#7aに接続する物理回線をまとめてLAG#Aと表記する。
回線IF部230は、物理回線ポート番号#0b〜#7bを有する。そして、通信装置200は、物理回線ポート#0b〜#7bに接続する物理回線を束ねて1つの仮想回線を構築する。物理回線ポート#0b〜#7bに接続する物理回線をまとめてLAG#Bと表記する。
LAG#AのパスをWorkパスとし、LAG#BのパスをProtectionパスとする。通信装置200は、Workパスを現用系として運用し、Protectionパスを予備系として運用することで冗長化を図っている。すなわち、Workパスに障害が発生していない場合には、通信装置200は、Workパスを利用してフレームを転送する。Workパスに障害が発生した場合には、通信装置200は、WorkパスからProtectionパスに切り替えてフレームの転送を継続する。
SW部240は、回線IF部210〜230と接続し、各回線IF部の間のフレーム転送のスイッチ機能を提供する装置である。SW部240および回線IF部210〜230は、フレームなどのデータ信号を送受信する。
CPUカード250は、回線IF部210の各種の設定を行う装置である。CPUカード250は、設定結果などの情報を外部モニタ260に出力する。外部モニタ260は、CPUカード250から取得する設定結果などの情報を表示する装置である。
図2に示した回線IF部210〜230、SW部240、CPUカード250は、一般的に、着脱可能なモジュールやカードとして提供される。なお、回線IF部210〜230、SW部240、CPUカード250は、マザーボードと一体化していてもよい。
続いて、回線IF部210の構成について説明する。図2に示すように、この回線IF部210は、フロー識別テーブル211、ハッシュルールテーブル212、フロー識別部213、LAGハッシュ演算部214、宛先管理テーブル215、転送先制御部216を有する。
フロー識別テーブル211は、フレームのサービスタイプとフローID(Identification)とフロー情報とを対応付けて記憶するテーブルである。ここで、サービスタイプは、通信サービスの種別である。具体的に、サービスタイプは、VLAN(Virtual LAN) over Ethernet(登録商標)、IP(Internet Protocol) over Ethernet(登録商標)、MPLS(Multi Protocol Label Switching) over Ethernet(登録商標)等を含む。通信装置200に入力するフレームは、サービスタイプを識別する情報を有しているものとする。
フローIDは、管理者がサービスタイプ毎に設定する識別子である。フロー情報は、ハッシュの演算を実行するか否かの情報等を有する。
ハッシュルールテーブル212は、フローIDとハッシュルールとを対応付けて記憶するテーブルである。ハッシュルールは、ハッシュ演算に利用する情報を特定するものである。例えば、ハッシュルールには、MACアドレス、IPアドレス等が含まれる。ハッシュルールがMACアドレスの場合には、フレームのMACアドレスを利用してハッシュ演算を行いハッシュ値を取得する。
フロー識別部213は、フレームを取得した際に、フレームに対応するフローID、フロー情報およびハッシュルールを判定し、判定結果およびフレームを転送先制御部216に出力する処理部である。具体的に、フロー識別部213は、フレームのサービスタイプとフロー識別テーブル211とを比較して、フレームに対応するフローIDおよびフロー情報を判定する。そして、フロー識別部213は、フローIDとハッシュルールテーブル212とを比較してハッシュルールを判定する。
LAGハッシュ演算部214は、ハッシュ演算対象となる情報を転送先制御部216から取得し、取得した情報を基にハッシュ値を算出する処理部である。LAGハッシュ値演算部214は、演算結果のハッシュ値を転送先制御部216に出力する。
LAGハッシュ演算部214が、ハッシュ値を演算する方法は、従来の如何なる技術を用いても構わない。例えば、LAGハッシュ演算部214は、所定のハッシュ関数に、演算対象となる情報を代入することで、ハッシュ値を得る。
宛先管理テーブル215は、フローIDおよびハッシュ値の組合せと物理回線ポートとを対応付けて記憶するテーブルである。
転送先制御部216は、フロー識別部213から判定結果およびフレームを取得した場合に、フレームを転送する物理回線ポートを判定する処理部である。そして、転送先制御部216は、判定した物理回線ポートにフレームを出力する。具体的に、転送先制御部216は、ハッシュルールにより特定されるフレーム内の情報を、LAGハッシュ演算部214に出力することでハッシュ値を取得する。そして、ハッシュ値およびフローIDと、宛先管理テーブル215とを比較することで、物理回線ポートを判定する。
次に、図2に示したフロー識別テーブル211のデータ構造について説明する。図3は、本実施例2にかかるフロー識別テーブル211のデータ構造の一例を示す図である。図3に示すように、このフロー識別テーブル211は、サービスタイプと、フローIDと、フロー情報とを対応付けて記憶する。なお、フロー情報は、ハッシュ実施判定フラグとオフセット情報とを含む。
ハッシュ実施判定フラグは、ハッシュ演算を実行するか否かを識別する情報である。具体的に、ハッシュ実施判定フラグが「ON」となっている場合には、フレームのハッシュ値を演算する。ハッシュ実施判定フラグが「OFF」となっている場合には、フレームのハッシュ値を演算しないで、予め設定された値をハッシュ値として利用する。なお、オフセット情報は、LAGハッシュ演算部214がハッシュ値を算出する場合に利用する情報である。例えば、オフセット情報は、演算対象となる情報が格納されたフレーム内の位置を示す。
図3において、フレームのサービスタイプが「サービスタイプ1」の場合には、フレームのフローID「フローID#AA」、ハッシュ実施判定フラグ「ON」、オフセット情報「オフセット#AA」となる。フレームのサービスタイプが「未登録のサービスタイプ」の場合には、フレームのフローID「フローID#XX」、ハッシュ実施判定フラグ「ON」、オフセット情報「0」となる。
次に、図2に示したハッシュルールテーブル212のデータ構造について説明する。図4は、本実施例2にかかるハッシュルールテーブル212のデータ構造の一例を示す図である。図4に示すように、このハッシュルールテーブル212は、フローIDとハッシュルールとを対応付けて記憶する。
図4において、フローIDが「フローID#AA」の場合には、ハッシュルールは「MPLSラベル」となる。フローIDが「フローID#BB」の場合には、ハッシュルールは「VID(VLAN Identifier)」となる。ハッシュルールが位置情報の場合には、指定された位置情報の情報からフレーム内から抜き出しハッシュ演算を行う。
フローIDが「フローID#CC」の場合には、ハッシュルールは「IPアドレスとMACアドレス」となる。フローIDが「フローID#DD」の場合には、ハッシュルールは「所定のハッシュ値」となる。ハッシュルールが所定のハッシュ値の場合には、ハッシュ演算が行われず、所定のハッシュ値を用いる。フローIDが「フローID#XX」の場合には、ハッシュルールは「MACアドレス」となる。
次に、図2に示した宛先管理テーブル215のデータ構造について説明する。図5は、本実施例2にかかる宛先管理テーブル215のデータ構造の一例を示す図である。図5に示すように、この宛先管理テーブル215は、フローID/ハッシュ値と、物理回線ポートとを対応付けて記憶する。フローID/ハッシュ値は、フローIDとハッシュ値との組合せである。
例えば、フローIDとハッシュ値との組合せが「フローID#AA」と「ハッシュ値#AA」の場合には物理回線ポートが「物理回線ポート#0」となる。ここで、Workパスにてフレームを転送する場合には、回線IF部220の物理回線ポート#0aにフレームが出力される。Protectionパスにてフレームを転送する場合には、回線IF部230の物理回線ポート#0bにフレームが出力される。
次に、図2に示した回線IF部210の処理手順について説明する。図6は、回線IF部の処理手順を示すフローチャートである。図6に示すように、回線IF部210が、フレームを取得し(ステップS101)、フレームのサービスタイプとフロー識別テーブル211とを基にして、フローIDおよびフロー情報を取得する(ステップS102)。
そして、回線IF部210は、フローIDとハッシュルールテーブル212とを基にして、ハッシュルールを取得する(ステップS103)。回線IF部210は、フロー情報に含まれるハッシュ実施判定フラグがONであるか否かを判定する(ステップS104)。
回線IF部210は、ハッシュ実施判定フラグがOFFの場合には(ステップS105,No)、ステップS107に移行する。一方、回線IF部210は、ハッシュ実施判定フラグがONの場合には(ステップS105,Yes)、LAGハッシュ演算部214にてハッシュ演算を実施し、ハッシュ値を取得する(ステップS106)。
回線IF部210は、宛先管理テーブル215、フローID、ハッシュ値を基にして、物理回線ポートを判定し(ステップS107)、判定結果に対応する物理回線ポートにフレームを送信する(ステップS108)。
上述したように、本実施例2にかかる通信装置200は、ハッシュ値とサービスタイプ毎にユニークなフローIDとの組合せに基づいて、フレームを転送する物理回線ポートを選択する。したがって、宛先が同一のフレームが存在し、各フレームのハッシュ値が同一となる場合でも、各フレームのフローIDは異なるので、各フレームを振り分けることができる。
次に、本実施例3にかかる通信装置300について説明する。図7は、本実施例3にかかる通信装置300の構成を示す図である。図7に示すように、通信装置300は、回線IF部310〜330、SW部340、CPUカード350を有する。また、CPUカード350は、外部モニタ360に接続する。
ここで、SW部340、CPUカード350、外部モニタ360に関する説明は、実施例2で説明したSW部240、CPUカード250、外部モニタ260に関する説明と同様である。
回線IF部310〜330は、複数の物理的な回線ポートを有し、外部装置とのインターフェース機能、フレームの送受信処理を行う装置である。ここでは一例として、回線IF部310は、複数の物理回線ポートを有し、外部のユーザ端末に接続する。回線IF部320,330は、複数の物理回線ポートを有し、他の通信端末に接続する。
回線IF部320は、物理回線ポート#0a〜#7aを有する。そして、通信装置300は、物理回線ポート#0a〜#7aに接続する物理回線を束ねて1つの仮想回線を構築する。物理回線ポート#0a〜#7aに接続する物理回線をまとめてLAG#Aと表記する。
回線IF部330は、物理回線ポート番号#0b〜#7bを有する。そして、通信装置300は、物理回線ポート#0b〜#7bに接続する物理回線を束ねて1つの仮想回線を構築する。物理回線ポート#0b〜#7bに接続する物理回線をまとめてLAG#Bと表記する。なお、実施例2と同様にして、LAG#AのパスをWorkパスとし、LAG#BのパスをProtectionパスとする。
図7に示した回線IF部310〜330、SW部340、CPUカード350は、一般的に、着脱可能なモジュールやカードとして提供される。なお、回線IF部310〜330、SW部340、CPUカード350は、マザーボードと一体化していてもよい。
続いて、回線IF部310の構成について説明する。図7に示すように、この回線IF部310は、フロー識別テーブル311、ハッシュルールテーブル312、フロー識別部313、LAGハッシュ演算部314、宛先管理テーブル315、転送先制御部316を有する。
フロー識別テーブル311は、フレームのサービスタイプとフローIDとフロー情報とを対応付けて記憶するテーブルである。ハッシュルールテーブル312は、フローIDとハッシュルールとを対応付けて記憶するテーブルである。
フロー識別部313は、フレームを取得した際に、フレームに対応するフローID、フロー情報およびハッシュルールを判定し、判定結果およびフレームを転送先制御部316に出力する処理部である。具体的に、フロー識別部313は、フレームのサービスタイプとフロー識別テーブル311とを比較して、フレームに対応するフローIDおよびフロー情報を判定する。そして、フロー識別部313は、フローIDとハッシュルールテーブル312とを比較してハッシュルールを判定する。
LAGハッシュ演算部314は、ハッシュ演算対象となる情報を転送先制御部316から取得し、取得した情報を基にハッシュ値を演算する処理部である。LGAハッシュ値演算部314は、演算結果のハッシュ値を転送先制御部316に出力する。
LAGハッシュ演算部314が、ハッシュ値を演算する方法は、従来の如何なる技術を用いても構わない。例えば、LAGハッシュ演算部314は、所定のハッシュ関数に、演算対象となる情報を代入することで、ハッシュ値を得る。
宛先管理テーブル315は、フローIDおよびハッシュ値の組合せと物理回線ポートとを対応付けて記憶するテーブルである。
転送先制御部316は、フロー識別部313から判定結果およびフレームを取得した場合に、フレームを転送する物理回線ポートを判定する処理部である。そして、転送先制御部316は、判定した物理回線ポートにフレームを出力する。具体的に、転送先制御部316は、ハッシュルールにより特定されるフレーム内の情報を、LAGハッシュ演算部314に出力することでハッシュ値を取得する。そして、ハッシュ値およびフローIDと、宛先管理テーブル315とを比較することで、物理回線ポートを判定する。
次に、図7に示したフロー識別テーブル311のデータ構造について説明する。図8は、本実施例3にかかるフロー識別テーブル311のデータ構造の一例を示す図である。図8に示すように、このフロー識別テーブル311は、サービスタイプと、フローIDと、フロー情報とを対応付けて記憶する。フロー情報は、ハッシュ実施判定フラグ、MPLSオフセット、IPオフセット、VLANオフセット、付加情報を有する。
サービスタイプは、サービスタイプ1〜4、未登録のサービスタイプを有する。例えば、サービスタイプ1はMPLS over Ethernet(登録商標)に対応し、サービスタイプ2は、VLAN over Ethernet(登録商標)に対応する。サービスタイプ3はIP over Ethernet(登録商標)に対応し、サービスタイプ4はNative Ethernet(登録商標)に対応する。また、図8に示すように、各サービスタイプ1〜4は、それぞれ、複数のサービスタイプに分かれる。
ハッシュ実施判定フラグは、ハッシュ演算を実行するか否かを識別する情報である。具体的に、ハッシュ実施判定フラグが「1」の場合には、フレームのハッシュ値を演算する。ハッシュ実施判定フラグが「0」となっている場合には、フレームのハッシュ値を演算しないで、所定のハッシュ値を利用する。
MPLSオフセット、IPオフセット、VLANオフセット、付加情報を含むオフセット情報は、LAGハッシュ演算部314がハッシュ値を算出する場合に利用する情報である。例えば、オフセット情報は、演算対象となる情報が格納されたフレーム内の位置を示す。
次に、図7に示したハッシュルールテーブル312のデータ構造について説明する。図9は、本実施例3にかかるハッシュルールテーブル312のデータ構造の一例を示す図である。図9に示すように、このハッシュルールテーブル312は、フローIDとハッシュルールとを対応付けて記憶する。例えば、フローIDが「0」の場合には、ハッシュルールは「MACアドレス」となる。
次に、図7に示した宛先管理テーブル315のデータ構造について説明する。図10は、本実施例3にかかる宛先管理テーブル315のデータ構造の一例を示す図である。図10に示すように、フローIDと、ハッシュ値と、物理回線ポート番号とを対応付けて記憶する。物理回線ポート番号1〜7は、物理回線ポート#0〜#7にそれぞれ対応する。
例えば、フローID「0」、ハッシュ値「0」の場合には物理回線ポートが「0」となるので、フレームは、物理回線ポート#0に出力される。
次に、回線IF部310がフレームを取得した場合の処理を具体的に説明する。ここではまず、MACアドレスが同一の3つのフレームを取得した場合を例にして説明する。3つのフレームをそれぞれフレームA,B,Cとする。
図8に示すように、ここでは一例として、フレームAのサービスタイプをサービスタイプ2(TPID:0x8100、VID:0x001)とする。フレームBのサービスタイプをサービスタイプ3(Type:0x0800、IP DA:102030405060)とする。フレームCのサービスタイプをサービスタイプ1(Type:0x8847、label:3段)とする。
フロー識別部313は、フレームA,B,Cとフロー識別テーブル311とを比較して、各フレームに対応するフローIDとフロー情報とを判定する。フレームAのフローIDは「10」、ハッシュ実施判定フラグ「1」、VLANオフセット「12」、その他のオフセットは「0」となる。フレームBのフローIDは「20」、ハッシュ実施判定フラグ「1」、IPオフセット「26」、その他のオフセットは「0」となる。フレームCのフローIDは「1」、ハッシュ実施判定フラグ「1」、MPLSオフセット「12」、付加情報「3」、その他のオフセットは「0」となる。
フロー識別部313は、各フレームのフローIDとフロー情報とを判定した後に、フローIDとハッシュルールテーブル312とを比較して、各フレームのハッシュルールを判定する。フレームAのフローIDは「10」であるため、図9に示すように、フレームAのハッシュルールは「VID」となる。フレームBのハッシュルールのフローIDは「20」であるため、フレームBのハッシュルールは「MACアドレスとIPアドレス」となる。フレームCのフローIDは「1」であるため、フレームCのハッシュルールは「MPLSラベル」となる。
フロー識別部313は、判定結果となる各フレームA〜CのフローID、フロー情報、ハッシュルールを、各フレームA〜Cと対応付けて転送先制御部316に出力する。
転送先制御部316は、フレームA〜Cのハッシュ実施判定フラグを参照し、フレームA〜Cのハッシュ値を演算するか否かを判定する。ここでは、各フレームのハッシュ実施判定フラグが全て「1」であるため、転送先制御部316は、各フレームのハッシュ値を演算する。
転送先制御部316は、LAGハッシュ演算部314を利用してハッシュ値を演算する。具体的に、転送先制御部316は、フレームのハッシュルールに基づいて、ハッシュ演算対象となる情報をフレームから取得し、取得した情報をLAGハッシュ演算部314に出力することで、フレームのハッシュ値を得る。以下の説明において、ハッシュ演算対象となる情報を、ハッシュ演算キーと表記する。本実施例3では、ハッシュ演算キーのデータサイズを128ビットに統一するものとする。
フレームAのハッシュルールは「VID」であり、VLANオフセットは「12」である。転送先制御部316は、VLANオフセットに基づいて、VIDを格納するフレームA内の位置を特定し、特定した位置の情報を取り出す。そして、転送先制御部316は、ハッシュ演算キーのMSB(Most Significant Bit)側から、VIDの情報を格納し、0のビット列を残りに付加することで、128ビットのハッシュ演算キーを生成する。
フレームBのハッシュルールは「MACアドレスとIPアドレス」であり、IPオフセットは「26」である。転送先制御部316は、フレームBのMACアドレスに格納された情報を特定し、特定した情報を取り出す。MACアドレスは、フレームの先頭に格納されているものとする。また、転送先制御部316はIPオフセットに基づいて、IPアドレスを格納するフレームBの位置を特定し、特定した位置の情報を取り出す。
ただし、MACアドレスは96ビット、IPアドレスは64ビットであるため、MACアドレスとIPアドレスに対応する情報をそのまま加工すると、160ビットとなり、ハッシュ演算キーのデータサイズを超えてしまう。このため、例えば、転送先制御部316は、MACアドレスとして、MACアドレス中のDA(Destination address)・SA(Source address)の各LSB(Least Significant Bit)から32ビットずつ取り出してもよい。DA・SAから32ビットずつ取り出すことで、MACアドレスの情報を64ビットにでき、MACアドレスとIPアドレスに対応する情報を合計128ビットに抑えることができる。なお、結果的に、MACアドレスとIPアドレスに対応する情報を合計128ビットに抑えることができるのなら、転送先制御部316は、MACアドレスとIPアドレスをどのように加工してもよい。
フレームCのハッシュルールは「MPLSラベル」であり、MPLSオフセットは「112」、付加情報は「3」である。転送先制御部316は、MPLSオフセットに基づいて、フレームCのMPLSラベルに格納された情報を特定する。また、付加情報が「3」であるため、転送先制御部316は、MPLSラベルのうち、3段分のMPLSラベルを取り出す。転送先制御部316は、取り出した情報に0のビット列を付加することで、128ビットのハッシュ演算キーを生成する。
転送先制御部316は、フレームA〜Cのハッシュ演算キーを取得した後に、取得したハッシュ演算キーをLAGハッシュ演算部314に出力する。そして、転送先制御部316は、LAGハッシュ演算部314からフレームA〜Cのハッシュ値を取得する。例えば、フレームAのハッシュ値を「0」、フレームBのハッシュ値を「1」、フレームCのハッシュ値を「7」とする。
転送先制御部316は、フレームのフローIDおよびハッシュ値の組合せと、宛先管理テーブル315とを比較することで、フレームA〜Cの物理回線ポートを判定する。フレームAのフローIDは「10」、ハッシュ値は「0」であるため、図10に示すように、物理回線ポート番号は「2」となる。転送先制御部316は、物理回線ポート番号「2」に対応する物理回線ポートにフレームAを送信する。
フレームBのフローIDは「20」、ハッシュ値は「1」であるため、物理回線ポート番号は「3」となる。転送先制御部316は、物理回線ポート番号「3」に対応する物理回線ポートにフレームBを送信する。フレームBのフローIDは「1」、ハッシュ値は「7」であるため、物理回線ポート番号は「7」となる。転送先制御部316は、物理回線ポート番号「7」に対応する物理回線ポートにフレームCを送信する。
次に、ハッシュ実施判定フラグが「0」となる場合の回線IF部310の処理について説明する。ここでは一例として、フレームDを用いて説明する。フレームDのサービスタイプをサービスタイプ2(TPID:0x8100、VID:Don't care)とする。
フロー識別部313は、フレームDとフロー識別テーブル311とを比較して、各フレームに対応するフローIDとフロー情報とを判定する。図8に示すように、フレームDのフローIDは「19」、その他のオフセットは「0」となる。
フロー識別部313は、フレームDのフローIDとフロー情報とを判定した後に、フローIDとハッシュルールテーブル312とを比較して、フレームDのハッシュルールを判定する。フレームDのフローIDは「19」であるため、ハッシュルールは所定のハッシュ値となる。例えば、所定のハッシュ値を「0」とする。
フロー識別部313は、判定結果となるフレームDのフローIDとフロー情報、ハッシュルールを、フレームDと対応付けて転送先制御部316に出力する。
転送先制御部316は、フレームDのハッシュ実施判定フラグを参照し、フレームDのハッシュ値を演算するか否かを判定する。ここでは、フレームDのハッシュ実施判定フラグが「0」であるため、各フレームDのハッシュ演算を行わない。転送先制御部316は、ハッシュ演算を行わない場合には、フレームDのハッシュルールに格納されたハッシュ値をそのまま利用する。図9に示すように、フレームDのハッシュルールに格納されたハッシュ値は「0」である。
転送先制御部316は、フレームDのフローIDおよびハッシュ値の組合せと、宛先管理テーブル315とを比較することで、フレームDの物理回線ポートを判定する。図10に示すように、フレームDのフローIDは「19」、ハッシュ値は「0」であるため、物理ポート番号は「0」となる。転送先制御部316は、物理回線ポート番号「0」に対応する物理回線ポートにフレームDを送信する。
このように、ハッシュ実施判定フラグを「0」にしておくことで、ハッシュ演算を省略することができ、フレームの送信先を判定する時間を省略することができる。また、ハッシュ演算を行わないため、ハッシュ演算実施時と比較すると消費電力を抑えることもできる。
次に、回線IF部310が、サービスタイプが登録済みのフレームとサービスタイプが未登録のフレームとを取得した場合の処理について説明する。ここでは一例として、フレームEとフレームFとを用いて説明する。フレームEのサービスタイプをサービスタイプ4(MAC DA:0x123456789ABC MAC SA:0xDEF00FEDCBA9)とする。フレームFのサービスタイプを未登録のサービスタイプとする。
フロー識別部313は、フレームE,Fとフロー識別テーブル311とを比較して、各フレームに対応するフローIDとフロー情報とを判定する。フレームEのフローIDは「30」、ハッシュ実施判定フラグは「1」、各オフセットは「0」となる。フレームFのフローIDは「0」、ハッシュ実施判定フラグは「1」、各オフセットは「0」となる。
フロー識別部313は、フレームE,FのフローIDとフロー情報とを判定した後に、フローIDとハッシュルールテーブル312とを比較して、各フレームのハッシュルールを判定する。図9に示すように、フレームEのフローIDは「30」であるため、フレームEのハッシュルールは「フローID」となる。フレームFのフローIDは「0」であるため、フレームFのハッシュルールは「MACアドレス」となる。
フロー識別部313は、判定結果となる各フレームE,FのフローID、フロー情報、ハッシュルールを、各フレームE,Fと対応付けて転送先制御部316に出力する。
転送先制御部316は、フレームE,Fのハッシュ実施判定フラグを参照し、フレームE,Fのハッシュ値を演算するか否かを判定する。ここでは、フレームE,Fのハッシュ実施判定フラグが「1」であるため、転送先制御部316は、フレームE,Fのハッシュ値を演算する。
転送先制御部316は、LAGハッシュ演算部314を利用してハッシュ値を演算する。転送先制御部316は、フレームのハッシュルールに基づいて、ハッシュ演算対象となる情報をフレームから取得し、取得した情報をLAGハッシュ演算部314に出力することで、フレームのハッシュ値を得る。
フレームEのハッシュルールは「フローID」である。転送先制御部316は、フレームEに対応するフローID「30」に、0のビット列を付加することで、128ビットのハッシュ演算キーを生成する。
フレームFのハッシュルールは「MACアドレス」である。転送先制御部316は、フレームFのMACアドレスに格納された情報を特定し、特定した情報を取り出す。転送先制御部316は、取り出した情報に、0のビット列を付加することで、128ビットのハッシュ演算キーを生成する。
転送先制御部316は、フレームE,Fのハッシュ演算キーを取得した後に、ハッシュ演算キーをLAGハッシュ演算部314に出力する。そして、転送先制御部316は、LAGハッシュ演算部314からフレームE,Fのハッシュ値を取得する。例えば、フレームEのハッシュ値を「0」、フレームEのハッシュ値を「1」とする。
転送先制御部316は、フレームのフローIDおよびハッシュ値の組合せと、宛先管理テーブル315とを比較することで、フレームE,Fの物理回線ポートを判定する。図10に示すように、フレームEのフローIDは「30」、ハッシュ値は「0」であるため、物理回線ポート番号は「7」となる。転送先制御部316は、物理回線ポート番号「7」に対応する物理回線ポートにフレームEを送信する。
フレームFのフローIDは「0」、ハッシュ値は「1」であるため、物理回線ポート番号は「1」となる。転送先制御部316は、物理回線ポート番号「1」に対応する物理回線ポートにフレームFを送信する。
上述してきたように、本実施例3にかかる通信装置300の回線IF部310は、フローIDとハッシュ値との組合せに基づいて、フレームを物理回線ポートに振り分ける。したがって、各フレームの宛先が同一で、ハッシュ値が同一となる場合でも、特定の物理回線ポートにフレームが集中することを防止することができる。また、ハッシュ演算キーは、任意に設定が可能であり、例えば、MACアドレスとIPアドレスとを組み合わせたものをハッシュ演算キーに設定することができる。
また、本実施例3にかかる通信装置300は、ハッシュ実施判定フラグを「0」にしておくことで、ハッシュ演算を省略することができ、フレームの送信先を判定する時間の省略や消費電力を抑えることができる。
また、本実施例3にかかる通信装置300は、未登録のサービスタイプのフレームにフレームIDを割当て、ハッシュルールを設定している。したがって、未登録のサービスタイプのフレームを取得した場合にでも、取得したフレームを物理回線ポートに割り振ることができる。また、フレーム自体に格納された情報以外を用いた場合でも、ハッシュ演算キーを生成でき、フレームを物理回線ポートに割り振ることができる。上述の例では、フローIDを用いて、ハッシュ演算キーを生成する例を示した。
なお、CPUカード350は、フロー識別部313、フロー識別テーブル311、ハッシュルールテーブル321、LAGハッシュ演算部314、宛先管理テーブル315、転送先制御部316に設定した情報を、外部モニタ360に出力する。これにより、管理者は、フロー識別テーブル311、ハッシュルールテーブル312、宛先管理テーブル315に設定された情報を確認することができる。そして、例えば、物理回線ポートに障害が発生した場合には、管理者は、入力装置を操作して、障害の発生した物理回線ポートの番号を、宛先管理テーブル315から除外する。
ところで、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、回線IF部210〜230、SW部240、CPUカード250を同一のカード上に含ませてもよい。
ところで、図2に示した本実施例にかかる表示装置200の構成は、要旨を逸脱しない範囲で種々に変更することができる。例えば、回路IF部210の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、回路IF部210と同等の機能を実現することもできる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)ネットワークに接続されて、入力されたフレームのフローを識別し、前記フレームをいずれかのポートへ出力する通信装置であって、
前記入力されたフレームが属するフロー毎のフロー識別子を取得し、前記取得したフロー識別子に基づいて、フロー識別子毎のハッシュルールを取得するフロー識別部と、
前記フロー識別部で取得したハッシュルールにより前記入力されたフレームのハッシュ値を演算して取得し、前記取得したフロー識別子とハッシュ値との組み合わせに基づいて、前記入力されたフレームの出力ポートを決定する転送先制御部と、
前記転送先制御部で決定した前記出力ポートへ前記入力されたフレームを出力するフレーム出力部と、
を備えたことを特徴とする通信装置。
(付記2)前記フロー識別部は、前記フロー識別子に基づいて、ハッシュ値の演算の実施要否フラグを含むフロー情報を取得し、
前記転送先制御部は、前記取得したフロー情報に基づいて、前記ハッシュ値の演算が不要と判断した場合は、前記フロー識別子のハッシュ値の演算に変えて前記フロー識別子のハッシュルールを前記フロー識別子のハッシュ値とした
ことを特徴とする付記1に記載の通信装置。
(付記3)前記ハッシュルールは、前記フレームに含まれる情報のうち、ハッシュ演算対象となる情報を識別する情報を有し、前記転送先制御部は、演算対象となる情報を基にハッシュ値を演算することを特徴とする付記1または2に記載の通信装置。
(付記4)前記ハッシュルールは、前記フレームに含まれる情報のうち、ハッシュ演算対象となる情報を複数識別する情報を有し、前記転送先制御部は、演算対象となる情報を基にハッシュ値を演算することを特徴とする付記1または2に記載の通信装置。
(付記5)前記ハッシュルールは前記フロー識別子を含み、前記転送先制御部は、前記ハッシュルールがフロー識別子の場合に、フロー識別子に基づいてハッシュ値を算出することを特徴とする付記1〜4のいずれか一つに記載の通信装置。
(付記6)ネットワークに接続されて、入力されたフレームのフローを識別し、前記フレームをいずれかのポートへ出力する通信装置のフレーム送信方法であって、
前記入力されたフレームが属するフロー毎のフローの識別子を取得し、前記取得したフロー識別子に基づいて、フロー識別子毎のハッシュルールを取得するフロー識別工程と、
前記フロー識別工程で取得したハッシュルールにより前記入力されたフレームのハッシュ値を演算して取得し、前記取得したフロー識別子とハッシュ値とに基づいて、前記入力されたフレームの出力ポートを決定する転送先制御工程と、
前記転送先制御工程で決定した前記出力ポートへ前記入力されたフレームを出力するフレーム出力工程と、
を備えたことを特徴とする通信装置のフレーム送信方法。
(付記7)前記フロー識別工程は、前記フロー識別子に基づいて、ハッシュ値の演算の実施要否フラグを含むフロー情報を取得し、
前記転送先制御工程は、前記取得したフロー情報に基づいて、前記ハッシュ値の演算が不要と判断した場合は、前記フロー識別子のハッシュ値の演算に変えて前記フロー識別子のハッシュルールを前記フロー識別子のハッシュ値とした
ことを特徴とする付記6に記載のフレーム送信方法。
(付記8)コンピュータに、
前記入力されたフレームが属するフロー毎のフローの識別子を取得し、前記取得したフロー識別子に基づいて、フロー識別子毎のハッシュルールを取得するフロー識別手順と、
前記フロー識別手順で取得したハッシュルールにより前記入力されたフレームのハッシュ値を演算して取得し、前記取得したフロー識別子とハッシュ値とに基づいて、前記入力されたフレームの出力ポートを決定する転送先制御手順と、
前記転送先制御工程で決定した前記出力ポートへ前記入力されたフレームを出力するフレーム出力手順と、
を実行させることを特徴とするフレーム送信プログラム。
(付記9)前記フロー識別手順は、前記フロー識別子に基づいて、ハッシュ値の演算の実施要否フラグを含むフロー情報を取得し、
前記転送先制御手順は、前記取得したフロー情報に基づいて、前記ハッシュ値の演算が不要と判断した場合は、前記フロー識別子のハッシュ値の演算に変えて前記フロー識別子のハッシュルールを前記フロー識別子のハッシュ値とした
ことを特徴とする付記8に記載のフレーム送信プログラム。
100 通信装置
110 フロー識別部
120 転送先制御部
130 フレーム出力部

Claims (5)

  1. ネットワークに接続されて、入力されたフレームのフローを識別し、前記フレームをいずれかのポートへ出力する通信装置であって、
    前記入力されたフレームが属するフロー毎のフロー識別子を取得し、前記取得したフロー識別子に基づいて、フロー識別子毎のハッシュルールを取得するフロー識別部と、
    前記フロー識別部で取得したハッシュルールにより前記入力されたフレームのハッシュ値を演算して取得し、前記取得したフロー識別子とハッシュ値との組み合わせと、ハッシュ値とフロー識別子と出力ポートとを対応付けたテーブルとを基にして、前記入力されたフレームの出力ポートを決定する転送先制御部と、
    前記転送先制御部で決定した前記出力ポートへ前記入力されたフレームを出力するフレーム出力部と、
    を備えたことを特徴とする通信装置。
  2. 前記フロー識別部は、前記フロー識別子に基づいて、ハッシュ値の演算の実施要否フラグを含むフロー情報を取得し、
    前記転送先制御部は、前記取得したフロー情報に基づいて、前記ハッシュ値の演算が不要と判断した場合は、前記フロー識別子のハッシュ値の演算を行わず、予め設定された値を前記フロー識別子のハッシュ値とする
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記ハッシュルールは、前記フレームに含まれる情報のうち、ハッシュ演算対象となる情報を識別する情報を有し、前記転送先制御部は、演算対象となる情報を基にハッシュ値を演算することを特徴とする請求項1または2に記載の通信装置。
  4. 前記ハッシュルールは、前記フレームに含まれる情報のうち、ハッシュ演算対象となる情報を複数識別する情報を有し、前記転送先制御部は、演算対象となる情報を基にハッシュ値を演算することを特徴とする請求項1または2に記載の通信装置。
  5. ネットワークに接続されて、入力されたフレームのフローを識別し、前記フレームをいずれかのポートへ出力する通信装置のフレーム送信方法であって、
    前記入力されたフレームが属するフロー毎のフローの識別子を取得し、前記取得したフロー識別子に基づいて、フロー識別子毎のハッシュルールを取得するフロー識別工程と、
    前記フロー識別工程で取得したハッシュルールにより前記入力されたフレームのハッシュ値を演算して取得し、前記取得したフロー識別子とハッシュ値との組み合わせと、ハッシュ値とフロー識別子と出力ポートとを対応付けたテーブルとを基にして、前記入力されたフレームの出力ポートを決定する転送先制御工程と、
    前記転送先制御工程で決定した前記出力ポートへ前記入力されたフレームを出力するフレーム出力工程と、
    を備えたことを特徴とする通信装置のフレーム送信方法。
JP2009228848A 2009-09-30 2009-09-30 通信装置およびフレーム送信方法 Active JP4883160B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009228848A JP4883160B2 (ja) 2009-09-30 2009-09-30 通信装置およびフレーム送信方法
US12/894,813 US8493850B2 (en) 2009-09-30 2010-09-30 Communication apparatus and frame transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228848A JP4883160B2 (ja) 2009-09-30 2009-09-30 通信装置およびフレーム送信方法

Publications (2)

Publication Number Publication Date
JP2011077946A JP2011077946A (ja) 2011-04-14
JP4883160B2 true JP4883160B2 (ja) 2012-02-22

Family

ID=43780286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228848A Active JP4883160B2 (ja) 2009-09-30 2009-09-30 通信装置およびフレーム送信方法

Country Status (2)

Country Link
US (1) US8493850B2 (ja)
JP (1) JP4883160B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8842673B2 (en) * 2010-11-22 2014-09-23 Nec Corporation Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow
US9514091B2 (en) * 2012-08-12 2016-12-06 Avaya Inc. Link aggregation using digests
US8937945B2 (en) * 2012-09-12 2015-01-20 Alcatel Lucent Method and apparatus for optimizing usage of ternary content addressable memory (TCAM)
JP5929720B2 (ja) * 2012-11-14 2016-06-08 日立金属株式会社 通信システムおよびネットワーク中継装置
JP5811995B2 (ja) * 2012-12-10 2015-11-11 日立金属株式会社 通信システムおよびネットワーク中継装置
JP2014183482A (ja) * 2013-03-19 2014-09-29 Fujitsu Ltd 送受信システム、送信装置、受信装置、及び送受信システムの制御方法
US9509556B2 (en) 2013-04-23 2016-11-29 Telefonaktiebolaget L M Ericsson (Publ) Method and system for synchronizing with neighbor in a distributed resilient network interconnect (DRNI) link aggregation group
US9497132B2 (en) 2013-04-23 2016-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Method and system of implementing conversation-sensitive collection for a link aggregation group
US9553798B2 (en) 2013-04-23 2017-01-24 Telefonaktiebolaget L M Ericsson (Publ) Method and system of updating conversation allocation in link aggregation
CN104660504A (zh) * 2013-08-05 2015-05-27 Agh科学技术大学 计算机网络中进行封包多路径路由选择的装置及其方法
US9654418B2 (en) 2013-11-05 2017-05-16 Telefonaktiebolaget L M Ericsson (Publ) Method and system of supporting operator commands in link aggregation group
US9565114B1 (en) * 2014-03-08 2017-02-07 Google Inc. Weighted load balancing using scaled parallel hashing
US9813290B2 (en) 2014-08-29 2017-11-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for supporting distributed relay control protocol (DRCP) operations upon misconfiguration

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807179B1 (en) * 2000-04-18 2004-10-19 Advanced Micro Devices, Inc. Trunking arrangement in a network switch
JP2007180891A (ja) 2005-12-28 2007-07-12 Nec Corp 通信装置及びそれに用いるパケット送信制御方法並びにそのプログラム
JP5176604B2 (ja) * 2008-03-05 2013-04-03 富士通株式会社 通信装置および通信方法

Also Published As

Publication number Publication date
JP2011077946A (ja) 2011-04-14
US8493850B2 (en) 2013-07-23
US20110075559A1 (en) 2011-03-31

Similar Documents

Publication Publication Date Title
JP4883160B2 (ja) 通信装置およびフレーム送信方法
JP5958164B2 (ja) 制御装置、方法及びプログラム、並びにシステム及び情報処理方法
EP3248331B1 (en) Method for controlling switches to capture and monitor network traffic
JP5654142B2 (ja) ネットワーク・スイッチを構成するための方法
US9548896B2 (en) Systems and methods for performing network service insertion
US8774179B1 (en) Member link status change handling for aggregate interfaces
US9036636B1 (en) System and methods for managing network packet broadcasting
US9025459B2 (en) Network traffic load balancing
US9008080B1 (en) Systems and methods for controlling switches to monitor network traffic
US9882741B2 (en) Communication apparatus and communication method
US20140022894A1 (en) Network system, switch and connected terminal detection method
KR20120095405A (ko) 고성능, 저전력 데이터 센터 상호접속 패브릭에 대한 시스템 및 방법
US9787567B1 (en) Systems and methods for network traffic monitoring
TW201215041A (en) Method for routing data packets in a fat tree network
US9197442B2 (en) Relay apparatus and relay method
US9876738B2 (en) System and method for extending ports
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
EP4009596A1 (en) Message forwarding method, device, and system in sr network
US20160277251A1 (en) Communication system, virtual network management apparatus, communication node, communication method, and program
JP5995279B2 (ja) ネットワーク機器、方法、及びプログラム
WO2024093778A1 (zh) 一种报文处理方法以及相关装置
JP6236925B2 (ja) 伝送装置および伝送方法
US9264295B1 (en) Systems and methods for forwarding broadcast network packets with a controller
JP2010141845A (ja) 複数のサーバを有する通信装置及び通信方法
CN113285878A (zh) 负载分担的方法、第一网络设备

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111017

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4883160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150