JP4721375B2 - 転送ループを検出するための方法および機器 - Google Patents

転送ループを検出するための方法および機器 Download PDF

Info

Publication number
JP4721375B2
JP4721375B2 JP2009512034A JP2009512034A JP4721375B2 JP 4721375 B2 JP4721375 B2 JP 4721375B2 JP 2009512034 A JP2009512034 A JP 2009512034A JP 2009512034 A JP2009512034 A JP 2009512034A JP 4721375 B2 JP4721375 B2 JP 4721375B2
Authority
JP
Japan
Prior art keywords
received message
sip
header
network element
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
JP2009512034A
Other languages
English (en)
Other versions
JP2009538564A (ja
Inventor
フアン・ベメル,イエルーン
Original Assignee
アルカテル−ルーセント ユーエスエー インコーポレーテッド
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 アルカテル−ルーセント ユーエスエー インコーポレーテッド filed Critical アルカテル−ルーセント ユーエスエー インコーポレーテッド
Publication of JP2009538564A publication Critical patent/JP2009538564A/ja
Application granted granted Critical
Publication of JP4721375B2 publication Critical patent/JP4721375B2/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Constituent Portions Of Griding Lathes, Driving, Sensing And Control (AREA)

Description

本発明は、通信ネットワークの分野に関し、より詳細には、転送ループを検出することに関する。
セッション開始プロトコル(SIP)プロトコルは、ボイス、インスタントメッセージング、ビデオ、オンラインゲームなどをサポートするインタラクティブユーザセッションを開始、修正、および終了するためのエンドツーエンドクライアントサーバシグナリングプロトコルである。インターネットプロトコル(IP)マルチメディアサブシステム(IMS)ネットワークなどの次世代ネットワークにおいて利用されるSIPプロトコルは、分散された要素間(例えば、SIPユーザエージェント(UA)間)の通信を可能にする。SIPプロトコルを使用して、SIP UA間で交換されるSIPメッセージは、一連のSIPネットワーク要素(プロキシとして知られている)をトラバースする。残念ながら、不正確に構成されたネットワーク要素または悪意のあるネットワーク攻撃のために、転送ループが発生する可能性があり、その結果、SIPメッセージがSIPネットワーク要素間で繰り返し転送されるようになり、それによって、SIPメッセージの所期のSIP UAへの配信を妨害し、高いメッセージ処理負荷を生じさせる。転送ループは、SIPを利用するネットワーク(ならびに、他の電気通信プロトコルを利用するネットワーク)において生じる可能性があるので、転送ループを低減するように試みるいくつかの手段が実行されてきた。
1つの可能な解決策では、例えば、転送ループが検出される前にSIPメッセージが転送される回数を限定するために、クライアント装置はSIPメッセージのヘッダに「最大転送」ヘッダフィールドを追加することができる(すなわち、転送ループが検出される前にSIPメッセージはN回(例えば、N=70)しか転送されることができない)。不都合なことには、「最大転送」ヘッダフィールドの使用は多くの問題を引き起こす可能性がある。「最大転送」ヘッダフィールド値(N)が低く設定されすぎると、有効なサービス提供が制限されすぎる可能性がある。「最大転送」ヘッダフィールド値(N)が高く設定されすぎると、かなりのネットワークリソースが消費される可能性がある。さらに、転送ループの検出に応答して生成された転送ループエラーメッセージが、トラバースされるパスに沿って転送される可能性があり、それによってネットワークリソースの追加の消費を引き起こす可能性がある。
従来技術における様々な欠陥が、ネットワーク要素における転送ループを検出するための本発明の方法および機器によって対処される。
本方法は、受信されたメッセージが第1のネットワーク要素によって前に受信されたかどうかを判定し、受信されたメッセージが前に受信された場合は、現在のルーティングダイジェストを計算し、受信されたメッセージのヘッダが前のルーティングダイジェストを含むかどうかを判定することを含む。受信されたメッセージのヘッダが前のルーティングダイジェストを含む場合は、転送ループが存在するかどうかに関して判定が行われる。受信されたメッセージのヘッダが、前のルーティングダイジェストを含まない場合は、現在のルーティングダイジェストが受信されたメッセージのヘッダに挿入され、メッセージが第2のネットワーク要素の方へ転送される。受信されたメッセージが前に受信されなかった場合は、受信されたメッセージを第2のネットワーク要素の方へ転送する。
本発明の教示は、添付の諸図面と併せて以下の詳細な説明を考察することによって容易に理解されることができる。
理解を容易にするために、諸図に共通の同じ要素を示すために、可能な場合は、同じ参照数字が使用されている。
通信ネットワークの高レベルのブロック図である。 本発明の一実施形態による方法を示す図である。 本明細書に記載された機能の少なくとも一部分を実行する際の使用に適した汎用コンピュータの高レベルのブロック図である。
本発明は、転送ループ検出処理を提供する。本発明は、転送ループの検出を可能にする。本発明は、転送ループの効果的な検出と、転送ループの検出に関連する処理コストとの間のトレードオフを示し、それによって効果的な転送ループ検出機能を提供し、同時に、転送ループ検出処理を実行するために利用されるネットワーク要素処理リソースを著しく低減する。本発明は、転送ループがない場合はネットワーク要素がダイジェスト計算をしなくてもよいようにし、その代わり、潜在的転送ループがネットワーク要素によって検出されるまで(すなわち、メッセージがネットワーク要素によって前に受信され、転送された場合は)、ダイジェスト計算および挿入を延期する。
本発明の転送ループ検出処理は、RFC3261の転送ループ検出処理よりかなりの利点を提供する。本発明の転送ループ検出処理は、RFC3261の転送ループ検出処理と比べて(CPU処理の点から見て)より低いコストの転送ループの検出を可能にする。一実施形態では、本発明の転送ループ検出処理を使用して、転送ループが、そうでなければ、RFC3261の転送ループ検出処理を使用して転送ループが検出されるであろうステップ(例えば、メッセージがネットワーク要素によって受信される2回目に)より1転送ステップ遅く(例えば、メッセージがネットワーク要素によって受信される3回目に)検出される。一実施形態では、(RFC3261の場合のように、既存のヘッダフィールドの一部分を再使用するのではなく)新しいヘッダフィールドを利用することによって、本発明の転送ループ検出処理は他のメッセージ処理を妨害することなく実行されることができる。
図1は、通信ネットワークの高レベルのブロック図を示す。詳細には、通信ネットワーク100は、第1の複数のSIPユーザエージェント(UA)102A1−102AN(まとめて、SIP UA102)、SIPネットワーク110、および第2の複数のSIPユーザエージェント(UA)102Z1−102ZN(まとめて、SIP UA102)を含む。SIP UA102および102は、まとめてSIP UA102と呼ばれることもある。SIPネットワーク110は、複数のSIPプロキシサーバ(SIP PS)112−112(まとめて、SIP PS112)および複数のSIP アプリケーションサーバ(AS)114−114(まとめて、SIP AS114)を含む。SIP PS112は、複数の通信リンク(CL)113(まとめて、CL113)を使用して通信する。SIP PS112および112は、通信リンク(CL)115および115(まとめて、CL115)を使用して、SIP AS114および114と通信する。
図1に示されているように、SIP UA102は、SIPシグナリングをサポートするエンドユーザ装置を含む。SIP UA102は、(SIP要求をSIP UAサーバに提供するために)SIP UAクライアント、および(SIP応答をSIP UAクライアントに提供するために)SIP UAサーバとして動作することができる。SIP UA102A1−102ANおよびSIP UA102Z1−102ZNは、それぞれの複数の通信リンク(CL)103A1−103AN(まとめて、CL103)、および103Z1−103ZN(まとめて、CL103)を使用して、それぞれSIP PS112および112と通信する。SIP UA102は、有線アクセス(例えば、ケーブルアクセス、デジタル加入者回線(DSL)アクセス、イーサネット(登録商標)アクセスなど、ならびにそれらの様々な組合せ)、無線アクセス(例えば、符号分割多重接続(CDMA)アクセス、汎用パケット無線サービス(GPRS)アクセス、無線ローカルエリアネットワーク(WLAN)アクセスなど、ならびにそれらの様々な組合せ)を使用して、SIPネットワーク110にアクセスすることができる。
図1に示されているように、SIP PS112は、SIP UA102間のマルチメディア接続を確立、修正、および終了するためのSIP UA102間のSIPシグナリングを容易にする。SIP PS112は、SIP UA102間のマルチメディア接続を確立、修正、および終了するためのSIP UA102間のSIPシグナリングに関連する様々な機能をサポートするために、他の様々なSIPベースのネットワーク要素(例えば、SIP AS114)とのSIPシグナリングを容易にする。例えば、SIP PS112は、ボイス、インスタントメッセージング、ビデオ、ゲーム、プレゼンスなど、ならびにそれらの様々な組合せをサポートするように構成されたマルチメディア接続を確立、修正、および終了するためのSIP UA102間のSIPシグナリングをサポートする。SIP AS114は、SIP UA102に様々な機能(例えば、呼待機、呼転送、会議呼サービス、インスタントメッセージングサービスなど、ならびにそれらの様々な組合せ)を提供する。
本明細書で説明されているように、SIPシグナリングは様々なSIPメッセージを使用して実行される。SIP UAクライアントとして動作するSIP UA102によって開始されたSIPメッセージは、SIP要求である。例えば、SIP要求メッセージは、INVITE、ACK、BYE、CANCEL、OPTIONS、REGISTERなどを含む。SIP UAサーバとして動作するSIP UA102によって開始されたSIPメッセージは、SIP応答である。例えば、SIP応答メッセージは、SIP1xx情報応答、SIP2xx成功応答、SIP3xx指示応答、SIP4xxクライアント障害応答、SIP5xxサーバ障害応答、SIP6xx全体的障害応答などを含む。SIP要求メッセージおよびSIP応答メッセージ、ならびにSIPセッションの確立、修正、および終了をサポートするように構成された他のSIPメッセージは、本明細書では全体的にSIPメッセージと呼ばれる。
本明細書で説明されているように、様々なネットワーク状況(例えば、不正確に構成されたSIPプロキシサーバ(1つまたは複数)、悪意のあるネットワーク攻撃など)は、SIPネットワーク110の中での転送ループの形成を引き起こすことになる可能性がある。例えば、SIP INVITEメッセージは、SIP UA102A2からSIP UA102Z1の方へ開始される可能性がある。SIP UA102A2は、SIP INVITEメッセージをSIPプロキシ112に転送する。SIPプロキシ112は、メッセージをSIPプロキシ112に転送する。SIPプロキシ112は、ネットワーク状況の(例えば、SIPプロキシ112が不正確に構成されている)ために、SIP INVITEメッセージをSIP UA102Z1への配信のためにSIPプロキシ112に転送するのではなく、SIP INVITEメッセージをSIPプロキシ112に転送し、SIPプロキシ112は、SIP INVITEメッセージをSIPプロキシ112に送り返してもよい。SIPプロキシ112は、SIP INVITEメッセージをSIPプロキシ112に再転送する。本明細書で説明されているように、(図2に関してよりよく理解されることができる)本発明は、そのような転送ループの効率のよい、費用効果の高い検出を可能にする。
図2は、本発明の一実施形態による方法を示す。詳細には、方法200は、ネットワーク要素において転送ループを検出するための方法を含む。SIPメッセージに関連する転送ループを検出するためのSIPプロキシサーバによって実行される処理に関して本明細書で最初に説明されたが、方法200は、それぞれ、SIPおよび非SIPメッセージに関連する転送ループを検出するための他のSIPおよび非SIPネットワーク要素によって実行されることができる。順次実行されるように図示され、説明されているが、方法200の諸ステップの少なくとも一部分は、同時に、または図2に示されているのと異なる順序で実行されてもよい。方法200は、ステップ202から始まり、ステップ204に進む。
ステップ204で、SIPメッセージ(要求)が、SIPプロキシサーバで受信される。受信されたSIPメッセージは、いかなるSIP要求メッセージ(例えば、SIP INVITE、SIP REGISTERなど)でもよい。SIPメッセージは、いかなるSIPネットワーク要素(例えば、SIP UA(クライアントまたはサーバ)、SIP PS、SIP ASなど)から受信されてもよい。ステップ206で、受信されたSIP要求メッセージがSIPプロキシサーバによって前に受信されたかどうか(すなわち、受信されたSIP要求メッセージが前にSIPプロキシを通り過ぎたかどうか)に関して判定が行われる。受信されたSIP要求メッセージがSIPプロキシサーバによって前に受信されたかどうかに関して判定が行われる、複数の方法のうちの1つを使用して実行されることができる。
一実施形態では、受信されたSIPメッセージがSIPプロキシサーバによって前に受信されたかどうかの判定は、受信されたSIPメッセージのヘッダが、SIPプロキシサーバによって挿入された(すなわち、受信されたSIPメッセージがSIPプロキシサーバによって前に処理されたときにSIPプロキシサーバによって挿入された)ヘッダフィールドを含むかどうかの判定を含む。一実施形態では、受信されたSIPメッセージのヘッダが、SIPプロキシサーバによって前に挿入されたヘッダフィールドを含むかどうかに関する判定が、SIPプロキシを識別するヘッダフィールド値を発見するように、受信されたSIPメッセージのヘッダの1つまたは複数のヘッダフィールドを検索すること(例えば、SIPプロキシサーバのIPアドレスまたはホスト名を含むSIP VIAヘッダフィールドを識別するために、受信されたメッセージのヘッダに含まれた複数のSIP VIAヘッダフィールドを解析すること)を含む。複数のSIP VIAヘッダフィールドを有するSIPヘッダおよびセッション記述プロトコル(SDP)本体を含む例示的SIPメッセージは、以下のとおりである。
Figure 0004721375
Figure 0004721375
一実施形態では、受信されたSIPメッセージがSIPプロキシサーバによって前に受信されたかどうかの判定は、受信されたSIPメッセージのヘッダフィールドのうちの1つまたは複数がSIPプロキシサーバによって挿入された(すなわち、受信されたSIPメッセージがSIPプロキシサーバによって前に受信されたときにSIPプロキシサーバによって挿入された)ヘッダフィールド値を含むかどうかの判定を含む。一実施形態では、ヘッダフィールドがSIP VIAヘッダフィールドを含む。一実施形態では、受信されたSIPメッセージの1つまたは複数のヘッダフィールドが、SIPプロキシサーバによって前に挿入されたヘッダフィールド値を含むかどうかに関する判定が、SIPプロキシを識別するヘッダフィールド値を発見するように、受信されたSIPメッセージのヘッダの1つまたは複数のヘッダフィールドを検索すること(例えば、SIPプロキシサーバのIPアドレスを含むSIP VIAヘッダフィールドを識別するために、受信されたメッセージのヘッダに含まれた複数のSIP VIAヘッダフィールドを解析すること)を含む。
図2に示されているように、受信されたメッセージがSIPプロキシサーバによって前に受信されなかった場合は、方法200は、ステップ220に進み、その時点で、受信されたSIPメッセージが転送される。受信されたSIPメッセージが、別のSIPネットワーク要素(例えば、SIP PS、SIP AS、SIP UAなど)の方へ転送される。ステップ220から、方法200がステップ226に進み、そこで方法200が終了する。図2に示されているように、受信されたSIPメッセージがSIPプロキシサーバによって前に受信された場合は、方法200はステップ208に進む。ステップ208で、現在のルーティングダイジェスト(CRD)が計算される。
一実施形態では、ルーティングダイジェストは、以下のヘッダおよびメッセージ部分のうちの1つまたは複数に関するハッシュ関数の結果を合計することによって計算される。要求統一資源識別子(URI)、最上位Routeヘッダ、いずれかのまたは全てのRequireおよび/またはProxy−Requireヘッダ、いずれかのまたは全てのAuthorizationおよび/またはProxy−Authorizationヘッダ、Call−Idヘッダ、Fromおよび/またはToヘッダ(タグパラメータを含む)、およびCSeqヘッダなど、ならびにそれらの様々な組合せ。一般に、プロキシサーバルーティング決定の根拠となることができるいかなる情報が含まれてもよい。ルーティングダイジェストを計算することによって、この情報内の変更が検出される。前提は、メッセージがプロキシをトラバースした前の時間以来この情報のいかなる部分も変更されなかった場合は、プロキシが同じルーティング決定を行うであろうということである。全てのプロキシがこの論理に従う場合は、要求が最後には現在のプロキシに再度到着し、それによってループを形成する。
ステップ210で、受信されたSIPメッセージが前のルーティングダイジェスト(PRD)を含むかどうかに関して判定が行われる。PRDは、SIPプロキシサーバによって、前に計算され、受信されたSIPメッセージに挿入されたルーティングダイジェストである。一実施形態では、受信されたSIPメッセージがPRDを含むかどうかに関する判定は、受信されたSIPメッセージの少なくとも1つのメッセージヘッダフィールド(例えば、SIPプロキシサーバによって、受信されたSIPメッセージに前に挿入されたと識別されたメッセージヘッダフィールド(例えば、SIP VIAヘッダフィールド))を検索することを含む。受信されたSIPメッセージが、(SIPプロキシサーバによって前に計算され、挿入された)PRDを含まない場合は、方法200はステップ212に進む。受信されたSIPメッセージが(SIPプロキシサーバによって前に計算され、挿入された)PRDを含む場合は、方法200はステップ214に進む。
ステップ212で、CRDが受信されたSIPメッセージに挿入される。一実施形態では、CRDが、(本明細書では「ループチェック」(すなわち、「lc」)パラメータとして示される)CRDパラメータを使用して、受信されたSIPメッセージに挿入される。一実施形態では、CRDが、受信されたSIPメッセージのヘッダに挿入される。一実施形態では、CRDが、既存のSIPメッセージヘッダフィールドの一部分として挿入される。一実施形態では、CRDが、CRDパラメータ値(例えば、「Via:SIP/2.0/UDP 135.85.65.214:5062;branch=z9hG4bK−2;03abd87f」、この場合、ルーティングダイジェスト値は16進数である)を使用して、既存のSIPメッセージヘッダフィールドの一部分として挿入される。一実施形態では、CRDが、CRDパラメータ名(例えば、「lc」)および関連するCRDパラメータ値(例えば、「Via:SIP/2.0/UDP 135.85.65.214:5062;branch=z9hG4bK−2;lc=03abd87f」、この場合、ルーティングダイジェスト値は16進数である)を使用して、既存のSIPメッセージヘッダフィールドの一部分として挿入される。一実施形態では、CRDが、SIPメッセージヘッダフィールド名および関連するSIPメッセージヘッダフィールド値(例えば、「Loop−Check:proxy.example.com;lc=012345678」)を有する新しいSIPメッセージヘッダフィールドとして挿入される。
例示的な計算されたルーティングダイジェスト(例えば、PRDかCRDのいずれか)を含む例示的SIPメッセージは以下のとおりである。例示的SIPメッセージに示されているように、VIAヘッダフィールドの1つは、ループチェック「パラメータ(lcとして示されている)」を含む。「lc」パラメータは、「lc」パラメータ名(例えば、「lc」として示されている)、および関連する「lc」パラメータ値を含んでもよい。「lc」パラメータ名によって識別されるように説明されているが、ルーティングダイジェストを識別するために他の様々なパラメータ名が利用されてもよい。特定の「lc」パラメータ値が示されているが、計算されたルーティングダイジェストを伝達するために他の様々な「lc」パラメータ値(例えば、他のフォーマットを有する「lc」パラメータ値)が使用されてもよい。
Figure 0004721375
Figure 0004721375
計算されたルーティングダイジェストは、VIAヘッダフィールドのパラメータとして示されているが、一実施形態では、パラメータ(例えば、「lc」パラメータ、または他の1つまたは複数のヘッダフィールドの他の1つまたは複数のパラメータ)として実施されてもよい。計算されたルーティングダイジェストは、VIAヘッダフィールドのパラメータとして示されているが、一実施形態では、別々のヘッダフィールドとして(すなわち、VIAヘッダフィールドなどの既存のヘッダフィールドのパラメータとして含まれるのではなく、ルーティングダイジェストヘッダフィールドを使用して)実施されてもよい。計算されたルーティングダイジェストが別々のヘッダフィールドとして実施される一実施形態では、別々のヘッダフィールドが、計算されたルーティングダイジェストを計算するSIPネットワーク要素に関連するVIAヘッダフィールドのすぐあとに、SIPメッセージヘッダに挿入されてもよい。
ステップ214で、PRDが判定される。一実施形態では、PRDは、受信されたSIPメッセージのヘッダを分析することによって判定される。一実施形態では、PRDは、ルーティングダイジェストヘッダフィールド名を識別し、関連するルーティングダイジェストヘッダフィールド値を識別することによって判定される。一実施形態では、PRDは、ルーティングダイジェストパラメータ名(例えば、ヘッダフィールドの一部分)を識別し、関連するルーティングダイジェストパラメータ値を識別することによって判定される。一実施形態では、PRDは、受信されたSIPメッセージがPRDを含むかどうか判定するために実行される処理の一部分として判定される。
ステップ216で、CRDとPRDが比較される。CRDとPRDは、転送ループが存在するかどうか判定するために比較される。ステップ218で、転送ループが検出されたかどうかに関して判定が行われる。一実施形態では、CRDとPRDが同じである場合は、転送ループが検出される(CRDとPRDが異なる場合は、転送ループが検出されない)。一実施形態では、CRDとPRDがかなり類似している場合は(例えば、CRDとPRDとの間の違いが閾値内にある場合は)、転送ループが検出される。
図2に示されているように、転送ループが検出されない場合は、方法200はステップ220に進み、その時点で、受信されたメッセージが転送される。受信されたメッセージは、別のSIPネットワーク要素の方へ転送される。方法200はステップ220からステップ226に進み、そこで方法200が終了する。転送ループが検出された場合は、方法200はステップ222に進む。ステップ222で、ループエラーが生成される。ステップ224で、少なくとも1つのSIPネットワーク要素に対してループエラーが生成される。方法200はステップ224からステップ226に進み、そこで方法200が終了する。
図3は、本明細書に記載の諸機能を実行する際の使用に適した汎用コンピュータの高レベルのブロック図を示す。図3に示されているように、システム300は、プロセッサ要素302(例えば、CPU)、メモリ304、例えば、ランダムアクセスメモリ(RAM)および/または読出し専用メモリ(ROM)、ループ検出モジュール305、および様々な入/出力装置306(例えば、テープドライブ、フロッピー(登録商標)ドライブ、ハードディスクドライブまたはコンパクトディスクドライブを含むがそれらに限定されない記憶装置、受信機、送信機、スピーカ、ディスプレイ、出力ポート、およびユーザ入力装置(キーボード、キーパッド、マウスなど))を備える。
本発明は、ソフトウェアで、および/またはソフトウェアとハードウェアの組合せで、例えば、特定用途向け集積回路(ASIC)、汎用コンピュータまたは他のいかなるハードウェア同等物をも使用して、実施されてもよいことに留意されたい。一実施形態では、本ループ検出モジュールまたはプロセス305はメモリ304にロードされ、上記で論じられたような諸機能を実施するためにプロセッサ302によって実行されることができる。したがって、本発明のループ検出プロセス305(関連するデータ構造を含む)は、コンピュータ可読媒体または担体、例えば、RAMメモリ、磁気あるいは光ドライブまたはディスケットなどに記憶されることができる。
一実施形態では、本発明の転送ループ検出処理は、他のメッセージ処理機能に対する影響を防止するように実施されてもよい。一実施形態では、例えば、本発明の転送ループ検出処理機能の少なくとも一部分を実行するように構成されたプロシージャ呼出しが、各受信されたメッセージがそこで処理されるコードパスに追加されてもよい。特定の実施形態に関して説明されているが、本発明の転送ループ検出処理は、他の様々なサポートされたメッセージ処理機能に影響を与える可能性がある、または可能性がない、他の様々な設計(例えば、ネットワーク要素のコンポーネントの構成、他のコードパス修正形態など、ならびにそれらの様々な組合せ)を使用して実施されてもよい。
一実施形態では、本発明の転送ループ検出処理は、本発明の転送ループ検出処理機能が(例えば、要素ごとベースで個別に、複数の要素にわたって全体的になど、ならびにそれらの様々な組合せで)アクティブ化または非アクティブ化され得るように構成可能であり得る。一実施形態では、本発明の転送ループ検出処理が自動的にアクティブ化または非アクティブ化されることができる(例えば、各ネットワーク要素が、各ネットワーク要素によって(例えば、関連する管理システムから)取得された予め決められたスケジュールに従って転送ループ検出機能をアクティブ化および非アクティブ化することができる)。一実施形態では、本発明の転送ループ検出処理が手動でアクティブ化または非アクティブ化されることができる(例えば、各ネットワーク要素が転送ループ検出機能をアクティブ化および非アクティブ化するために手動で構成されることができる)。
一実施形態では、本発明の転送ループ検出処理が、転送ループの検出が少なくとも1つの転送ループ検出基準を使用して行うように構成可能であり得る。一実施形態では、例えば、本発明の転送ループ検出処理が、メッセージ内の特定のヘッダの数が閾値を満たすという判定に応答して実行されることができるだけである。そのような一実施形態では、例えば、本発明の転送ループ検出処理が、メッセージ内のSIP VIAヘッダの数が閾値を満たすという判定に応答して実行されることができるだけである。SIP VIAヘッダの数に関して説明されているが、本発明の転送ループ検出処理のアプリケーションを限定するために他の様々な基準が利用されてもよい。
SIPメッセージを利用するSIPベースのネットワークに関して最初に本明細書で図示され、説明されたが、他の様々な実施形態では、他の様々なネットワーク要素、シグナリングプロトコル、メッセージタイプ、メッセージフォーマットなど、ならびにそれらの様々な組合せを利用する他の様々なネットワーク内の転送ループを検出するために、本発明の諸機能の少なくとも一部分が利用されてもよい。本発明は、SIPメッセージを利用するSIPベースのネットワークに限定されないものとする。
本発明の教示を組み込んだ様々な実施形態が本明細書で詳細に図示され、説明されてきたが、これらの教示を依然として組み込んだ他の多くの変形形態を当業者は容易に考案することができる。

Claims (10)

  1. (a)受信されたメッセージが第1のネットワーク要素によって前に受信されたかどうか判定することと、
    (b1)受信されたメッセージが第1のネットワーク要素によって前に受信された場合は、現在のルーティングダイジェストを計算し、受信されたメッセージのヘッダが前のルーティングダイジェストを含むかどうか判定し、
    (b11)受信されたメッセージのヘッダが前のルーティングダイジェストを含む場合は、転送ループが存在するかどうか判定することと、
    (b12)受信されたメッセージのヘッダが前のルーティングダイジェストを含まない場合は、現在のルーティングダイジェストを受信されたメッセージのヘッダに挿入し、メッセージを第2のネットワーク要素の方へ転送することと
    のうちの1つを実行することと、
    (b2)受信されたメッセージが第1のネットワーク要素によって前に受信されなかった場合は、受信されたメッセージを第2のネットワーク要素の方へ転送することと
    を備える、第1のネットワーク要素において転送ループを検出するための方法。
  2. 受信されたメッセージが第1のネットワーク要素によって前に受信されたかどうか判定することが、
    受信されたメッセージが第1のネットワーク要素によって前に受信されたときに、受信されたメッセージのヘッダが第1のネットワーク要素によって挿入されたヘッダフィールドを含むかどうか判定すること
    を備える、請求項1に記載の方法。
  3. 転送ループが存在するかどうか判定することが、
    現在のルーティングダイジェストと前のルーティングダイジェストを比較し、
    現在のルーティングダイジェストと前のルーティングダイジェストが一致する場合は、転送ループを検出することと、
    現在のルーティングダイジェストと前のルーティングダイジェストが一致しない場合は、メッセージを第2のネットワーク要素の方へ転送することと
    のうちの1つを実行することを備える、請求項1に記載の方法。
  4. 現在のルーティングダイジェストを計算することが、
    受信されたメッセージのヘッダ内で、受信されたメッセージのルーティングに関連する複数のヘッダフィールドのうちの選択されたものを識別することと、
    受信されたメッセージのルーティングに関連するヘッダフィールドのうちの選択されたものを使用して現在のルーティングダイジェストを計算することと
    を備える、請求項1に記載の方法。
  5. 受信されたメッセージのルーティングに関連するヘッダフィールドのうちの選択されたものを使用して現在のルーティングダイジェストを計算することが、
    ヘッダフィールドのうちの選択されたものに関するハッシュ関数の結果を合計することを備える、請求項4に記載の方法。
  6. 現在のルーティングダイジェストが、受信されたメッセージのヘッダの一部分として、受信されたメッセージに挿入される、請求項1に記載の方法。
  7. 現在のルーティングダイジェストが受信されたメッセージのヘッダのヘッダフィールドの一部分として、受信されたメッセージに挿入され、現在のルーティングダイジェストがルーティングダイジェストパラメータ名およびルーティングダイジェストパラメータ値を備える、請求項1に記載の方法。
  8. 受信されたメッセージが、第1のネットワーク要素によって前に受信されたかどうか判定するための手段と、
    受信されたメッセージが第1のネットワーク要素によって前に受信された場合は、現在のルーティングダイジェストを計算し、受信されたメッセージのヘッダが前のルーティングダイジェストを含むかどうか判定するための手段と
    を備え、さらに、
    受信されたメッセージのヘッダが前のルーティングダイジェストを含む場合は、転送ループが存在するかどうか判定するための手段と、
    受信されたメッセージのヘッダが前のルーティングダイジェストを含まない場合は、現在のルーティングダイジェストを受信されたメッセージのヘッダに挿入し、メッセージを第2のネットワーク要素の方へ転送するための手段と、
    受信されたメッセージが第1のネットワーク要素によって前に受信されなかった場合は、受信されたメッセージを第2のネットワーク要素の方へ転送するための手段と
    を備える、第1のネットワーク要素において転送ループを検出するための機器。
  9. 転送ループが存在するかどうか判定するための手段が、
    現在のルーティングダイジェストおよび前のルーティングダイジェストを比較するための手段を備え、さらに、
    現在のルーティングダイジェストおよび前のルーティングダイジェストが一致する場合は、転送ループを検出するための手段と、
    現在のルーティングダイジェストおよび前のルーティングダイジェストが一致しない場合は、メッセージを第2のネットワーク要素の方へ転送するための手段と
    を備える、請求項8に記載の機器。
  10. コンピュータによって実行された場合、コンピュータに、
    (a)受信されたメッセージが第1のネットワーク要素によって前に受信されたかどうか判定することと、
    (b1)受信されたメッセージが第1のネットワーク要素によって前に受信された場合は、現在のルーティングダイジェストを計算し、受信されたメッセージのヘッダが前のルーティングダイジェストを含むかどうか判定し、
    (b11)受信されたメッセージのヘッダが前のルーティングダイジェストを含む場合は、転送ループが存在するかどうか判定することと、
    (b12)受信されたメッセージのヘッダが前のルーティングダイジェストを含まない場合は、現在のルーティングダイジェストを受信されたメッセージのヘッダに挿入し、メッセージを第2のネットワーク要素の方へ転送することと
    のうちの1つを実行することと、
    (b2)受信されたメッセージが第1のネットワーク要素によって前に受信されなかった場合は、受信されたメッセージを第2のネットワーク要素の方へ転送することと
    を備える方法を実行させるソフトウェアプログラムを記憶する、コンピュータ可読媒体。
JP2009512034A 2006-05-22 2007-05-11 転送ループを検出するための方法および機器 Active JP4721375B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US80256106P 2006-05-22 2006-05-22
US60/802,561 2006-05-22
US11/423,830 US8014299B2 (en) 2006-05-22 2006-06-13 Method and apparatus for detecting forwarding loops
US11/423,830 2006-06-13
PCT/US2007/011386 WO2007139682A1 (en) 2006-05-22 2007-05-11 Method and apparatus for detecting forwarding loops

Publications (2)

Publication Number Publication Date
JP2009538564A JP2009538564A (ja) 2009-11-05
JP4721375B2 true JP4721375B2 (ja) 2011-07-13

Family

ID=38578576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009512034A Active JP4721375B2 (ja) 2006-05-22 2007-05-11 転送ループを検出するための方法および機器

Country Status (8)

Country Link
US (1) US8014299B2 (ja)
EP (1) EP2027684B1 (ja)
JP (1) JP4721375B2 (ja)
KR (1) KR101031708B1 (ja)
CN (1) CN101449530B (ja)
AT (1) ATE456227T1 (ja)
DE (1) DE602007004482D1 (ja)
WO (1) WO2007139682A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2902590B1 (fr) * 2006-06-16 2008-08-01 Alcatel Sa Detection de boucles au sein d'un element intermediaire de signalisation sip
US8204982B2 (en) 2006-09-14 2012-06-19 Quova, Inc. System and method of middlebox detection and characterization
US20080165683A1 (en) * 2007-01-04 2008-07-10 Debanjan Saha Method, system, and program product for enhancing network communications between endpoints
WO2009086845A1 (de) * 2008-01-07 2009-07-16 Siemens Enterprise Communications Gmbh & Co. Kg Verfahren zum authentisieren einer schlüsselinformation zwischen endpunkten einer kommunikationsbeziehung
JP2009239902A (ja) * 2008-03-07 2009-10-15 Buffalo Inc ネットワーク集線装置、ネットワークシステム、ネットワーク集線装置の設置位置特定方法
WO2011067540A1 (fr) * 2009-12-04 2011-06-09 France Telecom Procédés d'envoi et de traitement d'une reponse sip
US8472354B2 (en) * 2010-01-06 2013-06-25 Verizon Patent And Licensing Inc. Method and system for providing custom call waiting
US10250695B2 (en) * 2013-03-14 2019-04-02 Comcast Cable Communications, Llc Mitigation of processing loops in a communication network
US9942330B2 (en) * 2013-04-19 2018-04-10 Extreme Networks, Inc. Session manager anti-looping
US20150236911A1 (en) * 2014-02-18 2015-08-20 Aruba Networks, Inc. Detecting characteristics of a data path loop on a network
US20190059041A1 (en) * 2017-08-17 2019-02-21 Hype Labs Inc. Systems and methods for wireless communication network loop detection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05244299A (ja) * 1992-02-27 1993-09-21 Nec Corp 共通線信号方式の無限ループ転送防止方式
JP2005006139A (ja) * 2003-06-13 2005-01-06 Hitachi Ltd Webサービスにおける経路ループ検出方法および装置
JP2006074286A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 伝送装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3688877B2 (ja) * 1997-08-08 2005-08-31 株式会社東芝 ノード装置及びラベルスイッチングパスのループ検出方法
JP3643507B2 (ja) 1999-09-20 2005-04-27 株式会社東芝 パケット処理装置及びパケット処理方法
US7050424B2 (en) 2001-12-31 2006-05-23 Innomedia Pte Ltd. Method and system for automatic proxy server workload shifting for load balancing
US6845152B2 (en) * 2003-03-28 2005-01-18 Telefonaktiebolaget Lm Ericsson (Publ) System and method to stop call looping
US7133516B2 (en) 2003-11-24 2006-11-07 Motorola, Inc. Prevention of call forwarding loops in communication networks
US7535905B2 (en) * 2004-03-31 2009-05-19 Microsoft Corporation Signing and validating session initiation protocol routing headers
JP2006033275A (ja) * 2004-07-14 2006-02-02 Fujitsu Ltd ループフレーム検知装置およびループフレーム検知方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05244299A (ja) * 1992-02-27 1993-09-21 Nec Corp 共通線信号方式の無限ループ転送防止方式
JP2005006139A (ja) * 2003-06-13 2005-01-06 Hitachi Ltd Webサービスにおける経路ループ検出方法および装置
JP2006074286A (ja) * 2004-08-31 2006-03-16 Fujitsu Ltd 伝送装置

Also Published As

Publication number Publication date
EP2027684A1 (en) 2009-02-25
KR20090015074A (ko) 2009-02-11
WO2007139682A1 (en) 2007-12-06
CN101449530B (zh) 2012-10-03
JP2009538564A (ja) 2009-11-05
EP2027684B1 (en) 2010-01-20
ATE456227T1 (de) 2010-02-15
US8014299B2 (en) 2011-09-06
KR101031708B1 (ko) 2011-04-29
US20070268904A1 (en) 2007-11-22
CN101449530A (zh) 2009-06-03
DE602007004482D1 (de) 2010-03-11

Similar Documents

Publication Publication Date Title
JP4721375B2 (ja) 転送ループを検出するための方法および機器
Rosenberg et al. SIP: session initiation protocol
US7412521B2 (en) End-point identifiers in SIP
US20070180113A1 (en) Distributing load of requests from clients over multiple servers
US20090245113A1 (en) Load balancer, network system, load balancing method, and program
EP1643406A2 (en) Registration identifier reuse
US8964524B2 (en) Method of routing an SIP message in the event of unavailability of intermediate nodes
EP2594049B1 (en) Sip-based call session server and message-routing method
KR20100042270A (ko) 호 전달 서비스 제공 방법, 호 전달 서비스 제공 장치 및 호 전달 서비스 제공 시스템
US8045466B2 (en) Communication method and apparatus
JP4966376B2 (ja) Sipシグナリング・プロキシ内でのループの検出
US9942330B2 (en) Session manager anti-looping
US8589567B2 (en) Method and apparatus for improving SIP parse performance
EP1632075B1 (en) Method and apparatus for load-balancing in a distributed processing system
US9648018B2 (en) Methods, systems, and computer readable media for controlling deep parsing of diameter messages
US11005707B2 (en) Classifying and routing control messages for a communications infrastructure
US20240073256A1 (en) Methods, systems, and computer readable media for uniquely identifying session contexts for handling spiral calls in a session initiation protocol (sip) call stateful proxy
Sparks et al. Addressing an Amplification Vulnerability in Session Initiation Protocol (SIP) Forking Proxies
JP2010239289A (ja) ネットワーク中継装置およびネットワーク中継方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110401

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4721375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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