説明

通信方法及び制御装置

【課題】SIPに基づくTCP接続において、同一の端末装置間で複数のデータ転送を行う場合に、網の処理負荷の軽減と処理遅延の解消を図る。
【解決手段】エッジルータ3a,3bがNAT制御用のIPアドレス空間とNAPT制御用のIPアドレス空間を分離して保持しておき、通信方式がTCPで使用するポート番号が未確定の通信経路を確保する場合はNAT変換を設定してNAT制御を行い、それ以外の通信はNAPT変換を設定してNAPT制御を行う。これにより、SIP信号によるセッション変更を伴うことなく、網の処理負荷を軽減することができ、端末装置4aがポート番号を変えてTCPコネクションを再確立する場合でも、エッジルータ3a,3bにおいてポート番号が変換されることなくTIME WAIT状態の問題を回避することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、NGNにおけるSIPに基づくTCP接続技術に関する。
【背景技術】
【0002】
次世代ネットワーク(Next Generation Network:NGN)は、電話サービスをはじめ、固定通信と移動通信を融合したサービスや今後開発される新しい情報通信サービスを提供する基盤ネットワークである。ここでいうNGNとは、パケットベースのネットワークであって、パケットを転送するパケット転送機能とサービスを制御するサービス制御機能とを有するネットワークである。パケット転送機能は、コア網と、その入口に設置する転送装置であるエッジルータにより実現される。エッジルータは、コア網内のトポロジー情報の隠蔽やコア網内のIPアドレス空間の有効活用のため、サービス制御機能により制御されるNAPT(Network Address Port Translation)機能を有する。サービス制御機能は、セッション開始プロトコル(Session Initiation Protocol:SIP)によりセッションの開始と終了の制御を行うものであり、これらの制御を実施する複数のセッション制御装置により実現される。以下では、サービス制御機能を有する装置をSIPサーバと表記する。
【0003】
ここで、従来の、NGNにおけるSIPに基づく一般的なTCP接続に関する技術として、同一の端末装置間でポート番号を変更することによりTCPの再接続を行い、複数のデータ転送を行う場合について説明する。セッションを維持したまま、TCPの再接続により複数のデータ転送を行うには、第1にセッションを変更する方法、第2にTCP再接続機能(Relatch機能)によりTCPコネクションの再確立を行う方法が考えられる。
【0004】
まず、第1のセッションを変更する方法について説明する。
【0005】
図3は、セッションを変更してTCPの再接続を行い複数のデータ転送を行う動作を示すシーケンス図である。同図の#3a,#3b,#3A,#3B,#4a,#4bの符号は、各装置においてTCPコネクションを確立するIPアドレス、ポート番号などのアドレス情報を表す符号である。具体的には、エッジルータ3aの端末装置4a側のアドレス情報が#3a、エッジルータ3b側のアドレス情報が#3b、エッジルータ3bの端末装置4b側のアドレス情報が#3B、エッジルータ3a側のアドレス情報が#3A、端末装置4aのアドレス情報が#4a、端末装置4bのアドレス情報が#4bである。なお、以下の説明では、NAPT制御によりポート番号が変更されることに注目するため、上記の符号をポート番号とすることもある。もちろん、NAPT制御では、ポート番号だけでなくIPアドレスも変換される。
【0006】
まず、端末装置4aは、仮ポート番号#9をパラメータとしたSIP信号である INVITE(#9)リクエストをSIPサーバ2に送信して、端末装置4bとの接続を要求する(ステップS101)。ここでは、端末装置4aの未確定のポート番号を仮に#9とした。
【0007】
SIPサーバ2は、INVITE(#9)リクエストを受信すると、端末装置4aに対するNAPTバインディングをエッジルータ3aに要求し(ステップS102)、エッジルータ3aは、NAPT先ポートとしてエッジルータ3b側の自ポート番号#3bの通知信号をSIPサーバ2に送信する(ステップS103)。
【0008】
そして、SIPサーバ2は、エッジルータ3aから受信したポート番号#3bと共に、エッジルータ3aのポート番号#3bに対するNAPTバインディングをエッジルータ3bに要求し(ステップS104)、エッジルータ3bは、NAPT先ポートとして端末装置4b側の自ポート番号#3Bの通知信号をSIPサーバ2に送信する(ステップS105)。
【0009】
続いて、SIPサーバ2は、エッジルータ3bから受信したポート番号#3BをパラメータとしたSIP信号である INVITE(#3B)リクエストを端末装置4bに送信し(ステップS106)、INVITE(#3B)リクエストを受信した端末装置4bは、自ポート番号#4bをパラメータとしたSIP信号である200 OK(#4b)レスポンスをSIPサーバ2に送信する(ステップS107)。
【0010】
SIPサーバ2は、端末装置4bから200 OK(#4b)レスポンスを受信すると、端末装置4bのポート番号#4bに対するNAPTバインディングをエッジルータ3bに要求し(ステップS108)、エッジルータ3bは、NAPT先ポートとしてエッジルータ3a側の自ポート番号#3Aの通知信号をSIPサーバ2に送信する(ステップS109)。
【0011】
さらに、SIPサーバ2は、エッジルータ3bのポート番号#3Aに対するNAPTバインディングをエッジルータ3aに要求し(ステップS110)、エッジルータ3aは、NAPT先ポートとして端末装置4a側の自ポート番号#3aの通知信号をSIPサーバ2に送信する(ステップS111)。
【0012】
そして、SIPサーバ2は、ポート番号#3aをパラメータとしたSIP信号である200 OK(#3a)レスポンスを端末装置4aに送信する(ステップS112)。
【0013】
以上のようにして、端末装置4a,4b間にセッションが確立すると、端末装置4a,4bは、エッジルータ3a,3bを介してTCPコネクションを確立させ(ステップS113)、データ転送を行い(ステップS114)、データ転送終了後にTCPコネクションを切断する(ステップS115)。
【0014】
その後、端末装置4a,4b間で別のデータを転送する場合、端末装置4aは、BYE リクエストによりセッションを終了した後、改めて仮ポート番号#9をパラメータとしたSIP信号であるINVITE(#9)リクエストをSIPサーバ2に送信して、端末装置4bと間のセッション変更を要求する(ステップS116)。
【0015】
そして、ステップS102〜S112と同様に、SIPサーバ2がエッジルータ3a,3bに対してNAPTバインディングを要求して端末装置4a,4b間の通信経路を確立し、200 OK(#3a’)レスポンスを受信してセッションが変更される(ステップS117)。なお、図3に示す例では、NAPT先ポートが#3a’,#3b’,#3A’,#3B’に変更されている。
【0016】
以上のようにして、端末装置4aと端末装置4bの間のセッションが変更されると、端末装置4a,4bは、エッジルータ3a,3bを介してTCPコネクションを確立させ、データ転送を行い、データ転送終了後にTCPコネクションを切断する(ステップS118)。
【0017】
このセッションを変更する手順を繰り返すことにより、端末装置4a,4b間に確立したセッションを維持したまま、複数のデータ転送を行うことが可能となる。
【0018】
次に、第2のTCP再接続機能によりTCPコネクションの再確立を行う方法について説明する。
【0019】
図4は、TCP再接続機能によりTCPコネクションの再確立を行い複数のデータ転送を行う動作を示すシーケンス図である。
【0020】
図3と同様に、SIPサーバ2は、端末装置4aから INVITE(#9)リクエストを受信すると、エッジルータ3a,3bに対してNAPTバインディングを要求して端末装置4a,4b間の通信経路を確立し、端末装置4aが200 OK(#3a)レスポンスを受信してセッションが確立される(ステップS201)。なお、図4に示す例では、TCP再接続機能を利用するため、SIPサーバ2から受信したポート番号#3Aに対するNAPTバインディングを要求する際に、SYN受信時の発ポート番号の変更を通知する Notify 信号の受信を要求する(ステップS202)。
【0021】
以上のようにして、端末装置4a,4b間にセッションが確立すると、端末装置4aは、端末装置4bに対してSYNを送信し、TCPコネクションの確立を要求する(ステップS203)。
【0022】
エッジルータ3aは、端末装置4aからのSYN信号を受信すると、SIPサーバ2に端末装置4aのポート番号の変更を通知する Notify 信号を送信する(ステップS204)。
【0023】
SIPサーバ2は、エッジルータ3aから Notify 信号を受信すると、エッジルータ3aにTCP再接続受け入れ指示を通知するとともに、SYN受信時の発ポート番号の変更を通知する Notify 信号の受信を要求する Modify 信号を送信する(ステップS205)。
【0024】
端末装置4aは端末装置4bからACKを受信し、端末装置4a,4bは、エッジルータ3a,3bを介してTCPコネクションを確立させ(ステップS206)、データ転送を行う(ステップS207)。
【0025】
データ転送終了後、端末装置4aは端末装置4bに対してFINを送信してTCPコネクションの切断を要求し(ステップS208)、端末装置4bがACKを送信してTCPコネクションを切断する(ステップS209)。
【0026】
その後、端末装置4a,4b間で別のデータを転送する場合、端末装置4aは、端末装置4bに対して自ポート番号を#4a’に変更してSYNを送信し、TCPコネクションの再確立を要求する(ステップS210)。
【0027】
エッジルータ3aは、端末装置4aからのSYN受信を契機にTCP再接続受け入れ可能状態(Relatch状態)が完了するため、改めて Notify 信号を送信し(ステップS211)、SIPサーバ2は、エッジルータ3aにTCP再接続受け入れ指示を通知するとともに、Modify 信号を送信する(ステップS212)。
【0028】
以上により、エッジルータ3a,3bは、再度TCP再接続受け入れ可能状態(Relatch状態)となり、その後、端末装置4aは端末装置4bからACKを受信し、端末装置4a,4bは、エッジルータ3a,3bを介してTCPコネクションを確立させ(ステップS213)、データ転送を行い(ステップS214)、データ転送終了後、端末装置4aは端末装置4bに対してFINを送信してTCPコネクションの切断を要求し(ステップS215)、端末装置4bがACKを送信してTCPコネクションを切断する(ステップS216)。
【0029】
このTCP再接続処理を手順を繰り返すことにより、端末装置4a,4b間で確立されたセッションを維持したまま、複数のデータ転送を行うことが可能となる。
【先行技術文献】
【非特許文献】
【0030】
【非特許文献1】IETF RFC 793
【非特許文献2】ETSI ES 282 003
【発明の概要】
【発明が解決しようとする課題】
【0031】
しかしながら、第1のセッションを変更する方法では、SIPセッション変更の度にメディア変更処理を介することとなって網の処理負荷が大きくなり、また、上位のアプリケーションは、セッション変更が確立されるまで待たなければならないという問題があった。
【0032】
第2のTCP再接続機能によりTCPコネクションの再確立を行う方法では、SIP信号によるセッション変更も伴うことなく網の処理負荷を軽減することができるが、端末装置4b側から先にFINが送信されると、端末装置4aから再度異なるポート番号を指定してSYNを送信しても、エッジルータ3a,3bはNAPT変換処理を行うため、端末装置4bから見えるポート番号は#3Bのまま変更されず、一定時間が経過するまで、端末装置4a,4b間で新たなTCPコネクションが確立できないという問題があった。これは、RFC793の規定により、端末装置4bはFINの受信後TIME WAIT状態となり、TIME WAIT状態では、同一のプロトコル、発信元IPアドレス、宛先IPアドレス、発信元ポート、および宛先ポートが新しい接続に使用されないためである。
【0033】
本発明は、上記に鑑みてなされたものであり、SIPに基づくTCP接続において、同一の端末装置間で複数のデータ転送を行う場合に、網の処理負荷の軽減と処理遅延の解消を図ることを目的とする。
【課題を解決するための手段】
【0034】
第1の本発明に係る通信方法は、SIPに基づいて転送装置間の通信経路を確保する通信方法であって、受信したSIPメッセージに記載された情報に基づき、セッションを確立する端末間で行われる通信がTCPであって使用するポート番号が未確定の通信であるか否か判定するステップと、前記判定するステップにおいて、前記通信がTCPであって使用するポート番号が未確定の通信であると判定された場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAT変換を設定し、それ以外の場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAPT変換を設定するステップと、を有することを特徴とする。
【0035】
第2の本発明に係る制御装置は、SIPに基づいて転送装置間の通信経路を確保する制御装置であって、受信したSIPメッセージに記載された情報に基づき、セッションを確立する端末間で行われる通信がTCPであって使用するポート番号が未確定の通信であるか否か判定する判定手段と、前記判定手段により、前記通信がTCPであって使用するポート番号が未確定の通信であると判定された場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAT変換を設定し、それ以外の場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAPT変換を設定する設定手段と、を有することを特徴とする。
【発明の効果】
【0036】
本発明によれば、SIPに基づくTCP接続において、同一の端末装置間で複数のデータ転送を行う場合に、網の処理負荷の軽減と処理遅延の解消を図ることができる。
【図面の簡単な説明】
【0037】
【図1】本実施の形態における通信システムを含む全体構成図である。
【図2】本実施の形態における通信システムの動作を示すシーケンス図である。
【図3】従来の、セッションを変更してTCPの再接続を行い複数のデータ転送を行う動作を示すシーケンス図である。
【図4】従来の、TCP再接続機能によりTCPコネクションの再確立を行い複数のデータ転送を行う動作を示すシーケンス図である。
【発明を実施するための形態】
【0038】
以下、本発明の実施の形態について図面を用いて説明する。
【0039】
図1は、本実施の形態における通信システムを含む全体構成図である。図1に示す本通信システムは、NGN1上に配置され、SIPサーバ2とエッジルータ3a,3bを備える。エッジルータ3a,3bそれぞれには端末装置4a,4bが接続される。本通信システムでは、SIPサーバ2が端末装置4a,4bとSIPメッセージを送受信し、エッジルータ3a,3bを介する通信経路を確保するものであり、端末装置4a,4bは、SIPを用いて端末装置4a,4b間でセッションを確立した後、エッジルータ3a,3bを介したTCPコネクションを確立して通信を行う。
【0040】
SIPサーバ2は、SIPによりセッションの開始と終了の制御を行うサービス制御部21、端末装置4a,4b間の通信経路を確保する際のアドレス変換をエッジルータ3a,3bに指示する変換指示部22を備える。
【0041】
変換指示部22は、受信したSIPメッセージに記載された情報に基づき、端末装置4a,4b間で行われる通信がTCPであって使用するポート番号が未確定の通信であるか否か判定し、TCPであって使用するポート番号が未確定の通信であると判定した場合、端末装置4a,4b間の通信には、IPアドレスは変換されるがポート番号が変換されないNAT(Network Address Translation)変換を設定するようにエッジルータ3a,3bに指示する。それ以外の場合は、端末装置4a,4b間の通信には、IPアドレス、ポート番号が変換されるNAPT変換を設定するように、エッジルータ3a,3bに指示する。
【0042】
エッジルータ3a,3bは、パケットに含まれるIPアドレス、ポート番号を変換する変換部31、パケットを転送する転送部32を備える。変換部31は、NAT制御用のIPアドレス空間とNAPT制御用のIPアドレス空間を分離して保持しておき、パケットのIPアドレスのみを変換するNAT制御、パケットのIPアドレスとポート番号を変換するNAPT制御を行う。具体的には、SIPサーバ2の指示により、通信方式がTCPで使用するポート番号が未確定のものについてはNAT制御を行い、それ以外のものはNAPT制御を行う。NAT制御をTCPで使用するポート番号が未確定の通信のみに適用し、その他の通信においては従来通りNAPT制御とすることで、コア網内のトポロジー情報等の隠蔽やIPアドレス空間の有効利用を維持できる。
【0043】
次に、本実施の形態における通信システムの動作について説明する。
【0044】
図2は、本実施の形態における通信システムの処理の流れを示すシーケンス図である。
【0045】
まず、端末装置4aが、仮ポート番号#9をパラメータとしたSIP信号である INVITE(#9)リクエストをSIPサーバ2に送信して、端末装置4bとの接続を要求する(ステップS11)。
【0046】
SIPサーバ2は、INVITE(#9)リクエストの受信を契機として、端末装置4aに対するNAT制御の要求信号をエッジルータ3aに送信する(ステップS12)。ここで、INVITE(#9)リクエストにより確立されるセッションを利用して行われる通信がTCPで使用するポート番号が未確定であるので、SIPサーバ2の変換指示部22は、エッジルータ3aにNAT制御を要求する。端末装置4a,4b間で行われる通信の種別等は、INVITE(#9)リクエスト中の記載事項から特定することができる。
【0047】
エッジルータ3aは、NAT制御の要求信号を受信すると、端末装置4aに対応する第1のIPアドレスを決定し、NAT制御の確認OK信号をSIPサーバ2に送信する(ステップS13)。これにより、エッジルータ3aにおいて、端末装置4aから端末装置4bへ向かうパケットには、送信元IPアドレスとして第1のIPアドレスが付与されて転送される。
【0048】
続いて、SIPサーバ2は、第1のIPアドレスに対するNAT制御の要求信号をエッジルータ3bに送信する(ステップS14)。
【0049】
エッジルータ3bは、NAT制御の要求信号を受信すると、第1のIPアドレスに対応する第2のIPアドレスを決定し、NAT制御の確認OK信号をSIPサーバ2に送信する(ステップS15)。これにより、エッジルータ3bにおいて、端末装置4aから端末装置4bへ向かうパケットには、送信元IPアドレスとして第2のIPアドレスが付与されて転送される。ここまでの処理により、端末装置4aから端末装置4bへの通信経路が確保される。
【0050】
そして、SIPサーバ2は、端末装置4aの仮ポート番号#9をパラメータとしたSIP信号である INVITE(#9)リクエストを端末装置4bに送信する(ステップS16)。
【0051】
端末装置4bは、INVITE(#9)リクエストを受信すると、自ポート番号#4bをパラメータとしたSIP信号である200 OK(#4b)レスポンスをSIPサーバ2に送信する(ステップS17)。
【0052】
SIPサーバ2は、端末装置4bから200 OK(#4b)レスポンスを受信すると、端末装置4bに対するNAT制御の要求信号をエッジルータ3aに送信する(ステップS18)。
【0053】
エッジルータ3bは、NAT制御の要求信号を受信すると、端末装置4bに対応する第3のIPアドレスを決定し、NAT制御の確認OK信号をSIPサーバ2に送信する(ステップS19)。これにより、エッジルータ3bにおいて、端末装置4bから端末装置4aへ向かうパケットには、送信元IPアドレスとして第3のIPアドレスが付与されて転送される。
【0054】
続いて、SIPサーバ2は、第3のIPアドレスに対するNAT制御の要求信号をエッジルータ3bに送信する(ステップS20)。
【0055】
エッジルータ3aは、NAT制御の要求信号を受信すると、第3のIPアドレスに対応する第4のIPアドレスを決定し、NAT制御の確認OK信号をSIPサーバ2に送信する(ステップS21)。これにより、エッジルータ3aにおいて、端末装置4bから端末装置4aへ向かうパケットには、送信元IPアドレスとして第4のIPアドレスが付与されて転送される。ここまでの処理により、端末装置4bから端末装置4aへの通信経路が確保される。
【0056】
そして、SIPサーバ2は、端末装置4bのポート番号#4bをパラメータとしたSIP信号である200 OK(#4b)レスポンスを端末装置4aに送信する(ステップS22)。
【0057】
以上のようにして、端末装置4a,4b間にセッションが確立し、通信経路が確保されると、端末装置4aは、端末装置4bに対して自ポート番号#4aをパラメータとするSYNを送信し、TCPコネクションの確立を要求する(ステップS23)。なお、送信されたSYNの送信元IPアドレスはエッジルータ3a,3bでNAT制御により変換されるが、送信元ポート番号は#4aのまま変換されない。
【0058】
端末装置4bは、端末装置4aへACKを送信し(ステップS24)、端末装置4a,4bは、エッジルータ3a,3bを介してTCPコネクションを確立させる。
【0059】
端末装置4a,4bは、確立したTCPコネクションを用いてデータ転送を行い(ステップS25)、データ転送終了後、端末装置4aは端末装置4bに対してFINを送信してTCPコネクションの切断を要求し(ステップS26)、端末装置4bは端末装置4aに対してACKを送信してTCPコネクションを切断する(ステップS27)。
【0060】
その後、端末装置4a,4b間で別のデータを転送する場合、端末装置4aは端末装置4bに対して、自ポート番号を#4a’に変更してSYNを送信し、TCPコネクションの再確立を要求する(ステップS28)。エッジルータ3a,3bは、端末装置4a,4b間のTCP通信に対してNAT制御を行うため、IPアドレスは変換されるがポート番号#4a’は変換されずにそのまま端末装置4bに到達する。
【0061】
端末装置4bは、ポート番号が新たな#4a’に変更されているのでTIME WAIT状態で待機することなく、端末装置4aへACKを送信してTCPコネクションを確立させる(ステップS29)。そして、データ転送を行い(ステップS30)、FIN,ACKを送受信してTCPコネンションを切断する(ステップS31〜S32)。
【0062】
このTCPコネクションを再確立する手順を繰り返すことにより、端末装置4a,4b間で確立したセッションを維持したまま、SIP信号によるセッション変更も伴うことなく、網の処理負荷を軽減することができる。また、エッジルータ3a,3bにおいては、通信方式がTCPであって使用するポート番号が未確定のものについてはNAT制御を行うので、端末装置4aがポート番号を変えてTCPコネクションを再確立する場合でも、エッジルータ3a,3bにおいてポート番号が変換されることなく新たなポート番号により接続要求され、TIME WAIT状態の問題を回避することができる。
【0063】
なお、本実施の形態では、SIPサーバ2が変換指示部22を有し、SIPサーバ2がNAT制御を行わせるか否か判断していたが、エッジルータ3a,3bが変換指示部22を備えて、端末装置4a,4b間で行われる通信がTCPで使用するポート番号が未確定であるか否か判定し、NAT制御を行うか否かを判断してもよい。このとき、端末装置4a,4b間で行われる通信がTCPで使用するポート番号が未確定であるか否かは、SIPサーバ2からの通信経路を確保するための通知で知ることができる。
【0064】
以上説明したように、本実施の形態によれば、エッジルータ3a,3bがNAT制御用のIPアドレス空間とNAPT制御用のIPアドレス空間を分離して保持しておき、通信方式がTCPで使用するポート番号が未確定の通信経路を確保する場合はNAT変換を設定してNAT制御を行い、それ以外の通信はNAPT変換を設定してNAPT制御を行うことにより、SIP信号によるセッション変更を伴うことなく、網の処理負荷を軽減することができ、端末装置4aがポート番号を変えてTCPコネクションを再確立する場合でも、エッジルータ3a,3bにおいてポート番号が変換されることなくTIME WAIT状態の問題を回避することができる。
【符号の説明】
【0065】
1…NGN
2…SIPサーバ
21…サービス制御部
22…変換指示部
3a,3b…エッジルータ
31…変換部
32…転送部
4a,4b…端末装置

【特許請求の範囲】
【請求項1】
SIPに基づいて転送装置間の通信経路を確保する通信方法であって、
受信したSIPメッセージに記載された情報に基づき、セッションを確立する端末間で行われる通信がTCPであって使用するポート番号が未確定の通信であるか否か判定するステップと、
前記判定するステップにおいて、前記通信がTCPであって使用するポート番号が未確定の通信であると判定された場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAT変換を設定し、それ以外の場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAPT変換を設定するステップと、
を有することを特徴とする通信方法。
【請求項2】
SIPに基づいて転送装置間の通信経路を確保する制御装置であって、
受信したSIPメッセージに記載された情報に基づき、セッションを確立する端末間で行われる通信がTCPであって使用するポート番号が未確定の通信であるか否か判定する判定手段と、
前記判定手段により、前記通信がTCPであって使用するポート番号が未確定の通信であると判定された場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAT変換を設定し、それ以外の場合、前記端末間の通信経路上の前記転送装置が前記通信に対してNAPT変換を設定する設定手段と、
を有することを特徴とする制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate