JP2017501657A - リンクのヘルスチェック方法および装置 - Google Patents

リンクのヘルスチェック方法および装置 Download PDF

Info

Publication number
JP2017501657A
JP2017501657A JP2016555885A JP2016555885A JP2017501657A JP 2017501657 A JP2017501657 A JP 2017501657A JP 2016555885 A JP2016555885 A JP 2016555885A JP 2016555885 A JP2016555885 A JP 2016555885A JP 2017501657 A JP2017501657 A JP 2017501657A
Authority
JP
Japan
Prior art keywords
address
message
destination
check
server
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.)
Granted
Application number
JP2016555885A
Other languages
English (en)
Other versions
JP6091724B2 (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2017501657A publication Critical patent/JP2017501657A/ja
Application granted granted Critical
Publication of JP6091724B2 publication Critical patent/JP6091724B2/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
    • 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/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/006Identification
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】パケットの損失を招いたり、誤ってサーバを削除したりする問題を解決し、ヘルスチェックの正確率を向上させる。【解決手段】リンクのヘルスチェック方法および装置を開示し、当方法は、キープアライブプログラムにより生成された制御情報を受信して保存するステップと、前記制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信するステップと、前記チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、前記チェック待ちサーバから返送された前記応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断するステップとを含む。【選択図】図1

Description

本出願は、バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドから2014年10月31日に出願され、名称が「リンクのヘルスチェック方法および装置」であり、中国出願番号が「201410602750.6」である中国発明特許出願の優先権の利益を主張する。
本発明は、コンピュータネットワーク技術に関し、特にリンクのヘルスチェック方法および装置に関する。
LVSは、Linux Virtual Serverの略語で、すなわち、Linux(オープン送信元オペレーティングシステム)仮想サーバであり、仮想サーバクラスターシステムである。LVSは、主にロードバランサとバックエンドのサーバとを含む。その中で、ロードバランサ(load balancer)は、クラスター全体のフロントエンドコンピュータで実行するためのバックエンドのサーバにクライアントからの要求を送信する。バックエンドのサーバは、実際には、クライアントからの要求を実行するサーバである。
現在、ロードバランサは主にKeepalived(キープアライブプログラム)によってバックエンドのサーバのヘルスチェックを行う。
しかし、Keepalivedがバックエンドのサーバのヘルスチェックを行うとき、直接、ロードバランサのイントラネットIPアドレスを通して、ヘルスチェックパケットをバックエンドのサーバへ送信するので、クライアントおよびバックエンドのサーバが正常であるか否かを判断できない。これによって、大量のバケットの損失を招いたり、誤ってバックエンドのサーバを削除したりする可能性がある。
本発明の第一目的は、少なくともある程度、上記技術問題を解決するために、リンクのヘルスチェック方法を提供することにある。当該方法は、ユーザがLVSにアクセスする流れと一致し、これによって、パケットの損失を招いたり、誤ってサーバを削除したりする問題を解決し、ヘルスチェックの正確率を向上させる。
本発明の第二目的は、リンクのヘルスチェック装置を提供することにある。
前記目的を達成するために、本発明の第一側面の実施例によれば、キープアライブプログラムにより生成された、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、チェック待ちサーバIPアドレスおよびモード情報を含む制御情報を受信して保存するステップと、前記制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信するステップと、前記チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、前記チェック待ちサーバから返送された前記応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断するステップと、を含むリンクのヘルスチェック方法を提供する。
本発明の実施例のリンクのヘルスチェック方法によれば、キープアライブプログラムにより生成された制御情報を受信して保存し、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信し、チェック待ちサーバに対応するリンクが健全であるか否かを検出する。当該方法は、ユーザがLVSにアクセスする流れと一致し、これによって、パケットの損失を招いたり、誤ってサーバを削除したりする問題を解決し、ヘルスチェックの正確率を向上させる。
前記目的宛先を達成するために、本発明の第二側面の実施例によれば、キープアライブプログラムにより生成された、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、チェック待ちサーバIPアドレスおよびモード情報を含む制御情報を受信して保存する受信モジュールと、前記制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信する処理モジュールと、前記チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、前記チェック待ちサーバから返送された前記応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する判断モジュールとを含むリンクのヘルスチェック装置を提供する。
本発明の実施例のリンクのヘルスチェック装置によれば、キープアライブプログラムにより生成された制御情報を受信して保存し、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信し、チェック待ちサーバに対応するリンクが健全であるか否かを検出する。当該方法は、ユーザがLVSにアクセスする流れと一致し、これによって、パケットの損失を招いたり、誤ってサーバを削除したりする問題を解決し、ヘルスチェックの正確率を向上させる。
本発明の付加的内容および利点は、その一部が下記の説明で述べられ、他の部分は下記の説明を通して明らかになり、あるいは、本発明の実現で理解される。
本発明および/または付加的な態様および利点は、下記の図面を参照しながら実施例を説明することで明らかになり、また、理解し易くなる。
本発明の一の実施例によるリンクのヘルスチェック方法のフローチャートである。 本発明の一の実施例によるメッセージの構造を示す第一のブロック図である。 本発明の一の実施例によるメッセージの構造を示す第二のブロック図である。 本発明の一の具体的な実施例によるリンクのヘルスチェック方法のフローチャートである。 本発明の別の具体的な実施例によるリンクのヘルスチェック方法のフローチャートである。 本発明の一の実施例によるリンクのヘルスチェック装置の構造を示すブロック図であるである。
以下に、本発明の実施例を詳細に説明する。前記実施例の実例が図面に示されるが、一貫して同一または類似する符号は、相互に同一または類似の部品、或いは、相互に同一または類似の機能を有する部品を表す。以下に、図面を参照しながら説明される実施例は例示的なものであり、本発明を解釈するためだけに用いられるものであって、本発明を限定するように理解されてはならない。
次に、図面を参照しながら、本発明の実施例のリンクのヘルスチェック方法および装置を説明する。
図1は本発明の一の実施例によるリンクのヘルスチェック方法のフローチャートである。本実施例は、ロードバランサのシステムカーネル側から説明される。
図1に示すように、当該リンクのヘルスチェック方法は、ステップS101、ステップS102およびステップS103を含む。
ステップS101において、キープアライブプログラムにより生成された制御情報を受信して保存する。
本発明の実施例では、システムカーネルは、keepalivedのようなキープアライブプログラムにより生成された制御情報を受信して保存することができる。そのうち、制御情報は、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、チェック待ちサーバIPアドレスおよびモード情報を含むことができる。モード情報は、DR(ダイレクトルーティング)モード、または、TUN(トンネル)モードとすることができる。
具体的に、キープアライブプログラムは、bind(バインド関数)のような第一所定関数を呼び出して、送信元IPアドレスと送信元ポートとを設定することができる。たとえば、送信元IPアドレスをローカルIPアドレスとするように設定し、送信元ポートを0とするように設定する。そして、宛先IPアドレスをロードバランサの仮想IPアドレスとするように設定するとともに、第二所定関数を呼び出して、宛先ポートを設定する。たとえば、connectを呼び出して、宛先IPアドレスをロードバランサの仮想IPアドレスとするように設定し、宛先ポートをVPORTとするように設定する。
制御情報を生成した後、キープアライブプログラムはgetsockname(ソケットの名前を取得する)関数を呼び出した後、setsockopt(ソケットオプションを設定する)を呼び出してシステムカーネルに制御情報を送信する。その中で、システムカーネルはLinuxシステムカーネルであってもよい。システムカーネルは、制御情報を受信すると、制御情報を保存する。
ステップS102において、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信する。
本発明の実施例において、システムカーネルは、制御情報によって受信したメッセージに対しマッチングする。
具体的に、システムカーネルは、制御情報に含まれる送信元IPアドレス、送信元ポート、宛先IPアドレスおよび宛先ポートが、受信したメッセージの中の送信元IPアドレス、送信元ポート、宛先IPアドレスおよび宛先ポートと完全に一致するか否かによって、マッチングに成功するか否かを判断する。完全に一致するなら、マッチングに成功したと判断する。
その後、システムカーネルは、マッチングに成功したメッセージを処理する。
具体的に、モード情報がDRモードであると判断された場合、メッセージの宛先MACアドレスをチェック待ちサーバのMACアドレスに変更する。図2に示すように、メッセージの構造は、データの前に宛先IPアドレスを追加し、さらに、宛先IPアドレスの前に宛先MACアドレスを追加することによって構成されるものである。本発明の実施例では、モード情報がDRモードである場合、当該メッセージの前の宛先MACアドレスをチェック待ちサーバのMACアドレスに変更することができる。
モード情報がTUNモードであると判断された場合、メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加する。図3に示すように、メッセージの構造は、データの前に宛先IPアドレスを追加し、さらに、宛先IPアドレスの前に宛先MACアドレスを追加することによって構成されるものである。本発明の実施例では、モード情報がTUNモードである場合、当該メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加することができる。
マッチングに成功したメッセージを処理した後、チェック待ちサーバに処理後のメッセージを送信することができる。
ステップS103において、チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、チェック待ちサーバから返送された応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する。
その中で、リンクが健全でないと判断することには、次の二種類の状況がある。一方の種類の状況は、リンクが物理的に繋がっていない。他方の種類の状況は、リンクが物理的に繋がっていても、健全応答パケットを取得できない。
本発明の実施例では、システムカーネルは、チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断する。システムカーネルは、チェック待ちサーバから返送された応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する。
本発明の実施例のリンクのヘルスチェック方法によれば、キープアライブプログラムにより生成された制御情報を受信して保存し、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信し、チェック待ちサーバに対応するリンクが健全であるか否かを検出する。当該方法は、ユーザがLVSにアクセスする流れと一致し、これによって、パケットの損失を招いたり、誤ってサーバを削除したりする問題を解決し、ヘルスチェックの正確率を向上させる。
図4は本発明の一の具体的な実施例のリンクのヘルスチェック方法のフローチャートである。本実施例はDRモードを現在の作動モードとして説明する。
まず、LVSがDRモードにある場合、ユーザがLVSにアクセスする流れを説明する。
LVSがDRモードにある場合、ユーザからの要求を処理するステップは以下の通りである。
1、クライアントがロードバランサ(LINUXシステムカーネル)の仮想IPアドレスに要求パケットを送信する。
2、ロードバランサは受信した要求パケットを解析し、要求パケットの宛先MACアドレスをあるサーバのMACアドレスに変更し、サーバに要求パケットを送信する。
3、サーバのlo(ローカルループインターフェース)をロードバランサの仮想IPアドレスにバインディングする。サーバが要求パケットを受信し、処理し、応答パケットを生成し、別のルータを経由して、直接にクライアントに応答パケットを返送する。
本実施例のリンクのヘルスチェック方法の流れは、ユーザがLVSにアクセスする流れと一致しているので、リンクが健全であるかを正確にチェックできる。
具体的に、図4に示すように、当該リンクのヘルスチェック方法の流れは、ステップS401、ステップS402およびステップS403を含む。
ステップS401において、keepalivedにより生成された制御情報を受信して保存する。
具体的に、Keepalivedのbind(バインド関数)システムコールは、ソケットの送信元IPアドレスを、たとえば10.76.1.1とし、送信元ポートを0として、バインディングのために用いることができ、そして、getsockname(ソケットの名前を取得する)関数を呼び出して、制御情報を生成するために、ソケットにバインディングするポート番号を取得する。その中で、制御情報は、送信元IPアドレス、送信元ポート、VIPアドレス(ロードバランサの仮想IPアドレス)、VPORT(ロードバランサの仮想IPポート)、チェック待ちサーバIPアドレスおよびモード情報などの情報を含む。その後、ロードバランサ(LINUXシステムカーネル)は、Keepalivedにより生成された制御情報を受信して保存する。
ステップS402において、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージの宛先MACアドレスをチェック待ちサーバのMACアドレスに変更し、チェック待ちサーバに処理したメッセージを送信する。
具体的には、netfilter(ネットワークフィルタリンクフレームワーク)を利用して、LOCAL_OUT(ローカル出口)でhook(フック関数)を呼び出してメッセージを検出する。当該メッセージをヘルスチェックするためのメッセージであると判断すれば、メッセージの宛先MACアドレスをチェック待ちサーバのMACアドレスに変更し、チェック待ちサーバに処理したメッセージを送信する。
ステップS403において、チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、チェック待ちサーバから返送された応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する。
具体的に、チェック待ちサーバから返送された応答メッセージを受信した場合、netfilterを利用して、PRE_ROUTING(プレルーティング)でhook(フック関数)を呼び出して応答メッセージを検出する。当該応答メッセージが対応するチェック待ちサーバから返送されたメッセージであると判断すれば、対応するリンクが健全であると判断する。
本発明の実施例のリンクのヘルスチェック方法によれば、Keepalivedにより生成された制御情報を受信して保存し、制御情報によって受信したメッセージに対してマッチングし、マッチングに成功したメッセージの宛先MACアドレスをチェック待ちサーバのMACアドレスに変更し、チェック待ちサーバに処理したメッセージを送信し、チェック待ちサーバに対応するリンクが健全であるか否かを検出する。当該方法は、ユーザがLVSにアクセスする流れと一致する。したがって、クライアントがチェック待ちサーバに正常にアクセスできないが、イントラネットIPでチェック待ちサーバが健全であると検出した時に、パケットが損失するという問題を解決できる。また、クライアントがチェック待ちサーバに正常にアクセスできるが、イントラネットIPでチェック待ちサーバが健全でないと検出した時に、誤って健全なサーバを削除するという状況を避けることができる。
図5は本発明の別の具体的な実施例のリンクのヘルスチェック方法のフローチャートである。本実施例はTUNモードを現在の作動モードとして説明する。
まず、LVSがTUNモードにある場合、ユーザがLVSにアクセスする流れを説明する。
LVSがTUNモードにある場合、ユーザからの要求を処理するステップは以下の通りである。
1、クライアントがロードバランサ(LINUXシステムカーネル)の仮想IPアドレスに要求パケットを送信する。
2、ロードバランサは要求パケットを受信し、トンネリングプロトコルにより要求パケットをカプセル化し、サーバに要求パケットを送信する。
3、サーバが要求パケットを受信し、処理し、応答パケットを生成し、直接、クライアントに応答パケットを返送する。
本実施例のリンクのヘルスチェック方法の流れは、ユーザがLVSにアクセスする流れと一致しているので、リンクが健全であるかを正確にチェックできる。
具体的に、図5に示すように、当該リンクのヘルスチェック方法の流れは、ステップS501、ステップS502およびステップS503を含む。
ステップS501において、Keepalivedにより生成された制御情報を受信して保存する。
具体的に、Keepalivedのbind(バインド関数)システムコールは、ソケットの送信元IPアドレスを、たとえば10.76.1.1とし、送信元ポートを0として、バインディングのために用いることができ、そして、getsockname(ソケットの名前を取得する)関数を呼び出して、制御情報を生成するために、ソケットにバインディングするポート番号を取得する。その中で、制御情報は、送信元IPアドレス、送信元ポート、VIPアドレス(ロードバランサの仮想IPアドレス)、VPORT(ロードバランサの仮想IPポート)、チェック待ちサーバIPアドレスおよびモード情報などの情報を含む。その後、ロードバランサ(LINUXシステムカーネル)は、Keepalivedにより生成された制御情報を受信して保存する。
ステップS502において、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加して、チェック待ちサーバに処理したメッセージを送信する。
具体的には、netfilter(ネットワークフィルタリンクフレームワーク)を利用して、LOCAL_OUT(ローカル出口)でhook(フック関数)を呼び出してメッセージを検出する。当該メッセージをヘルスチェックするためのメッセージであると判断すれば、メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加して、チェック待ちサーバに処理したメッセージを送信する。
ステップS503において、チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、チェック待ちサーバから返送された応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する。
具体的に、チェック待ちサーバから返送された応答メッセージを受信した場合、netfilterを利用して、PRE_ROUTINGでhook(フック関数)を呼び出して応答メッセージを検出する。当該応答メッセージが対応するチェック待ちサーバから返送されたメッセージであると判断すれば、対応するリンクが健全であると判断する。
本発明の実施例のリンクのヘルスチェック方法によれば、keepalivedにより生成された制御情報を受信して保存し、制御情報によって受信したメッセージに対してマッチングし、マッチングに成功したメッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加して、チェック待ちサーバに処理したメッセージを送信し、チェック待ちサーバに対応するリンクが健全であるか否かを検出する。当該方法は、ユーザがLVSにアクセスする流れと一致する。したがって、クライアントがチェック待ちサーバに正常にアクセスできないが、イントラネットIPでチェック待ちサーバが健全であると検出した時に、パケットが損失するという問題を解決できる。また、クライアントがチェック待ちサーバに正常にアクセスできるが、イントラネットIPでチェック待ちサーバが健全でないと検出した時に、誤って健全なサーバを削除するという状況を避けることができる。
前記実施例を実現するために、本発明は更にリンクのヘルスチェック装置を提出する。
図6は本発明の一の実施例のリンクのヘルスチェック装置の構造を示すブロック図であるである。
図6に示すように、リンクのヘルスチェック装置は、受信モジュール110、処理モジュール120および判断モジュール130を含む。
その中で、受信モジュール110は、キープアライブプログラムにより生成された制御情報を受信して保存する。
本発明の実施例では、受信モジュール110は、keepalivedのようなキープアライブプログラムにより生成された制御情報を受信して保存することができる。そのうち、制御情報は、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、チェック待ちサーバIPアドレスおよびモード情報を含むことができる。モード情報は、DR(ダイレクトルーティング)モード、または、TUN(トンネル)モードとすることができる。
具体的に、キープアライブプログラムは、bind(バインド関数)のような第一所定関数を呼び出して、送信元IPアドレスと送信元ポートとを設定することができる。たとえば、送信元IPアドレスをローカルIPアドレスとするように設定し、送信元ポートを0とするように設定する。そして、宛先IPアドレスをロードバランサの仮想IPアドレスとするように設定するとともに、第二所定関数を呼び出して、宛先ポートを設定する。たとえば、connectを呼び出して、宛先IPアドレスをロードバランサの仮想IPアドレスとするように設定し、宛先ポートをVPORTとするように設定する。
制御情報を生成した後、キープアライブプログラムはgetsockname(ソケットの名前を取得する)関数を呼び出して、setsockopt(ソケットオプションを設定する)を呼び出してシステムカーネルの受信モジュール110に制御情報を送信する。その中で、システムカーネルはLinuxシステムカーネルであってもよい。受信モジュール110は制御情報を受信すると、制御情報を保存する。
処理モジュール120は、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信する。
本発明の実施例において、処理モジュール120は、制御情報によって受信したメッセージに対しマッチングする。
具体的に、処理モジュール120は、制御情報に含まれる送信元IPアドレス、送信元ポート、宛先IPアドレスおよび宛先ポートが、受信したメッセージの中の送信元IPアドレス、送信元ポート、宛先IPアドレスおよび宛先ポートと完全に一致するか否かによって、マッチングに成功するか否かを判断する。完全に一致するなら、マッチングに成功したと判断する。
その後、処理モジュール120は、マッチングに成功したメッセージを処理する。
具体的に、モード情報がDRモードであると判断された場合、処理モジュール120は、メッセージの宛先MACアドレスをチェック待ちサーバのMACアドレスに変更する。図2に示すように、メッセージの構造は、データの前に宛先IPアドレスを追加し、さらに、宛先IPアドレスの前に宛先MACアドレスを追加することによって構成されるものである。本発明の実施例では、モード情報がDRモードである場合、当該メッセージの前の宛先MACアドレスをチェック待ちサーバのMACアドレスに変更することができる。
モード情報がTUNモードであると判断された場合、処理モジュール120は、メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加することができる。図3に示すように、メッセージの構造は、データの前に宛先IPアドレスを追加し、さらに、宛先IPアドレスの前に宛先MACアドレスを追加することによって構成されるものである。本発明の実施例では、モード情報がTUNモードである場合、当該メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加することができる。
マッチングに成功したメッセージを処理した後、処理モジュール120は、チェック待ちサーバに処理後のメッセージを送信することができる。
判断モジュール130は、チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、チェック待ちサーバから返送された応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する。
その中っで、リンクが健全でないと判断することには、次の二種類の状況がある。一方の種類の状況は、リンクが物理的に繋がっていない。他方の種類の状況は、リンクが物理的に繋がっていても、健全応答パケットを取得できない。
本発明の実施例では、システムカーネルがチェック待ちサーバから返送された応答メッセージを受信した場合、判断モジュール130は対応するリンクが健全であると判断することができる。システムカーネルがチェック待ちサーバから返送された応答メッセージを受信しなかった場合、判断モジュール130は対応するリンクが健全ではないと判断する。
本発明の実施例のリンクのヘルスチェック装置によれば、キープアライブプログラムにより生成された制御情報を受信し、保存し、制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信し、チェック待ちサーバに対応するリンクが健全であるか否かを検出する。当該方法は、ユーザがLVSにアクセスする流れと一致し、これによって、パケットの損失を招いたり、誤ってサーバを削除したりする問題を解決し、ヘルスチェックの正確率を向上させる。
本明細書において、「一実施形態」、「いくつかの実施形態」、「例示」、「具体的な例示」或いは「いくつかの例示」などの用語を参照した説明とは、当該実施形態或いは例示に結合して説明された具体的特徴、構成、材料或いは特徴が、本発明の少なくとも一の実施形態或いは例示に含まれることをいう。本明細書において、上記用語に対する例示的な表現は、必ずしも同じ実施形態或いは例示を示すことではない。また、説明された具体的特徴、構成、材料或いは特徴は、いずれか一つ或いは複数の実施形態または例示において適切に結合することができる。また、矛盾しない限りに、当業者は、本明細書の異なる実施例または例示、および、異なる実施例または例示の特徴を組み合わせることができる。
また、用語「第一」、「第二」は単に目的を説明するためのみに用いられ、相対的な重要性に明示的にも暗示的にも関連づけられまたは示された技術特徴の数量を、暗示的に使用されるものではない。そのため、「第一」、「第二」を含む特徴を限定することは少なくとも一の当該特徴を明示的にまたは暗示的に含むことができる。本発明において、別途、明確に限定した場合を除き、用語「複数」は少なくとも二つ、たとえば、二つ、三つなどである。
フローチャートにおいて、または、ここで他の方式で説明されたいかなる過程または方法も、一つまたは特定の論理機能または過程を実現するための実行可能な命令のコードのモジュール、セグメントまたは一部である。本発明の好ましい実施形態は、他の形態も含み、例示されたまたは議論された順序(関与された機能とほぼ同じ方式または逆の順序を含む)によらず実行できることを当業者であれば理解すべきである。
フローチャート内で表され、または、その他の方式で記述された論理および/またはステップは、例えば、論理機能を実現するための命令実行可能な順序リストであると考えてよく、具体的には、いかなるコンピュータ読取可能媒体中でも実現することができ、それによって指令実行システム、装置、若しくは設備(例えばコンピュータに基づくシステム、プロセッサを含むシステムまたは他の指令実行システム、装置または設備から指令を取得して指令を実行することができるシステム等)に使用され、または、これらの指令実行システム、装置、若しくは設備を結合して使用される。本明細書について言えば、「コンピュータ読取可能媒体」は、プログラムを含み、保存し、通信し、伝播し、または、伝送し、指令実行システム、装置若しくは設備またはこれらの指令実行システム、装置若しくは設備に使用されるいかなる装置であってもよい。コンピュータ読取可能媒体のさらに具体的な例示(非網羅的リスト)には、1つ以上の配線を有する電気接続部(電子装置)、ポータブル型コンピュータディスク(磁気装置)、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(RAMまたはフラッシュメモリ)、光ファイバ、および、コンパクト光ディスク読み出し専用メモリ(CDROM)が含まれる。また、コンピュータ読取可能媒体は、その上に前述のプログラムを印刷した紙、または、その他適当な媒質でさえあってよい。なぜなら、例えば、紙またはその他の媒質に対して光学スキャンを行い、続いて編集、解釈、または、必要ならその他適当な方式で処理を行って、電子方式によって前記プログラムを取得し、その後、それをコンピュータメモリ中に保存することができるからである。
本発明の各部分は、ハードウェア、ソフトウェア、ファームウェア、または、それらの組み合わせで実現することができる。上記実施形態において、複数のステップまたは方法は、メモリに格納され且つ適切な命令実行システムにより実行されるソフトウェアまたはファームウェアで実現することができる。例えば、ハードウェアで実現する場合、他の実施形態と同様に、当該技術分野で公知の以下の技術におけるいずれか1つまたはそれらの組み合わせで実現することができる。データ信号に論理機能を実現するための論理ゲート回路を有するディスクリート論理回路、適切な組み合わせ論理ゲート回路を有する専用集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(PFGA)などである。
上述の実施形態を実現する方法に係る全部または部分のステップは、プログラムによって関連するハードウェアに命令を実行して完成でき、前記プログラムがコンピュータの読み取り可能な記憶媒体に記憶され、プログラムを実行するとき、実施形態のステップの一つまたはその組合せを含むことを当業者は理解すべきである。
また、本発明の実施形態に係る各機能ユニットは、一の処理モジュールに集成されてもよいし、各ユニット各自の物理的存在であってもよいし、ソフトウェアによるモジュールを利用してもよい。前記統合されたモジュールはハードウェアを利用してもできるし、ソフトウェアを利用してもできる。前記統合されたモジュールはソフトウェアを利用して独立するプロダクトとして販売または利用されるとき、コンピュータの読み取り可能な記憶媒体に記憶されてもよい。
前記記憶メディアは、ディスク、または、CDなどである。本発明の実施形態を示して説明したが、上述実施例は例示的なものであり、それを限定するものではないと理解すべきである。当業者は、本発明の原理および主旨から逸脱しない限り、これらの実施形態に対して複種の変化、補正、切り替えおよび変形を行うことができる。

Claims (10)

  1. キープアライブプログラムにより生成された、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、チェック待ちサーバIPアドレスおよびモード情報を含む制御情報を受信して保存するステップと、
    前記制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信するステップと、
    前記チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、前記チェック待ちサーバから返送された応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断するステップと、
    を含むことを特徴とするリンクのヘルスチェック方法。
  2. 前記モード情報は、ダイレクトルーティングモード、または、トンネルTUNモードを含むことを特徴とする請求項1に記載のリンクのヘルスチェック方法。
  3. 前記送信元IPアドレスおよび送信元ポートは前記キープアライブプログラムが第一所定関数を呼び出すことによって設定され、前記宛先IPアドレスおよび宛先ポートは前記キープアライブプログラムが第二所定関数を呼び出すことによって設定されたことを特徴とする請求項1に記載のリンクのヘルスチェック方法。
  4. 前記の前記制御情報によって受信したメッセージに対しマッチングすることは、
    前記制御情報に含まれる送信元IPアドレス、送信元ポート、宛先IPアドレス、および宛先ポートが、受信した前記メッセージの中の送信元IPアドレス、送信元ポート、宛先IPアドレスおよび宛先ポートと完全に一致するか否かによって、マッチングに成功するか否かを判断することを含むことを特徴とする請求項1に記載のリンクのヘルスチェック方法。
  5. 前記マッチングに成功したメッセージを処理することは、
    前記モード情報がDRモードであると判断された場合、前記メッセージの宛先MACアドレスを前記チェック待ちサーバのMACアドレスに変更し、
    前記モード情報がTUNモードであると判断された場合、前記メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加することを含むことを特徴とする請求項2に記載のリンクのヘルスチェック方法。
  6. キープアライブプログラムにより生成された、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、チェック待ちサーバIPアドレスおよびモード情報を含む制御情報を受信して保存する受信モジュールと、
    前記制御情報によって受信したメッセージに対しマッチングし、マッチングに成功したメッセージを処理して、チェック待ちサーバに処理後のメッセージを送信する処理モジュールと、
    前記チェック待ちサーバから返送された応答メッセージを受信した場合、対応するリンクが健全であると判断し、前記チェック待ちサーバから返送された前記応答メッセージを受信しなかった場合、対応するリンクが健全ではないと判断する判断モジュールとを含むことを特徴とするリンクのヘルスチェック装置。
  7. 前記モード情報は、ダイレクトルーティングDRモード、または、トンネルTUNモードを含むことを特徴とする請求項6に記載のリンクのヘルスチェック装置。
  8. 前記送信元IPアドレスおよび送信元ポートは前記キープアライブプログラムが第一所定関数を呼び出すことによって設定され、前記宛先IPアドレスおよび宛先ポートは前記キープアライブプログラムが第二所定関数を呼び出すことによって設定されたことを特徴とする請求項6に記載のリンクのヘルスチェック装置。
  9. 前記処理モジュールは、
    制御情報に含まれる送信元IPアドレス、送信元ポート、宛先IPアドレス、および宛先ポートが、受信した前記メッセージの中の送信元IPアドレス、送信元ポート、宛先IPアドレスおよび宛先ポートと完全に一致するか否かによって、マッチングに成功するか否かを判断するように構成されていることを特徴とする請求項6に記載のリンクのヘルスチェック装置。
  10. 前記処理モジュールは、
    前記モード情報がDRモードであると判断された場合、前記メッセージの宛先MACアドレスを前記チェック待ちサーバのMACアドレスに変更し、
    モード情報がTUNモードであると判断された場合、前記メッセージの宛先IPアドレスの前にトンネルTUNNELヘッダを追加するように構成されていることを特徴とする請求項7に記載のリンクのヘルスチェック装置。
JP2016555885A 2014-10-31 2014-12-10 リンクのヘルスチェック方法および装置 Active JP6091724B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410602750.6A CN104301184B (zh) 2014-10-31 2014-10-31 链路的健康检查方法和装置
CN201410602750.6 2014-10-31
PCT/CN2014/093518 WO2016065700A1 (zh) 2014-10-31 2014-12-10 链路的健康检查方法和装置

Publications (2)

Publication Number Publication Date
JP2017501657A true JP2017501657A (ja) 2017-01-12
JP6091724B2 JP6091724B2 (ja) 2017-03-08

Family

ID=52320762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016555885A Active JP6091724B2 (ja) 2014-10-31 2014-12-10 リンクのヘルスチェック方法および装置

Country Status (6)

Country Link
US (1) US9912560B2 (ja)
EP (1) EP3070881B1 (ja)
JP (1) JP6091724B2 (ja)
KR (1) KR101770498B1 (ja)
CN (1) CN104301184B (ja)
WO (1) WO2016065700A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11290912B2 (en) 2011-12-14 2022-03-29 Seven Networks, Llc Mobile device configured for operating in a power save mode and a traffic optimization mode and related method
CN107005440B (zh) * 2015-06-24 2019-12-06 华为技术有限公司 一种链路故障定位的方法、装置及系统
CN106686040B (zh) * 2015-11-10 2020-06-30 阿里巴巴集团控股有限公司 一种报文处理方法和装置
CN107342940B (zh) * 2016-04-29 2020-10-20 新华三技术有限公司 一种控制信息的生成方法及装置和报文处理方法及装置
TWI720113B (zh) * 2017-01-20 2021-03-01 香港商阿里巴巴集團服務有限公司 一種電文處理方法和裝置
CN108270639A (zh) * 2017-02-13 2018-07-10 广州市动景计算机科技有限公司 业务接口监控的方法、装置及系统
US10554520B2 (en) * 2017-04-03 2020-02-04 Datrium, Inc. Data path monitoring in a distributed storage network
CN109756454B (zh) * 2017-11-03 2022-01-11 阿里巴巴集团控股有限公司 数据交互的方法、装置和系统
CN111835576B (zh) * 2019-04-19 2022-03-04 厦门网宿有限公司 基于dpvs的后端服务器健康检测方法和服务器
CN110120897A (zh) * 2019-04-22 2019-08-13 国家计算机网络与信息安全管理中心 链路探测方法、装置、电子设备及机器可读存储介质
CN110311830B (zh) * 2019-06-03 2021-08-24 杭州迪普科技股份有限公司 一种链路健康检查方法和装置
CN110311982A (zh) * 2019-07-05 2019-10-08 浪潮云信息技术有限公司 一种高可用服务器集群系统的实现方法
CN110311988B (zh) * 2019-07-30 2022-01-28 中国工商银行股份有限公司 后端服务器的健康检查方法、负载均衡方法及装置
CN112887185B (zh) * 2019-11-29 2024-03-15 华为云计算技术有限公司 一种叠加网络的通信方法及装置
CN111010319B (zh) * 2019-12-20 2021-11-16 锐捷网络股份有限公司 基于vsf的链路检测方法及装置
US11360866B2 (en) * 2020-04-14 2022-06-14 International Business Machines Corporation Updating stateful system in server cluster
CN112260903B (zh) * 2020-10-29 2022-03-25 杭州迪普科技股份有限公司 链路监测方法及装置
CN115103038B (zh) * 2021-12-29 2023-02-03 武汉绿色网络信息服务有限责任公司 一种基于隧道报文的匹配方法和装置
CN114363213B (zh) * 2022-03-01 2023-09-05 辽宁振兴银行股份有限公司 一种改进的负载均衡健康检查方法、系统及应用
CN115914328B (zh) * 2023-01-30 2023-06-23 天翼云科技有限公司 网络健康探测方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238101A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496659B1 (en) * 2003-08-06 2009-02-24 Cisco Technology, Inc. Method and apparatus for monitoring the availability of network resources
US7907621B2 (en) * 2006-08-03 2011-03-15 Citrix Systems, Inc. Systems and methods for using a client agent to manage ICMP traffic in a virtual private network environment
US7895463B2 (en) * 2007-08-28 2011-02-22 Cisco Technology, Inc. Redundant application network appliances using a low latency lossless interconnect link
US8149851B2 (en) * 2009-03-16 2012-04-03 Sling Media, Inc. Mediated network address translation traversal
CN101925042B (zh) * 2009-06-10 2013-01-02 华为技术有限公司 控制隧道标识分配的方法、装置和系统
CN101640620B (zh) * 2009-09-01 2012-01-04 杭州华三通信技术有限公司 一种被均衡设备的健康检测方法及装置
CN101729312B (zh) * 2009-12-03 2012-12-19 中兴通讯股份有限公司 基于arp协议的链路检测方法和系统
US20130159511A1 (en) * 2011-12-14 2013-06-20 Seven Networks, Inc. System and method for generating a report to a network operator by distributing aggregation of data
CN102810111B (zh) * 2012-05-07 2016-05-11 互动在线(北京)科技有限公司 一种保持Oracle数据库服务高可用的实现方法和系统
US8874761B2 (en) * 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
CN103973424B (zh) * 2014-05-22 2017-12-29 网易乐得科技有限公司 缓存系统中的故障解决方法和设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010238101A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 負荷分散装置、負荷分散方法、負荷分散プログラム及び負荷分散システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
安井 真伸: "安くておいしいスケーラブルシステムの素 Linux ロードバランサ構築・運用ノウハウ 第2章 LVS", WEB+DB PRESS, vol. 第37巻, JPN6017001492, 25 March 2007 (2007-03-25), JP, pages 61 - 70, ISSN: 0003482939 *
田中 慎司: "Linuxサーバ バックアップ&クラスタリングの極意 4章 Webサイトの負荷分散を実現 LVS+K", SOFTWAREDESIGN, vol. 第205号, JPN6017001490, 18 November 2007 (2007-11-18), JP, pages 130 - 139, ISSN: 0003482938 *

Also Published As

Publication number Publication date
WO2016065700A1 (zh) 2016-05-06
EP3070881B1 (en) 2018-08-29
US9912560B2 (en) 2018-03-06
US20170230261A1 (en) 2017-08-10
CN104301184B (zh) 2017-10-27
JP6091724B2 (ja) 2017-03-08
EP3070881A1 (en) 2016-09-21
EP3070881A4 (en) 2017-01-18
KR20160065774A (ko) 2016-06-09
KR101770498B1 (ko) 2017-08-22
CN104301184A (zh) 2015-01-21

Similar Documents

Publication Publication Date Title
JP6091724B2 (ja) リンクのヘルスチェック方法および装置
US11218537B2 (en) Load balancing in distributed computing systems
US9244817B2 (en) Remote debugging in a cloud computing environment
US10142425B2 (en) Session reliability for a redirected USB device
WO2019184164A1 (zh) 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质
JP6603311B2 (ja) ブラウザによりローカルサービスアセンブリを呼び出すための方法、デバイス及びシステム
US10182126B2 (en) Multilevel redirection in a virtual desktop infrastructure environment
TW201703485A (zh) 編排實體與虛擬交換器以執行安全邊界之系統及方法
CN104021069A (zh) 基于分布式虚拟机系统的软件性能测试的管理方法和系统
US9912750B2 (en) Data path selection for network transfer using high speed RDMA or non-RDMA data paths
WO2019090997A1 (zh) 一种数据获取方法、装置、计算机设备及存储介质
US20140286339A1 (en) Hardware Acceleration for Routing Programs
US9401862B2 (en) Optimized internet small computer system interface path
US10218820B2 (en) Method and apparatus for processing data packet based on parallel protocol stack instances
US11076027B1 (en) Network communications protocol selection based on network topology or performance
WO2018107433A1 (zh) 信息处理方法和装置
US10554548B2 (en) Partially deferred packet access
US20170026307A1 (en) System And Method For Remote Managing Applications In A Network Appliance
CN105471927B (zh) 一种对业务路由报文进行处理的方法和业务节点
JP6365280B2 (ja) 情報処理装置、情報処理システム、及びプログラム
US10802859B2 (en) Setting method for server apparatus and server apparatus for load balancing
JP2005258632A (ja) ネットワークストレージ装置の導通確認方法およびホスト計算機
US20180295017A1 (en) Dynamic interface identification and configuration
EP3136251B1 (en) Flit transmission method and device of network on chip
EP3607709B1 (en) Switch proxy controller for switch virtualization

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161020

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161117

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: 20170131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170207

R150 Certificate of patent or registration of utility model

Ref document number: 6091724

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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