JP2012074988A - Method, apparatus, and program for estimating the number of address ports in network address translation - Google Patents

Method, apparatus, and program for estimating the number of address ports in network address translation Download PDF

Info

Publication number
JP2012074988A
JP2012074988A JP2010219186A JP2010219186A JP2012074988A JP 2012074988 A JP2012074988 A JP 2012074988A JP 2010219186 A JP2010219186 A JP 2010219186A JP 2010219186 A JP2010219186 A JP 2010219186A JP 2012074988 A JP2012074988 A JP 2012074988A
Authority
JP
Japan
Prior art keywords
address
port number
packet
network
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010219186A
Other languages
Japanese (ja)
Other versions
JP5547019B2 (en
Inventor
Ryoichi Kawahara
亮一 川原
Takeshi Yada
健 矢田
Tatsuya Mori
達哉 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010219186A priority Critical patent/JP5547019B2/en
Publication of JP2012074988A publication Critical patent/JP2012074988A/en
Application granted granted Critical
Publication of JP5547019B2 publication Critical patent/JP5547019B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To estimate the number of global IPv4 addresses required for an LSN (Large Scale NAT) by using packet trace data.SOLUTION: A packet from a network toward the Internet is captured. A packet group sharing a set of five flow keys {srcIP, dstIP, srcPort, dstPort, Protocol} is extracted as a flow, and stored in flow storage means. In each {srcIP#i, dstIP#j} pair, the number of flows in communication at a time point t is defined as N(t, i, j). The N(t, i, j) is counted from packet trace data stored in the flow storage means, and temporarily, as the number of {global IPv4 address, port number} required for NAT(Network Address Translation) when an ISP(Internet Service Provider) provides Internet access using the NAT, {global IPv4 address, port number} required to be allocated to an internal host i at the time point t is calculated using Nmax(t, i)=maxN(t, i, j).

Description

本発明は、NAT(Network Address Translation)におけるアドレス・ポート数推定方法及び装置及びプログラムに係り、特に、IPv4アドレス枯渇問題への対策として、ISP(Internet Service Provider)がNATを用いて通信ネットワークを構成する際に、NATで必要となるIPv4アドレスを推定するためのNATにおけるアドレス・ポート数推定方法及び装置及びプログラムに関する。   The present invention relates to an address / port number estimation method, apparatus, and program in NAT (Network Address Translation), and in particular, ISP (Internet Service Provider) configures a communication network using NAT as a countermeasure for the IPv4 address exhaustion problem. The present invention relates to a method, an apparatus, and a program for estimating the number of addresses and ports in NAT for estimating an IPv4 address necessary for NAT.

IP(Internet Protocol)ネットワークが広く利用されてくるに伴って、IPネットワークの利用形態やアプリケーションも多様化し、それに伴ってネットワークへ加わるトラヒックも多様化している。一方で、トラヒックは年々増加しており、トラヒックがネットワークへどのようなインパクトを与えるかを見積もることが非常に重要となってきている。例えば、動画共有トラヒックや、ビデオやTVなどのリッチコンテンツ配信によるトラヒックなどの増加が指摘されている(例えば、非特許文献1参照)。   As the IP (Internet Protocol) network is widely used, the usage forms and applications of the IP network are diversified, and the traffic added to the network is also diversified accordingly. On the other hand, traffic has been increasing year by year, and it has become very important to estimate the impact that traffic will have on the network. For example, it has been pointed out that there is an increase in video sharing traffic and traffic due to rich content distribution such as video and TV (for example, see Non-Patent Document 1).

一方、上記のように、1通信当りのトラヒック量が多いことに加えて、例えば、近年のアプリケーションでは、一つのホストが多数のフローを同時に発生することが指摘されている(非特許文献2参照)。また、SYN floodingやネットワークスキャンなどの異常トラヒックによって大量のフローが生成されることもある。このようなフロー数の多いトラヒックがネットワークに加わると、large scale NAT(LSN)へのインパクトが大きくなると予想される。ここで、LSNとは、IPv4アドレス枯渇問題への対策として考えられている方式である(例えば、非特許文献3参照)。図8-(a)に示すように、ISPは、LSNを内部ネットワークと外部ネットワークの境界に設置し、内部ネットワークでは独自のアドレスを用い、それを内部ホストに割り当て、インターネットへアクセスする際にはLSNにおいて内部ホストの独自アドレスをグローバルIPv4アドレスへ変換することで、インターネット上のホストとの通信を可能にしている。   On the other hand, in addition to the large amount of traffic per communication as described above, it has been pointed out that, for example, in recent applications, one host generates many flows simultaneously (see Non-Patent Document 2). ). Also, anomalous traffic such as SYN flooding and network scanning can generate a large amount of flows. If traffic with such a large number of flows is added to the network, the impact on large scale NAT (LSN) is expected to increase. Here, LSN is a method that is considered as a countermeasure against the IPv4 address exhaustion problem (see, for example, Non-Patent Document 3). As shown in Figure 8- (a), the ISP installs the LSN at the boundary between the internal network and external network, uses a unique address in the internal network, assigns it to the internal host, and accesses the Internet. The LSN converts the unique address of the internal host to a global IPv4 address, enabling communication with hosts on the Internet.

NAT444、dual stack (DS)-lite、address+port (A+P)方式呼ばれる3つの方式が提案されている(例えば、非特許文献3参照)。   Three methods called NAT444, dual stack (DS) -lite, and address + port (A + P) methods have been proposed (see, for example, Non-Patent Document 3).

図8-(a)のNAT444では、宅内のエンドホスト10は、宅内で用いるプライベートIPv4アドレスXを用いて、Customer Premise Equipment (CPE)-NAT20へパケットを送信する。CPE-NAT20で、アドレスXは、ISP内で用いる独自アドレスYに変換される。この独自アドレスは例えば「ISPシェアドアドレス」(例えば、非特許文献4参照)と呼ばれるものを利用する。これは、Internet assigned numbers authority(IANA)によって未割当のIPv4アドレスを、ISP間でシェア可能なアドレスとして規定するという案である。独自アドレスYを付与されたパケットはLSN30まで転送され、そこで、グローバルIPv4アドレスに変換後、インターネットへと転送される。   In NAT 444 in FIG. 8A, the end host 10 in the home transmits a packet to the Customer Premise Equipment (CPE) -NAT 20 using the private IPv4 address X used in the home. In CPE-NAT 20, the address X is converted into a unique address Y used in the ISP. As this unique address, for example, a so-called “ISP shared address” (for example, see Non-Patent Document 4) is used. This is a proposal to specify an unassigned IPv4 address as an address that can be shared between ISPs by the Internet assigned numbers authority (IANA). The packet with the unique address Y is transferred to the LSN 30, where it is converted to a global IPv4 address and then transferred to the Internet.

図8-(b)のDS-liteでは、ISPはIPv6を内部で利用する。図8-(a)と同様に、エンドホスト11からのパケットはプライベートアドレスXでDS-lite home gateway (HGW)21まで転送され、そのパケットはLSN31までIPv4 over an IPv6トンネルを用いてLSN31まで転送される。そして、LSN31で、そのパケットのアドレスを、グローバルIPv4アドレスに変換する。   In DS-lite in Fig. 8- (b), ISP uses IPv6 internally. As in FIG. 8 (a), the packet from the end host 11 is transferred to the DS-lite home gateway (HGW) 21 with the private address X, and the packet is transferred to the LSN 31 using the IPv4 over an IPv6 tunnel to the LSN 31. Is done. Then, the LSN 31 converts the address of the packet into a global IPv4 address.

図8-(c)のA+P方式では,LSNを用いる代わりに、ネットワークのエッジであるCPE-NAT22において,プライベートアドレスXをグローバルIPv4アドレスZに変換する。その後、例えば、LSNまではIPv4 over an IPv6トンネルを用いて転送する。   In the A + P method of FIG. 8- (c), the private address X is converted to the global IPv4 address Z in the CPE-NAT 22 which is the edge of the network instead of using the LSN. After that, for example, transfer is performed using an IPv4 over an IPv6 tunnel up to LSN.

以上の方式において、グローバルIPv4アドレスを割り当てる際には、通常のNetwork Address Port Translation (NAPT)のように、その時点で空いているIPv4アドレスとポート番号を、一つのフローに対して割り当てる。そうすると、一人のエンドホストが多数のフローを生成するような通信を行っていると、そのエンドホストに多くの{グローバルIPv4アドレス,ポート番号}を割り当てる必要があるため、このようなフロー数の多いトラヒックは、LSNへのインパクトが大きくなる。そのため、このようなインパクトを定量的に評価して今後のネットワークアーキテクチャを検討していく必要がある。   In the above method, when a global IPv4 address is assigned, an IPv4 address and a port number that are free at that time are assigned to one flow, as in normal Network Address Port Translation (NAPT). Then, when one end host performs communication that generates a large number of flows, it is necessary to assign a large number of {global IPv4 address, port number} to that end host. Traffic has a greater impact on LSN. Therefore, it is necessary to evaluate such an impact quantitatively and examine the future network architecture.

LSNへのトラヒックのインパクト評価として、非特許文献5〜7の報告がある。これらは、ホスト当りの生成フロー数の平均やその分布がどうなっているかを、実測データから算出している。例えば、非特許文献7では、一部のホストが多数のフローを生成していることを示している。   There are reports of Non-Patent Documents 5 to 7 as traffic impact evaluation to LSN. These calculate the average number of generated flows per host and how the distribution is based on the measured data. For example, Non-Patent Document 7 indicates that some hosts generate a large number of flows.

一方、必要なグローバルIPv4アドレス数を低減化させる方法として、通信相手であるインターネット上のホストのアドレスを識別子として利用する方法について提案されている。この方法では、例えば同時に2つの通信(フロー)がネットワーク内部ホストとネットワーク外部ホスト間で発生したとき、外部ホストのアドレスを通信の識別子として利用することで、内部ホストに対して割り当てる{グローバルIPv4アドレス,ポート番号}は同じものを使うことを可能にしている。この技術から、以下のようなアドレス割当方法が考えられる。   On the other hand, as a method of reducing the number of necessary global IPv4 addresses, a method of using the address of a host on the Internet as a communication partner as an identifier has been proposed. In this method, for example, when two communications (flows) occur simultaneously between a network internal host and a network external host, the global host address is assigned to the internal host by using the address of the external host as a communication identifier {global IPv4 address , Port number} makes it possible to use the same one. From this technology, the following address allocation method is conceivable.

例えば、ネットワーク外部ホストX1(インターネット上のホスト)129.60.20.1とネットワーク内部ホストY1(プライベートアドレス・ポート番号=192.168.0.1:1000)と通信し、ネットワーク外部ホストX2 129.60.20.2とネットワーク内部ホストY2(192.168.0.2:1000)と通信しているとする。通常のNAPTだと,2つの内部ホストに対して、それぞれ別の{グローバルIPv4アドレス,ポート番号}を割り当てる。例えば、192.168.0.1:1000⇔129.60.227.1:1000,192.168.0.2:1000⇔129.60.227.1:1001、というように、2つのプライベートアドレス・ポートに対して、129.60.227.1:1000,129.60.227.1:1001という2つのグローバルIPv4:ポートを割り当てる。これに対して、通信相手のアドレスを識別子として利用する方法では、以下のような対応表を保持することで、129.60.227.1:1000という同一のグローバルIPv4:ポート番号を2つの通信に付与する。   For example, the network external host X1 (host on the Internet) 129.60.20.1 communicates with the network internal host Y1 (private address / port number = 192.168.0.1:1000), and the network external host X2 129.60.20.2 and the network internal host Y2 ( 192.168.0.2:1000). In normal NAPT, different {global IPv4 address, port number} are assigned to two internal hosts. For example, 192.168.0.1:1000⇔129.60.227.1:1000, 192.168.0.2:1000⇔129.60.227.1:1001, and so on, for the two private address ports, 129.60.227.1:1000, 129.60.227.1: Two global IPv4: 1001 ports are assigned. On the other hand, in the method of using the address of the communication partner as an identifier, the same global IPv4: port number of 129.60.227.1:1000 is assigned to two communications by holding the following correspondence table.

Figure 2012074988
上記の対応表を管理すれば、もし外部ネットワークから宛先アドレス,ポート=129.60.227.1:1000のパケットが到着したとき、そのパケットの送信元アドレスをチェックし、それが129.60.20.1であれば、129.60.227.1:1000⇒192.168.0.1:1000に変換すればよい。送信元アドレスが129.60.20.2であれば、129.60.227.1:1000⇒192.168.0.2:1000に変換すればよい。
Figure 2012074988
If the above correspondence table is managed, if a packet of destination address, port = 129.60.227.1: 1000 arrives from the external network, the source address of the packet is checked, and if it is 129.60.20.1, 129.60 Convert from .227.1: 1000 to 192.168.0.1:1000. If the source address is 129.60.20.2, it can be converted from 129.60.227.1:1000 to 192.168.0.2:1000.

Cisco Visual Networking Index: Forecast and Methodology, 2008-2013, http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ ns705/ns827/white_paper_c11-481360.pdfCisco Visual Networking Index: Forecast and Methodology, 2008-2013, http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_c11-481360.pdf S. Miyakawa, "From IPv4 only To v4/v6 Dual Stack," IETF72 IAB Technical Plenary, Aug. 2008. http://www.kokatsu.jp/blog/ipv4/event/081006_07.pdfS. Miyakawa, "From IPv4 only To v4 / v6 Dual Stack," IETF72 IAB Technical Plenary, Aug. 2008. http://www.kokatsu.jp/blog/ipv4/event/081006_07.pdf T. Nishitani et al., "Common functions of large scale NAT (LSN)," draftnishitani-cgn-02, IETF, May 2009.T. Nishitani et al., "Common functions of large scale NAT (LSN)," draftnishitani-cgn-02, IETF, May 2009. Y. Shirasaki et al., "NAT444 with ISP shared address," draft-shirasakinat444-isp-shared-addr-03 (work in progress), March 2009.Y. Shirasaki et al., "NAT444 with ISP shared address," draft-shirasakinat444-isp-shared-addr-03 (work in progress), March 2009. G. Maier et al., "On dominant characteristics of residential broadband Internet traffic," ACM IMC 2009.G. Maier et al., "On dominant characteristics of residential broadband Internet traffic," ACM IMC 2009. http://www.janog.gr.jp/meeting/janog24/program/d2p5.htmlhttp://www.janog.gr.jp/meeting/janog24/program/d2p5.html 屏, "ISPへのNAT導入によるユーザ影響評価," 電子情報通信学会誌, Vol. 93, No. 6, pp. 473-478, 2010年6月.Tsuji, "Evaluation of User Impact by Introducing NAT into ISP," IEICE Journal, Vol. 93, No. 6, pp. 473-478, June 2010.

以上のように、ネットワーク外部ホストのアドレス情報を利用することで、LSNで必要な{グローバルIPv4アドレス,ポート番号}の数を削減することが期待される。しかしながら、具体的にどのようなアドレス割当を実施すれば、どの程度、グローバルIPv4アドレス数を削減できるかを定量的に見積もる方法はこれまでに報告されていなかった。   As described above, it is expected to reduce the number of {global IPv4 address, port number} required by LSN by using the address information of the network external host. However, there has not been reported so far a method for quantitatively estimating how much address allocation can be performed and how much the number of global IPv4 addresses can be reduced.

本発明は、上記の点に鑑みなされたもので、ネットワーク外部ホストのアドレス情報を利用したLSNを考えた際に、パケットトレースデータを用いて、LSNで必要なグローバルIPv4アドレス数を推定することが可能なNATにおけるアドレス・ポート数推定方法及び装置及びプログラムを提供することを目的とする。   The present invention has been made in view of the above points, and when considering an LSN using address information of a network external host, it is possible to estimate the number of global IPv4 addresses necessary for the LSN using packet trace data. It is an object of the present invention to provide a method, an apparatus, and a program for estimating the number of addresses and ports in a possible NAT.

上記の課題を解決するために、本発明(請求項1)は、NATを用いて、ISPが自身のネットワーク内部のホストに、プライベートアドレスのような内部ネットワーク用の独自アドレスを付与し、ネットワーク内部のホストが、ネットワーク外部の(つまりインターネット上の)ホストと通信するときに、ネットワークの出口に設置されたNATにおいて、ネットワーク内部の独自アドレスを、そのときに空いているグローバルIPv4アドレスへ変換することによって、数少ないグローバルIPv4アドレスを有効活用してインターネットアクセスを提供する通信ネットワークにおいて、
前記ネットワーク内部ホストが同時に複数のネットワーク外部ホストと通信する際に、(通常のNATでは、各通信に異なる{グローバルIPv4アドレス,ポート番号}を付与していたのに対して)通信相手の外部ネットワークホストのグローバルIPv4アドレスを識別子として利用することで、該ネットワーク内部ホストに同一の{グローバルIPv4アドレス,ポート番号}を付与する方式を利用した場合に、必要となる{グローバルIPv4アドレス,ポート番号}の数を、パケットトレースデータを用いて推定する装置におけるアドレス・ポート数推定方法であって、
現在は該ISPはネットワーク内部ホストにグローバルIPv4アドレスを用いて通信サービスを提供しているとき、
パケットヘッダ解析手段が、前記ネットワークからインターネットへ向かうパケットをキャプチャし、フローキー {srcIP,dstIP,srcPort,dstPort,Protocol}の5つ組みを同じくするパケット群をフローとして抽出し、フロー記憶手段に格納するパケットヘッダ解析ステップと、
フロー数集計手段が、各{srcIP#i,dstIP#j}ペアにおいて、時点tにおいて通信中のフロー数をN(t,i,j)と定義し、前記フロー記憶手段に格納されているパケットトレースデータからN(t,i,j)をカウントするフロー集計ステップと、
アドレス・ポート数推定手段が、仮に、当該ISPがNATを用いてインターネットアクセスを提供する際に、NATにおいて必要となる{グローバルIPv4アドレス,ポート番号}の数として、Nmax(t,i)=maxj N(t,i,j)を時点tに内部ホストiに割り当てが必要な{グローバルIPv4アドレス,ポート番号}を算出するアドレス・ポート数推定ステップと、を行う。
In order to solve the above-mentioned problems, the present invention (Claim 1) uses NAT to give an ISP a unique address for an internal network such as a private address to a host inside its own network. When a host communicates with a host outside the network (that is, on the Internet), the NAT inside the network exit converts the unique address inside the network to a free global IPv4 address at that time. In a communication network that provides Internet access by effectively utilizing the few global IPv4 addresses,
When the network internal host communicates with multiple network external hosts at the same time (in contrast to normal NAT, each communication has a different {global IPv4 address, port number}), the external network of the communication partner By using the global IPv4 address of the host as an identifier and using the same {global IPv4 address, port number} method for the host inside the network, the required {global IPv4 address, port number} A method for estimating the number of addresses and ports in an apparatus for estimating a number using packet trace data,
Currently, when the ISP provides a communication service using a global IPv4 address to a network internal host,
The packet header analysis means captures the packet going from the network to the Internet, extracts a group of packets having the same flow key {srcIP, dstIP, srcPort, dstPort, Protocol} as a flow, and stores it in the flow storage means. Packet header analysis step to perform,
The flow count counting means defines the number of flows in communication at each time point t in the {srcIP # i, dstIP # j} pair as N (t, i, j), and the packet stored in the flow storage means A flow aggregation step for counting N (t, i, j) from the trace data;
Assuming that the number of {global IPv4 address, port number} required for NAT when the ISP provides Internet access using NAT, Nmax (t, i) = max An address / port number estimation step of calculating {global IPv4 address, port number} that needs to be assigned to the internal host i at time t at j N (t, i, j) is performed.

また、本発明(請求項2)は、フロー管理手段が、前記フロー記憶手段に、前記パケットヘッダ解析ステップで抽出されたフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}と最後にパケットが到着した時刻Tlast_iの2つを記憶し、
前記パケットトレースデータの時刻の先頭パケットを前記フロー記憶手段から読み出し、該パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}が、該フロー記憶手段に既に登録されているかチェックし、新規であれば、該フロー記憶手段に該パケットのフローキーと、該パケットの到着時刻をTlast_iに登録し、既に登録されている場合は、Tlast_iを該パケットの到着時刻に更新し、該パケットがTCPかつFINまたはRSTにフラグが立っていたら、該フロー記憶手段から当該エントリを削除し、
さらに、前記フロー記憶手段に登録されているフローを一定周期τ毎にチェックし、現在の時刻と前記Tlast_iを比較し、その差が予め定めたタイマーの値よりも大きければ、当該具合エントリを該フロー記憶手段から削除し、
前記フロー集計ステップにおいて、
時点tにおいてペア{srcIP#i,dstIP#j}に関して前記フロー記憶手段にエントリされているフロー数をカウントし、それをN(t,i,j)とする。
Further, according to the present invention (claim 2), the flow management means stores the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort #] extracted in the packet header analysis step in the flow storage means. i, Protocol # i} and the last time the packet arrived Tlast_i
The first packet at the time of the packet trace data is read from the flow storage means, and the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} of the packet is stored in the flow storage. If it is new, the flow key of the packet and the arrival time of the packet are registered in Tlast_i. If it is new, Tlast_i is registered in the packet. If the packet is TCP and FIN or RST is flagged, delete the entry from the flow storage means,
Further, the flow registered in the flow storage means is checked at a constant period τ, the current time is compared with the Tlast_i, and if the difference is greater than a predetermined timer value, the condition entry is Delete it from the flow storage means,
In the flow aggregation step,
At the time t, the number of flows entered in the flow storage means for the pair {srcIP # i, dstIP # j} is counted, and this is defined as N (t, i, j).

また、本発明(請求項3)は、前記フロー数集計ステップにおいて、
予め定めた一定周期τ毎にt番目の時点(1<=t<=M、 Mは測定回数、ただしt=1は、パケットトレースを開始した時刻からinactive timer時間経過後の時刻に設定)におけるフロー数Nmax(t,i)を求めておき、
前記アドレス・ポート数推定ステップにおいて、
N*(i)=F_t,x(Nmax(t,i))を、前記内部ホストiに必要な{グローバルIPv4アドレス,ポート番号}(但し、関数F_t、x()は、tに関して、上位xパーセント値を返す関数とし、xは予め定めるパラメータ(例えばx=1パーセント))とし、
前記N*(i)を降順にソートし、予め定めたyに関して上位yパーセント番目(例えばy=1パーセント)のi_yに対するN*(i_y)を求め、それを、各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する。
In the present invention (Claim 3), in the flow counting step,
At the t-th time point (1 <= t <= M, M is the number of measurements, but t = 1 is set to the time after the inactive timer time elapses from the time when the packet trace is started) for each predetermined period τ Find the number of flows Nmax (t, i)
In the address / port number estimation step,
N * (i) = F_t, x (Nmax (t, i)) is a {global IPv4 address, port number} required for the internal host i (provided that the functions F_t, x () A function that returns a percentage value, where x is a predetermined parameter (eg, x = 1 percent)
The N * (i) is sorted in descending order, and N * (i_y) for the top y percent-th (for example, y = 1%) i_y with respect to a predetermined y is obtained and assigned to each host { Calculated as the number of global IPv4 address, port number}.

また、本発明(請求項4)は、前記アドレス・ポート数推定ステップにおいて、
時点tにおける通信中のフロー総数Ntotal(t)=Σi Nmax(t,i)とし、Ntotal*=F_t、x(Ntotal(t))を計算し、その値を該パケットトレースを実施した測定点において多重されているホスト数Yと、NATを用いて収容したいホスト数Zを用いて、Z/Y×Ntotal*を計算し、その値を、NATを用いて収容したいホスト数Z全体に対して必要となる{グローバルIPv4アドレス,ポート番号}数として算出する。
In the present invention (Claim 4), in the address / port number estimating step,
The total number of flows in communication at time t Ntotal (t) = Σ i Nmax (t, i), Ntotal * = F_t, x (Ntotal (t)) is calculated, and the value is the measurement point where the packet trace was performed Calculate Z / Y x Ntotal * using the number of hosts Y multiplexed in Z and the number of hosts Z that you want to accommodate using NAT, and calculate that value for the total number of hosts Z that you want to accommodate using NAT. Calculate as the number of {global IPv4 address, port number} required.

また、本発明(請求項5)は、前記フロー数集計ステップにおいて、
各dstIP#jに対して、時点tでのフロー数Nd(t、j)をカウントし、
前記アドレス・ポート数推定ステップにおいて、
Ndmax(t)=max j Nd(t,j)を求め、Ndmax*=F_t,x(Ndmax(t))を計算し、その値を前記パケット解析ステップで該パケットトレースを実施した測定点において多重されているホスト数Yに対して、NATを用いて収容する際に必要となる{グローバルIPv4アドレス,ポート番号}数として算出する。
In the present invention (Claim 5), in the flow counting step,
For each dstIP # j, count the number of flows Nd (t, j) at time t,
In the address / port number estimation step,
Ndmax (t) = max j Nd (t, j) is calculated, Ndmax * = F_t, x (Ndmax (t)) is calculated, and the value is multiplexed at the measurement point where the packet trace is performed in the packet analysis step. It is calculated as the number of {global IPv4 address, port number} that is required for accommodating the number of hosts Y using NAT.

また、本発明(請求項6)は、通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の比較をする方法として、
前記アドレス・ポート数推定ステップにおいて、
前記フロー数集計ステップで求められたフロー数Nmax(t,i)=Σj N(t,i,j)を入力として、前記N*(i_y)を求め、該N*(i_y)をネットワーク外部ホストのアドレスを識別子として利用しない方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
一方で、Nmax(t、i)=maxj N(t、i、j)を入力として前記N*(i_y)を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
評価手段が、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する第1の評価ステップを行う。
Further, the present invention (Claim 6) is a method for comparing a method of using an address of a network external host, which is a communication partner, as an identifier and a method of not using it.
In the address / port number estimation step,
Using the flow number Nmax (t, i) = Σ j N (t, i, j) obtained in the flow number aggregation step as an input, the N * (i_y) is obtained, and the N * (i_y) is obtained outside the network. Calculate as the number of {global IPv4 address, port number} that needs to be assigned to each host in a method that does not use the host address as an identifier,
On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input, and the calculated value of N * (i_y) is assigned to each host in the system using the address of the network external host as an identifier. Is calculated as the number of {global IPv4 address, port number} required
The evaluation means performs a first evaluation step of evaluating the effectiveness of the method using the address of the network external host as an identifier by comparing the two.

また、本発明(請求項7)は、通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の比較をする方法として、
前記アドレス・ポート数推定ステップにおいて、
前記Nmax(t,i)=Σj N(t,i,j)を入力として前記Ntotal*を求め、該Ntotal*をネットワーク外部ホストのアドレスを識別子として利用しない方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
一方で、Nmax(t,i)=maxj N(t,i,j)を入力として前記Ntotal*を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
評価手段が、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する第2の評価ステップを行う。
Further, the present invention (Claim 7) is a method for comparing a method of using an address of a network external host, which is a communication partner, as an identifier and a method of not using it.
In the address / port number estimation step,
The Nmax (t, i) = Σ j N (t, i, j) is used as an input to determine the Ntotal *, and the Ntotal * is required in a scheme that does not use the address of a network external host as an identifier {global IPv4 address, Port number} as a number,
On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input to calculate the value of Ntotal *, which is necessary in a scheme that uses the address of a network external host as an identifier {global IPv4 address, Port number} as a number,
The evaluation means performs a second evaluation step of evaluating the effectiveness of the system that uses the address of the network external host as an identifier by comparing the two.

上記のように、本発明によれば、ISPがNATを用いて通信ネットワークを構成する際に、パケットトレースデータを用いてLSNで必要なグローバルIPv4アドレス数を推定することができるため、アドレス割り当ての際に、グローバルIPv4アドレス数をどの程度削減できるか等を見積もることが可能となる。   As described above, according to the present invention, when an ISP configures a communication network using NAT, it is possible to estimate the number of global IPv4 addresses necessary for LSN using packet trace data. It is possible to estimate how much the number of global IPv4 addresses can be reduced.

本発明の概念を説明するための図である。It is a figure for demonstrating the concept of this invention. NATによる動作実施に必要なアドレス・ポート数の例である。It is an example of the number of addresses and ports required for operation implementation by NAT. 本発明の第8の実施の形態におけるシステム構成図である。It is a system block diagram in the 8th Embodiment of this invention. 本発明の第8の実施の形態におけるアドレス・ポート数推定装置の構成図である。It is a block diagram of the address and port number estimation apparatus in the 8th Embodiment of this invention. 本発明の第1の実施例における動作のフローチャートである。It is a flowchart of the operation | movement in 1st Example of this invention. 本発明の第4の実施例におけるアドレス・ポート数推定装置の構成図である。It is a block diagram of the address and port number estimation apparatus in the 4th Example of this invention. 外部ホストアドレスを用いた場合と用いなかった場合のホスト当りの必要なアドレス,ポート数の分布である。This is the distribution of the required addresses and ports per host with and without external host addresses. 本発明において対象となるLarge scale NATの説明図である。It is explanatory drawing of Large scale NAT used as object in this invention.

以下図面と共に、本発明の実施の形態を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

まず、本発明における基本的な考え方についてのべる。   First, the basic concept in the present invention will be described.

図1は、本発明の概念を説明するための図である。   FIG. 1 is a diagram for explaining the concept of the present invention.

図1(b)は、本発明で扱うネットワーク外部ホストのアドレスを利用したときのアドレス変換方法を説明するための図である。比較として、図1(a)に、本発明で扱うネットワーク外部ホストのアドレスを利用しない場合を示す。   FIG. 1B is a diagram for explaining an address conversion method when an address of a network external host handled in the present invention is used. For comparison, FIG. 1A shows a case where the address of the network external host handled in the present invention is not used.

ここでは、ISPが収容しているホストAが、LSNを介して、ネットワーク外部ホストと通信をする場合を例にしている。具体的には、ホストAが、外部ホストxとyの2つと同時に通信を行おうとしている。その際、図1(a)において、ホストAはISP内の独自アドレス192.168.0.1を用いて、srcIP:srcPort=192.168.0.1:1024として、dstIP xに向けてパケットを送信している。LSNでは、そのパケットのsrcIPsrcPortをグローバルIPv4アドレスである129.0.0.1:1000に変換する。同様に、srcIP:srcPort=192.168.0.1:1025からdstIP yへのパケットについては、srcIPsrcPortをグローバルIPv4アドレスである129.0.0.1:1001に変換する。   Here, a case where the host A accommodated by the ISP communicates with an external host via the LSN is taken as an example. Specifically, host A is trying to communicate with two external hosts x and y simultaneously. At this time, in FIG. 1A, the host A uses the unique address 192.168.0.1 in the ISP and transmits a packet toward dstIP x with srcIP: srcPort = 192.168.0.1: 1024. In the LSN, the srcIPsrcPort of the packet is converted to 129.0.0.1:1000 which is a global IPv4 address. Similarly, for a packet from srcIP: srcPort = 192.168.0.1: 1025 to dstIP y, srcIPsrcPort is converted to the global IPv4 address 129.0.0.1:1001.

これに対して、通信相手であるネットワーク外部ホストのアドレス(この例では、dstIP xとdstIP y)を利用した図1(b)のケースについては、srcIP:srcPort=192.168.0.1:1024からdstIP xへパケットが送信されたら、LSNにおいてグローバルIPv4アドレスである129.0.0.1:1000に変換するとともに、通信相手であるアドレスdstIP xを記憶しておく。同様に、srcIP:srcPort=192.168.0.1:1025からdstIP yへパケットが送信されたら、LSNにおいてグローバルIPv4アドレスである129.0.0.1:1000に変換するとともに、通信相手であるアドレスdstIP yを記憶しておく。こうすることで、ネットワーク外部から、dstIP:dstPort=129.0.0.1:1000となるパケットを受信したら、そのパケットのsrcIPを読み出し、もしsrcIPがxであれば、dstIP:dstPort=192.168.0.1:1024に変換して、ネットワーク内部へ転送し、srcIPがyであればdstIP:dstPort=192.168.0.1:1025に変換して、ネットワーク内部へ転送する。この場合、2つの通信に対して、129.0.0.1:1000という一つのグローバルIPv4アドレス,ポート番号だけで済む。   On the other hand, in the case of FIG. 1B using the address of the network external host that is the communication partner (in this example, dstIP x and dstIP y), srcIP: srcPort = 192.168.0.1: 1024 to dstIP x When the packet is transmitted to LSN, it is converted to the global IPv4 address 129.0.01: 1000 in the LSN, and the address dstIP x that is the communication partner is stored. Similarly, when a packet is sent from srcIP: srcPort = 192.168.0.1: 1025 to dstIP y, it is converted to the global IPv4 address 129.0.01: 1000 in the LSN, and the address dstIP y that is the communication partner is stored. deep. By doing this, when a packet with dstIP: dstPort = 129.0.0.1: 1000 is received from outside the network, the srcIP of the packet is read, and if srcIP is x, dstIP: dstPort = 192.168.0.1: 1024 Convert and transfer to the inside of the network. If srcIP is y, convert to dstIP: dstPort = 192.168.0.1: 1025 and transfer to the inside of the network. In this case, only one global IPv4 address and port number of 129.0.0.1:1000 are required for two communications.

上記のようなアドレス変換を想定した場合、どのような通信のときにどれくらい必要なアドレス,ポート数が削減できるかについて、図2の例を用いて説明する。   With the assumption of the address conversion as described above, how much address and the number of ports necessary for what kind of communication can be reduced will be described with reference to the example of FIG.

図2のケースAでは、ネットワーク内部のホスト(srcIP A)が、ネットワーク外部のホストdstIP 1と3本のフローを張っている。この場合、外部ホストのアドレスであるdstIP 1を利用してもしなくても、3つの{グローバルIPv4アドレス,ポート番号}をsrcIP Aに付与する必要がある。   In the case A of FIG. 2, the host (srcIP A) inside the network has three flows with the host dstIP 1 outside the network. In this case, it is necessary to assign three {global IPv4 address, port number} to srcIP A whether or not dstIP 1 which is the address of the external host is used.

これに対して、ケースBでは、srcIP Aが、ネットワーク外部ホストdstIP1、 2、 3の3つと通信しており、それぞれ一本のフローが張られている。この場合、外部ホストのdstIPを利用する場合には、一つの{グローバルIPv4アドレス,ポート番号}を3本のフローに割り当てることができる。それに対して、dstIPを利用しない場合には、3つの{グローバルIPv4アドレス,ポート番号}を3本のフローに割り当てる必要がある。(ここで、3本のフローのsrcPortはそれぞれ異なると仮定している。)
ケースCでは、dstIP 1と4本のフローを張り、dstIP 2とは1本のフローを張っている。この場合、dstIPを利用しない方式だと、5個の{グローバルIPv4アドレス,ポート番号}を計5本のフローに対して割り当てる必要がある。それに対して、dstIPを利用する方式では、dstIP 1向けのフロー数4本と、dstIP 2向けのフロー1本のうち、その最大値である4個のグローバルIPv4アドレス,ポート番号}を割り当てればよいことになる。
On the other hand, in case B, srcIP A communicates with the three network external hosts dstIP1, 2, and 3, and each has one flow. In this case, when using dstIP of an external host, one {global IPv4 address, port number} can be assigned to three flows. On the other hand, when not using dstIP, it is necessary to assign three {global IPv4 address, port number} to three flows. (Here, it is assumed that the srcPort of the three flows is different.)
In case C, dstIP 1 has 4 flows, and dstIP 2 has 1 flow. In this case, if the method does not use dstIP, it is necessary to allocate five {global IPv4 address, port number} to a total of five flows. On the other hand, in the method using dstIP, if four flows for dstIP 1 and one flow for dstIP 2 are assigned, the maximum of four global IPv4 addresses and port numbers} are assigned. It will be good.

以上をまとめると、各ケースに対して必要な{グローバルIPv4アドレス,ポート}の数は、以下の表のようになる。2カラム目は、各srcIPのフロー数であり、それがdstIPを利用しない方式で必要な{グローバルIPv4アドレス,ポート}の数となる。3カラム目は、dstIP jのフロー数N(j)を求め、その最大値maxN(j)であり、それがdstIPを利用する方式で必要な{グローバルIPv4アドレス,ポート}の数となる。 In summary, the number of {global IPv4 address, port} required for each case is shown in the table below. The second column is the number of flows of each srcIP, which is the number of {global IPv4 address, port} required in a method that does not use dstIP. The third column calculates the flow number N (j) of dstIP j, and its maximum value max j N (j), which is the number of {global IPv4 address, port} required for the method using dstIP. .

Figure 2012074988
つまり、dstIP毎のフロー数の最大値を求めることで、通信相手である外部ホストのアドレスdstIPを利用する方式で必要となる{グローバルIPv4アドレス,ポート}の数を見積もることが可能となる。以下でその具体的な方法を列挙する。
Figure 2012074988
That is, by obtaining the maximum value of the number of flows for each dstIP, it is possible to estimate the number of {global IPv4 address, port} required in the method using the address dstIP of the external host that is the communication partner. The specific methods are listed below.

[第1の実施の形態]
本実施の形態においては、まず、現在は、ISPはネットワーク内部ホストにグローバルIPv4アドレスを用いて通信サービスを提供しているものとし、そのネットワークからインターネットへ向かうパケットをキャプチャする。 {srcIP,dstIP,srcPort,dstPort,Protocol}の5つ組みを同じくするパケット群をフローと定義し、各{srcIP#i, dstIP#j}ペアにおいて、時点tにおいて通信中のフロー数をN(t,i,j)と定義し、パケットトレースデータからN(t,i,j)をカウントする。そして、仮に、このISPがNATを用いてインターネットアクセスを提供する際に、NATにおいて必要となる{グローバルIPv4アドレス,ポート番号}の数として、Nmax(t,i)=maxj N(t,i,j)を時点tに内部ホストiに割り当てが必要な{グローバルIPv4アドレス,ポート番号}の数を算出することを特徴とする。
[First Embodiment]
In the present embodiment, first, the ISP is currently providing a communication service using a global IPv4 address to a network internal host, and captures a packet from the network to the Internet. A packet group having the same set of five sets of {srcIP, dstIP, srcPort, dstPort, Protocol} is defined as a flow. In each {srcIP # i, dstIP # j} pair, the number of flows in communication at time t is N ( t, i, j) and N (t, i, j) is counted from the packet trace data. If this ISP provides Internet access using NAT, the number of {global IPv4 address, port number} required for NAT is Nmax (t, i) = max j N (t, i , J) at time t, the number of {global IPv4 address, port number} that needs to be assigned to the internal host i is calculated.

なお、表2の例でのNmax(t,i)の値は、Nmax(t,A)= max {N(t,A,1)}= max {3}=3,Nmax(t,B)= max {N(t,B,1), N(t,B,2), N(t,B,3)}= max{1,1,1}=1,Nmax(t,C)= max {N(t,C,1), N(t,C,2)}= max{4,1}=4となる。 The value of Nmax (t, i) in the example of Table 2 is Nmax (t, A) = max {N (t, A, 1)} = max {3} = 3, Nmax (t, B) = max {N (t, B, 2), N (t, B, 2), N (t, B, 3)} = max {1, 1, 1 } = 1, Nmax (t, C) = max {N (t, C, 1), N (t, C, 2)} = max {4, 1} = 4.

[第2の実施の形態]
本実施の形態においては、前述の第1の実施の形態における、ある時点tにおける通信中のフロー数N(t,i,j)を求める。その手順は以下の通りとする。
[Second Embodiment]
In the present embodiment, the number of flows N (t, i, j) in communication at a certain time t in the first embodiment described above is obtained. The procedure is as follows.

まず、予めフロー毎の状態を管理するフロー管理テーブルを記憶手段内に用意しておく。フロー管理テーブルでは、フローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}と最後にパケットが到着した時刻Tlast_iの2つを記憶しておく。   First, a flow management table for managing the state for each flow is prepared in the storage means in advance. In the flow management table, two of the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} and the time Tlast_i at which the last packet arrived are stored.

次に、パケットトレースデータの時刻の先頭パケットを読み出し、該パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}が、フロー管理テーブルに既にエントリされているかチェックする。新規であれば、フロー管理テーブルに、該パケットのフローキーと、そのパケットの到着時刻をTlast_iにエントリする。既出フローからのパケットであれば、Tlast_iをそのパケットの到着時刻に更新する。なお、パケットがTCPかつFINまたはRSTにフラグが立っていたら、フロー管理テーブルからエントリを削除する。   Next, the first packet at the time of the packet trace data is read, and the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} of the packet is already entered in the flow management table Check if it is. If it is new, the flow key of the packet and the arrival time of the packet are entered in Tlast_i in the flow management table. If it is a packet from an existing flow, Tlast_i is updated to the arrival time of the packet. If the packet is TCP and FIN or RST is flagged, the entry is deleted from the flow management table.

一方、上記のフロー管理テーブルにエントリされているフローを一定周期τ毎にチェックする。その際、現在の時刻とTlast_iを比較し、その差が予め定めたタイマーの値inactive_timerよりも大きければ、フロー管理テーブルから削除する。   On the other hand, the flow entered in the above flow management table is checked at regular intervals τ. At this time, the current time is compared with Tlast_i, and if the difference is larger than a predetermined timer value inactive_timer, the current time is deleted from the flow management table.

以上の準備の下、時点tにおいてペア{srcIP#i、dstIP#j}に関してフロー管理テーブルにエントリされているフロー数をカウントし、それをN(t,i,j)とする。   With the above preparation, the number of flows entered in the flow management table for the pair {srcIP # i, dstIP # j} at the time t is counted, and this is defined as N (t, i, j).

[第3の実施の形態]
本実施の形態では、予め定めた一定周期τ毎にt番目の時点(1<=t<=M、 Mは測定回数、ただしt=1は、パケットトレースを開始した時刻からinactive timer時間経過後の時刻に設定)におけるNmax(t,i)を求めておき、N*(i)=F_t,x(Nmax(t,i))を、ホストiに必要な{グローバルIPv4アドレス,ポート番号}とする。なお、関数F_t,x()は、tに関して、上位xパーセント値を返す関数とし、xは予め定めるパラメータ(例えばx=1パーセント)とする。
[Third Embodiment]
In the present embodiment, the t-th time point (1 <= t <= M, M is the number of measurements, and t = 1 is after the inactive timer time has elapsed from the time when the packet trace is started, for each predetermined period τ. Nmax (t, i) at the time of () is set, and N * (i) = F_t, x (Nmax (t, i)) is set to {global IPv4 address, port number} required for host i To do. Note that the function F_t, x () is a function that returns an upper x percent value with respect to t, and x is a predetermined parameter (for example, x = 1 percent).

次に、N*(i)を降順にソートし、予め定めたyに関して上位yパーセント番目(例えばy=1パーセント)のi_yに対するN*(i_y)を求め、それを、各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出することを特徴とする。   Next, N * (i) is sorted in descending order, and N * (i_y) is calculated for the top y percent-th i_y with respect to a predetermined y (for example, y = 1%), which must be assigned to each host It is calculated as the number of {global IPv4 address, port number}.

この第3の実施の形態について補足する。   This third embodiment will be supplemented.

まず、inactive timer時間経過までのフロー数の情報を使わない理由は、inactive timer時間経過するまでは、パケットトレースデータから算出される通信中フロー数は、パケットトレース測定開始以前から通信中のフローが含まれていない可能性があるためである。例えばパケットトレース測定開始直前までパケットを送出しており、測定開始以降パケットを送出していないフローが存在した場合、そのフローはパケットトレースデータからは存在を検知できない。ただし、もし通信中のフローであれば、inactive timer時間経過するまでにパケットを送出するはずであるため、inactive timer時間というウォームアップ時間を設けることでパケットトレース測定開始以前のフローについてもカウントすることができる。   First, the reason for not using the information on the number of flows until the inactive timer time elapses is that the number of in-communication flows calculated from the packet trace data until the inactive timer time elapses is the number of flows being communicated before the start of packet trace measurement. This is because it may not be included. For example, if a packet is transmitted until immediately before the start of packet trace measurement and there is a flow that has not transmitted a packet since the start of measurement, the flow cannot be detected from the packet trace data. However, if the flow is in communication, packets should be sent before the inactive timer time elapses, so a warm-up time called inactive timer time is provided to count the flow before the start of packet trace measurement. Can do.

次に、N*(i)=F_t,x(Nmax(t、i))における関数F_t,xに補足する。例えばτ=1msとして、M=360000とする(つまり1時間分)と、その1時間の間でフロー数Nmax(t,i)は時々刻々と変化するが、xを上位1/360000×100パーセント値とすれば、Nmax(t,i)の、1時間にわたっての最大値がN*(i)となり、N*(i)の{グローバルIPv4アドレス,ポート}数を用意しておけば、任意の時点において必要なアドレス,ポート数がカバーできることになる。   Next, the function F_t, x in N * (i) = F_t, x (Nmax (t, i)) will be supplemented. For example, if τ = 1ms and M = 360000 (that is, 1 hour), the number of flows Nmax (t, i) changes every moment during that hour, but x is the upper 1/360000 × 100% As a value, the maximum value of Nmax (t, i) over one hour is N * (i). If you prepare the number of {global IPv4 address, port} of N * (i), any value The necessary addresses and ports can be covered at that time.

「上位yパーセント番目(例えばy=1パーセント)のi_yに対するN*(i_y)を求め、それを、各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出」ということについて補足する。例えばy=1パーセントに設定すると、この手順で各ホストに必要な{グローバルIPv4アドレス,ポート番号}の数を割り当てておけば、99パーセントのホストには必要なアドレス,ポート数を割り当てていることになる。   It is supplemented about "determining N * (i_y) for i_y of the top y percent (eg y = 1 percent) and calculating it as the number of {global IPv4 address, port number} that needs to be assigned to each host" . For example, if y = 1% is set, the number of necessary {global IPv4 address, port number} is assigned to each host in this procedure, and the required address and number of ports are assigned to 99% of hosts. become.

なお、ここでのアドレス,ポート番号割り当て方式は、図1で述べたA+P方式のように、各ホストにネットワークのエッジで{グローバルIPv4アドレス,ポート番号}を割り振る方式を想定している。また、図1のNAT444やDS-lite方式のようにLSNでホストを多重して{グローバルIPv4アドレス,ポート番号}を割り当てる場合においても、ホスト毎に利用可能な{グローバルIPv4アドレス,ポート番号}の範囲を固定的に割り当てて運用する場合に、1ホスト当り必要な{グローバルIPv4アドレス,ポート番号}の数を当該実施の形態で推定した値に設定可能である。   The address and port number assignment method here assumes a method of allocating {global IPv4 address, port number} to each host at the edge of the network, as in the A + P method described in FIG. In addition, when {Global IPv4 address, port number} is assigned by multiplexing hosts with LSN as in NAT444 or DS-lite system in Fig. 1, {Global IPv4 address, port number} that can be used for each host When operating with a fixed range of allocation, the number of {global IPv4 address, port number} required per host can be set to the value estimated in this embodiment.

[第4の実施の形態]
本実施の形態においては、フロー数集計処理を行う。
[Fourth Embodiment]
In the present embodiment, a flow number counting process is performed.

フロー数Ntotal(t)=Σi Nmax(t,i)とし、Ntotal*=F_t、x(Ntotal(t))を計算し、その値を該パケットトレースを実施した測定点(ノード間におけるアドレス・ポート数推定装置の設置点)において多重されているホスト数Yと、NATを用いて収容したいホスト数Zを用いて、Z/Y×Ntotal*を計算し、その値を、NATを用いて収容したいホスト数Z全体に対して必要となる{グローバルIPv4アドレス,ポート番号}数として算出することを特徴とする。 The number of flows is Ntotal (t) = Σ i Nmax (t, i), Ntotal * = F_t, x (Ntotal (t)) is calculated, and the value is the measurement point (address / node between nodes). Z / Y x Ntotal * is calculated using the number of hosts Y multiplexed at the installation point of the port number estimation device) and the number of hosts Z to be accommodated using NAT, and the value is accommodated using NAT. This is characterized in that it is calculated as the number of {global IPv4 address, port number} required for the entire number of hosts Z to be obtained.

ここでは、図1のNAT444やDS-lite方式のように複数のホストを多重してLSNでアドレス変換を行う場合に、全体でどれくらいの{グローバルIPv4アドレス,ポート番号}の組を用意しておけばよいかを推定している、なお、第3の実施の形態のように、一つのホストに固定的にアドレス、ポートの範囲を割り当てるのではなく、その時点で空いているアドレス,ポートを通信要求のあったホストに動的に割り当てる方式を想定して、ホスト全体で必要な{グローバルIPv4アドレス,ポート番号}の数を見積もっている。   Here, when multiple hosts are multiplexed and address translation is performed using LSN, as in NAT444 or DS-lite system in Fig. 1, how many {global IPv4 address, port number} pairs are prepared in total In addition, as in the third embodiment, instead of assigning a fixed range of addresses and ports to a single host as in the third embodiment, communication is performed using addresses and ports that are available at that time. Estimating the number of {global IPv4 address, port number} required for the entire host, assuming a method of dynamically allocating to the requested host.

[第5の実施の形態]
本実施の形態では、各dstIP#jに対して、時点tでのフロー数Nd(t,j)をカウントし、Ndmax(t)=max j Nd(t,j)を求め、Ndmax*=F_t,x(Ndmax(t))を計算し、その値を該パケットトレースを実施した測定点において多重されているホスト数Yに対して、NATを用いて収容する際に必要となる{グローバルIPv4アドレス,ポート番号}数として算出することを特徴とする。
[Fifth Embodiment]
In this embodiment, for each dstIP # j, the number of flows Nd (t, j) at time t is counted, Ndmax (t) = max j Nd (t, j) is obtained, and Ndmax * = F_t , X (Ndmax (t)), and the value is required when accommodating the number of hosts Y multiplexed at the measurement point where the packet trace is performed using NAT {global IPv4 address , Port number}.

この方法では、異なる外部ホスト(つまり異なるdstIP)と通信していれば、同じsrcIPか別のsrcIPからの通信かを区別することなく、同じ{グローバルIPv4アドレス,ポート番号}を付与するというアドレス割り当て方式を想定した場合に必要な{グローバルIPv4アドレス,ポート番号}を見積もっている。なお、第4の実施の形態では、あるsrcIPが異なるdstIPと通信している場合に限り、同じ{グローバルIPv4アドレス,ポート番号}を付与している場合を対象としている。   This method assigns the same {global IPv4 address, port number} without distinguishing between the same srcIP and another srcIP if you are communicating with different external hosts (that is, different dstIP) Estimating the {global IPv4 address, port number} required when the system is assumed. In the fourth embodiment, only when a certain srcIP is communicating with a different dstIP, the case where the same {global IPv4 address, port number} is assigned is targeted.

この第5の実施の形態の拡張として、パケットトレースデータが測定箇所ホスト数Yだとすると、そのデータでsrcIPをランダムに間引くことで擬似的にホスト数Y'(<Y)を模擬し、そのときのNdmax*を算出し、ホスト数Yが変化したときのNdmax*の変化を関数に当てはめることで、ホスト数が仮にZ(>Y)になったときにNdmax*がどうなるか推定し、NATを用いて収容したいホスト数Z全体に対して必要となる{グローバルIPv4アドレス,ポート番号}数として算出する。具体例として、ホスト数がYのときのNdmax*をNdmax*(Y)と書くことにすると、ホスト数がZとなったときの
Ndmax*(Z)={Ndmax*(Y)-Ndmax*(Y')}/(Y-Y')×(Z-Y)+Ndmax*(Y)
で推定する。
As an extension of the fifth embodiment, if the packet trace data is the number Y of measurement location hosts, the host number Y ′ (<Y) is simulated by decimating srcIP randomly with that data, By calculating Ndmax * and applying the change in Ndmax * when the number of hosts Y changes to the function, we estimate how Ndmax * will be when the number of hosts becomes Z (> Y), and use NAT This is calculated as the number of {global IPv4 address, port number} required for the entire number of hosts Z that you want to accommodate. As a specific example, if Ndmax * when the number of hosts is Y is written as Ndmax * (Y), the number of hosts becomes Z
Ndmax * (Z) = {Ndmax * (Y) -Ndmax * (Y ')} / (Y-Y') × (ZY) + Ndmax * (Y)
Estimated by

[第6の実施の形態]
本実施の形態においては、通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式を比較をする。
[Sixth Embodiment]
In the present embodiment, a system that uses the address of a network external host as a communication partner as an identifier is compared with a system that does not use it.

まず、Nmax(t,i)=Σj N(t,i、j)として、それを入力として第3の実施の形態と同様の手順でN*(i_y)を求め、該N*(i_y)をネットワーク外部ホストのアドレスを識別子として利用しない方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する。一方で、Nmax(t,i)=maxj N(t,i,j)を入力として第3の実施の形態に記載のようにの手順でN*(i_y)を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する。そして、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する。 First, Nmax (t, i) = Σ j N (t, i, j) is used as an input, N * (i_y) is obtained in the same procedure as in the third embodiment, and the N * (i_y) Is calculated as the number of {global IPv4 address, port number} that needs to be assigned to each host in a method that does not use the address of the network external host as an identifier. On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input, and a value obtained by calculating N * (i_y) by the procedure as described in the third embodiment is used as a network external host. This is calculated as the number of {global IPv4 address, port number} that needs to be assigned to each host in the method of using the address of as an identifier. Then, by comparing the two, the effectiveness of the method of using the address of the network external host as an identifier is evaluated.

[第7の実施の形態]
本実施の形態では、第6の実施の形態とは異なる方法で、通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式を比較をする。
[Seventh Embodiment]
In the present embodiment, a method that uses the address of a network external host, which is a communication partner, as an identifier is compared with a method that does not use it in a method different from the sixth embodiment.

まず、Nmax(t,i)=Σj N(t,i,j)として、それを入力として第4の実施の形態と同様の手順でNtotal*を求め、該Ntotal*をネットワーク外部ホストのアドレスを識別子として利用しない方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出する。 First, Nmax (t, i) = Σ j N (t, i, j) is used as an input, Ntotal * is obtained in the same procedure as in the fourth embodiment, and Ntotal * is the address of the network external host. This is calculated as the number of {global IPv4 address, port number} required in a method that does not use as an identifier.

一方で、Nmax(t,i)=maxj N(t,i,j)を入力として第4の実施の形態と同様の手順でNtotal*を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出する。そして、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する。 On the other hand, using Nmax (t, i) = max j N (t, i, j) as input, the value calculated for Ntotal * in the same procedure as in the fourth embodiment uses the address of the network external host as the identifier. This is calculated as the number of {global IPv4 address, port number} required for the method to be used. Then, by comparing the two, the effectiveness of the method of using the address of the network external host as an identifier is evaluated.

[第8の実施の形態]
本実施の形態では、上記の第1〜第7で示した方法を実現するための推定装置を示す。
[Eighth Embodiment]
In this Embodiment, the estimation apparatus for implement | achieving the method shown in said 1st-7th is shown.

図3は、本発明の第8の実施の形態におけるシステム構成を示す。   FIG. 3 shows a system configuration according to the eighth embodiment of the present invention.

同図に示すように、NATにおけるアドレス・ポート数推定装置100は、ノード200A,200B間のリンクに挿入される形態で利用される。あるいは、ノード(スイッチやルータ)において、パケットをポートへミラーして、そのポートの先に当該アドレス・ポート数推定装置100を設置してもよい。あるいは、パケットを図3の構成で一旦キャプチャしておき、後処理でパケットを先頭から読み出して、後述する処理を行うようにしてもよい。   As shown in the figure, an address / port number estimation apparatus 100 in NAT is used in a form of being inserted into a link between nodes 200A and 200B. Alternatively, in a node (switch or router), the packet may be mirrored to a port, and the address / port number estimation device 100 may be installed at the end of the port. Alternatively, the packet may be once captured with the configuration shown in FIG. 3, and the packet may be read from the head in post-processing, and processing described later may be performed.

図4は、本発明の第8の実施の形態における装置構成を示す。   FIG. 4 shows an apparatus configuration according to the eighth embodiment of the present invention.

同図に示すアドレス・ポート数推定装置100は、パケットヘッダ解析部110、フロー管理部120、フロー数集計部130、アドレス・ポート数推定部140から構成される。   The address / port number estimation apparatus 100 shown in FIG. 1 includes a packet header analysis unit 110, a flow management unit 120, a flow number totaling unit 130, and an address / port number estimation unit 140.

パケットヘッダ解析部110は、到着したパケットからフローキーを抽出する。   The packet header analysis unit 110 extracts a flow key from the arrived packet.

フロー管理部120は、内部のメモリまたは接続される記憶媒体にフロー管理テーブル121を有し、パケットヘッダ解析部110で抽出されたフローキーとパケット到着時刻を管理する。   The flow management unit 120 has a flow management table 121 in an internal memory or a connected storage medium, and manages the flow key and packet arrival time extracted by the packet header analysis unit 110.

フロー数集計部130は、前述の第2の実施の形態または第5の実施の形態で示した方法で、パケットトレースデータから時点tでの通信中のフロー数を算出する。   The flow count totaling unit 130 calculates the number of flows in communication at the time t from the packet trace data by the method described in the second embodiment or the fifth embodiment.

アドレス・ポート数推定部140は、以下のいずれかの方法によりアドレス・ポート数を推定する。   The address / port number estimation unit 140 estimates the number of addresses / ports by one of the following methods.

・特定の時点tに内部ホストに割当が必要となる{グローバルIPv4アドレス,ポート番号}を算出する(第1の実施の形態の方法);
・任意の時点に内部ホストに必要となる{グローバルIPv4アドレス,ポート番号}を算出する(第3の実施の形態の方法);
・NAT全体で必要となる{グローバルIPv4アドレス,ポート番号}を算出する(第4または第5の実施の形態の方法);
・ネットワーク外部ホストのアドレスを識別子として利用した場合と利用しなかった場合必要となる{グローバルIPv4アドレス,ポート番号}を求め、これらの評価を行う手段(後述の第4、第5の実施例の評価部)に出力する(第6または第7の実施の形態の方法):
Calculate {global IPv4 address, port number} that needs to be assigned to the internal host at a specific time t (method of the first embodiment);
Calculate {global IPv4 address, port number} required for the internal host at an arbitrary time (the method of the third embodiment);
Calculate {global IPv4 address, port number} required for the entire NAT (method of the fourth or fifth embodiment);
A means for obtaining {global IPv4 address, port number} that is required when the address of the network external host is used as an identifier and when it is not used as an identifier (for the fourth and fifth embodiments described later) Output to (evaluation unit) (method of the sixth or seventh embodiment):

以下、図面と共に本発明の実施例を説明する。   Embodiments of the present invention will be described below with reference to the drawings.

[第1の実施例]
以下の実施例では、前述の図4に示すアドレス・ポート数推定装置の構成に基づいて説明する。
[First embodiment]
The following embodiment will be described based on the configuration of the address / port number estimation apparatus shown in FIG.

本実施例では、前述の第2の実施の形態の方法で、時点tでの通信中のフローを算出し、第1の実施の形態の方法で、特定の時点tに内部ホストに割り当てが必要となる{グローバルIPv4アドレス,ポート番号}を算出する例を説明する。   In this example, the flow during communication at the time point t is calculated by the method of the second embodiment described above, and allocation to the internal host is required at the specific time point t by the method of the first embodiment. An example of calculating {global IPv4 address, port number} will be described.

図5は、本発明の第1の実施例の動作のフローチャートである。   FIG. 5 is a flowchart of the operation of the first embodiment of the present invention.

以下、アドレス・ポート数推定装置100の各構成要素の動作を図5のフローチャートにしたがって説明する。   The operation of each component of the address / port number estimation apparatus 100 will be described below with reference to the flowchart of FIG.

パケットヘッダ解析部110は、前段のノードからパケットが到着すると、そのパケットのフローキー={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}を読み出し、フロー管理部120にフローキーを通知する。その後、パケットを後段のノードに転送する(図5、S1)。   When a packet arrives from the preceding node, the packet header analysis unit 110 reads out the flow key = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} of the packet, and the flow management unit 120 Notify the flow key. Thereafter, the packet is transferred to the subsequent node (S1 in FIG. 5).

フロー管理部120は、内部のメモリまたはディスク装置等の記憶媒体にフロー管理テーブル121を用意し、そのテーブル121に、フローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}と最後にパケットが到着した時刻Tlast_iの2つを記憶しておく。フロー管理部120は、該パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}が、フロー管理テーブル121に既にエントリされているかチェックする(図5、S2)。新規であれば(図5、S2,no)、フロー管理テーブル121に該パケットのフローキーと、そのパケットの到着時刻TnowをTlast_iにエントリする(図5、S3)。既出フローからのパケットであれば(図5、S2,yes)、フロー管理テーブル内のTlast_iを読み出し、そのパケットの到着時刻に更新する(図5、S5)。なお、パケットがTCPかつFINまたはRSTにフラグが立っていたら(図5、S4),フロー管理テーブルからエントリを削除する(図5、S6)。   The flow management unit 120 prepares a flow management table 121 in a storage medium such as an internal memory or a disk device, and the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i is stored in the table 121. , Protocol # i} and the last packet arrival time Tlast_i are stored. The flow management unit 120 checks whether the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} of the packet has already been entered in the flow management table 121 (FIG. 5, S2). If it is new (FIG. 5, S2, no), the flow key of the packet and the arrival time Tonow of the packet are entered in Tlast_i in the flow management table 121 (FIG. 5, S3). If it is a packet from an existing flow (FIG. 5, S2, yes), Tlast_i in the flow management table is read and updated to the arrival time of the packet (FIG. 5, S5). If the packet is TCP and the flag is set in FIN or RST (FIG. 5, S4), the entry is deleted from the flow management table (FIG. 5, S6).

一方、フロー管理部120は、上記のフロー管理テーブル121にエントリされているフローを一定周期τ毎にチェックする(図5、S7)。その際、現在の時刻とTlast_iを比較し(図5、S8)、その差が予め定めたタイマーの値inactive_timerよりも大きければ(図5、S8,yes)、フロー管理テーブルから削除する(図5、S9)。   On the other hand, the flow management unit 120 checks the flows entered in the flow management table 121 at regular intervals τ (FIG. 5, S7). At that time, the current time is compared with Tlast_i (FIG. 5, S8), and if the difference is larger than a predetermined timer value inactive_timer (FIG. 5, S8, yes), it is deleted from the flow management table (FIG. 5). , S9).

フロー数集計部130は、一定周期τ毎に、フロー管理テーブルを参照し、現時点tにおいて、{srcIP#i, dstIP#j}のペア毎にフロー管理テーブル121にエントリされているフロー数をカウントし、それをN(t,i,j)とする(図5、S10)。その値を,アドレス・ポート数推定部140に通知する。   The flow count totaling unit 130 refers to the flow management table for every fixed period τ, and counts the number of flows entered in the flow management table 121 for each pair of {srcIP # i, dstIP # j} at the current time t. And N (t, i, j) (FIG. 5, S10). The value is notified to the address / port number estimation unit 140.

アドレス・ポート数推定部140は、時点tに内部ホストiに割り当てが必要な{グローバルIPv4アドレス,ポート番号}の数として、Nmax(t,i)=maxj N(t,i,j)を計算する。Nmax(t,i)の値をメモリ(図示せず)に蓄積していき、パケット測定を開始した時刻からinactive timer時間経過後の時刻をt=1番目の時刻として、t=M番目(Mはあらかじめ定める測定回数)までのデータがメモリ(図示せず)に蓄積されたら、 N*(i)=F_t,x(Nmax(t,i))を、ホストiに必要な{グローバルIPv4アドレス,ポート番号}とする。なお、関数F_t,x()は、tに関して、上位xパーセント値を返す関数とし、xは予め定めるパラメータ(例えばx=1パーセント)とする。次に、N*(i)を降順にソートし、予め定めたyに関して上位yパーセント番目(例えばy=1パーセント)のi_yに対するN*(i_y)を求め、それを各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する。 The address / port number estimation unit 140 sets Nmax (t, i) = max j N (t, i, j) as the number of {global IPv4 address, port number} that needs to be assigned to the internal host i at time t. calculate. The value of Nmax (t, i) is accumulated in a memory (not shown), and the time after the inactive timer time elapses from the time when packet measurement is started is defined as t = 1st time, t = Mth (M Is stored in the memory (not shown) until N * (i) = F_t, x (Nmax (t, i)) is set for the host i {global IPv4 address, Port number}. The function F_t, x () is a function that returns an upper x percent value with respect to t, and x is a predetermined parameter (for example, x = 1 percent). Next, N * (i) is sorted in descending order, and N * (i_y) is calculated for the top y percent-th i_y with respect to a predetermined y (for example, y = 1%), and it is necessary to assign it to each host. Calculated as {global IPv4 address, port number}.

[第2の実施例]
本実施例は、前述の第4の実施の形態の方法に対応する、アドレス・ポート数推定部140の動作を示す。
[Second Embodiment]
This example shows the operation of the address / port number estimation unit 140 corresponding to the method of the fourth embodiment described above.

アドレス・ポート数推定部140は、時点tにおける通信中のフロー総数をNtotal(t)=Σi Nmax(t,i)とし、
Ntotal*=F_t,x(Ntotal(t))
を計算し、その値を該パケットトレースを実施した測定点において多重されているホスト数Yと、NATを用いて収容したいホスト数Zを用いて、
Z/Y×Ntotal*
を計算し、その値をNATを用いて収容したいホスト数Z全体に対して必要となる{グローバルIPv4アドレス,ポート番号}数として算出する。
The address / port number estimation unit 140 sets Ntotal (t) = Σ i Nmax (t, i) as the total number of flows in communication at time t,
Ntotal * = F_t, x (Ntotal (t))
Using the number of hosts Y multiplexed at the measurement point where the packet trace was performed and the number of hosts Z to be accommodated using NAT,
Z / Y × Ntotal *
And the value is calculated as the number of {global IPv4 address, port number} required for the entire number of hosts Z to be accommodated using NAT.

アドレス・ポート数推定部140以外の動作は、前述の第1の実施例と同様であるのでその説明は省略する。   Since the operations other than the address / port number estimation unit 140 are the same as those in the first embodiment, description thereof will be omitted.

[第3の実施例]
本実施例では、前述の第5の実施の形態の方法に対応する、フロー数集計部130、アドレス・ポート数推定部140の動作を示す。
[Third embodiment]
In this example, the operations of the flow number totaling unit 130 and the address / port number estimating unit 140 corresponding to the method of the fifth embodiment described above are shown.

フロー数集計部130は、各外部のホストdstIP#jに対して、時点tでのフロー数Nd(t,j)をカウントし、アドレス・ポート数推定部に出力する。   The number-of-flows counting unit 130 counts the number of flows Nd (t, j) at the time t for each external host dstIP # j and outputs it to the address / port number estimation unit.

アドレス・ポート数推定部140は、時点tにおける通信中のフロー数の最大値
Ndmax(t)=max j Nd(t,j)
を求め、
Ndmax*=F_t,x(Ndmax(t))
を計算し、その値を該パケットトレースを実施した測定点において多重されているホスト数Yに対して、NATを用いて収容する際に必要となる{グローバルIPv4アドレス,ポート番号}数として算出する。
The address / port number estimation unit 140 calculates the maximum number of flows in communication at time t.
Ndmax (t) = max j Nd (t, j)
Seeking
Ndmax * = F_t, x (Ndmax (t))
And the value is calculated as the number of {global IPv4 address, port number} required when accommodating using NAT with respect to the number of hosts Y multiplexed at the measurement point where the packet trace is performed. .

フロー数集計部130、アドレス・ポート数推定部140以外の動作は、前述の第1の実施例と同様であるのでその説明は省略する。   Since the operations other than the flow number totalization unit 130 and the address / port number estimation unit 140 are the same as those in the first embodiment, description thereof will be omitted.

[第4の実施例]
図6は、本発明の第4の実施例のアドレス・ポート数推定装置の構成を示す。
[Fourth embodiment]
FIG. 6 shows the configuration of an address / port number estimation apparatus according to the fourth embodiment of the present invention.

同図に示す構成は、図4の構成に、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価するための評価部150を付加したものである。   The configuration shown in FIG. 4 is obtained by adding an evaluation unit 150 to the configuration of FIG. 4 for evaluating the effectiveness of a system that uses the address of a network external host as an identifier by comparing the two.

アドレス・ポート数推定部140は、通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の比較をする方法として、時点tにおいて通信中のフロー数をN(t,i,j)としたとき、時点tにおける通信中のフロー数の最大値をNmax(t,i)=Σj N(t,i,j)として、それを入力として第1の実施例と同様の手順でN*(i_y)を求め、該N*(i_y)をネットワーク外部ホストのアドレスを識別子として利用しない方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出し、評価部150に出力する。また、一方で、Nmax(t,i)=maxj N(t,i,j)を入力として第1の実施例の手順でN*(i_y)を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出し、評価部150に出力する。 The address / port number estimation unit 140 compares the number of flows in communication at time t as N (t, i , j), the maximum value of the number of flows in communication at time t is Nmax (t, i) = Σ j N (t, i, j), which is the same as in the first embodiment. N * (i_y) is calculated in the procedure, and N * (i_y) is calculated as the number of {global IPv4 address, port number} that needs to be assigned to each host in a method that does not use the address of the network external host as an identifier. Output to the unit 150. On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input, and the value calculated for N * (i_y) in the procedure of the first embodiment is used as the identifier of the network external host address. Is calculated as the number of {global IPv4 address, port number} that needs to be allocated to each host in the system used as

評価部150は、アドレス・ポート数推定部140から入力されたネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の双方の{グローバルIPv4アドレス,ポート番号}数を取得して、有効性の評価を行う。具体例として,ネットワーク外部ホストのアドレスを識別子として利用する方式における{グローバルIPv4アドレス,ポート番号}として算出された値Aと、ネットワーク外部ホストのアドレスを識別子として利用しない方式における{グローバルIPv4アドレス,ポート番号}として算出された値Bを用いて、(B-A)÷Aを、外部ホストのアドレスを識別子として利用することによるアドレス・ポート数削減度として算出する。   The evaluation unit 150 acquires the number of {global IPv4 address, port number} for both the method using the address of the network external host input from the address / port number estimation unit 140 as the identifier and the method not using the identifier. Perform an evaluation. As a specific example, the value A calculated as {global IPv4 address, port number} in the method using the address of the network external host as an identifier and the {global IPv4 address, port in the method not using the address of the network external host as an identifier (BA) / A is calculated as the degree of reduction in the number of addresses / ports by using the address of the external host as an identifier, using the value B calculated as the number}.

アドレス・ポート数推定部140、評価部150以外の動作は、前述の第1の実施例と同様であるのでその説明は省略する。   Since the operations other than the address / port number estimation unit 140 and the evaluation unit 150 are the same as those in the first embodiment, description thereof will be omitted.

[第5の実施例]
本実施例では、前述の第7の実施の形態に対応する例を示す。
[Fifth embodiment]
In this example, an example corresponding to the seventh embodiment will be described.

通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の比較をする方法として、Nmax(t,i)=Σj N(t,i,j)として、それをアドレス・ポート数推定部140の入力として第2の実施例と同様の手順でNtotal*を求め、該Ntotal*をネットワーク外部ホストのアドレスを識別子として利用しない方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出し、評価部150に出力する。一方で、Nmax(t,i)=maxj N(t,i,j)を入力として第2の実施例の手順でNtotal*を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出し、評価部150に出力する。 Nmax (t, i) = Σ j N (t, i, j) is used as a method to compare the method that uses the address of the network external host that is the communication partner as an identifier and the method that does not use it as an identifier. The number of {global IPv4 address, port number} required in a method in which Ntotal * is obtained as an input to the port number estimation unit 140 in the same procedure as in the second embodiment, and the Ntotal * is not used as an identifier of the network external host address And output to the evaluation unit 150. On the other hand, in a method of using Nmax (t, i) = max j N (t, i, j) as an input and calculating the value of Ntotal * in the procedure of the second embodiment using the address of the network external host as an identifier The number of necessary {global IPv4 address, port number} is calculated and output to the evaluation unit 150.

評価部150は、ネットワーク外部のホストアドレスを識別子として利用する方式、及び、利用しない方式の両方の{グローバルIPv4アドレス,ポート番号}数を評価する。具体例として,ネットワーク外部ホストのアドレスを識別子として利用する方式における{グローバルIPv4アドレス,ポート番号}として算出された値Aと、ネットワーク外部ホストのアドレスを識別子として利用しない方式における{グローバルIPv4アドレス,ポート番号}として算出された値Bを用いて、(B-A)÷Aを、外部ホストのアドレスを識別子として利用することによるアドレス・ポート数削減度として算出する。   The evaluation unit 150 evaluates the number of {global IPv4 address, port number} in both the method using the host address outside the network as an identifier and the method not using it. As a specific example, the value A calculated as {global IPv4 address, port number} in the method using the address of the network external host as an identifier and the {global IPv4 address, port in the method not using the address of the network external host as an identifier (BA) / A is calculated as the degree of reduction in the number of addresses / ports by using the address of the external host as an identifier, using the value B calculated as the number}.

アドレス・ポート数推定部140以外の動作は、前述の第1の実施例と同様であるのでその説明は省略する。   Since the operations other than the address / port number estimation unit 140 are the same as those in the first embodiment, description thereof will be omitted.

[第6の実施例]
前述の第1の実施例では、フロー管理部120において、一定周期τ毎にフロー管理テーブル121からフローの削除を行っていたが、以下の手順でN(t,i,j)を求めてもよい。
[Sixth embodiment]
In the first embodiment described above, the flow management unit 120 deletes a flow from the flow management table 121 at regular intervals τ. However, even if N (t, i, j) is obtained by the following procedure. Good.

フロー管理部120では、フロー管理テーブル121に、フローキーiおよび最初のパケットが到着した時刻Tfirst_i、最後のパケットが到着した時刻Tlast_iを記憶している。   In the flow management unit 120, the flow management table 121 stores the flow key i, the time Tfirst_i when the first packet arrives, and the time Tlast_i when the last packet arrives.

フロー管理部120は、パケットが到着したら、フロー管理テーブル121を参照して、既にエントリ済みのフローか否かをチェックし、未エントリフローであれば、そのパケットの到着時刻Tnowを、Tfirst_iおよびTlast_iにセットする。エントリ済みフローで、Tlast_i+inactive timer<Tnowであれば、Tlast_i←Tlast_i+inactive timerにセットした後、そのフローの情報を予め用意したフロー情報出力ファイル(図示せず)へ追記出力する。そうでなければ、Tlast_i←Tnowと更新してフロー管理テーブル121へ保持しておく。   When the packet arrives, the flow management unit 120 refers to the flow management table 121 to check whether the flow has already been entered. If the flow has not been entered, the flow management unit 120 sets the arrival time Tonow of the packet as Tfirst_i and Tlast_i. Set to. If Tlast_i + inactive timer <Tnow in the entered flow, after setting Tlast_i ← Tlast_i + inactive timer, the flow information is additionally output to a flow information output file (not shown) prepared in advance. Otherwise, Tlast_i ← Tnow is updated and stored in the flow management table 121.

なお、到着パケットがTCPかつFINまたはRSTフラグが立っていたら、Tlast_i←Tnowにセットした後、そのフローの情報をフロー情報出力ファイル(図示せず)へ追記出力する。   If the arrival packet is TCP and the FIN or RST flag is set, Tlast_i ← Tnow is set, and then the flow information is additionally output to a flow information output file (not shown).

以上を一定期間実施した後、フロー管理テーブル121に残っているフローについては、Tlast_i←Tnowにセットした後、そのフローの情報をフロー情報出力ファイル(図示せず)へ追記出力する。   After performing the above for a certain period, the flow remaining in the flow management table 121 is set to Tlast_i ← Tnow, and then the flow information is additionally output to a flow information output file (not shown).

フロー数集計部130は、以上の手順で作成されたフロー情報出力ファイルを用いて、{srcIP#i, dstIP#j}のペア毎に、時点tにおいて通信中のフロー(つまりTfirst_i<t<Tlast_iを満たすフロー)の数をカウントし、それをN(t,i,j)とする。   The flow count totaling unit 130 uses the flow information output file created in the above-described procedure, for each pair of {srcIP # i, dstIP # j}, a flow in communication at time t (that is, Tfirst_i <t <Tlast_i Counts the number of flows that satisfy (N) (t, i, j).

以降の処理は、第1の実施例と同様であるので、その説明を省略する。   Since the subsequent processing is the same as that of the first embodiment, the description thereof is omitted.

上記の実施の形態及び実施例で説明したように、本発明によれば、ネットワーク外部ホストのアドレス情報を利用したLSNを考えた際に、パケットトレースデータを用いて、LSNで必要なグローバルIPv4アドレス数を推定する方法およびその装置を提供することにある。   As described in the above embodiments and examples, according to the present invention, when considering an LSN using address information of a network external host, a global IPv4 address necessary for the LSN is obtained using packet trace data. To provide a method and apparatus for estimating a number.

あるインターネットアクセストラヒックデータ1時間分に対して、本実施例4を適用したところ、x=1/360000×100パーセント、y=1パーセント、inactive timer=15秒に設定し、1msの周期でフロー数をカウントしたときに、1ホスト当りに割当が必要な{グローバルIPv4アドレス,ポート番号}数を推定したところ、ネットワーク外部ホストのアドレスを用いない場合に比べて、用いた場合には、必要なアドレス,ポート数は35.5%削減可能であることが確認できている。参考として、外部ホストアドレスを用いた場合と用いなかった場合の、ホスト当りの必要なアドレス・ポート数の分布を図7に示す。X軸が必要なアドレス,ポート数で、Y軸が必要なアドレス,ポート数がx以上であるホストの割合を示している。なお、この図の、外部アドレス利用あり、なしの曲線がY=0.01と交差するときのXの値が、アドレス利用あり、なしのときに必要なアドレス・ポート数を意味する.それらをそれぞれA,Bとすると、(B-A)÷A=0.355となり、アドレス・ポート数削減度として算出される。   When this example 4 is applied to one hour of internet access traffic data, x = 1/360000 × 100%, y = 1%, inactive timer = 15 seconds, and the number of flows in 1ms cycle When the number of {global IPv4 address, port number} that needs to be allocated per host is estimated, the required address is used when compared to the case where the address of the network external host is not used. , It has been confirmed that the number of ports can be reduced by 35.5%. As a reference, FIG. 7 shows the distribution of the required number of addresses and ports per host when an external host address is used and when it is not used. Shows the percentage of hosts where the X-axis requires addresses and the number of ports and the Y-axis requires addresses and the number of ports is x or more. In this figure, the value of X when the curve with and without external address intersects Y = 0.01 means the number of addresses and ports required when address is used and not. Assuming that these are A and B, respectively, (B−A) ÷ A = 0.355, which is calculated as the reduction degree of the number of addresses and ports.

以上説明したように、本発明によれば、ネットワーク外部ホストのアドレス情報を利用したLSNを考えた際に、パケットトレースデータを用いて、LSNで必要なグローバルIPv4アドレス数を推定する方法およびその装置を提供することにある。   As described above, according to the present invention, when considering an LSN using address information of a network external host, a method and apparatus for estimating the number of global IPv4 addresses required in the LSN using packet trace data Is to provide.

なお、図4、図6に示すアドレス・ポート数推定装置の各構成要素の動作をプログラムとして構築し、アドレス・ポート数推定装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。   The operation of each component of the address / port number estimation apparatus shown in FIGS. 4 and 6 is constructed as a program and installed in a computer used as the address / port number estimation apparatus to be executed, or via a network. Can be distributed.

また、構築されたプログラムをハードディスク、フレキシブルディスク、CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。   Further, the constructed program can be stored in a portable storage medium such as a hard disk, a flexible disk, or a CD-ROM, and can be installed or distributed in a computer.

本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments and examples, and various modifications and applications can be made within the scope of the claims.

100 アドレス・ポート数推定装置
110 パケットヘッダ解析部
120 フロー管理部
121 フロー管理テーブル
130 フロー数集計部
140 アドレス・ポート数推定部
150 評価部
100 Address / Port Number Estimation Device 110 Packet Header Analysis Unit 120 Flow Management Unit 121 Flow Management Table 130 Flow Number Counting Unit 140 Address / Port Number Estimation Unit 150 Evaluation Unit

Claims (15)

NAT(Network Address Translation)を用いて、ISPが自身のネットワーク内部のホストに、プライベートアドレスのような内部ネットワーク用の独自アドレスを付与し、ネットワーク内部のホストが、ネットワーク外部の(つまりインターネット上の)ホストと通信するときに、ネットワークの出口に設置されたNATにおいて、ネットワーク内部の独自アドレスを、そのときに空いているグローバルIPv4アドレスへ変換することによって、数少ないグローバルIPv4アドレスを有効活用してインターネットアクセスを提供する通信ネットワークにおいて、
前記ネットワーク内部ホストが同時に複数のネットワーク外部ホストと通信する際に、(通常のNATでは、各通信に異なる{グローバルIPv4アドレス,ポート番号}を付与していたのに対して)通信相手の外部ネットワークホストのグローバルIPv4アドレスを識別子として利用することで、該ネットワーク内部ホストに同一の{グローバルIPv4アドレス,ポート番号}を付与する方式を利用した場合に、必要となる{グローバルIPv4アドレス,ポート番号}の数を、パケットトレースデータを用いて推定する装置におけるアドレス・ポート数推定方法であって、
現在は該ISPはネットワーク内部ホストにグローバルIPv4アドレスを用いて通信サービスを提供しているとき、
パケットヘッダ解析手段が、前記ネットワークからインターネットへ向かうパケットをキャプチャし、フローキー {srcIP,dstIP,srcPort,dstPort,Protocol}の5つ組みを同じくするパケット群をフローとして抽出し、フロー記憶手段に格納するパケットヘッダ解析ステップと、
フロー数集計手段が、各{srcIP#i,dstIP#j}ペアにおいて、時点tにおいて通信中のフロー数をN(t,i,j)と定義し、前記フロー記憶手段に格納されているパケットトレースデータからN(t,i,j)をカウントするフロー集計ステップと、
アドレス,ポート数推定手段が、仮に、当該ISPがNATを用いてインターネットアクセスを提供する際に、NATにおいて必要となる{グローバルIPv4アドレス,ポート番号}の数として、Nmax(t,i)=maxj N(t,i,j)を時点tに内部ホストiに割り当てが必要な{グローバルIPv4アドレス,ポート番号}を算出するアドレス,ポート数推定ステップと、
を行うことを特徴とするNATにおけるアドレス・ポート数推定方法。
Using NAT (Network Address Translation), an ISP gives a host inside its network a unique address for the internal network, such as a private address, and the host inside the network is outside the network (that is, on the Internet). When communicating with a host, the NAT installed at the exit of the network converts the unique address inside the network into a global IPv4 address that is free at that time, thereby effectively using the few global IPv4 addresses to access the Internet. In a communication network that provides
When the network internal host communicates with multiple network external hosts at the same time (in contrast to normal NAT, each communication has a different {global IPv4 address, port number}), the external network of the communication partner By using the global IPv4 address of the host as an identifier and using the same {global IPv4 address, port number} method for the host inside the network, the required {global IPv4 address, port number} A method for estimating the number of addresses and ports in an apparatus for estimating a number using packet trace data,
Currently, when the ISP provides a communication service using a global IPv4 address to a network internal host,
The packet header analysis means captures the packet going from the network to the Internet, extracts a group of packets having the same flow key {srcIP, dstIP, srcPort, dstPort, Protocol} as a flow, and stores it in the flow storage means. Packet header analysis step to perform,
The flow count counting means defines the number of flows in communication at each time point t in the {srcIP # i, dstIP # j} pair as N (t, i, j), and the packet stored in the flow storage means A flow aggregation step for counting N (t, i, j) from the trace data;
Assuming that the address / port number estimation means provides the Internet access by using the NAT, the number of {global IPv4 address, port number} required for NAT is Nmax (t, i) = max j N (t, i, j) is an address and port number estimation step for calculating {global IPv4 address, port number} that need to be assigned to internal host i at time t;
A method for estimating the number of addresses and ports in NAT, characterized by:
フロー管理手段が、前記フロー記憶手段に、前記パケットヘッダ解析ステップで抽出されたフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}と最後にパケットが到着した時刻Tlast_iの2つを記憶し、
前記パケットトレースデータの時刻の先頭パケットを前記フロー記憶手段から読み出し、該パケットのフローキーi={srcIP#i,dstIP#i,srcPort#i,dstPort#i,Protocol#i}が、該フロー記憶手段に既に登録されているかチェックし、新規であれば、該フロー記憶手段に該パケットのフローキーと、該パケットの到着時刻をTlast_iに登録し、既に登録されている場合は、Tlast_iを該パケットの到着時刻に更新し、該パケットがTCPかつFINまたはRSTにフラグが立っていたら、該フロー記憶手段から当該エントリを削除し、
さらに、前記フロー記憶手段に登録されているフローを一定周期τ毎にチェックし、現在の時刻と前記Tlast_iを比較し、その差が予め定めたタイマーの値よりも大きければ、当該具合エントリを該フロー記憶手段から削除し、
前記フロー集計ステップにおいて、
時点tにおいてペア{srcIP#i,dstIP#j}に関して前記フロー記憶手段にエントリされているフロー数をカウントし、それをN(t,i,j)とする
請求項1記載のNATにおけるアドレス・ポート数推定方法。
The flow management means stores in the flow storage means the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} extracted in the packet header analysis step and finally the packet. Memorize two arrival times Tlast_i,
The first packet at the time of the packet trace data is read from the flow storage means, and the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} of the packet is stored in the flow storage. If it is new, the flow key of the packet and the arrival time of the packet are registered in Tlast_i. If it is new, Tlast_i is registered in the packet. If the packet is TCP and FIN or RST is flagged, delete the entry from the flow storage means,
Further, the flow registered in the flow storage means is checked at a constant period τ, the current time is compared with the Tlast_i, and if the difference is greater than a predetermined timer value, the condition entry is Delete it from the flow storage means,
In the flow aggregation step,
The address number in NAT according to claim 1, wherein the number of flows entered in the flow storage means for the pair {srcIP # i, dstIP # j} at the time t is counted, and is defined as N (t, i, j). Port number estimation method.
前記フロー数集計ステップにおいて、
予め定めた一定周期τ毎にt番目の時点(1≦t≦M、Mは測定回数、ただしt=1は、パケットトレースを開始した時刻からinactive timer時間経過後の時刻に設定)におけるフロー数Nmax(t,i)を求めておき、
前記アドレス・ポート数推定ステップにおいて、
N*(i)=F_t,x(Nmax(t,i))を、前記内部ホストiに必要な{グローバルIPv4アドレス,ポート番号}(但し、関数F_t、x()は、tに関して、上位xパーセント値を返す関数とし、xは予め定めるパラメータ(例えばx=1パーセント))とし、
前記N*(i)を降順にソートし、予め定めたyに関して上位yパーセント番目(例えばy=1パーセント)のi_yに対するN*(i_y)を求め、それを、各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する
請求項1記載のNATにおけるアドレス・ポート数推定方法。
In the flow number counting step,
Number of flows at the t-th time point (1 ≦ t ≦ M, M is the number of measurements, where t = 1 is set to the time after the inactive timer time elapses from the time when packet tracing is started) for each predetermined period τ Find Nmax (t, i)
In the address / port number estimation step,
N * (i) = F_t, x (Nmax (t, i)) is a {global IPv4 address, port number} required for the internal host i (provided that the functions F_t, x () A function that returns a percentage value, where x is a predetermined parameter (eg, x = 1 percent)
The N * (i) is sorted in descending order, and N * (i_y) for the top y percent-th (for example, y = 1%) i_y with respect to a predetermined y is obtained and assigned to each host { 2. The method for estimating the number of addresses and ports in NAT according to claim 1, wherein the number is calculated as the number of global IPv4 address, port number}.
前記アドレス・ポート数推定ステップにおいて、
時点tにおける通信中のフロー総数Ntotal(t)=Σi Nmax(t,i)とし、Ntotal*=F_t、x(Ntotal(t))を計算し、その値を該パケットトレースを実施した測定点において多重されているホスト数Yと、NATを用いて収容したいホスト数Zを用いて、Z/Y×Ntotal*を計算し、その値を、NATを用いて収容したいホスト数Z全体に対して必要となる{グローバルIPv4アドレス,ポート番号}数として算出する
請求項1記載のNATにおけるアドレス・ポート数推定方法。
In the address / port number estimation step,
The total number of flows in communication at time t Ntotal (t) = Σ i Nmax (t, i), Ntotal * = F_t, x (Ntotal (t)) is calculated, and the value is the measurement point where the packet trace was performed Calculate Z / Y x Ntotal * using the number of hosts Y multiplexed in Z and the number of hosts Z that you want to accommodate using NAT, and calculate that value for the total number of hosts Z that you want to accommodate using NAT. The method for estimating the number of addresses and ports in NAT according to claim 1, wherein the number is calculated as the number of {global IPv4 address, port number} required.
前記フロー数集計ステップにおいて、
各dstIP#jに対して、時点tでのフロー数Nd(t,j)をカウントし、
前記アドレス・ポート数推定ステップにおいて、
Ndmax(t)=max j Nd(t、j)を求め、Ndmax*=F_t,x(Ndmax(t))を計算し、その値を前記パケット解析ステップで該パケットトレースを実施した測定点において多重されているホスト数Yに対して、NATを用いて収容する際に必要となる{グローバルIPv4アドレス,ポート番号}数として算出する
請求項1記載のNATにおけるアドレス・ポート数推定方法。
In the flow number counting step,
For each dstIP # j, count the number of flows Nd (t, j) at time t,
In the address / port number estimation step,
Ndmax (t) = max j Nd (t, j) is calculated, Ndmax * = F_t, x (Ndmax (t)) is calculated, and the value is multiplexed at the measurement point where the packet trace is performed in the packet analysis step. The method for estimating the number of addresses and ports in NAT according to claim 1, wherein the number of hosts Y is calculated as the number of {global IPv4 address, port number} required when accommodating using NAT.
通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の比較をする方法として、
前記アドレス・ポート数推定ステップにおいて、
前記フロー数集計ステップで求められたフロー数Nmax(t,i)=Σj N(t,i,j)を入力として、前記N*(i_y)を求め、該N*(i_y)をネットワーク外部ホストのアドレスを識別子として利用しない方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
一方で、Nmax(t、i)=maxj N(t,i,j)を入力として前記N*(i_y)を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
評価手段が、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する評価ステップを行う
請求項3記載のNATにおけるアドレス・ポート数推定方法。
As a method of comparing the method that uses the address of the network external host that is the communication partner as an identifier and the method that does not use it as an identifier,
In the address / port number estimation step,
Using the flow number Nmax (t, i) = Σ j N (t, i, j) obtained in the flow number aggregation step as an input, the N * (i_y) is obtained, and the N * (i_y) is obtained outside the network. Calculate as the number of {global IPv4 address, port number} that needs to be assigned to each host in a method that does not use the host address as an identifier,
On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input and the value calculated for N * (i_y) is assigned to each host in the system using the address of the network external host as an identifier. Is calculated as the number of {global IPv4 address, port number} required
4. The method for estimating the number of addresses and ports in NAT according to claim 3, wherein the evaluation means performs an evaluation step of evaluating the effectiveness of a method of using the address of a network external host as an identifier by comparing the two.
通信相手である、ネットワーク外部ホストのアドレスを識別子として利用する方式と利用しない方式の比較をする方法として、
前記アドレス,ポート数推定ステップにおいて、
前記Nmax(t,i)=Σj N(t,i,j)を入力として前記Ntotal*を求め、該Ntotal*をネットワーク外部ホストのアドレスを識別子として利用しない方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
一方で、Nmax(t,i)=maxj N(t,i,j)を入力として前記Ntotal*を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出し、
評価手段が、両者を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する評価ステップを行う
請求項4記載のNATにおけるアドレス・ポート数推定方法。
As a method of comparing the method that uses the address of the network external host that is the communication partner as an identifier and the method that does not use it as an identifier,
In the address and port number estimation step,
The Nmax (t, i) = Σ j N (t, i, j) is used as an input to determine the Ntotal *, and the Ntotal * is required in a scheme that does not use the address of a network external host as an identifier {global IPv4 address, Port number} as a number,
On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input to calculate the value of Ntotal *, which is necessary in a scheme that uses the address of a network external host as an identifier {global IPv4 address, Port number} as a number,
5. The method for estimating the number of addresses and ports in NAT according to claim 4, wherein the evaluation means performs an evaluation step of evaluating the effectiveness of a method of using an address of a network external host as an identifier by comparing the two.
NAT(Network Address Translation)を用いて、ISPが自身のネットワーク内部のホストに、プライベートアドレスのような内部ネットワーク用の独自アドレスを付与し、ネットワーク内部のホストが、ネットワーク外部の(つまりインターネット上の)ホストと通信するときに、ネットワークの出口に設置されたNATにおいて、ネットワーク内部の独自アドレスを、そのときに空いているグローバルIPv4アドレスへ変換することによって、数少ないグローバルIPv4アドレスを有効活用してインターネットアクセスを提供する通信ネットワークにおいて、
前記ネットワーク内部ホストが同時に複数のネットワーク外部ホストと通信する際に、(通常のNATでは、各通信に異なる{グローバルIPv4アドレス,ポート番号}を付与していたのに対して)通信相手の外部ネットワークホストのグローバルIPv4アドレスを識別子として利用することで、該ネットワーク内部ホストに同一の{グローバルIPv4アドレス,ポート番号}を付与する方式を利用した場合に、必要となる{グローバルIPv4アドレス,ポート番号}の数を、パケットトレースデータを用いて推定するアドレス・ポート数推定装置であって、
現在は該ISPはネットワーク内部ホストにグローバルIPv4アドレスを用いて通信サービスを提供しているとき、
前記ネットワークからインターネットへ向かうパケットをキャプチャし、フローキー {srcIP,dstIP,srcPort,dstPort,Protocol}の5つ組みを同じくするパケット群をフローとして抽出し、フロー記憶手段に格納するパケットヘッダ解析手段と、
各{srcIP#i,dstIP#j}ペアにおいて、時点tにおいて通信中のフロー数をN(t,i,j)と定義し、前記フロー記憶手段に格納されているパケットトレースデータからN(t,i,j)をカウントするフロー集計手段と、
仮に、当該ISPがNATを用いてインターネットアクセスを提供する際に、NATにおいて必要となる{グローバルIPv4アドレス,ポート番号}の数として、Nmax(t,i)=maxj N(t,i,j)を時点tに内部ホストiに割り当てが必要な{グローバルIPv4アドレス,ポート番号}を算出するアドレス・ポート数推定手段と、
を有することを特徴とするNATにおけるアドレス・ポート数推定装置。
Using NAT (Network Address Translation), an ISP gives a host inside its network a unique address for the internal network, such as a private address, and the host inside the network is outside the network (that is, on the Internet). When communicating with a host, the NAT installed at the exit of the network converts the unique address inside the network into a global IPv4 address that is free at that time, thereby effectively using the few global IPv4 addresses to access the Internet. In a communication network that provides
When the network internal host communicates with multiple network external hosts at the same time (in contrast to normal NAT, each communication has a different {global IPv4 address, port number}), the external network of the communication partner By using the global IPv4 address of the host as an identifier and using the same {global IPv4 address, port number} method for the host inside the network, the required {global IPv4 address, port number} An address / port number estimation device for estimating the number using packet trace data,
Currently, when the ISP provides a communication service using a global IPv4 address to a network internal host,
A packet header analyzing unit that captures a packet from the network to the Internet, extracts a packet group having the same flow key {srcIP, dstIP, srcPort, dstPort, Protocol} as a flow, and stores the packet group in a flow storage unit; ,
In each {srcIP # i, dstIP # j} pair, the number of flows in communication at the time t is defined as N (t, i, j), and the packet trace data stored in the flow storage means N (t , I, j), a flow counting means for counting,
Assuming that the ISP provides Internet access using NAT, the number of {global IPv4 address, port number} required for NAT is Nmax (t, i) = max j N (t, i, j ) At time t, the address / port number estimation means for calculating {global IPv4 address, port number} that needs to be assigned to the internal host i,
An apparatus for estimating the number of addresses and ports in NAT, characterized by comprising:
前記パケットヘッダ解析ステップで抽出されたフローキーi={srcIP#i、dstIP#i、srcPort#i、dstPort#i、Protocol#i}と最後にパケットが到着した時刻Tlast_iの2つを前記フロー記憶手段に格納する手段と、
前記パケットトレースデータの時刻の先頭パケットを前記フロー記憶手段から読み出し、該パケットのフローキーi={srcIP#i、dstIP#i、srcPort#i、dstPort#i、Protocol#i}が、該フロー記憶手段に既に登録されているかチェックし、新規であれば、該フロー記憶手段に該パケットのフローキーと、該パケットの到着時刻をTlast_iに登録し、既に登録されている場合は、Tlast_iを該パケットの到着時刻に更新し、該パケットがTCPかつFINまたはRSTにフラグが立っていたら、該フロー記憶手段から当該エントリを削除する手段と、
前記フロー記憶手段に登録されているフローを一定周期τ毎にチェックし、現在の時刻と前記Tlast_iを比較し、その差が予め定めたタイマーの値よりも大きければ、当該具合エントリを該フロー記憶手段から削除する手段と、
を有するフロー管理手段を更に有し、
前記フロー集計手段は、
時点tにおいてペア{srcIP#i、dstIP#j}に関して前記フロー記憶手段にエントリされているフロー数をカウントし、それをN(t、i、j)とする手段を含む
請求項8記載のNATにおけるアドレス・ポート数推定装置。
The flow memory stores the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} extracted at the packet header analysis step and the last time the packet arrived Tlast_i. Means for storing in the means;
The first packet at the time of the packet trace data is read from the flow storage means, and the flow key i = {srcIP # i, dstIP # i, srcPort # i, dstPort # i, Protocol # i} of the packet is stored in the flow storage. If it is new, the flow key of the packet and the arrival time of the packet are registered in Tlast_i. If it is new, Tlast_i is registered in the packet. And when the packet is TCP and FIN or RST is flagged, means for deleting the entry from the flow storage means;
The flow registered in the flow storage means is checked at regular intervals τ, the current time is compared with the Tlast_i, and if the difference is greater than a predetermined timer value, the condition entry is stored in the flow storage. Means for deleting from the means;
A flow management means having
The flow aggregation means includes
The NAT according to claim 8, further comprising means for counting the number of flows entered in the flow storage means for the pair {srcIP # i, dstIP # j} at time t and setting it as N (t, i, j). For estimating the number of addresses and ports.
前記フロー数集計手段は、
予め定めた一定周期τ毎にt番目の時点(1≦t≦M、Mは測定回数、ただしt=1は、パケットトレースを開始した時刻からinactive timer時間経過後の時刻に設定)におけるフロー数Nmax(t,i)を求める手段を含み、
前記アドレス・ポート数推定手段は、
N*(i)=F_t,x(Nmax(t,i))を、前記内部ホストiに必要な{グローバルIPv4アドレス,ポート番号}(但し、関数F_t、x()は、tに関して、上位xパーセント値を返す関数とし、xは予め定めるパラメータ(例えばx=1パーセント))とし、該N*(i)を降順にソートし、予め定めたyに関して上位yパーセント番目(例えばy=1パーセント)のi_yに対するN*(i_y)を求め、それを、各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する手段を含む
請求項8記載のNATにおけるアドレス・ポート数推定装置。
The flow number counting means includes:
Number of flows at the t-th time point (1 ≦ t ≦ M, M is the number of measurements, where t = 1 is set to the time after the inactive timer time elapses from the time when packet tracing is started) for each predetermined period τ Including means for determining Nmax (t, i);
The address / port number estimating means includes:
N * (i) = F_t, x (Nmax (t, i)) is a {global IPv4 address, port number} required for the internal host i (provided that the functions F_t, x () A function that returns a percentage value, where x is a predetermined parameter (eg, x = 1 percent), and the N * (i) is sorted in descending order, and the top y percent of the predetermined y (eg, y = 1 percent) The address / port number estimation apparatus in NAT according to claim 8, further comprising means for calculating N * (i_y) for i_y and calculating it as a {global IPv4 address, port number} number that needs to be assigned to each host.
前記アドレス・ポート数推定手段は、
時点tにおける通信中のフロー総数Ntotal(t)=Σi Nmax(t,i)とし、Ntotal*=F_t、x(Ntotal(t))を計算し、その値を該パケットトレースを実施した測定点において多重されているホスト数Yと、NATを用いて収容したいホスト数Zを用いて、Z/Y×Ntotal*を計算し、その値を、NATを用いて収容したいホスト数Z全体に対して必要となる{グローバルIPv4アドレス,ポート番号}数として算出する手段を含む
請求項8記載のNATにおけるアドレス・ポート数推定装置。
The address / port number estimating means includes:
The total number of flows in communication at time t Ntotal (t) = Σ i Nmax (t, i), Ntotal * = F_t, x (Ntotal (t)) is calculated, and the value is the measurement point where the packet trace was performed Calculate Z / Y x Ntotal * using the number of hosts Y multiplexed in Z and the number of hosts Z that you want to accommodate using NAT, and calculate that value for the total number of hosts Z that you want to accommodate using NAT. 9. The address / port number estimation apparatus in NAT according to claim 8, further comprising means for calculating the required number of {global IPv4 address, port number}.
前記フロー数集計手段は、
各dstIP#jに対して、時点tでのフロー数Nd(t,j)をカウントする手段を含み、
前記アドレス・ポート数推定手段は、
Ndmax(t)=max j Nd(t、j)を求め、Ndmax*=F_t,x(Ndmax(t))を計算し、その値を前記パケット解析ステップで該パケットトレースを実施した測定点において多重されているホスト数Yに対して、NATを用いて収容する際に必要となる{グローバルIPv4アドレス,ポート番号}数として算出する手段を含む
請求項8記載のNATにおけるアドレス・ポート数推定装置。
The flow number counting means includes:
For each dstIP # j, including means for counting the number of flows Nd (t, j) at time t,
The address / port number estimating means includes:
Ndmax (t) = max j Nd (t, j) is calculated, Ndmax * = F_t, x (Ndmax (t)) is calculated, and the value is multiplexed at the measurement point where the packet trace is performed in the packet analysis step. 9. The address / port number estimation device in NAT according to claim 8, comprising means for calculating {global IPv4 address, port number} number required for accommodating the host number Y using NAT.
前記アドレス・ポート数推定手段は、
前記フロー数集計手段で求められたフロー数Nmax(t,i)=Σj N(t,i,j)を入力として、前記N*(i_y)を求め、該N*(i_y)をネットワーク外部ホストのアドレスを識別子として利用しない方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する第1の推定手段と、
一方で、Nmax(t,i)=maxj N(t,i,j)を入力として前記N*(i_y)を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式における各ホストに割当が必要な{グローバルIPv4アドレス,ポート番号}数として算出する第2の推定手段と、を含み、
前記第1の推定手段と前記第2の推定手段で算出された{グローバルIPv4アドレス,ポート番号}数を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する評価手段を更に有する
請求項10記載のNATにおけるアドレス・ポート数推定装置。
The address / port number estimating means includes:
Using the flow number Nmax (t, i) = Σ j N (t, i, j) obtained by the flow number counting means as an input, the N * (i_y) is obtained, and the N * (i_y) is obtained outside the network. First estimating means for calculating the number of {global IPv4 address, port number} that needs to be allocated to each host in a method that does not use the address of the host as an identifier;
On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input and the value calculated for N * (i_y) is assigned to each host in the system using the address of the network external host as an identifier. A second estimating means for calculating the number of {global IPv4 address, port number} required,
Evaluation means for evaluating the effectiveness of a system that uses the address of a network external host as an identifier by comparing the number of {global IPv4 address, port number} calculated by the first estimation means and the second estimation means. The address / port number estimation apparatus in NAT according to claim 10.
前記アドレス・ポート数推定手段は、
前記Nmax(t,i)=Σj N(t,i,j)を入力として前記Ntotal*を求め、該Ntotal*をネットワーク外部ホストのアドレスを識別子として利用しない方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出する第3の推定手段と、
一方で、Nmax(t,i)=maxj N(t,i,j)を入力として前記Ntotal*を算出した値をネットワーク外部ホストのアドレスを識別子として利用する方式において必要な{グローバルIPv4アドレス,ポート番号}数として算出する第4の推定手段と、を含み、
前記第3の推定手段と前記第4の推定手段で算出された{グローバルIPv4アドレス,ポート番号}数を比較することでネットワーク外部ホストのアドレスを識別子として利用する方式の有効性を評価する評価手段を更に有する
請求項11記載のNATにおけるアドレス・ポート数推定装置。
The address / port number estimating means includes:
The Nmax (t, i) = Σ j N (t, i, j) is used as an input to determine the Ntotal *, and the Ntotal * is required in a scheme that does not use the address of a network external host as an identifier {global IPv4 address, Port number} third estimation means for calculating the number,
On the other hand, Nmax (t, i) = max j N (t, i, j) is used as an input to calculate the value of Ntotal *, which is necessary in a scheme that uses the address of a network external host as an identifier {global IPv4 address, Port number} a fourth estimating means for calculating the number,
Evaluation means for evaluating the effectiveness of the system using the address of the network external host as an identifier by comparing the number of {global IPv4 address, port number} calculated by the third estimation means and the fourth estimation means. The address / port number estimation apparatus in NAT according to claim 11.
請求項8乃至14のいずれか1項に記載のアドレス・ポート数推定装置を構成する各手段としてコンピュータを機能させるためのアドレス・ポート数推定プログラム。   15. An address / port number estimation program for causing a computer to function as each means constituting the address / port number estimation apparatus according to claim 8.
JP2010219186A 2010-09-29 2010-09-29 Address / port number estimation method, apparatus, and program in NAT (Network Address Translation) Expired - Fee Related JP5547019B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010219186A JP5547019B2 (en) 2010-09-29 2010-09-29 Address / port number estimation method, apparatus, and program in NAT (Network Address Translation)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010219186A JP5547019B2 (en) 2010-09-29 2010-09-29 Address / port number estimation method, apparatus, and program in NAT (Network Address Translation)

Publications (2)

Publication Number Publication Date
JP2012074988A true JP2012074988A (en) 2012-04-12
JP5547019B2 JP5547019B2 (en) 2014-07-09

Family

ID=46170729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010219186A Expired - Fee Related JP5547019B2 (en) 2010-09-29 2010-09-29 Address / port number estimation method, apparatus, and program in NAT (Network Address Translation)

Country Status (1)

Country Link
JP (1) JP5547019B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014135719A (en) * 2012-12-11 2014-07-24 Nippon Telegraph & Telephone East Corp Capture data analysis device
JP2015125463A (en) * 2013-12-25 2015-07-06 エヌ・ティ・ティ・コムウェア株式会社 Load balancing device, load balancing method, and load balancing program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059430A (en) * 1998-08-07 2000-02-25 Matsushita Electric Works Ltd Network address conversion method and its system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059430A (en) * 1998-08-07 2000-02-25 Matsushita Electric Works Ltd Network address conversion method and its system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014018029; 屏 雄一郎、大岸 智彦、勝野 聡: 'ISPへのNAT導入によるユーザ影響評価' 電子情報通信学会誌 第93巻、第6号, 20100601, p.473-478, 一般社団法人電子情報通信学会 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014135719A (en) * 2012-12-11 2014-07-24 Nippon Telegraph & Telephone East Corp Capture data analysis device
JP2015125463A (en) * 2013-12-25 2015-07-06 エヌ・ティ・ティ・コムウェア株式会社 Load balancing device, load balancing method, and load balancing program

Also Published As

Publication number Publication date
JP5547019B2 (en) 2014-07-09

Similar Documents

Publication Publication Date Title
Dainotti et al. Estimating internet address space usage through passive measurements
US8194566B2 (en) Information processing device, and bubble packet transmission method and program
JP4509955B2 (en) VPN communication detection method and apparatus
US20120075991A1 (en) Network system, control method thereof and controller
US8254286B2 (en) Method and system for detection of NAT devices in a network
US8761170B2 (en) Communication device, communication method, integrated circuit, and program
WO2007118397A1 (en) Measuring method for network performance and system thereof
Suárez-Varela et al. Towards a NetFlow implementation for OpenFlow software-defined networks
US7701934B2 (en) System and method for managing devices within a private network via a public network
KR101358775B1 (en) User access method, system, and access server, access device
US11283757B2 (en) Mapping internet routing with anycast and utilizing such maps for deploying and operating anycast points of presence (PoPs)
EP2795850B1 (en) Modifying a property of a sequence of sent packets to uniquely identify an entity on a network such as an encrypted network
JP5547019B2 (en) Address / port number estimation method, apparatus, and program in NAT (Network Address Translation)
US20150032898A1 (en) Method for establishing a virtual community network connection and a system for implementing said method
JP5770652B2 (en) Source / destination organization identification apparatus, method and program
JP4561980B2 (en) Session relay apparatus and session relay method
CN108337222B (en) Port opening method and device for distinguishing access terminal identity and readable storage medium
US8902756B2 (en) Packet transfer processing device, packet transfer processing method, and packet transfer processing program
CN104243626A (en) Information processing apparatus
JP5545674B2 (en) Simultaneous flow number variation estimation method and apparatus
JP6330814B2 (en) COMMUNICATION SYSTEM, CONTROL INSTRUCTION DEVICE, COMMUNICATION CONTROL METHOD, AND PROGRAM
JP2003244251A (en) Packet communication method for reconfiguring tunnel path
CN103209129A (en) Method and device for enabling device network interface to be free from changes
JP4342462B2 (en) Network device and traffic counting method
Muniyappa Performance Analysis of IPv4 Versus IPv6 in a simple campus network

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130820

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20131004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140514

R150 Certificate of patent or registration of utility model

Ref document number: 5547019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees