JP2010154097A - Communication controller, communication control method and communication control program - Google Patents

Communication controller, communication control method and communication control program Download PDF

Info

Publication number
JP2010154097A
JP2010154097A JP2008328437A JP2008328437A JP2010154097A JP 2010154097 A JP2010154097 A JP 2010154097A JP 2008328437 A JP2008328437 A JP 2008328437A JP 2008328437 A JP2008328437 A JP 2008328437A JP 2010154097 A JP2010154097 A JP 2010154097A
Authority
JP
Japan
Prior art keywords
information
session
communication
communication device
packet
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.)
Pending
Application number
JP2008328437A
Other languages
Japanese (ja)
Inventor
Hideki Yamada
英樹 山田
Shintaro Mizuno
伸太郎 水野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008328437A priority Critical patent/JP2010154097A/en
Publication of JP2010154097A publication Critical patent/JP2010154097A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To relay a packet at a high speed. <P>SOLUTION: A communication controller creates a NAT table, indicating address conversion information for relaying a packet exchanged between communications equipment UA1, where a session is established and communication equipment UA2 to a transmission destination; converts address information about received virtual communication path information, on the basis of the NAT table; relays it to the transmission destination when the virtual communication path information for connecting a VPN exchanged with the UA1 whose session is established or the UA2 is received; and then converts address information regarding the received packet on the basis of the NAT table and relays it to the transmission destination when the packet transmitted by the UA1 or the UA2 connected by the VPN is received. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

この発明は、異なるネットワーク間を相互接続する第一の通信機器および第二の通信機器それぞれとセッションを確立する通信制御装置、通信制御方法および通信制御プログラムに関する。   The present invention relates to a communication control device, a communication control method, and a communication control program for establishing a session with each of a first communication device and a second communication device interconnecting different networks.

従来より、IP(Internet Protocol)電話、テレビ会議、インスタントメッセンジャーなどリアルタイム性が要求される通信が普及するのに伴い、2つ以上のクライアント間でセッションを確立するためのセッション制御プロトコルであるSIP(Session Initiation Protocol)が利用されている。   Conventionally, with the spread of communications requiring real-time properties such as IP (Internet Protocol) telephone, video conference, and instant messenger, SIP (SIP), which is a session control protocol for establishing a session between two or more clients. Session Initiation Protocol) is used.

また、IPsecVPN(Security Architecture for Internet Protocol Virtual Private Network)を動的に設定するプロトコルとして、VPN接続するのに必要な鍵情報などを交換することのできるIKEv2(Internet Key Exchange version 2)が利用されている。   Also, IKEv2 (Internet Key Exchange version 2), which can exchange key information necessary for VPN connection, is used as a protocol for dynamically setting IPsec VPN (Security Architecture for Internet Protocol Virtual Private Network). Yes.

“Internet Key Exchange(IKEv2)Protocol、RFC4306”、[online]、[平成20年9月5日検索]、インターネット<http://www.ietf.org/rfc/rfc4306.txt>"Internet Key Exchange (IKEv2) Protocol, RFC4306", [online], [searched on September 5, 2008], Internet <http://www.ietf.org/rfc/rfc4306.txt>

しかしながら、上記した従来の技術では、第三者による発呼(第三者呼制御)で二者間を中継するVPNの設定を行うことができないという課題があった。具体的には、図11に示すように、通信制御装置UA3が、通信機器UA1と通信機器UA2とを第三者呼制御によりVPN接続する例について説明する。   However, the above-described conventional technique has a problem that it is not possible to set a VPN for relaying between two parties by a call by a third party (third party call control). Specifically, as shown in FIG. 11, an example will be described in which the communication control device UA3 connects the communication device UA1 and the communication device UA2 by VPN by third party call control.

例えば、管理者端末がUA3に対してUA1とUA2とをVPN接続する要求を出力すると(ステップS301)、これを受けたUA3は、UA1とIKE通信を開始して鍵情報など交換し(ステップS302とステップS303)、UA1との間でVPNコネクションを確立する(ステップS304)。同様に、UA3は、UA2とIKE通信を開始して鍵情報など交換し(ステップS305とステップS306)、UA2との間でVPNコネクションを確立する(ステップS307)。   For example, when the administrator terminal outputs a request for VPN connection between UA1 and UA2 to UA3 (step S301), the UA3 that has received this starts IKE communication with UA1 and exchanges key information and the like (step S302). And step S303), a VPN connection is established with UA1 (step S304). Similarly, UA3 starts IKE communication with UA2 and exchanges key information and the like (steps S305 and S306), and establishes a VPN connection with UA2 (step S307).

その結果、UA3は、UA1との間にVPN1を確立し、UA2との間にVPN2を確立することとなる(ステップS308とステップS309)。そして、UA1から送信されたデータは、UA3において復号化されてUA2の暗号鍵で再暗号化した後に、UA2に転送されることとなる。   As a result, UA3 establishes VPN1 with UA1, and establishes VPN2 with UA2 (step S308 and step S309). The data transmitted from UA1 is decrypted in UA3, re-encrypted with the encryption key of UA2, and then transferred to UA2.

すなわち、UA3とUA1、UA3とUA2は、それぞれ別の暗号鍵を用いてVPN接続されているので、UA1からUA2にデータを送信する場合に、UA1とUA2との両方に接続されるUA3において、UA1との間の暗号化を一度復号化した後、再度、UA2に適した暗号化を行った上で、データを送信する必要がある。したがって、上記した従来の技術では、第三者による発呼(第三者呼制御)で二者間を中継することができず、復号化および再暗号化処理を実施する必要がある。   That is, since UA3 and UA1, and UA3 and UA2 are VPN-connected using different encryption keys, when data is transmitted from UA1 to UA2, in UA3 connected to both UA1 and UA2, After the encryption with the UA1 is once decrypted, it is necessary to transmit the data after performing the encryption suitable for the UA2 again. Therefore, in the above-described conventional technology, it is not possible to relay between the two parties by a call by a third party (third party call control), and it is necessary to perform decryption and re-encryption processing.

そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、第三者による発呼で二者間を中継するVPNの設定を行うことが可能である通信制御装置、通信制御方法および通信制御プログラムを提供することを目的とする。   Therefore, the present invention was made to solve the above-described problems of the prior art, and a communication control device capable of setting a VPN for relaying between two parties by a call made by a third party, An object is to provide a communication control method and a communication control program.

上述した課題を解決し、目的を達成するため、本発明は、異なるネットワーク間を相互接続する第一の通信機器および第二の通信機器それぞれとセッションを確立する通信制御装置であって、前記セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、前記セッションが確立された第一の通信機器と第二の通信機器との間でやり取りされるパケットを送信先に中継するためのアドレス変換情報を示すネットワークアドレス変換テーブルを作成するテーブル作成手段と、前記セッションが確立された第一の通信機器または第二の通信機器との間で交換される仮想通信路を接続するための仮想通信路情報を受信した場合に、前記テーブル作成手段で作成されるネットワークアドレス変換テーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、送信先に中継する通信路情報中継手段と、前記中継手段により仮想通信路情報が中継されて、前記仮想通信路で接続された第一の通信機器または第二の通信機器から送信されたパケットを受信した場合に、前記テーブル作成手段で作成されたネットワークアドレス変換テーブルに基づいて、受信したパケットのアドレス情報を変換して、送信先に中継するパケット中継手段と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention provides a communication control apparatus that establishes a session with each of a first communication device and a second communication device that interconnect different networks. Based on the session information obtained from each communication device when establishing a packet, the packet exchanged between the first communication device and the second communication device with the session established is relayed to the transmission destination For connecting a virtual communication path exchanged between a table creating means for creating a network address translation table indicating address translation information for the first communication device or the second communication device with which the session is established Based on the network address conversion table created by the table creation means when receiving the virtual communication path information of The communication channel information relay means for converting the address information of the virtual channel information to be relayed to the transmission destination, and the first communication connected by the virtual communication path by the virtual channel information being relayed by the relay means When a packet transmitted from the device or the second communication device is received, the address information of the received packet is converted based on the network address conversion table created by the table creating means and relayed to the destination And a packet relay means.

本発明によれば、第三者による発呼で二者間を中継するVPNの設定を行うことが可能である。また、本発明によれば、暗号化されたパケットを高速に中継することが可能である。   According to the present invention, it is possible to set a VPN for relaying between two parties by a call made by a third party. Further, according to the present invention, encrypted packets can be relayed at high speed.

以下に添付図面を参照して、この発明に係る通信制御装置、通信制御方法および通信制御プログラムの実施例を詳細に説明する。なお、以下では、本実施例で用いる主要な用語、本実施例に係る通信制御装置の概要、通信制御装置の構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。   Exemplary embodiments of a communication control device, a communication control method, and a communication control program according to the present invention will be described below in detail with reference to the accompanying drawings. In the following, the main terms used in the present embodiment, the outline of the communication control device according to the present embodiment, the configuration of the communication control device and the flow of processing will be described in order, and finally various modifications to the present embodiment will be described. explain.

[用語の説明]
以下の実施例で用いる「VPN(Virtual Private Network)」(特許請求の範囲に記載の「仮想通信路」に対応する)とは、例えば、SIP網に接続された2つのLAN同士を、あたかも専用回線によって接続するかのように接続することを目的として、当該SIP網に生成された仮想的な通信路のことである。LANに設置された「通信機器(特許請求の範囲に記載の「第一の通信機器」に対応する)」がVPNを生成する機能を備え、2つのLANを接続する「VPN」が生成される。
[Explanation of terms]
“VPN (Virtual Private Network)” (corresponding to the “virtual communication path” described in the claims) used in the following embodiments is, for example, as if two LANs connected to the SIP network are dedicated to each other It is a virtual communication path generated in the SIP network for the purpose of connection as if connected by a line. A “communication device (corresponding to the“ first communication device ”recited in the claims)” installed in the LAN has a function of generating a VPN, and a “VPN” that connects the two LANs is generated. .

なお、「第一の通信機器」とは、アドレス変換やデータの載せ換えなどを行うことにより異なるネットワーク間を相互接続するゲートウェイ装置やHGW(ホームゲートウェイ)のことであり、インターネットとLANの間に配置され、ホームルータ、プロトコル変換、ファイアウォールなどの機能や放送受信機能などのセットトップボックスを備える。   The “first communication device” refers to a gateway device or HGW (home gateway) that interconnects different networks by performing address conversion, data exchange, and the like, between the Internet and the LAN. It is provided with a set-top box for functions such as home router, protocol conversion, firewall and broadcast receiving function.

また、「第一の通信機器」は、SIPによって確立されたセッションを用いて「VPN」を生成する際、通信相手となる「第二の通信機器」のIP(Internet Protocol)アドレスやポート番号を取得し、取得したこれらの情報を用いて通信相手となる「第二の通信機器」とネゴシエーションしなければならない。このため、「第一の通信機器」は、通信相手となる「第二の通信機器」から、SDP(Session Description Protocol)と呼ばれる記述言語によってIPアドレスやポート番号が記述されたSIPによる呼を受け付け、これらの情報を取得する。そして、「第一の通信機器」は、取得したこれらの情報を用いて、通信相手となる「第二の通信機器」との間でIKE(Internet Key Exchange)などによる相互認証を行い、相互認証で交換した暗号鍵を用いてデータを暗号化するなどすることで、通信相手となる「第二の通信機器」との間で、IPSec(Security Architecture for Internet Protocol)接続を確立する。こうして、2つの「通信機器」間に「VPN」が生成されるのである。「VPN」が生成されれば、2つの家庭LAN同士で、VPN越しにIPベースのアプリケーションを利用することができ、例えば、情報家電などを使ったコンテンツ共有などを実現することができる。   In addition, when the “first communication device” generates “VPN” using a session established by SIP, the IP (Internet Protocol) address and port number of the “second communication device” that is the communication partner are generated. It is necessary to negotiate with the “second communication device” as a communication partner using the acquired information. For this reason, the “first communication device” accepts a SIP call in which an IP address and a port number are described in a description language called SDP (Session Description Protocol) from the “second communication device” as a communication partner. Get these information. The “first communication device” uses these pieces of information to perform mutual authentication by “IKE (Internet Key Exchange)” with the “second communication device” that is the communication partner, and performs mutual authentication. For example, by encrypting data using the encryption key exchanged in step 1, an IPSec (Security Architecture for Internet Protocol) connection is established with the “second communication device” as the communication partner. Thus, “VPN” is generated between the two “communication devices”. If “VPN” is generated, an IP-based application can be used over two VPNs between two home LANs. For example, content sharing using information home appliances can be realized.

なお、IKEなどによる相互認証において、通信相手を認可するか否かの判断には、上記したように、IPアドレスを用いることもできるが、網の構成によって認証強度が劣ってしまうおそれがある。そこで、IPアドレスではなく、電話番号を用いることで、相互認証を行ってもよい。   In mutual authentication by IKE or the like, an IP address can be used to determine whether or not to authorize a communication partner, as described above, but there is a possibility that the authentication strength is inferior depending on the network configuration. Therefore, mutual authentication may be performed by using a telephone number instead of an IP address.

なお、本実施例では、「通信機器」同士のセッションをSIPによって確立した例について説明するが、SIPによる確立手法に限定されるものではなく、コネクション確立型のプロトコルであれば、どのようなプロトコルを用いてセッションを確立してもよい。また、上記したLANとは、家庭内LANや企業内LANなどのような閉域網であれば、どのようなLANであってもよい。   In this embodiment, an example in which a session between “communication devices” is established by SIP will be described. However, the present invention is not limited to the establishment method by SIP, and any protocol can be used as long as it is a connection establishment type protocol. May be used to establish a session. The LAN described above may be any LAN as long as it is a closed network such as a home LAN or a corporate LAN.

[通信制御装置の概要]
次に、図1を用いて、実施例1に係る通信制御装置の概要を説明する。図1は、実施例1に係る通信制御装置を含む通信システムの全体構成を示す図である。
[Outline of communication control device]
Next, the outline of the communication control apparatus according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating an overall configuration of a communication system including a communication control apparatus according to the first embodiment.

図1に示すように、この通信システムは、SIP網に接続される通信制御装置と、LAN(A)に接続される通信機器(UA1)と、LAN(B)に接続される通信機器(UA2)とを有する。そして、通信制御装置には、IPアドレス「IP3」が設定されており、通信機器(UA1)には、IPアドレス「IP1」が設定されており、通信機器(UA2)には、IPアドレス「IP2」が設定されている。   As shown in FIG. 1, this communication system includes a communication control device connected to the SIP network, a communication device (UA1) connected to the LAN (A), and a communication device (UA2) connected to the LAN (B). ). Then, the IP address “IP3” is set in the communication control device, the IP address “IP1” is set in the communication device (UA1), and the IP address “IP2” is set in the communication device (UA2). "Is set.

また、LAN(A)には、PCや情報家電(例えば、WebTVやハードディスクレコーダーなど)を示す「機器A」が接続されており、LAN(B)には、同様に、「機器B」が接続されている。なお、それぞれのLAN内における機器同士の相互接続は、IPやDLNA(Digital Living Network Alliance)、UPnP(Universal Plug and Play)などのプロトコルにより行われている。   In addition, “device A” indicating a PC or information appliance (for example, WebTV, hard disk recorder, etc.) is connected to LAN (A), and “device B” is similarly connected to LAN (B). Has been. It should be noted that the mutual connection between devices in each LAN is performed by protocols such as IP, DLNA (Digital Living Network Alliance), UPnP (Universal Plug and Play).

このような状態において、実施例1に係る通信制御装置は、異なるネットワーク間を相互接続する通信機器(UA1)および通信機器(UA2)とのそれぞれとセッション確立して、通信機器(UA1)と通信機器(UA2)との間でやり取りされるパケットを中継することを概要とするものであり、特に、どのようなパケットであっても高速に中継することができる。   In such a state, the communication control apparatus according to the first embodiment establishes a session with each of the communication device (UA1) and the communication device (UA2) interconnecting different networks, and communicates with the communication device (UA1). The outline is to relay a packet exchanged with the device (UA2). In particular, any packet can be relayed at high speed.

具体的には、通信制御装置は、ユーザなどによりUA1とUA2との接続が指示されると、UA1とUA2とのそれぞれとSIPの「INVITEメッセージ」と「200 OKメッセージ」とをやり取りして、UA1およびUA2のそれぞれとSIPによるセッションを確立する(図1の(1)参照)。   Specifically, the communication control device exchanges SIP “INVITE message” and “200 OK message” with each of UA1 and UA2 when the user or the like is instructed to connect UA1 and UA2. A SIP session is established with each of UA1 and UA2 (see (1) in FIG. 1).

そして、通信制御装置は、SIPによるセッションを確立する際にやり取りした「INVITEメッセージ」および「200 OKメッセージ」のそれぞれに含まれるSDPで記述されたセッション情報(アドレス情報)を取得して、ネットワークアドレス変換テーブル(NATテーブル)を作成する(図1の(2)参照)。   Then, the communication control apparatus acquires session information (address information) described in SDP included in each of the “INVITE message” and “200 OK message” exchanged when establishing the SIP session, and obtains the network address. A conversion table (NAT table) is created (see (2) in FIG. 1).

具体的に例を挙げると、通信制御装置は、UA1とのやり取りにおいてUA1のIPアドレス「IP1」を取得し、UA2とのやり取りにおいてUA2のIPアドレス「IP2」を取得する。続いて、通信制御装置は、別々に接続した「UA1とのセッション」と「UA2とのセッション」とを一つのセッションとして、UA1から送信されたパケットをUA2に中継し、UA2から送信されたパケットをUA1に中継するために、『受信したパケットのアドレス情報を示す「in」』と『送信先となるアドレス情報を示す「out」』とを対応付けたNATテーブルを作成する。例えば、通信制御装置は、「in、out」として「(src:IP1、dst:IP3)、(src:IP3、dst:IP2)」や「(src:IP2、dst:IP3)、(src:IP3、dst:IP1)」などと記憶されるNATテーブルを作成する。   Specifically, the communication control apparatus acquires the IP address “IP1” of UA1 in the exchange with UA1, and acquires the IP address “IP2” of UA2 in the exchange with UA2. Subsequently, the communication control apparatus relays a packet transmitted from UA1 to UA2 by using a separately connected "session with UA1" and "session with UA2" as one session, and a packet transmitted from UA2. Is relayed to UA1, a NAT table in which “in” indicating the address information of the received packet is associated with “out” indicating the address information as the transmission destination is created. For example, the communication control device may use “(src: IP1, dst: IP3)”, (src: IP3, dst: IP2) ”,“ (src: IP2, dst: IP3) ”, (src: IP3) as“ in, out ”. , Dst: IP1) ”and the like are created.

続いて、通信制御装置は、セッションが確立されたUA1またはUA2から、仮想通信路(VPN)を接続するために仮想通信路情報(VPN認証や鍵交換(IKE)パケット)を受信した場合に、作成されたNATテーブルに基づいて、受信した情報を送信先に中継する(図1の(3)参照)。具体的に例を挙げると、通信制御装置は、IKEによる認証および鍵交換のパケットをUA1から受信した場合には、作成したNATテーブルに従って、当該パケットをUA2に転送し、同様のパケットをUA2から受信した場合には、作成したNATテーブルに従って、当該パケットをUA1に転送する。このようにして、VPN認証および鍵交換が実施されることで、UA1とUA2とがVPNで接続される。   Subsequently, when the communication control device receives virtual channel information (VPN authentication or key exchange (IKE) packet) to connect the virtual channel (VPN) from the UA1 or UA2 in which the session is established, Based on the created NAT table, the received information is relayed to the transmission destination (see (3) in FIG. 1). To give a specific example, when receiving a packet for authentication and key exchange by IKE from UA1, the communication control device transfers the packet to UA2 according to the created NAT table, and sends a similar packet from UA2. If received, the packet is transferred to UA1 according to the created NAT table. In this way, VPN authentication and key exchange are performed, whereby UA1 and UA2 are connected by VPN.

その後、通信制御装置は、VPNで接続された通信機器(UA1)または通信機器(UA2)から送信されたパケットを受信した場合に、作成されたNATテーブルに基づいて、受信したパケットのアドレス情報を変換して、送信先に中継する(図1の(4)参照)。具体的には、通信制御装置は、UA1からパケットを受信した場合に、当該パケットの送信元(src)と送信先(dst)とをNATテーブルに基づいて変換して、UA2に転送する。同様に、UA2からパケットを受信した場合に、当該パケットの送信元(src)と送信先(dst)とをNATテーブルに基づいて変換して、UA1に転送する。   After that, when receiving a packet transmitted from the communication device (UA1) or the communication device (UA2) connected by VPN, the communication control device obtains the address information of the received packet based on the created NAT table. The data is converted and relayed to the transmission destination (see (4) in FIG. 1). Specifically, when the communication control apparatus receives a packet from UA1, the communication control apparatus converts the transmission source (src) and transmission destination (dst) of the packet based on the NAT table and transfers the packet to UA2. Similarly, when a packet is received from UA2, the source (src) and destination (dst) of the packet are converted based on the NAT table and transferred to UA1.

このように、実施例1に係る通信制御装置は、別々に確立されたセッション間であっても、セッションを確立する際に取得したセッション情報から作成したNATテーブルに基づいて、セッション間に流れるパケットのアドレス情報を変換するだけで、あたかも一つのセッションのように、パケット転送(中継)を行うことができる結果、どのようなパケットであっても高速に中継することができる。   As described above, the communication control apparatus according to the first embodiment allows packets flowing between sessions based on the NAT table created from the session information acquired when establishing a session, even between sessions established separately. As a result of the packet transfer (relay) as if it were one session, it is possible to relay any packet at high speed.

[通信制御装置の構成]
次に、図2を用いて、図1に示した通信制御装置の構成を説明する。図2は、実施例1に係る通信制御装置の構成を示すブロック図である。図2に示すように、この通信制御装置10は、通信制御I/F部11と、無線通信I/F部12と、記憶部20と、制御部30とから構成される。
[Configuration of communication control unit]
Next, the configuration of the communication control apparatus shown in FIG. 1 will be described with reference to FIG. FIG. 2 is a block diagram illustrating the configuration of the communication control apparatus according to the first embodiment. As illustrated in FIG. 2, the communication control apparatus 10 includes a communication control I / F unit 11, a wireless communication I / F unit 12, a storage unit 20, and a control unit 30.

かかる通信制御I/F部11は、SIP網を介して他の装置との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部11は、制御部30の接続要求受信部31と接続され、セッションを確立するためのSIPメッセージや、VPN認証、IKEネゴシエーションパケットなどのように通信機器(UA1)と通信機器(UA2)の間でやり取りされる各種パケットを受信したりする。   The communication control I / F unit 11 controls communication related to various information exchanged with other apparatuses via the SIP network. Specifically, the communication control I / F unit 11 is connected to the connection request receiving unit 31 of the control unit 30 and communicates with a communication device (such as a SIP message for establishing a session, VPN authentication, IKE negotiation packet). Various packets exchanged between the UA 1) and the communication device (UA 2) are received.

無線通信I/F部12は、無線通信を用いて他の装置との間でやり取りする各種情報を制御する。具体的には、無線通信I/F部12は、制御部30の接続要求受信部31と接続され、電子メール機能やメッセンジャー機能を有し、携帯電話などとの間でやり取りする各種情報を制御する。   The wireless communication I / F unit 12 controls various information exchanged with other apparatuses using wireless communication. Specifically, the wireless communication I / F unit 12 is connected to the connection request receiving unit 31 of the control unit 30, has an electronic mail function and a messenger function, and controls various information exchanged with a mobile phone or the like. To do.

記憶部20は、制御部30による各種処理に必要なデータおよびプログラム、ルーティング情報を格納するとともに、NATテーブル21を有する。   The storage unit 20 stores data and programs necessary for various processes performed by the control unit 30 and routing information, and has a NAT table 21.

NATテーブル21は、セッションが確立されたUA1とUA2との間でやり取りされるパケットを送信先に中継するためのアドレス変換情報を記憶する。具体的には、NATテーブル21は、『受信したパケットのアドレス情報を示す「in」』と『送信先となるアドレス情報を示す「out」』とを対応付けたネットワークアドレス変換情報を記憶する。例えば、NATテーブル21は、図3に示すように、「in、out」として「(src:IP1、dst:IP3)、(src:IP3、dst:IP2)」や「(src:IP2、dst:IP3)、(src:IP3、dst:IP1)」などと記憶する。なお、図3は、NATテーブルに記憶される情報の例を示す図である。   The NAT table 21 stores address conversion information for relaying a packet exchanged between UA1 and UA2 with which a session is established to a transmission destination. Specifically, the NAT table 21 stores network address conversion information in which “in” indicating address information of a received packet is associated with “out” indicating address information as a transmission destination. For example, in the NAT table 21, as shown in FIG. 3, “(src: IP1, dst: IP3)”, (src: IP3, dst: IP2) ”and“ (src: IP2, dst: IP3), (src: IP3, dst: IP1) "and the like. FIG. 3 is a diagram illustrating an example of information stored in the NAT table.

制御部30は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、接続要求受信部31と、セッション確立部32と、テーブル作成部33と、VPN情報中継部34と、パケット中継部35とを有し、これらによって種々の処理を実行する。   The control unit 30 has an internal memory for storing a control program such as an OS (Operating System), a program defining various processing procedures, and necessary data, and a connection request receiving unit 31, a session establishing unit 32, The table creation unit 33, the VPN information relay unit 34, and the packet relay unit 35 are used to execute various processes.

接続要求受信部31は、セッションを確立する装置が指定されたセッション確立要求を受信する。具体的には、接続要求受信部31は、通信制御I/F部11を介して、通信制御装置10の管理者端末などから受け付けたセッション確立要求や、無線通信I/F部12を介して、携帯電話の無線通信(例えば、電子メールなど)により受け付けたセッション確立要求を受け付けて、後述するセッション確立部32にセッション確立指示および確立先装置情報を出力する。   The connection request receiving unit 31 receives a session establishment request in which a device for establishing a session is designated. Specifically, the connection request receiving unit 31 receives a session establishment request received from an administrator terminal of the communication control device 10 via the communication control I / F unit 11 or the wireless communication I / F unit 12. In response to a session establishment request received by wireless communication (for example, e-mail or the like) of a cellular phone, a session establishment instruction and establishment destination apparatus information are output to a session establishment unit 32 described later.

ここで、受け付けられるセッション確立要求とは、セッションを確立する指示と確立先の装置を特定する情報であり、例えば、「装置名(ホスト名)、IPアドレス」として「UA1、IP1」や「UA2、IP2」などの情報である。したがって、接続要求受信部31は、セッション確立指示および確立先装置情報として、上記した「UA1、IP1」や「UA2、IP2」をセッション確立部32に出力する。なお、ここでは、必ずしも「装置名(ホスト名)、IPアドレス」である必要はなく、例えば、「装置名(ホスト名)、電話番号」などにように、装置を特定して通信できる情報であれば、どのような情報であってもよい。   Here, the accepted session establishment request is information for specifying an instruction to establish a session and a destination device. For example, “UA1, IP1” or “UA2” as “device name (host name), IP address”. , IP2 ”and the like. Therefore, the connection request reception unit 31 outputs “UA1, IP1” and “UA2, IP2” to the session establishment unit 32 as the session establishment instruction and the establishment destination device information. In this case, it is not always necessary to use “device name (host name), IP address”. For example, “device name (host name), telephone number” is information that can identify and communicate with a device. Any information may be used.

セッション確立部32は、接続要求受信部31から受け付けた確立先装置情報に基づいて、セッションを確立する。具体的には、セッション確立部32は、接続要求受信部31から受け付けた確立先装置に対してSIPの「INVITEメッセージ」を送信して「200 OKメッセージ」を受信し、「ACK」を応答することにより、SIPセッションを確立する。   The session establishment unit 32 establishes a session based on the establishment destination device information received from the connection request reception unit 31. Specifically, the session establishment unit 32 transmits a SIP “INVITE message” to the establishment destination device received from the connection request reception unit 31, receives the “200 OK message”, and responds with “ACK”. Thus, a SIP session is established.

例えば、セッション確立部32は、確立先装置情報として「UA1、IP1」、「UA2、IP2」を受け付けた場合、IPアドレス「IP1」に対して、自装置のIPアドレス「IP3」がSDPで記述された情報を含む「INVITEメッセージ」を送信する。そして、セッション確立部32は、UA1のIPアドレス「IP1」がSDPで記述された情報を含む「200 OKメッセージ」をUA1から受信すると、UA1に対して「ACK」を応答する。このようにすることで、セッション確立部32は、接続要求受信部31により受け付けられたセッション確立先である「UA1」との間をセッションで確立することができる。   For example, when the session establishment unit 32 receives “UA1, IP1”, “UA2, IP2” as the establishment destination device information, the IP address “IP3” of the own device is described in SDP with respect to the IP address “IP1”. "INVITE message" including the transmitted information is transmitted. When the session establishment unit 32 receives a “200 OK message” including information in which the IP address “IP1” of UA1 is described in SDP from UA1, it responds with “ACK” to UA1. In this way, the session establishing unit 32 can establish a session with “UA1”, which is the session establishment destination accepted by the connection request receiving unit 31.

そして、セッション確立部32は、「UA2」に対しても同様に、IPアドレス「IP2」に対して、自装置のIPアドレス「IP3」を含む「INVITEメッセージ」を送信し、UA2のIPアドレス「IP2」を含む「200 OKメッセージ」をUA2から受信して、UA2に対して「ACK」を応答する。このようにすることで、セッション確立部32は、「UA2」との間をセッションで確立することができる。   Similarly, the session establishing unit 32 transmits an “INVITE message” including the IP address “IP3” of its own device to the IP address “IP2” for “UA2”, and the IP address “UA2” “200 OK message” including “IP2” is received from UA2, and “ACK” is returned to UA2. By doing so, the session establishing unit 32 can establish a session with “UA2”.

テーブル作成部33は、セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、NATテーブル21を作成する。具体的には、テーブル作成部33は、セッション確立部32により送受信された「INVITEメッセージ」や「200 OKメッセージ」に含まれるSDPで記述された「IPアドレス」を取得し、取得した「IPアドレス」を用いて、受信したパケットのアドレス情報を変換して、出力するためのNATテーブル21(図3参照)を作成する。   The table creation unit 33 creates the NAT table 21 based on the session information obtained from each communication device when establishing a session. Specifically, the table creation unit 33 acquires the “IP address” described in SDP included in the “INVITE message” or “200 OK message” transmitted / received by the session establishment unit 32, and the acquired “IP address” Is used to convert the address information of the received packet and create a NAT table 21 (see FIG. 3) for output.

例えば、テーブル作成部33は、セッション確立部32によりUA1に送信された「INVITEメッセージ」からIPアドレス「IP3」、UA1から受信した「200 OKメッセージ」からIPアドレス「IP1」を取得する。同様に、テーブル作成部33は、セッション確立部32によりUA2に送信された「INVITEメッセージ」からIPアドレス「IP3」、UA2から受信した「200 OKメッセージ」からIPアドレス「IP2」を取得する。   For example, the table creation unit 33 acquires the IP address “IP3” from the “INVITE message” transmitted to the UA1 by the session establishment unit 32 and the IP address “IP1” from the “200 OK message” received from the UA1. Similarly, the table creation unit 33 acquires the IP address “IP3” from the “INVITE message” transmitted to the UA2 by the session establishment unit 32 and the IP address “IP2” from the “200 OK message” received from the UA2.

そして、テーブル作成部33は、「IP1」のUA1から「IP3」の通信制御装置10に送信(in)されたパケットを、「IP2」のUA2に中継(out)するためのNATテーブル21(図3参照)を作成する。同様に、テーブル作成部33は、「IP2」のUA2から「IP3」の通信制御装置10に送信されたパケットを、「IP1」のUA1に中継するNATテーブル21を作成する。   Then, the table creating unit 33 relays (out) the packet transmitted (in) from the UA1 of “IP1” to the communication control apparatus 10 of “IP3” to the UA2 of “IP2” (FIG. 3). Similarly, the table creation unit 33 creates a NAT table 21 that relays a packet transmitted from the UA2 of “IP2” to the communication control apparatus 10 of “IP3” to the UA1 of “IP1”.

VPN情報中継部34は、セッションが確立された第一の通信機器または第二の通信機器から、VPNを接続するための情報を示す通信路情報を受信した場合に、テーブル作成部33により作成されたNATテーブル21に基づいて、受信した通信路情報を送信先に中継する。具体的には、VPN情報中継部34は、セッション確立部32によりセッションが確立され、テーブル作成部33によりNATテーブル21が作成された通信機器(UA1)から通信機器(UA2)に対して送信されたVPN認証のパケットやIKEネゴシエーションのパケットを受信し、受信したパケットのIPヘッダをNATテーブル21に基づいて変換してUA2に中継する。同様に、VPN情報中継部34は、通信機器(UA2)から通信機器(UA1)に対して送信されたVPN認証のパケットやIKEネゴシエーションのパケットを受信し、受信したパケットのIPヘッダをNATテーブル21に基づいて変換してUA1に中継する。   The VPN information relay unit 34 is created by the table creation unit 33 when communication path information indicating information for connecting a VPN is received from the first communication device or the second communication device with which a session is established. Based on the NAT table 21, the received communication path information is relayed to the transmission destination. Specifically, the VPN information relay unit 34 is transmitted from the communication device (UA1) in which the session is established by the session establishment unit 32 and the NAT table 21 is created by the table creation unit 33 to the communication device (UA2). The VPN authentication packet and the IKE negotiation packet are received, and the IP header of the received packet is converted based on the NAT table 21 and relayed to the UA 2. Similarly, the VPN information relay unit 34 receives a VPN authentication packet or an IKE negotiation packet transmitted from the communication device (UA2) to the communication device (UA1), and receives the IP header of the received packet in the NAT table 21. Based on the above and relay to UA1.

このように、通信制御装置10−UA1間、通信制御装置10−UA2間などのように、別々に接続されたセッションであっても、通信制御装置10が受信したパケットのIPヘッダを変換して中継することにより、UA1とUS2との間で、VPN認証およびIKEネゴシエーションを実施することができる。その結果、通信制御装置10−UA1間、通信制御装置10−UA2間それぞれにおいて、VPN接続を確立することができる。   As described above, the IP header of the packet received by the communication control device 10 is converted even in a session connected separately, such as between the communication control device 10 and UA1, and between the communication control device 10 and UA2. By relaying, VPN authentication and IKE negotiation can be performed between UA1 and US2. As a result, a VPN connection can be established between the communication control device 10-UA1 and between the communication control device 10-UA2.

パケット中継部35は、VPNで接続された通信機器から送信されたパケットを受信した場合に、テーブル作成部33により作成されたNATテーブル21に基づいて、受信したパケットのアドレス情報を変換して、送信先に中継する。   When the packet relay unit 35 receives a packet transmitted from a communication device connected by VPN, the packet relay unit 35 converts the address information of the received packet based on the NAT table 21 created by the table creation unit 33, Relay to the destination.

例えば、UA1から送信されたパケットのIPヘッダは、送信元が「IP1」、送信先が「IP3」となっている。そのため、パケット中継部35は、図3に示したNATテーブル21に基づいて、UA1から受信したパケットにおけるIPヘッダの送信元を「IP1」から「IP3」、送信先を「IP3」から「IP2」にそれぞれ変換してUA2に転送する。同様に、UA2から送信されたパケットでは、送信元が「IP2」、送信先が「IP3」となっている。そのため、パケット中継部35は、図3に示したNATテーブル21に基づいて、UA2から受信したパケットにおけるIPヘッダの送信元を「IP2」から「IP3」、送信先を「IP3」から「IP1」にそれぞれ変換してUA1に転送する。   For example, in the IP header of a packet transmitted from UA1, the transmission source is “IP1” and the transmission destination is “IP3”. Therefore, the packet relay unit 35 sets the transmission source of the IP header in the packet received from the UA 1 from “IP1” to “IP3” and the transmission destination from “IP3” to “IP2” based on the NAT table 21 shown in FIG. Respectively, and then transferred to UA2. Similarly, in the packet transmitted from UA2, the transmission source is “IP2” and the transmission destination is “IP3”. Therefore, the packet relay unit 35 sets the transmission source of the IP header in the packet received from the UA 2 from “IP2” to “IP3” and the transmission destination from “IP3” to “IP1” based on the NAT table 21 shown in FIG. Respectively, and transfer to UA1.

[通信制御装置による処理]
次に、図4を用いて、通信制御装置による処理を説明する。図4は、実施例1に係る通信制御装置における処理の流れを示すシーケンス図である。
[Processing by communication control device]
Next, processing by the communication control device will be described with reference to FIG. FIG. 4 is a sequence diagram illustrating the flow of processing in the communication control apparatus according to the first embodiment.

図4に示すように、通信制御装置10は、管理者などの端末からセッション接続先を示す接続要求(UA1、UA2)を受け付けると(ステップS101)、SDPで「IP3」が記述された「INVITE(SDP c=IP3)メッセージ」をUA1に送信して(ステップS102)、当該メッセージの応答として、SDPで「IP1」が記述された「200 OK(SDP c=IP1)メッセージ」をUA1から受信する(ステップS103)。   As shown in FIG. 4, when receiving a connection request (UA1, UA2) indicating a session connection destination from a terminal such as an administrator (step S101), the communication control device 10 receives “INVITE” in which “IP3” is described in SDP. (SDP c = IP3) message ”is transmitted to UA1 (step S102), and“ 200 OK (SDP c = IP1) message ”in which“ IP1 ”is described in SDP is received from UA1 as a response to the message. (Step S103).

なお、上記した「INVITE」や「200 OK」に含まれる「c=」とは、使用するIPアドレスを示しており、例えば、ステップS102の「INVITE(SDP c=IP3)メッセージ」では、IPアドレス「IP3」を使用することが定義されている。   Note that “c =” included in the above “INVITE” and “200 OK” indicates an IP address to be used. For example, in the “INVITE (SDP c = IP3) message” in step S102, the IP address The use of “IP3” is defined.

続いて、通信制御装置10は、SDPで「IP3」が記述された「INVITE(SDP c=IP3)メッセージ」をUA2に送信して(ステップS104)、当該メッセージの応答として、SDPで「IP2」が記述された「200 OK(SDP c=IP2)メッセージ」をUA2から受信する(ステップS105)。   Subsequently, the communication control apparatus 10 transmits an “INVITE (SDP c = IP3) message” in which “IP3” is described in SDP to UA2 (step S104), and “IP2” in SDP as a response to the message. "200 OK (SDP c = IP2) message" is described from UA2 (step S105).

このようにして、通信制御装置10は、接続要求に示された「UA1」、「UA2」のそれぞれと「INVITEメッセージ」および「200 OKメッセージ」をやり取りすると、それぞれに対して「ACK」を送信する(ステップS106とステップS107)。その結果、通信制御装置10とUA1の間、通信制御装置10とUA2の間それぞれにセッションが確立される。   In this way, when the communication control device 10 exchanges “INVITE message” and “200 OK message” with each of “UA1” and “UA2” indicated in the connection request, it transmits “ACK” to each. (Step S106 and Step S107). As a result, a session is established between the communication control device 10 and UA1, and between the communication control device 10 and UA2.

その後、通信制御装置10は、UA1、UA2とのセッションを確立する際のINVITEメッセージ」および「200 OKメッセージ」に含まれている「SDP、c=IPアドレス」を取得して、取得した情報に基づいて、NATテーブル21を作成する(ステップS108)。   Thereafter, the communication control device 10 acquires “SDP, c = IP address” included in the “INVITE message when establishing a session with UA1 and UA2” and “200 OK message”, and uses the acquired information as the acquired information. Based on this, the NAT table 21 is created (step S108).

続いて、通信制御装置10は、セッションが確立されたUA1とUA2との間において、VPNを接続するための情報を示すVPN認証や鍵交換(IKE)パケットを受信した場合に、ステップS108で作成したNATテーブル21に基づいて、受信したパケットのIPヘッダを書き換えて送信先に中継する(ステップS109)。   Subsequently, when the communication control apparatus 10 receives a VPN authentication or key exchange (IKE) packet indicating information for connecting the VPN between the UA1 and the UA2 with which the session is established, the communication control apparatus 10 creates the communication control apparatus 10 in step S108. Based on the NAT table 21, the IP header of the received packet is rewritten and relayed to the transmission destination (step S109).

その結果、UA1およびUA2は、通信制御装置10との間にVPNのコネクションを生成することにより、通信制御装置10−UA1間、通信制御装置10−UA2間それぞれにおいて、VPN接続を確立することができる(ステップS110とステップS111)。   As a result, UA1 and UA2 can establish a VPN connection between the communication control device 10 and UA1 and between the communication control device 10 and UA2 by generating a VPN connection with the communication control device 10. Yes (step S110 and step S111).

その後、通信制御装置10は、VPNで接続されたUA1またはUA2から送信されたパケットを受信した場合に、ステップS108で作成したNATテーブル21に基づいて、受信したパケットのアドレス情報を変換して、送信先に中継する(ステップS112)。このようにして、各LAN内機器同士のIPによる通信が可能となる。   Thereafter, when receiving a packet transmitted from UA1 or UA2 connected by VPN, the communication control device 10 converts the address information of the received packet based on the NAT table 21 created in step S108, Relay to the destination (step S112). In this way, communication by IP between devices in each LAN becomes possible.

ここで、図5を用いて、VPN接続後のパケットの様子を具体的に説明する。図5は、VPN接続後のパケットにおけるIPヘッダの状態遷移を示す図である。   Here, the state of the packet after VPN connection will be specifically described with reference to FIG. FIG. 5 is a diagram showing state transition of the IP header in the packet after VPN connection.

図5の(1)に示すように、IPアドレス「IPa」であるLAN(A)内の機器(A)は、IPアドレス「IPb」であるLAN(B)内の機器(B)に対して、データにIPヘッダ「From=IPa、to=IPb」を付加したパケットを送信する。なお、IPヘッダの「From」は、送信元のIPアドレスを示し、「to」は、送信先(宛先)のIPアドレスを示す。   As shown in (1) of FIG. 5, the device (A) in the LAN (A) having the IP address “IPa” is compared with the device (B) in the LAN (B) having the IP address “IPb”. , A packet with the IP header “From = IPa, to = IPb” added thereto is transmitted. Note that “From” in the IP header indicates the IP address of the transmission source, and “to” indicates the IP address of the transmission destination (destination).

すると、LAN(A)と外部ネットワークとの境界に位置するUA1は、図5の(2)に示すように、このパケットを受信し、受信したパケットをカプセリングしてVPNパケットを生成するとともに、「From=IP1、to=IP3」である新たなIPヘッダをVPNパケットに付加して、通信制御装置10に送信する。   Then, the UA 1 located at the boundary between the LAN (A) and the external network receives this packet and encapsulates the received packet to generate a VPN packet as shown in (2) of FIG. A new IP header of “From = IP1, to = IP3” is added to the VPN packet and transmitted to the communication control apparatus 10.

続いて、通信制御装置10は、受信したVPNパケットに付加されている新たなIPヘッダ「From=IP1、to=IP3」を、NATテーブル21に基づいて、「From=IP3、to=IP2」に変換して、UA2に送信する。   Subsequently, the communication control apparatus 10 changes the new IP header “From = IP1, to = IP3” added to the received VPN packet to “From = IP3, to = IP2” based on the NAT table 21. Convert and send to UA2.

そして、UA2では、図5の(4)に示すように、受信したパケット(VPNパケット+IPヘッダ)のカプセリングを解いて、データのあて先が「IPb」であることを認識して、受信したデータをLAN(B)の機器(B)に出力する。そうすることにより、機器(B)は、図5の(5)に示すように、機器(A)から送信されたデータを受信することとなる。   Then, as shown in (4) of FIG. 5, UA2 releases the received packet (VPN packet + IP header) and recognizes that the data destination is “IPb”. The data is output to the device (B) of the LAN (B). By doing so, the device (B) receives the data transmitted from the device (A) as shown in (5) of FIG.

[実施例1による効果]
このように、実施例1によれば、セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、セッションが確立されたUA1とUA2との間でやり取りされるパケットを送信先に中継するためのアドレス変換情報を示すNATテーブルを作成し、セッションが確立されたUA1またはUA2との間で交換されるVPNを接続するための仮想通信路情報(VPN認証、IKE)を受信した場合に、NATテーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、送信先に中継し、仮想通信路情報が中継されて、VPNで接続されたUA1またはUA2から送信されたパケットを受信した場合に、NATテーブルに基づいて、受信したパケットのアドレス情報を変換して、送信先に中継することができので、IPsecのパケットをOSレベルで中継することができる。その結果、どのようなパケットであっても高速に中継することができる。
[Effects of Example 1]
As described above, according to the first embodiment, based on the session information obtained from each communication device when a session is established, a packet exchanged between UA1 and UA2 with which the session is established is transmitted to the destination. Created a NAT table indicating address translation information for relaying to the network, and received virtual channel information (VPN authentication, IKE) for connecting a VPN exchanged with UA1 or UA2 with which a session was established In this case, the address information of the received virtual channel information is converted based on the NAT table, relayed to the transmission destination, and the virtual channel information is relayed and transmitted from UA1 or UA2 connected by VPN. When a packet is received, the address information of the received packet can be converted based on the NAT table and relayed to the destination. Since, it is possible to relay packets IPsec at the OS level. As a result, any packet can be relayed at high speed.

また、NAT機能のみでパケット中継を行うことができる結果、VPNパケットの復号化や再暗号化などの行う必要が無く、処理負荷を軽減することができ、より高速にパケット中継を行うことができる。また、アプリケーションには、NATを設定するだけでよく、パケットの復号化や再暗号化などの処理が不要であるため、通信制御装置としての実装が容易である。   Moreover, as a result of performing packet relay only with the NAT function, there is no need to perform decryption or re-encryption of the VPN packet, the processing load can be reduced, and packet relay can be performed at higher speed. . In addition, it is only necessary to set the NAT in the application, and processing such as packet decryption and re-encryption is unnecessary, so that it can be easily implemented as a communication control device.

さらに、セッションを確立する通信機器が予めわかっていない場合であっても、つまり、不特定な通信機器同士のセッションを確立する場合であっても、セッション確立段階でやり取りされるSIPメッセージからセッション情報を取得して、NATテーブルを作成することができる。   Further, even when the communication device for establishing the session is not known in advance, that is, when the session between unspecified communication devices is established, the session information is obtained from the SIP message exchanged at the session establishment stage. And a NAT table can be created.

ところで、実施例1では、セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、IPアドレスを対応付けたNATテーブルを作成する例について説明したが、本発明はこれに限定されるものではなく、使用するポート番号さらに対応付けたNAPT(Network Address Port Translation)テーブルを作成するようにしてもよい。   Incidentally, in the first embodiment, an example in which a NAT table in which IP addresses are associated with each other based on session information obtained from each communication device when establishing a session has been described, but the present invention is not limited thereto. Instead, a NAPT (Network Address Port Translation) table associated with the port numbers to be used may be created.

そこで、実施例2では、図6〜図8を用いて、セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、IPアドレスとポート番号とを対応付けたNAPTテーブルを作成する例について説明する。   Therefore, in the second embodiment, a NAPT table in which an IP address and a port number are associated is created based on session information obtained from each communication device when a session is established using FIGS. An example will be described.

図6は、実施例2に係る通信制御装置における処理の流れを示すシーケンス図である。図6に示すように、通信制御装置10は、管理者などの端末からセッション接続先を示す接続要求(UA1、UA2)を受け付けると(ステップS201)、SDPでIPアドレスと使用ポート番号とが記述された「INVITE(SDP c=IP3、m=p3−1)メッセージ」をUA1に送信する(ステップS202)。   FIG. 6 is a sequence diagram illustrating the flow of processing in the communication control apparatus according to the second embodiment. As shown in FIG. 6, when receiving a connection request (UA1, UA2) indicating a session connection destination from a terminal such as an administrator (step S201), the communication control device 10 describes an IP address and a used port number in SDP. The transmitted “INVITE (SDP c = IP3, m = p3-1) message” is transmitted to UA1 (step S202).

続いて、通信制御装置10は、送信した「INVITEメッセージ」の応答として、SDPでIPアドレスと使用ポートが記述された「200 OK(SDP c=IP1、m=p1)メッセージ」をUA1から受信する(ステップS203)。   Subsequently, as a response to the transmitted “INVITE message”, the communication control apparatus 10 receives a “200 OK (SDP c = IP1, m = p1) message” in which the IP address and the used port are described in SDP from the UA1. (Step S203).

UA2に対しても同様に、通信制御装置10は、SDPでIPアドレスと使用ポート番号とが記述された「INVITE(SDP c=IP3、m=p3−2)メッセージ」をUA2に送信し(ステップS204)、送信した「INVITEメッセージ」の応答として、SDPでIPアドレスと使用ポートが記述された「200 OK(SDP c=IP2、m=p2)メッセージ」をUA2から受信する(ステップS205)。   Similarly, for the UA2, the communication control apparatus 10 transmits an “INVITE (SDP c = IP3, m = p3-2) message” in which the IP address and the used port number are described in SDP to the UA2 (Step S1). S204) As a response to the transmitted “INVITE message”, a “200 OK (SDP c = IP2, m = p2) message” in which the IP address and the used port are described in SDP is received from UA2 (step S205).

このようにして、通信制御装置10は、接続要求に示された「UA1」、「UA2」のそれぞれと「INVITEメッセージ」および「200 OKメッセージ」をやり取りすると、それぞれに対して「ACK」を送信する(ステップS206とステップS207)。その結果、通信制御装置10とUA1の間、通信制御装置10とUS2の間それぞれにセッションが確立される。   In this way, when the communication control device 10 exchanges “INVITE message” and “200 OK message” with each of “UA1” and “UA2” indicated in the connection request, it transmits “ACK” to each. (Step S206 and Step S207). As a result, a session is established between the communication control apparatus 10 and UA1, and between the communication control apparatus 10 and US2.

なお、上記した「INVITE」や「200 OK」に含まれる「c=」とは、使用するIPアドレスを示しており、「m=」とは、使用するポート番号を示しており、UA1、UA2、通信制御装置10は、空いているポートを自動的に選択して使用する。例えば、ステップS201における「INVITE(SDP c=IP3、m=p3−1)メッセージ」では、通信制御装置10からUA1への通信に「IPアドレス=IP3」、「ポート番号=p3−1」を使用することが定義されている。同様に、ステップS203における「200 OK(SDP c=IP1、m=p1)メッセージ」では、UA1から通信制御装置10への通信に「IPアドレス=IP1」、「ポート番号=p1」を使用することが定義されている。   Note that “c =” included in the above “INVITE” and “200 OK” indicates an IP address to be used, “m =” indicates a port number to be used, and UA1, UA2 The communication control device 10 automatically selects and uses an available port. For example, in the “INVITE (SDP c = IP3, m = p3-1) message” in step S201, “IP address = IP3” and “port number = p3-1” are used for communication from the communication control apparatus 10 to UA1. To be defined. Similarly, in the “200 OK (SDP c = IP1, m = p1) message” in step S203, “IP address = IP1” and “port number = p1” are used for communication from the UA1 to the communication control apparatus 10. Is defined.

図6に戻り、通信制御装置10は、セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、IPアドレスとポート番号とを対応付けたNAPTテーブルを作成する(ステップS208)。   Returning to FIG. 6, the communication control device 10 creates a NAPT table in which the IP address and the port number are associated with each other based on the session information obtained from each communication device when the session is established (step S208). .

具体的には、通信制御装置10は、ステップS202〜ステップS205でやり取りされた「INVITEメッセージ」や「200 OKメッセージ」に含まれるSDPで記述された「IPアドレス」と「ポート番号」とを取得して、受信したパケットのアドレス情報を変換するための、『受信したパケットのアドレス情報を示す「in」』と『送信先となるアドレス情報を示す「out」』とを対応付けたNAPTテーブルを作成する。例えば、通信制御装置10は、図7に示すように、「in、out」として「(src:IP1 port=p1、dst:IP3 port=p3−1)、(src:IP3 port=p3−2、dst:IP2 port=p2)」や「(src:IP2 port=p2、dst:IP3 port=p3−2)、(src:IP3 port=p3−1、dst:IP1 port=p1)」などと記憶する。なお、図7は、NAPTテーブルに記憶される情報の例を示す図である。   Specifically, the communication control apparatus 10 acquires the “IP address” and “port number” described in SDP included in the “INVITE message” and “200 OK message” exchanged in steps S202 to S205. In order to convert the address information of the received packet, a NAPT table in which “in” indicating the address information of the received packet is associated with “out” indicating the address information as the transmission destination create. For example, as illustrated in FIG. 7, the communication control device 10 sets “in, out” as “(src: IP1 port = p1, dst: IP3 port = p3-1), (src: IP3 port = p3-2, dst: IP2 port = p2) ”,“ (src: IP2 port = p2, dst: IP3 port = p3-2), (src: IP3 port = p3-1, dst: IP1 port = p1) ”, etc. . FIG. 7 is a diagram illustrating an example of information stored in the NAPT table.

続いて、通信制御装置10は、セッションが確立されたUA1とUA2との間において、VPNを接続するための情報を示すVPN認証や鍵交換(IKE)パケットを受信した場合に、ステップS108で作成したNAPTテーブルに基づいて、使用するポートを特定し、受信したパケットのIPヘッダを書き換えて送信先に中継する(ステップS209)。   Subsequently, when the communication control apparatus 10 receives a VPN authentication or key exchange (IKE) packet indicating information for connecting the VPN between the UA1 and the UA2 with which the session is established, the communication control apparatus 10 creates the communication control apparatus 10 in step S108. Based on the NAPT table, the port to be used is specified, and the IP header of the received packet is rewritten and relayed to the transmission destination (step S209).

その結果、UA1およびUA2は、通信制御装置10との間にVPNのコネクションを生成し、さらに、VPNで使用するポートを設定することにより、通信制御装置10−UA1、通信制御装置10−UA2それぞれにおいて、VPN接続を確立することができる(ステップS210とステップS211)。   As a result, the UA1 and the UA2 generate a VPN connection with the communication control device 10, and further set a port to be used for the VPN, whereby the communication control device 10-UA1 and the communication control device 10-UA2 respectively. VPN connection can be established (step S210 and step S211).

その後、通信制御装置10は、VPNで接続されたUA1またはUA2から送信されたパケットを受信した場合に、ステップS208で作成したNAPTテーブルに基づいて、受信したパケットのアドレス情報を変換して、特定されるポート番号を用いて送信先に中継する(ステップS212)。このようにして、各LAN内機器同士のIPによる通信が可能となる。   After that, when receiving a packet transmitted from UA1 or UA2 connected by VPN, the communication control device 10 converts the address information of the received packet based on the NAPT table created in step S208 to specify It relays to the transmission destination using the port number to be set (step S212). In this way, communication by IP between devices in each LAN becomes possible.

ここで、図8を用いて、VPN接続後のパケットの様子を具体的に説明する。図8は、実施例2におけるVPN接続後のパケットにおけるIPヘッダの状態遷移を示す図である。   Here, the state of the packet after the VPN connection will be specifically described with reference to FIG. FIG. 8 is a diagram illustrating the state transition of the IP header in the packet after VPN connection in the second embodiment.

図8の(1)に示すように、IPアドレス「IPa」であるLAN(A)内の機器(A)は、IPアドレス「IPb」であるLAN(B)内の機器(B)に対して、データにIPヘッダ「From=IPa、to=IPb」を付加したパケットを送信する。なお、IPヘッダの「From」は、送信元のIPアドレスを示し、「to」は、送信先(宛先)のIPアドレスを示す。   As shown in (1) of FIG. 8, the device (A) in the LAN (A) having the IP address “IPa” is compared with the device (B) in the LAN (B) having the IP address “IPb”. , A packet with the IP header “From = IPa, to = IPb” added thereto is transmitted. Note that “From” in the IP header indicates the IP address of the transmission source, and “to” indicates the IP address of the transmission destination (destination).

すると、LAN(A)と外部ネットワークとの境界に位置するUA1は、図8の(2)に示すように、このパケットを受信し、受信したパケットをカプセリングしてVPNパケットを生成するとともに、使用するポート番号「From=p1、to=p3−1」を指定するUDPヘッダと、「From=IP1、to=IP3」である新たなIPヘッダとをVPNパケットに付加して、通信制御装置10に送信する。なお、UDPヘッダの「From」は、送信元のポート番号を示し、「to」は、送信先(宛先)のポート番号を示す。   Then, as shown in (2) of FIG. 8, the UA 1 located at the boundary between the LAN (A) and the external network receives this packet, encapsulates the received packet, generates a VPN packet, and uses it. A UDP header that specifies a port number “From = p1, to = p3-1” and a new IP header that is “From = IP1, to = IP3” are added to the VPN packet, and the communication control device 10 Send. In the UDP header, “From” indicates the port number of the transmission source, and “to” indicates the port number of the transmission destination (destination).

続いて、通信制御装置10は、図8の(3)に示すように、受信したVPNパケットに付加されているUDPヘッダ「From=p1、to=p3−1」を、NAPTテーブルに基づいて、「From=p3−2、to=p1」に変換するとともに、受信したVPNパケットに付加されている新たなIPヘッダ「From=IP1、to=IP3」を、NAPTテーブルに基づいて、「From=IP3、to=IP2」に変換して、UA2に送信する。   Subsequently, as shown in (3) of FIG. 8, the communication control device 10 uses the NAPT table to indicate the UDP header “From = p1, to = p3-1” added to the received VPN packet based on the NAPT table. A new IP header “From = IP1, to = IP3” added to the received VPN packet is converted into “From = p3-2, to = p1” based on the NAPT table. , To = IP2 ”and transmit to UA2.

そして、UA2では、図8の(4)に示すように、受信したパケット(VPNパケット+IPヘッダ)のカプセリングを解いて、データのあて先が「IPb」であることを認識して、受信したデータをLAN(B)の機器(B)に出力する。そうすることにより、機器(B)は、図8の(5)に示すように、機器(A)から送信されたデータを受信することとなる。   Then, as shown in (4) of FIG. 8, UA2 releases the received packet (VPN packet + IP header) and recognizes that the data destination is “IPb”. The data is output to the device (B) of the LAN (B). By doing so, the device (B) receives the data transmitted from the device (A) as shown in (5) of FIG.

このように、実施例2によれば、セッションを確立する際にそれぞれの通信機器から得られたセッション情報およびポート番号に基づいて、NAPTテーブルを作成し、仮想通信路情報を受信した場合に、NAPTテーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、特定されたポート番号を用いて送信先に中継し、VPNで接続されたUA1またはUA2から送信されたパケットを受信した場合に、NAPTテーブルに基づいて、受信したパケットのアドレス情報を変換して、特定されたポート番号を用いて送信先に中継することができる。その結果、1台の通信機器が複数のポートを使用することができ、複数のセッションを同時に接続することができるので、1対多や多対多の接続が可能となる。   As described above, according to the second embodiment, the NAPT table is created based on the session information and the port number obtained from each communication device when the session is established, and when the virtual communication path information is received, Based on the NAPT table, the address information of the received virtual communication path information is converted, relayed to the destination using the specified port number, and the packet transmitted from the UA1 or UA2 connected by the VPN is received. In this case, the address information of the received packet can be converted based on the NAPT table and relayed to the transmission destination using the specified port number. As a result, one communication device can use a plurality of ports, and a plurality of sessions can be connected simultaneously, so that one-to-many or many-to-many connection is possible.

ところで、本願が開示する通信制御装置は、単なるゲートウェイ装置としてだけでなく、様々なサービス形態に適用することができる。そこで、実施例3では、実施例1や実施例2で説明した本願が開示する通信制御装置を適用したサービス例について説明する。   By the way, the communication control device disclosed in the present application can be applied not only as a gateway device but also in various service forms. Therefore, in the third embodiment, a service example to which the communication control device disclosed in the first and second embodiments is applied will be described.

(SaaSポータルシステム)
まず、図9を用いて、本願が開示する通信制御装置をSaaS(Software as a Service)ポータルに適用した例について説明する。図9は、SaaSポータルシステムに適用した例を示す図である。
(SaaS portal system)
First, an example in which the communication control device disclosed in the present application is applied to a SaaS (Software as a Service) portal will be described with reference to FIG. FIG. 9 is a diagram showing an example applied to the SaaS portal system.

図9に示すように、このSaaSポータルシステムは、ソフトウエアを利用する利用者端末と、ソフトウエアをインターネットを介して提供する複数のSaaS事業者と、利用者端末とSaaS事業者とを接続するSaaSポータルとがSIP網を介して相互に接続されている。なお、本願か開示する通信制御装置は、SaaSポータルに適用されている。   As shown in FIG. 9, this SaaS portal system connects a user terminal that uses software, a plurality of SaaS providers that provide software via the Internet, and a user terminal and a SaaS provider. The SaaS portal is connected to each other via the SIP network. The communication control device disclosed in the present application is applied to the SaaS portal.

このような構成において、利用者は、利用者端末を用いてSaaSポータルに接続し、所望のソフトウエアを検索する(図9の(1)参照)。その後、所望のソフトウエアが検索できた利用者は、SaaSポータルに対して、所望のソフトウエアを提供するSaaS事業者との接続要求を送信し、SaaSポータルは、指定されたSaaS事業者と利用者端末とに対して、SIPによる接続要求(セッション確立要求)を送信する(図9の(2)参照)。   In such a configuration, the user connects to the SaaS portal using the user terminal and searches for desired software (see (1) in FIG. 9). After that, the user who has found the desired software sends a connection request to the SaaS provider that provides the desired software to the SaaS portal, and the SaaS portal uses the designated SaaS provider. A connection request (session establishment request) by SIP is transmitted to the user terminal (see (2) in FIG. 9).

そして、SaaSポータルは、指定されたSaaS事業者と利用者端末とのそれぞれとの間で、実施例1などで説明した「INVITE」や「200 OK」などをやり取りして、利用者端末のIPアドレスとSaaS事業者のIPアドレスとを取得し、NATテーブル(またはNAPTテーブル)を作成する(図9の(3)参照)。もっとも、NATテーブルではなく、実施例2と同様の手法を用いることにより、NAPTテーブルを作成することもできる。   Then, the SaaS portal exchanges “INVITE” and “200 OK” described in the first embodiment and the like between the designated SaaS provider and the user terminal, and the IP of the user terminal. The address and the IP address of the SaaS provider are acquired, and a NAT table (or NAPT table) is created (see (3) in FIG. 9). However, the NAPT table can be created by using the same method as in the second embodiment instead of the NAT table.

続いて、SaaSポータルは、利用者端末またはSaaS事業者主導で実施されるVPN認証やIKEネゴシエーションに関するパケットを受信した場合に、作成したNATテーブルに基づいて、パケット中継を行うことにより、利用者端末とSaaS事業者とがSaaSポータルを介したVPNで接続される(図9の(4)参照)。   Subsequently, when the SaaS portal receives a packet relating to VPN authentication or IKE negotiation performed by the user terminal or the SaaS provider, it performs packet relay based on the created NAT table, thereby enabling the user terminal And the SaaS provider are connected via VPN via the SaaS portal (see (4) in FIG. 9).

その後、SaaSポータルは、利用者端末とSaaS事業者とがVPNを介してやり取りするパケットを受信し、NATテーブルに基づいて、アドレス変換を行って宛先に送信する(図9の(5)参照)。このようにすることで、利用者は、セキュアな回線を使って、ソフトウエアをダウンロードしたり、ソフトウエア機能の提供をSaaS事業者から受けたりすることができる。   Thereafter, the SaaS portal receives a packet exchanged between the user terminal and the SaaS provider via the VPN, performs address conversion based on the NAT table, and transmits the packet to the destination (see (5) in FIG. 9). . By doing in this way, the user can download software or receive provision of software functions from a SaaS provider using a secure line.

(オンデマンドVPNを利用したテレワークシステム)
次に、図10を用いて、本願が開示する通信制御装置をテレワークシステムに適用した例について説明する。図10は、テレワークシステムに適用した例を示す図である。
(Telework system using on-demand VPN)
Next, the example which applied the communication control apparatus which this application discloses to a telework system is demonstrated using FIG. FIG. 10 is a diagram showing an example applied to a telework system.

図10に示すように、このテレワークシステムは、人材派遣会社に対して業務依頼を行って業務委託を行う業務依頼者と、人材派遣会社に登録して紹介に応じて業務を行う在宅ワーカと、業務依頼者からの業務委託を登録している在宅ワーカに紹介する人材派遣会社とを有して構成される。   As shown in FIG. 10, this telework system includes a business requester who performs a business request to a temporary staffing company and entrusts the business, a home worker who registers with the temporary staffing company and performs business according to the introduction, And a temporary staffing company that introduces a home worker who has registered a business consignment from a business client.

このような構成において、業務依頼者は、人材派遣会社に対して業務依頼を行い(図10の(1)参照)、人材派遣会社は、依頼された業務に適した在宅ワーカに対して依頼の通知を行う(図10の(2)参照)。   In such a configuration, the business requester makes a business request to the temporary staffing company (see (1) in FIG. 10), and the temporary staffing company makes a request to the home worker suitable for the requested business. Notification is performed (see (2) in FIG. 10).

その後、在宅ワーカが依頼した業務を受託した場合、人材派遣会社のサーバは、管理者の操作などにより、業務依頼者の端末と在宅ワーカとの端末とに対して、実施例1などで説明した「INVITE」や「200 OK」などをやり取りして、セッションを確立するとともに、業務依頼者端末のIPアドレスと在宅ワーカ端末のIPアドレスとを取得し、NATテーブル(またはNAPTテーブル)を作成する(図10の(3)参照)。   After that, when the work requested by the home worker is entrusted, the server of the temporary staffing company has explained the terminal of the work requester and the terminal of the home worker in the first embodiment or the like by the operation of the administrator or the like. A session is established by exchanging “INVITE”, “200 OK”, etc., and the IP address of the business client terminal and the IP address of the home worker terminal are acquired, and a NAT table (or NAPT table) is created ( (See (3) in FIG. 10).

続いて、人材派遣会社のサーバは、業務依頼者端末または在宅ワーカ端末主導で実施されるVPN認証やIKEネゴシエーションに関するパケットを受信した場合に、作成したNATテーブルに基づいて、パケット中継を行うことにより、業務依頼者端末と在宅ワーカ端末とが人材派遣会社を介したVPNで接続される(図10の(4)参照)。   Subsequently, the server of the temporary staffing company performs packet relaying based on the created NAT table when receiving a packet related to VPN authentication or IKE negotiation performed by a business client terminal or a home worker terminal. The business requester terminal and the home worker terminal are connected by a VPN via a temporary staffing company (see (4) in FIG. 10).

その後、人材派遣会社のサーバは、業務依頼者端末と在宅ワーカ端末とがVPNを介してやり取りするパケットを受信し、NATテーブルに基づいて、アドレス変換を行って宛先に送信することにより、在宅ワーカは、セキュアな回線を使って、業務依頼者へリモートアクセスすることができる(図10の(5)参照)。   After that, the server of the temporary staffing company receives the packet exchanged between the business client terminal and the home worker terminal via the VPN, performs address conversion based on the NAT table, and transmits the packet to the destination. Can remotely access the business client using a secure line (see (5) in FIG. 10).

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、(1)接続台数、(2)静的テーブル、(3)システム構成等、(4)プログラムにそれぞれ区分けして異なる実施例を説明する。   Although the embodiments of the present invention have been described so far, the present invention may be implemented in various different forms other than the embodiments described above. Therefore, as shown below, (1) the number of connected devices, (2) a static table, (3) a system configuration, etc., (4) different examples will be described by being divided into programs.

(1)接続台数
例えば、上記した実施例では、通信機器(UA1)と通信機器(UA2)とが1対1でVPN接続される例について説明したが、本発明はこれに限定されるものではなく、例えば、実施例2にように、ポート番号を使い分けることによって、1対多または多対多でVPN接続を行うことができる。
(1) Number of Connected Devices For example, in the above-described embodiment, the example in which the communication device (UA1) and the communication device (UA2) are VPN-connected in a one-to-one manner has been described, but the present invention is not limited to this. Instead, for example, as in the second embodiment, VPN connection can be performed in a one-to-many or many-to-many manner by properly using port numbers.

(2)静的テーブル
また、実施例1では、セッション確立時に取得したセッション情報から動的にNATテーブルを作成する例について説明したが、本発明はこれに限定されるものではなく、例えば、接続先の通信機器が予めわかっている場合には、通信機器のアドレス情報がわかるので、NATテーブルを予め作成しておくこともできる。また、実施例2のNAPTテーブルについても、同様に、予め作成しておくこともできる。
(2) Static Table In the first embodiment, an example in which a NAT table is dynamically created from session information acquired at the time of session establishment has been described. However, the present invention is not limited to this, and for example, connection If the previous communication device is known in advance, the address information of the communication device is known, so a NAT table can be created in advance. Similarly, the NAPT table of the second embodiment can be created in advance.

(3)システム構成等
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理(例えば、IKEネゴシエーションなど)の全部または一部を手動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、図3や図7など)については、特記する場合を除いて任意に変更することができる。
(3) System Configuration etc. Further, among the processes described in the present embodiment, all or part of the processes described as being automatically performed (for example, IKE negotiation) can be manually performed. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters (for example, FIG. 3 and FIG. 7) shown in the above documents and drawings are optional unless otherwise specified. Can be changed.

また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合(例えば、VPN情報中継部とパケット中継部とを統合するなど)して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。   Each component of each illustrated device is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. It can be configured by integrating (for example, integrating the VPN information relay unit and the packet relay unit). Further, all or any part of each processing function performed in each device may be realized by a CPU and a program analyzed and executed by the CPU, or may be realized as hardware by wired logic.

(4)プログラム
なお、本実施例で説明した通信制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
(4) Program The communication control method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program can be distributed via a network such as the Internet. The program can also be executed by being recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM, an MO, and a DVD and being read from the recording medium by the computer.

以上のように、本発明に係る通信制御装置、通信制御方法および通信制御プログラムは、異なるネットワーク間を相互接続する第一の通信機器および第二の通信機器との間それぞれとセッションを確立することに有用であり、特に、パケットを高速に中継することに適する。   As described above, the communication control device, the communication control method, and the communication control program according to the present invention establish a session with each of the first communication device and the second communication device that interconnect different networks. And is particularly suitable for relaying packets at high speed.

実施例1に係る通信制御装置を含む通信システムの全体構成を示す図である。1 is a diagram illustrating an overall configuration of a communication system including a communication control apparatus according to a first embodiment. 実施例1に係る通信制御装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a communication control apparatus according to a first embodiment. NATテーブルに記憶される情報の例を示す図である。It is a figure which shows the example of the information memorize | stored in a NAT table. 実施例1に係る通信制御装置における処理の流れを示すシーケンス図である。FIG. 6 is a sequence diagram illustrating a process flow in the communication control apparatus according to the first embodiment. VPN接続後のパケットにおけるIPヘッダの状態遷移を示す図である。It is a figure which shows the state transition of the IP header in the packet after VPN connection. 実施例2に係る通信制御装置における処理の流れを示すシーケンス図である。FIG. 10 is a sequence diagram illustrating a process flow in a communication control apparatus according to the second embodiment. NAPTテーブルに記憶される情報の例を示す図である。It is a figure which shows the example of the information memorize | stored in a NAPT table. 実施例2におけるVPN接続後のパケットにおけるIPヘッダの状態遷移を示す図である。It is a figure which shows the state transition of the IP header in the packet after the VPN connection in Example 2. FIG. SaaSポータルシステムに適用した例を示す図である。It is a figure which shows the example applied to the SaaS portal system. テレワークシステムに適用した例を示す図である。It is a figure which shows the example applied to the telework system. 従来技術を説明するための図である。It is a figure for demonstrating a prior art.

符号の説明Explanation of symbols

10 通信制御装置
11 通信制御I/F部
12 無線通信I/F部
20 記憶部
21 NATテーブル
30 制御部
31 接続要求受信部
32 セッション確立部
33 テーブル作成部
34 VPN情報中継部
35 パケット中継部
DESCRIPTION OF SYMBOLS 10 Communication control apparatus 11 Communication control I / F part 12 Wireless communication I / F part 20 Storage part 21 NAT table 30 Control part 31 Connection request receiving part 32 Session establishment part 33 Table preparation part 34 VPN information relay part 35 Packet relay part

Claims (4)

異なるネットワーク間を相互接続する第一の通信機器および第二の通信機器それぞれとセッションを確立する通信制御装置であって、
前記セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、前記セッションが確立された第一の通信機器と第二の通信機器との間でやり取りされるパケットを送信先に中継するためのアドレス変換情報を示すネットワークアドレス変換テーブルを作成するテーブル作成手段と、
前記セッションが確立された第一の通信機器または第二の通信機器との間で交換される仮想通信路を接続するための仮想通信路情報を受信した場合に、前記テーブル作成手段で作成されるネットワークアドレス変換テーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、送信先に中継する通信路情報中継手段と、
前記中継手段により仮想通信路情報が中継されて、前記仮想通信路で接続された第一の通信機器または第二の通信機器から送信されたパケットを受信した場合に、前記テーブル作成手段で作成されたネットワークアドレス変換テーブルに基づいて、受信したパケットのアドレス情報を変換して、送信先に中継するパケット中継手段と、
を備えたことを特徴とする通信制御装置。
A communication control device for establishing a session with each of a first communication device and a second communication device interconnecting different networks,
Based on session information obtained from each communication device at the time of establishing the session, a packet exchanged between the first communication device and the second communication device with the session established is set as a transmission destination. Table creation means for creating a network address translation table indicating address translation information for relay;
When the virtual communication path information for connecting the virtual communication path exchanged with the first communication device or the second communication device with which the session is established is received, the table creation unit creates the session. Based on the network address conversion table, the address information of the received virtual channel information is converted, and the channel information relay means for relaying to the destination,
When the virtual communication path information is relayed by the relay means and a packet transmitted from the first communication device or the second communication device connected through the virtual communication path is received, the table creation means creates A packet relay means for converting the address information of the received packet based on the network address conversion table and relaying it to the destination;
A communication control apparatus comprising:
前記テーブル作成手段は、前記アドレス情報に対して、さらに、使用するポート番号を対応付けたネットワークアドレス変換テーブルを作成し、
前記通信路情報中継手段は、前記仮想通信路情報を受信した場合に、前記テーブル作成手段に作成されたネットワークアドレス変換テーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、特定されたポート番号を用いて送信先に中継し、
前記パケット中継手段は、前記仮想通信路で接続された第一の通信機器または第二の通信機器から送信されたパケットを受信した場合に、前記テーブル作成手段に作成されたネットワークアドレス変換テーブルに基づいて、受信したパケットのアドレス情報を変換して、特定されたポート番号を用いて送信先に中継することを特徴とする請求項1に記載の通信制御装置。
The table creation means creates a network address conversion table in which port numbers to be used are further associated with the address information,
When the communication path information relay means receives the virtual communication path information, the communication path information relay means converts the address information of the received virtual communication path information based on the network address conversion table created by the table creation means, and specifies Relay to the destination using the specified port number,
When the packet relay means receives a packet transmitted from the first communication device or the second communication device connected via the virtual communication path, the packet relay means is based on the network address conversion table created in the table creation means. The communication control apparatus according to claim 1, wherein the address information of the received packet is converted and relayed to the transmission destination using the specified port number.
異なるネットワーク間を相互接続する第一の通信機器および第二の通信機器それぞれとセッションを確立する通信制御装置に適した通信制御方法であって、
前記セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、前記セッションが確立された第一の通信機器と第二の通信機器との間でやり取りされるパケットを送信先に中継するためのアドレス変換情報を示すネットワークアドレス変換テーブルを作成するテーブル作成工程と、
前記セッションが確立された第一の通信機器または第二の通信機器との間で交換される仮想通信路を接続するための仮想通信路情報を受信した場合に、前記テーブル作成工程で作成されるネットワークアドレス変換テーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、送信先に中継する通信路情報中継工程と、
前記中継手段により仮想通信路情報が中継されて、前記仮想通信路で接続された第一の通信機器または第二の通信機器から送信されたパケットを受信した場合に、前記テーブル作成工程に作成されたネットワークアドレス変換テーブルに基づいて、受信したパケットのアドレス情報を変換して、送信先に中継するパケット中継工程と、
を含んだことを特徴とする通信制御方法。
A communication control method suitable for a communication control apparatus for establishing a session with each of a first communication device and a second communication device that interconnect different networks,
Based on the session information obtained from each communication device when establishing the session, a packet exchanged between the first communication device and the second communication device with which the session is established is set as a transmission destination. A table creation step for creating a network address translation table indicating address translation information for relay;
When the virtual communication path information for connecting the virtual communication path exchanged with the first communication device or the second communication device with which the session is established is received, the table is created in the table creation step. Based on the network address conversion table, the address information of the received virtual channel information is converted, and the channel information relay step for relaying to the destination,
Created in the table creation step when virtual communication path information is relayed by the relay means and a packet transmitted from the first communication device or the second communication device connected through the virtual communication path is received. A packet relay step of converting the address information of the received packet based on the network address conversion table and relaying it to the destination;
The communication control method characterized by including.
異なるネットワーク間を相互接続する第一の通信機器および第二の通信機器それぞれとセッションを確立する通信制御装置としてコンピュータに実行させる通信制御プログラムであって、
前記セッションを確立する際にそれぞれの通信機器から得られたセッション情報に基づいて、前記セッションが確立された第一の通信機器と第二の通信機器との間でやり取りされるパケットを送信先に中継するためのアドレス変換情報を示すネットワークアドレス変換テーブルを作成するテーブル作成手順と、
前記セッションが確立された第一の通信機器または第二の通信機器との間で交換される仮想通信路を接続するための仮想通信路情報を受信した場合に、前記テーブル作成手順で作成されるネットワークアドレス変換テーブルに基づいて、受信した仮想通信路情報のアドレス情報を変換して、送信先に中継する通信路情報中継手順と、
前記中継手段により仮想通信路情報が中継されて、前記仮想通信路で接続された第一の通信機器または第二の通信機器から送信されたパケットを受信した場合に、前記テーブル作成手順に作成されたネットワークアドレス変換テーブルに基づいて、受信したパケットのアドレス情報を変換して、送信先に中継するパケット中継手順と、
をコンピュータに実行させることを特徴とする通信制御プログラム。
A communication control program that causes a computer to execute a communication control device that establishes a session with each of a first communication device and a second communication device that interconnect different networks,
Based on the session information obtained from each communication device when establishing the session, a packet exchanged between the first communication device and the second communication device with which the session is established is set as a transmission destination. A table creation procedure for creating a network address translation table indicating address translation information for relaying;
When the virtual communication path information for connecting the virtual communication path exchanged with the first communication apparatus or the second communication apparatus with which the session is established is received, it is created by the table creation procedure. Based on the network address conversion table, the address information of the received virtual channel information is converted, and the channel information relay procedure for relaying to the destination,
Created in the table creation procedure when virtual communication path information is relayed by the relay means and a packet transmitted from the first communication device or the second communication device connected through the virtual communication path is received. A packet relay procedure for converting the address information of the received packet based on the network address conversion table and relaying it to the destination;
A communication control program for causing a computer to execute.
JP2008328437A 2008-12-24 2008-12-24 Communication controller, communication control method and communication control program Pending JP2010154097A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008328437A JP2010154097A (en) 2008-12-24 2008-12-24 Communication controller, communication control method and communication control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008328437A JP2010154097A (en) 2008-12-24 2008-12-24 Communication controller, communication control method and communication control program

Publications (1)

Publication Number Publication Date
JP2010154097A true JP2010154097A (en) 2010-07-08

Family

ID=42572687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008328437A Pending JP2010154097A (en) 2008-12-24 2008-12-24 Communication controller, communication control method and communication control program

Country Status (1)

Country Link
JP (1) JP2010154097A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027820A (en) * 2010-07-27 2012-02-09 Sharp Corp Content distribution system, home gateway and portable terminal
JP2016508272A (en) * 2013-01-15 2016-03-17 トヨタ自動車株式会社 Protocol conversion in smart grid communication
DE112016004546T5 (en) 2015-10-05 2018-06-21 Hitachi Automotive Systems, Ltd. Vehicle interface device
US10728213B2 (en) 2011-08-12 2020-07-28 Nec Corporation Communication system
JP2022058641A (en) * 2020-08-04 2022-04-12 パロ アルト ネットワークス,インコーポレイテッド Massive localization for cloud-based security service

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012027820A (en) * 2010-07-27 2012-02-09 Sharp Corp Content distribution system, home gateway and portable terminal
US10728213B2 (en) 2011-08-12 2020-07-28 Nec Corporation Communication system
JP2016508272A (en) * 2013-01-15 2016-03-17 トヨタ自動車株式会社 Protocol conversion in smart grid communication
DE112016004546T5 (en) 2015-10-05 2018-06-21 Hitachi Automotive Systems, Ltd. Vehicle interface device
US10615997B2 (en) 2015-10-05 2020-04-07 Hitachi Automotive Systems, Ltd. In-vehicle gateway device
JP2022058641A (en) * 2020-08-04 2022-04-12 パロ アルト ネットワークス,インコーポレイテッド Massive localization for cloud-based security service
JP7304983B2 (en) 2020-08-04 2023-07-07 パロ アルト ネットワークス,インコーポレイテッド Massive localization for cloud-based security services
US11888816B2 (en) 2020-08-04 2024-01-30 Palo Alto Networks, Inc. Localization at scale for a cloud-based security service

Similar Documents

Publication Publication Date Title
US8312532B2 (en) Connection supporting apparatus
JP4081724B1 (en) Client terminal, relay server, communication system, and communication method
JP5357873B2 (en) Method and apparatus for optimizing internet protocol multimedia bearer path through a series of perimeter gateways
JP4237754B2 (en) Personal remote firewall
JP4750761B2 (en) Connection control system, connection control method, connection control program, and relay device
CN108769292B (en) Message data processing method and device
JP2009111437A (en) Network system
JP2007189679A (en) Secure communication method and apparatus of ipv4/ipv6 integrated network system
JP2010154097A (en) Communication controller, communication control method and communication control program
CN110933197A (en) Distributed proxy network
JP2009230256A (en) Communication controller, communication control method and communication control program
JP2009010606A (en) Tunnel connection system, tunnel control server, tunnel connecting device, and tunnel connection method
JP4667473B2 (en) Data relay apparatus, data relay method, and data relay program
JP2010283762A (en) Communication route setting device, communication route setting method, program, and storage medium
JP4555311B2 (en) Tunnel communication system, control device, and tunnel communication device
JP5151197B2 (en) COMMUNICATION SYSTEM, PACKET TRANSFER PROCESSING DEVICE, AND COMMUNICATION SESSION CONTROL METHOD USED FOR THEM
JP5367386B2 (en) IP telephone terminal apparatus, VPN server apparatus, IP telephone server apparatus, and IP telephone system using them
US8379533B2 (en) Universal plug and play method and apparatus to provide remote access service
JP4401302B2 (en) Communication management system, communication management method, and communication management program
JP2006352710A (en) Packet repeating apparatus and program
JP2009260847A (en) Vpn connection method, and communication device
JP2010081109A (en) Communication system, management apparatus, relay equipment, and program
Duarte Coscia Evaluation of Network-Layer Security Technologies for Cloud Platforms
Bhupathiraju Security aspects in voice over IP systems
JP4789980B2 (en) Tunnel communication system and control device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110520