(57)【要約】【課題】ＮＡＰＴ機能を有する通信装置において、ＩＰアドレスの節約を図り、複数のユーザに公平にネットワーク接続できるようにする。【解決手段】本発明は、複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換手段と、アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送手段と、複数のプライベートネットワーク上のユーザ端末とグローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、グループの利用可能なセッション数を超えると当該グループに属するユーザ端末のセッションを制限するセッション制限手段とを備える。【選択図】      図１
2010103709.tif 000002
【特許請求の範囲】
【請求項１】
複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行うパケット転送装置において、
上記複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換手段と、
上記アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送手段と、
上記複数のプライベートネットワーク上のユーザ端末と上記グローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、各グループに設けた利用可能なセッション数を超えると当該グループに属する上記ユーザ端末のセッションを制限するセッション制限手段と
を備えることを特徴とするパケット転送装置。
【請求項２】
上記セッション制限手段が、１又は複数の上記プライベートアドレスを１つのグループとして、各グループにおいて利用できる利用可能セッション数を設定したセッション管理テーブルを有し、当該グループに属する上記プライベートアドレスを用いた上記ユーザ端末の上記グローバルネットワーク上の上記装置との間の現在のセッション数が当該グループの上記利用可能セッション数を超えると、上記ユーザ端末のセッションを制限するものであることを特徴とする請求項１に記載のパケット転送装置。
【請求項３】
上記セッション管理テーブルが、上記各グループにおいて利用できるポート番号の割り当て範囲が設定されているものであり、
上記セッション制限手段は、当該グループに属する上記プライベートアドレスを用いた上記ユーザ端末の上記グローバルネットワーク上の上記装置との間の現在のセッション数が当該グループの上記利用可能セッション数を超えていないときに、上記割り当て範囲からポート番号を任意に決定するものであり、
上記アドレス変換手段が、上記セッション制限手段により決定されたポート番号を用いてアドレス情報及びポート番号のアドレス変換を行うものである
ことを特徴とする請求項２に記載のパケット転送装置。
【請求項４】
上記セッション制限手段は、当該パケット転送装置を通じた全体のセッション数を管理し、上記各グループにおける現在のセッション数が上記利用可能セッション数を超える場合でも、当該パケット転送装置を通じた全体のセッション数が所定数を超えていないときには、上記各グループにおける上記ユーザ端末と上記グローバルネットワーク上の上記装置との間のセッションを許容するものであることを特徴とする請求項２又は３に記載のパケット転送装置。
【請求項５】
上記セッション管理テーブルが、複数の上記グループを総括し、これらの複数の上記グループ全体で利用できる統合利用可能セッション数を設けるものであり、
上記セッション制限手段は、上記各グループにおける現在のセッション数が、上記利用可能セッション数を超える場合でも上記統合利用可能セッション数を超えていないときに、上記各グループにおける上記ユーザ端末と上記グローバルネットワーク上の上記装置との間のセッションを許容するものであることを特徴とする請求項４に記載のパケット転送装置。
【請求項６】
複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行うパケット転送装置のパケット転送方法において、
アドレス変換手段が、上記複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換工程と、
転送手段が、上記アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送工程と、
セッション制限手段が、上記複数のプライベートネットワーク上のユーザ端末と上記グローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、各グループに設けた利用可能なセッション数を超えると当該グループに属する上記ユーザ端末のセッションを制限するセッション制限工程と
を有することを特徴とするパケット転送方法。
【請求項７】
複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行うパケット転送装置のパケット転送プログラムにおいて、
上記パケット転送装置を、
上記複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換手段、
上記アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送手段、
上記複数のプライベートネットワーク上のユーザ端末と上記グローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、各グループに設けた利用可能なセッション数を超えると当該グループに属する上記ユーザ端末のセッションを制限するセッション制限手段
として機能させることを特徴とするパケット転送プログラム。
【請求項８】
複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行う請求項１〜５のいずれかに記載のパケット転送装置を備えることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置、パケット転送方法、パケット転送プログラム及び通信装置に関し、例えば、ＩＰネットワーク網への接続のために、プライベートＩＰアドレスとグローバルＩＰアドレスとの間のネットワークアドレス変換機能を有する装置に適用し得るものであり、特に、ＩＰネットワーク網でインターネット接続会社がグローバルＩＰアドレスの使用を節約する装置に好適なものである。
【背景技術】
【０００２】
例えばインターネットサービスプロバイダ（ＩＳＰ：Internet  Service  Provider）は、非特許文献１に記載されているネットワークアドレス変換機能を用いて、ＩＰネットワークへの接続環境をユーザに提供している。
【０００３】
この従来のネットワークへの接続方法を図１を用いて説明する。図１において、ユーザＡ、ユーザＢ、ユーザＣはそれぞれＩＳＰ１１４と接続契約を締結し、各ユーザＡ〜Ｃのホームネットワーク（ＨＮＷ）１１１〜１１３に、ＩＳＰ１１４のルータ１１５と接続するモデム等のＣＰＥ（Customer  Premises  Equipment）１０８〜１１０を設置する。
【０００４】
このＣＰＥ１０８〜１１０は、ネットワークアドレス変換機能を有している。ネットワークアドレス変換機能は、ユーザの端末のプライベートＩＰアドレスに１つのグローバルＩＰアドレスを割り当て、プライベートＩＰアドレスとグローバルＩＰアドレスとの関係を管理し、当該端末のインターネットへの接続を可能としている。
【０００５】
【非特許文献１】ＲＦＣ２６６３
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように、従来技術では、１人のユーザに対して１つのグローバルＩＰアドレスを割り当てている。従って、グローバルアドレスとしてのＩＰアドレスが枯渇化すると、ＩＳＰは、グローバルＩＰアドレスを利用できないため、新規のユーザを収容できないという問題がある。
【０００７】
ところで、ＩＰアドレスの枯渇化問題の対応策として、グローバルアドレスにＩＰｖ６アドレスを使用することが話題となっている。しかし、ＩＰｖ４対応装置が広く普及している等の現実的な理由から、ＩＰｖ６アドレスへの切替を強制することは望ましくないとの意見もあり、引き続きＩＰｖ４アドレスの使用が予想される。
【０００８】
このグローバルアドレスの枯渇化を少しでも遅らせるための方法として、ＮＡＰＴ（Network  Address  Port  Translation）機能を使用する方法が検討されている。
【０００９】
図３は、従来のＩＳＰのネットワーク構成にＮＡＰＴ機能を使用した場合に想定されるネットワーク構成を示す構成図である。
【００１０】
図３では、ＩＳＰ２１４のルータ２１５がＮＡＰＴ機能を有する。このＮＡＰＴ機能は、ＩＳＰ内の複数のプライベートアドレスを１つのグローバルアドレスに変換する。複数のプライベートアドレスはＴＣＰのポート番号に対応付けて管理される。このＮＡＰＴ機能の仕組みにより、端末とインターネット２１６との間の通信を実現することができる。
【００１１】
しかしながら、図３に示すように、１つのグローバルアドレスを複数のユーザ間で共有する場合、１つのグローバルアドレスに利用できるポート番号の数は６５５３５個となり制限されてしまう。
【００１２】
従って、マルチセッションを採用する場合に、１人のユーザがたくさんのポート番号を専有してしまうと、同一のグローバルアドレスを使用する他ユーザの端末は、ポート番号を確保できない場合が生じ得る。この場合、当該他ユーザの端末は、ポート番号を使用できないので、インターネットへの接続ができないこととなる。その結果、同一グローバルアドレスを利用するユーザ間で不公平が生じ得る。
【００１３】
そのため、ＩＳＰの通信装置がＮＡＰＴ機能を使用し、複数のユーザに同時にネットワークに接続するとき、ＩＳＰが提供する通信経路でユーザ間の公平性を保つことができるパケット転送装置、パケット転送方法、パケット転送プログラム及び通信装置が求められている。
【課題を解決するための手段】
【００１４】
かかる課題を解決するために、第１の本発明のパケット転送装置は、複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行うパケット転送装置において、（１）複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換手段と、（２）アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送手段と、（３）複数のプライベートネットワーク上のユーザ端末とグローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、グループに設けた利用可能なセッション数を超えると当該グループに属するユーザ端末のセッションを制限するセッション制限手段とを備えることを特徴とする。
【００１５】
第２の本発明のパケット転送方法は、複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行うパケット転送装置のパケット転送方法において、（１）アドレス変換手段が、複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換工程と、（２）転送手段が、アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送工程と、（３）セッション制限手段が、複数のプライベートネットワーク上のユーザ端末とグローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、グループに設けた利用可能なセッション数を超えると当該グループに属するユーザ端末のセッションを制限するセッション制限工程とを有することを特徴とする。
【００１６】
第３の本発明のパケット転送プログラムは、複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行うパケット転送装置のパケット転送プログラムにおいて、パケット転送装置を、（１）複数のプライベートネットワークの複数のプライベートアドレスに、１個のグローバルアドレスを割り当て、受信パケットのヘッダに含まれるアドレス情報及びポート番号の変換を行うアドレス変換手段、（２）アドレス変換手段によりアドレス情報及びポート番号の変換されたパケットを転送する転送手段、（３）複数のプライベートネットワーク上のユーザ端末とグローバルネットワーク上の装置との間のセッション数を所定のグループ毎に管理するものであり、グループに設けた利用可能なセッション数を超えると当該グループに属するユーザ端末のセッションを制限するセッション制限手段として機能させることを特徴とする。
【００１７】
第４の本発明の通信装置は、複数のプライベートネットワークとグローバルネットワークとの間でパケット転送を行う第１の本発明のパケット転送装置を備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、複数のプライベートアドレスに対して１個のグローバルアドレスを割り当ててアドレス情報を変換する場合でも、複数のユーザに対して公平にネットワーク接続を図ることができる。また、本発明によれば、グローバルアドレスの使用を節約することができる。
【発明を実施するための最良の形態】
【００１９】
（Ａ）第１の実施形態
以下では、本発明のパケット転送装置、パケット転送方法、パケット転送プログラム及び通信装置の第１の実施形態を、図面を参照しながら説明する。
【００２０】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態のネットワーク構成と、ＩＳＰの通信装置の内部構成とを示す構成図である。
【００２１】
図１に示すように、第１の実施形態のネットワークの主な構成は、ユーザのＨＮＷ（Home  Network）３０１〜３０３、Ｌ２ＳＷ（レイヤ２スイッチ）３０５、ＩＳＰの通信装置３０６、サーバ３０４を少なくとも有して構成される。
【００２２】
ＨＮＷ３０１〜３０３は、インターネットへの接続契約を締結したユーザのホームネットワークであり、ユーザパケットをＨＮＷ３０１〜３０３内の端末に転送するためのネットワークである。図１では、ＨＮＷ３０１〜３０３の数を３つとした場合を例示したが、その数は特に限定されるものではない。
【００２３】
ＨＮＷ３０１〜３０３は、例えばユーザの家庭内ネットワーク等が該当する。図１では説明便宜上、ＨＮＷ３０１〜３０３の詳細な構成を省略しているが、当該ユーザが使用する端末（例えば、ＰＣ等）やＣＰＥ（例えばモデムやルータ等）などを有して構成されるものである。また、ＨＮＷ３０１〜３０３を構成する端末は、Ｌ２ＳＷ３０５を介して通信装置３０６と接続するものである。
【００２４】
Ｌ２ＳＷ３０５は、複数のＨＮＷ３０１〜３０３と通信装置３０６との間で授受されるパケットを中継する中継装置である。
【００２５】
通信装置３０６は、ＩＳＰが備える通信装置であり、例えばルータなどが該当する。通信装置３０６は、Ｌ２ＳＷを経由して、ＨＮＷ３０１〜３０３から受け取ったユーザパケットをインターネット上のサーバ３０４に転送したり、サーバ３０４からのパケットをＨＮＷ３０１〜３０３に転送したりするものである。これにより、契約ユーザの端末をインターネットに接続させることができる。
【００２６】
また、通信装置３０６は、その内部構成として、制御ボード３０７とパケット転送ボード３０８とを有し、パケット転送の際に、ユーザパケットの送信元アドレス（プライベートＩＰアドレス）とグローバルＩＰアドレスとの間の変換処理を行い、パケット転送を行う。
【００２７】
制御ボード３０７は、通信装置３０６の機能を司る制御ボードであり、その内部に制御部３０７ａを有する。この制御部３０７ａは、パケット転送ボード３０８の制御部３０８ａと制御パケットを送信することでパケット転送ボード３０８の機能部３０８ｂの設定を行うものである。
【００２８】
パケット転送ボード３０８は、通信装置３０６の転送処理を行う通信ボードであり、Ｌ２ＳＷ３０５を経由して、ＨＮＷ３０１〜３０３から受信したユーザパケットをサーバ３０４に向けて転送したり、逆にサーバ３０４からのパケットをＨＮＷ３０１〜３０３に向けて転送したりするものである。また、パケット転送ボード３０８は、制御部３０８ａ及び機能部３０８ｂを有する。
【００２９】
制御部３０８ａは、制御ボード３０７の制御部３０７ａと制御パケットを送受信することで、パケット転送ボード３０８の機能部３０８ｂの動作設定を行うものである。
【００３０】
機能部３０８ｂは、制御部３０８ａの制御の下、パケット転送を機能的に実行するものであり、ＮＡＰＴ機能部３１、セッション管理機能部３２を少なくとも有する。
【００３１】
ＮＡＰＴ機能部３１は、複数のＨＮＷ３０１〜３０３における送信元端末のプライベートＩＰアドレス及びポート番号を、１つのグローバルＩＰアドレス及びポート番号に変換するものである。ＮＡＰＴ機能部３１は、ＨＮＷ３０１〜３０３のＩＰアドレス及びポート番号と、変換後の仮想ＩＰアドレス及びポート番号とを対応付けたＮＡＰＴテーブルを有し、このＮＡＰＴテーブルを参照しながら、アドレス変換機能を行う。これにより、１つもグローバルＩＰアドレスを複数のユーザで共用することができる。
【００３２】
図４は、ＮＡＰＴテーブルの構成例を示す構成図である。図４に示すように、ＮＡＰＴテーブルは、「変換前送信元アドレス」、「変換前送信元ポート」、「変換後送信元アドレス」、「変換後送信元ポート」を項目とする。
【００３３】
「変換前送信元アドレス」には、ＨＮＷ３０１〜３０３における送信元のプライベートＩＰアドレスが格納される。「変換前送信元ポート」には、ＨＮＷ３０１〜３０３における送信元のポート番号が格納される。「変換後送信元アドレス」は、グローバルＩＰアドレスが格納される。「変換後送信元ポート」は、後述するセッション管理機能部３２により設定されたポート番号が格納される。
【００３４】
セッション管理機能部３２は、送信元から宛先へのセッションを管理するものである。
【００３５】
また、セッション管理機能部３２は、送信元が使用可能なセッション数を管理し、そのセッション数を制限するセッション制限機能を行うものである。
【００３６】
具体的には、セッション管理機能部３２は、ＨＮＷ３０１〜３０３における送信元のプライベートＩＰアドレス毎に使用可能なポート番号の範囲を設定し、それを１つのグループとする。そして、グループ毎に利用可能なセッション数を設定し、現在のセッション数が利用可能セッション数を超えた場合に、セッション管理機能部３２は当該グループのセッション処理を制限する。このように、グループ毎に使用できるポート番号を設定し、かつ、利用可能なセッション数を設けることで、１つのグローバルＩＰアドレスを共用するユーザ間で公平性を図ることができる。
【００３７】
図５は、セッション管理機能部３２が管理するセッション管理テーブルの構成を示す構成図である。図５において、セッション管理テーブルは、「グループ」、「利用可能セッション数」、「利用可能ポート範囲」、「制限アドレス」、「現在のセッション数」を項目として有する。
【００３８】
「グループ」には、グループ番号が格納される。「利用可能セッション数」には、グループ毎に設定される利用可能セッション数が格納される。例えば、図５において、「グループ＃１」の「利用可能セッション数」は「５００個」と設定されている。
【００３９】
「利用可能ポート範囲」には、グループ毎に設定される利用可能なポート番号の範囲が格納される。例えば、図５の「グループ＃１」の「利用可能ポート範囲」は、ポート番号が「２００１番〜２５００番」である。なお、ポート番号の範囲は、動的に割り振るようにしてもよい。
【００４０】
「制限アドレス」は、グループに属するＩＰアドレスが格納される。ＩＰアドレスは、ＩＳＰの通信装置３０６が見ることができるユーザ側の送信元アドレスである。すなわち、ＩＳＰの通信装置３０６に割り当てられるユーザ側のＩＰアドレスが格納される。例えば、図５の「グループ＃１」の「制限アドレス」は、ＨＮＷ３０１側のＩＰアドレス「172.16.0.1/32」が設定されている。なお、１つのグループの制限アドレスを１個することが望ましいが、１つのグループの制限アドレスを複数とするようにしてもよい。
【００４１】
「現在のセッション数」は、制限アドレスに格納されるＩＰアドレスが現在行っているセッション数が格納される。例えば、図５の「グループ＃１」の「現在のセッション数」は、「１０５個」であることを示す。
【００４２】
（Ａ−２）第１の実施形態の動作
次に、第１の実施形態の通信装置３０６におけるセッション数を制限する処理の動作を図面を参照しながら説明する。
【００４３】
以下では、ＨＮＷ３０１上の端末（図示しない）からサーバ３０４までの通信の流れを例示して説明する。
【００４４】
まず、ユーザがインターネットへの接続契約をＩＳＰと締結する際に、その契約内容に応じて、セッション管理テーブルを作成してパケット転送ボード３０８に設定する。このとき、ＩＳＰに割り当てられているユーザ側のプライベートＩＰアドレス毎にポートを制限するグループを作成し、各グループに利用可能セッション数を指定すると使用可能なポート番号の範囲が設定される。
【００４５】
ＨＮＷ３０１上の端末がサーバ３０４宛のパケットを送信する際、ＨＮＷ３０１の端末は、ホスト名とドメイン名でサーバ３０４を一意に識別できるＦＱＤＮ（Fully  Qualified  Domain  Name）名に対応するＩＰアドレスをＤＮＳ（Domain  Name  System）サーバに問い合わせて、端末はサーバ３０４のＩＰアドレスを取得する。
【００４６】
次に、ＨＮＷ３０１の端末は、取得したサーバ３０４のＩＰアドレスを宛先アドレスとするパケットを送信する。ＨＮＷ３０１の端末から送信されたパケットがＨＮＷ３０１上のＣＰＥに与えられると、当該パケットの送信元アドレスはＣＰＥによりＩＳＰに割り当てられているプライベートＩＰアドレスに書き換えられて転送される。
【００４７】
ＣＰＥから送信されたパケットは、Ｌ２ＳＷ３０５を経由して通信装置３０６のパケット転送ボード３０８に与えられる。
【００４８】
パケット転送ボード３０８にパケットが与えられると、機能部３０８ｂが図６に示すセッション制限処理を行う。図６は、パケット転送ボード３０８の機能部３０８ｂによるセッション制限処理を示すフローチャートである。
【００４９】
図６において、パケット転送ボード３０８にパケットが受信されると（ステップＳ１０１）、セッション管理機能部３２は、当該パケットのヘッダに含まれる送信元アドレスを基にしてセッション管理テーブルを参照し、当該送信元アドレスを制限アドレスとするグループを割り出す（ステップＳ１０２）。
【００５０】
セッション管理機能部３２は、グループを割り出すと、当該グループの現在のセッション数が利用可能セッション数を超えているか否かを判断する（ステップＳ１０３）。
【００５１】
現在のセッション数が利用可能セッション数を超えている場合、セッション管理機能部３２は、当該制限アドレスを送信元アドレスとするパケットの転送処理を行わない（ステップＳ１０４）。
【００５２】
このように、現在のセッション数が利用可能セッション数を超えている場合に当該ユーザからのセッションを制限することで、ユーザが使用できるポート数を制限できるから、グローバルＩＰアドレスをあるユーザが専有することを回避し、他のユーザに対してもネットワークへの接続機会を公平に与えることができる。また、グローバルＩＰアドレスを節約して使用することができる。
【００５３】
一方、現在のセッション数が利用可能セッション数を超えていない場合、セッション管理機能部３２は、当該グループの利用可能ポート範囲内のポート番号を割り当てて（ステップＳ１０５）、このポート番号をＮＡＰＴテーブルに登録する（ステップＳ１０６）。
【００５４】
これにより、ＮＡＰＴテーブルは、当該受信パケットの送信元アドレス（プライベートＩＰアドレス）及びポート番号と、グルーバルＩＰアドレス及びステップＳ１０５で割り当てらポート番号とを対応付けられる。
【００５５】
例えば、ＨＮＷ３０１の端末からパケットが与えられる場合を例示する。プライベートＩＰアドレスが「172.16.0.1」であるから、セッション管理機能部３２はセッション管理テーブル（図５参照）の「グループ＃１」の情報を見る。そして、「グループ＃１」の情報から現在のセッション数が「１０５」であるから、利用可能セッション数「５００」を超えていないと判断する。従って、この場合、セッション管理機能部３２は利用可能ポート範囲「２００１番〜２５００番」の中からランダムにポート番号を割り当てる。ここでは、例えば、ポート番号「２００１番」を割り当てるものとし、セッション管理機能部３２はこのポート番号「２００１番」をＮＡＰＴテーブルに登録する。
【００５６】
上記例の場合、ポート番号「２００１番」を割り当てられているから、図４のＮＡＰＴテーブルの第１行目のように、「変換前送信元アドレス：172.16.0.1」、「変換前送信元ポート：100」、「変換後送信元アドレス：200.100.0.1」、「変換後送信元ポート：2001」を対応させて登録する。
【００５７】
そして、ＮＡＰＴ機能部３１は、ＮＡＰＴテーブルを参照して、当該受信パケットのヘッダに含まれる送信元アドレス（プライベートＩＰアドレス）及びポート番号を、変換後送信元アドレス及び変換後送信元ポート（すなわち、グローバルＩＰアドレス及び割り当てられたポート番号）に変換される（ステップＳ１０７）。
【００５８】
次に、受信パケットのヘッダに含まれる宛先アドレスを基にしてステップＳ１０２〜Ｓ１０５の処理を行う（ステップＳ１０８）。これにより、宛先アドレスを基にしたグループの現在のセッション数が利用可能セッション数を超えている場合には転送処理を制限することができる。
【００５９】
上記のようにして、送信元アドレス及び宛先アドレスの両方を基にして、それぞれのグループの現在のセッション数が利用可能セッション数を超えていないとき、サーバ３０４に向けて転送される（ステップＳ１０９）。これにより、ＨＮＷ３０１からサーバ３０４への通信が完了する。
【００６０】
次に、サーバ３０４からＨＮＷ３０１宛のパケットが通信装置３０６に送信されてきたときの通信装置３０６における処理の動作を説明する。図７は、パケット転送ボード３０８の機能部３０８ｂによる処理を示すフローチャートである。
【００６１】
サーバ３０４からのパケットが通信装置３０８のパケット転送ボード３０８ｂに与えられると（ステップＳ２０１）、ＮＡＰＴ機能部３１は、ＮＡＰＴテーブルを参照して、当該受信パケットのヘッダに含まれる宛先アドレス及びポート番号について、グローバルＩＰアドレス及びポート番号から、プライベートＩＰアドレス及びポート番号にアドレス変換を行う（ステップＳ２０２）。
【００６２】
例えば、図４のＮＡＰＴテーブルの例を用いて説明すると、サーバ３０４からのパケットのヘッダに含まれる宛先アドレスはグローバルＩＰアドレスであるから、当該パケットの宛先アドレス及びポート番号は、図４の「変換後送信元アドレス」及び「変換後送信元ポート」に相当する。従って、この「変換後送信元アドレス」及び「変換後送信元ポート」に対応する「変換前送信元アドレス」及び「変換前送信元ポート」をプライベートＩＰアドレス及びポート番号としてアドレス変換する。
【００６３】
次に、セッション管理機能部３２は、ＮＡＰＴ機能部３１により変換されたプライベートＩＰアドレスを基にしてセッション管理テーブルを参照し、当該プライベートＩＰアドレスを制限アドレスとするグループを割り出す（ステップＳ２０３）。
【００６４】
セッション管理機能部３２は、サーバ３０４からのパケットがＨＮＷ３０１の端末からのセッション要求に対する応答であり、ＨＮＷ３０１の端末とサーバ３０４との間のセッションが確立するものであるとき、セッション管理テーブルにおける当該グループの現在のセッション数を更新する（ステップＳ２０４）。
【００６５】
そして、パケット転送ボード３０８は、プライベートＩＰアドレス及びポート番号に変換されたパケットをＨＮＷ３０１の端末に向けて転送する（ステップＳ２０５）。
【００６６】
（Ａ−３）第１の実施形態の効果
以上のように、第１の実施形態によれば、ＮＡＰＴ機能を有するＩＳＰの通信装置が、制限アドレス毎に使用可能なセッション数を制限制御することにより、各ユーザが使用できるポート数を制限することができるので、ユーザ間のネットワークの接続を公平にすることができる。またグローバルＩＰアドレスを節約して使用することができる。
【００６７】
（Ｂ）第２の実施形態
次に、本発明のパケット転送装置、パケット転送方法、パケット転送プログラム及び通信装置の第２の実施形態を、図面を参照しながら説明する。
【００６８】
第１の実施形態では、ネットワーク接続に関するユーザ間の公平性は保たれるが、セッション数がユーザ単位に割り振った利用可能セッション数に達すると、当該ユーザはサーバと通信することができない。しかし、他のユーザとサーバとの間の通信が行われない状態では、通信装置の処理に余裕が生じ得る。そこで、上記のように通信装置の処理に余裕があるときには、これを有効に利用して、サーバとの通信を最大限に許容できるようにする仕組みを第２の実施形態で説明する。
【００６９】
（Ｂ−１）第２の実施形態の構成
第２の実施形態が第１の実施形態と異なる点は、パケット転送ボードのセッション管理機能部のセッション数の制御処理の仕方である。そこで、第２の実施形態では、図１を用いながら、セッション管理機能部３２の特徴的な構成を詳細に説明する。
【００７０】
セッション管理機能部３２は、第１の実施形態と同様の機能を行うものである。さらに、第２の実施形態のセッション管理機能部３２は、グループ間に親子関係を設定し、この親子関係を利用してセッション管理を行うものである。
【００７１】
図８は、第２の実施形態のセッション管理機能部３２が有するセッション管理テーブルの構成を示す構成図である。
【００７２】
図８において、第２の実施形態のセッション管理テーブルは、図５に示す第１の実施形態のセッション管理テーブルの項目に加えて、「親番号」の項目を更に有する。
【００７３】
「親関係」には、当該グループの親のグループを指すグループ番号が格納される。例えば、図８において、「グループ＃１」の親のグループは「グループ＃４」である。
【００７４】
ここで、親のグループとは、他の子グループと同様に、「利用可能セッション数」が設定されており、「現在のセッション数」が「利用可能セッション数」を超えたとき、セッションが制限される。さらに、子のグループについてセッション制限が行われた場合に親のグループの「現在のセッション数」が「利用可能セッション数」を超えていない場合は、親のグループのセッションを使用できる。「利用可能ポート範囲」には、動的なポートを割り当てることができる。
【００７５】
なお、図８では、「制限アドレス」をグローバルＩＰアドレスが記載されている場合を示すが、複数の子のグループのプライベートＩＰアドレスをそれぞれ記載するようにしてもよい。
【００７６】
セッション管理機能部３２は、セッション数の制限処理を行う際、まず、子のグループの情報を用いて、第１の実施形態と同様にしてセッションを制限するか否かの判断を行う。そして、当該子のグループについてセッション制限が行われると、セッション管理機能部３２は「親番号」を参照して親のグループの情報を見る。その後、セッション管理機能部３２は、親のグループの情報を用いて、セッションを制限するか否かの判断を行うようにする。
【００７７】
このように、子のグループについてセッションの制限が行われたときに、親のグループの情報を用いてセッション数の制御を行うことで、転送処理全体として有効に利用することができ、サーバとの通信を最大限に許容できる
（Ｂ−２）第２の実施形態の動作
次に、第２の実施形態の通信装置３０６における処理の動作を、図面を参照しながら説明する。以下では、ＨＮＷ３０１又は３０２上の端末からサーバ３０４までの通信を例示して説明する。
【００７８】
図９は、第２の実施形態のパケット転送ボード３０８における処理を示すフローチャートである。
【００７９】
まず、ＨＮＷ３０１又は３０２から送信されてきたパケットが通信装置３０６のパケット転送ボード３０８に与えられると（ステップＳ１０１）、第１の実施形態と同様にして、セッション管理機能部３２は、受信パケットのヘッダに含まれる送信元アドレスを基にして、セッション管理テーブルからグループを割り出す（ステップＳ１０２）。
【００８０】
ステップＳ１０３において、当該グループの現在のセッション数が利用可能セッション数を超えていない場合、セッション管理機能部３２は第１の実施形態で説明した処理を行う（ステップＳ１０５〜Ｓ１０９）。
【００８１】
例えば、図８において、ＨＮＷ３０１のアドレスのグループ＃１では、現在のセッション数（１００個）が利用可能セッション数（５００個）を超えていないから、セッション管理機能部３２は、ＨＮＷ３０１からのパケットをステップＳ１０５〜Ｓ１０８に従って処理する。
【００８２】
一方、ステップＳ１０３において、当該グループの現在のセッション数が利用可能セッション数を超える場合、セッション管理機能部３２は、当該グループの「親番号」を参照して（ステップＳ３０１）、親のグループを割り出す（ステップＳ３０２）。
【００８３】
そして、セッション管理機能部３２は、ステップＳ１０３に移行し、親のグループの情報を利用して、セッション数の制限処理を行う。
【００８４】
例えば、ＨＮＷ３０２からのパケットがパケット転送ボード３０８に与えられた場合、ＨＮＷ３０２のアドレスのグループ＃２では、現在のセッション数（５００個）が利用可能セッション数（５００）と同じであるので、今回により利用可能セッション数を超えることとなる。そのため、セッション管理機能部３２は、グループ＃２の「親番号：＃４」を参照し、グループ＃４の情報を見る。
【００８５】
そして、グループ＃４の情報より、現在のセッション数（１０００個）が利用可能セッション数（１００００個）を超えていないから、セッション管理機能部３２は、ポート番号を割り当ててＮＡＰＴテーブルに登録し、ＮＡＰＴ機能部３１は、プライベートＩＰアドレス及びポート番号を、ＮＡＰＴテーブルに登録されている仮想ＩＰアドレス（グローバルＩＰアドレス及びポート番号）に変換し、サーバ３０４まで通信することができる。
【００８６】
なお、ステップＳ３０３では、受信パケットのヘッダに含まれる宛先アドレスを基にしてステップＳ１０２、Ｓ１０３、Ｓ３０１、Ｓ３０２の処理を行う（ステップＳ３０３）。これにより、宛先アドレスを基にしたグループの現在のセッション数が利用可能セッション数を超えている場合には転送処理を制限することができる。
【００８７】
上記のようにして、送信元アドレス及び宛先アドレスの両方を基にして、それぞれのグループの現在のセッション数が利用可能セッション数を超えていないとき、サーバ３０４に向けて転送される（ステップＳ１０９）。これにより、ＨＮＷ３０１からサーバ３０４への通信が完了する。
【００８８】
（Ｂ−３）第２の実施形態の効果
以上のように、第２の実施形態によれば、ＩＳＰは、ユーザの接続できるセッション数に制限を設けた場合でも、サーバが処理できるセッション数に余裕がある場合は、ユーザがネットワークに接続することが可能である。その結果、ユーザ間での公平性を保ち、かつ、最大限にサーバとの通信を可能にする。
【００８９】
（Ｃ）他の実施形態
上述した第１及び第２の実施形態では、ＩＰｖ４−ＩＰｖ４の通信プロトコルを意識し、ＩＰｖ４−ＩＰｖ４の通信プロトコルで適用した場合を例示して説明したが、それ以外に、ＩＰｖ４−ＩＰｖ６、ＩＰｖ６−ＩＰｖ４、および、ＩＰｖ６−ＩＰｖ６の通信プロトコル間でも同様に適用することができる。
【図面の簡単な説明】
【００９０】
【図１】第１の実施形態のネットワーク構成及び通信装置の内部構成を示す構成図である。
【図２】従来のアドレス変換機能を説明する説明図である。
【図３】ＮＡＰＴ機能を用いてアドレス変換する場合を想定したネットワークの構成図である。
【図４】第１の実施形態のＮＡＰＴテーブルの構成を示す構成図である。
【図５】第１の実施形態のセッション管理テーブルの構成を示す構成図である。
【図６】第１の実施形態のパケット転送ボードにおける処理を示すフローチャートである。
【図７】第１の実施形態のパケット転送ノードにおける処理を示すフローチャートである。
【図８】第２の実施形態のセッション管理テーブルの構成を示す構成図である。
【図９】第２の実施形態のパケット転送ボードにおける処理を示すフローチャートである。
【符号の説明】
【００９１】
３０６…通信装置、３０７…制御ボード、３０７ａ…制御部、３０８…パケット転送ボード、３０８ａ…制御部、３０８ｂ…機能部、３１…ＮＡＰＴ機能部、３２…セッション管理機能部。
【図１】
2010103709.tif 000003
【図２】
2010103709.tif 000004
【図３】
2010103709.tif 000005
【図４】
2010103709.tif 000006
【図５】
2010103709.tif 000007
【図６】
2010103709.tif 000008
【図７】
2010103709.tif 000009
【図８】
2010103709.tif 000010
【図９】
2010103709.tif 000011