JP2014045245A - Relay device and its operation method - Google Patents

Relay device and its operation method Download PDF

Info

Publication number
JP2014045245A
JP2014045245A JP2012185095A JP2012185095A JP2014045245A JP 2014045245 A JP2014045245 A JP 2014045245A JP 2012185095 A JP2012185095 A JP 2012185095A JP 2012185095 A JP2012185095 A JP 2012185095A JP 2014045245 A JP2014045245 A JP 2014045245A
Authority
JP
Japan
Prior art keywords
address
destination
relay device
packet
function unit
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.)
Granted
Application number
JP2012185095A
Other languages
Japanese (ja)
Other versions
JP5921991B2 (en
Inventor
Hideki Jochi
秀樹 城地
Takanobu Kawabe
隆伸 川邉
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
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Corp, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012185095A priority Critical patent/JP5921991B2/en
Publication of JP2014045245A publication Critical patent/JP2014045245A/en
Application granted granted Critical
Publication of JP5921991B2 publication Critical patent/JP5921991B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To enable construction of a session exceeding a limit due to a range of port numbers in a communication between a relay device and a server.SOLUTION: When a relay device accesses a redundant server group having the same domain name but different IP addresses, the relay device changes a destination of a packet so that the relay device will communicate with another redundant server when the number of sessions at one redundant server in the redundant server group reaches the upper limit.

Description

この発明は、IPv4を利用する環境下で複数の中継装置が上位の巨大中継装置に集約されている際における、通信の効率化に関する。   The present invention relates to communication efficiency improvement when a plurality of relay apparatuses are aggregated in an upper giant relay apparatus in an environment using IPv4.

IPv4のグローバルIPアドレスは枯渇状態にあり、中継装置が有する一つのグローバルIPアドレスを、複数の端末や装置で共有することが一般的になっている。グローバルIPアドレスに限らず、一つのIPアドレスを複数の装置や端末で共有する方法として、NAT(Network Address Translation)又はNAPT(Network Address Port Translation)(以下、まとめて「NAT」と呼称する。)が用いられている。中継装置がNATを実行する際には、LAN(Local Area Network)側からWAN(Wide Area Network)側へのパケットを受信したときに、LAN側のどのアドレスから来たパケットをどのようにしてWAN側へ送出したかを記録するセッション管理テーブルを保持し、WAN側からパケットを受信した際には、そのパケット情報を元にLAN(Local Area Network)側のどのアドレスへ中継するかを判断する。   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. Not only a global IP address but also a method of sharing a single IP address among a plurality of devices and terminals, NAT (Network Address Translation) or NAPT (Network Address Port Translation) (hereinafter collectively referred to as “NAT”). Is used. When the relay device executes NAT, when a packet from the LAN (Local Area Network) side to the WAN (Wide Area Network) side is received, how is the packet from which address on the LAN side received? 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.

NATとして一般的な5−tupleでは、WAN側から受信したパケットの「送信元IPアドレス」「送信元ポート番号」「宛先IPアドレス」「宛先ポート番号」「プロトコル」の5つの情報によって、LAN側のどのアドレスへ中継するかを判断する。この5−tupleのように、ポート番号とアドレスとで中継を管理する場合、中継装置に繋がる端末が特定のサーバの同じポートに対して複数のセッションを確立するには、中継装置のWAN側ポート番号は、端末ごとに異なるものでなくてはならない。そのため、中継装置の配下に複数の端末が接続されていると、1つの端末が利用できる中継装置のWAN側ポート番号の数は、端末数に反比例して少なくなる。中継装置が利用可能なポート番号は0〜65535までの65536種類に限定されており、それを配下に抱える端末間で共有しなければならないからである。仮に中継装置に直結する配下の端末を655とすると、一端末あたりのポート番号は100にまで制限されてしまう。しかし実際にはポート番号の共有は一様ではなく、一つの端末が多くのポート番号を占有してしまうことがある。これに対して、配下の端末をグループに分けて、特定のグローバルネットワーク上のサーバとの間のセッション数をグループ毎に制限する方法が特許文献1に提案されている。ただし、これは端末を利用する利用者間の不公平感を無くす方法であり、割り当て可能なポート番号の上限を解決するための方法ではない。   In 5-tuple, which is a general NAT, 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. When relaying is managed with a port number and an address as in this 5-tuple, a terminal connected to the relay device establishes a plurality of sessions for the same port of a specific server. The number must be different for each terminal. Therefore, when a plurality of terminals are connected under the relay device, the number of WAN side port numbers of the relay device that can be used by one terminal decreases in inverse proportion to the number of terminals. This is because the port numbers that can be used by the relay apparatus are limited to 65536 types from 0 to 65535 and must be shared among the terminals under their control. If the subordinate terminal directly connected to the relay apparatus is 655, the port number per terminal is limited to 100. However, in reality, port number sharing is not uniform, and one terminal may occupy many port numbers. On the other hand, Patent Document 1 proposes a method in which subordinate terminals are divided into groups and the number of sessions with a server on a specific global network is limited for each group. However, this is a method of eliminating unfairness among users who use the terminal, and is not a method of solving the upper limit of assignable port numbers.

ところで、IPv4アドレスの枯渇に伴い、IPv6で構築されたネットワークが使われるようになってきているが、依然としてIPv4でしか接続できないネットワークも多数残っているため、IPv6ネットワークでIPv4アドレスを利用するアドレス変換が行われている。例えば、IPv6で構築された閉域網で、IPv4のグローバルIPアドレスを有する上位の中継装置が有し、その配下にIPv4のローカルIPアドレスを割り当てられた宅内用の中継装置が多数接続され、さらにその宅内用中継装置に、宅内中継装置によって管理されるIPv4のローカルIPアドレスを有する複数の端末が繋がるという構成が実際に存在している。このようにIPv6ネットワークでIPv4を利用する場合には、上位の中継装置は、配下の中継装置に割り当てるIPv6アドレスを、所定のプレフィックスの後に続く半ばや末尾にIPv4のアドレスを配したものという構成に限定することで、IPv4とIPv6とのアドレス変換を、変換テーブルなどを設けることなく自動的に行うSAM(Stateless Address Mapping)が用いられる場合がある。配下に抱える端末の数が多くなり、それら全てについていちいちテーブルを参照して変換していたのでは、上位の中継装置にかかる負荷が大きくなりすぎるためである。   By the way, with the exhaustion of IPv4 addresses, networks constructed with IPv6 have come to be used, but there are still many networks that can be connected only with IPv4, so address translation using IPv4 addresses in IPv6 networks. Has been done. For example, in a closed network constructed with IPv6, a host relay device having a global IP address of IPv4 has, and a number of home relay devices to which local IPv4 addresses are assigned are connected. There is actually a configuration in which a plurality of terminals having IPv4 local IP addresses managed by the home relay device are connected to the home relay device. As described above, when using IPv4 in the IPv6 network, the upper relay apparatus is configured such that the IPv6 address assigned to the subordinate relay apparatus is arranged with the IPv4 address in the middle or the end following the predetermined prefix. By limiting, SAM (Stateless Address Mapping) that automatically performs address translation between IPv4 and IPv6 without providing a translation table may be used. This is because if the number of terminals under the control increases and all of them are converted by referring to the table one by one, the load on the upper relay apparatus becomes too large.

しかし、このような上位の中継装置(LSN:LargeScaleNAT)が配下に宅内中継装置を抱えるような場合には、LSNのポート番号を複数の宅内中継装置に割り当てる形で共有し、さらにそれぞれの宅内中継装置に割り当てられたポートを、配下の端末に割り当てることになるため、各端末が確立可能なセッション数の上限は非常に小さいものとなってしまう。そのような環境下では、管理すべきセッションの数が多すぎてメモリ開放待ち時間のカウントが間に合わず、開放できるはずのセッションを開放できなくなる場合がある。これに対して、TCPのセッションが許容量を超えた場合には、通常は使用中として開放されないTIME_WAIT状態のセッションに上書きすることでその状況を凌ぐ方法が特許文献2に記載されている。   However, when such a higher-level relay device (LSN: Large Scale NAT) has a home relay device under its control, the LSN port number is shared and assigned to a plurality of home relay devices, and each home relay Since the port assigned to the device is assigned to the subordinate terminal, the upper limit of the number of sessions that each terminal can establish becomes very small. Under such an environment, there are cases where the number of sessions to be managed is too large and the memory release waiting time cannot be counted in time, and a session that should be able to be released cannot be released. On the other hand, Patent Document 2 describes a method of overcoming the situation by overwriting a session in a TIME_WAIT state that is not normally released as being used when a TCP session exceeds an allowable amount.

また、一つのポートを複数の端末で共有するために、WAN側からLAN側へパケットを送出する際に、アプリケーションレイヤに端末を特定する情報を付与する方法が特許文献3に記載されている。   Further, Patent Document 3 describes a method for assigning information for identifying a terminal to an application layer when a packet is transmitted from the WAN side to the LAN side in order to share one port among a plurality of terminals.

特開2010−103709号公報JP 2010-103709 A 特開2011−172201号公報JP 2011-172201 A 特開2009−146306号公報JP 2009-146306 A

しかしながら、特許文献2の方法ではTCPセッションがWAITではなく実際に使用中の場合は上書きできないため、実際に一つのサーバへのアクティブな通信が集中している場合には適用できず、状況を解決することができなかった。   However, since the method of Patent Document 2 cannot be overwritten when the TCP session is actually used instead of WAIT, it cannot be applied when the active communication to one server is actually concentrated, and the situation is solved. I couldn't.

また、特許文献3の方法では、アプリケーションレイヤに情報を組み込むため、パケット処理が低速になり、中継装置にかかる負荷が増加してしまうという問題があった。   Further, in the method of Patent Document 3, since information is incorporated in the application layer, there is a problem that the packet processing becomes slow and the load on the relay apparatus increases.

そして、インターネット上でリッチコンテンツを提供する機会が増えた近年では、端末上のアプリケーションがインターネットから大量の情報を高速にダウンロードする目的で、一つのサーバに対して複数のセッションを張り、同時並行で通信を行うという実装が増えてきている。このため、上位の中継装置の配下に宅内中継装置が複数連なる構成で、上位の中継装置のポートを多段に繋がる多数の端末で共有する際に、ポートが重複してセッションが確立できない現象がさらに発生しやすくなっている。   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. For this reason, in a configuration in which a plurality of in-home relay devices are connected under the higher-level relay device, and when the ports of the higher-level relay device are shared by many terminals connected in multiple stages, there is a further phenomenon that a session cannot be established due to overlapping ports. It is likely to occur.

そこでこの発明は、中継装置とサーバとの通信において、ポート番号の枠による限界を超えてセッションを構築できるようにすることを目的とする。   SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to enable a session to be established beyond the limit of a port number frame in communication between a relay device and a server.

この発明は、配下に端末を抱えてDNS−PROXY機能を有する中継装置に、
一のドメイン名に対するドメイン名解決の際に、冗長化された複数のサーバからなる冗長化サーバ群のそれぞれのサーバを指定する複数のIPアドレスを返却された際に、それら複数のIPアドレスを保持可能なDNSキャッシュと、
LAN側からの新たなセッションを構築しようとするパケットが、上記DNSキャッシュに同一ドメイン名で複数のIPアドレスを有するうちの一つのIPアドレスを宛先IPアドレスとして指定するものであるか否かを判断する宛先IP判定機能部を持たせ、
該当する場合は、NAPT機能部に、その宛先IPアドレスを、上記DNSキャッシュに同一ドメイン名についてのIPアドレスとして保持された他の冗長化サーバのIPアドレスに変更させることで、上記の課題を解決したのである。
The present invention provides a relay apparatus having a terminal under its control and having a DNS-PROXY function.
When resolving a domain name for a single domain name, when a plurality of IP addresses specifying each server in a redundant server group consisting of a plurality of redundant servers are returned, the plurality of IP addresses are retained. A possible DNS cache;
Judgment is made as to whether or not a packet to establish a new session from the LAN side specifies one IP address having a plurality of IP addresses with the same domain name as the destination IP address in the DNS cache. A destination IP determination function unit to
If applicable, let the NAPT function unit change the destination IP address to the IP address of another redundant server held as the IP address for the same domain name in the DNS cache, thereby solving the above problem It was.

これは、アクセス数の多いポータルサイトなどでは、単一のサーバではアクセスを処理できないため、同一ドメインを有するサーバを複数設けることで、負荷分散を図っていることを利用している。このような冗長化サーバ群は、同じドメイン名を持ちながらIPアドレスが異なる複数のサーバからなり、サーバとして提供するコンテンツは基本的に同一となるように設定されている。このため、これらの冗長化サーバ群のいずれにアクセスしても、端末としては同一の結果が得られる。このような冗長化サーバ群のIPアドレスはDNSサーバに複数まとめて登録されており、DNSの名前の解決要求に対して、複数のIPアドレスを返却する。   This is because, in a portal site having a large number of accesses, access cannot be processed by a single server, and therefore, load distribution is achieved by providing a plurality of servers having the same domain. Such a redundant server group is composed of a plurality of servers having the same domain name but different IP addresses, and the contents provided as servers are basically set to be the same. For this reason, the same result is obtained as a terminal regardless of which of these redundant server groups is accessed. A plurality of IP addresses of such redundant server groups are registered together in the DNS server, and a plurality of IP addresses are returned in response to a DNS name resolution request.

そこで、DNS−PROXY機能を持つ中継装置に、その複数のIPアドレスをまとめて保持可能なDNSキャッシュを持たせる。通常ならばDNSキャッシュとしては一つのドメイン名に対して一つのIPアドレスを記録しておけば済むが、本発明では一つのドメイン名に対して登録された冗長化サーバ群の複数のIPアドレスを記録しておくことで、それらのIPアドレスの間で、宛先となるIPアドレスを変更できるようにする。これにより、冗長化サーバ群のうち、一つの冗長化サーバに対するセッション数が、割り当てられたポート番号数の限界に達している状況でさらにセッションを構築しようとした場合、同じドメイン名の冗長化サーバ群に対する通信を、別のIPアドレスを有する他の冗長化サーバに対するセッションに差し替えることで、その限界を超えてセッションを構築することができる。あるいは、その限界に達する前に、冗長化サーバ群を構成する冗長化サーバの個々に対して、セッション数ができるだけ均等になるように、中継装置が宛先を差し替えてもよい。   Therefore, a relay apparatus having a DNS-PROXY function is provided with a DNS cache that can hold the plurality of IP addresses together. Normally, it is sufficient to record one IP address for one domain name as a DNS cache. However, in the present invention, a plurality of IP addresses of redundant server groups registered for one domain name are stored. By recording, it becomes possible to change the IP address as the destination among those IP addresses. As a result, if the number of sessions for one redundant server in the redundant server group has reached the limit of the number of assigned port numbers, and if an attempt is made to construct a session, the redundant server with the same domain name By replacing the communication for the group with a session for another redundant server having a different IP address, the session can be established beyond the limit. Alternatively, before the limit is reached, the relay device may replace the destination so that the number of sessions is as uniform as possible for each redundant server constituting the redundant server group.

この発明を実施するにあたり、中継装置が抱える端末の利用者は特に何も意識することはない。端末としてはあるドメイン名を有するサーバへのアクセスを行うにあたり、DNS−PROXYとなる中継装置にDNSの名前の解決を要求し、返却されてきたIPアドレスを宛先としてパケットを送出する。これを受けた中継装置が、適宜必要に応じて当該パケットの宛先IPアドレスを変更して中継し、また、そうして差し替えた先である他の冗長化サーバから返ってきた返答のパケットの送信元IPアドレスを、当該端末が元々指定していた一の冗長化サーバのIPアドレスに変更した上で、当該パケットを端末へ送信することになる。   In carrying out the present invention, the user of the terminal held by the relay apparatus is not particularly aware of anything. In order to access a server having a certain domain name as a terminal, it requests DNS name resolution from the relay device that becomes DNS-PROXY, and sends a packet with the returned IP address as the destination. The relay device that has received this relay changes the destination IP address of the packet as necessary and relays it, and also transmits a reply packet returned from the other redundant server to which the replacement is made. The original IP address is changed to the IP address of one redundant server originally designated by the terminal, and then the packet is transmitted to the terminal.

ここで中継装置が同一の宛先IPアドレスに対して張ることが出来るセッションの数(すなわちポート番号の数)は、より上位の中継装置(例えばLSN)が抱える下位の中継装置の数によって限定されるものであり、その割り当てられる数は、予め上位の中継装置から指定された上でその数に従ってセッションを張っても良い。また、中継装置がより上位の中継装置に対してセッションを構築しようとした要求が拒絶されることで、セッション数が限界に達していることを検知して、宛先IP判定機能によりIPアドレスの変更を実施してもよい。なお、中継装置がインターネットに直接接続している場合には、上位の中継装置が存在しないが、この場合には同一IPアドレスのサーバに対して張ることが出来るセッションの数は、規定通りの65536となる。   Here, the number of sessions (that is, the number of port numbers) that the relay device can establish for the same destination IP address is limited by the number of lower-layer relay devices held by a higher-order relay device (for example, LSN). The assigned number may be specified in advance from a higher-level relay device, and a session may be established according to that number. In addition, when the relay device rejects a request to establish a session with a higher-level relay device, it detects that the number of sessions has reached the limit and changes the IP address using the destination IP determination function. May be implemented. When the relay device is directly connected to the Internet, there is no upper relay device. In this case, the number of sessions that can be established with respect to the server having the same IP address is 65536 as specified. It becomes.

この発明により、上位中継装置に多数の下位中継装置が接続されている環境で、一のサーバに対して個々の下位中継装置及びそれに繋がる端末に配分可能なポート番号の数が限定されている環境で、セッション数の上限を実質的に拡張することができる。下位中継装置側(すなわち端末側)から一のサーバに対して新たなセッションを構築しようとする際に、そのサーバが一のドメイン名に複数の冗長化サーバ群が割り当てられていれば、その冗長化サーバ群のいずれかへのセッションの構築に変更することで、実質的にセッションの上限値は冗長化サーバ群を構成するサーバの数を乗じただけ向上させることが出来る。   According to the present invention, in an environment in which a number of lower level relay devices are connected to a higher level relay device, the number of port numbers that can be allocated to individual lower level relay devices and terminals connected to the same server is limited. Thus, the upper limit of the number of sessions can be substantially expanded. When a new session is to be established for a single server from the lower level relay device side (ie, terminal side), if that server has multiple redundant server groups assigned to a single domain name, the redundancy By changing to the construction of a session to any one of the server groups, the upper limit value of the session can be substantially improved by multiplying the number of servers constituting the redundant server group.

この発明にかかる中継装置を設置するネットワークの例図Example of a network in which a relay device according to the present invention is installed この発明にかかる中継装置の機能ブロック図Functional block diagram of the relay device according to the present invention DNSキャッシュの例図DNS cache example diagram セッション管理テーブルの例図Example of session management table この発明にかかる中継装置がDNSの名前を解決する際のフロー例図Flow diagram when the relay device according to the present invention resolves the DNS name この発明にかかる中継装置がLAN側からWAN側へのパケットを処理する際のフロー例図FIG. 7 is a flowchart showing an example of processing when the relay device according to the present invention processes a packet from the LAN side to the WAN side. 図6の延長Extension of Fig. 6 この発明にかかる中継装置がWAN側からLAN側へのパケットを処理する際のフロー例図FIG. 7 is a flowchart showing an example of processing when the relay apparatus according to the present invention processes a packet from the WAN side to the LAN side.

以下、この発明にかかる中継装置の実施形態について詳細に説明する。まず、この発明にかかる中継装置による効果が好適に得られる状況を、図1を用いて例示する。   Hereinafter, embodiments of a relay device according to the present invention will be described in detail. First, a situation in which the effect of the relay device according to the present invention is suitably obtained will be exemplified with reference to FIG.

インターネット1上には、同一のドメイン(例として、「www.example.co.jp」とする。)を有する冗長化サーバ群11があり、それぞれのサーバ11a,11b……等はいずれも異なるIPv4のグローバルIPアドレスを有している(仮に、「20.20.20.20」と「30.30.30.30」とする。)。また、インターネット1と、IPv6で構成された閉域網2との間には、上位中継装置12が設けてある。上位中継装置12は、一つのIPv4のグローバルIPアドレスを有している(仮に、「40.40.40.40」とする。閉域網2に接続するホームゲートウェイなどの下位の中継装置13は、いずれもインターネット1に対しては、その一つのIPv4グローバルIPアドレス(40.40.40.40)を共有する。個々の中継装置13が抱えるローカルエリアネットワーク3に接続される個々の端末14も同様に、そのIPv4グローバルIPアドレスを共有する。   On the Internet 1, there is a redundant server group 11 having the same domain (for example, “www.example.co.jp”), and the servers 11a, 11b,. (Assuming “20.20.20.20” and “30.30.30.30”). A host relay device 12 is provided between the Internet 1 and a closed network 2 configured with IPv6. The upper level relay device 12 has one IPv4 global IP address (assuming that it is “40.40.40.40”. The lower level relay device 13 such as a home gateway connected to the closed network 2 Both share the same IPv4 global IP address (40.40.40.40) to the Internet 1. The same applies to the individual terminals 14 connected to the local area network 3 held by the individual relay devices 13. Share the IPv4 global IP address.

上位中継装置12とは、NAT(NAPT)機能を有する上位の中継装置であり、閉域網2からインターネット1への通信を全て中継するゲートウェイである。従って、ここには中継装置13の全て、ひいてはそれに繋がる端末14からインターネットへ繋がる通信の全てが集中する。   The host relay device 12 is a host relay device having a NAT (NAPT) function, and is a gateway that relays all communications from the closed network 2 to the Internet 1. Accordingly, all of the relay devices 13 and, in turn, all communications connected to the Internet from the terminals 14 connected thereto are concentrated.

中継装置13とは、例えばルータとして機能するホームゲートウェイなどの、ローカルエリアネットワーク3を抱えるゲートウェイ装置であり、この発明にかかる中継装置として後述する必要な機能を有する。   The relay device 13 is a gateway device having the local area network 3 such as a home gateway functioning as a router, and has necessary functions to be described later as the relay device according to the present invention.

中継装置13の機能ブロック図を図2に示す。端末14に通じるLAN側にはLAN側送受信機能部21があり、上位中継装置12に通じるWAN側にはWAN側送受信機能部22がある。これら送受信機能部は、具体的には、物理的なネットワークインターフェースとそれを制御するためのドライバ等のソフトからなり、パケットの送受信を行う。   A functional block diagram of the relay device 13 is shown in FIG. There is a LAN-side transmission / reception function unit 21 on the LAN side leading to the terminal 14, and a WAN-side transmission / reception function unit 22 is located on the WAN side leading to the upper relay apparatus 12. Specifically, these transmission / reception function units include a physical network interface and software such as a driver for controlling the physical network interface, and transmit / receive packets.

また、中継装置13は、端末14側からのDNSの名前の解決要求に対して、DNSリゾルバとして機能するDNS−proxy機能部31を有する。DNS−proxy機能部31は、インターネット1上にあるDNSサーバ(図示せず)に対してドメイン名の解決を行う。中継装置13は、その解決されたドメイン名とIPアドレスとを記録するDNSキャッシュ32を有する。   Further, the relay device 13 has a DNS-proxy function unit 31 that functions as a DNS resolver in response to a DNS name resolution request from the terminal 14 side. The DNS-proxy function unit 31 performs domain name resolution for a DNS server (not shown) on the Internet 1. The relay device 13 has a DNS cache 32 that records the resolved domain name and IP address.

このDNSキャッシュ32の例を図3に示す。FQDNはIPアドレスに対応するドメイン名を指す。IPアドレスは、WAN側に存在するサーバのIPアドレスである。更新時間は、当該エントリ情報が更新された時刻である。一のドメイン名に対してDNSサーバが返したIPアドレスが複数ある場合には、そのうちの一つだけを記録するのではなく、少なくとも二つ記録しておく。同一ドメイン名のレコード数は特に上限はなく、返されてきたIPアドレスの全てを記録しておいてもよい。ただし、DNSキャッシュ32の検索負荷が許容できる範囲であると好ましい。   An example of the DNS cache 32 is shown in FIG. FQDN indicates the domain name corresponding to the IP address. The IP address is an IP address of a server existing on the WAN side. The update time is the time when the entry information is updated. When there are a plurality of IP addresses returned by the DNS server for a single domain name, at least two IP addresses are recorded instead of only one. The number of records with the same domain name is not particularly limited, and all the returned IP addresses may be recorded. However, it is preferable that the search load of the DNS cache 32 is in an allowable range.

さらに、中継装置13は、閉域網2とローカルエリアネットワーク3との間でやりとりされるパケットについてアドレス及びポート番号の変換を行うNAPT機能部35を有し、NAPT機能部35がLAN側からWAN側へのパケット変換の際に記録し、WAN側からLAN側へのパケット変換の際に参照するセッション管理テーブル36を有する。   Further, the relay device 13 includes a NAPT function unit 35 that converts an address and a port number for a packet exchanged between the closed network 2 and the local area network 3, and the NAPT function unit 35 is connected from the LAN side to the WAN side. A session management table 36 that is recorded at the time of packet conversion to and is referred to at the time of packet conversion from the WAN side to the LAN side.

このセッション管理テーブル36の例を図4に示す。LAN側の送信元アドレスは端末14のローカルIPアドレスであり、宛先アドレスは冗長化サーバ群11のドメイン名を問い合わせて得られた冗長化サーバ11a(20.20.20.20)のIPアドレスである。ただし、設定された限界ポート番号数(ここでは100)を越えるセッションについては、DNSキャッシュ32に記録された第二のアドレスである冗長化サーバ11b(30.30.30.30)のIPアドレスとなっている。   An example of the session management table 36 is shown in FIG. The source address on the LAN side is the local IP address of the terminal 14, and the destination address is the IP address of the redundant server 11a (20.20.20.20) obtained by inquiring the domain name of the redundant server group 11. is there. However, for sessions exceeding the set limit port number (here, 100), the IP address of the redundant server 11b (30.30.30.30), which is the second address recorded in the DNS cache 32, It has become.

そしてさらに中継装置13は、LAN側からの新たなセッション構築を求めるパケットが、冗長化サーバ群11のうちの一の冗長化サーバ11a(例えば「20.20.20.20」)のIPアドレスを宛先として指定するものであるか否かを判定し、なおかつそれが所定の条件に合致する場合、その宛先IPアドレスを、上記DNSキャッシュに保持された当該冗長化サーバ群の他の冗長化サーバ11bのIPアドレス(例えば「30.30.30.30」)に変更した上でNAPT機能部35にパケットを渡す宛先IP判定機能部38を有する。ただし、この宛先IP判定機能部38は、LAN側からWAN側へのパケットを受信した際には、常に判定を実行するとよいが、その結果としてIPアドレスの変更を行うか否かの条件は状況に応じて適宜変更してよい。   Further, the relay device 13 receives the IP address of one redundant server 11a (for example, “20.20.20.20”) of the redundant server group 11 in a packet for requesting a new session construction from the LAN side. It is determined whether or not it is designated as a destination, and if it meets a predetermined condition, the destination IP address is assigned to another redundant server 11b of the redundant server group held in the DNS cache. And a destination IP determination function unit 38 that passes the packet to the NAPT function unit 35 after being changed to an IP address (for example, “30.30.30.30”). However, the destination IP determination function unit 38 should always perform determination when receiving a packet from the LAN side to the WAN side. As a result, the condition for whether or not to change the IP address is the situation. It may be changed appropriately according to the situation.

その、アドレスを変更する場合の条件について、図1の例の状況とともに説明する。
この中継装置13の閉域網2側のアドレスは、上位中継装置12又はそれの付属サーバによって割り当てられたIPv6のIPアドレスである。中継装置13で区切られたローカルエリアネットワーク3では、中継装置13によって個々の端末にIPv4でのローカルIPアドレスが割り当てられてネットワークを構築している。仮にここでは、中継装置13がNo.1からNo.655までの655台接続されている状況を例にとる。
The conditions for changing the address will be described together with the situation of the example of FIG.
The address on the closed network 2 side of the relay device 13 is an IPv6 IP address assigned by the upper relay device 12 or its attached server. In the local area network 3 partitioned by the relay device 13, a local IP address in IPv4 is assigned to each terminal by the relay device 13 to construct a network. Here, the relay device 13 is No. 1 to No. Take the situation where 655 units up to 655 are connected.

上位中継装置12が冗長化サーバ群11に対してアクセスする際に、送信元ポート番号として使用可能なポート番号は最大で65535であり、ここではそれぞれの中継装置13(No.1〜No.655)が、固定値で100ずつの番号を割り当てられているものとする。なお、実際にはこの数は接続される中継装置13の数によって変化するし、中継装置13ごとに優先順位が設けられて割り当てられるポート番号数が変動してもよい。仮に100ずつの固定値だとすると、一つの中継装置13から、インターネット1上の単独サーバ(図示せず)に対して構築することのできるセッションの数は、上位中継装置12において割り当てられた数である100が限界数となる。しかし、冗長化サーバ群11に対しては、個々の冗長化サーバ11a,11b……に対して100ずつセッションを構築できるので、(冗長化サーバ11a等の数×100)だけセッションを構築することができる。   When the upper relay device 12 accesses the redundant server group 11, the maximum port number that can be used as the transmission source port number is 65535, and here, each relay device 13 (No. 1 to No. 655) is used. ) Is assigned a number of 100 at a fixed value. Actually, this number varies depending on the number of connected relay devices 13, and the number of port numbers assigned with priority assigned to each relay device 13 may vary. Assuming that the fixed value is 100, the number of sessions that can be established from one relay device 13 to a single server (not shown) on the Internet 1 is the number assigned in the higher-level relay device 12. 100 is the limit number. However, for the redundant server group 11, since 100 sessions can be established for each redundant server 11a, 11b,..., (The number of redundant servers 11a etc. × 100) sessions are established. Can do.

ところで、基本的には端末14が有するブラウザなどのアプリケーションがドメイン名の解決を要求する際には、一つのドメイン名に対して一つのIPアドレスを受け取ってセッションを構築する。従って、端末14からの要求に対してDNSリゾルバとして動作するDNS−proxy機能部31は、端末14から問い合わせられた一のドメイン名についてDNSサーバより複数のIPアドレスを受け取ってDNSキャッシュ32に記録した場合でも、端末14に対して返答するIPアドレスはそのうちの一つでよい。このため、端末14のアプリケーションはその一つのIPアドレス(仮に20.20.20.20)に対してセッションの構築を試みて、中継装置13にパケットを送る。これを受けた中継装置13では、冗長化サーバ群11宛のセッションとして、まずその第一のIPアドレスに対応する冗長化サーバ11a宛のセッションが構築されていき、割り当てられたポート番号数の枠を使っていくことになる。   By the way, basically, when an application such as a browser of the terminal 14 requests domain name resolution, a session is constructed by receiving one IP address for one domain name. Therefore, the DNS-proxy function unit 31 that operates as a DNS resolver in response to a request from the terminal 14 receives a plurality of IP addresses from the DNS server for one domain name inquired from the terminal 14 and records them in the DNS cache 32. Even in such a case, the IP address returned to the terminal 14 may be one of them. Therefore, the application of the terminal 14 tries to establish a session for the one IP address (assuming 20.20.20.20) and sends a packet to the relay device 13. In response to this, the relay device 13 first constructs a session addressed to the redundancy server 11a corresponding to the first IP address as a session addressed to the redundancy server group 11, and the number of assigned port numbers. Will be used.

第一の実施形態としては、宛先IP判定機能部38は、LAN側からの新たなセッション構築を求めるパケットを受け取った際に、一の冗長化サーバ11aについてのセッション数、すなわちセッション管理テーブル36に記録される冗長化サーバ11aを宛先とするレコードの数が、その中継装置13に割り当てられた限界数に達しているか否かをまず判定する。限界に達していたら、当該IPアドレスでDNSキャッシュ32を検索し、同一ドメイン名で異なるIPアドレスがあるか否かを調べる。この異なるIPアドレスとはすなわち、優先順位が下位で、端末14には返答されなかったアドレスである。それがあれば、冗長化サーバ11a宛のパケットを、DNSキャッシュ32に記録された同一ドメイン名に対応する別のアドレスである冗長化サーバ11b宛のパケットに変更してWAN側へ送出する。すなわち、一つの冗長化サーバ11a宛のセッションの割り当て数を使い切ったら、次の冗長化サーバ11b宛のセッションを順に構築していくという実施形態である。また、3以上の冗長化サーバ11a,11b,11c……からなる冗長化サーバ群11である場合には、上記と同様に、冗長化サーバ11b宛のセッションの割り当て数を使い切ったら、次の冗長化サーバ11c,11d……宛のセッションを順に構築していく。セッション管理テーブル36には、図4の例に示すように、宛先IP判定機能部38によって変更されたアドレスにてセッションが登録され、変更された宛先である冗長化サーバ11bからのパケットをNAPT機能部35が通常と同じように処理する。   In the first embodiment, when the destination IP determination function unit 38 receives a packet for requesting a new session construction from the LAN side, the destination IP determination function unit 38 stores the number of sessions for one redundant server 11a, that is, the session management table 36. It is first determined whether or not the number of records destined for the redundant server 11a to be recorded has reached the limit number assigned to the relay device 13. If the limit is reached, the DNS cache 32 is searched with the IP address to check whether there are different IP addresses with the same domain name. This different IP address is an address having a lower priority and not returned to the terminal 14. If there is, the packet addressed to the redundancy server 11a is changed to the packet addressed to the redundancy server 11b, which is another address corresponding to the same domain name recorded in the DNS cache 32, and sent to the WAN side. That is, in this embodiment, when the allocated number of sessions destined for one redundant server 11a is used up, sessions destined for the next redundant server 11b are sequentially constructed. If the redundant server group 11 is composed of three or more redundant servers 11a, 11b, 11c,..., The next redundant server 11b is used when the allocated number of sessions addressed to the redundant server 11b is used up in the same manner as described above. Sessions addressed to the server 10c, 11d,. In the session management table 36, as shown in the example of FIG. 4, a session is registered with the address changed by the destination IP determination function unit 38, and the packet from the redundant server 11b that is the changed destination is the NAPT function. The unit 35 performs processing as usual.

第二の実施形態としては、宛先IP判定機能部38は、LAN側からWAN側への新たなセッション構築を求めるパケットを受信した場合、そのパケットがDNSキャッシュ32に一つのドメイン名を共有する複数のIPアドレスとして登録されたものの一つであるか否かを検索する。それに合致する、すなわちそれが冗長化サーバ11a宛のパケットであるならば、セッション管理テーブル36に記録された、一の冗長化サーバ11a宛のセッション数と、他の冗長化サーバ11b、11c……宛のセッション数を比較し、他よりもセッション数が特に多くなっている冗長化サーバ宛である場合には、セッション数がより少ない他の冗長化サーバ宛のパケットに変更する。すなわち、セッション数のリソースを分散させて、それぞれの冗長化サーバへ分散してアクセスを行うように計らうという実施形態である。冗長化サーバ群11の負荷分散という点ではこの実施形態の方が好ましい。他よりもセッション数が特に多くなっているか否かの判断としては、セッション数の差が閾値(例えば3,5、10程度)以上である場合が挙げられる。なお、この第二の実施形態の場合も、それぞれの冗長化サーバ11x宛のセッション数が上記の限界数に到達していないかチェックしておくと好ましく、限界数に達した冗長化サーバ11x宛のパケットであれば、無条件に他の冗長化サーバ11x宛のパケットに差し替えるとよい。また、全ての冗長化サーバ11xについて限界数に達していたら、そのパケットは破棄するしかない。   As a second embodiment, when the destination IP determination function unit 38 receives a packet for requesting a new session construction from the LAN side to the WAN side, the destination IP determination function unit 38 shares a single domain name with the DNS cache 32. It is searched whether it is one of those registered as the IP address. If it matches, that is, it is a packet addressed to the redundancy server 11a, the number of sessions addressed to one redundancy server 11a recorded in the session management table 36 and the other redundancy servers 11b, 11c,. The number of sessions addressed is compared, and if it is addressed to a redundant server having a particularly large number of sessions than the other, it is changed to a packet addressed to another redundant server having a smaller number of sessions. That is, in this embodiment, resources for the number of sessions are distributed and access is made to each redundant server in a distributed manner. This embodiment is preferable in terms of load distribution of the redundant server group 11. As a determination of whether or not the number of sessions is particularly larger than the others, there is a case where the difference in the number of sessions is equal to or greater than a threshold value (for example, about 3, 5, 10). Also in the case of this second embodiment, it is preferable to check whether the number of sessions addressed to each redundant server 11x has reached the above limit number. If it is the packet of, it is better to unconditionally replace it with a packet addressed to another redundant server 11x. If the limit number is reached for all redundant servers 11x, the packet can only be discarded.

さらに、第二の実施形態の応用形態として、DNSキャッシュ32に1のドメイン名に対応するものとして複数のIPアドレスが並記されたうちの一つに該当する宛先のパケットであるならば、セッション管理テーブル36におけるセッション数の差に拘わらず、ランダムで他の冗長化サーバ11xにアドレスを変更するものであってもよい。   Further, as an application form of the second embodiment, if the packet is a destination packet corresponding to one of a plurality of IP addresses corresponding to one domain name in the DNS cache 32, a session Regardless of the difference in the number of sessions in the management table 36, the address may be randomly changed to another redundant server 11x.

これらのいずれの実施形態にしても、中継装置13が同一のサーバに対して構築することが出来るセッション数は上位中継装置12によって決定されることになる。従って、このような上位中継装置12と中継装置13とからなる閉域網2を運用するにあたっては、中継装置13が上記のいずれの実施形態であるにせよ、限られたポート番号数の範囲のリソースを有効活用できるように、その限界数を最適に調整して各々の中継装置13に伝達するとよい。   In any of these embodiments, the upper relay apparatus 12 determines the number of sessions that the relay apparatus 13 can construct for the same server. Therefore, when operating such a closed network 2 composed of the higher-level relay device 12 and the relay device 13, regardless of which embodiment the relay device 13 is in the above-described embodiment, resources in a limited number of port numbers So that the limit number is optimally adjusted and transmitted to each relay device 13.

次に、この発明にかかる中継装置13の具体的な動作形態例を、図5以下のフロー図を用いて説明する。ただし、具体的な実装形態はこのフローに限られるものではなく、上記のように冗長化サーバ群11の範囲でアドレスの変更を行いうるものであればよい。   Next, a specific operation mode example of the relay device 13 according to the present invention will be described with reference to the flowchart of FIG. However, the specific mounting form is not limited to this flow, and it is sufficient that the address can be changed within the range of the redundant server group 11 as described above.

まず、DNS−proxy機能部31によるキャッシュ更新動作について図5を用いて説明する。まず(S101)、端末14が新たにサーバ(冗長化サーバ群11を含む)にアクセスするにあたり発信したDNSの名前解決の要求メッセージを、LAN側送受信機能部21を介して受信する(S102)。DNS−proxy機能部31は、WAN側送受信機能部22へ、予め設定されたDNSサーバ宛に、DNSの名前の解決を要求するメッセージを送信する(S103)。WAN側からDNSの応答メッセージを受信したら(S104)、その応答メッセージを解析して、FQDNと対応するIPアドレスを取得する(S105)。   First, the cache update operation by the DNS-proxy function unit 31 will be described with reference to FIG. First (S101), a DNS name resolution request message transmitted when the terminal 14 newly accesses a server (including the redundant server group 11) is received via the LAN side transmission / reception function unit 21 (S102). The DNS-proxy function unit 31 transmits a message requesting resolution of the DNS name to a preset DNS server to the WAN-side transmission / reception function unit 22 (S103). When a DNS response message is received from the WAN side (S104), the response message is analyzed to obtain an IP address corresponding to the FQDN (S105).

その上で、応答メッセージから取得したそれぞれのFQDNとIPアドレスとの組み合わせについて、DNSキャッシュ32の更新処理を行う(S111〜S118)。その中身は、まず、DNSキャッシュ32から、FQDNが応答メッセージから取得したFQDNに一致し、かつIPアドレスが応答メッセージから取得したIPアドレスに一致するエントリを検索する(S112)。条件に合致するエントリが既にあるのならば(S113→Yes)、当該エントリの更新時刻に現在時刻を設定してデータを更新する(S117)。すなわち、すでに直近のタイミングで問い合わせがあったアドレスへの問い合わせであったため、日時を更新するだけとなる。条件に合致するエントリがDNSキャッシュ32に存在しなければ(S113→No)、そのエントリを登録することになる。ただし、その際に、DNSキャッシュ32のエントリ数が上限未満か否かを判断する(S114)。上限に到達してなければそのまま進むが(S114→Yes)、上限に到達していれば(S114→No)、予め更新時刻が最も古いエントリを削除する(S115)。その上で、DNSキャッシュ32に、新規エントリを追加し、応答メッセージから取得したFQDNとIPアドレスの値を設定する(S116)。その上で、設定したエントリの更新時刻に現在の時刻を設定する(S117)。以上の処理を、応答メッセージから取得した全てのFQDNとIPアドレスの組について実施する(S118→S111)。すなわち、問い合わせたFQDNについて複数のIPアドレスが返ってきたら、その個数だけ上記の工程を繰り返す。キャッシュの更新が終わったら、端末14へDNSの応答メッセージを送信する(S119)。受け取った端末14は、そのメッセージを受けとってDNSの名前を解決し、新たなセッションを構築しようとすることになる(S120)。このとき、端末14は、複数のIPアドレスを受け取った場合、その中で先頭のIPアドレスのみを用いてセッション構築を試みるのが一般的なパソコンなどにおける動作である。   Then, the DNS cache 32 is updated for each combination of the FQDN and IP address acquired from the response message (S111 to S118). First, the DNS cache 32 is searched for an entry whose FQDN matches the FQDN acquired from the response message and whose IP address matches the IP address acquired from the response message (S112). If there is already an entry that matches the condition (S113 → Yes), the current time is set as the update time of the entry and the data is updated (S117). That is, since the inquiry is to an address that has already been inquired at the latest timing, only the date and time are updated. If no entry matching the condition exists in the DNS cache 32 (S113 → No), the entry is registered. However, at that time, it is determined whether the number of entries in the DNS cache 32 is less than the upper limit (S114). If the upper limit has not been reached, the process proceeds as it is (S114 → Yes), but if the upper limit has been reached (S114 → No), the entry with the oldest update time is deleted in advance (S115). Then, a new entry is added to the DNS cache 32, and the FQDN and IP address values acquired from the response message are set (S116). Then, the current time is set as the update time of the set entry (S117). The above processing is performed for all pairs of FQDNs and IP addresses acquired from the response message (S118 → S111). That is, when a plurality of IP addresses are returned for the inquired FQDN, the above steps are repeated for the number of IP addresses. When the cache update is completed, a DNS response message is transmitted to the terminal 14 (S119). The received terminal 14 receives the message, resolves the DNS name, and tries to establish a new session (S120). At this time, when the terminal 14 receives a plurality of IP addresses, it is an operation in a general personal computer or the like to attempt session construction using only the first IP address among them.

次に、DNSの名前を解決した端末14からインターネット1へ向けてパケットが送出される際の中継工程を図6及び図7のフローを用いて説明する。まず(S201)、LAN側送受信機能部21にて、パケットを受信する(S202)。宛先IP判定機能部38は、セッション管理テーブル36を検索して、そのパケットのプロトコル、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号と、エントリのプロトコル、LAN側送信元アドレス、LAN側宛先アドレス、LAN側送信元ポート番号、LAN側宛先ポート番号とのそれぞれに一致するエントリがあるか否かを検索する(S204)。条件に合致するエントリが存在すれば(S205→Yes)、そのエントリに従って中継すればよいので、そのままNAPT機能部35に渡して、パケットのヘッダ情報を次のように変更する(S206)。すなわち、パケットの宛先IPアドレス、送信元IPアドレス、宛先ポート番号、送信元ポート番号を、それぞれ、当該エントリのWAN側送信元アドレス、WAN側宛先アドレス、WAN側送信元ポート番号、WAN側宛先ポート番号に変更する。このNAPT変換したパケットを、WAN側送受信機能部22から送信する(S207)。すなわち、既にセッションが確立している通信では、特にこの発明にかかるIPアドレスの変換を行う必要はない。通常通りの中継装置としてパケットを中継して終わる(S209)。   Next, a relay process when a packet is transmitted from the terminal 14 that has resolved the DNS name toward the Internet 1 will be described with reference to the flowcharts of FIGS. 6 and 7. First (S201), the LAN side transmission / reception function unit 21 receives a packet (S202). The destination IP determination function unit 38 searches the session management table 36 to find the protocol, source IP address, destination IP address, source port number, destination port number, entry protocol, LAN side source address of the packet. Then, it is searched whether there is a matching entry for each of the LAN side destination address, the LAN side source port number, and the LAN side destination port number (S204). If there is an entry that matches the condition (S205 → Yes), it is sufficient to relay according to the entry, so it is passed to the NAPT function unit 35 as it is and the header information of the packet is changed as follows (S206). That is, the destination IP address, source IP address, destination port number, and source port number of the packet are respectively set to the WAN side source address, WAN side destination address, WAN side source port number, and WAN side destination port of the entry. Change to a number. The NAPT converted packet is transmitted from the WAN side transmission / reception function unit 22 (S207). In other words, in communication where a session has already been established, there is no need to perform IP address conversion according to the present invention. As a normal relay device, the packet is relayed and finished (S209).

一方、受け取ったパケットに合致するエントリが無い(S205→No)、すなわち、新たなセッションを構築しようとするものである場合、本発明として必要な処理へと移る。宛先IP判定機能部38は、セッション管理テーブル36を検索して、次のようなエントリの数を調べる(S211)。すなわち、パケットのプロトコル、宛先IPアドレス、宛先ポート番号が、それぞれ、エントリのプロトコル、WAN側送信元アドレス、WAN側送信元ポート番号に一致し、かつ、そのエントリのWAN側宛先アドレスが、中継装置13自体のWAN側アドレスに一致するエントリがあるか、あるのならば幾つあるかということである。これはつまり、当該エントリのWAN側情報のうち、宛先ポート番号だけが、そのパケットの送信元ポート番号と一致していない、セッションがあるか否かということであり、同一サーバへの別セッションが既に存在しているか否かということでもある。そのヒットしたエントリ数が、上位中継装置12に依存する上限値に到達していれば(S212→No)、後述するS231以下のフローへ移る(S213,図7)。なお、この上限値は上記の上位中継装置12から割り当て数として通知される値である。   On the other hand, if there is no entry that matches the received packet (S205 → No), that is, if a new session is to be constructed, the processing moves to a process necessary for the present invention. The destination IP determination function unit 38 searches the session management table 36 to check the number of entries as follows (S211). That is, the packet protocol, destination IP address, and destination port number match the entry protocol, WAN-side source address, and WAN-side source port number, respectively, and the WAN-side destination address of the entry is the relay device. 13 is the entry that matches the WAN address of itself, or how many entries there are. This means that there is a session in which only the destination port number in the WAN side information of the entry does not match the source port number of the packet, and there is another session to the same server. It is also whether or not it already exists. If the number of hit entries has reached the upper limit value depending on the higher-level relay device 12 (S212 → No), the flow proceeds to the flow of S231 and later described (S213, FIG. 7). The upper limit value is a value notified from the upper relay apparatus 12 as the number of allocations.

一方、ヒットしたエントリ数が上限に達していなければ(S212→Yes)、条件に合致する各エントリにおいてWAN側宛先ポート番号として使用されていないポート番号を任意に選択する。なお、合致するエントリが0である場合は、当然に0〜65535までの範囲で任意にポート番号を選択できる(S214)。その選択の上で、セッション管理テーブル36に新たなエントリを追加する(S216)。その内容は次の通りである。エントリのプロトコルにはパケットのプロトコルを設定する。エントリのLAN側の送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号に、それぞれパケットの送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号を設定する。エントリのWAN側の送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号に、それぞれ、パケットのIPアドレス、中継装置13のWAN側アドレス、パケットの宛先ポート番号、上記の選択したポート番号、を設定する(S216)。   On the other hand, if the number of hit entries has not reached the upper limit (S212 → Yes), a port number that is not used as a WAN destination port number is arbitrarily selected in each entry that matches the condition. If the matching entry is 0, the port number can be arbitrarily selected within the range of 0 to 65535 (S214). After the selection, a new entry is added to the session management table 36 (S216). The contents are as follows. The protocol of the packet is set as the protocol of the entry. The source IP address, destination IP address, source port number, and destination port number of the packet are set in the source address, destination address, source port number, and destination port number on the LAN side of the entry, respectively. The source address, the destination address, the source port number, and the destination port number on the WAN side of the entry are the IP address of the packet, the WAN side address of the relay device 13, the destination port number of the packet, the selected port number, Is set (S216).

なお、ここでは図4に記載の例の通り、WAN側の情報は、中継装置13がWAN側で受信する時点における送信、受信、という概念でテーブル内の項目を定義した例を示しているが、実装上はここの送受信の項目が逆であってもよい。ただし、セッション管理テーブル36を参照するのは後述するWAN側からの受信の際であるので、WAN側基準でエントリを登録しておく方が、処理がわかりやすくなる。   Here, as shown in the example of FIG. 4, the information on the WAN side shows an example in which the items in the table are defined based on the concept of transmission and reception at the time when the relay device 13 receives on the WAN side. In terms of implementation, the transmission / reception items here may be reversed. However, since the session management table 36 is referred to at the time of reception from the WAN side to be described later, it is easier to understand the process if the entry is registered based on the WAN side standard.

その上で(S217→S203)、その時点で中継装置13が扱っている当該パケットについては、当然にLAN側の情報とパケットの情報が一致するエントリを生成したばかりなので、セッション管理テーブル36に条件合致するエントリが存在することになり(S204→S205→Yes)、直前に登録したエントリの情報に従って、NAPT機能部35がパケットのヘッダ情報を変更して(S206)、WAN側送受信機能部22から送信する(S207→S209)。ここまでの処理のうち、上限値に到達しているかのチェックが入る以外は通常の中継処理と基本的には変わらない。   On that basis (S217 → S203), for the packet handled by the relay device 13 at that time, naturally, an entry in which the information on the LAN side matches the packet information has been generated. There is a matching entry (S204 → S205 → Yes), and the NAPT function unit 35 changes the header information of the packet according to the information of the entry registered immediately before (S206). Transmit (S207 → S209). The processing up to this point is basically the same as normal relay processing except that a check is made as to whether the upper limit value has been reached.

次に、S211において、条件に合致するエントリ数が上限値に到達している場合(S212→No→S213)、すなわち、宛先であるサーバについて、上位中継装置12から割り当てられるポート番号の枠を使い切っている場合について説明する。フローは主に図7へ移る(S231)。   Next, in S211, when the number of entries that match the condition has reached the upper limit (S212 → No → S213), that is, for the destination server, the port number frame allocated from the higher-level relay device 12 is used up. The case will be described. The flow mainly moves to FIG. 7 (S231).

処理前にエラーチェックを行う。DNSキャッシュ32から、当該パケットの宛先IPアドレスと、エントリのLAN側宛先IPアドレスに一致するエントリがあるか否かを居検索する(S232)。もしエントリが存在しなければ、セッション管理テーブル36に記録があるにも拘わらずDNSキャッシュ32にエントリが無いという不自然な状態であり、なおかつ、本発明にかかるIPアドレスの変更もできないので送信のしようもないので、当該パケットについては破棄して(S234)、フローを終了する(S235→S208→S209、終了)。エントリがDNSキャッシュ32に存在するのであれば、当該エントリのFQDNの値を、内部変数「宛先ドメイン名」に代入する(S241)。その上で、DNSキャッシュに記載のある範囲で変更の検討を行う(S242〜)。まず、i=1として(S242)、DNSキャッシュ32のi番目(ここでは1番目)のエントリのFQDNが「宛先ドメイン名」と一致しているか否かを調べる(S243)。一致していなければ(S243→No)、DNSキャッシュのエントリが残る限り(S248→Yes)、i+1して次の番目のエントリについて(S249)、同様にチェックする(S243)。一致していれば、セッション管理テーブル36から、次の条件に合致するエントリがあるか否かを検索する(S244)。すなわち、エントリのプロトコルがパケットのプロトコルと一致し、WAN側送信元アドレスが、取り扱い中のDNSキャッシュのi番目のエントリのIPアドレスに一致し、WAN側宛先アドレスが中継装置13のWAN側アドレスに一致し、WAN側送信元ポート番号が、パケットの宛先ポート番号に一致するエントリの数をカウントする。   Perform error checking before processing. The DNS cache 32 is searched for whether there is an entry that matches the destination IP address of the packet and the LAN-side destination IP address of the entry (S232). If there is no entry, it is an unnatural state that there is no entry in the DNS cache 32 even though there is a record in the session management table 36, and the IP address according to the present invention cannot be changed. Since there is no way, the packet is discarded (S234), and the flow ends (S235 → S208 → S209, end). If the entry exists in the DNS cache 32, the value of the FQDN of the entry is substituted into the internal variable “destination domain name” (S241). After that, the change is examined within a certain range described in the DNS cache (S242). First, i = 1 is set (S242), and it is checked whether or not the FQDN of the i-th (here, the first) entry of the DNS cache 32 matches the “destination domain name” (S243). If they do not match (S243 → No), as long as DNS cache entries remain (S248 → Yes), i + 1 and the next entry (S249) are checked in the same manner (S243). If they match, the session management table 36 is searched for an entry that meets the following conditions (S244). That is, the protocol of the entry matches the protocol of the packet, the WAN-side source address matches the IP address of the i-th entry of the DNS cache being handled, and the WAN-side destination address matches the WAN-side address of the relay device 13 The number of entries that match and the WAN side source port number matches the destination port number of the packet is counted.

このエントリが存在するものの(S245→Yes)、そのエントリ数が上記の上限値に到達していたら(S246→No)、そのi番目のエントリのIPアドレスは、既に上位中継装置12から割り当てられたポート番号の枠を使い切っているので、次のi+1番目のチェックに移る(S249〜)。これに該当するのは、元々上限値に到達しているパケットのIPアドレスである場合の他に、この発明によって別のIPアドレスへの振り分けとなる変更を行った別のIPアドレスについてもポート番号枠を使い切ってしまった場合も該当する。   If this entry exists (S245 → Yes), but the number of entries has reached the above upper limit (S246 → No), the IP address of the i-th entry has already been assigned by the higher-level relay device 12. Since the port number frame has been used up, the process proceeds to the next (i + 1) th check (S249-). This corresponds to the IP address of the packet that originally reached the upper limit value, as well as the port number for another IP address that has been changed to be distributed to another IP address according to the present invention. This also applies when the frame is used up.

一方、合致するエントリ数が0である場合には(S245→No)、そのi番目のエントリのIPアドレスは、ポート番号枠から溢れた分の振り分け先として、ポート番号がまだ使われておらず、十分な空き枠があるということであり、そのIPアドレスを宛先とすることができる。また、合致するエントリが存在し(S245→Yes)、そのエントリ数が上記の上限値に達していないのであれば(S246→Yes)、そのi番目のエントリのIPアドレスは、振り分け先として一部のポート番号が使われているものの、上位中継装置12から割り当てられた枠をまだ使い切っていないので、そのIPアドレスを宛先とすることができる。この、振り分け先となるIPアドレスは、変数「宛先ドメイン名」を元のパケットの宛先IPアドレスと共有するものであり、すなわち、同一のコンテンツを提供できるサーバということである。   On the other hand, if the number of matching entries is 0 (S245 → No), the port number of the IP address of the i-th entry has not yet been used as an allocation destination overflowing from the port number frame. This means that there is sufficient free space, and that IP address can be the destination. If there is a matching entry (S245 → Yes) and the number of entries does not reach the upper limit (S246 → Yes), the IP address of the i-th entry is a part of the distribution destination. Although the port number assigned by the higher-level relay device 12 has not been used up yet, the IP address can be set as the destination. The distribution destination IP address shares the variable “destination domain name” with the destination IP address of the original packet, that is, a server that can provide the same content.

そこで、そのi番目のエントリのIPアドレスが振り分け先として利用できるものであるとわかった場合(S247→S215)、宛先IP判定機能部38は、使えるポート番号を任意に選択した上で(S214)、セッション管理テーブル36に当該パケットのエントリを追加する。その内容は上記のS216と基本的には同一であるが、WAN側送信元アドレスだけは、当該i番目のエントリのIPアドレスとなる。すなわち、図4の下段に記載されているエントリのように、LAN側宛先アドレスと、WAN側の送信元アドレスとが一致しないエントリが生成される(S216)。その上で(S217→S203→S204→S205→Yes)、当該エントリに則ってNAPT変換が行われ(S206)、当該パケットは端末14が指定した冗長化サーバではなく、そのサーバとドメイン名を同じくする別の冗長化サーバへ送信される(S207)。   Therefore, when it is determined that the IP address of the i-th entry can be used as a distribution destination (S247 → S215), the destination IP determination function unit 38 arbitrarily selects a usable port number (S214). Then, an entry of the packet is added to the session management table 36. The content is basically the same as S216 described above, but only the WAN source address is the IP address of the i-th entry. That is, an entry in which the LAN-side destination address and the WAN-side source address do not match is generated as in the entry described in the lower part of FIG. 4 (S216). After that (S217 → S203 → S204 → S205 → Yes), NAPT conversion is performed in accordance with the entry (S206), and the packet is not the redundant server designated by the terminal 14, but has the same domain name as that server. Is transmitted to another redundant server (S207).

なお、最終的に、最後のエントリまで検索しても変更可能なエントリが見つからなければ(S248→No)、そのパケットは送信しても上位中継装置12で中継できないので、その場で破棄して(S251)、当該パケットの処理を終了する(S252→S208→S209)。   Finally, if no changeable entry is found even after searching up to the last entry (S248 → No), the packet cannot be relayed by the higher-level relay device 12 even if it is transmitted. (S251), the processing of the packet is terminated (S252 → S208 → S209).

次に、WAN側からパケットが返送されてきた際の処理について、図8のフローを用いて説明する。まず(S301)、WAN側送受信機能部22にてパケットを受信したら(S302)、NAPT機能部35が、セッション管理テーブル36から、WAN側の情報が、受け取ったパケットと一致するエントリがあるか否かを検索する(S303)。存在していなければ(S304→No)、不明なパケットとして破棄する(S305→S308)。存在していれば、NAPT機能部35は、そのパケットの宛先IPアドレス、送信元IPアドレス、宛先ポート番号、送信元ポート番号を、当該エントリのLAN側送信元アドレス、LAN側宛先アドレス、LAN側送信元ポート番号、LAN側宛先ポート番号に変換する。すなわち、上記の宛先IP判定機能部38によって、宛先となるサーバのアドレスを変更したエントリに従って送出されたパケットの返答パケットは、ここで、セッション管理テーブル36に登録されている元の宛先IPアドレスからの返答パケットであるようにヘッダを書き換えられた上で、LAN側に送信される(S307→S308)。宛先IP判定機能部38によって宛先を変えられていないパケットは、元の宛先であるサーバからのパケットであるので、実際には送信元IPアドレスを変更されることなく、LAN側へ送信される。このため、端末14では中継装置13が果たした宛先サーバの変更の有無について一切考慮することなく、当初指定して期待した通りのコンテンツを得ることができる。   Next, processing when a packet is returned from the WAN side will be described using the flow of FIG. First, when a packet is received by the WAN side transmission / reception function unit 22 (S301) (S302), the NAPT function unit 35 determines from the session management table 36 whether there is an entry whose WAN side information matches the received packet. (S303). If it does not exist (S304 → No), it is discarded as an unknown packet (S305 → S308). If present, the NAPT function unit 35 sets the destination IP address, source IP address, destination port number, and source port number of the packet to the LAN side source address, LAN side destination address, LAN side of the entry. The source port number and the LAN side destination port number are converted. That is, the reply packet of the packet sent by the destination IP determination function unit 38 according to the entry in which the address of the server serving as the destination is changed is obtained from the original destination IP address registered in the session management table 36. The header is rewritten so as to be a reply packet of the message and transmitted to the LAN side (S307 → S308). Since the packet whose destination has not been changed by the destination IP determination function unit 38 is a packet from the server that is the original destination, the packet is actually transmitted to the LAN side without changing the source IP address. For this reason, the terminal 14 can obtain the content as initially specified and expected without considering any change in the destination server performed by the relay device 13.

この発明を実施する環境では、上位中継装置12では、一の中継装置13から同一のIPアドレス宛で、宛先ポート番号が同じながら送信元ポート番号が異なるパケットが来たら、その中継装置13に割り当てたポート番号の数だけ受け付けた上でNAPT変換し、既に上限値に達しているのであれば、接続不可としてパケットを破棄することになる。ただし、この発明にかかる中継装置13によって上位中継装置12へ送るパケットの宛先IPアドレスを変更することによって、そのようなパケット破棄に至る件数を大幅に減らすことができる。   In the environment in which the present invention is implemented, the higher-level relay apparatus 12 assigns a packet from the one relay apparatus 13 to the same IP address and having the same destination port number but a different source port number. After receiving the number of port numbers received, the NAPT conversion is performed. If the upper limit has already been reached, the packet is discarded as a connection failure. However, by changing the destination IP address of the packet sent to the higher-level relay device 12 by the relay device 13 according to the present invention, the number of cases leading to such packet discard can be greatly reduced.

なお、判断する処理の概念上、宛先IP判定機能部38とNAPT機能部35とを分けて記載したが、この発明を実装するにあたっては、これらの機能部は一体化してフローを処理するものであってもよい。   Although the destination IP determination function unit 38 and the NAPT function unit 35 have been described separately in terms of the determination process, these function units are integrated to process the flow when the present invention is implemented. There may be.

また、上記では説明の例として、閉域網2を介して上位中継装置12が存在する場合を説明したが、上位中継装置12を介することなく中継装置13自体がインターネット1に直接接続されていて、配下に多数の端末14を有する場合でも、この発明は利用可能である。多数の端末14から、65536のポートを使い切るほどのセッションが一の冗長化サーバ11aに対して張られた場合、同様に、まだセッションを張っていない、同一ドメイン名である冗長化サーバ11bへのパケットとすることで、中継装置13は冗長化サーバ群11に対して安定的な接続が可能となる。   Further, in the above description, the case where the upper relay device 12 exists via the closed network 2 has been described as an example of the description. However, the relay device 13 itself is directly connected to the Internet 1 without the upper relay device 12, The present invention can be used even when there are a large number of terminals 14 under control. When a session that uses up the port of 65536 is established from a large number of terminals 14 to one redundant server 11a, similarly, to the redundant server 11b having the same domain name that has not yet established a session. By using packets, the relay device 13 can be stably connected to the redundant server group 11.

1 インターネット
2 閉域網
3 ローカルエリアネットワーク
11 冗長化サーバ群
11a,11b,11c,11x 冗長化サーバ
12 上位中継装置
13 中継装置
14 端末
21 LAN側送受信機能部
22 WAN側送受信機能部
31 DNS−proxy機能部
32 DNSキャッシュ
35 NAPT機能部
36 セッション管理テーブル
38 宛先IP判定機能部
DESCRIPTION OF SYMBOLS 1 Internet 2 Closed network 3 Local area network 11 Redundant server group 11a, 11b, 11c, 11x Redundant server 12 Upper level relay apparatus 13 Relay apparatus 14 Terminal 21 LAN side transmission / reception function part 22 WAN side transmission / reception function part 31 DNS-proxy function Unit 32 DNS cache 35 NAPT function unit 36 session management table 38 destination IP determination function unit

Claims (4)

LAN側からの通信に対して、ドメイン名解決を行うDNS−PROXY機能部と、
LAN側とWAN側とを行き来するパケットについて、アドレス及びポート番号を変更して中継するNAPT機能部と、
そのNAPT機能を実行するためにLAN側とWAN側との両方における宛先IPアドレス、送信元IPアドレス、宛先ポート番号、送信元ポート番号を記録したセッション管理テーブルとを有する中継装置であって、
一のドメイン名に対するドメイン名解決の際に、冗長化された複数のサーバからなる冗長化サーバ群のそれぞれのサーバを指定する複数のIPアドレスを返却された際に、それら複数のIPアドレスを前記ドメイン名と結びつけて保持可能なDNSキャッシュを有し、
LAN側からの新たなセッションを構築しようとするパケットが、上記DNSキャッシュに同一ドメイン名で複数のIPアドレスを有するうちの一つのIPアドレスを宛先IPアドレスとして指定するものであるか否かを判断する宛先IP判定機能部を有し、
該当する場合は、上記NAPT機能部に、その宛先IPアドレスを、上記DNSキャッシュに同一ドメイン名についてのIPアドレスとして保持された他の冗長化サーバのIPアドレスに変更させる中継装置。
DNS-PROXY function unit that performs domain name resolution for communication from the LAN side;
A NAPT function unit that relays packets that change between the LAN side and the WAN side by changing addresses and port numbers;
A relay apparatus having a session management table in which a destination IP address, a source IP address, a destination port number, and a source port number are recorded on both the LAN side and the WAN side in order to execute the NAPT function;
When resolving a domain name for a single domain name and returning a plurality of IP addresses specifying each server of a redundant server group consisting of a plurality of redundant servers, the plurality of IP addresses are A DNS cache that can be stored in association with the domain name,
Judgment is made as to whether or not a packet to establish a new session from the LAN side specifies one IP address having a plurality of IP addresses with the same domain name as the destination IP address in the DNS cache. A destination IP determination function unit,
If applicable, a relay device that causes the NAPT function unit to change its destination IP address to the IP address of another redundant server held as an IP address for the same domain name in the DNS cache.
受信したパケットに対して上記宛先IP判定機能部の判定により宛先IPアドレスの変更を実行した上で中継する条件が、
上記セッション管理テーブルにおいて、LAN側から受信したパケットの宛先IPアドレスと、送信先である冗長化サーバを指定するIPアドレスとが合致するエントリの数が、予め指定された上限値を超過する場合である、請求項1に記載の中継装置。
The condition for relaying the received packet after executing the change of the destination IP address by the determination of the destination IP determination function unit is as follows:
In the session management table, when the number of entries where the destination IP address of the packet received from the LAN side matches the IP address specifying the redundant server that is the transmission destination exceeds a predetermined upper limit value. The relay device according to claim 1.
受信したパケットに対して上記宛先IP判定機能部の判定により宛先IPアドレスの変更を実行した上で中継する条件が、
上記セッション管理テーブルにおいて、上記冗長化サーバ群のうちの一の冗長化サーバのIPアドレスを宛先IPアドレスとするエントリが、上記冗長化サーバ群のうちの他の冗長化サーバのIPアドレスを宛先IPアドレスとするエントリに対して、予め定めた差以上となった場合である
請求項1に記載の中継装置。
The condition for relaying the received packet after executing the change of the destination IP address by the determination of the destination IP determination function unit is as follows:
In the session management table, an entry whose destination IP address is the IP address of one redundant server in the redundant server group is the destination IP address of the other redundant server in the redundant server group. The relay apparatus according to claim 1, wherein the difference is greater than or equal to a predetermined difference with respect to an entry as an address.
請求項2に記載の中継装置が複数設けられ、インターネットに繋がる上位中継装置が設けられた閉域網の運用方法であって、
上記上限値が、上記上位中継装置から上記中継装置に割り当てられたポート番号数に対応する数である、閉域網の運用方法。
A method of operating a closed network in which a plurality of relay devices according to claim 2 are provided and a host relay device connected to the Internet is provided,
A method of operating a closed network, wherein the upper limit value is a number corresponding to the number of port numbers assigned to the relay device from the upper relay device.
JP2012185095A 2012-08-24 2012-08-24 Relay device and operation method thereof Active JP5921991B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012185095A JP5921991B2 (en) 2012-08-24 2012-08-24 Relay device and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012185095A JP5921991B2 (en) 2012-08-24 2012-08-24 Relay device and operation method thereof

Publications (2)

Publication Number Publication Date
JP2014045245A true JP2014045245A (en) 2014-03-13
JP5921991B2 JP5921991B2 (en) 2016-05-24

Family

ID=50396244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012185095A Active JP5921991B2 (en) 2012-08-24 2012-08-24 Relay device and operation method thereof

Country Status (1)

Country Link
JP (1) JP5921991B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11212250B2 (en) 2017-03-31 2021-12-28 Nec Corporation Relay device, network system, and network control method
US11303525B2 (en) 2017-02-02 2022-04-12 Nec Corporation Communication system, communication control method, and communication program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI666359B (en) 2014-03-31 2019-07-21 日商東麗股份有限公司 Dyed artificial leather and manufacturing method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004513538A (en) * 2000-09-08 2004-04-30 リーフエッジ,インコーポレイテッド Location Independent Packet Routing and Secure Access in Near Field Wireless Network Environment
JP2006222631A (en) * 2005-02-09 2006-08-24 Hitachi Ltd Convergence controller and convergence control method for network
JP2007074172A (en) * 2005-09-05 2007-03-22 Matsushita Electric Ind Co Ltd Inter-private network connection system and address conversion device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004513538A (en) * 2000-09-08 2004-04-30 リーフエッジ,インコーポレイテッド Location Independent Packet Routing and Secure Access in Near Field Wireless Network Environment
JP2006222631A (en) * 2005-02-09 2006-08-24 Hitachi Ltd Convergence controller and convergence control method for network
JP2007074172A (en) * 2005-09-05 2007-03-22 Matsushita Electric Ind Co Ltd Inter-private network connection system and address conversion device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11303525B2 (en) 2017-02-02 2022-04-12 Nec Corporation Communication system, communication control method, and communication program
US11212250B2 (en) 2017-03-31 2021-12-28 Nec Corporation Relay device, network system, and network control method

Also Published As

Publication number Publication date
JP5921991B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
JP4234482B2 (en) Dynamic DNS registration method, domain name resolution method, proxy server, and address translation device
EP2556438B1 (en) Reverse dns lookup with modified reverse mappings
US8805977B2 (en) Method and system for address conflict resolution
US9723023B2 (en) Destination address rewriting to block peer-to-peer communications
US8902743B2 (en) Distributed and scalable network address translation
JP5516571B2 (en) Communication method, communication system, anonymization device, server
US8554946B2 (en) NAT traversal method and apparatus
US20120257628A1 (en) Mapping private and public addresses
US9654540B2 (en) Load balancing among network servers
JPWO2006067951A1 (en) Access control apparatus and access control method
US9118721B1 (en) Socket-based internet protocol for wireless networks
JP2017508380A (en) Select network services based on host name
JP2007074172A (en) Inter-private network connection system and address conversion device
EP2538621A1 (en) Data message processing method, system and access service node
US20170289101A1 (en) Nat aware dns
JP5921991B2 (en) Relay device and operation method thereof
US10079799B2 (en) Using domain name server queries for managing access control lists
JP4191180B2 (en) Communication support device, system, communication method, and computer program
JP2012010235A (en) Packet relay apparatus and network system
WO2020254838A1 (en) Large scale nat system
JP2004254203A (en) Gateway device
JP2008206081A (en) Data relaying apparatus and data relaying method used for multi-homing communication system
US20090274057A1 (en) Systems, Methods and Software for Identifying a Preferred Egress Gateway in a Bypass Network for Accessing a Content Server in Another Network
Lencse et al. RFC 9313: Pros and Cons of IPv6 Transition Technologies for IPv4-as-a-Service (IPv4aaS)
CN113422723A (en) Method and equipment for forwarding message

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151222

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20160216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160219

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20160219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160413

R150 Certificate of patent or registration of utility model

Ref document number: 5921991

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