[go: up one dir, main page]

JP7582678B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM - Google Patents

COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM Download PDF

Info

Publication number
JP7582678B2
JP7582678B2 JP2022002165A JP2022002165A JP7582678B2 JP 7582678 B2 JP7582678 B2 JP 7582678B2 JP 2022002165 A JP2022002165 A JP 2022002165A JP 2022002165 A JP2022002165 A JP 2022002165A JP 7582678 B2 JP7582678 B2 JP 7582678B2
Authority
JP
Japan
Prior art keywords
communication control
packet
received
conversion
address
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
JP2022002165A
Other languages
Japanese (ja)
Other versions
JP2023101924A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2022002165A priority Critical patent/JP7582678B2/en
Publication of JP2023101924A publication Critical patent/JP2023101924A/en
Application granted granted Critical
Publication of JP7582678B2 publication Critical patent/JP7582678B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本開示は、通信制御装置、通信制御システム、通信制御方法及びプログラムに関し、特にレイヤ3ネットワークのNAPT利用環境における通信制御装置、通信制御システム、通信制御方法及びプログラムに関する。 This disclosure relates to a communication control device, a communication control system, a communication control method, and a program, and in particular to a communication control device, a communication control system, a communication control method, and a program in a NAPT-using environment of a layer 3 network.

通信制御装置の標準的な仕様として、OSI参照モデル(Open Systems Interconnection reference model)のレイヤ3(ネットワーク層)においてIPパケットの通信仕様が定められている。また、グローバルネットワークとプライベートネットワーク間で通信を行うための一般的なアドレス変換技術として、NAPT(Network Address Port Translation)が知られている(例えば特許文献1参照)。 The standard specifications for communication control devices stipulate IP packet communication specifications in Layer 3 (network layer) of the Open Systems Interconnection reference model (OSI reference model). In addition, NAPT (Network Address Port Translation) is known as a general address translation technology for communicating between a global network and a private network (see, for example, Patent Document 1).

特開2006-180362号公報JP 2006-180362 A

NAPT配下で大量のエンドポイントを処理する環境では、ポート番号の枯渇による障害が発生することがあり、これを回避するにはネットワーク構成を制限する必要があるという問題があった。 In environments where a large number of endpoints are processed under NAPT, problems can occur due to port number exhaustion, and to avoid this, it is necessary to restrict the network configuration.

本開示の目的は、上述した課題に鑑み、NAPT利用環境において多数のエンドポイントが好適に処理されるようなネットワーク環境の構築を実現する通信制御装置、通信制御システム、通信制御方法及びプログラムを提供することにある。 In view of the above-mentioned problems, the objective of the present disclosure is to provide a communication control device, a communication control system, a communication control method, and a program that realize the creation of a network environment in which a large number of endpoints can be appropriately processed in a NAPT-using environment.

本開示の一態様にかかる通信制御システムは、
プライベートネットワークに接続され、第1グローバルアドレスを有する第1通信制御部と、
前記プライベートネットワークに接続され、前記第1グローバルアドレスと異なる第2グローバルアドレスを有する第2通信制御部と
を備える。
前記第1通信制御部は、
受信したIPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、OSI参照モデルのネットワーク層のNAPT変換に用いられる第1変換テーブルであって、プライベートアドレス及び変換前ポート番号と、グローバルアドレス及び変換後ポート番号とを対応付ける第1変換テーブルに基づいて、新規な組み合わせと判定される場合、前記第1グローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、前記第2グローバルアドレスとを対応付けて前記第1変換テーブルに登録し、
前記第2通信制御部に、受信した前記IPパケットを転送する。
A communication control system according to an embodiment of the present disclosure includes:
a first communication control unit connected to the private network and having a first global address;
a second communication control unit connected to the private network and having a second global address different from the first global address.
The first communication control unit is
When a set of a private address and a pre-translation port number included in a received IP packet as source information is determined to be a new combination based on a first translation table used for NAPT conversion in a network layer of the OSI reference model, the first translation table associating a private address and a pre-translation port number with a global address and a post-translation port number, determining whether or not the number of port numbers corresponding to the first global address and available for the NAPT conversion is equal to or less than a predetermined threshold;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet and the second global address in the first conversion table in association with each other;
The received IP packet is transferred to the second communication control unit.

本開示の一態様にかかる通信制御装置は、
受信したIPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する。
A communication control device according to an aspect of the present disclosure includes:
When a set of a private address and a pre-translation port number included as source information in a received IP packet is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number, and that is used for NAPT conversion in the network layer of the OSI reference model, the device determines whether or not the number of port numbers that correspond to its own global address and are available for the NAPT conversion is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device;
The received IP packet is transferred to the other communication control unit.

本開示の一態様にかかる通信制御方法は、
受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する。
A communication control method according to one aspect of the present disclosure includes:
When a set of a private address and a pre-translation port number included as source information in a received IP packet is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number, and that is used for NAPT conversion in the network layer of the OSI reference model, the device determines whether or not the number of port numbers that correspond to its own global address and are available for the NAPT conversion is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device;
The received IP packet is transferred to the other communication control unit.

本開示の一態様にかかるプログラムは、
コンピュータに、
受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定する処理と、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する処理と
を実行させる。
A program according to one aspect of the present disclosure includes:
On the computer,
a process of determining whether the number of port numbers corresponding to a global address owned by the device and available for the NAPT conversion is equal to or less than a predetermined threshold value when a set of a private address and a pre-translation port number included in a received IP packet as source information is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number and that is used for the NAPT conversion in the network layer of the OSI reference model;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device;
The other communication control device is caused to execute a process of forwarding the received IP packet.

本開示により、NAPT利用環境において多数のエンドポイントが好適に処理されるようなネットワーク環境の構築を実現する通信制御装置、通信制御システム、通信制御方法及びプログラムを提供できる。 This disclosure provides a communication control device, a communication control system, a communication control method, and a program that realize the creation of a network environment in which a large number of endpoints can be appropriately processed in a NAPT-using environment.

実施形態1にかかるシステムの構成を示すブロック図である。1 is a block diagram showing a configuration of a system according to a first embodiment. 実施形態1にかかる第1変換テーブルのデータ構造の一例を示す図である。FIG. 4 is a diagram illustrating an example of a data structure of a first conversion table according to the first embodiment. 実施形態1にかかる第1通信制御部による通信制御方法の流れを示すフローチャートである。5 is a flowchart showing a flow of a communication control method by a first communication control unit according to the first embodiment. 実施形態1にかかる第1通信制御部による通信制御方法の流れを示すフローチャートである。5 is a flowchart showing a flow of a communication control method by a first communication control unit according to the first embodiment. 実施形態1にかかる第1通信制御部による通信制御方法の流れを示すフローチャートである。5 is a flowchart showing a flow of a communication control method by a first communication control unit according to the first embodiment. 実施形態2にかかるシステムの構成を示すブロック図である。FIG. 11 is a block diagram showing a configuration of a system according to a second embodiment. 実施形態2にかかるシステムの処理の流れを示すシーケンス図である。FIG. 11 is a sequence diagram showing a processing flow of the system according to the second embodiment. 実施形態2にかかるシステムの処理の流れを示すシーケンス図である。FIG. 11 is a sequence diagram showing a processing flow of the system according to the second embodiment. 実施形態3にかかるシステムの構成を示すブロック図である。FIG. 11 is a block diagram showing a configuration of a system according to a third embodiment. 実施形態4にかかるシステムの構成を示すブロック図である。FIG. 13 is a block diagram showing a configuration of a system according to a fourth embodiment. 実施形態4にかかる変換テーブルのデータ構造の一例を示す図である。FIG. 13 is a diagram illustrating an example of a data structure of a conversion table according to the fourth embodiment. コンピュータの構成例を示す図である。FIG. 1 illustrates an example of the configuration of a computer. 関連するシステムの構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a related system. 関連する変換テーブルのデータ構造の一例を示す図である。FIG. 13 is a diagram illustrating an example of a data structure of an associated conversion table.

以下では、本開示の実施形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。 Embodiments of the present disclosure will now be described in detail with reference to the drawings. In each drawing, identical or corresponding elements are denoted by the same reference numerals, and duplicated descriptions will be omitted as necessary for clarity of explanation.

<実施形態の課題>
関連する技術においては、NAPT(Network Address Port Translation)は、例えば図13に示すシステム9のようなネットワーク構成において用いられている。図13は、関連するシステム9の構成を示すブロック図である。
<Problems of the embodiment>
In a related technique, NAPT (Network Address Port Translation) is used in a network configuration such as a system 9 shown in Fig. 13. Fig. 13 is a block diagram showing the configuration of the related system 9.

システム9は、通信制御装置90と、複数のクライアント装置20と、外部装置30とを備える。通信制御装置90と外部装置30とは、グローバルネットワークGNに接続されている。 The system 9 includes a communication control device 90, a plurality of client devices 20, and an external device 30. The communication control device 90 and the external device 30 are connected to a global network GN.

通信制御装置90は、NAPTが動作する一般的な通信制御装置である。通信制御装置90は、グローバルネットワークGNとプライベートネットワークPNとを接続するゲートウェイ部に設置されている。プライベートネットワークPNの配下には、複数のクライアント装置20が接続されている。通信制御装置90及び複数のクライアント装置20は、PN側システム900を構成している。複数のクライアント装置20の各々には、プライベートIPアドレスが割り当てられている。以下では、プライベートIPアドレスを、単にプライベートアドレスと呼ぶ。通信制御装置90がNAPTによるアドレス変換(以下、NAPT変換と呼ぶことがある)を行うことにより、複数のクライアント装置20の各々は、グローバルネットワークGNに存在する外部装置30と通信することが可能になる。 The communication control device 90 is a general communication control device that operates using NAPT. The communication control device 90 is installed in a gateway that connects a global network GN and a private network PN. A plurality of client devices 20 are connected to the private network PN. The communication control device 90 and the plurality of client devices 20 constitute a PN side system 900. A private IP address is assigned to each of the plurality of client devices 20. Hereinafter, the private IP address is simply referred to as a private address. The communication control device 90 performs address conversion using NAPT (hereinafter, sometimes referred to as NAPT conversion), enabling each of the plurality of client devices 20 to communicate with an external device 30 that exists in the global network GN.

NAPTによるアドレス変換について、図14を用いて説明する。図14は、関連する変換テーブルT0のデータ構造の一例を示す図である。NAPTによるアドレス変換は、変換テーブルT0に従って行われる。通信制御装置90は、グローバルネットワークGN上の体系に変換したアドレスをプライベートネットワーク上の体系に戻すために、変換前の情報と変換後の情報を一対一に対応させる必要がある。 Address conversion using NAPT will be explained with reference to FIG. 14. FIG. 14 is a diagram showing an example of the data structure of the associated conversion table T0. Address conversion using NAPT is performed according to conversion table T0. In order to convert an address converted into the system on the global network GN back into the system on the private network, the communication control device 90 needs to create a one-to-one correspondence between the information before conversion and the information after conversion.

変換前の情報は送信元のプライベートアドレスとポート番号の組(セット)となっており、本実施形態内ではこのセットをエンドポイントと呼ぶ。変換後の情報はグローバルアドレスとポート番号のセットである。変換後のグローバルIPアドレスには通信制御装置90に割り当てられたグローバルアドレスG1のみが用いられる。以下では、グローバルIPアドレスを、単にグローバルアドレスと呼ぶ。NAPT変換後のポート番号として利用できるポート番号の範囲は、NAPTの実装による。例えば予約済みポート番号を除いて可能な限り広い変換範囲を確保する場合、1024から65535までのポート番号が用いられる。 The information before conversion is a set of the source private address and port number, and in this embodiment, this set is called an endpoint. The information after conversion is a set of a global address and a port number. Only the global address G1 assigned to the communication control device 90 is used as the global IP address after conversion. In the following, the global IP address is simply called the global address. The range of port numbers that can be used as port numbers after NAPT conversion depends on the implementation of NAPT. For example, to ensure the widest possible conversion range excluding reserved port numbers, port numbers from 1024 to 65535 are used.

NAPTでは、変換前のエンドポイントと変換後のポートを一対一で変換する。したがって通信制御装置90が多数のエンドポイントに対してNAPT変換を実施した場合、変換先のポートが不足し、それ以上のNAPT変換を行えなくなる場合がある。通信制御装置90がポート番号を1024から65535まで利用できる環境にある場合、変換可能なポート数は64512個となるため、エンドポイント数がこれを超える場合はそれ以上のNAPT変換が不可能となる。よって図14のR0に示されるエンドポイントから受信したIPパケットは廃棄される。 In NAPT, the endpoint before conversion and the port after conversion are converted on a one-to-one basis. Therefore, if the communication control device 90 performs NAPT conversion for a large number of endpoints, there may be a shortage of ports to convert to, making it impossible to perform further NAPT conversion. If the communication control device 90 is in an environment where port numbers from 1024 to 65535 can be used, the number of convertible ports is 64,512, so if the number of endpoints exceeds this, further NAPT conversion will not be possible. Therefore, IP packets received from the endpoint shown in R0 in Figure 14 are discarded.

一例として、システム9のPN側システム900には、1台のゲートウェイルータ配下に個別のプライベートアドレスが割り当てられた65台のクライアント装置が存在するとする。クライアントはウェブ会議などの用途でグローバルネットワークGNに存在するサーバに接続することがあり、1回の接続あたり送信元ポートの異なる通信を1000セッション生成する必要があるものとする。全社会議などで65台のクライアントが同時に接続を行う場合、エンドポイントの合計数は65×1000=65000件となるため、NAPT変換の上限数である64512個を超過する。この状況下では新たな通信のためのNAPT変換が行えず、通信制御装置90の他の機能でも新たなポートを利用することができないため、通信に障害が生じる可能性がある。この事態を回避するには、多数のセッションが生成されることで利用可能なポート番号が枯渇することがないように同時接続するクライアント数をあらかじめ抑制してネットワーク構成を制限するなどの対策が必要である。 As an example, in the PN side system 900 of the system 9, there are 65 client devices assigned individual private addresses under one gateway router. The clients may connect to a server in the global network GN for purposes such as web conferencing, and it is necessary to generate 1000 sessions of communication with different source ports per connection. If 65 clients connect simultaneously for a company-wide conference, the total number of endpoints will be 65 x 1000 = 65000, exceeding the upper limit of 64512 for NAPT conversion. In this situation, NAPT conversion for new communication cannot be performed, and new ports cannot be used for other functions of the communication control device 90, which may cause communication failure. To avoid this situation, measures such as restricting the number of clients that connect simultaneously and limiting the network configuration are required so that available port numbers are not exhausted due to the generation of a large number of sessions.

このように、NAPT配下で大量のエンドポイントを処理する環境では、ポート番号の枯渇による障害が発生することがあり、これを回避するにはネットワーク構成を制限する必要があるという問題があった。 As such, in an environment where a large number of endpoints are processed under NAPT, problems can occur due to port number exhaustion, and to avoid this, it is necessary to restrict the network configuration.

以下の実施形態の少なくとも1つは、このような課題を解決するものである。 At least one of the following embodiments is intended to solve this problem.

<実施形態1>
実施形態1は、後述する実施形態2~4の概要として説明されてよい。本実施形態1では、複数のグローバルアドレスを使用できる回線環境において、それぞれの回線で以下のNAPTによるアドレス変換を実施可能な通信制御装置を用いる。
<Embodiment 1>
The first embodiment may be described as an outline of the second to fourth embodiments described later. In the first embodiment, in a line environment in which a plurality of global addresses can be used, a communication control device capable of performing the following address conversion by NAPT on each line is used.

図1は、実施形態1にかかるシステム1の構成を示すブロック図である。
システム1は、プライベートネットワークPN配下のクライアント装置20と、グローバルネットワークGN上の外部装置30とが通信するためのコンピュータシステムである。システム1は、図13に示すシステム9と同様に、複数のクライアント装置20と外部装置30とを備えるが、通信制御装置90に代えて通信制御システム10を備える点で相違する。通信制御システム10は、1のコンピュータ装置(通信制御装置)であってもよいし、複数のコンピュータ装置(通信制御装置)を含むコンピュータシステムであってもよい。
FIG. 1 is a block diagram showing a configuration of a system 1 according to the first embodiment.
The system 1 is a computer system for communication between a client device 20 under a private network PN and an external device 30 on a global network GN. The system 1 includes a plurality of client devices 20 and an external device 30, similar to the system 9 shown in Fig. 13, but differs in that it includes a communication control system 10 instead of a communication control device 90. The communication control system 10 may be one computer device (communication control device), or may be a computer system including a plurality of computer devices (communication control devices).

プライベートネットワークPNの配下には、複数のクライアント装置20が接続されている。そして外部装置30は、グローバルネットワークGNに接続されている。 Multiple client devices 20 are connected to the private network PN. And the external device 30 is connected to the global network GN.

通信制御システム10は、第1通信制御部12と、第2通信制御部14とを備える。
第1通信制御部12は、プライベートネットワークPNとグローバルネットワークGNとに接続される。そして第1通信制御部12は、第1グローバルアドレスG1を有する。
第2通信制御部14は、第1通信制御部12と同様にプライベートネットワークPNとグローバルネットワークGNとに接続される。そして第2通信制御部14は、第1グローバルアドレスG1と異なる第2グローバルアドレスG2を有する。
The communication control system 10 includes a first communication control unit 12 and a second communication control unit 14 .
The first communication control unit 12 is connected to the private network PN and the global network GN, and has a first global address G1.
The second communication control unit 14 is connected to the private network PN and the global network GN, similar to the first communication control unit 12. The second communication control unit 14 has a second global address G2 that is different from the first global address G1.

第1通信制御部12は、OSI参照モデルの規定に従った、通常のNAPTを含む通常の通信制御機能を有するとともに、後述するNAPT拡張アルゴリズムに従って動作する機能を有する。第2通信制御部14は、第1通信制御部12と連動して動作する機能を有する。 The first communication control unit 12 has normal communication control functions, including normal NAPT, in accordance with the provisions of the OSI reference model, and also has the function of operating according to the NAPT extension algorithm described below. The second communication control unit 14 has the function of operating in conjunction with the first communication control unit 12.

第1通信制御部12がアクセス可能な記憶装置には、第1変換テーブルが格納され、第2通信制御部14がアクセス可能な記憶装置には、第2変換テーブルが格納される。第1変換テーブル及び第2変換テーブルは、それぞれ、第1通信制御部12及び第2通信制御部14がNAPTによるアドレス変換を実行するために用いるNAPT変換テーブルである。上記記憶装置は、通信制御システム10に含まれていてよい。本実施形態1では、第1通信制御部12及び第2通信制御部14がアクセス可能な記憶装置は、同一の記憶装置であってもよいし、異なる記憶装置であってもよい。また本実施形態1では、第1変換テーブル及び第2変換テーブルが異なるテーブルであるが、同じテーブルであってもよい。 The first conversion table is stored in a storage device accessible to the first communication control unit 12, and the second conversion table is stored in a storage device accessible to the second communication control unit 14. The first conversion table and the second conversion table are NAPT conversion tables used by the first communication control unit 12 and the second communication control unit 14 to perform address conversion by NAPT, respectively. The above storage device may be included in the communication control system 10. In this embodiment 1, the storage devices accessible by the first communication control unit 12 and the second communication control unit 14 may be the same storage device or different storage devices. Also, in this embodiment 1, the first conversion table and the second conversion table are different tables, but they may be the same table.

ここで第1通信制御部12及び第2通信制御部14は、それぞれ、互いのグローバルアドレスと、各クライアント装置20のプライベートアドレスとを保持している。例えばユーザ設定により、第1通信制御部12がアクセス可能な記憶装置及び第2通信制御部14がアクセス可能な記憶装置に、これらのアドレスを格納させてよい。また通信制御システム10に含まれる通信制御部が複数ある場合、それぞれ、自己のポート番号が不足した場合にどの通信制御部がどの通信制御部を代理として用いるかを予め定めておく。 Here, the first communication control unit 12 and the second communication control unit 14 each hold each other's global address and the private address of each client device 20. For example, these addresses may be stored in a storage device accessible by the first communication control unit 12 and a storage device accessible by the second communication control unit 14 by user setting. Furthermore, when the communication control system 10 includes multiple communication control units, it is determined in advance which communication control unit will use which communication control unit as a proxy when its own port number is insufficient.

図2は、実施形態1にかかる第1変換テーブルT1のデータ構造の一例を示す図である。第1変換テーブルT1は、プライベートアドレス及び変換前ポート番号と、グローバルアドレス及び変換後ポート番号とを、一対一で対応付けている。第1変換テーブルT1は、利用可能なポート番号が所定閾値より大きいレコードR1では、プライベートアドレス及び変換前ポート番号のセットを、第1グローバルアドレスG1及び、受信順番に基づいて一意に決定される変換後ポート番号のセットに対応付けている。一方、第1変換テーブルT1は、利用可能なポート番号が所定閾値以下のレコードR2では、プライベートアドレス及び変換前ポート番号のセットを、第2グローバルアドレスG2に対応付けている。 Figure 2 is a diagram showing an example of the data structure of the first conversion table T1 according to the first embodiment. The first conversion table T1 associates a private address and a pre-conversion port number with a global address and a post-conversion port number in a one-to-one relationship. In the first conversion table T1, in record R1 in which the available port number is greater than a predetermined threshold, the set of the private address and the pre-conversion port number is associated with the first global address G1 and a set of the post-conversion port number that is uniquely determined based on the reception order. On the other hand, in record R2 in which the available port number is equal to or less than the predetermined threshold, the first conversion table T1 associates a set of the private address and the pre-conversion port number with the second global address G2.

以下では1行のレコードをエントリと呼ぶことがあり、1行のレコードに格納された情報をまとめて、アドレス変換情報と呼ぶことがある。 In the following, a single line of record may be referred to as an entry, and the information stored in a single line of record may be collectively referred to as address conversion information.

尚、第2変換テーブルも基本的に同様のデータ構造を有する。ただし第2変換テーブルにおいては、上述の説明の第1グローバルアドレスG1及び第2グローバルアドレスG2を、それぞれ第2グローバルアドレスG2及び第1グローバルアドレスG1に読み替える。また登録される各アドレスおよびポート番号の値は、第1変換テーブルと異なってよい。 The second conversion table basically has the same data structure. However, in the second conversion table, the first global address G1 and the second global address G2 described above are replaced with the second global address G2 and the first global address G1, respectively. Furthermore, the values of each address and port number registered may be different from those in the first conversion table.

少なくとも第1通信制御部12は、NAPTによるアドレス変換処理によって第1変換テーブルT1に新たなエントリを追加しようとした場合、ポート番号不足が発生しているか否かによって後続の処理が異なる。第1通信制御部12は、NAPT変換によるポート番号不足が発生していない状況下では、通常のNAPT変換と同様の処理を実行する。すなわち第1通信制御部12は、通常通り、まず第1グローバルアドレスG1と新たに割り当てたポート番号とを第1変換テーブルT1に登録する。そして第1通信制御部12は、通常通り、NAPT変換およびNAPTによるパケット転送を実行する。 When at least the first communication control unit 12 attempts to add a new entry to the first conversion table T1 by address conversion processing using NAPT, the subsequent processing differs depending on whether or not a port number shortage has occurred. When there is no port number shortage due to NAPT conversion, the first communication control unit 12 executes processing similar to normal NAPT conversion. That is, the first communication control unit 12 first registers the first global address G1 and the newly assigned port number in the first conversion table T1 as usual. Then, the first communication control unit 12 executes NAPT conversion and packet forwarding using NAPT as usual.

一方、通常のNAPT変換でポート番号不足が発生した場合は、第1通信制御部12は、第1グローバルアドレスG1の代わりに、予め保持している第2グローバルアドレスG2を用いて、第1変換テーブルT1の変換後のグローバルアドレスの部分を更新する。第2グローバルアドレスG2は、第1通信制御部12と連動する第2通信制御部14のグローバルアドレスである。なお変換後ポート番号として書き込む値は任意であってよい。 On the other hand, if a port number shortage occurs during normal NAPT conversion, the first communication control unit 12 updates the converted global address portion of the first conversion table T1 using the second global address G2 stored in advance instead of the first global address G1. The second global address G2 is the global address of the second communication control unit 14 that works in conjunction with the first communication control unit 12. Note that the value written as the converted port number may be any value.

このように第1通信制御部12は、通常のNAPTの動作に拡張的な動作を加えたNAPT拡張アルゴリズムを採用する。 In this way, the first communication control unit 12 employs a NAPT extension algorithm that adds extended operations to the normal NAPT operations.

図3~5は、実施形態1にかかる第1通信制御部12による通信制御方法の流れを示すフローチャートである。図2~4は、通信制御装置90がプライベートネットワークPNからIPパケットを受信することを契機として動作するNAPT拡張アルゴリズムを示している。 Figures 3 to 5 are flowcharts showing the flow of a communication control method by the first communication control unit 12 in the first embodiment. Figures 2 to 4 show a NAPT extension algorithm that operates when the communication control device 90 receives an IP packet from the private network PN.

まず第1通信制御部12は、プライベートネットワークPNの配下のクライアント装置20のいずれかから、IPパケットを受信した場合(S10)、第1変換テーブルを参照する(S11)。次に第1通信制御部12は、受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、第1変換テーブルT1に基づいて、新規な組み合わせか否かを判定する(S12)。具体的には第1通信制御部12は、受信したIPパケットのヘッダ部分から送信元IPアドレス及び送信元ポート番号として含まれるプライベートアドレス及び変換前ポート番号のセットを抽出する。そして第1通信制御部12は、当該セットが変換テーブルT1に登録されているか否かを判定する。 First, when the first communication control unit 12 receives an IP packet from one of the client devices 20 under the private network PN (S10), it refers to the first conversion table (S11). Next, the first communication control unit 12 determines whether the set of private address and pre-conversion port number included as source information in the received IP packet is a new combination based on the first conversion table T1 (S12). Specifically, the first communication control unit 12 extracts the set of private address and pre-conversion port number included as the source IP address and source port number from the header portion of the received IP packet. Then, the first communication control unit 12 determines whether the set is registered in the conversion table T1.

第1通信制御部12は、当該セットが変換テーブルT1に登録されていない、つまり新規な組み合わせである場合(S12でYes)、処理をS13に進める。 If the set is not registered in the conversion table T1, that is, if it is a new combination (Yes in S12), the first communication control unit 12 proceeds to S13.

S13において、第1グローバルアドレスG1に対応するポート番号であって、NAPT変換に利用可能なポート番号の数が所定閾値以下であるか否かを判定する。第1グローバルアドレスG1に対応するポート番号とは、第1グローバルアドレスG1と組み合わせ可能なポート番号である。閾値は0であってもよいし、0より大きくてもよい。後者であれば、利用可能なポート番号に余裕を残したままそれ以上のポート番号が消費されることを抑制できる。したがってポート番号を利用する他の機能がポート番号不足による影響を受ける可能性を前者よりも低減できる。 In S13, it is determined whether the number of port numbers corresponding to the first global address G1 and available for NAPT conversion is equal to or less than a predetermined threshold. The port numbers corresponding to the first global address G1 are port numbers that can be combined with the first global address G1. The threshold may be 0 or may be greater than 0. In the latter case, it is possible to prevent the consumption of more port numbers than that in the former case while leaving some room for available port numbers. Therefore, it is possible to reduce the possibility that other functions that use port numbers will be affected by a shortage of port numbers more than in the former case.

NAPT変換に利用可能なポート番号の数が所定閾値以下である場合は(S13でYes)、第1通信制御部12は、IPパケットに送信元情報として含まれるセットと、第2グローバルアドレスG2とを対応付けて第1変換テーブルT1に登録する(S14)。そして第1通信制御部12は、連動する第2通信制御部14に、処理中パケット、つまり受信したIPパケットを転送する(S15)。このとき第1通信制御部12は、処理対象パケットのレイヤ3以上の送信元情報、宛先情報及びデータ部の情報は書き換えずに全て維持したままIPパケットを転送する。第2通信制御部14が第1通信制御部12と別の装置である場合、第2通信制御部14への転送は、第2通信制御部14に対応するMACアドレス(Media Access Control address)をレイヤ2の送信先として指定し、プライベートネットワークPN経由で送信することで実現する。 If the number of port numbers available for NAPT conversion is equal to or less than a predetermined threshold (Yes in S13), the first communication control unit 12 registers the set included in the IP packet as source information in the first conversion table T1 in association with the second global address G2 (S14). The first communication control unit 12 then transfers the packet being processed, i.e., the received IP packet, to the second communication control unit 14 with which it is linked (S15). At this time, the first communication control unit 12 transfers the IP packet while maintaining all the source information, destination information, and data information of layers 3 and above of the packet to be processed without rewriting them. If the second communication control unit 14 is a device separate from the first communication control unit 12, the transfer to the second communication control unit 14 is realized by specifying the MAC address (Media Access Control address) corresponding to the second communication control unit 14 as the destination of layer 2 and transmitting the packet via the private network PN.

転送されたIPパケットは、第2通信制御部14が取得する。第2通信制御部14は受信したIPパケットに対して通常のNAPT変換処理を適用し、送信元情報が変換されたIPパケットを、宛先情報に応じた装置、つまり、グローバルネットワークGN上の外部装置30に送信する。 The forwarded IP packet is acquired by the second communication control unit 14. The second communication control unit 14 applies normal NAPT conversion processing to the received IP packet, and transmits the IP packet with the converted source information to the device corresponding to the destination information, that is, the external device 30 on the global network GN.

一方、NAPT変換に利用可能なポート番号の数が所定閾値より大きい場合は(S13でNo)、通信制御システム10は処理をS16~S19(フローA)に進める。フローAは、通常のNAPT変換処理である。S16において第1通信制御部12は、まず受信したIPパケットに送信元情報として含まれるセットに対して、利用可能な1のポート番号を変換後ポート番号として割り当てる。次に第1通信制御部12は、受信したIPパケットに送信元情報として含まれるセットと、第1グローバルアドレスG1及び変換後ポート番号のセット(変換後のセット)とを対応付けて、第1変換テーブルT1に登録する(S17)。次に第1通信制御部12は、受信したIPパケットに送信元情報として含まれるセットを、変換後のセットに変換する(S18;NAPT変換)。尚、変換とは、付け替えることを意味する。またS17及びS18に示す処理は、並行して行われてもよいし、S18の後にS17に示す処理が行われてもよい。最後に第1通信制御部12は、送信元情報が変換されたIPパケットを、宛先情報に応じた装置、つまりグローバルネットワークGN上の外部装置30に送信する(S19)。 On the other hand, if the number of port numbers available for NAPT conversion is greater than the predetermined threshold (No in S13), the communication control system 10 proceeds to S16 to S19 (flow A). Flow A is a normal NAPT conversion process. In S16, the first communication control unit 12 first assigns one available port number as a converted port number to the set included in the received IP packet as source information. Next, the first communication control unit 12 associates the set included in the received IP packet as source information with the set of the first global address G1 and the converted port number (converted set) and registers them in the first conversion table T1 (S17). Next, the first communication control unit 12 converts the set included in the received IP packet as source information to the converted set (S18; NAPT conversion). Note that conversion means replacement. The processes shown in S17 and S18 may be performed in parallel, or the process shown in S17 may be performed after S18. Finally, the first communication control unit 12 transmits the IP packet with the converted source information to the device corresponding to the destination information, that is, the external device 30 on the global network GN (S19).

第1通信制御部12は、受信したIPパケットに送信元情報として含まれるセットが変換テーブルT1に登録されている、つまり新規な組み合わせでない場合(S12でNo)、処理をS20~S24(フローB)に進める。 If the set included as source information in the received IP packet is registered in conversion table T1, that is, if it is not a new combination (No in S12), the first communication control unit 12 proceeds to S20 to S24 (Flow B).

S20において、第1通信制御部12は、第1変換テーブルT1において、受信したIPパケットに送信元情報として含まれるセットに対応付けられたグローバルアドレス及び変換後ポート番号のセットを読み出す。次に第1通信制御部12は、読み出したセットに含まれるグローバルアドレスが第1グローバルアドレスG1である場合(S21でYes)、処理をS22に進める。 In S20, the first communication control unit 12 reads out, in the first conversion table T1, a set of a global address and a converted port number associated with a set included as source information in the received IP packet. Next, if the global address included in the read set is the first global address G1 (Yes in S21), the first communication control unit 12 proceeds to S22.

S22において第1通信制御部12は、通常のNAPT変換処理を実行する。つまり第1通信制御部12は、受信したIPパケットの送信元情報に含まれるセットを、読み出したセットに変換する。そして第1通信制御部12は、送信元情報が変換されたIPパケットを宛先情報に応じた外部装置30に送信する(S23)。 In S22, the first communication control unit 12 executes normal NAPT conversion processing. That is, the first communication control unit 12 converts the set included in the source information of the received IP packet to the read set. The first communication control unit 12 then transmits the IP packet with the converted source information to the external device 30 corresponding to the destination information (S23).

尚、第1通信制御部12は読み出したセットに含まれるグローバルアドレスが第2グローバルアドレスG2である場合(S21でNo)、S15と同様にIPパケットを第2通信制御部14に転送する(S24)。 If the global address included in the read set is the second global address G2 (No in S21), the first communication control unit 12 transfers the IP packet to the second communication control unit 14 (S24), similar to S15.

尚、NAPT拡張アルゴリズムが適用されたエンドポイントから再びグローバルネットワークGNに対する通信が発生した場合、エンドポイントはNAPT拡張アルゴリズムに関知しないため、IPパケットを第1通信制御部12に対して送信する。この場合、第1通信制御部12は、第1変換テーブルT1を参照することにより、受信したIPパケットの送信元情報に該当する変換先アドレスが第2通信制御部14のものであることが判断できる。したがって第1通信制御部12は、図5のS24と同様にIPパケットを第2通信制御部14に転送する。 When communication to the global network GN occurs again from an endpoint to which the NAPT extension algorithm has been applied, the endpoint is unaware of the NAPT extension algorithm and therefore sends an IP packet to the first communication control unit 12. In this case, the first communication control unit 12 can determine that the destination address corresponding to the source information of the received IP packet is that of the second communication control unit 14 by referring to the first conversion table T1. Therefore, the first communication control unit 12 transfers the IP packet to the second communication control unit 14 in the same manner as S24 in FIG. 5.

このように実施形態1によれば、第1通信制御部12でNAPTのポート番号不足が発生している場合、上記NAPT拡張アルゴリズムを用いて第2通信制御部14にIPパケットを転送し、NAPT変換処理を代行させる。したがってポート番号不足でも通信を失敗させずに新たな通信を確立できる。上記で示したNAPT処理の代行は、第2通信制御部14において利用可能なポート番号に空きがある限り実行できる。また3台以上の通信制御部を用いても、同様の仕組みでNAPT処理の代行を行うことができる。 As described above, according to the first embodiment, if the first communication control unit 12 experiences a shortage of NAPT port numbers, the IP packet is transferred to the second communication control unit 14 using the above-mentioned NAPT extension algorithm, and the second communication control unit 14 performs the NAPT conversion process instead. Therefore, even if there is a shortage of port numbers, new communication can be established without causing communication failure. The above-mentioned NAPT process can be performed as long as there are free port numbers available in the second communication control unit 14. Furthermore, even if three or more communication control units are used, the same mechanism can be used to perform NAPT process instead.

これにより、利用可能な回線数に応じてNAPT変換処理で変換可能なエンドポイント数の上限を拡張できる。つまりNAPT利用環境において多数のエンドポイントが好適に処理されることができる。その結果、ポート番号不足による通信障害を回避するとともに、ネットワーク構成の制限を拡張できる。 This allows the upper limit on the number of endpoints that can be converted in the NAPT conversion process to be expanded according to the number of available lines. In other words, a large number of endpoints can be processed optimally in a NAPT usage environment. As a result, communication failures due to a lack of port numbers can be avoided, and the limitations of network configuration can be expanded.

尚、上述では、転送されたIPパケットを受信した第2通信制御部14は、通常のNAPT変換処理を適用させるとしたが、これに代えて、第1通信制御部12と同様の拡張NAPT変換アルゴリズムを適用させてもよい。この場合、第2通信制御部14においてもポート番号不足である場合には、第2通信制御部14はIPパケットを他の通信制御部に転送する。この転送先は第1通信制御部12であってもよいし、その他の通信制御部であってもよい。 In the above description, the second communication control unit 14 that receives the forwarded IP packet applies normal NAPT conversion processing, but instead, it may apply an extended NAPT conversion algorithm similar to that of the first communication control unit 12. In this case, if the second communication control unit 14 also has a shortage of port numbers, the second communication control unit 14 forwards the IP packet to another communication control unit. This forwarding destination may be the first communication control unit 12 or another communication control unit.

尚、上述では、第1通信制御部12は、クライアント装置20から外部装置30にIPパケットを送信する場合にNAPT拡張アルゴリズムを用いるとしたが、外部装置30からクライアント装置20にIPパケットを送信する場合は、通常のアルゴリズムを用いてよい。すなわち第1通信制御部12は、宛先情報としてグローバルアドレス及び変換後ポート番号のセットを含むIPパケットを受信した場合、以下の処理を実行してよい。まず第1通信制御部12は、第1変換テーブルT1において、宛先情報として含まれるセットに対応付けられたプライベートアドレス及び変換後ポート番号のセットを読み出してよい。そして第1通信制御部12は、受信したIPパケットを、読み出したセットに対応するクライアント装置20に転送してよい。 In the above description, the first communication control unit 12 uses the NAPT extension algorithm when sending an IP packet from the client device 20 to the external device 30, but a normal algorithm may be used when sending an IP packet from the external device 30 to the client device 20. That is, when the first communication control unit 12 receives an IP packet including a set of a global address and a converted port number as destination information, the first communication control unit 12 may execute the following process. First, the first communication control unit 12 may read out the set of the private address and the converted port number associated with the set included as the destination information in the first conversion table T1. Then, the first communication control unit 12 may transfer the received IP packet to the client device 20 corresponding to the read set.

<実施形態2>
次に、本開示の実施形態2について説明する。図6は、実施形態2にかかるシステム1aの構成を示すブロック図である。実施形態2において、第1通信制御部と第2通信制御部とは、主・副の関係にある。
<Embodiment 2>
Next, a second embodiment of the present disclosure will be described. Fig. 6 is a block diagram showing a configuration of a system 1a according to the second embodiment. In the second embodiment, the first communication control unit and the second communication control unit have a master-substitute relationship.

システム1aは、システム1と基本的に同様の構成を有するが、第1通信制御部12の一例として主系装置12aと、第2通信制御部14の一例として副系装置14aと、外部装置30の一例としてサーバ31とを備える。 System 1a has a configuration basically similar to system 1, but includes a primary device 12a as an example of a first communication control unit 12, a secondary device 14a as an example of a second communication control unit 14, and a server 31 as an example of an external device 30.

主系装置12a及び副系装置14aは、いずれもNAPTが動作可能なコンピュータ装置である。両装置の配下には同一のプライベートネットワークPNが存在する。プライベートネットワークPN内には複数のクライアント装置20-1,20-2,20-3が存在する。尚、クライアント装置20の数はこれに限らない。複数のクライアント装置20は、グローバルネットワークGN上に存在するサーバ31に対して通信を試み、多数のセッションを生成しようとする。尚、複数のクライアント装置20は主系装置12aをデフォルトルートとし、サーバ31と通信する場合はまず主系装置12aを経由するものとする。つまり主系装置12aは、クライアント装置20とサーバ31とが通信する場合に、副系装置14aよりも優先して、通信にかかるIPパケットを受信する。 The primary device 12a and secondary device 14a are both computer devices capable of running NAPT. The same private network PN exists under both devices. Multiple client devices 20-1, 20-2, and 20-3 exist within the private network PN. The number of client devices 20 is not limited to this. The multiple client devices 20 attempt to communicate with a server 31 that exists on a global network GN, and attempt to generate multiple sessions. The multiple client devices 20 use the primary device 12a as a default route, and when communicating with the server 31, they first go through the primary device 12a. In other words, when the client device 20 and the server 31 communicate, the primary device 12a receives IP packets related to the communication in priority over the secondary device 14a.

そして主系装置12a及び副系装置14aは、実施形態1と同様のNAPT拡張アルゴリズムを実施可能である。 The primary device 12a and secondary device 14a can implement the same NAPT extension algorithm as in embodiment 1.

図7~8は、実施形態2にかかるシステムの処理の流れを示すシーケンス図である。
図7は、送信元情報のセットが新規であり、かつポート番号の不足が発生していない場合のシステムの処理の流れを示している。
7 and 8 are sequence diagrams showing the flow of processing in the system according to the second embodiment.
FIG. 7 shows the flow of processing by the system when the set of source information is new and there is no shortage of port numbers.

クライアント装置20-1がサーバ31に対して新しいセッションを張ろうとした場合、クライアント装置20-1は、サーバ31に対してセッション確立を要求するIPパケットを主系装置12aに送信する(S100)。送信されたIPパケットは、送信元情報としてプライベートアドレスP1及びポート番号p1を含む。 When the client device 20-1 attempts to establish a new session with the server 31, the client device 20-1 sends an IP packet to the main device 12a requesting the server 31 to establish a session (S100). The sent IP packet includes the private address P1 and the port number p1 as source information.

この場合、送信元情報のセットが新規であり、かつポート番号の不足が発生していないため、IPパケットを受信した主系装置12aは、通常のNAPT変換処理に従って、受信したIPパケットを処理する。 In this case, since the set of source information is new and there is no shortage of port numbers, the main device 12a that receives the IP packet processes the received IP packet according to the normal NAPT conversion process.

このとき主系装置12aは、まず図4のS16~S17に示す第1変換テーブルT1の登録処理を実行する(S101)。そして主系装置12aは、図4のS18に示すNAPT変換処理を実行する(S102)。そして主系装置12aは、送信元情報が変換されたIPパケットを、サーバ31に送信する(S103)。送信されたIPパケットは、送信元情報としてグローバルアドレスG1及びポート番号p11を含む。 At this time, the primary device 12a first executes the registration process of the first conversion table T1 shown in S16 to S17 of FIG. 4 (S101). The primary device 12a then executes the NAPT conversion process shown in S18 of FIG. 4 (S102). The primary device 12a then transmits the IP packet with the converted source information to the server 31 (S103). The transmitted IP packet includes the global address G1 and port number p11 as source information.

IPパケットを受信したサーバ31は、グローバルアドレスG1及びポート番号p11を宛先情報として含む応答パケットを用いて、グローバルアドレスG1に対応する主系装置12aに対して応答する(S104)。主系装置12aは、第1変換テーブルT1を用いてNAPT変換処理を実行する(S105)。すなわち主系装置12aは、第1変換テーブルT1において、宛先情報に含まれるセットに対応付けられたプライベートアドレスP1及びポート番号p1のセットを読み出す。そして主系装置12aは、宛先情報のセットを読み出したセットに変換し、変換後の応答パケットを該当するエンドポイント(クライアント装置20-1)に送信する(S106)。 The server 31 that receives the IP packet responds to the primary device 12a corresponding to the global address G1 using a response packet that includes the global address G1 and port number p11 as destination information (S104). The primary device 12a executes a NAPT conversion process using the first conversion table T1 (S105). That is, the primary device 12a reads out the set of the private address P1 and port number p1 that is associated with the set included in the destination information in the first conversion table T1. The primary device 12a then converts the set of destination information to the read set, and sends the converted response packet to the corresponding endpoint (client device 20-1) (S106).

クライアント装置20が新規セッションの生成を試みる度に、その都度S100~S106に示す処理が実行されてよい。 Each time the client device 20 attempts to generate a new session, the processes shown in S100 to S106 may be executed.

そして一度第1変換テーブルT1に登録されたクライアント装置20-1が、その後、サーバ31に対して同じセッションでIPパケットを主系装置12aに送信したとする(S110)。この場合、主系装置12aは、第1変換テーブルT1を用いてNAPT変換処理を実行し(S111)、送信元情報が変換されたIPパケットをサーバ31に送信する(S112)。 Then, assume that the client device 20-1, which has once been registered in the first conversion table T1, subsequently sends an IP packet to the primary device 12a in the same session with the server 31 (S110). In this case, the primary device 12a executes a NAPT conversion process using the first conversion table T1 (S111), and sends the IP packet with the converted source information to the server 31 (S112).

次に、上記処理が繰り返され、主系装置12aで利用可能なポート番号が使い切られた場合について説明する。 Next, we will explain what happens when the above process is repeated and all available port numbers in the main device 12a are used up.

図8は、送信元情報のセットが新規であり、かつポート番号の不足が発生している場合のシステムの処理の流れを示している。 Figure 8 shows the flow of system processing when the set of sender information is new and there is a shortage of port numbers.

クライアント装置20-2がサーバ31に対して新しいセッションを張ろうとした場合、クライアント装置20-2は、サーバ31に対してセッション確立を要求するIPパケットを主系装置12aに送信する(S120)。送信されたIPパケットは、送信元情報としてプライベートアドレスP2及びポート番号p2を含む。 When the client device 20-2 attempts to establish a new session with the server 31, the client device 20-2 sends an IP packet to the main device 12a requesting the server 31 to establish a session (S120). The sent IP packet includes the private address P2 and the port number p2 as source information.

この場合、送信元情報のセットが新規であり、かつポート番号の不足が発生しているため、IPパケットを受信した主系装置12aは、上述したNAPT拡張アルゴリズムに従って、受信したIPパケットを処理する。 In this case, since the set of source information is new and there is a shortage of port numbers, the main device 12a that receives the IP packet processes the received IP packet according to the NAPT extension algorithm described above.

このとき主系装置12aは、まず図3のS11~S14に示す第1変換テーブルT1の登録処理を実行する(S121)。このとき主系装置12aは、登録するグローバルアドレスとして、副系装置14aのグローバルアドレスG2を用いる。そして主系装置12aは、図3のS15と同様に受信したIPパケットを、送信元情報を変えないで、副系装置14aに転送する(S122)。このとき主系装置12aは、第1変換テーブルT1を副系装置14aに共有しないでよい。 At this time, the primary device 12a first executes the registration process of the first conversion table T1 shown in S11 to S14 in FIG. 3 (S121). At this time, the primary device 12a uses the global address G2 of the secondary device 14a as the global address to be registered. Then, the primary device 12a transfers the received IP packet to the secondary device 14a without changing the source information, similar to S15 in FIG. 3 (S122). At this time, the primary device 12a does not need to share the first conversion table T1 with the secondary device 14a.

副系装置14aは、プライベートネットワークPN側インタフェースでIPパケットを受信する。IPパケットを受信した副系装置14aは、図7のS101~S102と同様に通常のNAPT処理を実行する。具体的には、副系装置14aは、IPパケットに対して通常のNAPT変換処理を適用するため、利用可能な1のポート番号を変換後ポート番号として割り当て、第2変換テーブルT2にアドレス変換情報を追加で登録する(S123)。アドレス変換情報は、送信元情報に含まれるプライベートアドレス及び変換前ポート番号のセットと、第2グローバルアドレスG2及び変換後ポート番号のセットとを対応付けた情報である。次に副系装置14aは、送信元情報に含まれるプライベートアドレス及び変換前ポート番号のセットを、第2グローバルアドレスG2及び変換後ポート番号のセットに変換する(S124)。そして副系装置14aは、NAPT変換したIPパケットを宛先情報に応じた装置、つまりサーバ31へ送信する(S125)。送信されたIPパケットの送信元情報は、第2グローバルアドレスG2及びポート番号p21のセットを含む。 The secondary device 14a receives the IP packet at the private network PN side interface. The secondary device 14a that receives the IP packet executes normal NAPT processing similar to S101 to S102 in FIG. 7. Specifically, in order to apply normal NAPT conversion processing to the IP packet, the secondary device 14a assigns one available port number as a converted port number and additionally registers address conversion information in the second conversion table T2 (S123). The address conversion information is information that associates a set of a private address and a pre-conversion port number included in the source information with a set of a second global address G2 and a converted port number. Next, the secondary device 14a converts the set of the private address and the pre-conversion port number included in the source information into a set of a second global address G2 and a converted port number (S124). Then, the secondary device 14a transmits the NAPT-converted IP packet to a device corresponding to the destination information, that is, the server 31 (S125). The source information of the sent IP packet includes a set of the second global address G2 and port number p21.

サーバ31は、通信の送信元を副系装置14aと認識するため、サーバ31からの応答は副系装置14aへと送信される(S126)。副系装置14aはサーバ31からの応答パケットを通常のNAPT変換処理で変換し(S127)、変換した宛先情報に該当するエンドポイント(クライアント装置20-2)に、応答パケットを送信する(S128)。 The server 31 recognizes the source of the communication as the secondary device 14a, and so sends the response from the server 31 to the secondary device 14a (S126). The secondary device 14a converts the response packet from the server 31 using normal NAPT conversion processing (S127), and sends the response packet to the endpoint (client device 20-2) that corresponds to the converted destination information (S128).

クライアント装置20-2がサーバ31に対して再び通信を行った場合、IPパケットはデフォルトルートに従って主系装置12aへと送信される(S130)。主系装置12aはNAPT拡張アルゴリズムに従って、受信したIPパケットを副系装置14aへと転送する。副系装置14aは第2変換テーブルT2に従ってIPパケットをNAPT変換し(S132)、送信元情報が変換されたIPパケットをサーバ31に送信する(S133)。 When the client device 20-2 communicates with the server 31 again, the IP packet is sent to the primary device 12a along the default route (S130). The primary device 12a transfers the received IP packet to the secondary device 14a according to the NAPT extension algorithm. The secondary device 14a performs NAPT conversion on the IP packet according to the second conversion table T2 (S132), and sends the IP packet with the converted source information to the server 31 (S133).

このように、主系装置12aでポート番号が枯渇した場合でも、副系装置14aにIPパケットを転送してNAPT変換処理を代行させることで、クライアント装置20群とサーバ31との間で新たなアドレス変換を成立させ、セッションを確立できる。 In this way, even if the port numbers in the main device 12a run out, the IP packets can be transferred to the secondary device 14a to perform the NAPT conversion process, thereby establishing a new address conversion between the client devices 20 and the server 31 and establishing a session.

<実施形態2の効果>
関連するNAPT環境では、NAPT変換に利用できるポート数の上限が64512個であることから、NAPTで処理可能なエンドポイント数も64512が上限であった。しかし本実施形態2によれば、上述した上限を超える数のエンドポイントをNAPT変換できる。
<Effects of the Second Embodiment>
In the related NAPT environment, the upper limit of the number of ports available for NAPT conversion is 64512, and therefore the upper limit of the number of endpoints that can be processed by NAPT is also 64512. However, according to the second embodiment, it is possible to perform NAPT conversion on a number of endpoints that exceeds the above-mentioned upper limit.

実施形態2では、主系装置12aと副系装置14a双方のポート番号を利用してNAPT変換処理を行うことで、NAPTに利用できるポート番号の数が疑似的に2倍に拡張できる。グローバルアドレス及び通信制御部として機能する装置の台数を増やすことで、疑似的に拡張できるポート番号数をさらに増加できる。尚、装置間で変換テーブルを共有しなくてよいため、装置の台数を増やしても変換テーブルの管理が簡易である。したがって、装置の台数を容易に増やすことができる。 In the second embodiment, the number of port numbers available for NAPT can be virtually doubled by performing NAPT conversion processing using the port numbers of both the primary device 12a and the secondary device 14a. By increasing the number of devices that function as global addresses and communication control units, the number of port numbers that can be virtually expanded can be further increased. Furthermore, since there is no need to share conversion tables between devices, management of the conversion tables is simple even if the number of devices is increased. Therefore, the number of devices can be easily increased.

本実施形態2ではNAPTに利用可能なポート番号数を拡張することで、ポート番号不足によるNAPT変換処理の失敗を防止し、通信障害を抑制できる。また、処理できるエンドポイント数が増加するため、ネットワーク構成の制限を緩和してより大規模なネットワークを構築できる。 In this second embodiment, the number of port numbers available for NAPT is expanded, which prevents failure of the NAPT conversion process due to a lack of port numbers and suppresses communication failures. In addition, since the number of endpoints that can be processed increases, restrictions on network configuration can be relaxed and a larger-scale network can be constructed.

<実施形態3>
次に、本開示の実施形態3について説明する。実施形態3では、通信制御システムに含まれる複数の通信制御部が互いに負荷分散又は冗長化されており、デフォルトルートが決まっていない。
<Embodiment 3>
Next, a third embodiment of the present disclosure will be described. In the third embodiment, a plurality of communication control units included in a communication control system are load-balanced or made redundant, and a default route is not determined.

図9は、実施形態3にかかるシステム1bの構成を示すブロック図である。実施形態3のシステム1bは、実施形態2のシステム1aと基本的に同様の構成であるが、主系装置12a及び副系装置14aに代えて、第1通信制御装置12b、第2通信制御装置14b、および第3通信制御装置16bを備える点で相違する。尚、通信制御装置の数は3に限らず、2であってもよいし、4以上であってもよい。 Figure 9 is a block diagram showing the configuration of system 1b according to embodiment 3. System 1b according to embodiment 3 has a configuration basically similar to system 1a according to embodiment 2, but differs in that it includes a first communication control device 12b, a second communication control device 14b, and a third communication control device 16b instead of the main device 12a and the secondary device 14a. Note that the number of communication control devices is not limited to three, and may be two, or four or more.

本実施形態3では、システム1bの管理者は、各通信制御装置について、ポート番号不足が発生した場合の代理装置を予め設定する。例えば第1通信制御装置12b、第2通信制御装置14b及び第3通信制御装置16bは、それぞれ、ポート番号不足時には第2通信制御装置14b、第3通信制御装置16b及び第1通信制御装置12bを代理装置として用いるように設定する。通信制御装置が2つの場合は、2つの通信制御装置が互いに互いの代理装置となるように設定してよい。 In this embodiment 3, the administrator of system 1b pre-sets for each communication control device a proxy device in case of a shortage of port numbers. For example, the first communication control device 12b, the second communication control device 14b, and the third communication control device 16b are set to use the second communication control device 14b, the third communication control device 16b, and the first communication control device 12b as proxy devices, respectively, in the event of a shortage of port numbers. When there are two communication control devices, the two communication control devices may be set to be each other's proxy devices.

尚、クライアント装置20群とサーバ31との通信は、第1通信制御装置12b、第2通信制御装置14b及び第3通信制御装置16bによって負荷分散または冗長化されている。本実施形態3では、クライアント装置20群のデフォルトルートが1の通信制御装置に限定されておらず、3つの通信制御装置のいずれもクライアント装置20群から送信される通信のネクストホップとなる可能性がある。 Note that communication between the client devices 20 and the server 31 is load-balanced or made redundant by the first communication control device 12b, the second communication control device 14b, and the third communication control device 16b. In this embodiment 3, the default route of the client devices 20 is not limited to one communication control device, and any of the three communication control devices can be the next hop for communication sent from the client devices 20.

第1通信制御装置12b、第2通信制御装置14b及び第3通信制御装置16bはいずれも、自己のポート番号が不足した場合、上述したNAPT拡張アルゴリズムに従って、代理先装置にIPパケットを転送する。そして代理先装置においてNAPT変換処理が実行される。 When the first communication control device 12b, the second communication control device 14b, and the third communication control device 16b run out of port numbers, they forward IP packets to the proxy destination device according to the NAPT extension algorithm described above. Then, the NAPT conversion process is performed in the proxy destination device.

例として第1通信制御装置12bでポート番号不足が発生した場合、NAPT拡張アルゴリズムに従って第2通信制御装置14bにIPパケットを転送し、第2通信制御装置14bにNAPT変換処理を行わせることができる。このとき第2通信制御装置14bでポート番号不足が枯渇していた場合は、第2通信制御装置14bはさらに第3通信制御装置16bにIPパケットを転送してNAPT変換処理を行わせることができる。 For example, if a port number shortage occurs in the first communication control device 12b, the IP packet can be transferred to the second communication control device 14b according to the NAPT extension algorithm, and the second communication control device 14b can perform NAPT conversion processing. At this time, if the port number shortage has been exhausted in the second communication control device 14b, the second communication control device 14b can further transfer the IP packet to the third communication control device 16b, and have the NAPT conversion processing performed.

尚、通信制御システム10に含まれる全ての通信制御装置でポート番号の逼迫が発生している場合、NAPT拡張アルゴリズムによる代理装置への転送が繰り返されるというループが発生する。これを防止するために、複数の通信制御装置間のIPパケットの転送回数が所定回数以上となった場合、複数の通信制御装置のいずれかの通信制御装置は、IPパケットを廃棄してよい。具体的には通信制御装置が代理装置にIPパケットを転送する場合に、転送するIPパケットのTTL(Time to live)フィールドを減算する。これによりIPパケットの転送が所定回数繰り返された場合にIPパケットを消滅させることができる。 If port number congestion occurs in all communication control devices included in the communication control system 10, a loop occurs in which transfer to the proxy device using the NAPT extension algorithm is repeated. To prevent this, when the number of IP packet transfers between multiple communication control devices reaches a predetermined number, one of the multiple communication control devices may discard the IP packet. Specifically, when a communication control device transfers an IP packet to a proxy device, it subtracts the TTL (Time to live) field of the IP packet to be transferred. This makes it possible to eliminate the IP packet when the transfer of the IP packet has been repeated a predetermined number of times.

実施形態3によれば、いずれの通信制御装置でポート番号不足が発生するか不明な場合でも、ある通信制御装置でポート番号不足が発生した場合に別の通信制御装置でポート番号を補うことができる。したがって、より柔軟な障害防止及びネットワーク構成が可能となる。 According to the third embodiment, even if it is unknown which communication control device will experience a port number shortage, if a port number shortage occurs in one communication control device, the port numbers can be compensated for by another communication control device. This allows for more flexible failure prevention and network configuration.

尚、上述の実施形態3では、通信制御システム10bに3つの通信制御装置が含まれる場合について説明したが、通信制御装置の数はこれに限らない。例えば通信制御装置の数が第1通信制御装置12b及び第2通信制御装置14bの2つである場合、第1通信制御装置12b及び第2通信制御装置14bは、各々が互いの代理装置となる。 In the above-mentioned third embodiment, the case where the communication control system 10b includes three communication control devices has been described, but the number of communication control devices is not limited to this. For example, if there are two communication control devices, the first communication control device 12b and the second communication control device 14b, the first communication control device 12b and the second communication control device 14b each serve as a proxy device for the other.

<実施形態4>
次に、本開示の実施形態4について説明する。実施形態4は、NAPT拡張アルゴリズムを単体の装置で実現する。
<Embodiment 4>
Next, a fourth embodiment of the present disclosure will be described. In the fourth embodiment, the NAPT extension algorithm is realized by a single device.

図10は、実施形態4にかかるシステム1cの構成を示すブロック図である。実施形態4のシステム1cは、実施形態2のシステム1aと基本的に同様の構成を有する。但し、システム1cは、通信制御システム10aに代えて、単体の通信制御装置10cを備える。 Figure 10 is a block diagram showing the configuration of system 1c according to embodiment 4. System 1c according to embodiment 4 has a configuration basically similar to system 1a according to embodiment 2. However, system 1c includes a standalone communication control device 10c instead of communication control system 10a.

通信制御装置10cは、複数のインタフェースでグローバルネットワークGNと接続されて、各インタフェースで異なるグローバルアドレスG1,G2が割り当てられている。クライアント装置20がサーバ31と通信する場合、デフォルトルートの送信先としてグローバルアドレスG1が選択される。 The communication control device 10c is connected to the global network GN via multiple interfaces, and different global addresses G1 and G2 are assigned to each interface. When the client device 20 communicates with the server 31, the global address G1 is selected as the destination of the default route.

つまり通信制御装置10cは、グローバルアドレスG1が割り当てられた第1インタフェースを有する第1通信制御部12cと、別回線のグローバルアドレスG2が割り当てられた第2インタフェースを有する第2通信制御部14cとを備えると見ることができる。通信制御装置10cは、第1変換テーブルT1及び第2変換テーブルT2を統合した変換テーブルT3を記憶装置に有するか、参照可能な状態にある。 In other words, the communication control device 10c can be considered to have a first communication control unit 12c having a first interface to which a global address G1 is assigned, and a second communication control unit 14c having a second interface to which a global address G2 of a different line is assigned. The communication control device 10c has a conversion table T3, which is an integration of the first conversion table T1 and the second conversion table T2, stored in a storage device or is in a state where it can be referenced.

図11は、実施形態4にかかる変換テーブルT3のデータ構造の一例を示す図である。変換テーブルT3では、グローバルアドレスG1に対応するポート番号が不足した場合に記録されるレコードR2において、変換後アドレスとして、グローバルアドレスG2に加えて、グローバルアドレスG2に対応するポート番号が記録されている。 Figure 11 is a diagram showing an example of the data structure of the conversion table T3 according to the fourth embodiment. In the conversion table T3, in record R2, which is recorded when the port number corresponding to the global address G1 is insufficient, in addition to the global address G2, the port number corresponding to the global address G2 is recorded as the converted address.

このようなシステム1cにおいて、通信制御装置10cは、図3~図5に示すNAPT拡張アルゴリズムを実行する。すなわち通信制御装置10cは、グローバルアドレスG1に対応するポート番号が不足していない状況においては、通常のNAPT変換処理を実行する。具体的には第1通信制御部12cは、クライアント装置20群の新たなエンドポイントからサーバ31を宛先としたIPパケットを受信した場合、デフォルトルート上にあるグローバルアドレスG1を変換後アドレスとしてS16~S18に示す処理を実行する。そしてS19で、第1通信制御部12cは、グローバルアドレスG1からIPパケットをサーバ31に送信する。 In this type of system 1c, the communication control device 10c executes the NAPT extension algorithm shown in Figures 3 to 5. That is, when there is an adequate number of port numbers corresponding to the global address G1, the communication control device 10c executes normal NAPT conversion processing. Specifically, when the first communication control unit 12c receives an IP packet addressed to the server 31 from a new endpoint in the group of client devices 20, it executes the processing shown in S16 to S18, using the global address G1 on the default route as the converted address. Then, in S19, the first communication control unit 12c transmits the IP packet from the global address G1 to the server 31.

一方、グローバルアドレスG1に対応するポート番号が不足している状況下では、通信制御装置10cは、アルゴリズムの拡張部分を実行する。つまり通信制御装置10cの第1通信制御部12cは、グローバルアドレスG1ではなくグローバルアドレスG2を用いてNAPT変換処理を実行し、変換テーブルT3を更新する。次に通信制御装置10cの第2通信制御部14cは、IPパケットを取得し、変換テーブルT3を参照する。次に第2通信制御部14cは、IPパケットのアドレス情報を変換する。次に第2通信制御部14cは、IPパケットの送信元情報を、アドレス変換されたアドレス及びポート番号としてグローバルネットワークGN上のサーバ31に送信する。このアドレス変換は通信制御装置10cの変換テーブルT3に保持されるため、通信制御装置10cは、同様のエンドポイントを送信元又は宛先とするIPパケットを受信した場合、通常のNAPT変換処理によってIPパケットを送信する。 On the other hand, in a situation where there is a shortage of port numbers corresponding to global address G1, the communication control device 10c executes the extended part of the algorithm. That is, the first communication control unit 12c of the communication control device 10c executes the NAPT conversion process using global address G2 instead of global address G1, and updates the conversion table T3. Next, the second communication control unit 14c of the communication control device 10c acquires the IP packet and refers to the conversion table T3. Next, the second communication control unit 14c converts the address information of the IP packet. Next, the second communication control unit 14c transmits the source information of the IP packet to the server 31 on the global network GN as the address-converted address and port number. Since this address conversion is stored in the conversion table T3 of the communication control device 10c, when the communication control device 10c receives an IP packet with the same endpoint as the source or destination, it transmits the IP packet by the normal NAPT conversion process.

実施形態4によれば、複数の外部回線に対して1台の通信制御装置が接続されている環境下であれば、複数の通信制御装置を用意せずともNAPT拡張アルゴリズムを実行できる。 According to the fourth embodiment, in an environment where one communication control device is connected to multiple external lines, the NAPT extension algorithm can be executed without preparing multiple communication control devices.

続いて、通信制御システムに含まれる通信制御装置の物理構成を説明する。図12は、通信制御装置として用いられ得るコンピュータの構成例を示す図である。コンピュータ1000は、プロセッサ1010、記憶部1020、ROM(Read Only Memory)1030、RAM(Random Access Memory)1040、通信インタフェース(IF:Interface)1050、及びユーザインタフェース1060を有する。 Next, the physical configuration of the communication control device included in the communication control system will be described. FIG. 12 is a diagram showing an example of the configuration of a computer that can be used as a communication control device. The computer 1000 has a processor 1010, a storage unit 1020, a ROM (Read Only Memory) 1030, a RAM (Random Access Memory) 1040, a communication interface (IF: Interface) 1050, and a user interface 1060.

通信インタフェース1050は、有線通信手段又は無線通信手段などを介して、コンピュータ1000と通信ネットワークとを接続するためのインタフェースである。ユーザインタフェース1060は、例えばディスプレイなどの表示部を含む。また、ユーザインタフェース1060は、キーボード、マウス、及びタッチパネルなどの入力部を含む。尚、ユーザインタフェース1060は、必須ではない。 The communication interface 1050 is an interface for connecting the computer 1000 to a communication network via a wired communication means or a wireless communication means. The user interface 1060 includes a display unit such as a display. The user interface 1060 also includes an input unit such as a keyboard, a mouse, and a touch panel. Note that the user interface 1060 is not essential.

記憶部1020は、各種のデータを保持できる補助記憶装置である。記憶部1020は、必ずしもコンピュータ1000の一部である必要はなく、外部記憶装置であってもよいし、ネットワークを介してコンピュータ1000に接続されたクラウドストレージであってもよい。 The storage unit 1020 is an auxiliary storage device that can hold various types of data. The storage unit 1020 does not necessarily have to be a part of the computer 1000, but may be an external storage device or a cloud storage device connected to the computer 1000 via a network.

ROM1030は、不揮発性の記憶装置である。ROM1030には、例えば比較的容量が少ないフラッシュメモリなどの半導体記憶装置が用いられる。プロセッサ1010が実行するプログラムは、記憶部1020又はROM1030に格納され得る。記憶部1020又はROM1030は、例えば通信制御装置内の各部の機能を実現するための各種プログラムを記憶する。 The ROM 1030 is a non-volatile storage device. For example, a semiconductor storage device with a relatively small capacity, such as a flash memory, is used for the ROM 1030. The programs executed by the processor 1010 can be stored in the storage unit 1020 or the ROM 1030. The storage unit 1020 or the ROM 1030 stores various programs for implementing the functions of each unit in the communication control device, for example.

上記プログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。 The program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions described in the embodiments. The program may be stored on a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable media or tangible storage media include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disk or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, a transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.

RAM1040は、揮発性の記憶装置である。RAM1040には、DRAM(Dynamic Random Access Memory)又はSRAM(Static Random Access Memory)などの各種半導体メモリデバイスが用いられる。RAM1040は、データなどを一時的に格納する内部バッファとして用いられ得る。プロセッサ1010は、記憶部1020又はROM1030に格納されたプログラムをRAM1040に展開し、実行する。プロセッサ1010は、CPU(Central Processing Unit)又はGPU(Graphics Processing Unit)であってよい。プロセッサ1010がプログラムを実行することで、通信制御装置内の各部の機能が実現され得る。プロセッサ1010は、データなどを一時的に格納できる内部バッファを有してもよい。 RAM 1040 is a volatile storage device. Various semiconductor memory devices such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory) are used for RAM 1040. RAM 1040 can be used as an internal buffer for temporarily storing data, etc. Processor 1010 expands a program stored in storage unit 1020 or ROM 1030 into RAM 1040 and executes it. Processor 1010 may be a CPU (Central Processing Unit) or a GPU (Graphics Processing Unit). The processor 1010 executes a program to realize the functions of each unit in the communication control device. Processor 1010 may have an internal buffer for temporarily storing data, etc.

なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 The present invention is not limited to the above embodiment, and can be modified as appropriate without departing from the spirit and scope of the invention.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
プライベートネットワークに接続され、第1グローバルアドレスを有する第1通信制御部と、
前記プライベートネットワークに接続され、前記第1グローバルアドレスと異なる第2グローバルアドレスを有する第2通信制御部と
を備え、
前記第1通信制御部は、
受信したIPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる第1変換テーブルであって、プライベートアドレス及び変換前ポート番号と、グローバルアドレス及び変換後ポート番号とを対応付ける第1変換テーブルに基づいて、新規な組み合わせと判定される場合、前記第1グローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、前記第2グローバルアドレスとを対応付けて前記第1変換テーブルに登録し、
前記第2通信制御部に、受信した前記IPパケットを転送する
通信制御システム。
(付記2)
前記第1通信制御部は、
前記NAPT変換に利用可能なポート番号の数が前記閾値より大きい場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットに対して、利用可能な1のポート番号を変換後ポート番号として割り当て、
受信した前記IPパケットに送信元情報として含まれる前記セットを、前記第1グローバルアドレス及び前記変換後ポート番号のセットに変換し、
受信した前記IPパケットに送信元情報として含まれる前記セットと、変換した前記セットとを対応付けて、前記第1変換テーブルに登録し、
送信元情報が変換された前記IPパケットを宛先の装置に送信する
付記1に記載の通信制御システム。
(付記3)
前記第1通信制御部は、
受信した前記IPパケットに送信元情報として含まれる前記セットが、前記第1変換テーブルに基づいて新規な組み合わせと判定されなかった場合、前記第1変換テーブルにおいて、受信した前記IPパケットに送信元情報として含まれる前記セットに対応付けられたグローバルアドレス及び変換後ポート番号のセットを読み出し、
読み出した前記セットに含まれるグローバルアドレスが前記第1グローバルアドレスである場合、
受信した前記IPパケットに送信元情報として含まれる前記セットを、読み出した前記セットに変換し、
送信元情報が変換された前記IPパケットを宛先の装置に送信し、
読み出した前記セットに含まれるグローバルアドレスが前記第2グローバルアドレスである場合、受信した前記IPパケットを前記第2通信制御部に転送する
付記1又は2に記載の通信制御システム。
(付記4)
宛先情報としてグローバルアドレス及び変換後ポート番号のセットを含むIPパケットを受信した場合、前記第1変換テーブルにおいて、受信した前記IPパケットに宛先情報として含まれる前記セットに対応付けられたプライベートアドレス及び変換後ポート番号のセットを読み出し、
受信した前記IPパケットを、読み出した前記セットに対応付けられたクライアント装置に転送する
付記1から3のいずれか1項に記載の通信制御システム。
(付記5)
前記第1通信制御部は、前記プライベートネットワーク配下のクライアント装置と外部のネットワークの装置とが通信する場合に、前記第2通信制御部よりも優先して、前記通信にかかるIPパケットを受信する
付記1から4のいずれか1項に記載の通信制御システム。
(付記6)
前記第1通信制御部及び前記第2通信制御部は、冗長化されている
付記1から4のいずれか1項に記載の通信制御システム。
(付記7)
前記第2通信制御部は、
受信した前記IPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、前記第2通信制御部によるNAPT変換に用いられる第2変換テーブルであって、プライベートアドレス及び変換前ポート番号と、グローバルアドレス及び変換後ポート番号とを対応付ける第2変換テーブルに基づいて、新規な組み合わせと判定される場合、前記第2グローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた第2閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記第2閾値より大きい場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットに対して、利用可能な1のポート番号を変換後ポート番号として割り当て、
受信した前記IPパケットに送信元情報として含まれる前記セットを、前記第2グローバルアドレス及び前記変換後ポート番号のセットに変換し、
受信した前記IPパケットに送信元情報として含まれる前記セットと、変換した前記セットとを対応付けて、前記第2変換テーブルに登録し、
送信元情報が変換された前記IPパケットを宛先の装置に送信し、
前記NAPT変換に利用可能なポート番号の数が前記第2閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、前記第1グローバルアドレスとを対応付けて前記第2変換テーブルに登録し、
前記第1通信制御部に、受信した前記IPパケットを転送する
付記1から6のいずれか1項に記載の通信制御システム。
(付記8)
複数の通信制御装置間の前記IPパケットの転送回数が予め定められた回数以上となった場合、前記複数の通信制御装置のいずれかの通信制御装置は、前記IPパケットを廃棄する
付記7に記載の通信制御システム。
(付記9)
受信したIPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する
通信制御装置。
(付記10)
前記NAPT変換に利用可能なポート番号の数が前記閾値より大きい場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットに対して、利用可能な1のポート番号を変換後ポート番号として割り当て、
受信した前記IPパケットに送信元情報として含まれる前記セットを、自己が有する前記グローバルアドレス及び前記変換後ポート番号のセットに変換し、
受信した前記IPパケットに送信元情報として含まれる前記セットと、変換した前記セットとを対応付けて、前記変換テーブルに登録し、
受信した前記IPパケットを、宛先の装置に送信する
付記9に記載の通信制御装置。
(付記11)
受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する
通信制御方法。
(付記12)
コンピュータに、
受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定する処理と、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する処理と
を実行させるためのプログラム。
A part or all of the above-described embodiments can be described as, but is not limited to, the following supplementary notes.
(Appendix 1)
a first communication control unit connected to the private network and having a first global address;
a second communication control unit connected to the private network and having a second global address different from the first global address;
The first communication control unit is
When a set of a private address and a pre-translation port number included in a received IP packet as source information is determined to be a new combination based on a first translation table used for NAPT (Network Address Port Translation) translation in the network layer of the OSI reference model, the first translation table associating a private address and a pre-translation port number with a global address and a post-translation port number, the method determines whether the number of port numbers corresponding to the first global address and available for the NAPT translation is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet and the second global address in the first conversion table in association with each other;
The communication control system transfers the received IP packet to the second communication control unit.
(Appendix 2)
The first communication control unit is
If the number of port numbers available for the NAPT conversion is greater than the threshold,
Allocating one available port number as a post-translation port number to the set included in the received IP packet as source information;
converting the set included in the received IP packet as source information into a set of the first global address and the converted port number;
registering the set included as source information in the received IP packet and the converted set in the first conversion table in association with each other;
The communication control system according to claim 1, further comprising: transmitting the IP packet, the source information of which has been converted, to a destination device.
(Appendix 3)
The first communication control unit is
When the set included in the received IP packet as source information is not determined to be a new combination based on the first conversion table, a set of a global address and a converted port number associated with the set included in the received IP packet as source information is read out from the first conversion table;
If the global address included in the read set is the first global address,
converting the set included in the received IP packet as source information into the read set;
Transmitting the IP packet with the converted source information to a destination device;
3. The communication control system according to claim 1, further comprising: a second global address included in the set that has been read out; a second global address included in the set that has been read out;
(Appendix 4)
When an IP packet including a set of a global address and a post-translation port number as destination information is received, a set of a private address and a post-translation port number associated with the set included in the received IP packet as destination information is read from the first translation table;
The communication control system according to any one of claims 1 to 3, further comprising: forwarding the received IP packet to a client device associated with the read set.
(Appendix 5)
The communication control system according to any one of claims 1 to 4, wherein the first communication control unit receives IP packets related to the communication in priority to the second communication control unit when a client device under the private network communicates with a device in an external network.
(Appendix 6)
The communication control system according to any one of claims 1 to 4, wherein the first communication control unit and the second communication control unit are made redundant.
(Appendix 7)
The second communication control unit is
when a set of a private address and a pre-conversion port number included as source information in the received IP packet is determined to be a new combination based on a second conversion table used for NAPT conversion by the second communication control unit, the second conversion table associating a private address and a pre-conversion port number with a global address and a post-conversion port number, determining whether or not the number of port numbers corresponding to the second global address and available for the NAPT conversion is equal to or less than a predetermined second threshold value;
If the number of port numbers available for the NAPT conversion is greater than the second threshold,
Allocating one available port number as a post-translation port number to the set included in the received IP packet as source information;
converting the set included in the received IP packet as source information into a set of the second global address and the converted port number;
registering the set included as source information in the received IP packet and the converted set in the second conversion table in association with each other;
Transmitting the IP packet with the converted source information to a destination device;
If the number of port numbers available for the NAPT conversion is equal to or less than the second threshold,
registering the set included as source information in the received IP packet and the first global address in the second conversion table in association with each other;
The communication control system according to any one of claims 1 to 6, further comprising: a first communication control unit that receives the IP packet and transmits the IP packet to the first communication control unit.
(Appendix 8)
The communication control system according to claim 7, wherein when the number of times the IP packet is transferred between a plurality of communication control devices becomes equal to or greater than a predetermined number of times, any one of the plurality of communication control devices discards the IP packet.
(Appendix 9)
When a set of a private address and a pre-translation port number included as source information in a received IP packet is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number, and that is used for NAPT (Network Address Port Translation) conversion in the network layer of the OSI reference model, the device determines whether the number of port numbers corresponding to its own global address and available for the NAPT conversion is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device;
The communication control device transfers the received IP packet to the other communication control device.
(Appendix 10)
If the number of port numbers available for the NAPT conversion is greater than the threshold,
Allocating one available port number as a post-translation port number to the set included in the received IP packet as source information;
converting the set included as source information in the received IP packet into a set of the global address and the converted port number that the IP packet has;
registering the set included in the received IP packet as source information and the converted set in the conversion table in association with each other;
The communication control device according to claim 9, further comprising: a receiving unit configured to receive the IP packet from the receiving unit;
(Appendix 11)
When a set of a private address and a pre-translation port number included as source information in a received IP packet is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number, and that is used for NAPT (Network Address Port Translation) conversion in the network layer of the OSI reference model, the device determines whether the number of port numbers corresponding to its own global address and available for the NAPT conversion is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device;
and transferring the received IP packet to the other communication control device.
(Appendix 12)
On the computer,
a process of determining whether the number of port numbers corresponding to the global address owned by the device and available for the NAPT conversion is equal to or less than a predetermined threshold value when the set of private address and pre-translation port number included in the received IP packet as source information is determined to be a new combination based on a conversion table that associates the set of private address and pre-translation port number with a set of global address and post-translation port number, the conversion table being used for NAPT conversion in the network layer of the OSI reference model;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device;
and a program for causing the other communication control device to execute a process of forwarding the received IP packet.

1,1a,1b,1c システム
9 システム
10,10a,10b 通信制御システム
10c 通信制御装置(通信制御システム)
12,12c 第1通信制御部
12a 主系装置(第1通信制御部)
12b 第1通信制御装置(第1通信制御部)
14,14c 第2通信制御部
14b 第2通信制御装置(第2通信制御部)
14a 副系装置(第2通信制御部)
16b 第3通信制御装置
90 通信制御装置
20 クライアント装置
30 外部装置
31 サーバ
1000 コンピュータ
1010 プロセッサ
1020 記憶部
1030 ROM
1040 RAM
1050 通信インタフェース(IF)
1060 ユーザインタフェース(IF)
G1,G2 グローバルアドレス
GN グローバルネットワーク
PN プライベートネットワーク
1, 1a, 1b, 1c System 9 System 10, 10a, 10b Communication control system 10c Communication control device (communication control system)
12, 12c First communication control unit 12a Main device (first communication control unit)
12b First communication control device (first communication control unit)
14, 14c Second communication control unit 14b Second communication control device (second communication control unit)
14a Subsystem device (second communication control unit)
16b Third communication control device 90 Communication control device 20 Client device 30 External device 31 Server 1000 Computer 1010 Processor 1020 Storage unit 1030 ROM
1040 RAM
1050 Communication interface (IF)
1060 User Interface (IF)
G1, G2 Global address GN Global network PN Private network

Claims (10)

プライベートネットワークに接続され、第1グローバルアドレスを有する第1通信制御部と、
前記プライベートネットワークに接続され、前記第1グローバルアドレスと異なる第2グローバルアドレスを有する第2通信制御部と
を備え、
前記第1通信制御部は、
受信したIPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる第1変換テーブルであって、プライベートアドレス及び変換前ポート番号と、グローバルアドレス及び変換後ポート番号とを対応付ける第1変換テーブルに基づいて、新規な組み合わせと判定される場合、前記第1グローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、前記第2グローバルアドレスとを対応付けて前記第1変換テーブルに登録し、
前記第2通信制御部に、受信した前記IPパケットを転送し、
前記プライベートネットワーク配下のクライアント装置と外部のネットワークの装置とが通信する場合に、前記第2通信制御部よりも優先して、前記通信にかかるIPパケットを受信する
通信制御システム。
a first communication control unit connected to the private network and having a first global address;
a second communication control unit connected to the private network and having a second global address different from the first global address;
The first communication control unit is
When a set of a private address and a pre-translation port number included in a received IP packet as source information is determined to be a new combination based on a first translation table used for NAPT (Network Address Port Translation) translation in the network layer of the OSI reference model, the first translation table associating a private address and a pre-translation port number with a global address and a post-translation port number, the method determines whether the number of port numbers corresponding to the first global address and available for the NAPT translation is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet and the second global address in the first conversion table in association with each other;
Transferring the received IP packet to the second communication control unit;
When a client device under the private network communicates with a device on an external network, the client device receives IP packets relating to the communication in priority over the second communication control unit.
前記第1通信制御部は、
前記NAPT変換に利用可能なポート番号の数が前記閾値より大きい場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットに対して、利用可能な1のポート番号を変換後ポート番号として割り当て、
受信した前記IPパケットに送信元情報として含まれる前記セットを、前記第1グローバルアドレス及び前記変換後ポート番号のセットに変換し、
受信した前記IPパケットに送信元情報として含まれる前記セットと、変換した前記セットとを対応付けて、前記第1変換テーブルに登録し、
送信元情報が変換された前記IPパケットを宛先の装置に送信する
請求項1に記載の通信制御システム。
The first communication control unit is
If the number of port numbers available for the NAPT conversion is greater than the threshold,
Allocating one available port number as a post-translation port number to the set included in the received IP packet as source information;
converting the set included in the received IP packet as source information into a set of the first global address and the converted port number;
registering the set included as source information in the received IP packet and the converted set in the first conversion table in association with each other;
The communication control system according to claim 1 , further comprising: transmitting the IP packet, the source information of which has been converted, to a destination device.
前記第1通信制御部は、
受信した前記IPパケットに送信元情報として含まれる前記セットが、前記第1変換テーブルに基づいて新規な組み合わせと判定されなかった場合、前記第1変換テーブルにおいて、受信した前記IPパケットに送信元情報として含まれる前記セットに対応付けられたグローバルアドレス及び変換後ポート番号のセットを読み出し、
読み出した前記セットに含まれるグローバルアドレスが前記第1グローバルアドレスである場合、
受信した前記IPパケットに送信元情報として含まれる前記セットを、読み出した前記セットに変換し、
送信元情報が変換された前記IPパケットを宛先の装置に送信し、
読み出した前記セットに含まれるグローバルアドレスが前記第2グローバルアドレスである場合、受信した前記IPパケットを前記第2通信制御部に転送する
請求項1又は2に記載の通信制御システム。
The first communication control unit is
When the set included in the received IP packet as source information is not determined to be a new combination based on the first conversion table, a set of a global address and a converted port number associated with the set included in the received IP packet as source information is read out from the first conversion table;
If the global address included in the read set is the first global address,
converting the set included in the received IP packet as source information into the read set;
Transmitting the IP packet with the converted source information to a destination device;
3 . The communication control system according to claim 1 , wherein when a global address included in the read set is the second global address, the received IP packet is transferred to the second communication control unit. 4 .
宛先情報としてグローバルアドレス及び変換後ポート番号のセットを含むIPパケットを受信した場合、前記第1変換テーブルにおいて、受信した前記IPパケットに宛先情報として含まれる前記セットに対応付けられたプライベートアドレス及び変換後ポート番号のセットを読み出し、
受信した前記IPパケットを、読み出した前記セットに対応付けられたクライアント装置に転送する
請求項1から3のいずれか1項に記載の通信制御システム。
When an IP packet including a set of a global address and a post-translation port number as destination information is received, a set of a private address and a post-translation port number associated with the set included in the received IP packet as destination information is read from the first translation table;
The communication control system according to claim 1 , further comprising: a communication control unit that transfers the received IP packet to a client device associated with the read set.
前記第2通信制御部は、
受信した前記IPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、前記第2通信制御部によるNAPT変換に用いられる第2変換テーブルであって、プライベートアドレス及び変換前ポート番号と、グローバルアドレス及び変換後ポート番号とを対応付ける第2変換テーブルに基づいて、新規な組み合わせと判定される場合、前記第2グローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた第2閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記第2閾値より大きい場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットに対して、利用可能な1のポート番号を変換後ポート番号として割り当て、
受信した前記IPパケットに送信元情報として含まれる前記セットを、前記第2グローバルアドレス及び前記変換後ポート番号のセットに変換し、
受信した前記IPパケットに送信元情報として含まれる前記セットと、変換した前記セットとを対応付けて、前記第2変換テーブルに登録し、
送信元情報が変換された前記IPパケットを宛先の装置に送信し、
前記NAPT変換に利用可能なポート番号の数が前記第2閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、前記第1グローバルアドレスとを対応付けて前記第2変換テーブルに登録し、
前記第1通信制御部に、受信した前記IPパケットを転送する
請求項1から4のいずれか1項に記載の通信制御システム。
The second communication control unit is
when a set of a private address and a pre-conversion port number included as source information in the received IP packet is determined to be a new combination based on a second conversion table used for NAPT conversion by the second communication control unit, the second conversion table associating a private address and a pre-conversion port number with a global address and a post-conversion port number, determining whether or not the number of port numbers corresponding to the second global address and available for the NAPT conversion is equal to or less than a predetermined second threshold value;
If the number of port numbers available for the NAPT conversion is greater than the second threshold,
Allocating one available port number as a post-translation port number to the set included in the received IP packet as source information;
converting the set included in the received IP packet as source information into a set of the second global address and the converted port number;
registering the set included as source information in the received IP packet and the converted set in the second conversion table in association with each other;
Transmitting the IP packet with the converted source information to a destination device;
If the number of port numbers available for the NAPT conversion is equal to or less than the second threshold,
registering the set included as source information in the received IP packet and the first global address in the second conversion table in association with each other;
The communication control system according to claim 1 , further comprising: a first communication control unit that transfers the received IP packet to the first communication control unit.
複数の通信制御装置間の前記IPパケットの転送回数が予め定められた回数以上となった場合、前記複数の通信制御装置のいずれかの通信制御装置は、前記IPパケットを廃棄する
請求項5に記載の通信制御システム。
6. The communication control system according to claim 5, wherein when the number of times the IP packet is transferred between a plurality of communication control devices reaches or exceeds a predetermined number of times, any one of the plurality of communication control devices discards the IP packet.
受信したIPパケットに送信元情報として含まれる、プライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、プライベートネットワークに接続された他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送し、
前記プライベートネットワーク配下のクライアント装置と外部のネットワークの装置とが通信する場合に、前記他の通信制御装置よりも優先して、前記通信にかかるIPパケットを受信する
通信制御装置。
When a set of a private address and a pre-translation port number included as source information in a received IP packet is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number, and that is used for NAPT (Network Address Port Translation) conversion in the network layer of the OSI reference model, the device determines whether the number of port numbers corresponding to its own global address and available for the NAPT conversion is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device connected to the private network ;
Transferring the received IP packet to the other communication control device;
a communication control device which, when a client device under the private network communicates with a device on an external network, receives IP packets relating to the communication in priority over the other communication control devices;
前記NAPT変換に利用可能なポート番号の数が前記閾値より大きい場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットに対して、利用可能な1のポート番号を変換後ポート番号として割り当て、
受信した前記IPパケットに送信元情報として含まれる前記セットを、自己が有する前記グローバルアドレス及び前記変換後ポート番号のセットに変換し、
受信した前記IPパケットに送信元情報として含まれる前記セットと、変換した前記セットとを対応付けて、前記変換テーブルに登録し、
受信した前記IPパケットを、宛先の装置に送信する
請求項7に記載の通信制御装置。
If the number of port numbers available for the NAPT conversion is greater than the threshold,
Allocating one available port number as a post-translation port number to the set included in the received IP packet as source information;
converting the set included as source information in the received IP packet into a set of the global address and the converted port number that the IP packet has;
registering the set included in the received IP packet as source information and the converted set in the conversion table in association with each other;
The communication control device according to claim 7 , wherein the received IP packet is transmitted to a destination device.
受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定し、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、プライベートネットワークに接続された他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送し、
前記プライベートネットワーク配下のクライアント装置と外部のネットワークの装置とが通信する場合に、前記他の通信制御装置よりも優先して、前記通信にかかるIPパケットを受信する
通信制御方法。
When a set of a private address and a pre-translation port number included as source information in a received IP packet is determined to be a new combination based on a conversion table that associates a set of a private address and a pre-translation port number with a set of a global address and a post-translation port number, and that is used for NAPT (Network Address Port Translation) conversion in the network layer of the OSI reference model, the device determines whether the number of port numbers corresponding to its own global address and available for the NAPT conversion is equal to or less than a predetermined threshold value;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device connected to the private network ;
Transferring the received IP packet to the other communication control device;
When a client device under the private network communicates with a device on an external network, the client device receives IP packets related to the communication in priority over the other communication control devices.
コンピュータに、
受信したIPパケットに送信元情報として含まれるプライベートアドレス及び変換前ポート番号のセットが、プライベートアドレス及び変換前ポート番号のセットと、グローバルアドレス及び変換後ポート番号のセットとを対応付ける変換テーブルであって、OSI参照モデルのネットワーク層のNAPT(Network Address Port Translation)変換に用いられる変換テーブルに基づいて、新規な組み合わせと判定される場合、自己が有するグローバルアドレスに対応するポート番号であって、前記NAPT変換に利用可能なポート番号の数が予め定められた閾値以下であるか否かを判定する処理と、
前記NAPT変換に利用可能なポート番号の数が前記閾値以下である場合は、
受信した前記IPパケットに送信元情報として含まれる前記セットと、プライベートネットワークに接続された他の通信制御装置が有するグローバルアドレスとを対応付けて前記変換テーブルに登録し、
前記他の通信制御装置に、受信した前記IPパケットを転送する処理と、
前記プライベートネットワーク配下のクライアント装置と外部のネットワークの装置とが通信する場合に、前記他の通信制御装置よりも優先して、前記通信にかかるIPパケットを受信する処理と、
を実行させるためのプログラム。
On the computer,
a process of determining whether the number of port numbers corresponding to the global address owned by the device and available for the NAPT conversion is equal to or less than a predetermined threshold value when the set of private address and pre-translation port number included in the received IP packet as source information is determined to be a new combination based on a conversion table that associates the set of private address and pre-translation port number with a set of global address and post-translation port number, the conversion table being used for NAPT conversion in the network layer of the OSI reference model;
If the number of port numbers available for the NAPT conversion is equal to or less than the threshold,
registering the set included as source information in the received IP packet in the conversion table in association with a global address of another communication control device connected to the private network ;
A process of transferring the received IP packet to the other communication control device;
When a client device under the private network communicates with a device of an external network, the client device receives IP packets related to the communication in priority to the other communication control devices;
A program for executing the above.
JP2022002165A 2022-01-11 2022-01-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM Active JP7582678B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022002165A JP7582678B2 (en) 2022-01-11 2022-01-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022002165A JP7582678B2 (en) 2022-01-11 2022-01-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2023101924A JP2023101924A (en) 2023-07-24
JP7582678B2 true JP7582678B2 (en) 2024-11-13

Family

ID=87425435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022002165A Active JP7582678B2 (en) 2022-01-11 2022-01-11 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP7582678B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130185404A1 (en) 2012-01-18 2013-07-18 Microsoft Corporation Efficient port management for a distributed network address translation
US10237235B1 (en) 2014-05-29 2019-03-19 Amazon Technologies, Inc. System for network address translation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130185404A1 (en) 2012-01-18 2013-07-18 Microsoft Corporation Efficient port management for a distributed network address translation
US10237235B1 (en) 2014-05-29 2019-03-19 Amazon Technologies, Inc. System for network address translation

Also Published As

Publication number Publication date
JP2023101924A (en) 2023-07-24

Similar Documents

Publication Publication Date Title
CN107810627B (en) Method and apparatus for establishing a media session
EP3207667B1 (en) System and method for distributed flow state p2p setup in virtual networks
CN101404619B (en) Method for implementing server load balancing and a three-layer switchboard
US7991914B2 (en) Technique for addressing a cluster of network servers
US11436111B2 (en) Highly-available distributed network address translation (NAT) architecture with failover solutions
US7554993B2 (en) Method and apparatus for performing connection management with multiple stacks
TWI381682B (en) Smart load balancing and fault recovery for network traffic
CN100435530C (en) A Realization Method of Two-way Load Balancing Mechanism in Multi-machine Server System
CN107846358B (en) Data transmission method, device and network system
CN107770062A (en) A kind of data packet sending method, device and the network architecture
US11621915B2 (en) Packet forwarding method, route sending and receiving method, and apparatus
JP5169992B2 (en) Network, network device, and load balancing method used therefor
US11516125B2 (en) Handling packets travelling towards logical service routers (SRs) for active-active stateful service insertion
US20240388545A1 (en) Packet processing method, gateway device, and storage system
CN116132542B (en) Container network management method, container network plug-in and related equipment
CN113381929A (en) Route processing method, gateway equipment and computer storage medium
CN103051538A (en) Method, control equipment and system for generating ARP (Address Resolution Protocol) table entry
TWI501092B (en) Method for controlling operations of server cluster
JP7582678B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM
CN100359875C (en) Method for realizing load sharing on address resolution protocol agent
US11190484B2 (en) Enhanced large scale network address translation (NAT) system for processing packets between router and transmission control protocol/internet protocol (TCP/IP) network
US9838302B1 (en) Managing loss of network connectivity in traffic forwarding systems
EP3026851B1 (en) Apparatus, network gateway, method and computer program for providing information related to a specific route to a service in a network
CN116366541A (en) A cloud scene network storage load balancing access method and system
US10084890B2 (en) Sysplexport allocation across a z/OS sysplex

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20241024

R150 Certificate of patent or registration of utility model

Ref document number: 7582678

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150