JP6096464B2 - Proxy device and relay device - Google Patents

Proxy device and relay device Download PDF

Info

Publication number
JP6096464B2
JP6096464B2 JP2012228935A JP2012228935A JP6096464B2 JP 6096464 B2 JP6096464 B2 JP 6096464B2 JP 2012228935 A JP2012228935 A JP 2012228935A JP 2012228935 A JP2012228935 A JP 2012228935A JP 6096464 B2 JP6096464 B2 JP 6096464B2
Authority
JP
Japan
Prior art keywords
session
server
wan
http
lan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012228935A
Other languages
Japanese (ja)
Other versions
JP2014082624A (en
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.)
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone West 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 West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2012228935A priority Critical patent/JP6096464B2/en
Publication of JP2014082624A publication Critical patent/JP2014082624A/en
Application granted granted Critical
Publication of JP6096464B2 publication Critical patent/JP6096464B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、プロキシ装置に関し、具体的には、複数の中継装置が上位の巨大中継装置に集約されている際における、プロキシ装置の機能を有する下位の中継装置に関する。   The present invention relates to a proxy device, and more particularly, to a lower-level relay device having a function of a proxy device when a plurality of relay devices are aggregated in a higher-order giant relay device.

IPv4のグローバルIPアドレスは枯渇状態にあり、中継装置が有する一つのグローバルIPアドレスを、複数の端末や装置で共有することが一般的になっている。グローバルIPアドレスに限らず、一つのIPアドレスを複数の装置や端末で共有する方法として、NAT(Network Address Translation)又はNAPT(Network Address Port Translation)(以下、まとめて「NAPT」と呼称する場合がある。)が用いられている。中継装置がNAPTを実行する際には、LAN(Local Area Network)側からWAN(Wide Area Network)側へのパケットを受信したときに、LAN側のどのアドレスから来たパケットをどのようにしてWAN側へ送出したかを記録するセッション管理テーブルを保持し、WAN側からパケットを受信した際には、そのパケット情報を元にLAN(Local Area Network)側のどのアドレスへ中継するかを判断する。NAPTとして一般的な5−tupleでは、WAN側から受信したパケットの「送信元IPアドレス」「送信元ポート番号」「宛先IPアドレス」「宛先ポート番号」「プロトコル」の5つの情報によって、LAN側のどのアドレスへ中継するかを判断する。   The global IP address of IPv4 is in a depleted state, and it is common for a plurality of terminals and devices to share one global IP address that the relay device has. As a method of sharing a single IP address not only with a global IP address but also with a plurality of devices and terminals, NAT (Network Address Translation) or NAPT (Network Address Port Translation) (hereinafter collectively referred to as “NAPT”). Is used). When the relay device executes NAPT, when a packet from the LAN (Local Area Network) side to the WAN (Wide Area Network) side is received, how the packet from which address on the LAN side is received is how the WAN A session management table that records whether the packet is sent to the network side is stored. When a packet is received from the WAN side, it is determined which address on the LAN (Local Area Network) side to relay based on the packet information. In general 5-tuple as NAPT, the LAN side uses the five information of “source IP address”, “source port number”, “destination IP address”, “destination port number”, and “protocol” of the packet received from the WAN side. To which address to relay.

一方、個々の利用者の端末に繋がり、自身は閉域網に存在する複数の中継装置が、インターネットにアクセスするにあたっては、インターネットとの間に設けられたインターネットゲートウェイとなる上位中継装置が通信を集約し、インターネット上のサーバ等とは、その上位中継装置のグローバルIPアドレスによって通信するケースがある。前記の閉域網がIPv6で構築された環境である場合に、SAM(Stateless Address Mapping)により、外部データベースなどを参照した変換ではなく、IPv4とIPv6との自動的なアドレス変換を行う。言い換えれば、この変換を行う上位中継装置(Provider−Stateless Address Mapping装置:P−SAM装置)の配下に接続された複数の中継装置は、この上位中継装置のグローバルIPアドレスを共有しており、全ての中継装置が同じIPアドレスを用いてインターネットとの通信を行うことになる。このため、それぞれの中継装置が、インターネット上にある同一のサーバに対して通信を行った場合、それらの通信がどの中継装置から発信されたものであるのか、それらの通信に対する応答をどの中継装置に対して転送すべきなのかを、上位中継装置が判断する材料は、ポート番号のみとなってしまう。   On the other hand, when a plurality of relay devices connected to individual user terminals and accessing the Internet by themselves are connected to the closed network, the higher-level relay device serving as an Internet gateway between the Internet aggregates communication. In some cases, communication with a server or the like on the Internet is performed using the global IP address of the higher-level relay device. When the closed network is an environment constructed with IPv6, automatic address translation between IPv4 and IPv6 is performed by SAM (Stateless Address Mapping) instead of translation referring to an external database. In other words, a plurality of relay devices connected under the higher level relay device (Provider-Stateless Address Mapping device: P-SAM device) that performs this conversion share the global IP address of this higher level relay device. The relay apparatus performs communication with the Internet using the same IP address. For this reason, when each relay device communicates with the same server on the Internet, which relay device originates the communication, and which relay device sends a response to the communication. Only the port number is used as a material for the higher-order relay device to determine whether or not the data should be transferred.

ここで、上記したIPv4の枯渇状態のため、インターネットに接続したいインターネットゲートウェイ装置(上位中継装置)の数に対して、十分なP−SAM用IPv4アドレスを用意することができず、インターネットゲートウェイ装置の数が限られることになる。この状況を簡略化した例を図12に示す。一台のインターネットゲートウェイ装置に、限界に近い数の中継装置が接続されて、それらが一つのグローバルIPアドレス(図ではGWIP「100.1.1.1」)を共有することになる。具体的には、一台のインターネットゲートウェイ装置(P−SAM11)を、1024台の中継装置で共有するのが、実用的な限界の構成となる。
この場合、中継装置(HGW)一台あたりに割り当てられるポート番号の枠は、65535のポート番号を1024台で割ることになる。さらに、実際にはWellknownportは用いることができないので、中継装置一台あたり60ポート程度しか利用できなくなる(例では10001〜10060)。仮に一台あたり60ポートとすると、端末(PC1,2)から要求を受けた一の中継装置(HGW1:192.168.1.2)が一のサーバ(200.1.1.1)に対して61セッション以上のTCP接続を行おうとした場合、61セッション目以降は破棄される。
Here, because of the above-described IPv4 exhaustion state, it is not possible to prepare a sufficient P-SAM IPv4 address for the number of Internet gateway devices (upper relay devices) to be connected to the Internet. The number will be limited. An example in which this situation is simplified is shown in FIG. A number of relay devices close to the limit are connected to one Internet gateway device, and they share one global IP address (GWIP “100.1.1.1” in the figure). Specifically, sharing a single Internet gateway device (P-SAM 11) with 1024 relay devices is a practical limit.
In this case, the port number frame assigned to one relay apparatus (HGW) is obtained by dividing 65535 port numbers by 1024. Furthermore, since the well-known port cannot actually be used, only about 60 ports can be used per relay device (10001 to 10060 in the example). Assuming 60 ports per unit, one relay device (HGW1: 192.168.1.2) that receives a request from the terminal (PC1, 2) is connected to one server (200.1.1.1). If a TCP connection for 61 sessions or more is attempted, the 61st session and thereafter are discarded.

そして、インターネット上でリッチコンテンツを提供する機会が増えた近年では、端末上のアプリケーションがインターネットから大量の情報を高速にダウンロードする目的で、一つのサーバに対して複数のセッションを張り、同時並行で通信を行うという実装が増えてきている。このため、インターネットゲートウェイの配下に多数の中継装置が接続される構成で、中継装置が(すなわち、それに繋がるさらに複数の端末が)インターネット上のサーバにアクセスしようとしても、インターネットゲートウェイ装置のポート番号の空きが足りなくなって、並行して要求したセッションの一部又は全部が確立できずに一部コンテンツが取得できず、情報が不十分となってしまうおそれがある。   In recent years, when the opportunity to provide rich contents on the Internet has increased, applications on the terminal have multiple sessions set up on one server for the purpose of downloading a large amount of information from the Internet at the same time. Implementations that communicate are increasing. Therefore, in a configuration in which a large number of relay devices are connected under the Internet gateway, even if the relay device tries to access a server on the Internet (that is, a plurality of terminals connected to the relay device), the port number of the Internet gateway device There is a possibility that a part of the session requested in parallel cannot be established due to a lack of vacancy, a part of content cannot be acquired, and information becomes insufficient.

これに対して、特許文献1には、複数のアプリケーションで、同じポート番号を共有する手法が提示されている。   On the other hand, Patent Document 1 presents a technique for sharing the same port number among a plurality of applications.

また、特許文献2には、端末が同一サーバへの要求を一つのセッションとしてまとめて送信することで、セッション資源を節約する手法が記載されている。また、端末とサーバとの間にProxyサーバを介在させる場合には、端末が複数サーバへの要求を一つのセッションとしてProxyサーバに送信し、Proxyサーバにて宛先サーバを振り分けて送信を行うことで、セッション資源を節約する手法が記載されている。   Patent Document 2 describes a technique for saving session resources by allowing terminals to transmit requests to the same server as a single session. In addition, when a proxy server is interposed between the terminal and the server, the terminal transmits a request to a plurality of servers as a session to the proxy server, and the proxy server distributes the destination server to perform transmission. A technique for saving session resources is described.

特開2010−154518号公報JP 2010-154518 A 特開2002−373149号公報JP 2002-373149 A

しかしながら、特許文献1に記載の手法は中継装置ではなく、中継装置に接続される端末やサーバにおいて、本来の実装から外れた処理を行わなければならず、一般化できる手法ではない。   However, the technique described in Patent Document 1 is not a relay apparatus, but a terminal or server connected to the relay apparatus must perform processing that is out of the original implementation, and is not a generalizable technique.

また、特許文献2に記載の手法も、端末側で複数の要求を同一セッションにまとめる処理を行わなければならず、中継装置よりもさらに膨大な数に上る端末に手を加えなければならないため、実用に用いるのは容易ではなかった。   In addition, the technique described in Patent Document 2 also has to perform processing for collecting a plurality of requests into the same session on the terminal side, and has to deal with an enormous number of terminals more than the relay device. It was not easy to use for practical use.

そこでこの発明は、端末側の対応が容易な手法で、インターネットゲートウェイ装置でのポート番号枠制限によるセッションの確立失敗を抑制することを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to suppress session establishment failure due to port number frame restriction in an Internet gateway device by a method that can be easily handled on the terminal side.

この発明は、端末とインターネットゲートウェイ装置との間の通信を中継するプロキシ装置において、
上記インターネットゲートウェイを経由するインターネット上の一のサーバとの間のセッション数を、一定数以下でありかつ、上記一のサーバを宛先とする端末側とのセッション数以下に限定し、
端末側から上記一のサーバへの通信要求を新たに受信した際には、上記一のサーバとの間のセッションのうちその時点で通信を行っていないセッションを利用して、上記一のサーバとの通信を行うことで、上記の課題を解決したのである。
The present invention relates to a proxy device that relays communication between a terminal and an Internet gateway device.
The number of sessions with one server on the Internet via the Internet gateway is limited to a certain number or less, and limited to the number of sessions with the terminal side destined for the one server,
When a communication request from the terminal side to the one server is newly received, a session that is not communicating at that time among the sessions with the one server is used to communicate with the one server. The above-mentioned problem has been solved by performing communication.

すなわち、サーバ側セッションと端末側セッションとを一対一対応させずに、それぞれを分離して扱い、端末側からの要求に応じて、空いているサーバ側へのセッションを適宜紐付け、応答が終わったらその紐付けを解消可能とする。ここで、単なる中継装置ではなくプロキシ装置であるのは、装置の端末側とサーバ側とでそれぞれセッションを別個に取り扱うためには、一旦この装置でセッションを終端させなければならないからである。プロキシ装置としてのHTTPサーバ及びHTTPクライアントとしての機能が、要求メッセージ及び応答メッセージを一旦終端して、メッセージを作成し直して端末とサーバとの間の通信を中継するので、必要に応じてそれらのセッションを使い分けて通信することができる。   In other words, the server-side session and the terminal-side session are not handled in a one-to-one correspondence, but are handled separately. In response to a request from the terminal, a free session to the server is appropriately linked, and the response ends. Once this is done, the association can be canceled. Here, the reason why the proxy device is not a simple relay device is that it is necessary to terminate the session once in this device in order to handle the session separately on the terminal side and the server side of the device. The function as the HTTP server and the HTTP client as the proxy device terminates the request message and the response message once, recreates the message, and relays the communication between the terminal and the server. You can communicate using different sessions.

例えば、HTTP1.1の通信ではKeep−Alive機能により、通信を行っていない間もTCPのセッションを張ったままにしている。しかし、このセッションは長時間維持されていても、実際には通信されていない時間帯が存在する。そこで、実際に送受信を必要とするセッションが、サーバ側とのセッション枠を一時的に利用し、通信が終わったら端末側のセッションは残しつつ、サーバ側のセッションは割り込み可能とすることで、サーバ側とのセッション枠を最大限に活用することが出来る。これにより、従来よりも少ないセッション枠で、サーバとのやり取りができるので、上位の中継装置であるインターネットゲートウェイ装置から、一台あたりのセッション枠(すなわち、ポート番号の割り当て数である)が限られている状況でも、割り当て枠が足りずに破棄されるセッションが生じることを抑制できる。   For example, in the HTTP 1.1 communication, a TCP session is kept open even when communication is not being performed by the Keep-Alive function. However, even if this session is maintained for a long time, there is a time zone in which communication is not actually performed. Therefore, a session that actually requires transmission / reception temporarily uses the session frame with the server side, and when communication is completed, the session on the server side can be interrupted while the session on the terminal side remains, so that the server side can be interrupted. You can make the most of the session frame with the side. As a result, since it is possible to communicate with the server with fewer session frames than before, the session frame (ie, the number of assigned port numbers) per unit is limited from the Internet gateway device, which is a higher-level relay device. Even in such a situation, it is possible to suppress the occurrence of a session that is discarded due to insufficient quota.

HTTPという観点では、トランスポート部分であるTCPレイヤの情報は特に区別する必要はない。そこで、HTTP通信を行っていないTCPのセッション上で、別のHTTP通信を行っても、HTTPの処理上は特に問題がないということを利用して本発明は成立する。また、HTTPに限らず、サーバ側と端末側とのそれぞれにセッションが存在し、それが継続的に張られる場合には、同様にそのセッションを必要に応じて繋ぎ変えることで、本発明の効果を得ることができる。   From the viewpoint of HTTP, it is not necessary to distinguish the information of the TCP layer that is a transport part. Therefore, the present invention is established by utilizing that there is no particular problem in HTTP processing even if another HTTP communication is performed on a TCP session in which HTTP communication is not performed. In addition, in the case where a session exists on each of the server side and the terminal side, not limited to HTTP, and the session is continuously extended, the effect of the present invention can be obtained by similarly switching the session as necessary. Can be obtained.

本発明にかかるプロキシ装置は、端末を配下に抱えるLANを、プロバイダ内ネットワークなどの閉域網と繋ぐ中継装置自体がその能力を持つものでもよいし、中継装置とは別に閉域網内に設けてあるものでもよい。また、上記のプロキシ装置の機能を、端末がローカルプロキシソフトウェアとして、パソコンなどの個人用端末上に実装する場合には、端末がIPv6のアドレスを有してIPv6で通信するにあたり、内部的に利用可能なポート(例えば10001〜10060)に変換する内部NAPTとして実装することになる。   In the proxy device according to the present invention, the relay device itself that connects the LAN that holds the terminal to the closed network such as the network in the provider may have the capability, or is provided in the closed network separately from the relay device. It may be a thing. When the terminal implements the function of the proxy device as a local proxy software on a personal terminal such as a personal computer, it is used internally when the terminal has an IPv6 address and communicates with IPv6. It will be implemented as an internal NAPT that converts to a possible port (for example, 10001 to 10060).

ここでプロキシ装置、或いは中継装置が、同一の宛先IPアドレスに対して張ることが出来るセッションの数(すなわちポート番号の数)は、インターネットゲートウェイ装置が抱えるプロキシ装置や中継装置の数によって限定されるものであり、各プロキシ装置(中継装置)は、その限定された数の範囲で、一のサーバとのセッションを構築する。その一のサーバを宛先とする端末側のセッション数は、サーバ側のセッション数と同数又はそれ以上となり、より多数である端末側のセッションが、より少数であるサーバ側のセッションを共有することになる。ただし、端末側のセッションが減少したら、それを超える数のサーバ側のセッションを維持する必要はないので、サーバ側のセッションも適宜整理してよい。   Here, the number of sessions (that is, the number of port numbers) that the proxy device or the relay device can establish for the same destination IP address is limited by the number of proxy devices or relay devices held by the Internet gateway device. Each proxy device (relay device) establishes a session with one server within the limited number of ranges. The number of sessions on the terminal side destined for the one server is the same as or more than the number of sessions on the server side, and a larger number of terminal-side sessions share a smaller number of server-side sessions. Become. However, if the number of terminal-side sessions decreases, it is not necessary to maintain more server-side sessions, so the server-side sessions may be arranged as appropriate.

この発明により、インターネットゲートウェイのIPアドレスを多数の端末や中継装置が共有する場合に、端末や中継装置一つあたりに割り当てられる限られた数のポート番号を、従来よりも効率よく運用することができ、インターネット上のサーバに対してセッションが張れなくなる障害の発生頻度を抑制することができる。   According to the present invention, when a large number of terminals and relay devices share the IP address of the Internet gateway, a limited number of port numbers assigned to each terminal or relay device can be operated more efficiently than before. It is possible to suppress the occurrence frequency of a failure that prevents a session from being established for a server on the Internet.

また、プロキシ装置が作業のほとんどを担うため、端末側での設定変更は必要ないか、必要だったとしても、プロキシ装置を指定する作業程度で済むため、個々の端末の利用者にかかる負荷は小さく、容易に導入することができる。   In addition, since the proxy device is responsible for most of the work, there is no need to change the settings on the terminal side, or even if it is necessary, only the work of specifying the proxy device is required. Small and easy to install.

LANとWANとの間に設ける中継装置と兼用するだけでなく、閉域網上に独立して設けたプロキシ装置として、端末や中継装置からのアクセスを中継するプロキシとして動作させることもできる。この場合は、特に多数のセッションを張る傾向にある利用者が、適宜端末の設定を書き換えて、そのプロキシ装置を経由するようにすることで、必要な箇所に最小限の作業で導入することができる。   In addition to serving as a relay device provided between the LAN and the WAN, the proxy device can be operated as a proxy device that relays access from a terminal or a relay device as a proxy device provided independently on a closed network. In this case, a user who tends to have a large number of sessions can rewrite the terminal settings as appropriate and use the proxy device to introduce it to the necessary parts with minimal work. it can.

この発明にかかるプロキシ装置の基本的な運用の概念図Conceptual diagram of basic operation of proxy device according to the present invention この発明の運用形態例を示す概念図Conceptual diagram showing an example of operation of the present invention この発明にかかるプロキシ装置の機能ブロック図Functional block diagram of the proxy device according to the present invention (a)(b)図3のプロキシ装置で用いる応答管理テーブルの例図(A) (b) Example of a response management table used in the proxy device of FIG. 図3のプロキシ装置で用いるセッション管理テーブルの例図FIG. 3 is an example of a session management table used in the proxy device of FIG. HTTP要求メッセージの送受信フローHTTP request message transmission / reception flow 図6におけるセッション終端部選択部分のフローFlow of session termination part selection part in FIG. 図6におけるセッション管理テーブルの更新部分のフローFlow of update part of session management table in FIG. HTTP応答メッセージの送受信フローTransmission / reception flow of HTTP response message LAN側からのセッション削除手段実行フローSession deletion means execution flow from LAN side WAN側からのセッション削除手段実行フローSession deletion means execution flow from WAN side 従来のインターネットゲートウェイ利用時における問題点の概念図Conceptual diagram of problems when using a conventional Internet gateway

以下、この発明にかかるプロキシ装置の実施形態について詳細に説明する。まず、この発明にかかるプロキシ装置の基本的な運用の概念を、図1を用いて説明する。この実施形態にかかるプロキシ装置13は、サーバ11と端末14との間に設けられ、図では省略されているが、プロキシ装置13とサーバ11との間にはインターネットゲートウェイ12が存在している。端末14と繋がる方がLAN側、サーバ11と繋がる側がWAN側である。プロキシ装置13の左右に繋がるパイプはそれぞれを繋ぐセッションを表したものである。   Hereinafter, embodiments of the proxy device according to the present invention will be described in detail. First, the concept of basic operation of the proxy device according to the present invention will be described with reference to FIG. The proxy device 13 according to this embodiment is provided between the server 11 and the terminal 14 and is omitted in the drawing, but an Internet gateway 12 exists between the proxy device 13 and the server 11. The side connected to the terminal 14 is the LAN side, and the side connected to the server 11 is the WAN side. The pipes connected to the left and right of the proxy device 13 represent sessions that connect the two.

まず、端末14から発せられた要求メッセージを、LAN側のセッションから受信する(図1(a))。プロキシ装置13は、要求メッセージを受信したLAN側セッションと、無通信状態のWAN側セッションとを括り付け、そのWAN側セッションから要求メッセージを送信する(図1(b))。プロキシ装置13は、前記のWAN側セッションから応答メッセージを受け取ると、それを、当該WAN側セッションに括り付けられたLAN側セッションから送信する(図1(c))。応答メッセージを送信した後は、プロキシ装置13はLAN側セッションとWAN側セッションとの括り付けを解除する(図1(d))。これで元の状態に戻り、次に端末14から別のLAN側セッションを通じて要求メッセージを受信した場合には、先に用いたWAN側セッションを利用して要求メッセージと応答メッセージを送受信する。   First, a request message issued from the terminal 14 is received from the session on the LAN side (FIG. 1A). The proxy device 13 associates the LAN side session that has received the request message with the WAN side session in the non-communication state, and transmits the request message from the WAN side session (FIG. 1B). Upon receiving the response message from the WAN side session, the proxy device 13 transmits it from the LAN side session attached to the WAN side session (FIG. 1C). After transmitting the response message, the proxy device 13 releases the binding between the LAN side session and the WAN side session (FIG. 1D). When the request message is received from the terminal 14 through another LAN side session, the request message and the response message are transmitted / received using the previously used WAN side session.

次に、この発明にかかるプロキシ装置の実施形態例を挙げて説明する。その実施形態例を図2(a)に示す。プロキシ装置13(No.1〜1024)は、端末14(No.1,2……)を抱えるローカルエリアネットワーク(図中「LAN」と略記する。)3と、閉域網2との間のゲートウェイを兼ねた中継装置であり、閉域網2とインターネット1との間にはインターネットゲートウェイ(図中、「P−SAM」と略記する。)12が設けてある。端末14は、プロキシ装置13とインターネットゲートウェイ12を通じて、インターネット1上のサーバ11へアクセスする。   Next, an example embodiment of the proxy device according to the present invention will be described. An example of such an embodiment is shown in FIG. The proxy device 13 (No. 1 to 1024) is a gateway between the local area network (abbreviated as “LAN” in the figure) 3 holding the terminal 14 (No. 1, 2,...) 3 and the closed network 2. An internet gateway (abbreviated as “P-SAM” in the figure) 12 is provided between the closed network 2 and the Internet 1. The terminal 14 accesses the server 11 on the Internet 1 through the proxy device 13 and the Internet gateway 12.

端末14とは、パソコンやスマートフォン、その他の、ネットワーク機能を有する端末であり、ブラウザなどにより多数のセッションを張りうるものである。   The terminal 14 is a personal computer, a smart phone, or another terminal having a network function, and can establish a number of sessions with a browser or the like.

プロキシ装置13とは、プロキシサーバとしての機能を備えた装置であり、Ethernet(登録商標)端子のような物理的なネットワークインターフェースを少なくとも一つ有する。ネットワーク上にてそのアドレスを指定されて動作する独立したプロキシ装置でもよいし、ローカルエリアネットワーク3を抱えるゲートウェイとなる中継装置がプロキシサーバとしても動作する兼用の装置であってもよい。後者の場合、具体的には例えばルータとして機能するホームゲートウェイなどが挙げられ、LAN(ローカルエリアネットワーク3)側と、WAN側(インターネットゲートウェイ12に通じるネットワーク側)との両方に対して通信可能な物理的なネットワークインターフェースをそれぞれ一つ以上有する。   The proxy device 13 is a device having a function as a proxy server, and has at least one physical network interface such as an Ethernet (registered trademark) terminal. An independent proxy device that operates by specifying its address on the network may be used, or a relay device that serves as a gateway having the local area network 3 may be a dual-purpose device that also operates as a proxy server. In the latter case, specifically, for example, a home gateway functioning as a router is mentioned, and communication is possible both on the LAN (local area network 3) side and on the WAN side (network side leading to the Internet gateway 12). Each has one or more physical network interfaces.

プロキシとしては、セッションを一旦終端させる一般のプロキシでもよいし、セッションを終端させない透過型プロキシでもよい。一般的なプロキシの場合は、端末14からの要求メッセージは一旦プロキシ装置13宛に送信されるように設定され、プロキシ装置13で一旦セッションが終端する。プロキシ装置13はその要求メッセージを解析して、端末14が通信しようとするサーバ11への要求メッセージを作成しなおしてサーバ11へ送信する。また、その要求メッセージに対するサーバ11からの応答メッセージを送信するセッションを一旦終端して、端末14への要求メッセージを作成し直して送信することとなる。プロキシ装置13の端末側のセッションとサーバ側のセッションとは独立しており、それぞれを分離して扱うことができ、必要に応じたサーバ側セッションへの割り当てが可能となる。この一般的なプロキシの場合は、プロキシ装置13はLANとWANとの間の中継装置であってもよいし、中継装置とは別の装置であって、インターネットゲートウェイ12までのWAN内に設けられた装置であってもよい。   The proxy may be a general proxy that terminates a session once, or a transparent proxy that does not terminate a session. In the case of a general proxy, the request message from the terminal 14 is set to be transmitted to the proxy device 13 once, and the session is once terminated at the proxy device 13. The proxy device 13 analyzes the request message, creates a request message for the server 11 with which the terminal 14 is to communicate, and transmits the request message to the server 11. Further, the session for transmitting the response message from the server 11 to the request message is once terminated, and the request message to the terminal 14 is recreated and transmitted. The terminal-side session and the server-side session of the proxy device 13 are independent and can be handled separately, and can be assigned to the server-side session as necessary. In the case of this general proxy, the proxy device 13 may be a relay device between the LAN and the WAN, or may be a device different from the relay device and provided in the WAN up to the Internet gateway 12. It may be a device.

一方、透過型プロキシの場合は、端末14においてはプロキシ装置13を宛先としては認識せず、サーバ11を直接に宛先として指定して運用される。この場合、プロキシ装置13は端末14からインターネットへ送られる通信を全て中継するLANとWANとの間の中継装置として設けられる。端末14がサーバ11宛に送信した要求メッセージについて、プロキシ装置13が強制的にセッションを終端させ、サーバ11に対して別途セッションを構築することで、端末側のセッションとサーバ側のセッションとを強制的に分離して扱うことで、必要に応じたサーバ側セッションへの割り当てが可能となる。ただし、端末14側のセッションを維持するにあたっては、端末14に対して、サーバ11との間で直接セッションが構築されているように動作する必要がある。   On the other hand, in the case of a transparent proxy, the terminal 14 does not recognize the proxy device 13 as a destination, but operates by specifying the server 11 directly as a destination. In this case, the proxy device 13 is provided as a relay device between the LAN and the WAN that relays all communications sent from the terminal 14 to the Internet. For the request message sent from the terminal 14 to the server 11, the proxy device 13 forcibly terminates the session and constructs a separate session for the server 11, thereby forcing a terminal-side session and a server-side session. Can be allocated to server-side sessions as needed. However, in maintaining the session on the terminal 14 side, it is necessary to operate so that a session is directly established with the server 11 with respect to the terminal 14.

インターネットゲートウェイ12とは、NAT(NAPT)機能を有する上位の中継装置であり、閉域網2からインターネット1への通信を全て中継するゲートウェイである。従って、ここにはプロキシ装置13などの配下に接続しうるHGWを初めとした中継装置全て、ひいてはそれに繋がる端末14からインターネットへ繋がる通信の全てが集中する。   The Internet gateway 12 is a higher-level relay device having a NAT (NAPT) function, and is a gateway that relays all communications from the closed network 2 to the Internet 1. Therefore, all the relay devices such as the HGW that can be connected to the subordinate of the proxy device 13 and the like, and all the communication from the terminal 14 connected to the Internet to the Internet are concentrated here.

サーバ11とは、インターネット1において要求に対してコンテンツを提供するものであり、例えばWEBサーバが挙げられる。   The server 11 provides content in response to a request on the Internet 1 and includes, for example, a WEB server.

インターネットゲートウェイ12に繋がるプロキシ装置13は1024台設置され、それぞれをNo.1〜1024とする。プロキシ装置13No.1のLAN3を構成する端末14のNo.1及び2……から要求をうけたこの発明にかかるプロキシ装置13は、10001から始まり、合計で60を超える数のセッションをサーバ11に対して構築しようとしたときに、61セッション目以降は既存の1〜60のセッションの中から、通信を行っていないセッションを適当に選択して通信を行う。図2(b)では、61番目のセッションを、サーバとの間の2番目のセッションを用いて送信し、62番目のセッションを、サーバとの間の60番目のセッションを用いて送信している。このとき、それぞれのセッションが、プロキシ装置13、インターネットゲートウェイ(P−SAM)12、サーバ11のそれぞれを、指定しているかを図2(c)に示す。閉域網2に対するプロキシ装置13のIPは192.168.1.2で、そこからインターネットゲートウェイ12を通じて、サーバ11に対して、ポート番号10001〜10060を送信元ポート番号とし、100.1.1.1を送信元IPアドレスとし、サーバ11のIPアドレスを宛先IPアドレス、HTTPのデフォルトである80番を宛先ポート番号としている。直接にサーバ11とセッションを張るインターネットゲートウェイ12は、プロキシ装置13からのセッションを中継し、自身のインターネット1におけるIPアドレス100.1.1.1を送信元IPアドレスとし、10001〜10060の番号でサーバ11に対してセッションを構築している。すなわち、プロキシ装置13は端末14との間で、サーバ11に対するセッションを61以上有しているが、インターネットゲートウェイ12とサーバ11との間で、プロキシ装置13に割り当てられたセッション数は60個のままで、それぞれのセッションを続けている。さらに端末14からサーバ11に対してセッションが張られたとしても、プロキシ装置13は、そのとき使っていないセッションをポート番号10001〜10060の間から探して、見つかればそのセッションを利用して通信するので、インターネットゲートウェイ12としては、予め割り当てられた枠内でのセッションのみを受け付けて処理する。すなわち、この発明においては、プロキシ装置13のみがこの発明に特有の機能を動作させればよく、端末14とインターネットゲートウェイ12とサーバ11は従来通りの動作でよい。   1024 proxy devices 13 connected to the Internet gateway 12 are installed. 1 to 1024. Proxy device 13No. No. 1 of the terminal 14 constituting the LAN 3 of No. 1 The proxy device 13 according to the present invention that has received the requests from 1 and 2... Starts from 10001, and when trying to construct a total of more than 60 sessions for the server 11, the 61st and subsequent sessions are existing. Communication is performed by appropriately selecting a session that is not performing communication from 1 to 60 sessions. In FIG.2 (b), the 61st session is transmitted using the 2nd session between servers, and the 62nd session is transmitted using the 60th session between servers. . FIG. 2C shows whether each session designates the proxy device 13, the Internet gateway (P-SAM) 12, and the server 11 at this time. The IP of the proxy device 13 for the closed network 2 is 192.168.1.2, and from there through the Internet gateway 12, the port numbers 10001 to 10060 are set as the source port numbers to the server 11, and 100.1.1. 1 is the source IP address, the IP address of the server 11 is the destination IP address, and the default port number of HTTP is the destination port number. The Internet gateway 12 that directly establishes a session with the server 11 relays the session from the proxy device 13, uses the IP address 100.1.1.1 in its own Internet 1 as the source IP address, and numbers 10001 to 10060. A session is established for the server 11. That is, the proxy device 13 has 61 or more sessions with the server 11 with the terminal 14, but the number of sessions assigned to the proxy device 13 between the Internet gateway 12 and the server 11 is 60. Continue with each session. Further, even if a session is established from the terminal 14 to the server 11, the proxy device 13 searches for a session that is not used at that time from the port numbers 10001 to 10060, and if found, communicates using the session. Therefore, the Internet gateway 12 accepts and processes only sessions within a pre-assigned frame. That is, in the present invention, only the proxy device 13 needs to operate a function specific to the present invention, and the terminal 14, the Internet gateway 12, and the server 11 may operate in the conventional manner.

このプロキシ装置13と、端末14(No.1,No.2……を14a、14b……とする。)及びサーバ11(11a,11b)との間の機能ブロック図を図3に示し、その機能を説明する。ここでは、端末14に通じるLAN3を抱える中継装置でもあるプロキシ装置13が、透過型ではない、一般的なプロキシサーバとしても動作する例を示す。   FIG. 3 shows a functional block diagram between the proxy device 13 and the terminals 14 (No. 1, No. 2... 14a, 14b...) And the server 11 (11a, 11b). Explain the function. Here, an example is shown in which the proxy device 13 that is also a relay device having the LAN 3 that communicates with the terminal 14 operates as a general proxy server that is not a transparent type.

プロキシ装置13は、プロキシとしての基本機能として、受信したTCPストリームからHTTPメッセージを取り出し、また、応答メッセージを送信するHTTPサーバ部62と、その取り出されたHTTPメッセージを、適切なIPヘッダを付与して送信し、またその応答を受信するHTTPクライアント部67とを有する。これらの機能部が果たす役割は、通常のプロキシサーバが果たすソフトウェア処理と同じである。すなわち、HTTPサーバ部62は取り出したHTTPメッセージから、当該要求メッセージの真の宛先であるサーバ名を求める。このサーバ名がIPv4やIPv6のアドレスではなくドメイン名で記載されている場合は、HTTPクライアント部67がDNSサーバに対して名前の解決を要求し、サーバ11のアドレスを求めた上で、そのサーバ11のアドレスをIPヘッダの宛先に割り当てて送信することになる。最初からHTTPメッセージ内にIPv4やIPv6のアドレスで指定されている場合はそのままそのアドレスをIPヘッダの宛先に割り当てるが、そのような場合は少ない。なお、必要に応じてヘッダだけでなくHTTPメッセージの内容を書き換えてもよい。こうして指定されたIPヘッダの宛先を見て、中継管理部63がセッションを張る先のサーバ11を決定する。また、サーバ11からの要求メッセージに対しては、HTTPクライアント部67がそれを受信して一旦セッションを終端し、HTTPサーバ部62が元々の要求元であった端末14宛のメッセージを作成して送信する。   As a basic function as a proxy, the proxy device 13 extracts an HTTP message from the received TCP stream, adds an HTTP server unit 62 that transmits a response message, and an appropriate IP header to the extracted HTTP message. And an HTTP client unit 67 for receiving the response. The roles played by these functional units are the same as the software processing performed by a normal proxy server. That is, the HTTP server unit 62 obtains the server name that is the true destination of the request message from the extracted HTTP message. When this server name is described not by an IPv4 or IPv6 address but by a domain name, the HTTP client unit 67 requests the DNS server to resolve the name, obtains the address of the server 11, and then sends the server name. 11 addresses are assigned to the destination of the IP header and transmitted. If an IPv4 or IPv6 address is specified in the HTTP message from the beginning, that address is assigned as it is to the destination of the IP header, but in such cases there are few. Note that the contents of the HTTP message as well as the header may be rewritten as necessary. By looking at the destination of the IP header thus designated, the relay management unit 63 determines the server 11 to which the session is established. In response to a request message from the server 11, the HTTP client unit 67 receives the request message and once terminates the session, and the HTTP server unit 62 creates a message addressed to the terminal 14 that was the original request source. Send.

端末14は、HTTP要求メッセージを送信するHTTPクライアント部52を有しており、サーバ11は、HTTP要求メッセージに対する応答を返すHTTPサーバ部72を有している。   The terminal 14 includes an HTTP client unit 52 that transmits an HTTP request message, and the server 11 includes an HTTP server unit 72 that returns a response to the HTTP request message.

また、端末14、プロキシ装置13、サーバ11は、それぞれとの間で構築するセッションの数だけ、セッション終端部を有する。端末14の端末側セッション終端部51a,b……はプロキシ装置13のLAN側セッション終端部61a、b……とセッションを構築しており、プロキシ装置13のWAN側セッション終端部66は、サーバ11のサーバ側セッション終端部71a,b……とセッションを構築している。これらのセッション終端部とは、具体的な例を挙げればTCPのソケットに相当し、自身と宛先のIPアドレス及びポート番号を有し、ネットワーク層での送受信を行う。   Further, the terminal 14, the proxy device 13, and the server 11 have session termination units as many as the number of sessions established between them. The terminal-side session termination units 51a, b... Of the terminal 14 establish a session with the LAN-side session termination units 61a, b... Of the proxy device 13, and the WAN-side session termination units 66 of the proxy device 13 Are established with the server-side session termination units 71a, b. These session termination units correspond to TCP sockets in a specific example, and have their own IP address and port number, and perform transmission and reception at the network layer.

さらにプロキシ装置13は、この発明にかかる特徴として、応答管理テーブル64と、セッション管理テーブル65とを有し、これらのテーブルの中身を書き換え、参照し、指定された宛先への送受信の指示とを行う中継管理部63を有する。実質的には、中継管理部63により、どのセッションを割り当てて使用するかが指定されることとなる。   Further, as a feature of the present invention, the proxy device 13 has a response management table 64 and a session management table 65. The contents of these tables are rewritten and referred to, and an instruction for transmission / reception to a designated destination is given. A relay management unit 63 is provided. In effect, the relay management unit 63 designates which session is allocated and used.

応答管理テーブル64は、いずれかのWAN側セッション終端部66(すなわち、サーバ側セッション終端部71)から受信した応答メッセージを、どのLAN側セッション終端部61(すなわち、端末側セッション終端部51)へ送信するかを管理しているテーブルである。図3の構成における、応答管理テーブル64のある時点における例を図4(a)に、また、LAN側が別の端末14からの要求によって書き換えられた別の時点における例を図4(b)に示す。このテーブルの主キーはWAN側の、サーバ及びクライアントのIPアドレス及びポート番号からなるセッション情報であり、LAN側のセッションは必要に応じて書き換え可能となっている。   The response management table 64 sends the response message received from any one of the WAN side session termination units 66 (that is, the server side session termination unit 71) to which LAN side session termination unit 61 (that is, the terminal side session termination unit 51). It is a table that manages whether to transmit. In the configuration of FIG. 3, an example at a certain point in the response management table 64 is shown in FIG. 4A, and an example at another point in time when the LAN side is rewritten by a request from another terminal 14 is shown in FIG. Show. The primary key of this table is session information including the IP address and port number of the server and client on the WAN side, and the LAN side session can be rewritten as necessary.

応答管理テーブル64のそれぞれの項目は次の意味を有する。
WAN側サーバIPアドレスはサーバ側セッション終端部71のバインドされているIPアドレス(すなわち、サーバ11のIPアドレス)である。
WAN側サーバポート番号はサーバ側セッション終端部71のバインドされているポート番号(HTTPの場合、大抵は80番)である。
WAN側クライアントIPアドレスはWAN側セッション終端部66のバインドされているIPアドレス(すなわち、プロキシ装置13のWAN側IPアドレス)である。
WAN側クライアントポート番号はWAN側セッション終端部66のバインドされているポート番号であり、この番号は不定である。
ただし、クライアントポート番号を除く3つの項目が全て一致するレコードの数は、最大でも、インターネットゲートウェイ12によってプロキシ装置13に割り当てられたポートの数以下である。もちろん、異なるIPアドレスを有するサーバ11(例えば150.1.1.1のサーバ11b)を宛先とするレコードについては、また別個に割り当てられたポートの数だけ存在してよい。ただし、サーバ11側から見たセッションは、間にインターネットゲートウェイ12が入るため、宛先IPアドレスはインターネットゲートウェイ12のそれであり、ポート番号はインターネットゲートウェイ12のNAPT機能によって変換されたものとなる。
Each item of the response management table 64 has the following meaning.
The WAN-side server IP address is an IP address to which the server-side session termination unit 71 is bound (that is, the IP address of the server 11).
The WAN-side server port number is the port number to which the server-side session termination unit 71 is bound (in the case of HTTP, the number is usually 80).
The WAN side client IP address is the IP address to which the WAN side session termination unit 66 is bound (that is, the WAN side IP address of the proxy device 13).
The WAN-side client port number is a port number to which the WAN-side session termination unit 66 is bound, and this number is indefinite.
However, the number of records in which all three items except the client port number match is at most equal to or less than the number of ports assigned to the proxy device 13 by the Internet gateway 12. Of course, for a record destined for the server 11 having a different IP address (for example, the server 11b of 150.1.1.1), there may exist as many as the number of ports allocated separately. However, since the Internet gateway 12 is inserted between the sessions viewed from the server 11 side, the destination IP address is that of the Internet gateway 12, and the port number is converted by the NAPT function of the Internet gateway 12.

一方、LAN側サーバIPアドレスはLAN側セッション終端部61のバインドされているIPアドレス(すなわち、プロキシ装置13のLAN側IPアドレス)である。
LAN側サーバポート番号はLAN側セッション終端部61のバインドされているポート番号(Proxyの待受けポートとして設定されたものであり、8080などが一般的)である。
LAN側クライアントIPアドレスは端末側セッション終端部51のバインドされているIPアドレス(すなわち、端末14のIPアドレス)である。
LAN側クライアントポート番号は端末側セッション終端部51のバインドされているポート番号であり、このポート番号は1〜65535の中で個数制限は特にない。
On the other hand, the LAN side server IP address is the IP address to which the LAN side session termination unit 61 is bound (that is, the LAN side IP address of the proxy device 13).
The LAN-side server port number is a port number to which the LAN-side session termination unit 61 is bound (set as a proxy standby port, typically 8080).
The LAN side client IP address is the IP address to which the terminal side session termination unit 51 is bound (that is, the IP address of the terminal 14).
The LAN-side client port number is a port number to which the terminal-side session termination unit 51 is bound, and this port number is not particularly limited in number from 1 to 65535.

中継管理部63は、WAN側のHTTPセッション(WAN側セッション終端部66−サーバ側セッション終端部71)を構築するWAN側セッション確立手段の実行とともに、応答管理テーブル64に対して新たにエントリを生成するエントリ生成手段を実行する。その実行にあたっては、WAN側サーバの情報を、LAN側セッション終端部61の受信したHTTP要求メッセージのヘッダ部である要求HTTPヘッダから取得する。このとき応答管理テーブル64に登録するエントリの主キーが決定される。一方、当該エントリの主キーではないLAN側の情報として、そのWAN側のHTTPセッションに対応するLAN側のHTTPセッションの情報を登録する。ただし、LAN側の情報は後述するエントリ空白化手段によりあとでクリアされる。   The relay management unit 63 creates a new entry in the response management table 64 along with the execution of the WAN side session establishment means for constructing the WAN side HTTP session (WAN side session termination unit 66-server side session termination unit 71). The entry generation means to execute is executed. In the execution, information on the WAN side server is acquired from a request HTTP header which is a header part of the HTTP request message received by the LAN side session termination unit 61. At this time, the primary key of the entry registered in the response management table 64 is determined. On the other hand, as information on the LAN side that is not the primary key of the entry, information on the HTTP session on the LAN side corresponding to the HTTP session on the WAN side is registered. However, the information on the LAN side is later cleared by entry blanking means described later.

さらに、中継管理部63は、LAN側セッション終端部61が受信したHTTP要求メッセージについて、HTTPクライアント部67によりペイロードが書き換えられたHTTPメッセージ中で指定されるサーバ11へ、WAN側セッション終端部66から送信させる要求メッセージ中継手段を実行する。その送信の際、中継管理部63は、新たなWAN側のHTTPセッションを構築せずに、無通信状態にある既存のセッションを用いて送信する場合には、そのセッションに対応する応答管理テーブル64の既に生成されてWAN側の情報が記入されたエントリにLAN側の情報を記入するエントリ記入手段を実行する。その実行にあたっては、LAN側クライアントの情報を、LAN側セッション終端部61の受信したパケットの送信元IPアドレスと送信元ポート番号から取得する。   Further, the relay management unit 63 transfers the HTTP request message received by the LAN side session termination unit 61 from the WAN side session termination unit 66 to the server 11 specified in the HTTP message whose payload is rewritten by the HTTP client unit 67. A request message relay means to be transmitted is executed. At the time of transmission, when the relay management unit 63 does not establish a new WAN-side HTTP session and transmits using an existing session in a non-communication state, the response management table 64 corresponding to the session. The entry entry means for entering the LAN side information into the entry in which the WAN side information is already created is executed. In the execution, information on the LAN side client is acquired from the source IP address and source port number of the packet received by the LAN side session termination unit 61.

さらにまた、HTTPクライアント部67は、サーバ11へ送った要求メッセージに対するサーバ11からプロキシ装置13宛の応答メッセージを中継管理部63から受け取り、HTTPヘッダを解析して、自身が送った要求に対する応答であるかを確認する。また、さらに必要に応じてパケットの中身を解析する。またこのとき、中継管理部63がその直前にTCPレベルまで解析して検索した、当該応答メッセージの宛先であるLAN側セッション終端部61の情報も受け取る。HTTPサーバ部62は、この応答メッセージの内容を取り出し、大元の要求メッセージの送信元である端末14を宛先にしてヘッダに付与した応答メッセージを作成する応答メッセージを作成し、中継管理部63から指定されたLAN側セッション終端部61から端末側セッション終端部51へ送信させる応答メッセージ中継手段を実行する。   Furthermore, the HTTP client unit 67 receives a response message addressed to the proxy device 13 from the server 11 to the request message sent to the server 11 from the relay management unit 63, analyzes the HTTP header, and responds to the request sent by itself. Check if it exists. Further, the contents of the packet are analyzed as necessary. At this time, the relay management unit 63 also receives information on the LAN-side session termination unit 61 that is the destination of the response message that has been analyzed and searched up to the TCP level immediately before. The HTTP server unit 62 extracts the content of the response message, creates a response message that creates a response message attached to the header with the terminal 14 that is the transmission source of the original request message as a destination, and transmits the response message from the relay management unit 63. Response message relay means for transmitting from the designated LAN side session termination unit 61 to the terminal side session termination unit 51 is executed.

なお、図示しないが、上記の一連の応答メッセージ中継手段を実行する際に、HTTPクライアント部67がHTTPヘッダを解析して、パケットの変更が必要である場合は、変更を行う。その後中継管理部63にHTTPパケットを送る。これを受け取った中継管理部63は、HTTPパケットをペイロードとして、TCP以下のヘッダを印加した上で、それ以降の動作は上記と同様にLAN側セッション終端部61からパケットを送信する。   Although not shown, when executing the above series of response message relay means, the HTTP client unit 67 analyzes the HTTP header, and changes the packet if necessary. Thereafter, an HTTP packet is sent to the relay management unit 63. Upon receiving this, the relay management unit 63 uses the HTTP packet as a payload, applies a header below TCP, and thereafter transmits the packet from the LAN side session termination unit 61 in the same manner as described above.

また、これら一連の要求及び応答メッセージのやりとりにおいて、HTTPセッションを司るのは、WAN側においてはHTTPクライアント部67であり、LAN側においてはHTTPサーバ部62である。また、TCPセッションを司るのは中継管理部63であり、WAN側セッション終端部66とLAN側セッション終端部61で終端する。なお、この発明においてHTTPセッションと記載せずに単にセッションという場合には、基本的にはTCPセッションを指す。   Further, in the exchange of these series of request and response messages, the HTTP client unit 67 is responsible for the HTTP session, and the HTTP server unit 62 is responsible for the LAN side. The relay management unit 63 controls the TCP session, and terminates at the WAN side session termination unit 66 and the LAN side session termination unit 61. In the present invention, the term “session” instead of “HTTP session” basically refers to a TCP session.

その送信の後、中継管理部63は、応答管理テーブル64における、当該エントリのLAN側の情報のみを削除するエントリ空白化手段を実行する。そのため、LAN側サーバIPアドレス、LAN側サーバポート番号、LAN側クライアントIPアドレス、LAN側クライアントポート番号の4項目は空白の場合もある。   After the transmission, the relay management unit 63 executes entry blanking means for deleting only information on the LAN side of the entry in the response management table 64. Therefore, the four items of the LAN side server IP address, the LAN side server port number, the LAN side client IP address, and the LAN side client port number may be blank.

さらにまた、中継管理部63は、後述するセッション整理手段により当該WAN側のHTTPセッションを切断する時に、併せて、当該セッションに対応するエントリを応答管理テーブル64から削除するエントリ削除手段を実行する。   Furthermore, the relay management unit 63 executes an entry deletion unit that deletes the entry corresponding to the session from the response management table 64 when the HTTP session on the WAN side is disconnected by the session arrangement unit described later.

次に、セッション管理テーブル65について説明する。一般的なNAPT装置や一般的なHTTPプロキシでは、WAN側とLAN側とで一対一に対応してアドレスとポート番号とを変換できるように、WAN側とLAN側とのどちらについても、送信元及び宛先のIPアドレス及びポート番号が固定値となるセッション管理テーブルが用いられる。この場合は、LAN側HTTPセッションが削除されれば、それに対応するWAN側HTTPセッションを、WAN側HTTPセッションが削除されれば、それに対応するLAN側HTTPセッションを単純に削除するだけでよい。しかし、本発明の場合、LAN側HTTPセッションとWAN側HTTPセッションは1対1対応していないため、既存のHTTP-Proxyのような単純な管理を行う事は出来ない。そのため、本発明のプロキシ装置で用いるセッション管理テーブル65は、WAN側の情報が宛先となるサーバのIPアドレスとサーバのポート番号のみで、プロキシ装置のWAN側の送信元ポート番号は登録されない。本発明において、どのWAN側ポート番号を用いるかは動的であり、上記応答管理テーブル64が一時的に記録する情報だからである。このセッション管理テーブル65の例を図5に示す。   Next, the session management table 65 will be described. In general NAPT devices and general HTTP proxies, both the WAN side and the LAN side have a transmission source so that addresses and port numbers can be converted in a one-to-one correspondence between the WAN side and the LAN side. In addition, a session management table in which the destination IP address and port number are fixed values is used. In this case, if the LAN side HTTP session is deleted, the corresponding WAN side HTTP session may be simply deleted, and if the WAN side HTTP session is deleted, the corresponding LAN side HTTP session may be simply deleted. However, in the case of the present invention, since the LAN side HTTP session and the WAN side HTTP session do not correspond one-to-one, it is not possible to perform simple management like the existing HTTP-Proxy. For this reason, the session management table 65 used in the proxy device of the present invention includes only the IP address and server port number of the server whose destination is the information on the WAN side, and the source port number on the WAN side of the proxy device is not registered. This is because which WAN side port number is used in the present invention is dynamic and is the information temporarily recorded in the response management table 64. An example of the session management table 65 is shown in FIG.

このようなセッション管理テーブル65は、どのLAN側セッション終端部61(端末側セッション終端部51に通じる)が、どのサーバ11を宛先としているかを管理するテーブルとして、中継管理部63により参照される。すなわち、どのLAN側セッション終端部61を、いずれのWAN側セッション終端部66(サーバ側セッション終端部71に通じる)にくくりつけ可能かを、その宛先であるサーバによって絞り込むことができる。また、WAN側のHTTPセッション(WAN側セッション終端部66−サーバ側セッション終端部71)や、LAN側HTTPセッション(端末側セッション終端部51−LAN側セッション終端部61)を切断する際に、LAN側における残りセッション数を管理するために使用される。   Such a session management table 65 is referred to by the relay management unit 63 as a table for managing which LAN-side session termination unit 61 (which leads to the terminal-side session termination unit 51) is the destination server 11. That is, it is possible to narrow down which LAN-side session termination unit 61 can be connected to which WAN-side session termination unit 66 (which leads to the server-side session termination unit 71) by the server that is the destination. Further, when the WAN session (WAN session termination unit 66-server session termination unit 71) or the LAN side HTTP session (terminal session termination unit 51-LAN session termination unit 61) is disconnected, Used to manage the number of remaining sessions on the side.

中継管理部63は、新たな端末側セッション終端部51からLAN側セッション終端部61に「最初の」HTTP要求メッセージを受信したときに、セッション管理テーブル65にエントリを追加するエントリ追加手段を実行する。また、基本的には、LAN側HTTPセッション(LAN側セッション終端部61−端末側セッション終端部51)が削除されるタイミングで、中継管理部63がセッション管理テーブル65からエントリを抹消するエントリ抹消手段を実行する。また、WAN側HTTPセッションが削除されるタイミングで、そのサーバ11を宛先として、サーバ11のポート番号に該当するエントリが応答管理テーブル64から全て削除されていたら、セッション管理テーブル65から、該当するサーバ11を宛先とし、該当するポート番号を有するエントリを全て削除する総合エントリ抹消手段を実行してもよい。   The relay management unit 63 executes entry addition means for adding an entry to the session management table 65 when a “first” HTTP request message is received from the new terminal-side session termination unit 51 to the LAN-side session termination unit 61. . Basically, the entry deletion means for the relay management unit 63 to delete the entry from the session management table 65 at the timing when the LAN side HTTP session (LAN side session termination unit 61-terminal side session termination unit 51) is deleted. Execute. Further, at the timing when the WAN-side HTTP session is deleted, if all the entries corresponding to the port number of the server 11 are deleted from the response management table 64 with the server 11 as the destination, the corresponding server is deleted from the session management table 65. It is also possible to execute a general entry deletion unit that deletes all entries having a corresponding port number with 11 as a destination.

また、中継管理部63は、LAN側及びWAN側のセッションのそれぞれについて、切断可能なものがあるか否かを検索し、切断可能なセッションを適宜削除するセッション整理手段を実行する。このセッション整理手段としては、次のようなケースでの削除手段が挙げられる。   Further, the relay management unit 63 searches for whether there is a disconnectable session for each of the LAN side and WAN side sessions, and executes session organizing means for appropriately deleting the disconnectable sessions. As the session organizing means, there is a deleting means in the following cases.

端末側セッション終端部51からLAN側HTTPセッションの削除が実施された場合には、当該LAN側セッションを削除する、終了セッション削除手段を実行するとともに、当該端末側セッション終端部51が通信先としていたサーバ11(サーバ側セッション終端部71)に対応するエントリを応答管理テーブル64から検索し、当該サーバ側セッション終端部71とセッションを確立しているWAN側HTTPセッションの中から、通信に使用されていないHTTPセッションを適切に切断する単独セッション削除手段を実行する。ただし、WAN側HTTPセッションの数は、常に、LAN側HTTPセッションの数以下になるように調整する。LAN側HTTPセッションが削除されても、WAN側HTTPセッションの方が少なく、かつ、WAN側HTTPセッションの全てが使用されている場合には、WAN側HTTPセッションは削除しない。   When the LAN-side HTTP session is deleted from the terminal-side session termination unit 51, the termination-side session deletion unit for deleting the LAN-side session is executed, and the terminal-side session termination unit 51 is the communication destination. An entry corresponding to the server 11 (server-side session termination unit 71) is retrieved from the response management table 64, and is used for communication from the WAN-side HTTP session that has established a session with the server-side session termination unit 71. A single session deletion means for appropriately disconnecting no HTTP session is executed. However, the number of WAN side HTTP sessions is always adjusted to be equal to or less than the number of LAN side HTTP sessions. Even if the LAN side HTTP session is deleted, if there are fewer WAN side HTTP sessions and all the WAN side HTTP sessions are used, the WAN side HTTP session is not deleted.

逆に、サーバ側セッション終端部71からWAN側HTTPセッションが削除された場合、サーバ11側からの要求には従わなければならないので、当該セッションはLAN側の状況にかかわらず削除する強制セッション削除手段を実行する。ただしそれに引き続き、当該サーバ側セッション終端部71とHTTPセッションを確立しているWAN側セッション終端部66が少なくとも1つ以上残っている場合には、LAN側HTTPセッションは削除しない。当該サーバ側セッション終端部71とHTTPセッションを確立しているWAN側セッション終端部66が無くなったタイミングで、当該サーバ側セッション終端部71にくくりつけられたLAN側HTTPセッションをすべて削除する総合セッション削除手段を実行する。なおこのとき、中継管理部63は、セッション管理テーブル65に残されていた、当該サーバ側セッション終端部71に対応するエントリを全て削除する総合エントリ抹消手段を実行してもよい。エントリを残しておくと、キャッシュが利用可能であり、同一の通信が来た場合に毎回エントリを作成し削除するという手順を行わずに済むという利点がある一方で、エントリの数が多くなりすぎるとその分メモリの消費量が多くなるというデメリットを有する。プロキシ装置13がHGWなどのメモリが潤沢でない場合には、ここでエントリを削除することでメモリの消費量を抑えて動作を安定化させることができる。   Conversely, when the WAN-side HTTP session is deleted from the server-side session termination unit 71, the request from the server 11 side must be followed, so the forced session deletion means for deleting the session regardless of the situation on the LAN side. Execute. However, subsequently, if at least one WAN side session termination unit 66 that has established an HTTP session with the server side session termination unit 71 remains, the LAN side HTTP session is not deleted. Comprehensive session deletion that deletes all the LAN-side HTTP sessions connected to the server-side session termination unit 71 at the timing when the WAN-side session termination unit 66 that establishes an HTTP session with the server-side session termination unit 71 disappears Execute means. At this time, the relay management unit 63 may execute general entry deletion means for deleting all entries corresponding to the server-side session termination unit 71 remaining in the session management table 65. Leaving the entry has the advantage that the cache can be used and there is no need to create and delete the entry every time the same communication is received, but the number of entries is too large And there is a demerit that the amount of memory consumption increases accordingly. If the proxy device 13 is not rich in memory such as HGW, deleting the entries here can suppress the memory consumption and stabilize the operation.

このような構成からなるプロキシ装置13の実際の処理フローの例を説明する。
HTTP要求メッセージを受信した際のフローを図6の例を用いて説明する。
まず(S101)、LAN側セッション終端部61a、61b等(以下、まとめて「LAN側セッション終端部61x」とする)が、対応する端末の端末側セッション終端部51a,51b等(以下、まとめて「端末側セッション終端部51x」とする。添え字xは61と51とで対応する。)から送信されてきたTCPストリームを受信して、HTTP要求メッセージを取り出す(S102)。HTTPサーバ部62は、HTTP要求メッセージの内容を解析して、宛先などを判別して、HTTPクライアント部67に内容を渡す(S103)。一般的なプロキシ装置13では、受信したIPパケットそのものの宛先がプロキシ装置13自体となっている。本来の宛先であるサーバ11のアドレスは、この段階で、HTTP要求メッセージの中のHTTPヘッダを読むことでようやく判別できる。ただし、読み取ったサーバ11のアドレスはドメインネームで記載されていることがほとんどであるため、DNSの名前を解決してIPv4又はIPv6のアドレスを取得しなければならない。この名前の解決は一般的なDNSプロキシ機能(図示せず)によって行うとよい。
An example of an actual processing flow of the proxy device 13 having such a configuration will be described.
A flow when an HTTP request message is received will be described with reference to an example of FIG.
First (S101), the LAN side session termination units 61a, 61b, etc. (hereinafter collectively referred to as “LAN side session termination unit 61x”), the terminal side session termination units 51a, 51b, etc. of the corresponding terminals (hereinafter, collectively). (The terminal-side session termination unit 51x. The subscript x corresponds to 61 and 51.) A TCP stream transmitted from the terminal is received, and an HTTP request message is extracted (S102). The HTTP server unit 62 analyzes the content of the HTTP request message, determines the destination and the like, and passes the content to the HTTP client unit 67 (S103). In the general proxy device 13, the destination of the received IP packet itself is the proxy device 13 itself. At this stage, the address of the server 11 that is the original destination can be finally determined by reading the HTTP header in the HTTP request message. However, since the read address of the server 11 is almost written in the domain name, it is necessary to resolve the DNS name and acquire the IPv4 or IPv6 address. This name resolution may be performed by a general DNS proxy function (not shown).

受け取った上記の要求メッセージの内容を渡されたHTTPクライアント部67は、プロキシの一般的動作と同様に、サーバ11宛のHTTP要求メッセージを作成し、解析されたHTTPヘッダのリクエストラインやHostヘッダフィールドから、サーバ11のサーバ側セッション終端部71a,71b等(以下、まとめて「サーバ側セッション終端部71y」とする)を包括的に指定することになる、宛先IPアドレス及びポート番号を決定する(S104)。
なお、当然に宛先IPアドレスはインターネット1上におけるサーバ11のグローバルIPアドレスであり、ポート番号はHTTPであれば一般的には80番を用いることが多い。
The HTTP client unit 67 to which the content of the received request message has been passed creates an HTTP request message addressed to the server 11 in the same manner as the general operation of the proxy, and the request line and host header field of the analyzed HTTP header. Then, the destination IP address and the port number for comprehensively specifying the server side session termination units 71a, 71b, etc. (hereinafter collectively referred to as “server side session termination unit 71y”) of the server 11 are determined ( S104).
Of course, the destination IP address is the global IP address of the server 11 on the Internet 1, and the port number is generally 80 if it is HTTP.

中継管理部63は、この決定された情報のうち、宛先IPアドレスから、HTTP要求メッセージを送信するためのWAN側セッション終端部66yを選択、決定する(S105)。このとき、WAN側セッション終端部66yが既に存在している場合とまだ存在していない場合とがあり、また、セッション数が上限値に達しているか否かといった状況に応じて動作が異なる。詳しくは後述する。その上で中継管理部63は、セッション管理テーブル65の情報を更新するエントリ追加手段を実行する(S106)。その内容も後述する。選択されたWAN側セッション終端部66yから、サーバ11のサーバ側セッション終端部71yに対して、ペイロードにHTTP要求メッセージを内包したTCPストリームを送信する(S107)。これで要求メッセージの処理は一旦終了し、応答メッセージの受信を待つことになる(S108)。   The relay management unit 63 selects and determines the WAN side session termination unit 66y for transmitting the HTTP request message from the determined IP address out of the determined information (S105). At this time, there is a case where the WAN-side session termination unit 66y already exists and a case where the WAN-side session termination unit 66y does not yet exist, and the operation differs depending on whether the number of sessions has reached the upper limit value or not. Details will be described later. Then, the relay management unit 63 executes entry addition means for updating the information in the session management table 65 (S106). The contents will also be described later. The selected WAN-side session termination unit 66y transmits a TCP stream including an HTTP request message in the payload to the server-side session termination unit 71y of the server 11 (S107). This completes the processing of the request message and waits for reception of a response message (S108).

上記S105で行う、中継管理部63によるセッション終端部の選択フローについて、図7を用いて説明する。なお、この直前のS104で、宛先となるサーバ11のアドレスは確定している。
まず(S131)、中継管理部63は、応答管理テーブル64から、宛先のサーバ11に対して確立されているセッションのうち、HTTPの応答待ちではないセッションがあるか否かを検索する(S132)。すなわち、ここで、サーバ側セッション終端部71yのIPアドレスとはサーバ11のIPアドレスであり、主キーの一つであるWAN側サーバIPアドレスが宛先のサーバであって、LAN側が空白になっているエントリがあるか否かを検索する。そのような空きエントリが存在しておらず(S133→No)、かつ、サーバ11に対するWAN側セッション終端部66の数が、インターネットゲートウェイ12により制限されるポート番号の数の上限未満であれば(S134→No)、新たにセッションを構築する余地があるので、WAN側セッション終端部66y(すなわち、ポート番号を割り当てたソケット)を作成し、サーバ11のサーバ側セッション終端部71yとセッションを確立するWAN側セッション確立手段を実行する(S135)。なお、サーバ11との間に最初にセッションを張る場合もこの流れになる。その上で、この確立したセッションの情報を、応答管理テーブル64に新規エントリとして作成するエントリ作成手段を実行する(S136)。このときできたWAN側の設定は固定であるが、LAN側の設定として登録する、S102で受信した際の端末14との間のセッション情報は、後でクリアされることになる。応答管理テーブル64へのエントリ作成が終わったら、作成したWAN側セッション終端部66yを引数として、次のS106へ移る(S137)。
The selection flow of the session termination unit by the relay management unit 63 performed in S105 will be described with reference to FIG. It should be noted that the address of the server 11 that is the destination is fixed in S104 immediately before this.
First (S131), the relay management unit 63 searches the response management table 64 to determine whether there is a session that is not waiting for an HTTP response among sessions established with respect to the destination server 11 (S132). . That is, here, the IP address of the server side session termination unit 71y is the IP address of the server 11, the WAN side server IP address, which is one of the primary keys, is the destination server, and the LAN side is blank. Search whether there is an entry. If such an empty entry does not exist (S133 → No) and the number of WAN side session termination units 66 for the server 11 is less than the upper limit of the number of port numbers restricted by the Internet gateway 12 ( S134 → No), because there is room for establishing a new session, the WAN side session termination unit 66y (that is, the socket to which the port number is assigned) is created and the session is established with the server side session termination unit 71y of the server 11. WAN side session establishment means is executed (S135). This flow also applies when a session is first established with the server 11. Then, an entry creating means for creating the established session information as a new entry in the response management table 64 is executed (S136). Although the setting on the WAN side made at this time is fixed, the session information with the terminal 14 received at S102, which is registered as the setting on the LAN side, will be cleared later. When the entry creation to the response management table 64 is completed, the process proceeds to the next S106 with the created WAN session termination unit 66y as an argument (S137).

一方、S133で該当するエントリが存在した場合、すなわち、WAN側が該当し、LAN側が後述するエントリ抹消手段によりクリアされた空きエントリが存在している場合(S133→Yes)、そのエントリのLAN側カラムに、LAN側のTCPセッションの両端点の情報を登録するエントリ記入手段を実行する(S141)。LAN側セッション終端部61xと端末側セッション終端部51xとの両端点のIPアドレスとポート番号がわかれば、TCPセッションが唯一に決まる。これにより、主キーであるWAN側セッションに一時的に紐付けられるLAN側セッションが決定される。その上で、WAN側のクライアントIPアドレスとWAN側クライアントポート番号に合致するWAN側セッション終端部66yを選択し(S142)、これを引数として、次のS106に移る(S137)。すなわち、空いていたポート番号を選択し、そのポート番号に対応するセッションで送信する要求メッセージ中継手段の準備をする。   On the other hand, if there is a corresponding entry in S133, that is, if the WAN side is applicable and the LAN side has an empty entry cleared by an entry deletion means described later (S133 → Yes), the LAN side column of the entry Then, entry entry means for registering information on both end points of the TCP session on the LAN side is executed (S141). If the IP addresses and port numbers of both end points of the LAN side session termination unit 61x and the terminal side session termination unit 51x are known, a TCP session is uniquely determined. Thereby, the LAN side session temporarily associated with the WAN side session which is the primary key is determined. Then, the WAN side session termination unit 66y matching the WAN side client IP address and the WAN side client port number is selected (S142), and the process proceeds to the next S106 using this as an argument (S137). That is, the port number that has been vacant is selected, and the request message relay means for transmitting in the session corresponding to the port number is prepared.

なお、WAN側の情報が一致してLAN側がクリアされたエントリが存在せず、(S133→No)、サーバ11(例えばサーバ11a)に対するWAN側セッション終端部66の数が上限に達していたら(S134→Yes)、この時点ではサーバ11宛のセッションを張ることができないので、待機状態となって、エントリが空くまで待つ(S132)。   If there is no entry in which the information on the WAN side matches and the LAN side is cleared (S133 → No), the number of WAN session termination units 66 for the server 11 (for example, the server 11a) has reached the upper limit ( Since the session addressed to the server 11 cannot be established at this time, the process waits until an entry becomes available (S132).

次に、上記S106で行う、中継管理部63によるセッション管理テーブル65の更新フローについて、図8を用いて説明する。まず(S151)、セッション管理テーブル65の中に、宛先であるサーバ11のサーバ側セッション終端部71に対応するIPアドレス及びサーバポート番号が一致するとともに、LAN側のセッションの情報とも一致するエントリがあるか否かを検索する(S152)。エントリが存在したら(S153→Yes)、そのサーバへのセッションはその前から引き続き通信されるものであるので、そのまま次のS107へ移って、S105で引数として渡されたWAN側セッション終端部66yを通じて要求メッセージを送信する。エントリが存在しなかったら(S153→No)、そのサーバ11へは初めて通信されるものであるため、エントリ追加手段を実行し(S154)、S105で引数として渡されたWAN側セッション終端部66yを通じて要求メッセージを送信する。   Next, the update flow of the session management table 65 by the relay management unit 63 performed in S106 will be described with reference to FIG. First (S151), in the session management table 65, there is an entry that matches the IP address and server port number corresponding to the server-side session termination unit 71 of the server 11 that is the destination, and also matches the session information on the LAN side. It is searched whether or not there is (S152). If there is an entry (S153 → Yes), the session to the server is still communicated from before, so the process proceeds to the next S107 as it is, through the WAN side session termination unit 66y passed as an argument in S105. Send a request message. If the entry does not exist (S153 → No), since it is the first communication to the server 11, entry addition means is executed (S154), and through the WAN side session termination unit 66y passed as an argument in S105 Send a request message.

上記のS107で送信された要求メッセージに対するサーバ11からの応答メッセージを受信し、中継して送信する際のフローを、図9を用いて説明する。まず(S201)、WAN側セッション終端部66yが、サーバ11のサーバ側セッション終端部71yからTCPストリームを受信し、ペイロードからHTTP応答メッセージを取得する(S202)。中継管理部63はこれを受けて、応答管理テーブル64を検索して、WAN側の情報が一致するエントリを検索し、そのエントリのLAN側情報を得る。これにより、今受信した応答メッセージに対応する要求メッセージを送信したLAN側のセッションを特定する。これにより、応答メッセージの返信先となる端末14のアドレスと、クライアントポート番号が特定でき、すなわち、送信に用いるソケットである端末側セッション終端部51xと、それに繋がるLAN側のLAN側セッション終端部61xを特定する(S203)。その上で、プロキシ装置13の基本的機能である、HTTPクライアント部67が、HTTP応答メッセージを解析し(S204)、同じくプロキシ装置13の基本的機能であるHTTPサーバ部62が、HTTP応答メッセージを作成する(S205)。これはすなわち、プロキシとしては、先に受信した要求メッセージに対する応答メッセージである。このHTTP応答メッセージを、先にS203で特定したLAN側セッション終端部61xから、セッションの先である端末14の端末側セッション終端部51xに対して、ペイロードにHTTP応答メッセージを内包したTCPストリームを送信する(S206)。これが完了したら、ひとまず要求に対する応答は終わったので、サーバ11とのセッションはアクティブなものではなくなる。そこで、応答管理テーブル64から、応答先の送信に用いたエントリのLAN側部分をクリアするエントリ空白化手段を実行する(S207)。これによりLAN側とWAN側とのセッションの括り付けは解除され、当該エントリに対応するWAN側のセッションは無通信状態となり、S132以降の処理で他のLAN側セッションが使用できるようになる。
A flow when receiving and relaying a response message from the server 11 in response to the request message transmitted in S107 will be described with reference to FIG. First (S201), the WAN side session termination unit 66y receives a TCP stream from the server side session termination unit 71y of the server 11 and acquires an HTTP response message from the payload (S202). In response to this, the relay management unit 63 searches the response management table 64, searches for an entry with the same WAN side information, and obtains the LAN side information of the entry. Thereby, the session on the LAN side that has transmitted the request message corresponding to the response message just received is specified. As a result, the address of the terminal 14 that is the reply destination of the response message and the client port number can be specified, that is, the terminal-side session termination unit 51x that is a socket used for transmission, and the LAN-side LAN-side session termination unit 61x connected to the terminal side. Is specified (S203). After that, the HTTP client unit 67 that is a basic function of the proxy device 13 analyzes the HTTP response message (S204), and the HTTP server unit 62 that is also the basic function of the proxy device 13 receives the HTTP response message. Create (S205). That is, as a proxy, this is a response message to the previously received request message. This HTTP response message is transmitted from the LAN side session termination unit 61x previously identified in S203 to the terminal side session termination unit 51x of the terminal 14 that is the session destination, with a TCP stream including the HTTP response message in the payload. (S206). Once this is complete, the response to the request is over, so the session with the server 11 is no longer active. Therefore, the entry blanking means for clearing the LAN side portion of the entry used for transmission of the response destination is executed from the response management table 64 (S207). As a result, the association of the session between the LAN side and the WAN side is released, the WAN side session corresponding to the entry becomes a non-communication state, and other LAN side sessions can be used in the processing after S132.

上記のような工程で要求と応答がされるが、WAN側のセッションは応答終了後に応答管理テーブル64におけるLAN側の情報のみをクリアしておくだけでなく、不要になったらWAN側のセッションそのものを削除しておくことが好ましい。インターネットゲートウェイ12が、各々のプロキシ装置13に割り当てるポートの数を動的に変更する場合もあり、その場合には、どれかのプロキシ装置13が無用なセッションを削除することによって、他のプロキシ装置13が使えるセッションが増えることになるからである。また、ネットワーク処理自体の高速化のためにも、不要なセッションはWAN側、LAN側ともに削除しておくことが好ましい。   Although the request and response are made in the above-described steps, the WAN session not only clears only the information on the LAN side in the response management table 64 after the response is completed, but also the WAN session itself when it becomes unnecessary. Is preferably deleted. In some cases, the Internet gateway 12 dynamically changes the number of ports assigned to each proxy device 13, and in this case, one proxy device 13 deletes an unnecessary session, thereby causing another proxy device to be deleted. This is because the number of sessions in which 13 can be used increases. In order to speed up the network processing itself, it is preferable to delete unnecessary sessions on both the WAN side and the LAN side.

まず、LAN側HTTPセッション切断時のフローについて図10を用いて説明する。端末14の端末側セッション終端部51xと、プロキシ装置13のLAN側セッション終端部61xとの間で確立しているHTTTPセッションの切断契機が発生した場合に(S302)、次のフローを実施する。ここで、LAN側のセッションの切断契機とは、RFCの一般的な規定に従うものであり、具体的には、Keep−Aliveのタイムアウトや、端末側セッション終端部51xからのTCP−FINを受信した場合などが挙げられる。このとき、セッション管理テーブル65の中から、切断契機が発生したセッションのIPアドレス及びポート番号と、LAN側の情報が一致するエントリを取得する(S303)。そのエントリのWAN側情報を参照して、切断しようとしているLAN側セッションが通信していたサーバ11のアドレスを特定する(S304)。なお、基本的にサーバポート番号は80番である状況を想定しているが、サーバポート番号として様々な番号を用いることを許容するサーバ11であれば、このときにエントリに対応するポート番号も特定して、サーバ側セッション終端部71yを特定する。その上で、そのサーバ11と、同一サーバポート番号で通信しているLAN側セッションの数をセッション管理テーブル65内でカウントして、Xとする(S305)。次に、応答管理テーブル64において、同じサーバ11と通信しているWAN側のセッションの数をカウントして、Yとする(S306)。すなわち、応答管理テーブル64には、アクティブか非アクティブかに関わらず、WAN側のセッションが全て記載されており、セッション管理テーブル65には、WAN側のポート番号を考慮することなく、各サーバ(及びサーバポート番号)に繋がるLAN側のセッションが全て記載されているので、それぞれをカウントしてLAN側をX,WAN側をYとする。   First, a flow when the LAN side HTTP session is disconnected will be described with reference to FIG. When a disconnection trigger of the HTTP session established between the terminal side session termination unit 51x of the terminal 14 and the LAN side session termination unit 61x of the proxy device 13 occurs (S302), the following flow is performed. Here, the disconnection trigger of the session on the LAN side is in accordance with the general rules of RFC. Specifically, a Keep-Alive timeout or a TCP-FIN from the terminal-side session termination unit 51x is received. Cases. At this time, an entry is obtained from the session management table 65 in which the IP address and port number of the session in which the disconnection trigger occurs coincides with the information on the LAN side (S303). With reference to the WAN side information of the entry, the address of the server 11 with which the LAN side session to be disconnected communicated is specified (S304). Basically, it is assumed that the server port number is 80. However, if the server 11 permits use of various numbers as the server port number, the port number corresponding to the entry at this time is also set. In particular, the server-side session termination unit 71y is identified. Then, the number of LAN-side sessions communicating with the server 11 using the same server port number is counted in the session management table 65 and is set as X (S305). Next, in the response management table 64, the number of WAN sessions communicating with the same server 11 is counted and set to Y (S306). That is, the response management table 64 describes all WAN-side sessions regardless of whether they are active or inactive, and the session management table 65 does not take into account the WAN-side port number. Since all the sessions on the LAN side connected to the server port number) are described, the LAN side is counted as X and the WAN side as Y.

ここで、XよりYが大きいか否かを判断する(S307)。すなわち、LAN側よりWAN側のセッションの方が多ければ(S307→Yes)、WAN側のセッションの数は、最大でもLAN側のセッション数あれば十分であるので、余分なセッションは削除する。このとき、応答管理テーブル64で検索するのは、LAN側のカラムが空白、すなわち、通信状態にはなく休止状態のセッションであり、該当するエントリを応答管理テーブル64から一つ削除するとともに、それに対応するWAN側セッション終端部66を一つ削除する単独セッション削除手段を実行する(S311)。このとき、該当するエントリ及びWAN側セッション終端部66が対応していれば、どのエントリ(WAN側セッション終端部66)を削除してもよいが、例えば、セッションの生成が古いものから削除していくなどの一定の基準によって削除するとよい。一つ削除した後、Yをカウントし直して(S312→S313→S306)、再びXとYとを比較し(S307)、まだ該当するようであれば、さらにエントリとWAN側セッション終端部66を削除する(S311)。   Here, it is determined whether Y is larger than X (S307). That is, if there are more WAN-side sessions than LAN-side (S307 → Yes), the maximum number of WAN-side sessions is sufficient if the number of LAN-side sessions is sufficient, and the extra sessions are deleted. At this time, the response management table 64 is searched for a blank column on the LAN side, that is, a session in a dormant state not in a communication state, and one corresponding entry is deleted from the response management table 64, and Single session deletion means for deleting one corresponding WAN session termination unit 66 is executed (S311). At this time, as long as the corresponding entry and the WAN session termination unit 66 correspond to each other, any entry (WAN session termination unit 66) may be deleted. It is good to delete it according to a certain standard. After deleting one, Y is counted again (S312 → S313 → S306), X and Y are compared again (S307), and if still applicable, the entry and the WAN session termination unit 66 are further set. It is deleted (S311).

一方、XがYより大きいか、あるいは同じ(S311によって同数になった場合を含む)である場合には(S307→No)、セッション管理テーブル65から、S303で取得したエントリを削除し(S308)、それに対応するLAN側セッション終端部61xを削除する終了セッション削除手段を実行して(S309)フローを終わる(S310)。   On the other hand, if X is greater than or equal to Y (including the case where the number is the same due to S311) (S307 → No), the entry acquired in S303 is deleted from the session management table 65 (S308). Then, the end session deleting means for deleting the corresponding LAN side session termination unit 61x is executed (S309), and the flow is ended (S310).

次に、WAN側HTTPセッション切断時のフローについて図11を用いて説明する。
サーバ11のサーバ側セッション終端部71yと、プロキシ装置13のWAN側セッション終端部66yとの間で確立しているHTTPセッションの切断契機が発生した場合に(S332)、次のフローを実施する。ここで、WAN側のセッションの切断契機とは、RFCの一般的な規定に従うものであり、具体的には、Keep−Aliveのタイムアウトや、サーバ側セッション終端部71yからのTCP−FINを受信した場合などが挙げられる。サーバ11側から切断の要求があった場合は、インターネットゲートウェイ12側(すなわちプロキシ装置13側)の事情にかかわらず、そのセッションは削除しなければならないためである。
まず、応答管理テーブル64の中から、切断契機が発生したセッションのIPアドレス及びポート番号と、WAN側の情報が一致するエントリを削除し(S333)、対応するWAN側セッション終端部66yを削除する強制セッション削除手段を実行する(S334)。
Next, a flow when the WAN-side HTTP session is disconnected will be described with reference to FIG.
When an HTTP session disconnection trigger occurs between the server-side session termination unit 71y of the server 11 and the WAN-side session termination unit 66y of the proxy device 13 (S332), the following flow is performed. Here, the session disconnection trigger on the WAN side conforms to the general rules of RFC, and specifically, a Keep-Alive timeout or a TCP-FIN received from the server-side session termination unit 71y is received. Cases. This is because when a disconnection request is made from the server 11 side, the session must be deleted regardless of the circumstances on the Internet gateway 12 side (that is, the proxy device 13 side).
First, from the response management table 64, an entry in which the IP address and port number of the session in which the disconnection trigger has occurred matches the WAN information is deleted (S333), and the corresponding WAN session termination unit 66y is deleted. Forced session deletion means is executed (S334).

さらにその上で、当該サーバ11のIPアドレスと、先に削除したセッションのポート番号とが一致するエントリが、応答管理テーブル64の中にあるか否かを検索する(S335)。すなわち、削除契機が発生したのと同じサーバ11と、同じサーバポートで通信しているWAN側のTCPセッションが存在するか否かを検索する。このエントリが存在しているならば(S336→Yes)、サーバ11との間でのセッションは他にもまだ存在していて通信が継続される可能性があるので、LAN側のセッションはひとまず削除せずにそのままとする。LAN側セッションはそのまま通信が再開されることなく放置されたとしても、上記の通り、LAN側セッション自体のタイムアウトなどによって、単独セッション削除手段により削除される。一方、エントリが存在していないならば(S336→No)、サーバ11との間で通信することはひとまず無くなったことになるので、当該サーバ11を宛先IPアドレスとして指定するセッション管理テーブル65のエントリを削除する総合エントリ抹消手段を実行するとともに、当該エントリに合致する端末側セッション終端部51に接続しているLAN側セッション終端部61を全て削除する、総合セッション削除手段を実行する(S337)。ただし、上記の通り、プロキシ装置13のメモリが潤沢にある場合には、エントリを残していてもよいので、総合エントリ抹消手段は実行しなくてもよい。   Further, it is searched whether or not there is an entry in the response management table 64 that matches the IP address of the server 11 and the port number of the previously deleted session (S335). That is, it is searched whether there exists a TCP session on the WAN side that is communicating with the same server 11 where the trigger for deletion has occurred and the same server port. If this entry exists (S336 → Yes), there is still another session with the server 11 and there is a possibility that communication will continue. Leave as it is. Even if the LAN side session is left without resuming communication, it is deleted by the single session deletion means due to the timeout of the LAN side session itself as described above. On the other hand, if the entry does not exist (S336 → No), the communication with the server 11 is temporarily lost, so the entry of the session management table 65 that designates the server 11 as the destination IP address. And a general session deletion unit that deletes all the LAN side session termination units 61 connected to the terminal side session termination unit 51 matching the entry (S337). However, as described above, when the memory of the proxy device 13 is abundant, entries may be left, so that the general entry erasure unit does not have to be executed.

なお、この図11のフローのうち、実際の実装に当たって必須なのは、S334までであり、その他の部分(S337等)は実装しなくても運用が可能である。その場合、サーバ11とのWAN側のセッションが全て切断されているにもかかわらず、LAN側の端末はそれを検知していないという、WANとLANとの状態不整合が発生する。しかし、WAN側のセッションが全て削除されている状態で、LAN側から要求メッセージを受信すれば、図6のS105(すなわち図7)のフローに従って、新しいWAN側セッションが確立されるため、状態の不整合が理由で通信が不可能になる危険はない。   In the flow shown in FIG. 11, only the steps up to S334 are indispensable for actual mounting, and other portions (S337 and the like) can be operated without mounting. In this case, although the WAN session with the server 11 is all disconnected, a state mismatch between the WAN and the LAN occurs that the LAN terminal does not detect it. However, if a request message is received from the LAN side in a state where all the WAN side sessions have been deleted, a new WAN side session is established according to the flow of S105 in FIG. 6 (ie, FIG. 7). There is no danger of communication becoming impossible due to inconsistencies.

なお、この発明はHTTPプロトコルに限らず、他のプロトコルであっても、送信した要求の順番に対して応答の順番が保証されている、すなわち、応答の順番が入れ替わることがないことが保証されており、端末側(すなわちLAN側)からの通信しか発生しないことが保証されているプロトコルであれば、同様に利用が可能である。   Note that the present invention is not limited to the HTTP protocol, and even with other protocols, it is guaranteed that the order of responses is guaranteed with respect to the order of transmitted requests, that is, the order of responses is not changed. Any protocol can be used as long as it is guaranteed that only communication from the terminal side (that is, the LAN side) occurs.

1 インターネット
2 閉域網
3 ローカルエリアネットワーク
11,11a,11b サーバ
12 インターネットゲートウェイ
13 プロキシ装置
14 端末
51,51a,51b、51x 端末側セッション終端部
52 HTTPクライアント部
61、61a、61b、61x LAN側セッション終端部
62 HTTPサーバ部
63 中継管理部
64 応答管理テーブル
65 セッション管理テーブル
66、66a、66b、66y WAN側セッション終端部
67 HTTPクライアント部
71、71a、71b、71y サーバ側セッション終端部
72 HTTPサーバ部
DESCRIPTION OF SYMBOLS 1 Internet 2 Closed network 3 Local area network 11, 11a, 11b Server 12 Internet gateway 13 Proxy apparatus 14 Terminal 51, 51a, 51b, 51x Terminal side session termination part 52 HTTP client part 61, 61a, 61b, 61x LAN side session termination Unit 62 HTTP server unit 63 relay management unit 64 response management table 65 session management table 66, 66a, 66b, 66y WAN side session termination unit 67 HTTP client unit 71, 71a, 71b, 71y server side session termination unit 72 HTTP server unit

Claims (6)

インターネットゲートウェイと複数の端末との間の通信を中継するプロキシ装置であって、
上記インターネットゲートウェイを経由するインターネット上の一のサーバと上記プロキシ装置との間のセッション数を、65535からWellknownportの数を引いたポート番号の枠を設置される上記プロキシ装置の数で割った数以下でありかつ、上記プロキシ装置自体が中継する上記一のサーバを宛先とする上記複数の末のセッション数の合計以下に限定し、
端末側から上記一のサーバへの通信要求を新たに受信した際には、上記一のサーバと上記プロキシ装置との間のセッションのうちその時点で通信を行っておらず上記端末側のセッションとの括り付けが解除されたセッションを利用して、上記一のサーバとの通信を行う、プロキシ装置。
A proxy device that relays communication between an Internet gateway and a plurality of terminals,
The number of sessions between one proxy server on the Internet via the Internet gateway and the proxy device is equal to or less than the number obtained by dividing the port number frame obtained by subtracting the number of well-known ports from 65535 by the number of proxy devices installed. by and and limited sum to the following number of sessions end said plurality of end to said one server for relaying the proxy device itself destined,
When a communication request from the terminal side to the one server is newly received, communication is not performed at that time in the session between the one server and the proxy device, and the terminal side session and A proxy device that communicates with the one server using a session that has been unbundled.
上記端末との間でTCPストリームを送受信し、受信したTCPストリームからHTTP要求メッセージを取り出す、ポート番号ごとに存在する複数のLAN側セッション終端部と、
上記サーバとの間でTCPストリームを送受信し、受信したTCPストリームからHTTP応答メッセージを取り出す、ポート番号ごとに存在する複数のWAN側セッション終端部と、
上記HTTP要求メッセージを解析して要求HTTPヘッダを読み取り、かつ、上記HTTP応答メッセージの応答HTTPヘッダから転送先となるLAN側セッション終端部を決定するHTTPサーバ部と、
上記要求HTTPヘッダから送信先となるWAN側セッション終端部のIPアドレスとポート番号とを決定して要求メッセージを作成し、かつ、受信したHTTP応答メッセージを解析して上記応答HTTPヘッダを読み取るHTTPクライアント部とを有し、
上記LAN側セッション終端部についての送信元及び宛先のアドレス及びポート番号と、そのセッションの宛先であるサーバのアドレス及びサーバポート番号とを対応させて記録するセッション管理テーブルと、
上記要求メッセージを中継する上記WAN側セッション終端部についての送信元及び宛先についてのアドレス及びポート番号を主キーとしてエントリを登録され、上記WAN側セッション終端部に対応するサーバ側のセッションに一時的に結びつける端末側のセッション情報をエントリに一時的に登録され、上記LAN側セッション終端部から上記HTTP応答メッセージを送信完了した際には、当該エントリから端末側のセッション情報のみを削除可能とした応答管理テーブルと、
上記セッション管理テーブル及び上記応答管理テーブルの上記エントリを更新させ、かつそれらを参照して通信を中継させる中継管理部と
を有する
請求項1に記載のプロキシ装置。
A plurality of LAN-side session termination units that exist for each port number, which transmits / receives a TCP stream to / from the terminal and extracts an HTTP request message from the received TCP stream;
A plurality of WAN-side session terminators existing for each port number for transmitting / receiving a TCP stream to / from the server and extracting an HTTP response message from the received TCP stream;
An HTTP server unit that analyzes the HTTP request message, reads a request HTTP header, and determines a LAN-side session termination unit to be a transfer destination from the response HTTP header of the HTTP response message;
An HTTP client that creates a request message by determining the IP address and port number of the WAN-side session terminator as a transmission destination from the request HTTP header, and analyzes the received HTTP response message to read the response HTTP header And
A session management table for recording the address and port number of the source and destination of the LAN-side session termination unit in association with the address and server port number of the server that is the destination of the session;
An entry is registered using the address and port number of the source and destination of the WAN session termination unit that relays the request message as a primary key, and temporarily stored in the server side session corresponding to the WAN session termination unit. Response management in which the session information on the terminal side to be linked is temporarily registered in the entry, and only the session information on the terminal side can be deleted from the entry when the transmission of the HTTP response message from the LAN side session termination unit is completed Table,
The proxy apparatus according to claim 1, further comprising: a relay management unit that updates the entries of the session management table and the response management table and relays communication by referring to the entries.
上記の中継管理部が、LAN側及びWAN側のセッションのそれぞれについて、切断可能なものがあるか否かを検索し、切断可能な上記LAN側セッション終端部、上記WAN側セッション終端部又はその両方を削除するセッション整理手段を実行する、請求項2に記載のプロキシ装置。   The relay management unit searches the LAN side and WAN side sessions for whether or not there is a disconnectable one, and can disconnect the LAN side session termination unit, the WAN side session termination unit, or both The proxy apparatus according to claim 2, wherein a session organizing unit that deletes the session is executed. 上記セッション整理手段として、
上記中継管理部が、上記サーバとの間でHTTPの切断契機が発生した場合に、それに対応する上記WAN側セッション終端部を削除する強制セッション削除手段を実行しうる、請求項3に記載のプロキシ装置。
As the above session organizing means,
4. The proxy according to claim 3, wherein the relay management unit can execute forced session deletion means for deleting the WAN session termination unit corresponding thereto when an HTTP disconnection trigger occurs with the server. 5. apparatus.
上記セッション整理手段として、
上記中継管理部が、上記強制セッション削除手段を実行した後、応答管理テーブルから、WAN側IPドレス及びWAN側サーバポート番号が上記強制セッション削除手段により削除された上記WAN側セッション終端部における当該WAN側IPアドレス及び当該WAN側サーバポート番号と一致するエントリが存在するか否かを検索し、存在しなければ、上記セッション管理テーブルから、当該WAN側IPアドレス及びWAN側サーバポート番号に該当するエントリを検索し、そのエントリに該当する上記LAN側セッション終端部を全て削除する総合セッション削除手段を実行しうる、
請求項4に記載のプロキシ装置。
As the above session organizing means,
The relay management unit, after executing the forcible session deletion means, from the response management table, the WAN side IP address and WAN side server port number in the WAN-side session termination unit which is removed by the forced delete session means If there is an entry that matches the WAN-side IP address and the WAN-side server port number, and if it does not exist, it corresponds to the WAN-side IP address and WAN-side server port number from the session management table. It is possible to execute a general session deletion unit that searches for an entry and deletes all the LAN side session termination units corresponding to the entry
The proxy device according to claim 4.
上記セッション整理手段として、
上記中継管理部が、同一のサーバを宛先としかつサーバポート番号が一致するLAN側のセッションの数とWAN側のセッションの数を比較し、WAN側のセッションの数の方が多い場合に、上記WAN側セッション終端部を少なくとも一つ削除する単独セッション削除手段を実行しうる、
請求項3乃至5のいずれかに記載のプロキシ装置。
As the above session organizing means,
The relay management unit compares the number of LAN-side sessions with the same server as the destination and the same server port number with the number of WAN-side sessions, and if the number of WAN-side sessions is larger, A single session deletion means for deleting at least one WAN session termination unit may be executed.
The proxy device according to claim 3.
JP2012228935A 2012-10-16 2012-10-16 Proxy device and relay device Active JP6096464B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012228935A JP6096464B2 (en) 2012-10-16 2012-10-16 Proxy device and relay device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012228935A JP6096464B2 (en) 2012-10-16 2012-10-16 Proxy device and relay device

Publications (2)

Publication Number Publication Date
JP2014082624A JP2014082624A (en) 2014-05-08
JP6096464B2 true JP6096464B2 (en) 2017-03-15

Family

ID=50786434

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012228935A Active JP6096464B2 (en) 2012-10-16 2012-10-16 Proxy device and relay device

Country Status (1)

Country Link
JP (1) JP6096464B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018125989A2 (en) 2016-12-30 2018-07-05 Intel Corporation The internet of things
JP6930585B2 (en) 2017-03-31 2021-09-01 日本電気株式会社 Relay device, network system and network control method
JP2022010633A (en) * 2020-06-29 2022-01-17 サイレックス・テクノロジー株式会社 Relay device, relay method, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012090071A (en) * 2010-10-20 2012-05-10 Nec Corp Relay device, communication system, and flow control method used for them

Also Published As

Publication number Publication date
JP2014082624A (en) 2014-05-08

Similar Documents

Publication Publication Date Title
US7554992B2 (en) Mobile device communications system and method
JP5621778B2 (en) Content-based switch system and content-based switch method
US7245622B2 (en) Allowing IPv4 clients to communicate over an IPv6 network when behind a network address translator with reduced server workload
JP3494610B2 (en) IP router device with TCP termination function and medium
KR100803273B1 (en) ISATAP Router Tunneling the packet and Method Thereof
US8954603B2 (en) Communication device and communication method of the same
US8009670B2 (en) Communication system, information processor, intervening server, identification information transmitting server, communication method and program
US10187475B2 (en) Method and system for automatically bypassing network proxies in the presence of interdependent traffic flows
US20060067342A1 (en) Method and system in an IP network for using a network address translation (NAT) with any type of application
US20050074000A1 (en) Packet relay device/method, network connection device, storage medium and program
CN102035900B (en) NAT (network address translation) traversal method, system and relay server by relay mode
CA2884683C (en) Split network address translation
JP2004364141A (en) Ip address conversion device and packet transfer device
US9137271B2 (en) System for switching between communication devices, switching method, and switching program
US9654540B2 (en) Load balancing among network servers
EP2804440A1 (en) Method and system for mobile terminal to access the network through cell phone
CN103460676A (en) Flow routing protocol by querying a remote server
US8934489B2 (en) Routing device and method for processing network packet thereof
JP6096464B2 (en) Proxy device and relay device
JP4111968B2 (en) Tunneling method and tunneling apparatus for multicasting
JP4683345B2 (en) Network load balancing apparatus, network load balancing method, and program
US10129145B2 (en) Routing IPv6 packets between autonomous systems
KR100854681B1 (en) Gateway and method of interoperating between internet protocol-ubiquitous sensor network and simple network management protocol network
US20110185084A1 (en) Information communication system, relay node device, information communication method, and computer readable recording medium
JP2010062757A (en) Dns proxy apparatus and dns relay method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160209

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20160325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160407

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20160407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170216

R150 Certificate of patent or registration of utility model

Ref document number: 6096464

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250