JP5363658B1 - 中継装置、中継装置の制御方法、及び、ネットワークシステム - Google Patents

中継装置、中継装置の制御方法、及び、ネットワークシステム Download PDF

Info

Publication number
JP5363658B1
JP5363658B1 JP2012537249A JP2012537249A JP5363658B1 JP 5363658 B1 JP5363658 B1 JP 5363658B1 JP 2012537249 A JP2012537249 A JP 2012537249A JP 2012537249 A JP2012537249 A JP 2012537249A JP 5363658 B1 JP5363658 B1 JP 5363658B1
Authority
JP
Japan
Prior art keywords
data
relay device
failure
relay
received
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
JP2012537249A
Other languages
English (en)
Other versions
JPWO2013128483A1 (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.)
Hitachi Ltd
Alaxala Networks Corp
Original Assignee
Hitachi Ltd
Alaxala Networks 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 Hitachi Ltd, Alaxala Networks Corp filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5363658B1 publication Critical patent/JP5363658B1/ja
Publication of JPWO2013128483A1 publication Critical patent/JPWO2013128483A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0091Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0686Additional information in the notification, e.g. enhancement of specific meta-data
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Abstract

第1のネットワーク装置は、受信したデータの転送を行うための転送制御部と、対向する第2の中継装置に障害が発生したことを検知する検知部と、を備える。転送制御部は、受信したデータの転送を行う転送部と、第2の中継装置の障害の発生を検知するために受信したデータを加工する加工部であって、(i)マークをデータに付与するオプション部と、(ii)シーケンス番号に所定値を加算する加算部と、(iii)確認応答番号に対し所定値を減算する減算部と、を有する加工部と、を有する。検知部は、マークと確認応答番号の少なくともいずれか一方に基づいて対向する第2の中継装置の障害の発生を検知する。
【選択図】図2

Description

本発明は、端末間に配置されデータを中継するための中継装置、中継装置の制御方法、及び、端末と中継装置とを備えるネットワークシステムに関する。
グローバル拠点間の通信網として、IP-VPN技術などを用いたWAN(Wide Area Network)を用いることが一般的になっている。ある拠点にある端末が、別の海外の拠点にある端末と通信する場合は、各拠点間をWANで接続して通信する。WANでは通常、契約によって使用可能な帯域幅が制限されている。また、海外との通信ではとくに遅延が大きくなる。
端末間の通信では一般にTCPが用いられる。TCPではRTT(Round Trip Time)の大きさに応じて通信の帯域が制御される。WAN経由での通信では、高スループットを得ることが困難な場合がある。ここで、高スループットを実現するための技術として、特許文献1に記載の技術等がある。
国際公開番号 WO2011/033894号公報
TCPを用いた通信では、送信帯域がRTTと廃棄率に大きく左右されるため、WANのようなRTTが大きく、ホップ数が大きくて廃棄箇所が多い環境下では、契約帯域を大幅に下回る送信帯域しか得られない場合がある。
これに対する対策として、TCPのようなシーケンス番号を用いたストリーム型の通信の伝送経路の途中において、複数の中継装置を用いて送信帯域がRTTと廃棄率に左右されないようにストリームを管理することで、送信帯域を改善することが考えられる。
このとき、中継装置で障害が発生すると、障害が発生した中継装置に対向する中継装置で障害を検出することができず、種々の不具合が発生する場合があった。例えば、通信装置(端末)間の通信が切断するまでに時間が掛かるという不具合や、中継装置にセッションが残ったままになり同一ポートでの通信が阻害される不具合や、メモリ不足が生じるという不具合等が発生する場合がある。
本発明は、上述の課題を解決するために成されたものであり、シーケンス番号を用いた通信を行う環境下において、対向する中継装置の障害の発生を検知できる技術を提供することを目的とする。
本発明は、上記の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することができる。
形態1:シーケンス番号を用いた通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部は、前記第2の中継装置から送信されるデータに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すための第1のマークと、確認応答番号である第1の確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する、第1の中継装置。
形態2:シーケンス番号を用いた通信によってデータが伝送される2つの端末と、前記2つの端末の伝送路上に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置の制御方法であって、
(a)受信したデータを転送する工程と、
(b)対向する前記第2の中継装置に障害が発生したことを検知する工程と、を備え、
前記工程(a)は、
(a1)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与する工程と、
(a2)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する工程と、
(a3)データを対向する前記端末から受信した場合に、前記対向する端末から送信されるデータに確認応答番号が付与されているときに、前記確認応答番号に前記所定値を減算する工程と、を含み、
前記工程(b)は、
前記第2の中継装置から送信されるデータに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すための第1のマークと、確認応答番号である第1の確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する工程を含む、制御方法。
形態3:ネットワークシステムであって、
シーケンス番号を用いた通信によってデータを伝送する2つの端末と、
前記2つの端末の伝送路上に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を備え、
前記1と第2の中継装置は、それぞれ、
受信したデータの転送を行うための転送制御部と、
対向する他方の前記中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記受信したデータを加工する加工部であって、(i)前記他方の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
一方の前記中継装置が備える前記検知部は、前記他方の中継装置の前記オプション部によって付与される前記マークと、前記他方の中継装置から送信されるデータに付与される前記確認応答番号の少なくともいずれか一方に基づいて対向する前記他方の中継装置の障害の発生を検知する、ネットワークシステム。
[適用例1]シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部は、前記マークと前記確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例1に記載の第1の中継装置によれば、加工部を有することで検知部がマークと確認応答番号の少なくともいずれか一方に基づいて対向する第2の中継装置の障害の発生を容易に検知できる。
[適用例2]適用例1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例2に記載の第1の中継装置によれば、受信したデータにマークが付与されているか否かを判別することで第2の中継装置の障害の発生を容易に検知できる。
[適用例3]適用例1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例3に記載の第1の中継装置によれば、受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号であるか否かを判別することで第2の中継装置の障害の発生を容易に検知できる。
[適用例4]適用例1に記載の第1の中継装置であって、
前記検知部は、前記第2の中継装置から送信されて受信したデータに前記マークが付与されていない場合であり、かつ、前記受信したデータのうちの前記確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
適用例4に記載の第1の中継装置によれば、障害発生の検知をマークと確認応答番号の2つの要素により行なうことで、障害発生検知の精度を向上できる。
[適用例5]適用例1乃至適用例4のいずれか一つに記載の第1の中継装置であって、
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
適用例5に記載の第1の中継装置によれば、障害発生を検知した場合でも、データ通信を継続できる。
[適用例6]適用例1乃至適用例5のいずれか一つに記載の第1の中継装置であって、
前記2つの端末はTCPを用いて通信を行い、
前記転送制御部は、
受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
適用例6に記載の第1の中継装置によれば、障害発生を検知した場合でも、データ通信を継続できる。
なお、本発明は、種々の態様で実現することが可能である。例えば、上記に記載の第1の中継装置に限らず、第1の中継装置の制御方法、第1の制御装置の機能や、制御方法を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記憶媒体、第1と第2の中継装置及び第1と第2の通信装置を備えたネットワークシステム等の態様で実現することができる。
参考例のネットワークシステム5wを説明するための図である。 実施例としてのネットワークシステム5を説明するための図である。 実施例で用いられるTCPヘッダを示す図である。 ネットワークシステム5におけるデータ通信時のTCPヘッドの変化について説明するための図である。 通常行なわれる3ウェイ・ハンドシェイクの処理フローである。 コネクション確立後の通信を説明するための図である。 3ウェイ・ハンドシェイク時の障害発生の検知について説明するための図である。 3ウェイ・ハンドシェイク時の障害検知の第1の態様を説明するための図である。 3ウェイ・ハンドシェイク時の障害検知の第2の態様を説明するための図である。 3ウェイ・ハンドシェイク時の障害検知の第3の態様を説明するための図である。 3ウェイ・ハンドシェイク時の障害検知の第4の態様を説明するための図である。 3ウェイ・ハンドシェイク時の障害検知の第5の態様を説明するための図である。 3ウェイ・ハンドシェイク時の障害検知の第6の態様を説明するための図である。 TCPによるデータ通信中に障害が発生した場合の第1の障害検知態様を説明するための図である。 TCPによるデータ通信中に障害が発生した場合の第2の障害検知態様を説明するための処理である。
次に、本発明の実施の形態を以下の順序で説明する。
A.参考例:
B.実施例:
C.変形例:
A.参考例:
実施例を説明する前に、理解の容易のために本発明を適用していない参考例について説明する。図1は、参考例のネットワークシステム5wを説明するための図である。ネットワークシステム5wは、端末としての第1の通信装置20wと、端末としての第2の通信装置21wと、第1の中継装置10wと、第2の中継装置11wと、を備える。第1と第2の通信装置20w,21wは、第1と第2の中継装置10w,11wとインターネットを介してデータ通信を実現させている。
ネットワークシステム5wにおいて、第1の通信装置20wと第1の中継装置10wとの間のデータ通信、及び、第2の通信装置21wと第2の中継装置との間のデータ通信はTCPセッションで管理されている、また、ネットワークシステム5wにおいて、第1の中継装置10wと第2の中継装置11wとの間のデータ通信は、中継装置10w,11w間の固有のTCPセッション(「高速化TCPセッション」ともいう。)として中継装置10w、11wが管理している。
第1と第2の中継装置10w,11w間の高速化TCPセッションでは、第1の通信装置20wや第2の通信装置21wから送信されるデータに付与されたシーケンス番号(「元のシーケンス番号」ともいう。)に一定の値を加算したシーケンス番号(「中継装置間シーケンス番号」ともいう。)が用いられる。例えば、第2の通信装置21wから送信されたデータに付与されているシーケンス番号に対し、第2の中継装置11wは一定の値を加算する。そして、加算したシーケンス番号をデータに付与して第1の中継装置10wにデータを送信する。また、中継装置10w,11wから通信装置20w,21wにデータを転送する場合は、中継装置間シーケンス番号から加算された値を減算して元のシーケンス番号に戻す。また、第1と第2の中継装置10w,11w間の高速化TCPセッションでは、中継装置10w,11w間での通信であることを識別するためのTCPオプションをデータに付与する。TCPオプションは、中継装置10w,11wから通信装置20w,21wにデータが送信される際に、送信されるデータから削除される。
ここで、第2の中継装置11wに障害が発生した場合(障害発生時)を考える。ここで、「障害の発生」とは、データ(パケット)を転送する機能は正常であるが、高速化TCPセッションを用いてデータを転送する機能に異常が生じた場合を指す。すなわち、「障害の発生」とは、第2の中継装置11wが元のシーケンス番号に一定の値を加算できない状態、又は、第2の中継装置11wがTCPオプションのデータへの付与及び削除ができない状態をいう。
障害発生時において、第1の通信装置20wから送信されたデータのシーケンス番号に対し、第1の中継装置10wは一定の値を加算して中継装置間シーケンス番号が付与されたデータを第2の中継装置11wに送信する。第2の中継装置11wは受信したデータに付与された中継装置間シーケンス番号を処理することなく第2の通信装置21wにデータを送信する。第2の通信装置21wは、受信したデータのシーケンス番号がTCPセッションにおけるシーケンス番号(元のシーケンス番号)とは異なっているため、受信したデータを不正なデータとして認識する。そして、第2の通信装置21wは、TCPセッションで用いられるシーケンス番号(元のシーケンス番号)とACKを送信する。しかしながら、第1の中継装置10wでは第2の通信装置21wから送信されたシーケンス番号を認識できず第1の通信装置20wにデータを転送することができない。すなわち、第1と第2の通信装置20w,21w間における通信の継続や、セッションの切断ができないという問題が発生する。
B.実施例:
B−1.ネットワークシステム5の構成:
図2は、本発明の実施例としてのネットワークシステム5を説明するための図である。図2に示すように、ネットワークシステム5は、端末としての第1と第2の通信装置454,455と、第1と第2の通信装置454,455間のデータ通信を中継する第1と第2の中継装置441,442と、を備える。第1と第2の中継装置441,442は、第1と第2の通信装置454,455の伝送路上に直列に配置されている。第1と第2の通信装置454,455はTCPを用いてデータ(パケット)通信を行う。なお、第1と第2の中継装置441,442との間にはインターネット(図示せず)が存在する。
第1の中継装置441は、外部機器(例えば第1の通信装置454)との間でデータの受信及び送信を行う入出力インタフェース41,4と、受信したデータの転送を制御するための転送制御部44と、他の中継装置442の障害を検知するための検知部46と、を備える。なお、第2の中継装置442の構成も同様の構成であるため、内部構成の図示は省略すると共に説明を省略する。
転送制御部44は、送受信するデータに加工等を施すための加工部48と、データの転送を行う転送部49と、を備える。転送部49は、受信したデータに付与されているIPアドレス等に基づいてデータの転送を行う。
加工部48は、オプション部48aと、加算部48bと、減算部48cと、を備える。オプション部48aは、対向する第2の中継装置442に向けてデータを転送する場合に、転送するデータに第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与する。本実施例では、このマークはTCPヘッダのTCPオプションを使用している。加算部48bは、データを対向する通信装置(ここでは、第1の通信装置454)に送信する場合に、送信元の通信装置(ここでは、第2の通信装置455)から送信されるデータに付与されているシーケンス番号(元のシーケンス番号)に所定値を加算する。所定値は任意の値を選択可能であり、本実施例では、1000000を元のシーケンス番号に加算する。減算部48cは、データを対向する通信装置(ここでは、第1の通信装置454)から受信した場合に、通信装置から送信されたデータに付与されている確認応答番号に対し所定値(本実施例では、1000000)を減算する。また、第1と第2の中継装置441,442は、中継装置441,442間の固有の通信を管理するためのセッション管理テーブル(図示せず)を備える。
なお、加工部48は、第1と第2の中継装置441,442間でのデータ通信を高速に行なうための機能を有していても良い。例えば、国際公開番号WO2011/033894(国際出願日:2010年8月19日)に開示の内容を取り込んでも良い。例えば、第1と第2の中継装置441,442の加工部48は、データの再送状況に基づいてデータを送信するために送信帯域を制御する帯域制御部を備えても良い。帯域制御部を備える場合、加工部48が正常に機能している場合は、転送部49は制御された送信帯域に従って、データを転送する。
検知部46は、TCPオプションと確認応答番号の少なくともいずれか一方に基づいて対向する第2の中継装置442の障害の発生を検知する。また、例えば、検知部46によって検知された障害の発生は、図示しないサーバに障害発生情報として送信される。そして、サーバが、障害発生情報の解析や、外部への報知等の処理を行う。
図3は、実施例で用いられるTCPヘッダを示す図である。図3に示すTCPヘッダはTCPで定められている通常のヘッダ構成である。フィールド101には、送信元ポート番号及び宛先ポート番号が格納される。フィールド102には、シーケンス番号が格納される。フィールド103には、確認応答番号(ACK番号)が格納される。フィールド104には、ヘッダ長、ACKフラグ等の各種フラグ、ウィンドウサイズ等の情報が格納される。フィールド105には、チェックサム、緊急ポインタが格納される。フィールド106には、オプション種別、オプション長、オプション値が格納される。詳細には、フィールド106には、MSS(Maximum Segment Size)に関する情報が格納される。フィールド107は、オプション種別、オプション長、オプション値(バージョン番号)が格納される。詳細には、第1と第2の中継装置441,442間でのデータ通信の際にデータに付与されるTCPオプションに関する情報が格納される。フィールド108は、データフィールドである。
図4は、ネットワークシステム5におけるデータ通信時のTCPヘッドの変化について説明するための図である。図4は、コネクション確立時(3ウェイ・ハンドシェイク時)に行なわれる通信の一部を例として示している。第1の通信装置454は、端末間で実行される通常のTCPで通信を開始する(ステップS30)。例えば、シーケンス番号(Seq♯)1000でSYNパケットを送信する。第1の中継装置441のオプション部48aは、受信したデータにTCPオプションを付与し、転送部49がデータを第2の中継装置442に送信する(ステップS32)。第2の中継装置442のオプション部48aは、受信したデータからTCPオプションを外し、第2の中継装置の加算部48bは、受信したデータのシーケンス番号に1000000を加算する(ステップS33)。そして、処理後のデータを転送部49が第2の通信装置455に送信する(ステップS33)。
第2の通信装置455は、通常のTCP処理を行い、受信したデータ中のシーケンス番号に対して次に期待するシーケンスをACK番号に付与して送信する(ステップS34)。本実施例では、ACK番号はステップS30で送信された元のシーケンス番号に所定値1000000と1を加算した値となる。第2の中継装置442の減算部48cは、送信元の第2の通信装置455から送信されたデータのACK番号から所定値である1000000を減算することで、元のシーケンスと整合が取れるように処理する(ステップS35)。また、第2の中継装置442のオプション部48aは、データに対しTCPオプションを付与する(ステップS35)。そして、処理後のデータを第2の中継装置442の転送部49が第1の中継装置441に送信する(ステップS35)。第1の中継装置441のオプション部48aは、第2の中継装置442から受信したデータのTCPオプションを外し、元のストリームと整合させる(ステップS36)。また、第1の中継装置441は、受信したデータのシーケンス番号に所定値である1000000を加算する(ステップS36)。そして、第1の中継装置441の転送部49は、処理後のデータを第1の通信装置454に送信する(ステップS36)。なお、図示は省略するが、ステップS36の後、第1の中継装置441は、受信したSYN/ACKパケットのACK番号をシーケンス番号としてACKパケットを第1の中継装置441に送信する。そして、第1の中継装置441及び第2の中継装置44の加工部48は、それぞれACKパケット対し所定の処理を施す。最終的には、第2の通信装置455がACKパケットを受信してコネクションが確立される。
理解の容易にために、一般的に行なわれる3ウェイ・ハンドシェイクの処理について説明する。図5は、通常行なわれる3ウェイ・ハンドシェイクの処理フローである。すなわち、図5は、本発明を適用しない場合の3ウェイ・ハンドシェイク時の一般的な処理フローである。第1の通信装置454は、第2の通信装置455に対して任意のシーケンス番号A(Aには任意の番号が入力される。)でSYNパケットを送信する(ステップS40)。第2の通信装置455は、SYNパケットに対する応答として、任意のシーケンス番号B(BにはAとは異なる任意の番号が入力される。)を用いて、受信したシーケンス番号Aに1を加算した番号をACK番号に設定してSYN/ACKパケットを第1の通信装置454に送信する(ステップS41)。第1の通信装置454は、受信したSYN/ACKパケットに対して、SYNパケットで用いたシーケンス番号Aに1を加算した値(すなわち、ステップS41で送信されたACK番号)をシーケンス番号とする(ステップS42)。また、第1の通信装置454は、ステップS41で送信されたシーケンス番号Bに1を加算した値(B+1)をACK番号とする(ステップS42)。そして、シーケンス番号とACK番号を付与したデータを第2の通信装置455に送信する(ステップS42)。これにより、第1と第2の通信装置454,455間でコネクションが確立される。
図6は、ネットワークシステム5のコネクション確立後の通信を説明するための図である。図6では、第1の通信装置454から送信されるデータ量は1460バイトと仮定する。第1の通信装置454は、所定のシーケンス番号(本実施例では、シーケンス番号2001)を付してデータを第1の中継装置441に送信する(ステップS50)。第1の中継装置441は、受信したデータにTCPオプションを付与して第2の中継装置442にデータを送信する(ステップS51)。TCPオプションをデータに付与することで、通常のTCPを用いた通信と区別することができる。第2の中継装置442は、第1の中継装置442から送信されたデータを受信すると、受信したデータからTCPオプションを外すと共に、シーケンス番号に所定値(本実施例では1000000)を加算する(ステップS52)。そして、第2の中継装置442は、処理後のデータを第2の通信装置455に送信する(ステップS52)。
第2の通信装置455は、次に受信を期待する番号に所定値(本実施例では1000000)が加算された状態のACK番号を付与したデータを第2の中継装置442に送信する(ステップS53)。第の中継装置44は、第2の通信装置455から送信されたデータを受信すると、受信したデータに対しTCPオプションを付与すると共に、確認応答番号から所定値(本実施例では1000000)を減算する(ステップS54)。これにより、ステップS50で送信された元のシーケンス番号に対するACK番号となる。そして、第2の中継装置442は、処理後のデータを第1の中継装置441に送信する(ステップS54)。第1の中継装置441は、第2の中継装置442から送信されたデータを受信すると、受信したデータからTCPオプションを外すと共に、シーケンス番号に所定値(本実施例では1000000)を加算する(ステップS55)。そして、第1の中継装置441は、処理後のデータを第1の通信装置454に送信する(ステップS55)。
ネットワークシステム5は、ステップS55以降のデータ通信(ステップS56〜S58)ついても、同様の処理を行う。すなわち、ステップS56の動作はステップS50の動作と同様であり、ステップS57の動作はステップS51の動作と同様であり、ステップS58の動作はステップS52の動作と同様である。
なお、以降において、ネットワークシステム5の第1と第2の中継装置441,442での各場面での障害発生の検知方法について詳細に説明する。
B−2.障害発生の検知について:
B−2−1.3ウェイ・ハンドシェイクにおける障害発生の検知:
図7は、3ウェイ・ハンドシェイク時の障害発生の検知について説明するための図である。すなわち、図7は、3ウェイ・ハンドシェイク時において、第1の中継装置441と第2の中継装置442のいずれかに障害(詳細には、加工部48の障害)が発生した場合の障害発生の検知方法について説明するための図である。
TCPでは、コネクションを確立する際、SYNパケットに対してSYN/ACKパケットが返信され、SYN/ACKパケットに対してACKパケットを返信すことでコネクションが確立される。詳細には以下に記載する工程によりコネクションが確立される。
・ステップS60:第1の通信装置454から第1の中継装置441にSYNパケットを送信する。
・ステップS61:TCPオプションをデータに付与して第1の中継装置441から第2の中継装置442にデータを送信する。
・ステップS62:TCPオプションをデータから外すと共に、シーケンス番号に所定値である1000000を加算して第2の中継装置442から第2の通信装置455にデータを送信する。
・ステップS63:第2の通信装置455から第2の中継装置442にSYN/ACKを送信する。ACK番号は受信したシーケンス番号に1を加算する。
・ステップS64:TCPオプションをデータに付与すると共に、ACK番号から所定値である1000000を減算して第2の中継装置442から第1の中継装置441にデータを送信する。
・ステップS65:TCPオプションをデータから外すと共に、シーケンス番号に所定値である1000000を加算して第1の中継装置441から第1の通信装置454にデータを送信する。
・ステップS66:受信したACK番号をシーケンス番号とし、受信したシーケンス番号に1を加算し、ACKを第1の通信装置454から第1の中継装置441に送信する。
・ステップS67:TCPオプションをデータに付与して第1の中継装置441から第2の中継装置442にデータを送信する。
・ステップS68:TCPオプションをデータから外すと共に、シーケンス番号に所定値である1000000を加算して第2の中継装置442から第2の通信装置455にデータを送信する。
ここで、図7に示す各地点60p,61p,64p,65p,66p,67pにおいて障害が発生した場合の障害検知方法の概略は以下の通りとなる。
・地点60pでの障害発生時(第1の障害検知態様):
SYNパケットにTCPオプションが付与されていないため、第2の中継装置442で障害検知が可能である。
・地点61pでの障害発生時(第2の障害検知態様)
SYN/ACKパケットにTCPオプションが付与されていないため、第1の中継装置441で障害検知が可能である。
・地点64pでの障害発生時(第3の障害検知態様)
SYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことによって、第1の中継装置441で障害検知が可能である。
・地点65pでの障害発生時(第4の障害検知態様)
ACKパケットにTCPオプションが付与されていなため、第2の中継装置442で障害検知が可能である。
・地点66pでの障害発生時(第5の障害検知態様)
ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことによって、第2の中継装置442で障害検知が可能である。
・地点67pでの障害発生時(第6の障害検知態様)
再送されたSYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことによって、第1の中継装置441で障害検知が可能である。
上記に挙げた各地点60p,61p,64p,65p,66p,67pでの障害発生の詳細処理フローを障害検知の実施形態として以下に詳述する。
B−2−2.第1の障害検知態様:
図8は、3ウェイ・ハンドシェイク時の障害検知の第1の態様を説明するための図である。図8は、第1の通信装置454がSYNパケットを送信する時点60pで、第1の中継装置441に障害が発生していた場合の処理フローである。
第1の通信装置454がSYNパケットを送信すると、第1の中継装置441は加工部48によってSYNパケットを処理できず、SYNパケットをパススルーする(ステップS70)。第2の中継装置442の検知部46は、受信したSYNパケットにTCPオプションが付与されていないことを検知することで、第1の中継装置441の障害発生を検知できる(ステップS70a)。ステップS71以降の工程は、ネットワークシステム5の第1と第2の中継装置441,442間において、第1と第2の中継装置441,442間で用いられることが可能な固有のセッション(高速化セッション)が形成されていない為に、通常のTCPセッションによってデータを転送する。すなわち、ステップS71の次に、第2の通信装置455は、SYN/ACKパケットを第2の中継装置442に送信し、第2の中継装置442と第1の中継装置441はSYN/ACKパケットを第1の通信装置454に向けて転送する(ステップS73,S73a)。SYN/ACKパケットを受信した第1の通信装置454は、受信したSYN/ACKパケットに対して、SYNパケットで使用したシーケンス番号1000に1を加算した値(すなわち、ステップS72で送信されたACK番号)をシーケンス番号としてACKパケットを第2の通信装置455に向けて送信する(ステップS74)。第1の中継装置441と第2の中継装置442は、第1の通信装置454から送信されたACKパケットをパススルーして第2の通信装置455に転送する(ステップS75,S76)。これにより、第1の通信装置454と第2の通信装置455との間でコネクションが確立される。
B−2−3.第2の障害検知態様:
図9は、3ウェイ・ハンドシェイク時の障害検知の第2の態様を説明するための図である。図9では、第1の通信装置454からSYNパケットを送信する時点61pで、第2の中継装置442に障害が発生していた場合の処理フローである。
コネクションを確立するために、第1の通信装置454からSYNパケットが第1の中継装置441に送信される(ステップS80)。第1の中継装置441は、第1の通信装置454からのSYNパケットを受信すると、SYNパケットにTCPオプションを付与し、第2の中継装置442に送信する(ステップS81)。しかしながら、第2の中継装置442は、加工部48(図2)において所定の処理ができないため、SYNパケットをパススルーし第2の通信装置455に送信する(ステップS81a)。第2の通信装置455は、受信したSYNパケットにTCPオプションが付与されているが、第2の通信装置455はTCPオプションをサポートしておらず解釈できない為、TCPオプションを無視する(ステップS81b)。第2の通信装置455は、受信したSYNパケットに対する応答としてSYN/ACKパケットを第2の中継装置442に送信する(ステップS82)。ここで、第2の中継装置442は、第2の通信装置455から送信されたSYN/ACKパケットを加工部48で処理することなく第1の中継装置441に送信する(ステップS82a)。第1の中継装置441は、第2の中継装置44から受信したSYN/ACKパケットにTCPオプションが付与されていないことを検知することで、第2の中継装置442の障害発生を検知できる(ステップS82b)。また、ステップS82bにおいて、第1の中継装置441は、障害発生の検知後にセッション管理テーブルを削除して以降の通信をパススルーさせる。
第1の中継装置441は、ステップS83において加工部48の機能を用いることなくSYN/ACKパケットを第1の通信装置454に送信する(パススルー)。第1の通信装置454は、受信したSYN/ACKパケットに対して、SYNパケットで使用したシーケンス番号1000に1を加算した値(すなわち、ステップS83で送信されたACK番号)をシーケンス番号としてACKパケットを第2の通信装置455に向けて送信する(ステップS84)。ステップS84では、通常のTCPセッションによってACKパケットが第1の中継装置441,第2の中継装置442,第2の通信装置455に順にパススルーによって転送される(ステップS85,S86)。これにより、第1の通信装置454と第2の通信装置455との間でコネクションが確立される。
B−2−4.第3の障害検知態様:
図10は、3ウェイ・ハンドシェイク時の障害検知の第3の態様を説明するための図である。図10は、第2の中継装置442が第2の通信装置455にSYNパケットを送信した地点64pで第2の中継装置442に障害が発生した場合の処理フローを示している。
図10において、ステップS90〜ステップS92は、図7に示すステップS60〜ステップS62と同様の処理工程であるため説明を省略する。ステップS92の後に、第2の通信装置455は、SYNパケットに対する応答としてSYN/ACKパケットを第2の中継装置442に送信する(ステップS93)。ここで、第2の中継装置442は、受信したSYN/ACKパケットをパススルーして第1の中継装置441にSYN/ACKパケットを送信する(ステップS93a)。第1の中継装置441は、受信したSYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第2の中継装置442の障害発生を検知できる(ステップS94)。本実施例では、ACK番号が減算されていないことは、第2の中継装置442の検知部46が、受信したACK番号から所定値(1000000)を減算した値が、本来受信すべき期待するACK番号であることによって判別する。対向する第2の中継装置442の障害発生を検知した後に、第1の中継装置441は、第1の通信装置454、及び、第2の中継装置442を介して第2の通信装置455にリセット(RST)パケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第2の中継装置442の障害発生を検知した後に、第1の中継装置441は、受信したSYN/ACKパケットをパススルーして第1の通信装置454にSYN/ACKパケットを送信し、3ウェイ・ハンドシェイクの処理を継続しても良い。
B−2−5.第4の障害検知態様:
図11は、3ウェイ・ハンドシェイク時の障害検知の第4の態様を説明するための図である。図11は、第1の中継装置441がSYNパケットを第2の中継装置442に送信した地点65pで第1の中継装置441に障害が発生した場合の処理フローである。
図11において、ステップS100〜ステップS103は、図7に示すステップS60〜ステップS63と同様の処理工程であるため説明を省略する。第2の通信装置455から受信したSYN/ACKパケットに対し、第2の中継装置442は、TCPオプションを付与すると共に確認応答番号から所定値を減算してSYN/ACKパケットを第1の中継装置441に送信する(ステップS104)。そして、第1の中継装置441は、加工部48に障害が発生しているため、第2の中継装置442から受信したSYN/ACKパケットを加工部48で処理することなく第1の通信装置454に送信する(ステップS104a)。第1の通信装置454に送信されたSYN/ACKパケットにはTCPオプションが付与されたままであるが、第1の通信装置454は、TCPオプションを解釈できないためTCPオプションが付与されたSYN/ACKパケットを受信できる(ステップS104b)。第1の通信装置454は、受信したSYN/ACKパケットのACK番号をシーケンス番号としてACKパケットを第1の中継装置441に送信する(ステップS105)。第1の中継装置441は第1の通信装置454から送信されたACKパケットをパススルーして第2の中継装置442に送信する(ステップS105a)。第2の中継装置442は、第1の中継装置441から送信されたACKパケットにTCPオプションが付与されていないことを検知することで、対向する第1の中継装置441の障害発生を検知できる(ステップS106)。対向する第1の中継装置441の障害発生を検知した後は、第2の中継装置442は、第2の通信装置45、及び、第1の中継装置441を介して第1の通信装置454にRSTパケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第1の中継装置441の障害発生を検知した後は、第2の中継装置442は、受信したACKパケットをパススルーして第2の通信装置455にACKパケットを送信することで、3ウェイ・ハンドシェイクの処理を継続しても良い。
B−2−6.第5の障害検知態様:
図12は、3ウェイ・ハンドシェイク時の障害検知の第5の態様を説明するための図である。図12は、第1の中継装置441がSYN/ACKパケットを第1の通信装置454に送信した地点66pで第1の中継装置441に障害が発生した場合の処理フローである。
図12において、ステップS110〜ステップS115は、図7に示すステップS60〜ステップS65と同様の処理工程であるため説明を省略する。ステップS115の後に、第1の通信装置454は、受信したSYN/ACKパケットのACK番号をシーケンス番号としてACKパケットを第1の中継装置441に送信する(ステップS116)。第1の中継装置441は、加工部48に障害が発生しているため、受信したACKパケットを加工部48で処理することなく第2の中継装置442に送信する(ステップS117)。第2の中継装置442は、受信したACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第1の中継装置441の障害発生を検知できる(ステップS118)。対向する第1の中継装置441の障害発生を検知した後に、第2の中継装置442は、第2の通信装置455、及び、第1の中継装置44を介して第の通信装置45にリセット(RST)パケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第1の中継装置441の障害発生を検知した後に、第2の中継装置442は、受信したSYN/ACKパケットをパススルーして第1の通信装置454にSYN/ACKパケットを送信し、3ウェイ・ハンドシェイクの処理を継続しても良い。
B−2−7.第6の障害検知態様:
図13は、3ウェイ・ハンドシェイク時の障害検知の第6の態様を説明するための図である。図13は、第2の中継装置442がSYN/ACKパケットを第1の中継装置441に送信した直後に第2の中継装置442に障害が発生した場合の処理フローである。
図13において、ステップS120〜ステップS126は、図7に示すステップS60〜ステップS66と同様の処理工程であるため説明を省略する。第1の通信装置454から送信されたACKパケットに対し、第1の中継装置441はTCPオプションを付与すると共に、ACK番号から所定値である1000000を減算してACKパケットを第2の中継装置442に送信する(ステップS127)。第2の中継装置442は、加工部48に障害が発生しているため、第1の中継装置44から受信したACKパケットを加工部48で処理することなく第2の通信装置455に送信する(ステップS128)。第2の通信装置455は、ACKパケットを受信するが受信したACKパケットのシーケンス番号が期待するシーケンス番号(シーケンス番号:1010001)とは異なるためシーケンス違いによりステップS123と同様のSYN/ACKパケットを第2の中継装置442に再送する(ステップS129)。また、第2の中継装置442は、再送されたSYN/ACKパケットをパススルーし、第1の中継装置441に送信する(ステップS129a)。第1の中継装置441は、受信したSYN/ACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第2の中継装置442の障害発生を検知できる(ステップS130)。対向する第2の中継装置の障害発生を検知した後に、第1の中継装置441は、第1の通信装置454、及び、第2の中継装置442を介して第2の通信装置455にリセット(RST)パケットを送信し、以降の通信を強制的に終了しても良い。また、対向する第2の中継装置442の障害発生を検知した後に、第1の中継装置441は、受信したSYN/ACKパケットをパススルーして第1の通信装置454にSYN/ACKパケットを送信し、3ウェイ・ハンドシェイクの処理を継続しても良い。
B−3.コネクション確立後の障害発生の検知について:
図14は、TCPによるデータ通信中に障害が発生した場合の第1の障害検知態様を説明するための図である。図14では、シーケンス番号1001におけるデータの第2の通信装置455への送信が完了した地点(ステップS140〜ステップS142の後の地点)140pで、第1の中継装置441に障害が発生した場合の障害検知処理フローである。なお、図14では、シーケンス番号10001のデータに対するACKパケットについては図示を省略している。
第1の通信装置454は、シーケンス番号10001のデータを第1の中継装置441に送信後、シーケンス番号11461のデータを第1の中継装置441に送信する(ステップS150)。第1の中継装置441は障害が発生しているため受信したデータを加工部48で処理することなく第2の中継装置442に送信する(ステップS151)。シーケンス番号11461のデータを受信した第2の中継装置442は、受信したデータにTCPオプションが付与されていないこと、ACK番号が減算されていないことを検知することで、対向する第1の中継装置441の障害を検知できる(ステップS155)。対向する第1の中継装置441の障害を検知した後に、第2の中継装置442は、第2の通信装置455、及び、第1の中継装置441を介して第1の通信装置454にリセット(RST)パケットを送信し、以降の通信を強制的に終了させても良い。また、対向する第1の中継装置441の障害発生を検知した後に、第2の中継装置442は、受信したデータをパススルーによって第2の通信装置455に送信しても良い。なお、第2の中継装置442は、受信したデータをパススルーによって第2の通信装置455に送信した場合において、第2の通信装置455は受信したデータのACK番号が、本体付加されるべき期待するACK番号に所定値である1000000を加算した値と異なるときは、シーケンスエラーと判断する。そして、第2の通信装置455は、期待するACK番号(ここでは、ACK番号20001)を第2の中継装置442,第1の中継装置441を介して第1の通信装置454に送信する。
図15は、TCPによるデータ通信中に障害が発生した場合の第2の障害検知態様を説明するための処理である。図15では、シーケンス番号10001のデータの第2の通信装置455への送信が完了した後(ステップS160〜ステップS162の後)に、第2の中継装置442に障害が発生した場合の障害検知フローである。
第1の通信装置454は、シーケンス番号10001のデータを第1の中継装置441に送信後、シーケンス番号11461のデータを第1の中継装置441に送信する(ステップS170)。第1の中継装置441は、シーケンス番号11461のデータにTCPオプションを付与すると共に、ACK番号から所定値である1000000を減算して第2の中継装置442にデータを送信する(ステップS171)。第2の中継装置442は受信したデータをパススルーする(ステップS172)。第2の中継装置442からのデータを受信した第2の通信装置455は、期待したシーケンス番号(シーケンス番号1011461)とは異なるシーケンス番号が付与されたデータを受信したため、シーケンスエラーとして再送要求のACKパケットを返送する(ステップS180)。第2の中継装置442は、障害発生中の為、再送要求のACKパケットをパススルーする(ステップS181)。第1の中継装置441は、再送要求のACKパケットにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで、対向する第2の中継装置442の障害を検知できる(ステップS185)。対向する第2の中継装置442の障害を検知した後に、第1の中継装置441は、第1の通信装置454、及び、第2の中継装置442を介して第2の通信装置455にリセット(RST)パケットを送信し、以降の通信を強制的に終了させても良い。また、対向する第2の中継装置442の障害を検知した後に、第1の中継装置441は、受信したデータをパススルーによって第1の通信装置454に送信しても良い。なお、図15では、第1の中継装置441は、シーケンス番号11461のデータに対するACKパケットに基づき障害発生を検知したが(ステップS185)、シーケンス番号10001のデータに対するACKパケットの送信がステップS180よりも先に処理された場合は、該ACKパケットに基づき障害発生を検知できる。
B−4.効果:
上記のように、第1と第2の中継装置441,442は、TCPオプションとACK番号の少なくともいずれか一方に基づいて、一方の中継装置441,442が他方の中継装置441,442の障害発生を容易に検知できる。これにより、例えば、第1と第2の中継装置441,442のいずれかに障害が発生した場合に、タイムアウト等によるデータ通信の中断を待つことなく、パススルーによるデータ送信や、RSTパケットの送信等のデータ通信を進めるための処理を速やかに実行できる。
上記実施例では、TCPオプションとACK番号に基づいて中継装置441,442の障害発生を検知している(例えば、図10,図12,図13)。TCPオプションに加え、ACK番号も障害発生を検知するための判断要素に加えることで、他のネットワーク(コネクション)から誤って侵入したTCPオプションが付与されたパケットを元に、対向する中継装置441,442の障害発生を誤って検知できない可能性を低減できる。すなわち、より精度良く中継装置441,442の障害発生を検知できるネットワークシステム5を構築できる。
また、上記実施例では、受信したデータによって検知部46が対向する中継装置441,442の障害発生を検知した場合に、障害発生を検知した中継装置441,442が受信したデータがSYNパケットを含む場合は、パススルーによって以降のデータを処理している(図8)。これにより、3ウェイ・ハンドシェイクの処理を中断することなくコネクションを確立できる。
また、上記実施例では、受信したデータによって検知部46が対向する中継装置441,442の障害発生を検知した場合に、障害発生を検知した中継装置441,442が受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対するACKパケットを含む場合は、パススルーによって以降のデータを処理している(図9)。これにより、3ウェイ・ハンドシェイクの処理を中断することなくコネクションを確立できる。
ここで、上記実施例の第1の中継装置441と第2の中継装置442が課題を解決するための手段に記載の「第1の中継装置」に相当する。詳細には、上記実施例のうち、第1の中継装置441が課題を解決するための手段に記載の「第1の中継装置」に相当する場合は、第2の中継装置442が課題を解決するための手段に記載の「第2の中継装置」に相当する。また、上記実施例のうち、第2の中継装置442が課題を解決するための手段に記載の「第1の中継装置」に相当する場合は、第1の中継装置441が課題を解決するための手段に記載の「第2の中継装置」に相当する。
C.変形例:
以上、本発明の一実施例について説明したが、本発明はこのような実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができる。例えば以下のような変形が可能である。
C−1.第1変形例:
上記実施例の障害検知の一態様では、データにTCPオプションが付与されていないことと、ACK番号が減算されていないことを検知することで対向する中継装置441,442の障害発生を検知する態様を含んでいたが(例えば、B−2−4.第3の障害検知態様)、これに限定されるものではない。すなわち、データにTCPオプションが付与されていないことと、ACK番号が減算されていないことの少なくともいずれか一方を検知することで、一方の中継装置441,442が、他方の対向する中継装置441,442の障害発生を検知しても良い。例えば、図10において、第1の中継装置441が受信したデータにTCPオプションが付与されていないことを検知することで、第1の中継装置441は対向する第2の中継装置442の障害発生を検知しても良い。また、例えば図10において、第1の中継装置441が受信したデータのACK番号が所定値減算されていないことを検知することで、第1の中継装置441は対向する第2の中継装置442の障害発生を検知しても良い。すなわち、以下の変形態様の中継装置であっても良い。
・第1の変形態様:
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、を有する加工部と、を有し、
前記検知部が対向する前記第2の中継装置の障害の発生を検知するための要素として前記マークを含む、第1の中継装置。
上記第1の変形態様の第1の中継装置は、マークに基づいて対向する第2の中継装置の障害発生を検知できる。ここで、検知部は、第2の中継装置から送信されて受信したデータにマークが付与されていない場合に、第2の中継装置の障害の発生を容易に検知できる。
・第2の変形態様:
シーケンス番号を用いたストリーム型の通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に直列に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
受信したデータの転送を行うための転送制御部と、
対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
前記転送制御部は、
前記受信したデータの転送を行う転送部と、
前記第2の中継装置の障害の発生を検知するために前記受信したデータを加工する加工部であって、(i)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(ii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに付与されている確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
前記検知部が対向する前記第2の中継装置の障害の発生を検知するための要素として前記確認応答番号を含む、第1の中継装置。
上記第2の変形態様の第1の中継装置は、確認応答番号に基づいて対向する第2の中継装置の障害発生を検知できる。ここで、検知部は、第2の中継装置から送信されて受信したデータのうち確認応答番号が、本来受信すべき番号から所定値を加算した番号である場合に、第2の中継装置の障害の発生を容易に検知できる。
C−2.第2変形例:
上記実施例では、第1と第2の通信装置454,455はTCPによってデータ通信を行っていたが、データ通信に用いられるプロトコルはTCPに限定されるものではない。すなわち、第1と第2の通信装置454,455がシーケンス番号を用いたストリーム型の通信によってデータ通信を行う場合に、本発明を適用できる。例えば、RTCP(Real-time Transport Control Protocol)を用いたデータ通信にも本発明は適用できる。
C−3.第3変形例:
上記実施例では、第1と第2の中継装置441,442が対向する中継装置441,442の障害発生を検知し、RSTパケットを送信することでデータ通信を中断していたが、以下のようにしてデータ通信を中断しても良い。すなわち、ネットワークシステム5に接続された制御装置を新たに備え、中継装置441,442によって障害が検知された場合に、障害を検知した中継装置が障害検知を制御装置に報知し、障害検知に関する情報を受信した制御装置がデータ通信の中断を実行しても良い。
5,5w…ネットワークシステム
10w…第1の中継装置
11w…第2の中継装置
20w…第1の通信装置
21w…第2の通信装置
41,42…入出力インタフェース
44…転送制御部
46…検知部
48…加工部
48a…オプション部
48b…加算部
48c…減算部
49…転送部
441…第1の中継装置
442…第2の中継装置
454…第1の通信装置
455…第2の通信装置

Claims (8)

  1. シーケンス番号を用いた通信によってデータを伝送する2つの端末と、前記2つの端末の伝送路上に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置であって、
    受信したデータの転送を行うための転送制御部と、
    対向する前記第2の中継装置に障害が発生したことを検知する検知部と、を備え、
    前記転送制御部は、
    前記受信したデータの転送を行う転送部と
    記受信したデータを加工する加工部であって、(i)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
    前記検知部は、前記第2の中継装置から送信されるデータに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すための第1のマークと、確認応答番号である第1の確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する、第1の中継装置。
  2. 請求項1に記載の第1の中継装置であって、
    前記検知部は、前記第2の中継装置から送信されて受信したデータに前記第1のマークが付与されていない場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
  3. 請求項1に記載の第1の中継装置であって、
    前記検知部は、前記第2の中継装置から送信されて受信したデータのうちの前記第1の確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
  4. 請求項1に記載の第1の中継装置であって、
    前記検知部は、前記第2の中継装置から送信されて受信したデータに前記第1のマークが付与されていない場合であり、かつ、前記受信したデータのうちの前記第1の確認応答番号が、本来受信すべき番号から前記所定値を加算した番号である場合に、前記第2の中継装置の障害の発生を検知する、第1の中継装置。
  5. 請求項1乃至請求項4のいずれか一項に記載の第1の中継装置であって、
    前記2つの端末はTCPを用いて通信を行い、
    前記転送制御部は、
    受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
  6. 請求項1乃至請求項5のいずれか一項に記載の第1の中継装置であって、
    前記2つの端末はTCPを用いて通信を行い、
    前記転送制御部は、
    受信したデータによって前記検知部が前記第2の中継装置の障害の発生を検知した場合に、前記受信したデータがTCPコネクション確立要求を行うためのSYNパケットに対する確認応答パケットを含む場合は、前記加工部の機能を用いることなく前記受信したデータの転送を行う、第1の中継装置。
  7. シーケンス番号を用いた通信によってデータが伝送される2つの端末と、前記2つの端末の伝送路上に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を有するネットワークに配置される第1の中継装置の制御方法であって、
    (a)受信したデータを転送する工程と、
    (b)対向する前記第2の中継装置に障害が発生したことを検知する工程と、を備え、
    前記工程(a)は、
    (a1)前記第2の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与する工程と、
    (a2)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する工程と、
    (a3)データを対向する前記端末から受信した場合に、前記対向する端末から送信されるデータに確認応答番号が付与されているときに、前記確認応答番号に前記所定値を減算する工程と、を含み、
    前記工程(b)は、
    前記第2の中継装置から送信されるデータに付与される、前記第1と第2の中継装置間でのデータのやり取りであることを示すための第1のマークと、確認応答番号である第1の確認応答番号の少なくともいずれか一方に基づいて対向する前記第2の中継装置の障害の発生を検知する工程を含む、制御方法。
  8. ネットワークシステムであって、
    シーケンス番号を用いた通信によってデータを伝送する2つの端末と、
    前記2つの端末の伝送路上に配置され前記2つの端末間のデータを中継するための第1と第2の中継装置と、を備え、
    前記1と第2の中継装置は、それぞれ、
    受信したデータの転送を行うための転送制御部と、
    対向する他方の前記中継装置に障害が発生したことを検知する検知部と、を備え、
    前記転送制御部は、
    前記受信したデータの転送を行う転送部と
    記受信したデータを加工する加工部であって、(i)前記他方の中継装置に向けてデータを転送する場合に、転送するデータに前記第1と第2の中継装置間でのデータのやり取りであることを示すためのマークをデータに付与するオプション部と、(ii)データを対向する前記端末に送信する場合に、送信元の前記端末から送信されるデータに付与されているシーケンス番号に所定値を加算する加算部と、(iii)データを対向する前記端末から受信した場合に、前記端末から送信されたデータに確認応答番号が付与されているときに、前記確認応答番号に対し前記所定値を減算する減算部と、を有する加工部と、を有し、
    一方の前記中継装置が備える前記検知部は、前記他方の中継装置の前記オプション部によって付与される前記マークと、前記他方の中継装置から送信されるデータに付与される前記確認応答番号の少なくともいずれか一方に基づいて対向する前記他方の中継装置の障害の発生を検知する、ネットワークシステム。
JP2012537249A 2012-02-28 2012-02-28 中継装置、中継装置の制御方法、及び、ネットワークシステム Active JP5363658B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/001344 WO2013128483A1 (ja) 2012-02-28 2012-02-28 中継装置、中継装置の制御方法、及び、ネットワークシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013183607A Division JP5771656B2 (ja) 2013-09-05 2013-09-05 中継装置

Publications (2)

Publication Number Publication Date
JP5363658B1 true JP5363658B1 (ja) 2013-12-11
JPWO2013128483A1 JPWO2013128483A1 (ja) 2015-07-30

Family

ID=49081752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012537249A Active JP5363658B1 (ja) 2012-02-28 2012-02-28 中継装置、中継装置の制御方法、及び、ネットワークシステム

Country Status (5)

Country Link
US (2) US8948185B2 (ja)
EP (1) EP2822234A4 (ja)
JP (1) JP5363658B1 (ja)
CN (1) CN103404100B (ja)
WO (1) WO2013128483A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014003700A (ja) * 2013-09-05 2014-01-09 Alaxala Networks Corp 中継装置、及び、通信システム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5363658B1 (ja) * 2012-02-28 2013-12-11 アラクサラネットワークス株式会社 中継装置、中継装置の制御方法、及び、ネットワークシステム
US9027129B1 (en) * 2012-04-30 2015-05-05 Brocade Communications Systems, Inc. Techniques for protecting against denial of service attacks
US10164870B2 (en) * 2013-06-28 2018-12-25 Avago Technologies International Sales Pte. Limited Relaxed ordering network
TWI566616B (zh) * 2015-03-04 2017-01-11 瑞昱半導體股份有限公司 三方交握方法以及電腦可讀媒體
US10375212B2 (en) * 2017-01-11 2019-08-06 Citrix Systems, Inc. Systems and methods for improving the performance of a computer network using multiplexed application layer streams of network traffic
US10367682B2 (en) * 2017-06-30 2019-07-30 Bank Of American Corporation Node failure recovery tool
JP7101595B2 (ja) * 2018-11-05 2022-07-15 住友電気工業株式会社 スイッチ装置、通信制御方法および通信制御プログラム
US11153038B2 (en) * 2019-11-22 2021-10-19 Qualcomm Incorporated MIC recovery of BR/EDR links
US11706303B2 (en) * 2021-04-22 2023-07-18 Cisco Technology, Inc. Survivability method for LISP based connectivity

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006339726A (ja) * 2005-05-31 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> 中継装置およびデータ中継方法
JP2008072552A (ja) * 2006-09-15 2008-03-27 Nec Corp 中継装置、中継方法及び中継プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI254527B (en) * 2003-02-19 2006-05-01 Nec Corp Network system, spanning tree configuration method and spanning tree configuration node
JP4096183B2 (ja) * 2003-02-27 2008-06-04 日本電気株式会社 警報転送方法及び広域イーサネット網
US7512064B2 (en) * 2004-06-15 2009-03-31 Cisco Technology, Inc. Avoiding micro-loop upon failure of fast reroute protected links
JP4629639B2 (ja) * 2006-09-29 2011-02-09 富士通株式会社 パケット中継装置
US7660254B2 (en) * 2006-12-22 2010-02-09 Cisco Technology, Inc. Optimization of distributed tunnel rerouting in a computer network with coordinated head-end node path computation
CN101453265A (zh) * 2007-08-13 2009-06-10 华为技术有限公司 无源光网络系统的故障检测方法、系统和设备
JP2010200300A (ja) 2009-01-28 2010-09-09 Meidensha Corp Tcp通信方式
WO2010106651A1 (ja) * 2009-03-18 2010-09-23 富士通株式会社 経路解析装置
US8605745B2 (en) 2009-09-16 2013-12-10 Hitachi, Ltd. Communication apparatus and communication system for enhancing speed of communications between terminals
JP5533112B2 (ja) * 2010-03-24 2014-06-25 富士通株式会社 監視装置,監視方法および監視プログラム
JP5708168B2 (ja) * 2010-06-16 2015-04-30 株式会社リコー 伝送端末、伝送システム、伝送方法、及び伝送端末用プログラム
JP5363658B1 (ja) * 2012-02-28 2013-12-11 アラクサラネットワークス株式会社 中継装置、中継装置の制御方法、及び、ネットワークシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006339726A (ja) * 2005-05-31 2006-12-14 Nippon Telegr & Teleph Corp <Ntt> 中継装置およびデータ中継方法
JP2008072552A (ja) * 2006-09-15 2008-03-27 Nec Corp 中継装置、中継方法及び中継プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200401779011; 土屋 卓之 他: '高速フォトニックネットワーク転送プロトコルおよびその実装に関する研究' 電子情報通信学会技術研究報告(信学技報) 第103巻、第56号, 20030509, pp.73-78(IN2003-13) *
JPN6013021883; 土屋 卓之 他: '高速フォトニックネットワーク転送プロトコルおよびその実装に関する研究' 電子情報通信学会技術研究報告(信学技報) 第103巻、第56号, 20030509, pp.73-78(IN2003-13) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014003700A (ja) * 2013-09-05 2014-01-09 Alaxala Networks Corp 中継装置、及び、通信システム

Also Published As

Publication number Publication date
US20140208152A1 (en) 2014-07-24
EP2822234A1 (en) 2015-01-07
US9292370B2 (en) 2016-03-22
WO2013128483A1 (ja) 2013-09-06
CN103404100A (zh) 2013-11-20
JPWO2013128483A1 (ja) 2015-07-30
EP2822234A4 (en) 2015-09-16
CN103404100B (zh) 2016-02-17
US20150113339A1 (en) 2015-04-23
US8948185B2 (en) 2015-02-03

Similar Documents

Publication Publication Date Title
JP5363658B1 (ja) 中継装置、中継装置の制御方法、及び、ネットワークシステム
JP2019129408A (ja) 障害検知方法、ノード装置、通信システム
JP5691703B2 (ja) マルチキャストネットワークシステム
JP5097620B2 (ja) マルチパス通信システム
JP4153502B2 (ja) 通信装置及び論理リンク異常検出方法
CN101425942A (zh) 一种实现双向转发检测的方法、装置及系统
CN109510690B (zh) 传输报文的方法、网络组件和计算机可读存储介质
WO2013044827A1 (zh) 一种跟踪路由测试方法、系统、装置及设备
JP2021511705A5 (ja)
CN105471613A (zh) 一种临时通道的建立方法、设备和系统
JP5055049B2 (ja) Icmp変換装置
CN102739462B (zh) 一种测试报文的发送方法以及装置
JP2006074132A (ja) マルチキャスト通信方法及びゲートウェイ装置
CN113055935A (zh) 一种拥塞控制方法、设备和系统
US7869350B1 (en) Method and apparatus for determining a data communication network repair strategy
JP5771656B2 (ja) 中継装置
EP1901497A1 (en) Apparatus for low latency communications through an alternate path
CN105703997A (zh) 一种隧道控制方法及装置
JP4505575B2 (ja) 通信システム、ゲートウェイ送信装置、ゲートウェイ受信装置、送信方法、受信方法および情報記録媒体
CN106789639B (zh) 一种报文处理方法和装置
US20110261824A1 (en) Virtual circuit configuration method
WO2023103504A1 (zh) 链路检测方法、公网节点和存储介质
US20240089198A1 (en) Packet processing method and system, and network device
CN111726287B (zh) 一种环网的保护方法和装置
CN110535675B (zh) 一种组播快速切换的方法及装置

Legal Events

Date Code Title Description
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: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130905

R150 Certificate of patent or registration of utility model

Ref document number: 5363658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250