JP5911108B2 - コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 - Google Patents

コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 Download PDF

Info

Publication number
JP5911108B2
JP5911108B2 JP2013503438A JP2013503438A JP5911108B2 JP 5911108 B2 JP5911108 B2 JP 5911108B2 JP 2013503438 A JP2013503438 A JP 2013503438A JP 2013503438 A JP2013503438 A JP 2013503438A JP 5911108 B2 JP5911108 B2 JP 5911108B2
Authority
JP
Japan
Prior art keywords
switch
name
iscsi
packet
computer system
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
JP2013503438A
Other languages
English (en)
Other versions
JPWO2012120990A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2012120990A1 publication Critical patent/JPWO2012120990A1/ja
Application granted granted Critical
Publication of JP5911108B2 publication Critical patent/JP5911108B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for 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
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

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

Description

本発明は、コンピュータシステム、通信方法に関し、特に、オープンフロープロトコルを利用したコンピュータシステムにおけるフロー制御方法に関する。
コンピュータの発展に伴い、高速で大容量な補助記憶装置の需要は高まる一方である。特に大規模なコンピュータを扱う場合などは、記憶装置を集合させたストレージ(ディスクアレイ)をSAN(Storage Area Network;記憶領域ネットワーク)に接続して利用する形態が多数利用されている。
SANの中でもiSCSI(Internet Small Computer System Interface)を用いたSANは、装置コストが比較的安価なことと、既設のインフラを有効活用できることから今後ますます発展する市場として注目されている。
iSCSIを利用したSANに関する技術が、例えば特開2005−151437に記載されている(特許文献1参照)。特許文献1に記載のシステムでは、SCSIコマンドがカプセル化されたことを示す情報をTCP(Transmission Control Protocol)パケットのヘッダに格納し、これを参照することで、SCSIコマンドを抽出しなくてもSCSIコマンドがカプセル化されたパケットか否かを判断できる。
iSCSIでは、SCSIプロトコルの下層でTCP/IPの技術を利用していることから、発明者は、iSCSIを利用したシステムにオープンフロープロトコルを適用することで、適応度(柔軟性)の高いフロー制御が可能となるものと予想している。
ここでオープンフロープロトコルとは、OpenFlow Consortiumによって提案されているフロー単位で経路制御を行う方法である(非特許文献1参照)。オープンフロープロトコルでは、MACアドレス、IPアドレス、ポート番号などの組み合わせによって決定される、ある点からある点への一連の通信を「フロー」と定義する。オープンフロープロトコルを利用した場合、送り元と送り先の情報で画一的に経路を決定するのではなく、フロー毎に経路を変更することが可能となる。またその経路も隣接する機器同士だけでなく、End to End(終端から終端)で管理が行われる。
しかし現在、オープンフロープロトコルを利用したスイッチ(以下、オープンフロースイッチと称す)は、OSI参照モデルにおけるレイヤ1からレイヤ4のTCP層までしか扱うことができず、その上のiSCSI層は扱えない。iSCSI層もOSI参照モデルではレイヤ4にあたるが、TCP層より上のレイヤなので従来のオープンフロースイッチでは認識することができない。このため、現在のオープンフローシステムでは、iSCSI層のSCSIネーム(イニシエータネームや、ターゲットネーム)を活用したフロー制御を行うことができない。
より柔軟にフロー制御を行うためには、オープンフロースイッチがiSCSI層の情報を扱えると良い。特にオープンフロースイッチがiSCSIネームを扱えると、iSCSIネームに応じたフロー制御ができるので有用性が高い。その一方、iSCSIネームを利用してフロー制御ができない場合、イニシエータやターゲット別にフロー制御することができなくなるため、適応度の高いネットワークの構築や、SANにおける論理ディスクの効率的な利用が困難となる。
一方、TCPを利用したフロー制御に関する技術が、例えば特開2006−129487(特許文献2参照)や特開平11−239163(特許文献3参照)に記載されている。特許文献2には、TCPパケットのオプションフィールドを利用してサーバと接続する端末機を区別するシステムが記載されている。又、特許文献3には、LAN間のフロー制御をスイッチによって行われる技術が記載されている。
特開2005−151437 特開2006−129487 特開平11−239163
OpenFlow Switch Specification Version 1.0.0 (Wire Protocol 0x01) December 31, 2009
以上のことから、本発明の目的は、コンピュータシステムの適応度を高めることにある。
本発明の他の目的は、TCP層よりも上位のプロトコルに応じたフロー制御が可能なコンピュータシステムを提供することにある。
本発明によるコンピュータシステムは、オープンフローコントローラと、オープンフローコントローラによって設定されたフローエントリに適合する受信パケットに対し、当該フローエントリで規定された中継動作を行うオープンフロースイッチと、オープンフロースイッチに接続されたホストとを具備する。ホストは、トランスポート層においてTCP層より上位のプロトコル情報を、TCPヘッダのオプション領域に含めたパケットを送信する。オープンフローコントローラは、プロトコル情報に応じた転送先を規定したフローエントリをスイッチに設定する。オープンフロースイッチは、受信パケットのTCPヘッダに含まれるプロトコル情報に適合するフローエントリに従った転送先に、受信パケットを転送する。
本発明による通信方法は、ホストが、トランスポート層においてTCP層より上位のプロトコル情報をTCPヘッダに含めたパケットを送信するステップと、オープンフローコントローラが、プロトコル情報に応じた転送先を規定したフローエントリをスイッチに設定するステップと、オープンフローコントローラによって設定されたフローエントリに適合する受信パケットに対し、オープンフロースイッチが、受信パケットのTCPヘッダに含まれるプロトコル情報に適合するフローエントリに従った転送先に、受信パケットを転送するステップとを具備する。
本発明によれば、コンピュータシステムの適応度を高めることができる。
又、TCP層よりも上位のプロトコルに応じたフロー制御が可能となる。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明によるコンピュータシステムの構成の一例を示す図である。 図2は、本発明によるイニシエータ又はターゲットによって生成及び転送されるパケットの構造の一例を示す図である。 図3は、一般的なTCPパケットのデータデザインを示す図である。 図4Aは、本発明によるTCPヘッダのオプション領域に格納されたiSCSI情報のデータデザインの一例を示す図である。 図4Bは、本発明によるTCPヘッダのオプション領域に格納されたiSCSI情報のデータデザインの他の一例を示す図である。 図4Cは、本発明によるTCPヘッダのオプション領域に格納されたiSCSI情報のデータデザインの他の一例を示す図である。 図5は、本発明によるオープンフローコントローラの構成の一例を示す図である。 図6は、本発明によるオープンフローコントローラにおいて設定される経路情報の構造の一例を示す図である。 図7は、本発明によるオープンフローコントローラにおいて設定及び管理されるフローテーブルの構造の一例を示す図である。 図8は、本発明によるオープンフローコントローラにおいて設定されるフローエントリ(ルール+アクション)の一例を示す図である。 図9は、本発明によるオープンフロースイッチの構成の一例を示す図である。 図10は、本発明によるコンピュータシステムにおけるパケット転送動作の一例を示す図である。
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。又、同様な構成が複数ある場合は、符号に追番を付して説明し、複数の構成を区別せずに説明する場合は、追番のない符号を付して説明する。
(概要)
本発明によるイニシエータは、レイヤ4(トランスポート層)においてTCP層よりも上位のプロトコル情報(例えばiSCSIネーム)をTCPヘッダのオプション領域に格納したパケットデータ(パケット)を転送する。オープンフローコントローラ(以下、コントローラと称す)は、TCP層よりも上位のプロトコル情報をルールとしたフローエントリを、オープンフロースイッチ(以下、スイッチと称す)に設定する。オープンフロースイッチ(以下、スイッチと称す)は、受信パケットのTCPヘッダを参照し、当該ヘッダに適合するフローエントリで規定された転送先に当該受信パケットを転送する。これにより、本発明によるコンピュータシステムは、TCP層よりも上位のプロトコル情報によって規定されるフローを制御することが可能となり、適応度(柔軟性)の高いフロー制御を実現する。以下の実施例では、プロトコル情報としてiSCSIネームを利用してフロー制御を行うコンピュータシステムについて説明する。
(コンピュータシステムの構成)
図1から図9を参照して、本発明によるコンピュータシステムの構成の一例を説明する。図1は、本発明によるコンピュータシステムの構成の一例を示す図である。図1を参照して、本発明によるコンピュータシステムは、サーバ100(ホスト)、ストレージ200(記憶装置、ホスト)、コントローラ300、複数のスイッチ40−1〜40−4によって形成されるスイッチネットワーク400を具備する。例えば、サーバ100とストレージ200は、回線600(例えばEthernet(登録商標) LAN)で接続されたスイッチネットワーク400を介して接続されることで、SANを構成する。
サーバ100は、イニシエータ101−1、101−2、・・・を備えるコンピュータ装置である。イニシエータ101−1、101−2、・・・のそれぞれは、ソフトウェア、ハードウェア、あるいは両者の組合せにより実現できる。イニシエータ101は、ネットワークカード(Network Interface Card NIC)などのSCSIデバイスドライバを備えるiSCSIイニシエータに例示される。イニシエータ101は、SCSIコマンドやSCSIデータをTCPパケットにカプセル化してターゲット201に送信する。この際、イニシエータ101は、レイヤ4においてTCP層よりも上位のプロトコル情報をTCPヘッダのオプション領域に格納したパケットをターゲット201に転送する。
ストレージ200は、ターゲット201−1、201−2、・・・を備える記憶装置である。ターゲット201−1、201−2、・・・のそれぞれは、ソフトウェア、ハードウェア、あるいは両者の組合せにより実現できる。例えば、ターゲットは、論理ディスクなどのストレージデバイスである。ターゲット201は、SCSIコマンドに対するレスポンスをTCPパケットにカプセル化してイニシエータ101に送信する。この際、ターゲット201は、レイヤ4においてTCP層よりも上位のプロトコル情報をTCPヘッダのオプション領域に格納したパケットをイニシエータ101に転送する。
図2は、本発明によるイニシエータ又はターゲットによって生成及び転送されるパケット構造の一例を示す図である。ここでは、iSCSIプロトコルに従ったパケットの構造について例示する。図2を参照して、パケット110は従来のパケットであり、パケット210は、本発明によるイニシエータ101又はターゲット201によって生成及び転送されるパケットである。パケット110は、レイヤ2のヘッダを持つPDU(Protocol Data Unit)であり、SCSI層以上(TCP層より上位)のデータ領域111、iSCSI層のヘッダ領域112(以下、iSCSI層ヘッダ112と称す)、TCP層のヘッダ領域113(以下、TCP層ヘッダ113と称す)、IP層以下のヘッダ領域114(以下、IP層ヘッダ114と称す)を備える。イニシエータ101又はターゲット201は、従来パケット110ではiSCSI層ヘッダ112に格納するはずのiSCSIプロトコルに関する情報(iSCSI情報115、例示:SCSIネーム)を、TCP層ヘッダ113に格納し、パケット210として転送する。この際、パケット110におけるiSCSI層ヘッダ112とデータ領域111は、パケット210においてiSCSI層以上(TCP層より上位)のデータ領域211として利用される。これにより、パケット210は、iSCSI層以上(TCP層より上位)のデータ領域211、TCP層ヘッダ113IP層ヘッダ114を備えるPDUとしてスイッチネットワーク400に転送されることとなる。
ここで、iSCSI情報115は、iSCSIノード(例えばイニシエータ101やターゲット201)の識別や管理のために利用されるiSCSIネームが好適である。iSCSIネームは、iSCSIノードのロケーションに依存せず、iSCSIノードに対して固有に割り当てられている。SCSIプロトコルでは、IPドメイン名を使用したiSCSI Qualified NameとIEEEの64ビットExtended Unique Identifierを使用したIEEE EUI−64 Formatが利用される。例えば、iSCSI情報115は、タイプ識別子“iqn.”、ドメイン取得日、ドメイン名、ドメイン取得者が付与された文字列によって構成される。
図1に示す構成では、サーバ100にはイニシエータ101のみが設けられているが、これに限らず、ターゲットの機能を持つ構成(例えばネットワークアダプタ)が設けられることが好ましい。又、図1に示す構成では、ストレージ200にはターゲット201のみが設けられているが、これに限らず、イニシエータの機能を持つ構成(例えばネットワークアダプタ)が設けられることが好ましい。
図3は、一般的なTCPパケットのデータデザインを示す図である。図3を参照して、TCP層ヘッダ113は、送信元ポート番号、宛先ポート番号、シーケンス番号、確認応答番号、ヘッダ長、コードビット(URG、ACK、PSH、RST、SYN、FIN)、ウィンドウサイズ、チェックサム、緊急ポインタ、オプション、データが格納されるフィールド有する。ここで、オプションが格納されるフィールド(以下、オプション領域と称す)は、通常、TCP接続の特性を設定するために利用される160バイトから可変長のフィールドであるが、本発明では、iSCSI情報115を格納する領域として利用される。TCP層ヘッダ113のオプション領域には、TCPのコネクション毎にiSCSI情報115が格納されることが好ましい。
図4は、本発明によるTCPヘッダのオプション領域に格納されたiSCSI情報115のデータデザインの一例を示す図である。図4Aは、iSCSI情報115としてイニシエータネームとターゲットネームを格納した場合のオプション領域のデータデザインを示す。図4Bは、iSCSI情報115としてイニシエータネームのみを格納した場合のオプション領域のデータデザインを示す。図4Cは、iSCSI情報115としてターゲットネームのみを格納した場合のオプション領域のデータデザインを示す。
オプション種別は、現在規定されていない“30〜252”のいずれかを用いることが好適である。本実施例では“151”を利用することとする。
オプション長は、オプション種別とオプション長の領域も含めたオプション領域の全てのサイズであり、通常は512バイトである。オプション種別、オプション長はそれぞれ1バイトである。図4Aを参照して、iSCSI情報115として格納されるイニシエータネームとターゲットネームのそれぞれのサイズは255バイトである。iSCSIネーム(イニシエータネーム又はターゲットネーム)が255バイトに満たない場合、オプション長の終端から255バイト分の領域のうちiSCSIネームが格納されない空き領域は“0x00”によって埋められる(0パティング)。又、同様に、iSCSIネーム及び“0x00”が格納された255バイト分の領域の終端から更に255バイト分の領域のうち、iSCSIネームが格納されない空き領域は“0x00”によって埋められる。尚、イニシエータネーム、ターゲットネームのそれぞれが255バイトである場合、終端として0x00は挿入されない。
図4Bを参照して、iSCSI情報115として格納されるイニシエータネームのサイズは255バイトであり、空き領域(255バイト)は0x00で埋められる。図4Cを参照して、iSCSI情報115として格納されるターゲットネームのサイズは255バイトであり、空き領域(255バイト)は“0x00”で埋められる。iSCSIネーム(イニシエータネーム又はターゲットネーム)が255バイトに満たない場合も同様に、空き領域はパディング“0x00”で埋められる。尚、iSCSIネームは2種類両方とも格納するのが本実施例の動作である。
コントローラ300は、セキュアチャネルネットワークである制御インタフェース500を介して、複数のスイッチ40−1〜40−4のそれぞれに接続される。コントローラ300は、オープンフロープロトコルに従って、複数のスイッチ40−1〜40−4のそれぞれにフローエントリを設定することで、複数のスイッチ40−1〜40−4のいずれかを介したサーバ100−ストレージ200間の通信フローを制御する。又、本発明によるコントローラ300は、TCP層の上層のプロトコル情報をルールとしたフローエントリをスイッチ40に設定することで、例えば、イニシエータ−ターゲット間のフローを制御することができる。
コントローラ300は、オープンフロー技術により、システム内におけるパケット転送に係る通信経路の構築及びパケット転送処理を制御する。ここで、オープンフロー技術とは、コントローラ300が、ルーティングポリシー(フローエントリ:フロー+アクション)に従い、マルチレイヤ及びフロー単位の経路情報を通信経路上のスイッチ40に設定し、経路制御やノード制御を行う技術を示す(詳細は、非特許文献1を参照)。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ40は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、END2ENDのフローとして通信を取り扱う。
図5を参照して、本発明に係るコントローラ300の構成の詳細を説明する。コントローラ300は、CPU及び記憶装置を備えるコンピュータによって実現されることが好適である。コントローラ300では、図示しないCPUが記憶装置に格納されたプログラムを実行することで、図5に示す経路計算部31、フロー制御部32の各機能が実現される。又、コントローラ300は、図示しない記憶装置に経路情報33やフローテーブル34を記録する。
又、コントローラ300は、自身が制御するスイッチ40の位置や接続状況に関する情報(物理トポロジ情報)を図示しないトポロジ情報として保持する。トポロジ情報は、例えば、スイッチ40やホスト(例えば、サーバ100やストレージ200)のそれぞれのポート間の接続状況に関する情報を含む。
経路計算部31は、スイッチ40から通知されるファーストパケットのヘッダ情報と、図示しないトポロジ情報を用いて、当該パケットを転送するための通信経路を算出する。算出結果は、経路情報33として図示しない記憶装置に記録される。ここでは、通信経路の端点となるノード(例えばイニシエータやターゲット)と、通信経路上のスイッチを特定する情報が設定される。
図6は、本発明によるオープンフローコントローラにおいて設定される経路情報33の構造の一例を示す図である。図6を参照して、経路情報33は、後述するフローエントリ(ルール+アクション)を適用する通信経路を特定する情報であり、フローエントリに紐付けられたフロー識別子341に対応付けられて記録される端点情報331、通過スイッチ情報332、付随情報333を含む。端点情報331は、通信経路の端点となるノードを指定する情報である。通過スイッチ情報332は、通信経路上のスイッチ40とスイッチ間の接続ポート対を指定する情報である。付随情報333は、端点が変更された場合、端点が変更された後の経路上のスイッチ40(通過スイッチ)に関する情報を含む。例えば、通信経路がノード間を接続する経路である場合、通信経路の両端点となるノードのそれぞれのMACアドレス対が端点情報331として記録される。通過スイッチ情報332は、端点情報331で示される端点間の通信経路上に設けられるスイッチ40の識別子(例えばDataPath ID:DPID)を含む。又、通過スイッチ情報332は、スイッチに設定されるフローエントリ(ルール+アクション)と当該スイッチとを紐付けるための情報を含んでも良い。
フロー制御部32は、Modify Flow Entry Messageによって、算出された通信経路上のスイッチ40に対してフローエントリ(ルール+アクション)の設定、変更、又は削除を行う。これにより、スイッチ40は、受信パケットのヘッダ情報に応じたルールに対応するアクション(例えばパケットデータの中継や破棄)を実行する。フロー制御部32は、スイッチ40からのファーストパケットの通知に応じてスイッチ40に対するフローエントリの設定を行う。フロー制御部32における通信経路の設定、フローエントリの設定及び管理は、非特許文献1に記載のオープンフロープロトコルに準拠して行われるが、後述する動作の一部(例えばTCP層の上位にあるプロトコル情報をルールとする構成)については、当該プロトコルで規定されていない。
フローエントリに設定されるルールには、例えば、TCP/IPのパケットデータにおけるヘッダ情報に含まれる、OSI(Open Systems Interconnection)参照モデルのレイヤ1からレイヤ4のアドレスや識別子の組み合わせが規定される。例えば、レイヤ1の物理ポート、レイヤ2のMACアドレス、レイヤ3のIPアドレスやプロトコル、レイヤ4のポート番号、VLANタグ(VLAN id)のいずれかの組み合わせがルールとして設定される。
更に、本発明によるフロー制御部32は、トランスポート層におけるTCP層の上位にあるプロトコル情報も、フローエントリで規定するルールとして設定する。例えば、iSCSI層におけるiSCSIネーム(イニシエータネーム、ターゲットネーム)が、単独で、あるいは上記のアドレスや識別子との組合せとして、ルールとして設定される。
フローエントリに設定されるアクションには、例えばTCP/IPのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先(例えばパケットの出力先ポート番号)が設定される。又、アクションとして、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
スイッチ40に設定される(又は設定された)フローエントリは、フロー制御部32によってフローテーブル34に記録され、コントローラ300において管理される。図7は、本発明によるコントローラにおいて設定及び管理されるフローテーブル34の構造の一例を示す図である。フローテーブル34には、設定対象となるスイッチ40の識別子(例えばDPID)を示す対象装置342と、当該スイッチ40に設定されるフローエントリ340とが、フローエントリを特定するためのフロー識別子341に対応づけられて記録される。フローエントリ340には、ルール343及びアクション情報344が設定される。フロー制御部32は、フローテーブル34を参照することで、スイッチ40にどのようなフローエントリ340が設定されているかを把握することができる。又、図4には図示しないが、フローテーブル34は、対象装置342であるスイッチ40にフローエントリ340を設定したか否かを示す情報が含まれても良い。
図8は、コントローラ300(フロー制御部32)によってスイッチ40に設定されるフローエントリの一例を示す図である。本発明では、レイヤ4においてTCP層よりも上位のプロトコルの情報をルールとすることが可能である。図5に示す一例では、TCP層の上位にあるiSCSI層のiSCSIネームとIPアドレスとの組合せをルールとし、ルートAを通信経路としてパケット転送することをアクションとしたフローエントリが、ルートA上のスイッチ40−2、40−4に設定される。詳細には、送信元IPアドレス“1.0.0.2”、送信先IPアドレス“1.0.0.2”、イニシエータネーム“iqn.2000−01.com. ABC:0123abcd”、ターゲットネーム“iqn.2000−01.com. ABC:01:xxxx−xx”がルールとして規定され、“該当パケットをルートAに転送するための出力先ポート番号に出力すること”がアクションとして規定される。
スイッチ40は、コントローラ300によって設定(更新)されたフローエントリに従って、受信パケットに対する処理方法(アクション)を決定する。受信パケットに対するアクションとして、例えば、他のスイッチ40への転送やパケット破棄がある。
図9は、本発明によるスイッチ40の構成の一例を示す図である。図6を参照して、スイッチ40は、スイッチ処理部41、フローテーブル42、スイッチ制御部43を備える。スイッチ処理部41は、回線600を収容し、収容した回線を介して転送されるパケットに対するスイッチ機能を実現する。スイッチ制御部43は、制御インタフェース500を介してコントローラ300に接続され、コントローラ300からの指示に応じてフローテーブル42へのフローエントリの設定を制御する。スイッチ処理部41は、フローテーブル42に設定されたフローエントリに従って、受信パケットに対する処理を決定する。詳細には、スイッチ処理部41は、受信パケットのヘッダ情報に適合するルールがフローテーブル42に設定されている場合、当該ルールを含むフローエントリに規定されたアクションを実行する。一方、受信パケットのヘッダ情報に適合するルールがフローテーブル42に設定されていない場合、スイッチ処理部41は、当該パケットデータをファーストパケットとして、スイッチ制御部43に通知する。スイッチ制御部43は、ファーストパケットを、制御インタフェース500を介してコントローラ300に送信する。
ここで、本発明に係るスイッチ処理部41は、非特許文献1に規定されたヘッダ情報だけではなく、TCPヘッダのオプション領域内の情報も、受信パケットに適合するフローエントリの検索に利用する。例えば、スイッチ処理部41は、図2に示すパケット210を受信した場合、IP層以下ヘッダ114及びTCP層ヘッダ113のみならず、TCP層ヘッダ113のオプション領域に格納されたiSCSI情報115を抽出し、フローテーブル42に登録されたフローエントリ(のルール)と照合する。ここで、スイッチ処理部41は、iSCSI情報115に一致するプロトコル情報をルールとして規定したフローエントリがフローテーブル42に存在した場合、当該フローエントリに従った転送先に、受信パケットを転送することができる。この場合、iSCSI情報115に対応する通信経路に受信パケットが転送されることとなる。
あるいは、スイッチ処理部41は、特定のプロトコルのヘッダ情報があったことを条件に、TCP層ヘッダ113のオプション領域を参照し、iSCSI情報115を確認してもよい。例えば、このようなiSCSI情報115の確認条件は、コントローラ300によるフローエントリの登録とともに設定されることが好ましい。
以上のような構成により、本発明によるコンピュータシステムによれば、レイヤ4においてTCP層よりも上位のプロトコル(例えばiSCSIプロトコル)によって特定されるイニシエータとターゲットとの間の通信制御(フロー制御)を、オープンフロープロトコルを利用して実現することが可能となる。例えば、特定のターゲットへの通信接続をコントローラ300によって制御できるため、ターゲットが移動した場合のフローの変更を容易に行うことが可能となる。又、ターゲットの追加や拡張にも容易に対応することが可能となる。
(動作) 図10を参照して、本発明によるコンピュータシステムのパケット転送動作の詳細を説明する。図10は、本発明によるコンピュータシステムにおけるパケット転送動作の一例を示す図である。ここでは、一例として、図4Aに示すTCPヘッダを持つパケット210が、イニシエータ101−1からターゲット201−1に転送されるときの動作を説明する。
図10を参照して、イニシエータ101は、イニシエータネームとターゲットネームをTCPヘッダのオプション領域に格納したパケット210を転送する(ステップS1)。本発明では、iSCSI層のイニシエータ101が転送データをTCP層に受け渡す際、オプション領域のデータを指定する。ここでは、図4Aに示すデータデザインのiSCSI情報115(イニシエータネーム及びターゲットネーム)が、オプション領域のデータとして指定される。
イニシエータ101から転送されたパケット210は、先ずスイッチ40−2に入力される。スイッチ40−2は、受信したパケット210に適合するフローエントリが自身のフローテーブル42に登録されているかを確認する。ここでは、パケット210のレイヤ1からレイヤ4のTCP層(オプション領域を含む)までのヘッダ情報が、フローテーブル42に設定されたルールに適合するかが確認される。
パケット210についてのフローエントリがフローテーブル42に登録されていない場合、スイッチ40−2は、パケット210を、ファーストパケットとしてコントローラ300に送信する(ステップS2)。
コントローラ300は、通知されたパケット210のヘッダ情報に基づいてパケット210の転送経路を算出するとともに、スイッチ40に設定するフローエントリをスイッチ40に設定する(ステップS3、S4)。詳細には、コントローラ300は、TCPヘッダにおけるオプション領域を参照し、iSCSI情報115が格納されていることを確認する。これにより、コントローラ300は、パケット210がiSCSIプロトコルに従ったデータであることを認識する。次に、コントローラ300は、パケット210に格納されたiSCSI情報115と他のヘッダ情報(例えばIPアドレスやMACアドレス)に基づいて特定した端点間の通信経路を算出する(ステップS3)。続いてコントローラ300は、iSCSI情報115と他のヘッダ情報との組合せをルールとし、算出した通信経路を転送することをアクションとしたフローエントリを、当該通信経路上のスイッチ40に設定する(ステップS4)。
本一例では、通信経路の算出フェーズにおいて、経路長が一番短くなるよう、スイッチ40−4を経由してストレージ200へ到達する経路(ルートAとする)が選択される。又、コントローラ300は、この経路を、スイッチ側でパケット210の送信元IPアドレスと送信先IPアドレス、TCPヘッダにおけるオプション領域のイニシエータネームとターゲットネームの情報で識別するように規定する。この場合、例えば図8に示すように、“送信元IPアドレスが1.0.0.1で、送信先IPアドレスが1.0.0.2の場合、TCPオプション領域を参照し、イニシエータネームがiqn.2000−01.com.nec:0123abcd、ターゲットネームがiqn.2000−01.com.nec:01:xxxx−xxの場合にはルートAへ送信する”ことを規定したフローエントリが、通信経路上のスイッチ40−1、40−2に設定される。ここでスイッチ40に設定されるパケット210の出力先はスイッチによって異なり、例えば、算出された通信経路に送信するための出力先となるポート番号がアクションに規定される。
フローエントリの設定により、スイッチ40−2、40−4は、送信元IPアドレスが1.0.0.1で、送信先IPアドレスが1.0.0.2のパケットに対しオプション領域を参照してフローエントリとの照合を行うこととなる。
スイッチ40−2は、コントローラ300によって設定されたフローエントリに従い、パケット210をルートAに出力する(ステップS5)。ここでは、スイッチ40−2は、ルートA上のスイッチ40−4に接続するポートからパケット210を出力する。スイッチ40−4は、受信したパケット210の送信元IPアドレスが“1.0.0.1”で、送信先IPアドレスが“1.0.0.2”であるため、TCPヘッダのオプション領域を参照する。ここで、オプション領域にはイニシエータネームがiqn.2000−01.com.nec:0123abcd、ターゲットネームがiqn.2000−01.com.nec:01:xxxx−xxが含まれる。このため、スイッチ40−4は、受信パケットがステップS4において設定されたフローエントリに適合すると判断し、当該フローエントリで規定されたルートAにパケット210を出力する(ステップS6)。ここでは、スイッチ40−4は、ルートA上のストレージ200に接続するポートからパケット210を出力する。
ストレージ200は、受信したパケット210パケットにおけるデータ領域211を参照してターゲットネームを確認し、対応するターゲット201に出力する(ステップS7)。あるいは、ストレージ200は、受信したパケット210パケットにおけるTCP層ヘッダ113のオプション領域を参照してターゲットネームを確認してもよい。この場合、イニシエータ101は、データ領域211にターゲットネームを挿入しなくてもよいため、データ領域211の格納領域を従来のパケット110よりも大きくすることができる。
ここでは、パケット210に含まれるターゲットネーム“iqn.2000−01.com.nec:01:xxxx−xx”を持つターゲット201−1に当該パケット210が送られる。
ターゲット201−1は、パケット210にSCSIコマンドが含まれる場合、レスポンスをパケットにカプセル化するとともに、上述と同様に自身のターゲットネームと送信元のイニシエーションネームをiSCSI情報115としてTCP層ヘッダ113に格納したパケット210を、サーバ100宛てに送信する。パケット210の転送手順は、上述と同様であるため省略する。
以降、イニシエータ101−1とターゲット201−1との間において、コントローラ300によって設定されたルートAを経由してTCP/IPパケット通信が行われることとなる。
以上のように、本発明によるコンピュータシステムでは、オープンフロープロトコルを利用してイニシエータやターゲット別にフローを制御することができるため、以下のような効果がある。
(1)イニシエータから見て、ターゲットとなる論理ディスクが複数存在する構成において、ターゲット別にフローを制御できる。
(2)スケーラブルな構成の場合において、ターゲットのIPアドレスが変更される場合(ターゲットとなる論理ディスクが物理的なストレージ間を移動した場合など)に、適応的にフローを制御できる。この際、コントローラ300は、移動先の情報に応じて、新たな通信経路の算出及びフローエントリの設定を行うとともに、経路情報33及びフローテーブル34を参照して不要となった通信経路及びフローエントリを特定し、スイッチから削除する。
(3)同様に、スケーラブルな構成の場合において、イニシエータのIPアドレスが変更される場合(イニシエータが物理的なサーバ間を移動した場合など)に、適応的にフローを制御できる。
(4)LANやWANといった、iSCSI以外のパケットが流れるネットワークや、網目状になったネットワークを利用する場合でも適応的に経路を選択できる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。例えば、上述の実施例ではiSCSIネームとIPアドレスの組合せによってフローを区別して制御しているが、IPアドレス以外にもMACアドレスやポート番号と組み合わせたルールによりフローを制御してもよい。
又、上述の実施例では、経路上のスイッチに対して転送先ポートを指定したフローエントリによるフロー制御を説明したがこれに限らない。本発明によるスイッチ40は、TCPヘッダのオプション領域を参照してiSCSI情報115を識別することができるため、iSCSI情報115を利用して転送先を決定することができる。このため、コントローラ300は、全てのスイッチに、ファーストパケットに基づいて設定したフローエントリを全てのスイッチ40(図1ではスイッチ40−1〜40−4)に設定することで、iSCSIネームに応じたフロー制御が可能となる。この場合、経路設定はコントローラ300において行われ、経路選択はスイッチ40において行われることとなる。尚、スイッチ40において具体的にどういったポリシーで経路選択するかは実装によって変化して良い。
更に、サーバ100、ストレージ200はシステム内に複数設けられてもよく、スイッチ40、イニシエータ101やターゲット201の数も上述の例に限らない。又、イニシエータ101やターゲット201はサーバやストレージに関わらず他の機能を実現するコンピュータ装置(ホスト)に搭載されても構わない。
尚、本出願は、日本出願番号2011−052130に基づき、日本出願番号2011−052130における開示内容は引用により本出願に組み込まれる。

Claims (8)

  1. オープンフローコントローラと、
    前記オープンフローコントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を行うオープンフロースイッチと、
    前記オープンフロースイッチに接続されたホストと
    を具備し、
    前記ホストは、iSCSI(Internet Small Computer System Interface)ネームをTCPヘッダのオプション領域に含めたパケットを送信し、
    前記オープンフローコントローラは、受信パケットのオプション領域を確認するか否かを決める条件と、前記iSCSIネームに応じた転送先を規定したフローエントリを前記オープンフロースイッチに設定し、
    前記オープンフロースイッチに設定される前記条件は、予め決められたIPアドレスの有無であり
    前記オープンフロースイッチは、前記受信パケットに前記予め決められたIPアドレスがある場合、前記受信パケットにおけるTCPヘッダのオプション領域内を参照して前記iSCSIネームを確認し、前記iSCSIネームに適合するフローエントリに従った転送先に、前記受信パケットを転送する
    コンピュータシステム。
  2. 請求項に記載のコンピュータシステムにおいて、
    前記iSCSIネームは、イニシエータネームのみ、又はターゲットネームのみを含む
    コンピュータシステム。
  3. 請求項1または2に記載のコンピュータシステムにおいて、
    前記iSCSIネームは、ターゲットとなる論理ディスクを特定するためのプロトコル情報である
    コンピュータシステム。
  4. 請求項1からのいずれか1項に記載のコンピュータシステムにおいて前記ホストとして利用されるサーバ。
  5. 請求項1からのいずれか1項に記載のコンピュータシステムにおいて利用されるオープンフローコントローラ。
  6. 請求項1からのいずれか1項に記載のコンピュータシステムにおいて利用されるオープンフロースイッチ。
  7. ホストが、iSCSI(Internet Small Computer System Interface)ネームをTCPヘッダのオプション領域に含めたパケットを送信するステップと、
    オープンフローコントローラが、受信パケットのオプション領域を確認するか否かを決める条件と、前記iSCSIネームに応じた転送先を規定したフローエントリをオープンフロースイッチに設定するステップと、
    前記オープンフロースイッチに設定される前記条件は、予め決められたIPアドレスの有無であり
    前記オープンフローコントローラによって設定されたフローエントリに適合する受信パケットに対し、前記フローエントリで規定された中継動作を前記オープンフロースイッチが行うステップであって、前記オープンフロースイッチが、受信パケットに前記予め決められたIPアドレスがある場合、前記受信パケットにおけるTCPヘッダのオプション領域内を参照して前記iSCSIネームを確認し、前記iSCSIネームに適合するフローエントリに従った転送先に、前記受信パケットを転送するステップと
    を具備する
    通信方法。
  8. 請求項に記載の通信方法において、
    前記iSCSIネームは、イニシエータネームのみ、又はターゲットネームのみを含む
    通信方法。
JP2013503438A 2011-03-09 2012-02-17 コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法 Active JP5911108B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011052130 2011-03-09
JP2011052130 2011-03-09
PCT/JP2012/053773 WO2012120990A1 (ja) 2011-03-09 2012-02-17 コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法

Publications (2)

Publication Number Publication Date
JPWO2012120990A1 JPWO2012120990A1 (ja) 2014-07-17
JP5911108B2 true JP5911108B2 (ja) 2016-04-27

Family

ID=46797959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013503438A Active JP5911108B2 (ja) 2011-03-09 2012-02-17 コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法

Country Status (5)

Country Link
US (1) US9397937B2 (ja)
EP (1) EP2685675A4 (ja)
JP (1) JP5911108B2 (ja)
CN (1) CN103430496A (ja)
WO (1) WO2012120990A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104283814B (zh) * 2013-07-05 2018-03-30 中兴通讯股份有限公司 控制数据转发的方法及逻辑交换机
JPWO2015068598A1 (ja) * 2013-11-11 2017-03-09 日本電気株式会社 装置、セッション処理品質安定化システム、優先度処理方法、送信方法、中継方法およびプログラム
CN104811429A (zh) * 2014-01-27 2015-07-29 中兴通讯股份有限公司 一种of协议指令实现方法及控制器
CN105099721B (zh) * 2014-04-28 2018-12-07 华为技术有限公司 维护组播成员的方法及设备
EP3166265B1 (en) * 2014-08-06 2019-10-02 Huawei Technologies Co., Ltd. Method, apparatus and system for processing data packet in software defined network (sdn)
JP6631065B2 (ja) 2014-11-25 2020-01-15 株式会社リコー 通信路切替装置、通信路切替装置の制御方法、及びプログラム
US11281600B2 (en) * 2019-06-12 2022-03-22 Dell Products L.P. ALUA/aggregated switch latency reduction system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502188A (ja) * 1998-01-29 2002-01-22 アイピー ダイナミックス インコーポレイテッド ネットワーク上のデスティネーションへ送信されたデータの経路決めをするドメイン名を使用するためのシステムおよび方法
JP2004080487A (ja) * 2002-08-20 2004-03-11 Nec Corp パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム
JP2005110118A (ja) * 2003-10-01 2005-04-21 Hitachi Ltd ネットワーク変換器及び情報処理システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11239163A (ja) 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> Lan間フロー制御方法及びスイッチ
JP4152866B2 (ja) 2003-11-19 2008-09-17 株式会社日立製作所 記憶装置、記憶装置システム、および、通信制御方法
KR100619949B1 (ko) 2004-10-29 2006-09-13 엘지전자 주식회사 고속 이동통신망에서의 티씨피 흐름 제어방법
KR20070095374A (ko) * 2004-12-31 2007-09-28 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 비연결형 통신 트래픽을 위한 연결형 통신 방법
JP5408243B2 (ja) * 2009-03-09 2014-02-05 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002502188A (ja) * 1998-01-29 2002-01-22 アイピー ダイナミックス インコーポレイテッド ネットワーク上のデスティネーションへ送信されたデータの経路決めをするドメイン名を使用するためのシステムおよび方法
JP2004080487A (ja) * 2002-08-20 2004-03-11 Nec Corp パケット転送装置、パケット転送方法解決サーバ、dnsサーバ、ネットワークシステム及びプログラム
JP2005110118A (ja) * 2003-10-01 2005-04-21 Hitachi Ltd ネットワーク変換器及び情報処理システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200900608001; 上野 洋史: 'データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討' 電子情報通信学会技術研究報告 Vol.109 No.296 第109巻, 20091113, 7-12頁, 社団法人電子情報通信学会 *
JPN6012012518; 上野 洋史: 'データセンターネットワークにおけるネットワークアプライアンス機能配備の一検討' 電子情報通信学会技術研究報告 Vol.109 No.296 第109巻, 20091113, 7-12頁, 社団法人電子情報通信学会 *
JPN6014050893; Fulu Li: 'An empirical study of today's Internet traffic for differentiated services IP QoS' Computers and Communications, 2000. Proceedings. ISCC 2000. Fifth IEEE Symposium on , 200007, 207-213頁, IEEE *

Also Published As

Publication number Publication date
EP2685675A4 (en) 2014-12-10
JPWO2012120990A1 (ja) 2014-07-17
CN103430496A (zh) 2013-12-04
US9397937B2 (en) 2016-07-19
WO2012120990A1 (ja) 2012-09-13
US20130343393A1 (en) 2013-12-26
EP2685675A1 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
JP5911108B2 (ja) コンピュータシステム、サーバ、オープンフローコントローラ及び通信方法
US9590923B2 (en) Reliable link layer for control links between network controllers and switches
JP6549996B2 (ja) ネットワーク装置、通信方法、及び、ネットワークシステム
JP5590263B2 (ja) 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
JP5768861B2 (ja) 通信システム、ノード、制御サーバ、通信方法およびプログラム
JP5743906B2 (ja) 通信制御システム
US7616637B1 (en) Label switching in fibre channel networks
JP5987920B2 (ja) 通信システム、制御装置及びネットワークトポロジの管理方法
JP2018525941A (ja) 拡張されたセッション管理を用いるネットワークパケットフローコントローラ
JP5994851B2 (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
US20080159260A1 (en) Fibre channel over ethernet frame
JPWO2011149003A1 (ja) 通信システム、ノード、制御装置、通信方法およびプログラム
JP5858147B2 (ja) 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム
CN114422432A (zh) 基于可靠传输层的可靠覆盖
WO2014129624A1 (ja) 制御装置、通信システム、経路切替方法及びプログラム
JP5691782B2 (ja) ネットワークシステム及びフレーム通信方法
JP6525256B2 (ja) 仮想ネットワークシステムおよび仮想ネットワーク経路設定方法
JP2013223191A (ja) 通信システム、制御装置、パケット採取方法及びプログラム
JP6718739B2 (ja) 通信装置および通信方法
JP2015521391A (ja) 通信システムと通信方法並びにプログラム
WO2014175335A1 (ja) 制御装置、計算機システム、通信制御方法及びプログラム
JP5637289B2 (ja) 通信システム、ノード、制御サーバ、通信方法およびプログラム
JP6314970B2 (ja) 通信システム、制御装置、通信方法およびプログラム
EP4062658A1 (en) Lightweight fragmentation and reliability for fixed mobile convergence access stratum and non-access stratum signaling

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141027

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150302

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150310

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20150403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160324

R150 Certificate of patent or registration of utility model

Ref document number: 5911108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150