JP6048129B2 - 通信システムと装置と方法とプログラム - Google Patents

通信システムと装置と方法とプログラム Download PDF

Info

Publication number
JP6048129B2
JP6048129B2 JP2012283351A JP2012283351A JP6048129B2 JP 6048129 B2 JP6048129 B2 JP 6048129B2 JP 2012283351 A JP2012283351 A JP 2012283351A JP 2012283351 A JP2012283351 A JP 2012283351A JP 6048129 B2 JP6048129 B2 JP 6048129B2
Authority
JP
Japan
Prior art keywords
terminal
message
switch
session
control device
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.)
Expired - Fee Related
Application number
JP2012283351A
Other languages
English (en)
Other versions
JP2014127866A (ja
Inventor
慎也 荒生
慎也 荒生
知子 岡本
知子 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012283351A priority Critical patent/JP6048129B2/ja
Publication of JP2014127866A publication Critical patent/JP2014127866A/ja
Application granted granted Critical
Publication of JP6048129B2 publication Critical patent/JP6048129B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、通信システムと装置と方法とプログラムに関する。
企業LAN(Local Area Network)(Private Network)等においては、セキュリティー上の理由、及び、企業秘密情報漏洩防止の観点で、部門間のピアツーピア(peer-to-peer)型通信を許容しない場合が多い。例えばLANスイッチのVLAN(Virtual LAN)機能を利用して個々の部門へVLANを割り当て、部門間での通信を許容しないことで、部門間でのピアツーピア(peer-to-peer)型通信が完全に不可能となる。
しかし、部門間でIP(Internet Protocol)電話を利用するには、IP電話のVoIP(Voice over IP)パケットに限り、部門間でのピアツーピア型通信を許容する必要がある。この場合、一般的には、他のデータ通信向けLANとは分離されたLAN(IP電話向けLAN)へIP電話機を接続する構成をとり、IP電話の通信に限り、部門間でのピアツーピア型通信を許容する。
他のデータ通信向けLANとIP電話向けLANを分離するための手法として、例えば以下の方法等が用いられる。
(1)ポートVLANによる方法:
LANスイッチ上で、IP電話機が接続されるポートにIP電話向けVLANをアサインし、他のデータ通信が接続されるポートに他のVLANを割当てる。IP電話向けVLANに限り、部門間のピアツーピア型通信も許容する。
(2)タグVLANによる方法:
IP電話機から送信されるパケット、もしくは、このIP電話機で受信されるVoIPパケットにはIEEE(Institute of Electric and Electrical Enginneers) 802.1qで規格化されているVLANタグが付与される。IP電話専用にアサインされたVLANタグをVoIPパケットへ付与することで、LAN上のネットワーク機器は、VoIPパケットがIP電話専用のVLANに所属していることを判別することができる。IP電話向けVLANタグのパケットに限り、部門間のピアツーピア型通信も許容する。
しかし、上記の方法は、例えばPC(Personal Computer)上で動作するソフトフォンを利用した部門間の通信には、適用出来ない。なぜなら、ソフトフォンが動作するPC上では、通常、ソフトフォン以外の通信アプリケーションも動作しているため、上記(1)の方法を適用する事は出来ないからである。なお、ソフトフォンは、PC等のコンピュータでインタネット経由で電話を可能とするソフトウェアであり、通信プロトコルとして例えばIETF(Internet Engineering Task Force)のRFC(Request For Comemnts)3261で規定されるセッション開始プロトコル:Session Initiation Protocol(SIP)を用いる。SIPでは、通話(セッション開始)時、発信元端末はINVITEメッセージをSIPサーバに送信し、SIPサーバではINVITEメッセージ中の宛先(SIP URL(Uniform Resource Locator))に対応するIPアドレスにINVITEメッセージを転送し、宛先端末が電話に出ると、“200 OK”メッセージを返す。発信元端末で“200 OK”メッセージを受け取ると、“ACK”メッセージを送る。INVITE、200 OK、ACKメッセージで交換したセッション記述プロトコルSDP(Session Description Protocol)情報から端末間で、直接相手のIPアドレスに音声情報を例えばRTP(Real-time Transport Protocol)で送る。電話(セッション)を切断するときは、切断する側の端末からBYEメッセージを送り、BYEメッセージに対する“200 OK”メッセージでセッションが終了しIP電話が切れる。
また、PCでは、通常、
・「このIP電話の通信では、パケットにこのVLANタグを付与する」、
・「この通信アプリケーションでは、パケットにこのVLANタグを付与する」
といったような、通信アプリケーション毎に、個別に、VLANタグを付与する事が出来ない。このため、上記(2)の方法を適用する事は出来ない。
ソフトフォンにおいて、部門間ピアツーピア型通信を実現する場合、次のような対策がとられる場合がある。
(1)妥協策:
セキュリティーをある程度犠牲にして、UDP(User Datagram Protocol)パケットについてのみ、部門間のルータやファイアウォール(Firewall)にてピアツーピア型通信を許容する。
ただし、一般に、ソフトフォンにおけるピアツーピア型通信では、任意のUDPポート番号を持ったパケットで通信が行われる。このため、特定のUDPポート番号のパケットのみ、部門間でピアツーピア型通信を許容する、といったパケットフィルタリングを行うことは出来ない。仮に、UDPパケットを用いた場合、部門間で自由にピアツーピア型通信が出来ることから、例えば悪意あるユーザが他部門へ侵入して企業秘密情報を不正に入手する、といったセキュリティーリスク等にさらされる可能性(懸念)がある。
(2)Session Initiation Protocol Application Layer Gateway (SIP-ALG)機能適用: ルータやファイアウォールのベンダーには、SIP-ALG機能を提供しているところがある。SIP-ALGでは、部門間のルータやファイアウォールにて、IP電話端末の間で交換されるSIPプロトコルの制御パケット(SIPメッセージ)をモニタリングする事で、IP電話端末間で確立された特定のセッションに属するVoIPパケットのIPアドレスやUDPポート番号を検出し、該IPアドレスや該UDPポート番号を使うVoIPパケットのみ、部門間のピアツーピア通信を許容する。
最近では、ルータやスイッチの代わりに、OpenFlowシステムによる企業ネットワークを構築する事例が見られるようになってきた。従来、通信サービスを付加するには、ルータやスイッチ等のファームウェアに機能を追加する必要があった。ルータやスイッチのベンダーへ、ルータやスイッチのファームウェアへ機能の追加を依頼して実装することは、容易ではない。そこで、ルータやスイッチの基本機能をオープン化し、その上で、自由に、通信機能を付加できる仕組みが、スタンフォード大学等によって提案された。また、ルータやスイッチの基本機能のオープン化の為、OpenFlowプロトコルが仕様化された。オープン化されたルータやスイッチを「OFS」(OpenFlow Switch)、また、OFSをOpenFlowプロトコルで制御するサーバ(コントローラ、制御装置)を「OFC」(OpenFlow Controller)と呼ぶ。パケット転送機能を具備するOFSとパケット転送の経路を制御するOFCで構成されるネットワークを「OpenFlowシステム」と呼ぶ。
OFCは、例えば汎用サーバ等の上で動作するアプリケーションとして実装されている。例えばルータやスイッチのファームウェアに対して機能追加を行う代わりに、OFC上で機能追加する事で、通信機能を追加する事が可能になった。
OpenFlowシステムにおいても、IP電話向けネットワークと、他のデータ通信向けネットワークを論理的に分離する事で、VLANによる分離と同様な効果が得られる。このため、部門間でのピアツーピア型通信を、IP電話向けのものに限定する事が可能である。
本件に関して出願人側で行った先行技術文献サーチにより、例えば特許文献1、2等がサーチされた。特許文献1には、SIP-ALG機能を備えたルータ、SIPサーバによるVoIPシステムが開示されている。また特許文献2には、OpenFlowシステムにおいて、OFCによるOFSのフローテーブルエントリーの設定やセキュアチャネルを用いた転送等が開示されている。
特開2009−118198号公報 特開2012−090058号公報
以下に関連技術の分析を与える。
OpenFlowシステムにおいて、ソフトフォンを利用する場合に、ネットワークの分離によるセキュリティーの確保が出来ない、という問題がある。
また、一般に、OpenFlowシステムは、SIP-ALG機能を具備していない。このため、SIP-ALG機能が必要とされるネットワークに、OpenFlowシステムを適用することは出来ない。
ルータやスイッチは、OpenFlowシステムで置き換える事が可能であるが、この場合、SIP-ALG機能も、OpenFlowシステムで提供していく必要性が生じる。
したがって、本発明は、上記課題の認識に基づき創案されたものであって、その目的は、例えばOpenFlowシステムに適用して好適とされ、SIP-ALG機能と同等の機能を実現可能とする通信システムと装置と方法とプログラムを提供することにある。
本発明によれば、スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則と、を対応付けた処理規則を、前記スイッチに対して設定する制御装置と、
受信パケットを前記処理規則に従って処理する複数のスイッチと、
を備え、
第1の端末と第2の端末との間でセッション確立時に交換されるメッセージは、一旦、前記第1の端末及び前記第2の端末にそれぞれ接続する前記スイッチを介して前記制御装置に転送され、
前記制御装置は、前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得して前記経路上の前記スイッチに処理規則を設定し、
前記セッション確立後、前記第1の端末と前記第2の端末間の前記セッションに属するパケットは、前記経路上の前記スイッチを介して前記第1の端末と前記第2の端末間で交換される、通信システムが提供される。
本発明の別の側面によれば、スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則と、を対応付けた処理規則を、前記スイッチに対して設定する第1の機能部を備えた制御装置であって、
第1の端末と第2の端末間でセッション確立時に交換されるメッセージが、一旦、前記第1及び前記第2の端末にそれぞれ接続するスイッチを介して前記制御装置に転送され、
前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得し、前記セッションにおいて、前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路上の前記スイッチに処理規則を設定するように第1の機能部に対して要求する第2の機能部を備えた制御装置が提供される。
本発明のさらに別の側面によれば、スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則とを対応付けた処理規則を、前記スイッチに対して設定する第1の機能部を備えた制御装置を構成するコンピュータに、
第1の端末と第2の端末間でセッション確立時に交換されるメッセージが、一旦、前記第1及び前記第2の端末にそれぞれ接続するスイッチを介して前記制御装置に転送され、
前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得し、前記第1の機能部に対して、前記経路上の前記スイッチに処理規則を設定するように要求する処理を実行させるプログラム(SIP-ALG機能プログラム)が提供される。本発明によれば、当該プログラムを記録したコンピュータで読み出し可能な記録媒体(半導体メモリ、磁気/光ディスク媒体、装置)が提供される。
本発明のさらに別の側面によれば、
制御装置は、スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則とを対応付けた処理規則を、前記スイッチに対して設定し、
前記スイッチは、受信パケットを、前記スイッチに設定されている処理規則に従って処理し、
第1の端末と第2の端末間でセッション確立時に交換されるメッセージは、一旦、前記第1の端末及び前記第2の端末にそれぞれ接続する前記スイッチを介して前記制御装置に転送され、
前記制御装置は、前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得し、前記経路上の前記スイッチに処理規則を設定し、
前記セッション確立後、前記第1の端末と前記第2の端末間での前記セッションに属するパケットは、前記経路上の前記スイッチを介して、前記第1の端末と前記第2の端末間で交換される通信方法が提供される。
本発明によれば、OpenFlowシステムに適用して好適とされ、SIP-ALG機能と同等の機能を実現することができる。
本発明の一実施形態を説明する図である。 本発明の一実施形態を説明する図である。 本発明の一実施形態においてOFSへ設定される各フローテーブルエントリーを例示する図である。 本発明の一実施形態におけるセッション確立時のシーケンスを説明する図(その1)である。 本発明の一実施形態におけるセッション確立時のシーケンスを説明する図(その2)である。 本発明の一実施形態におけるセッション確立時のシーケンスを説明する図(その3)である。 本発明の一実施形態におけるセッション切断時のシーケンスを説明する図(その1)である。 本発明の一実施形態におけるセッション切断時のシーケンスを説明する図(その2)である。 SIPメッセージのデータ構造を説明する図である。 本発明の一実施形態における状態管理データを説明する図である。
本発明の一形態によれば、スイッチにおいて受信パケットに適用する処理(action)と、前記処理を適用する受信パケットを特定するための照合規則と、を対応付けた処理規則を、前記スイッチに対して設定する制御装置(図1の100)と、受信パケットを前記処理規則に従って処理する複数のスイッチ(図1の105、106、107)と、を備え、第1の端末(例えば図1のIP電話端末112)と第2の端末(図1のIP電話端末113)との間でセッション確立時に交換されるメッセージ(例えばSIPメッセージ)は、一旦、前記第1及び前記第2の端末にそれぞれ接続する前記スイッチ(105、106)を介して、前記制御装置(100)に転送される。前記制御装置(100)は、前記制御装置(100)に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末(112)と前記第2の端末(113)間で交換される情報を抽出し、前記セッションにおいて前記第1の端末(112)と前記第2の端末(113)間で交換されるパケットが転送される経路に関する情報(フロー情報:例えばパケットの送信元アドレス、送信先(宛先)アドレス、ポート情報等)を取得し、前記経路上の前記スイッチ(105、106)に処理規則を設定し、前記セッション確立後、前記第1及び第2の端末(112、113)間の前記セッションに属するパケット(VoIPパケット)は、前記経路上の前記スイッチ(105、106)を介して前記第1の端末と前記第2の端末(112、113)間で交換される。
本発明の一形態において、前記第1の端末(112)と前記第2の端末(113)にそれぞれ接続された第1のスイッチ(105)と第2のスイッチ(106)と、呼制御サーバ(111:SIPサーバ)に接続された第3のスイッチ(107)と、を備えている。前記セッション確立時に、前記第1及び第2の端末の一方の端末(112/113)から、前記呼制御サーバ(111)を中継して、前記第1及び第2の端末の他方の端末(113/112)へ転送されるメッセージ(例えばSIPメッセージ:INVITEリクエスト)は、前記第1及び第2のスイッチのうち前記一方の端末(112/113)に接続する一方のスイッチ(105/106)を介して、前記制御装置(100)に転送され、前記呼制御サーバ(111)との間で、前記制御装置(100)が、少なくとも前記第3のスイッチ(107)を介して、前記メッセージを送受した上で、前記制御装置(100)から、前記第1及び第2のスイッチのうち他方のスイッチ(106/105)を介して、前記他方の端末(113/112)に転送される。前記制御装置(100)は、前記一方の端末(112/113)から前記一方のスイッチ(105/106)を介して前記制御装置(100)に転送されたメッセージ(例えばSIPメッセージ:INVITEリクエスト)を解析して、前記セッションに関する管理情報を取得して記憶部(104)に記憶する。また、前記制御装置(100)は、前記制御装置(100)から前記第3のスイッチ(107)を介して転送されたメッセージを受けた前記呼制御サーバ(111)で中継され、前記第3のスイッチ(107)を介して前記制御装置(100)に転送された、前記他方の端末(113/112)宛のメッセージを解析して、前記一方の端末(112/113)から前記他方の端末(113/112)へ、前記セッションに属するパケットを転送するための経路を規定する第1のフロー情報(VoIPフローデータ1)を取得して、前記記憶部(104)に記憶するとともに、前記第1のフロー情報(VoIPフローデータ1)に対応した処理規則を、少なくとも前記第1及び第2のスイッチ(105、106)に設定する。
また、前記制御装置(100)は、前記一方の端末(112/113)からの前記メッセージ(INVITEリクエスト)を受けた前記他方の端末(113/112)から前記他方のスイッチ(106/105)を介して前記制御装置(100)に転送されたメッセージ(例えば200 OK)を解析して、前記セッションに関する管理情報を取得し前記記憶部(104)に記憶し、前記制御装置(100)から前記第3のスイッチ(107)を介して転送された前記メッセージ(例えば200 OK)を受けた前記呼制御サーバ(111)で中継され前記第3のスイッチ(107)及び前記一方のスイッチ(105/106)を介して、前記制御装置(100)に転送された、前記一方の端末(112/113)宛のメッセージ(例えば200 OK)を解析して、前記他方の端末(113/112)から前記一方の端末(112/113)へ、前記セッションに属するパケットを転送するための経路を規定する第2のフロー情報(VoIPフローデータ2)を取得して、前記記憶部(104)に記憶するとともに、前記第2のフロー情報(VoIPフローデータ2)に対応した処理規則を、少なくとも前記第1及び第2のスイッチ(105、106)に設定する。前記第1及び第2の端末の一方の端末(112/113)から、前記呼制御サーバ(111)を中継して、前記第1及び第2の端末の他方の端末(113/112)へ転送されるメッセージ(例えばACK)は、前記第1及び第2のスイッチのうち前記一方の端末(112/113)に接続する一方のスイッチ(105/106)を介して、前記制御装置(100)に転送され、前記呼制御サーバ(111)との間で、前記制御装置(100)が、少なくとも前記第3のスイッチ(107)を介して、前記メッセージ(ACK)を送受した上で、前記制御装置(100)は、セッション状態を「セッション確立」に設定し、前記メッセージ(ACK)を、前記第1及び第2のスイッチのうち他方のスイッチ(106/105)を介して、前記他方の端末(113/112)に転送する。
前記第1の端末(112)と前記第2の端末(113)間でセッション切断時に交換されるメッセージ(例えばSIPメッセージ:BYE)は、一旦、前記第1及び前記第2の端末にそれぞれ接続する前記第1、第2のスイッチ(105、106)を介して前記制御装置(100)に転送される。前記制御装置(100)は、前記メッセージ(BYE)を解析して、前記第1及び第2の端末(112、113)間で前記セッションに属するパケットを転送するための前記第1、第2のフロー情報(VoIPフローデータ1、2)を記憶部(104)から取得し、前記第1、第2のフロー情報に対応した処理規則が設定されている前記スイッチ(105、106)に対して、前記処理規則を削除するように指示し、前記セッションに関する管理情報を、前記記憶部(104)から削除する。
例えば部門間に存在するIP電話端末間でVoIPによる通信を行う場合、最初に、SIPプロトコルを使い、両端末間でVoIPのコーデック(CODEC)種別やVoIPパケット受信用のUDPポート番号情報を端末間で互いに交換することで、SIPセッションを確立する。
SIPセッション確立後、両端末はVoIPパケットの送信・受信を開始する。OpenFlowシステムにおいて、OFCはセキュアチャネル(secure channel)を使ってOFSを制御する。また、OFCは特定のルールをOFSのフローテーブルへ設定することで、OFSでは、特定の種類のIPパケットに限って、受信した特定の種類のIPパケットを全てOFCへセキュアチャネルを経由して転送することも出来る。
図1、図2は、本発明の一実施形態を説明する図である。図1及び図2は、OpenFlowシステムで構築された、ある企業のLANを例示している。センタ―拠点は、OFC100と、SIPサーバ111と、OFS-C107を備えている。部門Aは、IP電話端末A112と、OFS−A105を備えている。部門Bは、IP電話端末B113と、OFS−B106を備えている。
OFC100は、OFC基本機能部101と、SIP-ALG機能部102と、状態管理データベース104を備えている。
OFC基本機能部101は、特定のOFSに対して、OFSの任意のポートで受信される全てのSIPメッセージを、セキュアチャネルを経由して、OFC基本機能部101へ転送するルール(即ち、処理(action)を適用する受信パケットを特定するための照合規則(条件)と、処理(action)からなるフローテーブルエントリー)を設定する。
また、OFC100上で、OFCのアプリケーションプログラムとして、SIP-ALG機能部102を動作させる。本実施形態によれば、SIP-ALG機能部102の機能を実現するコンピュータプログラムは、不図示のストレージ装置(半導体ストレージデバイス、磁気/光ディスク等)からOFC100の不図示のRAM(Random Access Memory)等にロードし、OFC100のコンピュータで実行することで、その機能が実現される。
OFC基本機能部101では、OFSからセキュアチャネル経由で受信したSIPメッセージをSIP-ALG機能部102へ転送する。
SIP-ALG機能部102は、SIPメッセージ内のIPヘッダーやSDP(Session Description Protocol)を参照することで、特定のSIPセッションにおいて、どのIPアドレスとどのUDPポート番号を持ったVoIPパケットがIP電話端末間で交換されるか等に関する情報を取得する事が出来る。
SIP-ALG機能部102は、OFC基本機能部101に対して、特定のSIPセッションに属するVoIPパケットに対するフローテーブルエントリーをOFS-A105及びOFS-B106に設定するように指示する。
IP電話端末A112からIP電話端末B113へ送信されるVoIPパケット、及び、IP電話端末A113からIP電話端末B112へ送信されるVoIPパケットが、OFS-A105及びOFS-B106の物理ポートから入力した時、これらのVoIPパケットは、OFS-A105及びOFS-B106にそれぞれ設定されたフローテーブルエントリーにマッチする。このため、OFS-A105及びOFS-B106では、受信したVoIPパケットをフローテーブルエントリーに規定された処理(Action)に従った出力ポートへ出力する。これにより、SIPプロトコルを使ってSIPセッションを確立した場合、IP電話端末A112とIP電話端末B113間でVoIPパケットを交換することが出来る。また、上記の手順を踏まない部門間通信を非許容とすることで、IP電話とは関係ない部門間での通信を遮断する事が可能となる。
上記により、ルータやファイアウォール等に付加機能として具備されるSIP-ALG機能を、OpenFlowシステム上でも実現する事が可能となる。
図1において、OpenFlowシステムは、OFC100とOFS-A105、OFS-B106、OFS-C107で構成されている。OpenFlowシステムにより、センター拠点、部門A、及び部門Bのそれぞれの間でのデータ通信が可能である。OpenFlowシステムで構成されたLAN上で、IP電話サービスを提供するため、SIPサーバ111、IP電話端末A112、IP電話端末B113がOpenFlowシステムで構築されたLANに接続されている。
IP電話サービスを利用する前に、OFC100は、予め、OFS-A105及びOFS-B106へ、図3(B)の201で示されるフローテーブルエントリーを登録しておく。
図3には、OFCからセキュアチャネルを経由してOpenFlowプロトコルのモディファイステート(Modify State)メッセージによりOFS(OFS-AとOFS-B)に設定される各フローテーブルエントリーが示されている。図3(A)の200は、フローテーブルエントリーの一般的なデータ構造を表している。フローテーブルエントリーのルール(条件)として、
Ingress Port(スイッチの物理ポート番号)、
Ether src(送信元MAC(Media Access Control)アドレス)、
Ether dst(宛先MACアドレス)、
Ether type(イーサネット(登録商標)のタイプ)、
VLAN id(VLANのID)、
VLAN priority(VLANのPCP(Priority Code Point)の値)、
IP src(送信元IPアドレス)、
IP dst(宛先IPアドレス)、
IP proto(IPプロトコル種別)、
IP Tos Bits(TOS(Type OF Service)値)、
TCP/UDP src port(送信元L4ポート番号)、
TCP/UDP dst port(宛先L4ポート番号)
等が用いられる(これらの情報の一部又は全てによりフローが定義される)。ルール(照合規則)にマッチしたパケットに対して、Action欄に規定された処理が実行される。Actionとして、例えばForward(パケットを転送(スイッチの特定ポートやOFCへの転送等)、Enqueue(スイッチのポートで設定されているキューに繋いでパケットを転送)、Drop(パケット廃棄)、Modify-Field(パケットの特定フィールドを書き換える)等がある。なお、フローテーブルには、図3では図示されない統計情報(受信パケット数等)のエントリも含まれる。図3(B)乃至(F)の201〜205は、フローテーブルエントリーの設定例を表している。
IP電話端末A及びIP電話端末B間では、SIPプロトコルによりSIPセッションの確立や切断が行われる。
SIPセッションの確立や切断時に交換される全てのSIPメッセージは、OFS-A105及びOFS-B106におけるフローテーブルエントリー201にマッチし、セキュアチャネル108やセキュアチャネル109を経由してOFC基本機能部101へ転送される。
OFC基本機能部101がSIPメッセージを受信したとき、OFC基本機能部101はSIPメッセージをインタフェース103を介してSIP-ALG機能部102へ転送する。
SIP-ALG機能部102では、受信したSIPメッセージの種類がINVITEメッセージ、もしくは、INIVTEメッセージに対する“200 OK”メッセージの場合、そのSIPメッセージのIPヘッダー部やSDP(Session Description Protocol)部内のデータを調べ、このIP電話の通信に使われるVoIPパケットのIP src(Source IP address)、IP dst(Destination IP address) 及びUDP src portの情報を取得する。
IP電話端末は、宛先のIP電話端末に対し、IP src、IP dst、UDP src portを設定したVoIPパケットを送信する。
SIP-ALG機能部102は、OFC基本機能部101に対して、このVoIPパケットを宛先へ転送するよう指示する。即ち、IP src、IP dst、UDP src portで示されるフローをIP電話端末が接続されているOFS(OFS-A105及びOFS-B106)に対して設定するよう指示する。
更に、この動作を説明すると、OFC基本機能部101は、前記フロー情報に、OFSにてVoIPパケット転送時の出力ポート番号の情報“Action”を加え、
OFS-A105に対しては、図3(C)、(F)のフローテーブルエントリー202、205を作成し、
OFS-B106に対しては、図3(D)、(E)のフローテーブルエントリー203、204を作成する。
続いて、OFC基本機能部101は、作成したフローテーブルエントリー202、205を、セキュアチャネルを経由して、OpenFlowプロトコルにて、OFS-A105のフローテーブルへ設定する。
同様に、OFC基本機能部101は、作成したフローテーブルエントリー203、204を、セキュアチャネルを経由してOpenFlowプロトコルにてOFS-B106のフローテーブルへ設定する。
IP電話端末A112がVoIPパケットをIP電話端末B113へ送信する場合、OFS-A105では、IP電話端末A112から受信したパケット(VoIPパケット)が図3(C)のフローテーブルエントリー202にマッチするため、この受信VoIPパケットはポート49から出力される。OFS-B106では、OFS-A105から受信したパケット(VoIPパケット)が図3(D)のフローテーブルエントリー203にマッチするため、この受信VoIPパケットはポート3から出力される。その結果、IP電話端末A112からのVoIPパケットはIP電話端末B113へ到達することが出来る。
同様に、IP電話端末B113がVoIPパケットをIP電話端末A112へ送信する場合、OFS-B106では、IP電話端末B113から受信したパケット(VoIPパケット)が図3(E)のフローテーブルエントリー204にマッチするため、この受信VoIPパケットはポート49から出力される。OFS-A105では、OFS-B106から受信したパケット(VoIPパケット)が図3(F)のフローテーブルエントリー205へマッチするため、この受信VoIPパケットはポート5から出力される。その結果、IP電話端末B113からのVoIPパケットはIP電話端末A112へ到達することが出来る。
OpenFlowシステムにおいては、上記手順を踏まない部門間でのデータ通信は許容しない。例えば、IP電話端末A112がIP電話端末B113宛に、SIPプロトコルでSIPセッションを確立せずに、任意のIPパケットを送出したとしても、例えばOFS-A105では、フローテーブルエントリーの設定に従って、当該IPパケットを破棄する。これにより、上記手順を踏まないデータ通信、すなわちIP電話とは関係ない部門間での通信は遮断される。
図1において、企業のLANがOpenFlowシステムで構成された場合の各構成要素間でのデータの流れを説明する。
SIPセッションの確立及び切断時には、IP電話端末A112とIP電話端末B113との間で、SIPサーバ111を中継してSIPメッセージが交換される。
IP電話端末A112がSIPサーバ111に対してSIPメッセージを送出するとき、該SIPメッセージは、OFS-A105のフローテーブルエントリー201(図3(B))にマッチし、セキュアチャネル108を経由し、OpenFlowプロトコルのパケットイン(Packet-In)メッセージにてOFC基本機能部101へ転送される。
逆に、SIPサーバ111がIP電話端末A112に対してSIPメッセージを送出するとき、該SIPメッセージはOFS-C107を経由しOFS-A105へ転送され、OFS-A105では、フローテーブルエントリー201(図3(B))にマッチし、セキュアチャネル108を経由し、OpenFlowプロトコルのPacket-InメッセージにてOFC基本機能部101へ転送される。
OFC基本機能部101は、Packet-Inメッセージに含まれるSIPメッセージを、インタフェース103を経由してSIP-ALG機能部102へ転送する。
前述したように、SIP-ALG機能部102は、ルータやファイアウォールに実装されているSIP-ALGと同等の機能を果す。
SIPセッションの確立時、SIP-ALG機能部102は、OFC基本機能部101に対して、特定のSIPセッションに関するフローをOFSへ設定するよう要求する。
OFC基本機能部101は、この要求に、当該フローに対する“Action”を加え、フローテーブルエントリーのデータを作成する。
OFC基本機能部101は、作成したフローテーブルエントリーを、セキュアチャネル108、及び、セキュアチャネル109を経由して、OpenFlowプロトコルにて、OFS-A105及びOFS-B106のフローテーブル(不図示)にそれぞれ設定する。
同様に、SIPセッションの切断時、SIP-ALG機能部102は、OFC基本機能部101に対し、特定のSIPセッションに関するフローを、OFS(OFS−A105とOFS-B106)から削除するように要求する。
OFC基本機能部101は、セキュアチャネル108及びセキュアチャネル109を経由し、OpenFlowプロトコルにて、OFS-A105及びOFS-B106のフローテーブルにそれぞれ登録されている該当フローテーブルエントリーを削除する。
SIP-ALG機能部102は、特定のSIPセッションに関連して必要となるデータを、図10に示される状態管理データ700として、図1の状態管理データベース104に登録する。
SIPセッション確立後、IP電話端末A112とIP電話端末B113は、互いに、相手端末へVoIPパケットを送信する。OFS-A105及びOFS-B106には、図3(B)乃至(E)のフローテーブルエントリー201、202、203、204が登録されているため、前記VoIPパケットは、OpenFlowシステム上で、相手端末へ転送される。
図2を参照すると、図1における構成要素間の物理的な配線が示されている。物理ケーブル150〜166の例としては、LANケーブルや光ケーブルが挙げられる。
OFS-A105においては、IP電話端末A112からの物理ケーブルがポート5に接続されている。
同様に、OFS-B106においては、IP電話端末B113からの物理ケーブルがポート3に接続されている。
OFS-A105とOFS-B106間の配線についてみると、OFS-A105のポート49とOFS-B106のポート49に物理ケーブルがそれぞれ接続されている。また、OFS-A105、OFS-B106、及び、OFS-C107は、それぞれ物理ケーブル150、151、152で、OFC100と接続している。
図1及び図2に示されるLAN構成では、各部門にIPサブネットが切られ、IPアドレスがIP電話端末A112、IP電話端末B113、及びSIPサーバ111に割り当てられている。
部門Aには、ネットワークアドレス10.2.0.0/16が割り当てられ、IP電話端末A112にはIPアドレス10.2.0.33が割り当てられている。
部門Bにはネットワークアドレス10.3.0.0/16が割り当てられ、IP電話端末B113にはIPアドレス10.3.0.24が割り当てられている。
センター拠点には、ネットワークアドレス10.1.0.0/16が割り当てられ、SIPサーバ111には、IPアドレス10.1.0.10が割り当てられている。
OFS-A105やOFS-B106は、IPパケット(本実施形態では、SIPメッセージやVoIPパケット)を受信したとき、これら登録済みのフローテーブルエントリーの中で、そのIPパケットの該当ヘッダーフィールドへマッチするものがないか調べる。
例えば、フローテーブルエントリー201(図3(B))にマッチするIPパケットはUDPパケットで、UDP dst port(図9のDestination port number 606)が5060のものであり、即ち、全てのSIPメッセージがこれにマッチする事になる(SIPサーバのUDPポート番号は、通常、5060がアサインされる)。
OFS-A105及びOFS-B106は、このフローテーブルエントリーにマッチする全てのIPパケットを、セキュアチャネル108、及び、セキュアチャネル109を経由して、OFC基本機能部101へ転送する。
図4乃至図6、及び図7と図8のシーケンス図を参照して、本実施形態の動作を以下に説明する。図4は、セッション確立時のINVITEリクエスト、図5は、INVITEリクエストに対する200 OKレスポンス、図6は、200 OKレスポンスを確認するACKメッセージの動作シーケンスを例示している。図7は、セッション切断時のBYEリクエスト、図8はBYEリクエストに対する200 OKレスポンスの動作シーケンスを例示している。なお、図4乃至図6は図面作成の都合で分図され、図7、図8も図面作成の都合で分図されたものである。以下のシーケンスの説明では、IP電話端末A、OFS A、OFC基本機能部、SIP-ALG機能部、OFS B、IP電話端末 B、OFS C、SIPサーバは、図1のIP電話端末A112、OFS-A105、OFC基本機能部101、SIP-ALG機能部102、OFS-B106、IP電話端末B113、OFS-C107、SIPサーバ111に対応しているが、以下の説明ではこれらの要素の参照符号は省略する。またシーケンス動作の説明の括弧内の300番台、400番台、500番台の数字は、図4-図8のシーケンス図におけるシーケンス番号に対応している。
SIPセッション確立時には、INVITEメッセージ、“200 OK”メッセージやACKメッセージ以外に、“100 Trying”、“180 Ringing”といったメッセージも使われる。図4乃至図6においては、説明の簡易化のため、これら、“100 Trying”、“180 Ringing”といったメッセージは省略されている。
IP電話端末AがIP電話端末BとIP電話による通信を開始するには、最初に、SIPセッションを確立する必要がある。IP電話端末AはSIPメッセージの一つであるINVITEメッセージ300をOFS-Aに送信する。
このINVITEメッセージはフローテーブルエントリー201(図3(B))にマッチするので、OFS-AはこのINVITEメッセージを、OFC基本機能部へOpenFlowプロトコルのPacket-Inメッセージで転送する(301)。
OFC基本機能部は、Packet-Inメッセージ内のin_portデータより、このINVITEメッセージがOFS-Aにおいて、外向きのポート(即ち、IP電話端末側に接続しているポートであり、かつ、OFS-BやOFS-Cに物理ケーブルで接続していない側のポート)から受信されたことを判別する。
また、このINVITEメッセージのIPヘッダー部のIP dst(図9の602)から、このINVITEメッセージがSIPサーバ宛であることを判別する。
OFS基本機能部は、このINVITEメッセージと“ingress”を示す付加情報をSIP-ALG機能部へ転送する(302)。“ingress”の付加情報は、このINVITEメッセージが、OFS-Aにて外向きのポートから受信され、他のOFS、即ち、この場合では、OFS-Cに向けて転送されるSIPメッセージである事を示す。
SIP-ALG機能部では、本SIPセッションに関する状態管理データ700(図10)を作成し、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“Call-ID”(図9の610)
のデータを抜き出し、それら情報を、それぞれ、状態管理データ内のFrom tagレコード(図10の701)及びCall-IDレコード(図10の703)へ設定する(図4の処理(1))。
更に、SIP-ALG機能部は、状態管理データ700(図10)のSIPセッション状態レコード704(図10)へ「呼び出し中」の状態を設定する。
続いて、SIP-ALG機能部は、このINVITEメッセージをOFSにて転送するよう、OFC基本機能部へ要求する(303)。
OFC基本機能部は、Packet-OutメッセージにてINVITEメッセージをOFS-Cへ転送する(304)。
OFS-Cは、このINVITEメッセージをSIPサーバへ転送する(305)。
SIPサーバは、このINVITEメッセージをIP電話端末Bへ転送する(306)。
OFS-Cには、OFS-B向けにSIPメッセージを転送するためのフローテーブルエントリーがOFCによって既に設定されており、このINVITEメッセージをOFS-Bへ転送する(307)。
このINVITEメッセージはフローテーブルエントリー201にマッチするので、OFS-BはこのINVITEメッセージをOFC基本機能部へPacket-Inメッセージで転送する(308)。
OFC基本機能部は、本Packet-Inメッセージ内のin_portデータより、このINVITEメッセージがOFS-Aにおいて、内向きのポート(即ち、OFS-BやOFS-Cに物理ケーブルで接続している側のポート)から受信されたことを判別する。
また、このINVITEメッセージのIPヘッダー部のIP dst(図9の602)から、このINVITEメッセージがIP電話端末B宛であることを判別する。
OFS基本機能部は、本INVITEメッセージと“egress”を示す付加情報をSIP-ALG機能部へ転送する(309)。“egress”の付加情報は、このINVITEメッセージが、OFS-Bにて内向きのポートから受信され、IP電話端末が接続される外向きのポートへ向けて転送されるSIPメッセージである事を示す。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する。
また、SIP-ALG機能部は、SIPメッセージのヘッダーフィールドから、
IP電話端末BのIPアドレス(IP src)を抽出し、
SIPメッセージのSDP部から、
IP電話端末AのIPアドレス(図9の612)(IP dst)と、
VoIPパケット受信用UDPポート番号(図9の613)(UDP dst port)
を抽出し、それらを、
VoIPフローデータ1(IP src, IP dst, UDP dst port)
としてまとめる。また、状態管理データへVoIPフローデータ1を登録する。その後、SIP-ALG機能部は、VoIPフローデータ1で示されるフロー設定要求をOFC基本機能部に対して行う(図4の処理(2))。
すなわち、SIP-ALG機能部は、検索した状態管理データ700のVoIPフローデータ1(図10の705)内のIP srcレコード(図10の706)に、前記VoIPフローデータ1(IP src, IP dst, UDP dst port)のIP srcを設定し、
該状態管理データ700のVoIPフローデータ1(図10の705)内のIP dstレコード(図10の707)に、前記VoIPフローデータ1(IP src, IP dst, UDP dst port)のIP dstを設定し、
該状態管理データ700のVoIPフローデータ1(図10の705)内のUDP dst portレコード(図10の708)へ、前記VoIPフローデータ1(IP src, IP dst, UDP dst port)のUDP dst portを設定する。
また、SIP-ALG機能部は、SIPセッション状態レコード(図10の704)へ「呼び出し中」の状態を設定する。
その後、SIP-ALG機能部は、該状態管理データ700のVoIPフローデータ1(図10の705)で示されるフローの設定要求をOFC基本機能部へ行う(310)。
OFC基本機能部は、該状態管理データ700のVoIPフローデータ1(図10の705)で示されるフローに対応するフローテーブルエントリー202(図3(C))を作成し、OpenFlowプロトコルのModify Stateメッセージ(管理状態のOFSに対してOFCから送信される)にて、OFS-Aのフローテーブルへ設定する(311)。
同様に、OFC基本機能部は、VoIPフローデータ1(図10の705)で示されるフローに対応するフローテーブルエントリー203(図3(D))を作成し、Modify StateメッセージにてOFS-Bのフローテーブルへ設定する(312)。
続いて、SIP-ALG機能部は、このINVITEメッセージをOFSにて転送するよう、OFC基本機能部へ要求する(313)。
OFC基本機能部は、Packet-OutメッセージにてINVITEメッセージをOFS-Bへ転送する(314)。
OFS-Bは、このINVITEメッセージをIP電話端末Bへ転送する(315)。
図5を参照すると、P電話端末Bは、SIPメッセージの一つである“200 OK”メッセージ350をOFS-Bに送信する。
この“200 OK”メッセージは、フローテーブルエントリー201(図3(B))にマッチするので、OFS-Bは、この“200 OK”メッセージを、OFC基本機能部へPacket-Inメッセージで転送する(351)。
OFC基本機能部は、Packet-Inメッセージ内のin_portデータより、この“200 OK”メッセージがOFS-Bにおいて、外向きのポート(即ち、IP電話端末側に接続しているポートであり、かつ、OFS-BやOFS-Cに物理ケーブルで接続していない側のポート)から受信されたことを判別する。
また、この“200 OK”メッセージのIPヘッダー部のIP dst(図9の602)から、この“200 OK”メッセージがSIPサーバ宛であることを判別する。
OFS基本機能部は、この“200 OK”メッセージと“ingress”を示す付加情報をSIP-ALG機能部へ転送する(352)。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する。
また、SIP-ALG機能部は、SIPメッセージのヘッダーフィールドから、
“To tag”(図9の609)
を抽出し、検索した状態管理データ700(図10参照)のTo tagレコード(図10の702)へその値を設定し、
SIPセッション状態レコード(図10の704)へ「応答あり」の状態を設定する(図5の処理(3))。
続いて、SIP-ALG機能部は、この“200 OK”メッセージをOFSにて転送するよう、OFC基本機能部へ要求する(353)。
OFC基本機能部は、Packet-Outメッセージにて“200 OK”メッセージをOFS-Cへ転送する(354)。
OFS-Cは、この“200 OK”メッセージをSIPサーバへ転送する(355)。
SIPサーバは、この“200 OK”メッセージをIP電話端末Aへ転送する(356)。
OFS-Cには、既に、OFS-A向けにSIPメッセージを転送するためのフローテーブルエントリーが設定されており、この“200 OK”メッセージをOFS-Aへ転送する(357)。
この“200 OK”メッセージはフローテーブルエントリー201(図3(B))にマッチするので、OFS-Aはこの“200 OK”メッセージをOFC基本機能部へPacket-Inメッセージで転送する(358)。
OFC基本機能部は、本Packet-Inメッセージ内のin_portデータより、この“200 OK”メッセージがOFS-Aにおいて、内向きのポート(即ち、OFS-BやOFS-Cに物理ケーブルで接続している側のポート)から受信されたことを判別する。
また、OFC基本機能部は、この“200 OK”メッセージのIPヘッダー部のIP dst(図9の602)から、この“200 OK”メッセージがIP電話端末A宛であることを判別する。OFS基本機能部は、本“200 OK”メッセージと“egress”を示す付加情報を、SIP-ALG機能部へ転送する(359)。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“To tag”(図9の609)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する。
また、SIP-ALG機能部は、SIPメッセージのヘッダーフィールドから、
IP電話端末AのIPアドレス(IP src)を抽出し、
SIPメッセージのSDP部から、
IP電話端末BのIPアドレス(図9の612)(IP dst)と、
VoIPパケット受信用UDPポート番号(図9の613)(UDP dst port)
とを抽出し、それらを、VoIPフローデータ2(IP src, IP dst, UDP dst port)としてまとめる(図5の処理(4))。
SIP-ALG機能部は、検索した状態管理データ(図10の700)のVoIPフローデータ2(図10の709)内のIP srcレコード(図10の710)に、前記VoIPフローデータ2(IP src, IP dst, UDP dst port)のIP srcを設定し、
状態管理データ(図10の700)のVoIPフローデータ2(図10の709)内のIP dstレコード(図10の711)に、前記VoIPフローデータ2(IP src, IP dst, UDP dst port)のIP dstを設定し、
状態管理データ(図10の700)のVoIPフローデータ2(図10の709)内のUDP dst portレコード(図10の712)に、前記VoIPフローデータ2(IP src, IP dst, UDP dst port)のUDP dst portを設定する。
その後、VoIPフローデータ2(図10の709)で示されるフローの設定要求を、OFC基本機能部へ行う(360)。
OFC基本機能部は、VoIPフローデータ2(図10の709)で示されるフローに対応するフローテーブルエントリー204(図3(E))を作成し、Modify StateメッセージにてOFS-Bのフローテーブルへ設定する(361)。
同様に、OFC基本機能部は、VoIPフローデータ2(図10の709)で示されるフローに対応するフローテーブルエントリー205(図3(F))を作成し、Modify StateメッセージにてOFS-Aのフローテーブルへ設定する(362)。
続いて、SIP-ALG機能部は、この“200 OK”メッセージをOFSにて転送するよう、OFC基本機能部へ要求する(363)。
OFC基本機能部は、Packet-Outメッセージにて“200 OK”メッセージをOFS-Aへ転送する(364)。
OFS-Aは、この“200 OK”メッセージをIP電話端末Aへ転送する(365)。
図6を参照すると、IP電話端末AはSIPメッセージの一つであるACKメッセージをOFS-Aに送信する(400)。このACKメッセージはフローテーブルエントリー201(図3(B))にマッチするので、OFS-Aは、このACKメッセージをOFC基本機能部へPacket-Inメッセージで転送する(401)。
OFC基本機能部は、本Packet-Inメッセージ内のin_portデータより、このACKメッセージがOFS-Aにおいて、外向きのポート(即ち、IP電話端末側に接続しているポートであり、かつ、OFS-BやOFS-Cに物理ケーブルで接続していない側のポート)から受信されたことを判別する。
また、OFC基本機能部は、このACKメッセージのIPヘッダー部のIP dst(図9の602)から、このACKメッセージがSIPサーバ宛であることを判別する。
OFS基本機能部は、このACKメッセージと“ingress”を示す付加情報をSIP-ALG機能部へ転送する(402)。
SIP-ALG機能部では、“ingress”の付加情報をみて、このACKメッセージに関しては、特に、処理をする必要がないと判断する(図6の処理(5))。
続いて、SIP-ALG機能部は、このACKメッセージをOFSにて転送するように、OFC基本機能部へ要求する(403)。
OFC基本機能部は、Packet-OutメッセージにてACKメッセージをOFS-Cへ転送する(404)。
OFS-Cは、このACKメッセージをSIPサーバへ転送する(405)。
SIPサーバは、このACKメッセージをIP電話端末Bへ転送する(406)。
OFS-Cには、既に、OFS-B向けにSIPメッセージを転送するためのフローテーブルエントリーが設定されており、このACKメッセージをOFS-Bへ転送する(407)。
このACKメッセージはフローテーブルエントリー201(図3(B))にマッチするので、OFS-Bは、このACKメッセージをOFC基本機能部へPacket-Inメッセージ408で転送する。
OFC基本機能部は、本Packet-Inメッセージ内のin_portデータより、このACKメッセージがOFS-Bにおいて、内向きのポート(即ち、OFS-AやOFS-Cに物理ケーブルで接続している側のポート)から受信されたことを判別する。また、このACKメッセージのIPヘッダー部のIP dst(図9の602)から、このACKメッセージがIP電話端末B宛であることを判別する。
OFS基本機能部は、本ACKメッセージと“egress”を示す付加情報をSIP-ALG機能部へ転送する(409)。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“To tag”(図9の609)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する。検索した状態管理データのSIPセッション状態レコード(図10の704)へ「セッション確立」の状態を設定する(図6の処理(6))。
続いて、SIP-ALG機能部は、このACKメッセージをOFSにて転送するよう、OFC基本機能部へ要求する(410)。
OFC基本機能部は、Packet-OutメッセージにてACKメッセージをOFS-Bへ転送する(411)。
OFS-Bは、このACKメッセージをIP電話端末Bへ転送する(412)。
SIPセッションが確立されたので、IP電話端末AとIP電話端末BはVoIPパケットの送信を開始する。
IP電話端末BはIP電話端末A宛にVoIPパケットを送信する(450)。
このVoIPパケットは、OFS-Bにてフローテーブルエントリー204(図3(E))にマッチし、そのフローテーブルエントリーのActionに従い、ポート49番へVoIPパケットを出力する(451)。
このVoIPパケットは、OFS-Aにてフローテーブルエントリー205(図3(F)))にマッチし、ポート5番へVoIPパケットを出力する(452)。
IP電話端末AはIP電話端末B宛にVoIPパケットを送信する(453)。
このVoIPパケットは、OFS-Aにてフローテーブルエントリー202(図3(C)))にマッチし、そのフローテーブルエントリーのActionに従い、ポート49番へVoIPパケットを出力する(454)。
このVoIPパケットは、OFS-Bにてフローテーブルエントリー203(図3(D))にマッチし、ポート3番へVoIPパケットを出力する(455)。
IP電話端末AがIP電話端末BとIP電話による通信を切断するには、SIPセッションを切断する必要がある。
図7を参照すると、IP電話端末AはSIPメッセージの一つであるBYEメッセージをOFS-Aに送信する(500)。
このBYEメッセージは、フローテーブルエントリー201(図3(B))にマッチするので、OFS-Aは、このBYEメッセージをOFC基本機能部へPacket-Inメッセージで転送する(501)。
OFC基本機能部は、このPacket-Inメッセージ内のin_portデータより、このBYEメッセージがOFS-Aにおいて、外向きのポート(即ち、IP電話端末側に接続しているポートであり、かつ、OFS-BやOFS-Cに物理ケーブルで接続していない側のポート)から受信されたことを判別する。
また、このBYEメッセージのIPヘッダー部のIP dst(図9の602)から、このBYEメッセージがSIPサーバ宛であることを判別する。
OFS基本機能部は、このBYEメッセージと、“ingress”を示す付加情報を、SIP-ALG機能部へ転送する(502)。
SIP-ALG機能部では、“ingress”の付加情報をみて、このACKメッセージに関しては、特に、処理をする必要がないと判断する(図7の処理(7))。
続いて、SIP-ALG機能部は、このBYEメッセージをOFSにて転送するようにOFC基本機能部に対して要求する(503)。
OFC基本機能部は、Packet-OutメッセージにてBYEメッセージをOFS-Cへ転送する(504)。
OFS-Cは、このBYEメッセージをSIPサーバへ転送する(505)。
SIPサーバは、このBYEメッセージをIP電話端末Bへ転送する(506)。
OFS-Cには、既に、OFS-B向けにSIPメッセージを転送するためのフローテーブルエントリーが設定されており、このBYEメッセージをOFS-Bへ転送する(507)。
このBYEメッセージは、フローテーブルエントリー201(図3(B))にマッチするので、OFS-Bは、このBYEメッセージをOFC基本機能部へPacket-Inメッセージ508で転送する。
OFC基本機能部は、このPacket-Inメッセージ内のin_portデータより、このBYEメッセージがOFS-Aにおいて内向きのポート(即ち、OFS-BやOFS-Cに物理ケーブルで接続している側のポート)から受信されたことを判別する。
また、このBYEメッセージのIPヘッダー部のIP dst(図9の602)から、このBYEメッセージがIP電話端末B宛であることを判別する。
OFS基本機能部は、本BYEメッセージと“egress”を示す付加情報をSIP-ALG機能部へ転送する(509)。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“To tag”(図9の609)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する(図7の処理(8))。
また、SIP-ALG機能部では、検索した状態管理データ内のVoIPフローデータ1及びVoIPフローデータ2を抽出し、この二つのVoIPフローデータに対応するフローテーブルエントリーをOFSから削除するようOFC基本機能部へ要求する(510)。
その後、OFC基本機能部は、本SIPセッションに関する状態管理データを状態管理データベース104(図1)から削除する。
OFC基本機能部は、VoIPフローデータ1で示されるフローに対応するフローテーブルエントリー202(図3(C))を削除するよう、Modify StateメッセージにてOFS-Aへ要求する(511)。
同様に、OFC基本機能部は、VoIPフローデータ1で示されるフローに対応するフローテーブルエントリー203(図3(D))を削除するよう、Modify StateメッセージにてOFS-Bへ要求する(512)。
また、OFC基本機能部は、VoIPフローデータ2(図10の709)で示されるフローに対応するフローテーブルエントリー204(図3(E))を削除するよう、Modify StateメッセージにてOFS-Bへ要求する(513)。
同様に、OFC基本機能部は、VoIPフローデータ2で示されるフローに対応するフローテーブルエントリー205(図3(F))を削除するよう、Modify StateメッセージにてOFS-Aへ要求する(514)。
続いて、SIP-ALG機能部は、このBYEメッセージをOFSにて転送するよう、OFC基本機能部へ要求する(515)。
OFC基本機能部は、Packet-OutメッセージにてBYEメッセージをOFS-Bへ転送する(516)。
OFS-Bは、このBYEメッセージをIP電話端末Bへ転送する(517)。
図8を参照すると、IP電話端末BはSIPメッセージの一つである“200 OK”メッセージをOFS-Bに送信する(550)。
この“200 OK”メッセージはフローテーブルエントリー201(図3(B))にマッチするので、OFS-Bは、この“200 OK”メッセージをOFC基本機能部へPacket-Inメッセージで転送する(551)。
OFC基本機能部は、本Packet-Inメッセージ内のin_portデータより、この“200 OK”メッセージがOFS-Bにおいて、外向きのポート(即ち、IP電話端末側に接続しているポートであり、かつ、OFS-BやOFS-Cに物理ケーブルで接続していない側のポート)から受信されたことを判別する。
また、この“200 OK”メッセージのIPヘッダー部のIP dst(図9の602)から、この“200 OK”メッセージがSIPサーバ宛であることを判別する。
OFS基本機能部は、この“200 OK”メッセージと“ingress”を示す付加情報をSIP-ALG機能部へ転送する(552)。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“To tag”(図9の609)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する。
しかし、既に、本SIPセッションに関する状態管理データは、状態管理データベース104から削除されているので、検索結果は失敗に終わる。SIP-ALG機能部は、この“200 OK”メッセージに対しては特に処理を行わない(図8の処理(9))。
続いて、SIP-ALG機能部は、この“200 OK”メッセージをOFSにて転送するように、OFC基本機能部へ要求する(553)。
OFC基本機能部は、Packet-Outメッセージにて“200 OK”メッセージをOFS-Cへ転送する(554)。
OFS-Cは、この“200 OK”メッセージをSIPサーバへ転送する(555)。
SIPサーバは、この“200 OK”メッセージをIP電話端末Aへ転送する(556)。
OFS-Cには、既に、OFS-A向けにSIPメッセージを転送するためのフローテーブルエントリーが設定されており、この“200 OK”メッセージをOFS-Aへ転送する(557)。
この“200 OK”メッセージはフローテーブルエントリー201(図3(B))にマッチするので、OFS-Aはこの“200 OK”メッセージをOFC基本機能部へPacket-Inメッセージで転送する(558)。
OFC基本機能部は、該Packet-Inメッセージ内のin_portデータより、この“200 OK”メッセージがOFS-Aにおいて、内向きのポート(即ち、OFS-BやOFS-Cに物理ケーブルで接続している側のポート)から受信されたことを判別する。
また、この“200 OK”メッセージのIPヘッダー部のIP dst(図9の602)から、この“200 OK”メッセージがIP電話端末A宛であることを判別する。OFS基本機能部は、本“200 OK”メッセージと“egress”を示す付加情報をSIP-ALG機能部へ転送する(559)。
SIP-ALG機能部では、SIPメッセージのヘッダーフィールドから、
“From tag”(図9の608)、
“To tag”(図9の609)、
“Call-ID”(図9の610)
のデータを抜き出し、状態管理データベース104(図1)から、本SIPセッションに関連付けられる状態管理データを検索する。
しかし、既に、本SIPセッションに関する状態管理データは状態管理データベースから削除されているので、検索結果は失敗に終わる。SIP-ALG機能部は、この“200 OK”メッセージに対しては特に処理を行わない(図8の処理(10))。
続いて、SIP-ALG機能部は、この“200 OK”メッセージをOFSにて転送するよう、OFC基本機能部へ要求する(560)。
OFC基本機能部は、Packet-Outメッセージにて“200 OK”メッセージをOFS-Aへ転送する(561)。
OFS-Aは、この“200 OK”メッセージをIP電話端末Aへ転送する(562)。
実施形態において、SIP-ALG機能は、ルータやスイッチのファームウエアの付加機能として具備されるSIP-ALG機能とは異なり、汎用サーバの上で動作するアプリケーションとして実装されるため、ルータやスイッチベンダーへ依頼する事なく、第3者がSIP-ALG機能を開発する事が可能である。
また実施形態において、SIP-ALG機能は、ルータやスイッチのファームウエアの付加機能として具備されるSIP-ALG機能とは異なり、汎用サーバの上で動作するアプリケーションとして実装されるため、Pythonのような高級言語を用いて開発する事が可能である。また、開発者が好む任意の言語(例: C、 C++、 Java(登録商標)、 Ruby、 Python等)で開発する事が可能である。
OpenFlowプロトコルはONF(Open Networking Foundation)にて仕様化された世界標準仕様であるため、本明細書で説明したOpenFlowシステムは、複数のベンダーから調達したOFSの組み合わせでも構成し、その上でSIP-ALG機能を提供する事が出来る。即ち、マルチベンダー化が可能である。
複数の部門や拠点にまたがる中乃至大企業向けLAN、及び、通信サービスプロバイダーが提供するIP-VPNサービスに適用される。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
100 OFC(OpenFlow Controller)
101 OFC基本機能部
102 SIP-ALG(SIP Application Layer Gateway)機能部
103 OFC基本機能部とSIP-ALG機能部間のデータ送受信用インタフェース
104 状態管理データベース
105 OFS-A (OpenFlow Switch A)
106 OFS-B (OpenFlow Switch B)
107 OFS-C (OpenFlow Switch C)
108 セキュアチャネル(OpenFlowプロトコル)
109 セキュアチャネル(OpenFlowプロトコル)
110 セキュアチャネル(OpenFlowプロトコル)
111 SIPサーバ IPアドレスは10.1.0.10
112 IP電話端末A IPアドレスは10.2.0.33
113 IP電話端末B IPアドレスは10.3.0.24
121 SIPメッセージ転送
122 SIPメッセージ転送
123 SIPメッセージ転送
124 SIPメッセージ転送
125 SIPメッセージ転送
131 VoIPパケット
132 VoIPパケット
133 VoIPパケット
134 VoIPパケット
135 VoIPパケット
136 VoIPパケット
150 OFS-AとOFCを接続する物理ケーブル
151 OFS-BとOFCを接続する物理ケーブル
152 OFS-CとOFCを接続する物理ケーブル
161 OFS-AとIP電話端末Aを接続する物理ケーブル
162 OFS-AとOFS-Bを接続する物理ケーブル
163 OFS-BとIP電話端末Bを接続する物理ケーブル
164 OFS-AとOFS-Cを接続する物理ケーブル
165 OFS-BとOFS-Cを接続する物理ケーブル
166 OFS-CとSIPサーバを接続する物理ケーブル
200 フローテーブルエントリーのデータ構造
201 フローテーブルエントリー
202 OFS-Aへ登録されるフローテーブルエントリー
203 OFS-Bへ登録されるフローテーブルエントリー
204 OFS-Bへ登録されるフローテーブルエントリー
205 OFS-Aへ登録されるフローテーブルエントリー
600 SIPメッセージ
601 IPヘッダー部のIP src (Source IP address)ヘッダーフィールド
602 IPヘッダー部のIP dst (Destination IP address)ヘッダーフィールド
603 IPヘッダー部のProtocol number
604 IPヘッダーフィールド
605 UDPヘッダー部のSource port numberヘッダーフィールド
606 UDPヘッダー部のDestination port numberヘッダーフィールド
607 UDPヘッダーフィールド
608 SIPヘッダー部のFrom tagヘッダーフィールド
609 SIPヘッダー部のTo tagヘッダーフィールド
610 SIPヘッダー部のCall-IDヘッダーフィールド
611 SIPヘッダーフィールド
612 VoIPパケット受信用IPアドレス
613 VoIPパケット受信用UDPポート番号
700 状態管理データ
701 状態管理データのFrom tagレコード
702 状態管理データのTo tagレコード
703 状態管理データのCall-IDレコード
704 状態管理データのSIPセッション状態レコード
705 状態管理データのVoIPフローデータ1
706 状態管理データのVoIPフローデータ1内IP src(Source IP address)レコード
707 状態管理データのVoIPフローデータ1内IP dst(Destination IP address)レコード
708 状態管理データのVoIPフローデータ1内UDP dst port(Destination UDP port)レコード
709 状態管理データのVoIPフローデータ2
710 状態管理データのVoIPフローデータ2内IP src(Source IP address)レコード
711 状態管理データのVoIPフローデータ2内IP dst(Destination IP address)レコード
712 状態管理データのVoIPフローデータ2内UDP dst port(Destination UDP port)レコード

Claims (10)

  1. スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則と、を対応付けた処理規則を、前記スイッチに対して設定する制御装置と、
    受信パケットを前記処理規則に従って処理する複数のスイッチと、
    を備え、
    第1の端末と第2の端末との間でセッション確立時に交換されるメッセージは、一旦、前記第1の端末及び前記第2の端末にそれぞれ接続する前記スイッチを介して前記制御装置に転送され、
    前記制御装置は、前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得して前記経路上の前記スイッチに処理規則を設定し、
    前記セッション確立後、前記第1の端末と前記第2の端末間の前記セッションに属するパケットは、前記経路上の前記スイッチを介して前記第1の端末と前記第2の端末間で交換される、ことを特徴とする通信システム。
  2. 前記複数のスイッチが、
    前記第1及び第2の端末が接続された第1及び第2のスイッチと、
    呼制御サーバに接続された第3のスイッチと、
    を備え、
    前記セッション確立時に、前記第1及び第2の端末の一方の端末から、前記呼制御サーバを中継して、前記第1及び第2の端末の他方の端末へ転送されるメッセージが、前記第1及び第2のスイッチのうち前記一方の端末に接続する一方のスイッチを介して、前記制御装置に転送され、前記呼制御サーバとの間で、前記制御装置が少なくとも前記第3のスッチを介して前記メッセージを送受した上で、前記制御装置から、前記第1及び第2のスイッチのうち他方のスイッチを介して、前記他方の端末に転送し、
    前記制御装置は、
    前記セッション確立時に、前記一方の端末から前記一方のスイッチを介して前記制御装置に転送されたメッセージを解析して、前記セッションに関する管理情報を取得して記憶部に記憶し、
    前記制御装置から前記第3のスイッチを介して転送されたメッセージを受けた前記呼制御サーバで中継され、前記第3のスイッチを介して前記制御装置に転送された、前記他方の端末宛の前記所定のメッセージを解析して、前記一方の端末から前記他方の端末へ前記セッションに属するパケットを転送するための経路を規定する第1のフロー情報を取得して、前記記憶部に記憶するとともに、前記第1のフロー情報に対応した処理規則を少なくとも前記第1及び第2のスイッチに設定し、
    前記一方の端末からの前記メッセージを受けた前記他方の端末から前記他方のスイッチを介して前記制御装置に転送されたメッセージを解析して、前記セッションに関する管理情報を取得して前記記憶部に記憶し、
    前記制御装置から前記第3のスイッチを介して転送された前記メッセージを受けた前記呼制御サーバで中継され、少なくとも前記第3のスイッチを介して前記制御装置に転送された、前記一方の端末宛のメッセージを解析して、前記他方の端末から前記一方の端末へ前記セッションに属するパケットを転送するための経路を規定する第2のフロー情報を取得して前記記憶部に記憶するとともに、前記第2のフロー情報に対応した処理規則を少なくとも前記第1及び第2のスイッチに設定する、ことを特徴とする請求項1記載の通信システム。
  3. 前記第1の端末と前記第2の端末間でセッション切断時に交換されるメッセージは、一旦、前記第1の端末及び前記第2の端末にそれぞれ接続する前記スイッチを介して前記制御装置に転送され、
    前記制御装置は、前記メッセージを解析して、前記第1の端末と前記第2の端末間で前記セッションに属するパケットを転送するための前記第1、第2のフロー情報を取得し、前記第1、第2のフロー情報に対応した処理規則が設定されている前記スイッチに対して前記処理規則を削除するように指示し、前記セッションに関する管理情報を、前記記憶部から削除する、ことを特徴とする請求項2記載の通信システム。
  4. 前記第1及び第2の端末がIP電話端末であり、
    前記呼制御サーバがセッションイニシェーションプロトコル(SIP)サーバであり、
    前記スイッチがオープンフロースイッチであり、
    前記制御装置が、セッションイニシェーションプロトコル・アプリケーションレイヤゲートウエイ(SIP−ALG)機能を実現したオープンフローコントローラであり、
    前記第1の端末と前記第2の端末間での前記セッションに属するパケットはVoIPパケットである、請求項2又は3記載の通信システム。
  5. スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則と、を対応付けた処理規則を、前記スイッチに対して設定する第1の機能部を備えた制御装置であって、
    第1の端末と第2の端末間でセッション確立時に交換されるメッセージが、一旦、前記第1及び前記第2の端末にそれぞれ接続するスイッチを介して前記制御装置に転送され、
    前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得し、前記セッションにおいて、前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路上の前記スイッチに処理規則を設定するように第1の機能部に対して要求する第2の機能部を備えた、ことを特徴とする制御装置。
  6. 前記セッション確立時に、前記第1及び第2の端末の一方の端末から呼制御サーバを中継して、前記第1及び第2の端末の他方の端末へ転送されるメッセージは、前記第1及び第2の端末にそれぞれ接続する第1及び第2のスイッチのうち前記一方の端末に接続する一方のスイッチを介して前記制御装置に転送され、
    前記呼制御サーバとの間では、前記制御装置が、前記呼制御サーバに接続する第3のスッチを少なくとも介して、前記メッセージを送受した上で、前記制御装置から、前記第1及び第2のスイッチのうち他方のスイッチを介して、前記他方の端末に転送し、
    前記第2の機能部は、
    前記セッション確立時に、前記一方の端末から前記一方のスイッチを介して前記制御装置に転送されたメッセージを解析して、前記セッションに関する管理情報を取得して記憶部に記憶し、
    前記制御装置から前記第3のスイッチを介して転送された前記メッセージを受けた前記呼制御サーバで中継され、前記第3のスイッチを介して前記制御装置に転送された、前記他方の端末宛のメッセージを解析して、前記一方の端末から前記他方の端末へ前記セッションに属するパケットを転送するための経路を規定する第1のフロー情報を取得して、前記記憶部に記憶するとともに、前記第1のフロー情報に対応した処理規則を少なくとも前記第1及び第2のスイッチに設定するように前記第1の機能部に要求し、
    前記一方の端末からの前記メッセージを受けた前記他方の端末から前記他方のスイッチを介して前記制御装置に転送されたメッセージを解析して、前記セッションに関する管理情報を取得して前記記憶部に記憶し、
    前記制御装置から前記第3のスイッチを介して転送された前記メッセージを受けた前記呼制御サーバで中継され、少なくとも前記第3のスイッチを介して前記制御装置に転送された、前記一方の端末宛のメッセージを解析して、前記他方の端末から前記一方の端末へ前記セッションに属するパケットを転送するための経路を規定する第2のフロー情報を取得して前記記憶部に記憶するとともに、前記第2のフロー情報に対応した処理規則を少なくとも前記第1及び第2のスイッチに設定するように、前記第1の機能部に要求する、ことを特徴とする請求項5記載の制御装置。
  7. 前記第1の端末と前記第2の端末間でセッション切断時に交換されるメッセージは、一旦、前記第1の端末及び前記第2の端末にそれぞれ接続する前記スイッチを介して前記制御装置に転送され、
    前記第2の機能部は、前記メッセージを解析して、前記第1の端末と前記第2の端末間で前記セッションに属するパケットを転送するための前記第1、第2のフロー情報を取得し、前記第1、第2のフロー情報に対応した処理規則が設定されている前記スイッチに対して前記処理規則を削除するように前記第1の機能部に要求するとともに、前記セッションに関する管理情報を前記記憶部から削除する、ことを特徴とする請求項6記載の制御装置。
  8. スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則とを対応付けた処理規則を、前記スイッチに対して設定する第1の機能部を備えた制御装置を構成するコンピュータに、
    第1の端末と第2の端末間でセッション確立時に交換されるメッセージが、一旦、前記第1及び前記第2の端末にそれぞれ接続するスイッチを介して前記制御装置に転送され、
    前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得し、前記第1の機能部に対して、前記経路上の前記スイッチに処理規則を設定するように要求する処理を実行させるプログラム。
  9. 制御装置は、スイッチにおいて受信パケットに適用する処理と、前記処理を適用する受信パケットを特定するための照合規則とを対応付けた処理規則を、前記スイッチに対して設定し、
    前記スイッチは、受信パケットを、前記スイッチに設定されている処理規則に従って処理し、
    第1の端末と第2の端末間でセッション確立時に交換されるメッセージは、一旦、前記第1の端末及び前記第2の端末にそれぞれ接続する前記スイッチを介して前記制御装置に転送され、
    前記制御装置は、前記制御装置に転送された前記メッセージを解析して、前記セッション確立時に前記第1の端末と前記第2の端末間で交換される情報を抽出し、前記セッションにおいて前記第1の端末と前記第2の端末間で交換されるパケットが転送される経路に関する情報を取得して前記経路上の前記スイッチに処理規則を設定し、
    前記セッション確立後、前記第1の端末と前記第2の端末間での前記セッションに属するパケットは、前記経路上の前記スイッチを介して、前記第1の端末と前記第2の端末間で交換される、ことを特徴とする通信方法。
  10. 前記セッション確立時に、前記第1及び第2の端末の一方の端末から呼制御サーバを中継して、前記第1及び第2の端末の他方の端末へ転送されるメッセージは、前記第1及び第2の端末にそれぞれ接続する第1及び第2のスイッチのうち前記一方の端末に接続する一方のスイッチを介して前記制御装置に転送され、
    前記呼制御サーバとの間では、前記制御装置が、前記呼制御サーバに接続する第3のスッチを少なくとも介して、前記メッセージを送受した上で、前記制御装置から、前記第1及び第2のスイッチのうち他方のスイッチを介して、前記他方の端末に転送し、
    前記制御装置は、
    前記セッション確立時に、前記一方の端末から前記一方のスイッチを介して前記制御装置に転送されたメッセージを解析して、前記セッションに関する管理情報を取得して記憶部に記憶し、
    前記制御装置から前記第3のスイッチを介して転送された前記メッセージを受けた前記呼制御サーバで中継され、前記第3のスイッチを介して前記制御装置に転送された、前記他方の端末宛のメッセージを解析して、前記一方の端末から前記他方の端末へ前記セッションに属するパケットを転送するための経路を規定する第1のフロー情報を取得して、前記記憶部に記憶するとともに、前記第1のフロー情報に対応した処理規則を少なくとも前記第1及び第2のスイッチに設定し、
    前記一方の端末からの前記メッセージを受けた前記他方の端末から前記他方のスイッチを介して前記制御装置に転送されたメッセージを解析して、前記セッションに関する管理情報を取得して前記記憶部に記憶し、
    前記制御装置から前記第3のスイッチを介して転送された前記メッセージを受けた前記呼制御サーバで中継され、少なくとも前記第3のスイッチを介して前記制御装置に転送された、前記一方の端末宛のメッセージを解析して、前記他方の端末から前記一方の端末へ前記セッションに属するパケットを転送するための経路を規定する第2のフロー情報を取得して前記記憶部に記憶するとともに、前記第2のフロー情報に対応した処理規則を少なくとも前記第1及び第2のスイッチに設定する、ことを特徴とする請求項9記載の通信方法。
JP2012283351A 2012-12-26 2012-12-26 通信システムと装置と方法とプログラム Expired - Fee Related JP6048129B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012283351A JP6048129B2 (ja) 2012-12-26 2012-12-26 通信システムと装置と方法とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012283351A JP6048129B2 (ja) 2012-12-26 2012-12-26 通信システムと装置と方法とプログラム

Publications (2)

Publication Number Publication Date
JP2014127866A JP2014127866A (ja) 2014-07-07
JP6048129B2 true JP6048129B2 (ja) 2016-12-21

Family

ID=51407055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012283351A Expired - Fee Related JP6048129B2 (ja) 2012-12-26 2012-12-26 通信システムと装置と方法とプログラム

Country Status (1)

Country Link
JP (1) JP6048129B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016158081A (ja) 2015-02-24 2016-09-01 富士通株式会社 経路制御装置、システム、及び、経路制御方法
CN107786613B (zh) 2016-08-30 2020-05-12 新华三技术有限公司 宽带远程接入服务器bras转发实现方法和装置
JP6505649B2 (ja) * 2016-09-21 2019-04-24 株式会社東芝 通信システム
CN114500358B (zh) * 2022-02-14 2023-10-24 西藏创煌信息科技有限公司 网关报文分发方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4680942B2 (ja) * 2007-01-18 2011-05-11 株式会社日立製作所 パケット転送装置
JP5489239B2 (ja) * 2011-01-27 2014-05-14 株式会社Kddi研究所 セッション移行後のシグナリングメッセージの経路制御方法及びネットワークシステム
JP5853378B2 (ja) * 2011-03-04 2016-02-09 日本電気株式会社 通信切替システム、通信切替方法、及びプログラム

Also Published As

Publication number Publication date
JP2014127866A (ja) 2014-07-07

Similar Documents

Publication Publication Date Title
US10298629B2 (en) Intercepting and decrypting media paths in real time communications
JP4855162B2 (ja) パケット転送装置及び通信システム
CN101288318B (zh) 用于安全且可靠的ip语音专用交换分机服务的智能交换
JP4276568B2 (ja) ルータ及びsipサーバ
US7782897B1 (en) Multimedia over internet protocol border controller for network-based virtual private networks
CA2792634C (en) System and method for providing a virtual peer-to-peer environment
US7907525B2 (en) Method of communicating packet multimedia to restricted endpoints
CN102187698A (zh) 通过边界网关继承优化ip多媒体承载路径的改进方法和系统
KR101705440B1 (ko) 미디어 통신용 하이브리드 클라우드 미디어 아키텍쳐
US20110145426A1 (en) Networking method of communication apparatus, communication apparatus and storage medium
CN113632443A (zh) 用于在公共交换电话网络(pstn)端点和web实时通信(webrtc)端点之间建立通信会话的方法、系统和计算机可读介质
JP5988407B1 (ja) 通信経路制御装置、通信経路制御システム、通信経路制御方法及び通信経路制御プログラム
JP6048129B2 (ja) 通信システムと装置と方法とプログラム
JP2023540063A (ja) 合法的傍受のためのパケットのルーティングのための方法、システムおよびコンピュータ読取可能媒体
JP5926164B2 (ja) セッションボーダーコントローラに対する高速振り分け方法及び接続システム
JP5609519B2 (ja) Sip機器
JP4870882B2 (ja) Ipネットワーク間の通信方法
JP2014082739A (ja) ゲートウェイ装置、通信装置、及び通信コネクション管理方法
EP3253004B1 (en) Communication control device, communication control method, and communication control program
JP4372629B2 (ja) Fw制御を行うsip通信制御装置およびそのfw制御方法
Rajput et al. VOIP PACKET ANALYZER FOR DETECTING THREATS IN SIP NETWORK.
JP5103031B2 (ja) ネットワーク通信方法及びそのシステム
Mahbub Study of Voice over Internet Protocol (VoIP) in an Enterprise Network Through Simulation
CN115883256A (zh) 基于加密隧道的数据传输方法、装置及存储介质
JP2004320404A (ja) Sip通信方法及びsip通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160921

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161107

R150 Certificate of patent or registration of utility model

Ref document number: 6048129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees