JP5488591B2 - 通信システム - Google Patents

通信システム Download PDF

Info

Publication number
JP5488591B2
JP5488591B2 JP2011509242A JP2011509242A JP5488591B2 JP 5488591 B2 JP5488591 B2 JP 5488591B2 JP 2011509242 A JP2011509242 A JP 2011509242A JP 2011509242 A JP2011509242 A JP 2011509242A JP 5488591 B2 JP5488591 B2 JP 5488591B2
Authority
JP
Japan
Prior art keywords
address
router
port
port number
assigned
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.)
Expired - Fee Related
Application number
JP2011509242A
Other languages
English (en)
Other versions
JPWO2010119738A1 (ja
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 Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011509242A priority Critical patent/JP5488591B2/ja
Publication of JPWO2010119738A1 publication Critical patent/JPWO2010119738A1/ja
Application granted granted Critical
Publication of JP5488591B2 publication Critical patent/JP5488591B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6418Hybrid transport
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、アドレスを共有するアドレス共有システム、アクセスルータ、ポート資源割り当て装置、接続装置、アドレス共有方法およびプログラムに関する。
一般的に、ルータなどのIP(Internet Protocol)網におけるパケット転送装置は、パケットの宛先IPアドレスによりホストノードを識別し、また、そのIPアドレスによりパケット配送経路を選択することで到達性を提供する仕組みとなっている。
一方で、IP version 4(IPv4)用アドレスは、近年中に使い尽くされる見通しである。IP version 4用アドレスが使い尽くされてしまうと、その後はIPv4アドレスの新規取得ができなくなることから、IPv4アドレス不足の対策が進められている。
また、NAPT(Network Address and Port Translator)装置は、プライベートアドレスで構築された網などを、インターネットへ接続する手段として広く利用されている。
このNAPT装置は、同装置を通過するパケットの、プライベート網側の端点情報を書き換える。これにより、同装置に割り当てられた1つのグローバルアドレスを、プライベート網に接続された複数のホストノードで共有できるようにする。そのため、ホストノードにグローバルアドレスを直接割り当てる場合と比べて、IPv4アドレスの消費を抑制できる。ここで、端点情報とは、IPアドレスと、トランスポートプロトコルの種類及びポート番号との組を意味する。
一方で、NAPT装置にてIPアドレスを共有しているために、一般にNAPT装置を挟んだ装置間では、双方向の到達性を確保できない。また、NAPT装置では書き換え前後の端点情報の対応づけを、通信セッション毎に管理する必要があり、パケット転送処理のコストがルータに比べて高くなる。以降、この対応づけを管理する表をアドレス変換表と呼ぶ。ここで、通信セッションとは、2つの端点間でやりとりされる一連の通信のことであり、典型的にはTCP(Transmission Control Protocol)コネクションなどがセッションにあたる。
このため、個人や企業の単位ではNAPT装置は広く用いられているが、ISP(Internet Service Provider)等は、NAPT装置を大規模には導入していなかった。ここでISPは、個人や企業などを収容してインターネットへの接続サービスを提供する接続業者を意味する。
図1は、現在のインターネット接続サービスの利用形態の一例を示す図である。
図1を参照すると、ISPは、インターネットへの接続サービスを提供するために自身の網(ISP網1000)を構築し、その末端をルータ(router)2000を介してインターネット3000内の装置や他のネットワークへ接続し、他の末端にアクセスルータ(access router)4000−1,4000−2を設置してユーザーである個人や企業を収容している形態が図示されている。アクセスルータ4000−1,4000−2は、ISPとの接続機能を持つユーザー装置であるCPE(Customer Premises Equipment)5000−1〜5000−4とそれぞれ接続している。各ユーザーのCPE5000−1〜5000−4には、各々異なるグローバルアドレスGA1〜GA4をそれぞれ割り当てている。
しかし近年、IPv4アドレスの不足への対応のため、ISPがNAPT装置を設置し、ISPのユーザーにプライベートアドレスを提供する運用が検討されている(例えば、非特許文献1参照。)。このとき、ISPはユーザーを収容する網とインターネットとの境界にNAPT装置を設置する。この網は一般に大規模なため、NAPT装置も現在広く用いられているものより、大幅に大規模になる。このため、このNAPT装置は通常のNAPT装置とは異なるものとして、CGNAT(Carrier Grade Network Address Translator)と呼ばれている。
図2は、CGNATを利用したインターネット接続サービスの利用形態の一例を示す図である。
図2に示すように、ISP網1000とインターネット3000との境界にCGNAT(CGNAT router)6000が設置されている。ISP網1000はプライベートアドレスを用いて構築される。各CPE5000−1〜5000−4には各々異なるプライベートアドレスPA1〜PA4がそれぞれ割り当てられる。各ユーザーのパケットは、CGNAT6000を通過するとき、当該パケットに付与されているプライベートアドレスがCGNAT6000に割り当てられたグローバルアドレスGA1〜GAnのいずれかに付け替えられる。このとき、ポート番号も書き換えられるため、1つのグローバルアドレス上の異なるポート番号を用いて、複数のユーザーがグローバルアドレスを共有できるようになる。
ここで、ISPがCGNATを導入することで、下記のような問題が生じることが懸念されている。
(1)一般に大規模なNAPT装置は実現が困難である。この原因の1つとして、大規模なアドレス変換テーブルを持ち、かつ、高いスループットを維持する装置の設計が困難であることが挙げられる。また、他の原因として、トランスポート層におけるコネクションの生滅が、セッションの生滅にあたるため、その都度エントリの編集が必要になり、アドレス変換テーブルの冗長化が困難なことも挙げられる。また、実現できた場合でも、上記の課題を完全には解決できず、性能上のボトルネックや、単一障害点になる懸念がある。
(2)ISPのユーザーが既にNAPT装置を導入している場合、アドレス変換が二重になるため、通信が非効率になってしまう。また、現在、NAPT装置等のプライベート網側にある装置に対して、インターネット側から到達できるようにするためのプロトコル(UPnP(Universal Plug and Play)など)も、ISPがNAPT装置を導入すると働かなくなってしまう。
(3)ISP網で用いるプライベートアドレスと、ユーザーが自身の網で用いるプライベートアドレスとが重複してしまうおそれがある。
上記のような課題を解決するため、網全体を収容するNAPT装置を設けるかわりに、複数のユーザーに同一のIPv4アドレスを割り当て、また、これら複数ユーザーに、ポート番号空間を分割して一部ずつを各ユーザーに割り当てる方式が提案されている(例えば、非特許文献2参照。)。この方式では、各ユーザーは、ポート番号の範囲が制限されたIPv4アドレスを受取ることになる。これにより、複数のユーザーがIPv4アドレスを共有でき、IPv4アドレスの使用量を減らすことができる。
現在の装置は、ポート番号の範囲を制限して通信を行うようには設計されていないため、非特許文献2では次の方式を提案している。
(a)ユーザー毎にポート番号変換装置を、ホストノードとISPのアクセスルータとの間に設置し、このポート番号変換装置で、ポート番号を書き換える。
(b)アドレスを払い出すプロトコル(DHCP(Dynamic Host Configuration Protocol)等)を拡張して、アドレスと共にポート番号の範囲を通知できるようにする。
(c)ISPのインターネットとの境界ルータは、単一アドレスを共有しているユーザーへのパケット配送は、宛先アドレスだけでなく宛先ポートも用いて行う。ここで、この境界ルータとユーザーのポート番号変換装置との間にトンネルを設定することにより、境界ルータ以外のISP網内部のルータには、なんら改変を加えることなくアドレスの共有を実現できる。
図3は、上述した(a)〜(c)の方式を利用したインターネット接続サービスの利用形態の一例を示す図である。
本形態は図3に示すように、上述した(a)で説明したポート番号変換装置であるポート資源割り当て装置7000が設けられている。また、上述した(c)で説明したトンネル8000−1〜8000−4が設けられている。
図3に示した形態により、先述のCGNATにおける課題を次のように解決できる。
まず、図2に示したようなインターネット3000とISP網1000との境界にあったCGNAT6000が不要になるため、CGNAT6000の実現の難しさや、導入した場合に懸念される課題を回避できる。
また、ユーザーがNAPT装置を導入済の場合には、NAPT装置にてポート番号の書き換えを行うため、アドレス変換が冗長になることはない。
また、ISPがユーザーに払い出すアドレスはグローバルアドレスのため、ユーザーが用いているプライベートアドレス空間とは重複しない。
Nishitani, T., Miyakawa, S., Nakagawa, A.,Ashida, H., "Common Functions of Large Scale NAT (LSN)", 2008. Internet−Draft, draft−nishitani−cgn−01. Maennel, O., Bush, R., Cittadini, L., Bellovin, S., "A Better Approach than Carrier−Grade−NAT", 2008, Columbia University Technical Report CUCS−041−08.
しかしながら、非特許文献2に記載された方式には以下のような問題点がある。
1つ目の問題点は、境界ルータの負荷が過大になってしまうという点である。境界ルータでは、アドレス変換は不要だが、宛先ポートを参照してパケットの転送経路を選択する必要がある。通常、ISPの境界ルータは高いスループットを発揮する必要があり、TCAM(Ternary Content Addressable Memory)等の特殊なデバイスを用いて経路表を実装することでこれを実現している。経路表にポート番号を含めると、経路表のキー長が長くなり、性能低下の原因となってしまう。
2つ目の問題点は、ポート番号変換を必ず行うため、常にNAPT装置と同様のコストがかかってしまうという点である。具体的には、ポート番号変換テーブルの維持管理、チェックサムの再計算、特殊な上位層プロトコル(FTP(File Transfer Protocol)等)の例外処理等である。
3つ目の問題点は、アドレスの払い出しが接続時に固定的に行われるために、ポート利用効率が悪いという点である。非特許文献2では、動的にポート番号を払い出すほうが効率が良いことは指摘されているが、具体的な方式は示されていない。
本発明の目的は、上述した課題を解決するアドレス共有システム、アクセスルータ、ポート資源割り当て装置、接続装置、アドレス共有方法およびプログラムを提供することである。
本発明のアドレス共有システムは、
IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網とに接続し、該網間のパケット転送を、アドレスおよびポート番号を用いて行うアクセスルータと、
前記IPアドレス単位にポート番号を管理し、前記パケット転送をする際、前記アクセスルータにあらかじめ付与されたIPアドレスで管理されているポート番号を割り当てるポート資源割り当て装置とを有し、
前記アクセスルータは、当該アクセスルータにあらかじめ付与されたIPアドレスと、前記ポート資源割り当て装置が割り当てたポート番号とを用いて、前記パケット転送を行う。
また、本発明のアクセスルータは、
IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網とに接続し、該網間のパケット転送を、アドレスおよびポート番号を用いて行うアクセスルータであって、
当該アクセスルータにあらかじめ付与されたIPアドレスと、該IPアドレスに応じて割り当てられたポート番号とを用いて、前記パケット転送を行う。
また、本発明のポート資源割り当て装置は、
IPアドレス単位にポート番号を管理し、前記IPアドレスのみを用いて相互に到達可能なグローバル網と該グローバル網以外の網との間でパケット転送をする際、該パケット転送を行うアクセスルータにあらかじめ付与されたIPアドレスで管理されているポート番号を、該パケット転送のために割り当てる。
また、本発明の接続装置は、
IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網とに接続し、該網間のパケット転送を、アドレスおよびポート番号を用いて行う接続装置であって、
NAPT機能を有する場合、前記パケットのヘッダに含まれる前記グローバル網で使用するポート番号を前記グローバル網以外の網で使用できるプライベートポート番号へ書き換える制御を行い、前記NAPT機能を有しない場合、当該接続装置が用いるポート番号を制御する。
また、本発明のアドレス共有方法は、
パケット転送を行うアクセスルータと、前記パケット転送に用いるポート番号を割り当てるポート資源割り当て装置とから構成されるアドレス共有システムにおけるアドレス共有方法であって、
前記ポート資源割り当て装置が、IPアドレス単位にポート番号を管理する処理と、
前記ポート資源割り当て装置が、前記IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網との間で前記パケット転送をする際、前記アクセスルータにあらかじめ付与されたIPアドレスで管理されているポート番号を割り当てる処理と、
前記アクセスルータが、当該アクセスルータにあらかじめ付与されたIPアドレスと、前記ポート資源割り当て装置が割り当てたポート番号とを用いて、前記パケット転送を行う処理とを有する。
また、本発明のプログラムは、
IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網とに接続し、該網間のパケット転送を、アドレスおよびポート番号を用いて行うアクセスルータに実行させるためのプログラムであって、
当該アクセスルータにあらかじめ付与されたIPアドレスと、該IPアドレスに応じて割り当てられたポート番号とを用いて、前記パケット転送を行う手順を実行させる。
また、本発明のプログラムは、
コンピュータに実行させるためのプログラムであって、
IPアドレス単位にポート番号を管理する手順と、
前記IPアドレスのみを用いて相互に到達可能なグローバル網と該グローバル網以外の網との間でパケット転送をする際、該パケット転送を行うアクセスルータにあらかじめ付与されたIPアドレスで管理されているポート番号を、該パケット転送のために割り当てる手順とをコンピュータに実行させる。
また、本発明のプログラムは、
IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網とに接続し、該網間のパケット転送を、アドレスおよびポート番号を用いて行う接続装置に実行させるためのプログラムであって、
NAPT機能を有する場合、前記パケットのヘッダに含まれる前記グローバル網で使用するポート番号を前記グローバル網以外の網で使用できるプライベートポート番号へ書き換える制御を行う手順と、
前記NAPT機能を有しない場合、当該接続装置が用いるポート番号を制御する手順とを実行させる。
以上説明したように本発明においては、IPアドレスのみを用いて相互に到達可能なグローバル網と、該グローバル網以外の網とに接続し、該網間のパケット転送を、アクセスルータがアドレスおよびポート番号を用いて行い、ポート資源割り当て装置が、IPアドレス単位にポート番号を管理し、パケット転送をする際、アクセスルータにあらかじめ付与されたIPアドレスで管理されているポート番号を割り当て、アクセスルータが、アクセスルータにあらかじめ付与されたIPアドレスと、ポート資源割り当て装置が割り当てたポート番号とを用いて、パケット転送を行う構成としたため、ポート番号を効率的に利用した経路制御を容易に行うことができる。
現在のインターネット接続サービスの利用形態の一例を示す図である。 CGNATを利用したインターネット接続サービスの利用形態の一例を示す図である。 上述した(a)〜(c)の方式を利用したインターネット接続サービスの利用形態の一例を示す図である。 本発明を適用したインターネット接続サービス(アドレス共有システム)の利用形態の一例を示す図である。 図4に示したアクセスルータおよびCPEの第1の実施の形態における内部構成の一例を示すブロック図である。 図5に示したポートベースルーティング部の内部構成の一例を示すブロック図である。 図5に示したトランスポート層終端部とポート資源要求部との内部構成の一例を示すブロック図である。 図5に示したアドレス変換部とポート資源要求部との内部構成の一例を示すブロック図である。 図5に示したポート資源割り当て装置の内部構成の一例を示すブロック図である。 第1の実施の形態において、CPEであるホストノードが行うセッション開設時の一連の動作の一例を説明するためのシーケンス図である。 第1の実施の形態において、CPEであるNAPTノードが行うセッション開設時の一連の動作の一例を説明するためのシーケンス図である。 第1の実施の形態において、CPEであるホストノードのセッション開設時の動作の一例を説明するためのフローチャートである。 第1の実施の形態において、CPEであるNAPTノードのセッション開設時の動作の一例を説明するためのフローチャートである。 第1の実施の形態において、図5に示したアクセスルータとポート資源割り当て装置とにおけるセッション開設時の動作の一例を説明するためのフローチャートである。 図5に示しアクセスルータのポートベースルーティング部におけるパケット転送時の動作の一例を説明するためのフローチャートである。 第1の実施の形態において、CPEであるホストノードのセッション終了時の動作の一例を説明するためのフローチャートである。 第1の実施の形態において、CPEであるNAPTノードのセッション終了時の動作の一例を説明するためのフローチャートである。 第1の実施の形態において、図5に示したアクセスルータとポート資源割り当て装置とにおけるセッション終了時の動作の一例を説明するためのフローチャートである。 第2の実施の形態におけるアドレス変換部の内部構成の一例を示すブロック図である。 第2の実施の形態において、CPEであるホストノードのセッション開設時の動作の一例を説明するためのフローチャートである。 第2の実施の形態において、CPEであるNAPTノードのセッション開設時の動作の一例を説明するためのフローチャートである。
以下に、本発明の実施の形態について図面を参照して説明する。
図4は、本発明を適用したインターネット接続サービス(アドレス共有システム)の利用形態の一例を示す図である。
本形態は図4に示すように、IP(Internet Protocol)アドレスのみを用いて相互に到達可能なグローバル網であるインターネット500内に、ルータ(routers)600と、ISP網700とが接続されており、ISP網700とポート資源割り当て装置400およびアクセスルータ(access router)100−1,100−2とが接続され、さらに、アクセスルータ100−1とCPE200−1,300−1とが、また、アクセスルータ100−2とCPE200−2,300−2とが接続された構成となっている。また、CPE300−1,300−2は、インターネット500の外部のネットワーク(網)と接続されている。
アクセスルータ100−1,100−2は、ISPが構築するネットワーク(ISP網700)の末端にあって、ユーザーと接続された伝送路を収容するルータである。また、アクセスルータ100−1,100−2には、グローバルアドレス(GAn)があらかじめ付与されている。
CPE200−1,200−2,300−1,300−2は、ユーザーの拠点、住宅等にあって、ISP網700と接続された伝送路を収容する接続装置である。また、CPE200−1,200−2,300−1,300−2は、グローバル網とそれ以外の網とを接続する。また、CPE200−1,200−2,300−1,300−2はルータとして機能する場合とホストノードとして機能する場合とがある。
CPE300−1,300−2は、ルータとして機能する場合であり、ISP網700との伝送路とは別のプライベート網(顧客網:例えば、プライベートアドレスが機能するプライベート空間に設けられた網)800−1〜800−2と接続され、そのプライベート網800−1〜800−2にはCPEでないホストノードやルータなどの末端装置であるhost900−1〜900−4が接続される。
CPE200−1,200−2は、ホストノードとして機能する場合である。
(第1の実施の形態)
図5は、図4に示したアクセスルータ100−1、CPE200−1およびCPE300−1の第1の実施の形態における内部構成の一例を示すブロック図である。なお、図4に示したアクセスルータ100−1とアクセスルータ100−2、CPE200−1とCPE200−2、CPE300−1とCPE300−2は互いにそれぞれ同じ構成および機能を有する。
図4に示したアクセスルータ100−1には図5に示すように、ルーティング部110と、ポートベースルーティング部120と、割り当て外ポート通信遮断部130とが設けられている。また、アクセスルータ100−1は、ポート資源割り当て装置400と接続されている。
ルーティング部110は、一般的なルータと同じルーティング機能を有する。
割り当て外ポート通信遮断部130は、不適切なポート番号を利用しているトラフィックを遮断する。
図6は、図5に示したポートベースルーティング部120の内部構成の一例を示すブロック図である。
図5に示したポートベースルーティング部120には図6に示すように、フローテーブル121と、フローテーブル管理部122と、次ホップ決定部123と、発信元認証部124とが設けられている。
フローテーブル121は、端点毎に経路情報を保持し、端点情報をキーとして経路情報を検索する機能を持つ。図5には、フローテーブル121の最小限の構成例を示した。フローテーブル121では、フローテーブルエントリは2列の表になっている。第1列に宛先のグローバルアドレスである宛先アドレス(GAn)とトランスポートプロトコルの種類(UPn)及び宛先ポート番号(GPn)の組を、また第2列に次ホップを識別する情報(NHn)を持つ。
フローテーブル管理部122は、フローテーブルエントリの追加削除等を行う機能を持つ。また、フローテーブル管理部122は、図5に示したポート資源割り当て装置400と接続されている。
次ホップ決定部123は、フローテーブル121を検索して次ホップを決定する機能を持つ。
発信元認証部124は、フローテーブル121を検索して発信元の正当性を検証する機能を持つ。
また、図4に示したCPE200−1には図5に示すように、トランスポート層終端部210と、回線接続部220と、アプリケーション230と、ポート資源要求部240とが設けられている。
回線接続部220およびアプリケーション230は、一般的なCPEが有する機能と同じ機能を有する。
図7は、図5に示したトランスポート層終端部210とポート資源要求部240との内部構成の一例を示すブロック図である。
図5に示したトランスポート層終端部210には図7に示すように、プロトコルコントロールブロック(PCB)211と、送信API212と、受信API213と、セッション管理API214と、送信部215と、受信部216と、端点管理部217とが設けられている。
プロトコルコントロールブロック(PCB)211は、プロトコルの種類毎に各々存在し、自ホスト及び通信先の端点情報、関連するプロトコルパラメータ、該当セッションを利用するアプリケーション及びアプリケーションが利用するセッション記述子番号等をセッション毎に保持する機能を持つ。図7にはプロトコルコントロールブロック(PCB)211の最小限の構成例を示した。プロトコルコントロールブロック(PCB)211では、PCBエントリは3列の表になっている。第1列に自ホスト側のアドレス(GAn)とポート番号(GPn)とを、また第2列に対向ホスト側のアドレス(RAn)とポート番号(RPn)とを、また第3列にアプリケーション識別子(APn)とアプリケーションが利用するセッション記述子番号(SDn)とを持つ。
送信API212、受信API213、およびセッション管理API214の各APIは、各処理に対応するアプリケーションからの呼出しインタフェースであり、一般的なホストノードが有するものの機能と同じ機能を有する。
送信部215および受信部216は、一般的なホストノードが有するものの機能と同じ機能を有する。
端点管理部217は、ホストノードがセッションを開設/終了等する場合に、そのセッションに用いる端点を作成/削除する機能を持つ。特に、本発明では、その端点に用いるポート番号をポート資源要求機能から取得する機能を持つ。
また、図5に示したポート資源要求部240には図7に示すように、取得済ポート番号表241と、ポート番号振り出し部242と、割り当て機能との通信部243とが設けられている。
取得済ポート番号表241は、CPE200−1に割り当てられたポート番号の一覧(GA1〜GAn)を保持し、その使用状況を管理する。使用状況は、最低限使用/未使用の別を記録する。図7には、取得済ポート番号表241の最小限の構成例を示した。取得済ポート番号表241では、取得済ポート番号エントリは2列の表になっている。第1列には、取得済ポート番号(GPn)と該当するプロトコルの種類(UPm)とを、また第2列には、該当ポートの使用中/未使用の別の情報を持つ。
ポート番号振り出し部242は、他の機能部からの要求にしたがって、取得済ポート番号表241からポート番号を振り出し、未使用ポート番号がなければ、割り当て機能との通信部243を用いて新規にオート番号を取得する機能を持つ。
割り当て機能との通信部243は、ポート資源割り当て装置400と通信する機能を持つ。ただし、具体的な通信方法はここでは規定しない。
また、図4に示したCPE300−1には図5に示すように、ルーティング部310と、回線接続部320と、アドレス変換部330と、ポート資源要求部340とが設けられている。ここで、一般にはアドレス変換部330を持たないルータのCPEも存在するが、本実施の形態では、CPE300−1は例外的な場合として説明する。
ルーティング部310は、一般的なルータと同じルーティング機能を有する。
回線接続部320は、一般的なCPEが有する機能と同じ機能を有する。
図8は、図5に示したアドレス変換部330とポート資源要求部340との内部構成の一例を示すブロック図である。
図5に示したアドレス変換部330には図8に示すように、アドレス変換表331と、セッション管理部332と、ヘッダ書き換え部333とが設けられている。
アドレス変換表331は、プライベート側端点情報と、対応するグローバル側端点情報との組を保持し、プライベート端点、グローバル端点いずれを用いても検索できる。図8は、アドレス変換表331の最小限の構成例を示した。アドレス変換表331では、アドレス変換エントリは、2列の表になっている。第1列にプライベート網側で、ホストノードが実際に用いるセッション端点(末端装置)のアドレス(プライベートアドレス)(PAn)とトランスポートプロトコルの種類(UPm)とポート(プライベートポート)番号(PPn)とを、また第2列にグローバル網側にパケットが出るときに用いるセッション端点の同様の情報を保持する。
セッション管理部332は、アドレス変換対象のパケットが、セッションを開設するパケットかどうか、あるいは、セッションを終了するパケットかどうかを検知する機能と、必要に応じて新規にグローバルポート番号をポート資源要求部340へ要求する機能と、それらの機能に対応してアドレス変換表331を更新する機能とを持つ。
ヘッダ書き換え部333は、アドレス変換表331の情報にしたがってパケットのヘッダ情報を書き換え、それに付帯して必要なパケットの修正(チェックサムの再計算など)を行う機能をもつ。
また、図5に示したポート資源要求部340には図8に示すように、図7に示した取得済ポート番号表241と、ポート番号振り出し部242と、割り当て機能との通信部243とが設けられており、図7を用いて説明した機能と同じ機能を有する。
図9は、図5に示したポート資源割り当て装置400の内部構成の一例を示すブロック図である。
図5に示したポート資源割り当て装置400には図9に示すように、ポート資源割り当て表410−1〜410−nと、ポート資源払い出し部420と、フローテーブル設定部430とが設けられている。
ポート資源割り当て表410−1〜410−nは、ポート資源割り当て装置400がポート資源を管理するグローバルIPアドレスのアドレス及び、トランスポートプロトコルの種類(単位)毎に、別々に存在する。各々の表は、ポート番号をキーに割り当て先のCPEを保持するようになっている。例えば、ポート資源割り当て表410−1では、アドレス(グローバルアドレス)GA1と、トランスポートプロトコルUP1に対するポート資源割り当て表の最小限の構成例を示した。ポート資源割り当て表410−1〜410−nにおいて、ポート資源割り当てエントリは、2列の表になっている。第1列に割り当て対象のポート番号(GPn)を、また第2列に割り当て先のCPEの識別子(CPEn)を持つ。
ポート資源払い出し部420は、CPEからのポート資源割り当ての要求に応じて、ポート資源割り当て表410−1〜410−nを参照して、ポート資源をCPEへ割り当てる機能を持つ。
フローテーブル設定部430は、ポート資源払い出し部420がCPEに割り当てたポート番号GPと、CPEに割り当てられているグローバルアドレスGAとから得られる端点に関するフローテーブルエントリをアクセスルータ100−1に設定する機能を持つ。
以下に、本形態における動作を図面を用いて説明する。
本実施の形態における動作は、おおむね以下のように整理できる。
1. セッション開設時の動作
1.1 CPEの動作
1.1.1 CPEがホストノードの場合の動作
1.1.2 CPEがNAPTの場合の動作
1.2 ポート資源割り当て装置とアクセスルータの動作
2. パケット転送時の動作
2.1 アクセスルータの動作
3. セッション終了時の動作
3.1 CPEの動作
3.1.1 CPEがホストノードの場合の動作
3.1.2 CPEがNAPTの場合の動作
3.2 ポート資源割り当て装置とアクセスルータの動作
4. CPEがNAPT機能を搭載しないルータの場合の動作
以下、上記の順にしたがって説明する。なお、このあとの説明では、簡略化のため、構成の説明で示したトランスポートプロトコルの種類の情報は省略して説明する。
[1. セッション開設時の動作]
セッション開設時の動作は複雑なため、まず動作の概要を説明する。ここでは、2wayでセッション開設が終了するプロトコルの場合を例として説明する。
図10は、第1の実施の形態において、CPEであるホストノードが行うセッション開設時の一連の動作の一例を説明するためのシーケンス図である。
図10を参照すると、ステップ1にて通信セッション開始時に、ホストノードCPE200−1(以下、CPE1)内で、アプリケーション230(以下、AP1)がセッション開設API(図の例ではconnect)を呼ぶと、まずステップ2にてPCBにエントリを作るために、ステップ3にてポート番号振り出し要求がトランスポート層終端部210からポート資源要求部240へ送られる。この例では空きポートが無いため、ステップ4にてポート番号割り当て要求がポート資源割り当て装置400へ送られる。図面中の角丸四角はノード間の通信内容(あるいはパケット)を示している。
ポート資源割り当て装置400では、ステップ5にてCPE1にポート番号GP1を割り当て、次にCPE1のアドレスGA1と割り当てたポート番号GP1の組をキーとして、アクセスルータ100−1にフローテーブルエントリを作成するよう、ステップ6にて指示し、さらにそれが成功するとポート番号をCPE1へ応答する。
CPE1では取得したポート番号をローカル側の端点としてPCBエントリがステップ7にて作成され、ここでステップ8にてセッション開設用の通信が開始される。
CPE1から送られるセッション開設パケットは、ステップ9にてアクセスルータ100−1のフローエントリにより発信元の確認が行われ、対向ノードからCPE1への応答パケットは、ステップ10にてこのフローエントリにより転送方路の判定が行われる。
最後にCPE1に到着したパケットからPCBを検索し、ステップ11にてトランスポート層終端部210は、アプリケーションを特定して、アプリケーションにセッション開設の終了を通知する。
次に、CPEがNAPTである場合の動作を説明する。
図11は、第1の実施の形態において、CPEであるNAPTノードが行うセッション開設時の一連の動作の一例を説明するためのシーケンス図である。
図11を参照すると、まず、通信セッション開始時に、CPE300−1(以下、CPE1)が収容するプライベート網に接続しているホストノードが、ステップ21にて通信相手に向けてセッションを開始するパケットを送出する。ここで上記のホストノードは、上記CPEであるホストノードとは異なり、自身でグローバルポート番号を取得する機能は持たないことに注意されたい。
ホストノードが送出したパケットがCPE1に到着すると、ステップ22にてまず当該パケットに対応するアドレス変換エントリがなく、当該パケットがセッションを開設するものであることをアドレス変換部330が検知する。CPE1内にアドレス変換エントリを作るために、ステップ23にてポート番号振り出し要求がアドレス変換部330からポート資源要求部340へ送られる。
このあと、ステップ24〜26におけるポート番号取得までの流れは、上述したステップ4〜6の動作とそれぞれ同じである。
CPE1では取得したポート番号GP1をグローバル側の端点情報として、ステップ27にてアドレス変換エントリを作成し、先ほどホストノードから受取ったパケットの発信元端点をステップ28にてGA1,GP1に書き換えて送出する。
その後のアクセスルータ100−1でのステップ29〜30におけるパケット動作の流れは、上述したステップ9〜10の動作とそれぞれ同じである。
対向ノードからのパケットがCPE1に到着すると、ステップ31にてアドレス変換エントリの情報から、パケットの宛先端点をプライベートアドレスであるPA1,プライベートポート番号であるPP1に書き換えて送出する。すると、ホストノードでは自ホスト宛のパケットとしてこれを受取る。
以上が、セッション開設処理の流れのうち主要なものである。以下、各装置の動作を個別に説明する。
[1.1 CPEの動作]
[1.1.1 CPEがホストノードの場合の動作]
図12は、第1の実施の形態において、CPEであるホストノードのセッション開設時の動作の一例を説明するためのフローチャートである。図12に示した動作のうち、破線で囲んだ動作がポート資源要求部240の動作であり、それ以外はトランスポート層終端部210の動作である。
セッション開設処理はアプリケーションが駆動する。図12を参照すると、まず、ステップ201にてアプリケーション230が、トランスポート層終端部210のセッション開設APIをコールする。
すると、トランスポート層終端部210が、セッションの自ホスト側端点に必要なポート番号を得るために、ステップ202にてポート資源要求部240へ取得済の空きポートがあるかどうかを問い合わせる。
ステップ203にてポートに空きがあるかどうかを判定し、ポートに空きがなければ、ステップ204にてポート資源要求部240は、ポート資源割り当て装置400との通信部を介して、ポート資源割り当て装置400へポート資源の要求を送る。
ポート資源割り当て装置400での動作は別途説明する。また、要求及び応答のプロトコル等については、一般的なプロトコル等を用いるものであれば良く、ここでは特に規定しない。
ステップ205にてポート資源割り当て装置400からの応答が得られると、ポート資源要求部240では内容を調べ、ポート番号が送られてきたかどうかをステップ206にて判定し、ポート番号が送られてくれば、送られてきたポート番号をポート番号振り出し部242を介してトランスポート層終端部210へ受け渡す。
トランスポート層終端部210は、ステップ207にて当該ポート番号と、回線接続時に払い出されているIPアドレスを用いて端点を作成し、ステップ208にてセッション開設処理を行う。なお、ステップ203でポート番号に空きがある場合には、ステップ207の動作を実行する。
このあと、セッション開設処理が終了すれば、正常終了を返却値としてAPIコールを終了させ、ステップ210にてアプリケーション230へ制御を戻す。
また、ステップ206で新規ポートを取得できなかった場合は、ステップ209にて所定の例外処理を行う。例外処理の内容はプロトコル等によって異なるが、典型的にはセッション開設のAPIコールにエラーを返却する。
[1.1.2 CPEがNAPTノードの場合の動作]
図13は、第1の実施の形態において、CPEであるNAPTノードのセッション開設時の動作の一例を説明するためのフローチャートである。図13に示した動作のうち、破線で囲んだ動作がポート資源要求部340の動作であり、それ以外はアドレス変換部330の動作である。
NAPTでのセッション開設処理は、ホストノードが送信するセッション開設パケットにより駆動される。図13を参照すると、外部から到着したパケットは、ステップ301にてルーティング部310を経由してアドレス変換部330に受け渡される。
次に、アドレス変換部330は、ステップ302にて該当パケットのヘッダ情報に基づいてアドレス変換表331を検索する。具体的には、パケットがプライベート網側から到着したなら発信元端点をキーにプライベート端点のエントリを検索し、パケットがISP側から到着したなら、ステップ303にて宛先点をキーにグローバル端点のエントリを検索する。
検索の結果、エントリがあれば、該当パケットは既設のセッションに属していることになるため、セッション開設の必要はない。この場合、アドレス変換部330は、ステップ312にてアドレス変換エントリにしたがってパケットのヘッダ情報を書き換え、ステップ313にて再びパケットをルーティング部310に渡して配送させ、処理を終える。
一方、ステップ303にてエントリがなければ、セッション管理部332は、ステップ304にて該当パケットがセッション開設を示すものかどうかを検査する。具体的な検査規則は、プロトコル及び運用ポリシー等に依存するが、典型的には、TCPのSYNセグメントを含むパケット等がセッション開設パケットである。
ステップ305にてセッション開設パケットであるかどうかを判定し、セッション開設パケットであれば、アドレス変換部330は、アドレス変換エントリのグローバル側端点情報に必要なポート番号を得るためにステップ306にてポート資源要求部340へ取得済の空きポートがあるかどうか問い合わせる。この後行われるステップ306〜310の動作は、上述したステップ202〜206の動作とそれぞれ同じである。
ステップ310で新規ポートが取得出来た場合、あるいは、ステップ307でCPEが空きポートを保持していた場合は、アドレス変換部330は、ステップ311にて該当ポート番号と、回線接続時に払い出されているIPアドレスを用いて端点を作成し、ステップ312にて当該エントリを用いて、セッション開設パケットのヘッダを書き換え、ステップ313にてルーティング部310を用いて当該パケットを配送させ、処理を終える。
一方、ステップ310で新規ポートが取得出来なかった場合、あるいは、ステップ305でパケットがセッション開設パケットでないと判定された場合は、該当パケットの処理を継続できないため、ステップ314にて所定の手順にしたがって該当パケットを処理する。処理手順はトランスポートプロトコル及び運用ポリシに依存するが、典型的には、パケットを破棄し、発信元にICMP(Internet Control Message Protocol)到達不可エラーを配送する。
[1.2 ポート資源割り当て装置とアクセスルータの動作]
図14は、第1の実施の形態において、図5に示したアクセスルータ100−1とポート資源割り当て装置400とにおけるセッション開設時の動作の一例を説明するためのフローチャートである。図14に示した動作のうち、破線で囲んだ動作がアクセスルータ100−1のポートベースルーティング部120の動作であり、それ以外はポート資源割り当て装置400の動作である。
上記機能でのセッション開設処理は、CPEからのポート資源割り当て要求により駆動される。図14を参照すると、ステップ401にてポート資源割り当て要求が到着すると、まず、ポート資源割り当て装置400は、ポートを払い出す対象のグローバルアドレスを、ステップ402にて要求元のCPEの情報を元に決定する。ここで決定するグローバルアドレスをGAとする。
次に、ポート資源割り当て装置400は、ステップ403にてGAのポート資源割り当て表410−1〜410−nから、空きポート番号を検索して、割り当てるポート番号を決める。
ステップ404にて空きポートの取得に成功したかどうかを判定し、空きポートがあれば、アドレスGAと該当ポート(これをGPとする)とにより得られる端点をキーとして、要求元CPEへパケットを配送するフローエントリを作成するよう、ステップ405にてポート資源割り当て装置400からアクセスルータ100−1に指示を送る。
アクセスルータ100−1のポートベースルーティング部120では、ステップ101にてこれを受信し、ステップ102にてフローテーブル121にエントリを作成し、ステップ103にて設定結果をポート資源割り当て装置400へ返送する。
ポート資源割り当て装置400は、受信した設定結果が成功であるかどうかをステップ406にて判定し、成功であれば、ステップ408にて成功の応答を作成してポート番号とともにCPEへ応答を送る。受信した設定結果が失敗であれば、ステップ403で確保したエントリをステップ407にて解放し、ステップ408にて失敗の応答を作成してCPEへ送る。
ステップ404で空きポートの取得に失敗した場合は、ステップ408にてポート資源割り当て装置400は失敗の応答を作成してCPEへ送る。
以上が、セッション開設に特有の動作であるが、アクセスルータ100−1では、セッション開設パケットを、他のパケットと同様に、フローエントリにしたがって処理する必要がある(図10のステップ9〜10、図11のステップ29〜30に該当する動作)。その手順は、以下で説明する。
[2. パケット転送時の動作]
[2.1 アクセスルータの動作]
図15は、図5に示しアクセスルータ100−1のポートベースルーティング部120におけるパケット転送時の動作の一例を説明するためのフローチャートである。
図15に示したフローチャートのうち、左側のフローチャートがCPE側から到着したパケットの処理、右側のフローチャートがISP側から到着したパケットの処理を表している。なお、ポートベースルーティング部120以外のパケット転送処理は、通常のルータの処理と同一である。
ステップ111にてCPE側からパケットが到着すると、まず、ステップ112にてパケットの発信元端点をキーに、フローエントリを検索する。エントリが見つかれば、さらに、パケットが到達した伝送路と、次ホップの情報とを比較する。比較の結果、次ホップと同一の伝送路からパケットが到着しているかどうかをステップ113にて判定し、到着していれば、ステップ114にてルーティング部110へパケットを渡して配送させる。
フローエントリが見つからない場合は、未割り当てのポート番号を用いたパケットをCPEが発信しようとしている。あるいは、フローエントリの次ホップと異なる伝送路からパケットが到着した場合は、他のCPEに割り当てられたポート番号が使われている。これらの場合は、ステップ115にて割り当て外ポート通信遮断部130へパケットを受け渡して所定の処理を行う。処理内容はトランスポートプロトコルおよび運用ポリシーに依存するが、典型的には、パケットを破棄して、発信元へICMPエラーを送るとともに、システムログにパケットの情報を記録する。
次にISP側からパケットが到着すると、ステップ121にてパケットはルーティング部110から受け渡される。受け渡されたパケットの宛先端点をキーに、ステップ122にてフローエントリを検索する。ステップ123にてエントリがあるかどうかを判定し、エントリが見つかれば、見つかったエントリの次ホップ情報から配送先を決定し、ステップ124にて該当する伝送路へパケットを送出する。
一方、フローエントリが見つからない場合は、すでに終了したセッションに属するパケットか、あるいは、未確立のセッションのパケットであるため、ステップ125にて所定の手順にしたがってパケットを処理する。典型的には、パケットを破棄して、発信元にICMP到達不可エラーを送信する。
[3. セッション終了時の動作]
セッション終了時の動作を、装置毎に説明する。
[3.1 CPEの動作]
[3.1.1 CPEがホストノードの場合の動作]
図16は、第1の実施の形態において、CPEであるホストノードのセッション終了時の動作の一例を説明するためのフローチャートである。図16に示した動作のうち、破線で囲んだ動作がポート資源要求部240の動作であり、それ以外はトランスポート層終端部210の動作である。
なお、セッション終了処理は、自サイト側のホストノードにより駆動される場合と、通信相手側から駆動される場合とがある。ここでは、簡素化のため、自サイト側からセッションを終了する場合についてのみ説明する。通信相手側からセッションを終了する場合でも、一般に最初のステップが異なるだけで、その他のステップは同様に実現できる。
まず、ステップ290にてアプリケーション230がセッション終了APIをコールする。例えば、バークレイソケットAPIではclose,shutdownなどが該当する。トランスポート層終端部210は、当該APIで受け渡されたセッション識別子をキーにステップ291にてPCB211を検索する。
エントリが見つかれば、ステップ292にて該当エントリの状態にしたがって、セッション終了処理を実行する。TCPであれば、ESTABLISHED状態からCLOSED状態へ至る一連の動作が該当する。これらの処理が終了すると、トランスポート層終端部210は、ステップ293にてPCB211から該当エントリを削除する。
次に、ステップ294にてポート番号振り出し部242へ該当ポートの解放を通知する。ポート番号振り出し部242では、ステップ295にて該当ポート番号を未使用のまま自CPEが保持するか、あるいはポート資源割り当て装置400へ返却するかを判断する。
ポート番号を保持する場合は、ステップ298にて取得済ポート番号表241の該当エントリを未使用に設定して、ステップ299にてAPI処理を終える。
一方、ポート番号を返却する場合には、ステップ296にてポート資源割り当て装置400へ返却を通知し、ステップ297にて取得済ポート番号表241の該当エントリを削除し、ステップ299にてAPI処理を終える。
[3.1.2 CPEがNAPTの場合の動作]
図17は、第1の実施の形態において、CPEであるNAPTノードのセッション終了時の動作の一例を説明するためのフローチャートである。図17に示した動作のうち、破線で囲んだ動作がポート資源要求部340の動作であり、それ以外はアドレス変換部330の動作である。
NAPTでは、セッション終了処理は、セッション終了パケットにより駆動される場合と、タイマーにより駆動される場合とがある。ここでは、簡素化のため、前者の場合についてのみ説明する。タイマーによりセッション終了処理を行う場合でも、一般に先頭の2ステップが異なるだけで、その他のステップは同様に実現できる。
まず、アドレス変換部330は、ルーティング部310からパケットを受取ると、通常の手順にしたがってアドレス変換エントリを検索し、見つかればステップ391にてパケットのヘッダ情報を書き換える。
次に、アドレス変換部330は、ステップ392にて該当パケットがセッション終了を示すものかどうか検査する。たとえばTCPでは、FINセグメントに対するACKが通過したあとの、反対側から到着したFINセグメントに対するACKパケットなどが該当する。セッション終了パケットであれば、ステップ393にてアドレス変換表331から該当エントリを削除する。
次に、アドレス変換部330は、ステップ394にてポート資源要求部340のポート番号振り出し部242へ該当ポートの解放を通知する。その後に行われるステップ394〜398の処理は、図16のステップ294〜298の処理と同一の処理である。
最後に、アドレス変換部330は、書き換え済のパケットをステップ399にてルーティング部310に受け渡して、処理を終える。
[3.2 ポート資源割り当て装置とアクセスルータの動作]
図18は、第1の実施の形態において、図5に示したアクセスルータ100−1とポート資源割り当て装置400とにおけるセッション終了時の動作の一例を説明するためのフローチャートである。図18に示した動作のうち、破線で囲んだ動作がアクセスルータ100−1のポートベースルーティング部120の動作であり、それ以外はポート資源割り当て装置400の動作である。
上記機能でのセッション終了処理は、CPEからのポート資源解放通知により駆動される。図18を参照すると、ステップ492にてポート資源解放通知が到着すると、まず、ポート資源割り当て装置400は、ポートを解放する対象のグローバルアドレスを、ステップ493にて要求元のCPEの情報を元に決定する。ここで決定するグローバルアドレスをGAとする。
次に、ポート資源割り当て装置400は、ステップ494にてGAのポート資源割り当て表410−1〜410−nから、該当するエントリ検索する。
ステップ495にてエントリがあるかどうかを判定し、エントリがあれば、アドレスGAと該当ポート(これをGPとする)とにより得られる端点をキーとして、要求元CPEへパケットを配送するフローエントリを削除するよう、ステップ496にてポート資源割り当て装置400からアクセスルータ100−1に指示を送る。
アクセスルータ100−1のポートベースルーティング部120では、ステップ197にてこれを受信し、ステップ198にてフローテーブル121のエントリを削除し、ステップ199にて設定結果をポート資源割り当て装置400へ返送する。
ポート資源割り当て装置400は、受信した設定結果が成功であるかどうかをステップ497にて判定し、成功であれば、該当するポート資源割り当て表410−1〜410−nのエントリをステップ498にて削除し、ステップ499にて成功の応答を作成して通知元のCPEへ送る。
また、受信した設定結果が失敗であれば、ステップ496の処理を再度実行する。ただし、この繰り返しは回数に上限値を設け、当該回数が上限値に達した場合は、ステップ498の処理を実行するとともに、システムログに該当エントリの記録を残す。
また、ステップ495にてエントリがなければ、ポート資源割り当て装置400は、ステップ499にて発信元CPEにエラーを返送する。
[4. CPEがNAPT機能を搭載しないルータの場合の動作]
次に、CPEがルータであってNAPT機能を持たない場合を説明する。この場合、CPE配下には、グローバルアドレスを持った複数のホストノードが接続されている可能性がある。さらに、それらのホストノードはCPEではないため、発信元のポート番号を、ポート資源割り当て装置400から制御できない。
このため、本CPEに割り当てられたIPアドレスは、ポート番号空間を分割することで、他のCPEとは共有できないことになる。よって、CPEがNAPT機能をもたないルータの場合は、一般的なCPEと同様に、ISPから割り当てられたIPアドレスを該当CPEが占有するように動作する。
アクセスルータ100−1では、当該CPEから到達したパケットはポートベースルーティング部120に処理させず、一般的なルーティング機能のみにより配送方法を決定するよう処理させる。
このようなCPEは、IPアドレスの利用効率を低下させるため、次のような運用を行うことも考えられる。
(1)IPアドレスを共有するCPEに比べて、高い接続料金を設定する。
(2)CGNATの配下に収容する。ただしこの場合、該当するCPEの数が多いと本発明の効果が低下するため、(1)と併用することになると考えられる。
[その他の付加機能]
利便性を高めるために、以下のような付加機能を設けても良い。
[ポート番号割当数の制限]
ポート資源割り当て装置400は、個々のユーザー、または、個々のCPEに割り当てるポート番号の数に上限を設けても良い。このようにすることで、単一ユーザーによる多数のポート番号の占有を防止できる。
あるCPEへのポート割り当てが上限に達すれば、図14のステップステップ404で空きポート取得が失敗するよう、ポート取得処理を構成することで、上記を実現できる。
[構成上の選択肢]
ポート資源要求部240,340を搭載できないCPEがあれば、上述したようなNAPT機能を搭載しないルータの場合のように、そのCPEについては、一般的なIPアドレス接続サービスと同様に、IPアドレス単位の接続サービスを提供しても良い。このようにすることで、ファームウエアの更新が不可能なCPE等を継続して利用できる。
また、ポート資源割り当て装置400は、単一のポート番号割り当て要求に対して、複数のポート番号を割り当てても良い。このようにすることで、セッション開設の都度ポート番号割り当て要求を発行する必要がなくなるため、セッション開設のオーバーヘッドを減らすことができる。
ここでは、制御機能と伝送機能とを区別するためにポート資源割り当て装置400とアクセスルータ100−1とを分離して説明したが、ポート資源割り当て装置400が有する機能を、アクセスルータ100−1内に実装しても良い。
また、ここでは、アクセスルータ100−1のポートベースルーティング部120と、通常のルーティング部110とを別機能として説明したが、実装上これらは単一のプログラム、またはハードウエアとして実現しても良い。フローテーブル121はルーティングテーブルのスーパーセットのため、フローエントリの検索時にポート番号なしで検索することで、ルーティングテーブルの機能を実現できる。
(第2の実施の形態)
[CPEが割り当てポートを複数セッションで用いる場合]
第1の実施の形態では、CPEは1セッションあたり1ポートを用いている。しかし、通信相手が異なれば、単一のローカル側の端点を異なる接続先に用いても良い。そのようにすることで、より効率的にポート番号を利用できる。
第1の実施の形態と異なる部分のみ説明する。第2の実施の形態では、NAPTであるCPEのみ、構成が第1の実施の形態と異なっている。
図19は、第2の実施の形態におけるアドレス変換部330−2の内部構成の一例を示すブロック図である。このアドレス変換部330−2は、第1の実施の形態におけるアドレス変換部330と同様に、NAPTであるCPEに設けられている。
図19に示したアドレス変換部330−2の構成要素のうち、アドレス変換表331−2の構成が、第1の実施の形態と異なっている。一般的なアドレス変換表では、ホストノードが保持する端点(PAn,PPn)と、NAPTノードが付け替える端点(GAn,GPn)との組を保持しているが、これに加え、第2の実施の形態におけるアドレス変換表331−2は対向ノードの端点(RAn,RPn)を保持する。一般的なアドレス変換エントリでは、パケットの宛先または発信元端点のみをキーとしてエントリを検索していたが、第2の実施の形態におけるアドレス変換表331−2には、宛先と発信元との両方の端点をキーとしてエントリを検索する必要がある。
そのほかの機能の構成は、第1の実施の形態と同様である。
第1の実施の形態と異なる部分のみ説明する。第2の実施の形態では、CPEのみ、動作が第1の実施の形態と異なっている。
[1. セッション開設時の動作]
[1.1 CPEの動作]
[1.1.1 CPEがホストノードの場合の動作]
第1の実施の形態では、CPEがホストノードの場合のセッション開設処理を図12を用いて説明している。同図を参照しながら、第1の実施の形態と異なる部分のみ説明する。
まず第1の実施の形態と同様、ステップ201にて、アプリケーションがセッション開設APIをコールして、セッション開設処理を駆動する。次に、自ホスト側端点のためにポート番号を確保しようとする。その後、行われる処理についてフローチャートを用いて説明する。
図20は、第2の実施の形態において、CPEであるホストノードのセッション開設時の動作の一例を説明するためのフローチャートである。
図20を参照すると、ここで、第2の実施の形態では、ステップ211にてトランスポート層終端部210は、既存のPCBから、既存のエントリを順に取出す。ステップ212にてエントリがあるかどうかを判定し、エントリがあれば、次に、ステップ213にて該当エントリの通信相手の端点を調べ、これから開設しようとしているセッションと同一かどうかをステップ214にて判定する。
異なっていれば、トランスポート層終端部210は、同一ポート番号を用いて、PCBエントリを作成する。通信相手の端点が異なっているため、これらのエントリは各々別のものとして識別できる。PCBエントリの作成処理は、図12のステップ207の処理と同様である。
一方、同一であれば、トランスポート層終端部210は、ステップ215にて次のエントリを調べる。
また、エントリが1つもないか、重複を避けて利用できるポート番号が1つもない場合は、トランスポート層終端部210またはポート資源要求部240は、図12のステップ202以降の処理を行う。
このようにすることで、通信相手の端点が異なっている限り、ローカル側に同一のポート番号を使い続けることができるため、新たなポート番号取得を抑制できる。
[1.1.2 CPEがNAPTノードの場合の動作]
第1の実施の形態では、CPEがNAPTノードの場合のセッション開設処理を、図13を用いて説明している。図13を参照しながら、第1の実施の形態と異なる部分のみ説明する。
図13を用いて説明したステップ301〜305の処理は、第1の実施の形態と同様である。図13を用いて説明したステップ305のTrue側のあと、ステップ306の処理の前に、新たな処理を追加する。その処理についてフローチャートを用いて説明する。
図21は、第2の実施の形態において、CPEであるNAPTノードのセッション開設時の動作の一例を説明するためのフローチャートである。
図21を参照すると、ここで、第2の実施の形態では、アドレス変換部330−2は、ステップ315にて既存のアドレス変換表から、既存のエントリを順に取出す。ステップ316にてエントリがあるかどうかを判定し、エントリがあれば、次に、アドレス変換部330−2は、ステップ317にて該当エントリの通信相手の端点と、セッション開設パケットの宛先端点とを比較し、ステップ318にて同一かどうか判定する。
異なっていれば、アドレス変換部330−2は、同一のグローバルポート番号を用いて、アドレス変換エントリを作成する。通信相手の端点が異なっているため、これらのエントリは各々別のものとして識別できる。アドレス変換エントリの作成処理は図13のステップ311の処理と同様である。
同一であれば、アドレス変換部330−2は、ステップ319にて次のエントリを調べる。
エントリが1つもないか、重複を避けて利用できるポート番号が1つもない場合は、ポート資源要求部340またはアドレス変換部330−2は、図13のステップ306以降の処理を行う。
このようにすることで、通信相手の端点が異なっている限り、グローバルポートに同一のポート番号を使い続けることができるため、新たなポート番号取得を抑制できる。
[2. パケット転送時の動作]
[2.1 アクセスルータの動作]
アクセスルータ100−1は、第1の実施の形態と同一の動作をする。アクセスルータ100−1は、CPE側の端点に基づきパケットの転送を行う。よって、CPEが、単一のポート番号で複数の通信相手とセッションを確立しても、アクセスルータ100−1には影響はないためである。
[3. セッション終了時の動作]
[3.1 CPEの動作]
[3.1.1 CPEがホストノードの場合の動作]
第1の実施の形態では、CPEがホストノードの場合のセッション終了処理を図16を用いて説明している。図16を参照しながら、第1の実施の形態と異なる部分のみ説明する。
本実施の形態では、ローカル側のポート番号を、通信相手の端点が異なる複数のセッションで共有している。このため、いずれかのセッションが終了した場合でも、他のセッションが同一のポート番号を用いている可能性がある。よって、図16に示したステップ293とステップ294との間に、以下のような処理を追加する。
トランスポート層終端部210は、終了したセッションのローカル側端点をキーにしてPCB211を検索し、同一のポート番号を用いているエントリがあるかどうか調べる。
該当するエントリがあれば、トランスポート層終端部210またはポート資源要求部240は、ステップ294以降のポート番号の解放処理は行わずに、ステップ299を実行してAPI処理を終える。
該当するエントリがなければ、該当ポート番号を用いているセッションは存在しなくなったため、トランスポート層終端部210またはポート資源要求部240は、引き続いてステップ294以降の処理を実行する。
[3.1.2 CPEがNAPTの場合の動作]
第1の実施の形態では、CPEがホストノードの場合のセッション開設処理を、図17を用いて説明している。図17を参照しながら、第1の実施の形態と異なる部分のみ説明する。
CPEがNAPTノードの場合も、CPEがホストノードの場合と同様であって、アドレス変換部330−2は、ステップ393でアドレス変換エントリを削除したあと、同一のローカル側のグローバルポートを用いているエントリの有無を調べる。
該当ポート番号を使用するエントリがあれば、アドレス変換部330−2は、ステップ399を実行する。一方、該当ポート番号を使用するエントリがなければ、アドレス変換部330−2は、引き続きステップ394を実行する。
(実施例)
本発明の実施の形態は、具体的には以下のような装置により実現できる。
すなわち、CPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400いずれも、中央演算装置(CPU)と、揮発性メモリと、通信インタフェースと、不揮発性メモリまたはハードディスクとを備え、上記不揮発性メモリまたはハードディスクに格納されたプログラム、または、起動後に通信インタフェースを用いて外部からロードするプログラムにより、上記の動作を実現することができる。
また、アクセスルータ100−1,100−2は、単一の計算機としてだけではなく、通信インタフェースを搭載するラインカードと、装置全体の制御や経路計算などを行うCPUカードと、カード間のパケット交換を高速に行うスイッチファブリックと、その他の付加機能を搭載するサービスカードとから構成される、いわゆるシャーシ型の装置として実現できる。この場合、ルーティング部、ポートベースルーティング部等は、上記装置のラインカードやサービスカードとしても実現できる。
また、本発明のアクセスルータ100−1,100−2およびポート資源割り当て装置400は、例えば文献「Nick McKeown et al, “OpenFlow: Enabling Innovation in Campus Networks,” ACM SIGCOMM Computer Communication Review, Vol 38 , No 2 , April 2008.」に記載されているような通信方式、通信装置により、好適に実現できる。
また、ポート資源割り当て部240,340は、独立した装置だけではなく、アクセスルータ100−1,100−2内で動作するプログラムとしても実現できる。
また、CPE200−1,200−2,300−1,300−2は、専用の装置だけではなく、パーソナルコンピュータなどの汎用計算機上で、他のプログラムとともに動作するプログラムとしても実現できる。
つまり、第1および第2の実施の形態で説明したCPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400の処理は、目的に応じて作製された論理回路で行うようにしても良い。また、処理内容を手順として記述したプログラムをCPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをCPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400に読み込ませ、実行するものであっても良い。CPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400にて読取可能な記録媒体とは、フロッピー(登録商標)ディスク、光磁気ディスク、DVD、CDなどの移設可能な記録媒体の他、CPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400に内蔵されたROM、RAM等のメモリやHDD等を指す。この記録媒体に記録されたプログラムは、CPE200−1,200−2,300−1,300−2、アクセスルータ100−1,100−2、ポート資源割り当て装置400内のCPU(不図示)にて読み込まれ、CPUの制御によって、上述したものと同様の処理が行われる。ここで、CPUは、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
このように本発明においては、アクセスルータに割り当てられたアドレス毎に、ポート番号空間を分割することから、アクセスルータよりインターネット寄りのルータでは、IPアドレスのみを用いて経路制御ができる。このため、境界ルータのようなトラフィックが集約される装置を用いずに、アドレス共有を実現することが可能となり、境界ルータ等のトラフィックが集中する装置ではアドレス共有の影響を受けない。
また、NAPT装置を用いていないユーザーは、ISPと直接接続されるCPEでローカルポート番号の値を制御できることから、ポート番号変換を行わずとも所定の割り当て範囲にポート番号を収めることができるため、ポート番号変換装置を利用する必要はない。つまり、本来不要な場合には、ISP側でアドレス及びポート番号変換を行わず、アドレス共有を実現することができる。
また、CPEは通信開始時に必要に応じてポート番号を要求することから、アドレスの共有に用いるポート番号の払い出しを、動的に行えることができ、DHCP等により、予めポート番号を割り当てておく方式に比べて、無通信時のポート番号利用を抑制でき、ポート番号を効率的に利用できる。
本発明は、インターネット接続サービスを利用するユーサーが用いるコンピュータ、ユーザーが設置する通信装置、およびそれらを収容するISPが設置するルータ装置等に適用できる。特にIPアドレスを節約する必要がある環境で有効に利用できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年4月16日に出願された日本出願特願2009−099853を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (20)

  1. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータと、
    前記ルータにあらかじめ付与されたIPアドレス単位でポート番号を管理し、該ポート番号を割り当てるポート資源割り当て装置と
    プライベートアドレスを用いて到達可能なプライベート網と、前記グローバル網との境界に位置し、前記ルータに接続された接続装置とを有し、
    前記ルータは、当該ルータにあらかじめ付与されたIPアドレスと、前記ポート資源割り当て装置が前記接続装置に割り当てたポート番号とに基づいてパケット転送を行い得る通信システム
  2. 請求項に記載の通信システムにおいて、
    前記接続装置は、NAPT機能を有する場合、前記パケットのヘッダに含まれる前記ポート番号を前記プライベート網で使用できるプライベートポート番号へ書き換える制御を行い、前記NAPT機能を有しない場合、当該接続装置と接続された通信装置が利用するポート番号を用いて前記パケットを転送することを特徴とする通信システム
  3. 請求項1または請求項2に記載の通信システムにおいて、
    前記接続装置は、前記パケット転送を行う通信のセッション開始時に、前記ポート番号の割り当てを前記ポート資源割り当て装置へ要求し、
    前記ポート資源割り当て装置は、前記ルータ内に備えられた、前記ルータから前記接続装置へのパケット転送経路の情報であるフローテーブルエントリに、前記割り当てたポート番号と前記IPアドレスとを設定することを特徴とする通信システム
  4. 請求項1から3のいずれか1項に記載の通信システムにおいて、
    前記ポート資源割り当て装置は、ユーザーごとに割り当てるポート番号の数を制御することを特徴とする通信システム
  5. 請求項に記載の通信システムにおいて、
    前記ポート資源割り当て装置は、前記接続装置から前記ポート番号の割り当てを要求された際、複数のポート番号を割り当てることを特徴とする通信システム
  6. 請求項1から5のいずれか1項に記載の通信システムにおいて、
    前記接続装置は、当該接続装置に割り当てられたポート番号を、異なる通信セッションに対して、使用することを特徴とする通信システム
  7. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータであって、
    プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、当該ルータに接続された接続装置に対して、当該ルータにあらかじめ付与されたIPアドレスと、該IPアドレスに応じて割り当てられたポート番号とに基づいてパケット転送を行うポートベースルーティング部を有するルータ
  8. 請求項7に記載のルータにおいて、
    前記パケット転送は、前記ポートベースルーティング部内に作成された、前記IPアドレスと前記ポート番号との組みを含むフローテーブルエントリに基づいて行われるルータ。
  9. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータに接続されたポート資源割り当て装置であって、
    プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、前記ルータに接続された接続装置に対して、前記ルータにあらかじめ付与されたIPアドレスに応じてポート番号を前記接続装置ごとに割り当て、該割り当てたポート番号を、前記IPアドレス単位で管理するポート資源割り当て装置。
  10. 請求項9に記載のポート資源割り当て装置において、
    前記ルータ内に備えらえた、前記ルータから前記接続装置へのパケット転送経路の情報であるフローテーブルエントリに、前記割り当てたポート番号と前記IPアドレスとを設定するポート資源割り当て装置。
  11. グローバルアドレスを用いて到達可能なグローバル網内に設置され、パケット転送を行うルータと、プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、前記ルータに接続された接続装置とを含む通信システムにおける制御方法であって、
    前記ルータは、あらかじめ付与されたIPアドレスと、該IPアドレスに応じて前記接続装置に割り当てられたポート番号とに基づいて前記パケット転送を行う制御方法。
  12. 請求項11に記載の通信システムの制御方法において、
    前記接続装置が、NAPT機能を有する場合、前記パケットのヘッダに含まれる前記ポート番号を前記プライベート網で使用できるプライベートポート番号へ書き換える制御を行い、
    前記接続装置が、前記NAPT機能を有しない場合、当該接続装置と接続された通信装置が利用するポート番号を用いて前記パケットを転送することを特徴とする制御方法
  13. 請求項11または請求項12に記載の通信システムの制御方法において、
    前記接続装置が、前記パケット転送を行う通信のセッション開始時に、前記ポート番号の割り当てを、前記ポート番号を管理するポート資源割り当て装置へ要求し、
    前記ポート資源割り当て装置が、前記ルータ内に備えらえた、前記ルータから前記接続装置へのパケット転送経路の情報であるフローテーブルエントリに、前記要求に応じて割り当てたポート番号と前記IPアドレスとを設定することを特徴とする制御方法
  14. 請求項11から13のいずれか1項に記載の通信システムの制御方法において、
    前記接続装置が、当該接続装置に割り当てられたポート番号を、異なる通信セッションに対して、使用することを特徴とする制御方法
  15. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータの制御方法であって、
    プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、当該ルータに接続された接続装置に対して、当該ルータにあらかじめ付与されたIPアドレスと、該IPアドレスに応じて割り当てられたポート番号とに基づいてパケット転送を行う制御方法。
  16. 請求項15に記載のルータの制御方法において、
    前記パケット転送は、当該ルータ内に作成された、前記IPアドレスと前記ポート番号との組みを含むフローテーブルエントリに基づいて行われる制御方法。
  17. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータに接続されたポート資源割り当て装置の制御方法であって、
    プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、前記ルータに接続された接続装置に対して、前記ルータにあらかじめ付与されたIPアドレスに応じてポート番号を前記接続装置ごとに割り当て、該割り当てたポート番号を、前記IPアドレス単位で管理する制御方法。
  18. 請求項17に記載のポート資源割り当て装置の制御方法において、
    前記ルータ内に備えらえた、前記ルータから前記接続装置へのパケット転送経路の情報であるフローテーブルエントリに、前記割り当てたポート番号と前記IPアドレスとを設定する制御方法。
  19. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータに、
    プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、当該ルータに接続された接続装置に対して、当該ルータにあらかじめ付与されたIPアドレスと、該IPアドレスに応じて割り当てられたポート番号とに基づいてパケット転送を行う手順を実行させるためのプログラム。
  20. グローバルアドレスを用いて到達可能なグローバル網内に設置されたルータに接続されたポート資源割り当て装置に、
    プライベートアドレスを用いて到達可能なプライベート網と前記グローバル網との境界に位置し、前記ルータに接続された接続装置に対して、前記ルータにあらかじめ付与されたIPアドレスに応じてポート番号を前記接続装置ごとに割り当てる手順と、
    前記割り当てたポート番号を、前記IPアドレス単位で管理する手順とを実行させるためのプログラム。
JP2011509242A 2009-04-16 2010-03-10 通信システム Expired - Fee Related JP5488591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011509242A JP5488591B2 (ja) 2009-04-16 2010-03-10 通信システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009099853 2009-04-16
JP2009099853 2009-04-16
PCT/JP2010/053971 WO2010119738A1 (ja) 2009-04-16 2010-03-10 アドレス共有システム
JP2011509242A JP5488591B2 (ja) 2009-04-16 2010-03-10 通信システム

Publications (2)

Publication Number Publication Date
JPWO2010119738A1 JPWO2010119738A1 (ja) 2012-10-22
JP5488591B2 true JP5488591B2 (ja) 2014-05-14

Family

ID=42982406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011509242A Expired - Fee Related JP5488591B2 (ja) 2009-04-16 2010-03-10 通信システム

Country Status (3)

Country Link
US (1) US8717884B2 (ja)
JP (1) JP5488591B2 (ja)
WO (1) WO2010119738A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719449B2 (en) * 2010-11-29 2014-05-06 Telefonaktiebolaget L M Ericsson (Publ) Identification of a private device in a public network
CN102594933B (zh) * 2011-12-20 2015-04-08 华为技术有限公司 一种公网地址分配的方法、装置及系统
CN103297336B (zh) * 2012-03-02 2017-06-06 华为技术有限公司 转发网际协议分组的方法及设备
EP3105884A4 (en) 2014-02-11 2018-03-21 Yaana Technologies, LLC Mathod and system for metadata analysis and collection with privacy
US10447503B2 (en) 2014-02-21 2019-10-15 Yaana Technologies, LLC Method and system for data flow management of user equipment in a tunneling packet data network
US10334037B2 (en) 2014-03-31 2019-06-25 Yaana Technologies, Inc. Peer-to-peer rendezvous system for minimizing third party visibility and method thereof
US10285038B2 (en) 2014-10-10 2019-05-07 Yaana Technologies, Inc. Method and system for discovering user equipment in a network
JP6402583B2 (ja) * 2014-10-23 2018-10-10 富士通株式会社 中継装置、中継システム、中継方法、及び、プログラム
US10542426B2 (en) 2014-11-21 2020-01-21 Yaana Technologies, LLC System and method for transmitting a secure message over a signaling network
CN105791448B (zh) * 2014-12-18 2019-10-25 华为技术有限公司 一种地址分配方法、cgn设备及cgn双主系统
WO2016176661A1 (en) 2015-04-29 2016-11-03 Yaana Technologies, Inc. Scalable and iterative deep packet inspection for communications networks
WO2017083855A1 (en) * 2015-11-13 2017-05-18 Yaana Technologies Llc System and method for discovering internet protocol (ip) network address and port translation bindings
JP2018061201A (ja) * 2016-10-07 2018-04-12 株式会社リコー 通信制御装置、通信制御プログラム、及び、ネットワーク通信システム
US10404747B1 (en) * 2018-07-24 2019-09-03 Illusive Networks Ltd. Detecting malicious activity by using endemic network hosts as decoys

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008153193A1 (ja) * 2007-06-15 2008-12-18 Nec Corporation アドレス変換装置及びアドレス変換方法
JP2009021717A (ja) * 2007-07-11 2009-01-29 Nec Corp ネットワーク機器、ネットワーク及びそれらに用いるipnapt機能の実装方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689540B1 (ko) 2000-03-20 2007-03-08 삼성전자주식회사 사설 아이피 네트워크를 통한 다중 통화 장치 및 방법
US6785843B1 (en) * 2001-02-23 2004-08-31 Mcrae Andrew Data plane restart without state change in a control plane of an intermediate network node
JP3689083B2 (ja) * 2002-12-10 2005-08-31 株式会社東芝 ネットワークシステム及びノード装置
US8059530B1 (en) * 2005-09-30 2011-11-15 GlobalFoundries, Inc. System and method for controlling network access
JP4753314B2 (ja) 2007-03-06 2011-08-24 Kddi株式会社 仮想閉域網を1つのレイヤ3スイッチとして設定管理するシステム及びプログラム
US8270369B1 (en) * 2007-11-16 2012-09-18 Marvell International Ltd. Service data unit discard system for radio access networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008153193A1 (ja) * 2007-06-15 2008-12-18 Nec Corporation アドレス変換装置及びアドレス変換方法
JP2009021717A (ja) * 2007-07-11 2009-01-29 Nec Corp ネットワーク機器、ネットワーク及びそれらに用いるipnapt機能の実装方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200800649005; あきみち: '特集 TCP/IP最新スタイル2008 5章 IPv4枯渇対策&IPv6移行動向レポート' Software Design , 20080918, pp.53-61 *
JPN6010017808; あきみち: '特集 TCP/IP最新スタイル2008 5章 IPv4枯渇対策&IPv6移行動向レポート' Software Design , 20080918, pp.53-61 *

Also Published As

Publication number Publication date
US8717884B2 (en) 2014-05-06
WO2010119738A1 (ja) 2010-10-21
JPWO2010119738A1 (ja) 2012-10-22
US20110268121A1 (en) 2011-11-03

Similar Documents

Publication Publication Date Title
JP5488591B2 (ja) 通信システム
US6801528B2 (en) System and method for dynamic simultaneous connection to multiple service providers
US20180227195A1 (en) System and method for implementing and managing virtual networks
Ford et al. Issues with IP address sharing
US8289968B1 (en) Distributed network address translation in computer networks
US20060056420A1 (en) Communication apparatus selecting a source address
US7526569B2 (en) Router and address identification information management server
CN107547689B (zh) 一种运营商级的网络地址转换cgn方法和装置
US20090063706A1 (en) Combined Layer 2 Virtual MAC Address with Layer 3 IP Address Routing
US9705844B2 (en) Address management in a connectivity platform
JP2006502636A (ja) データ通信ネットワークにおけるルーティング
JP2010050547A (ja) アドレス変換装置、方法及びプログラム、名前解決システム、方法及びプログラム、並びにノード
EP2675117A1 (en) Routing method and device for host in multi-homing site
WO2005083959A1 (ja) ネットワークアクセスルータ、ネットワークアクセス方法、プログラム、及び記録媒体
US11929851B2 (en) Gateway selection method, device, and system
KR100964350B1 (ko) IPv6 환경에서의 SEND와 IPSec 협업 기법 및시스템
CN113014680B (zh) 一种宽带接入的方法、装置、设备和存储介质
US20230246994A1 (en) Address management method, apparatus, and system
US10164937B2 (en) Method for processing raw IP packet and device thereof
KR20060070282A (ko) 동적 주소를 할당하고 그 동적 주소를 이용하여라우팅하는 네트워크 시스템 및 그 방법
JP2007060610A (ja) ネットワーク接続システム、ネットワーク接続装置、そのプログラムおよび記録媒体
EP4358476A1 (en) Message processing method, apparatus and system, and computer-readable storage medium
KR101362290B1 (ko) 무선 인터넷 접속 시스템 및 그 방법
KR100608912B1 (ko) Wcdma 이동통신 망에서 napt 기능 제공 방법
Boucadair et al. RFC 6269: Issues with IP Address Sharing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140210

R150 Certificate of patent or registration of utility model

Ref document number: 5488591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees