JP2010219677A - Network simulation device - Google Patents
Network simulation device Download PDFInfo
- Publication number
- JP2010219677A JP2010219677A JP2009061729A JP2009061729A JP2010219677A JP 2010219677 A JP2010219677 A JP 2010219677A JP 2009061729 A JP2009061729 A JP 2009061729A JP 2009061729 A JP2009061729 A JP 2009061729A JP 2010219677 A JP2010219677 A JP 2010219677A
- Authority
- JP
- Japan
- Prior art keywords
- cluster
- node
- link
- network
- nodes
- 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
Links
Images
Abstract
Description
本発明は、ネットワークの配信システムにおけるトラヒック量やスループット等についての評価を行うためのネットワークシミュレーション装置に関する。 The present invention relates to a network simulation apparatus for evaluating traffic volume, throughput, and the like in a network distribution system.
ネットワークシミュレーション装置は、実際にシステムを導入する前に、計画されたネットワークトポロジや使用するデバイスからトポロジ情報とトラヒック情報をもとにモデル化し、トラヒック量やスループット等についての大まかな推定を行うものであり、シミュレーション用に開発された種々のソフトをネットワーク上で実行することで行われる。 The network simulation device models the network topology and traffic information from the planned network topology and devices used before actually introducing the system, and roughly estimates the traffic volume and throughput. Yes, it is done by running various software developed for simulation on the network.
例えば、OPNET(商品名)やQualnet(商品名)は、非特許文献1や非特許文献2に示されるように、ネットワークとネットワーク間の接続、ネットワーク上の端末・中継機器上で動作する各種プロトコル(TCP,UDP, HTTPなどの端末プロトコルや、OSPF, BGPなどの中継ノードプロトコルなど)を定義することが可能である。
For example, as shown in Non-Patent
一方、複雑系シミュレータのArtisoc(商品名)やN3 Simulatorは、非特許文献3や非特許文献4に示されるように、エンド端末の自律分散をシミュレーションすることを目的としたシミュレーション装置であり、エンド端末上のプロトコルを柔軟に定義することが可能である。
On the other hand, Artisoc (trade name) and N3 Simulator, which are complex simulators, are simulation devices for the purpose of simulating autonomous decentralization of end terminals, as shown in Non-Patent
前述のOPNET, Qualnetは、ネットワーク上で、TCP/IP、OSPF/BGPなどのインターネットプロトコルの動作を試験するためのネットワークシミュレーション装置であり、端末におけるパケット送受信や、ルータにおけるキューイング処理などを細かくシミュレーションできる。 The above-mentioned OPNET and Qualnet are network simulation devices for testing the operation of Internet protocols such as TCP / IP and OSPF / BGP on the network. Detailed simulations such as packet transmission / reception at terminals and queuing processing at routers are performed. it can.
しかしながら、BitTorrentなどのように、個々の端末が自律分散的に動作するプロトコルを定義できないという課題があった。また、扱うべき端末やルータの規模が多い場合、計算量が多くなるので、標準的なサーバ用PCを用いた場合、例えばルータ数が1,000程度までしか扱うことができないという課題があった。 However, there is a problem that it is not possible to define a protocol in which individual terminals operate in an autonomous distributed manner such as BitTorrent. Further, since the amount of calculation increases when the scale of terminals and routers to be handled is large, there is a problem that the number of routers can be handled only up to about 1,000 when using a standard server PC.
前述のArtisocや、N3 Simulatorは、自律分散的に動作するエンド端末をシミュレーションすることに適したシミュレータであり、インターネットプロトコルに限らず、エンド端末上のプロトコルや、エンド端末上のイベント発生タイミングを独自に定義できることができる。 The above-mentioned Artisoc and N3 Simulator are simulators suitable for simulating end terminals that operate in an autonomous and distributed manner, and are not limited to Internet protocols, but have their own protocol for end terminals and event occurrence timing on end terminals. Can be defined.
しかしながら、端末の動作に特化しているため、ネットワーク上のリンクやルータなどの振舞いまでをシミュレーションできないという課題があった。 However, since it is specialized in the operation of the terminal, there has been a problem that it is impossible to simulate the behavior of links and routers on the network.
本発明は上記事情に鑑みて提案されたもので、P2P中継型の配信システムで構築されるネットワークにおけるノード(端末、ルータ、サーバ等の総称)間のトラヒック量やスループットの評価に適したネットワークシミュレーション装置を提供することを目的としている。 The present invention has been proposed in view of the above circumstances, and is a network simulation suitable for evaluating the amount of traffic and throughput between nodes (a general term for terminals, routers, servers, etc.) in a network constructed with a P2P relay type distribution system. The object is to provide a device.
上記目的を達成するため本発明は、ネットワークを定義する際、中継ネットワークとアクセスネットワークの役割を分け、P2P中継型の配信システムのシミュレーションにおいて重要となるアクセスネットワークに関してのみ、リンクのキューなどのネットワーク的な振舞いを忠実に再現する機能を持たせることにより、少ない計算量で大規模にネットワークと端末の双方をシミュレーションすることを可能としたものである。 In order to achieve the above object, according to the present invention, when defining a network, the roles of the relay network and the access network are separated, and only for the access network that is important in the simulation of the P2P relay type distribution system, By providing a function that faithfully reproduces the behavior, it is possible to simulate both the network and the terminal on a large scale with a small amount of calculation.
すなわち、請求項1のネットワークシミュレーション装置は、複数のノードがそれぞれ接続された複数のクラスタ(小ネットワーク)を有するネットワークにおいて、前記複数のクラスタについて、中継を行うブランチクラスタと一つのブランチクラスタのみに接続されるリーフクラスタとに分割し、前記ブランチクラスタ同士及び前記ブランチクラスタと前記リーフクラスタとの間のクラスタ間リンクをノード間の通信でシェアし、前記リーフクラスタ内におけるノード同士のノード間リンクをノード毎に帯域を占有している。
そして、前記各ノードは、ノード間リンクとクラスタ間リンクのキューを併せ持ち、前記クラスタ内のノードが送信したデータのみをノード間リンク及びクラスタ間リンクのキューにて順番待ちを考慮して出力する扱いにより上り回線に限定して前記クラスタ単位で遅延時間を計算することでトラヒック量またはスループット(=単位時間当たりのトラヒック量)の評価を行うことを特徴としている。
すなわち、クラスタを単位として管理されるネットワーク情報(ネットワーク構成情報、経路管理情報、キュー管理情報)に従い、ノード間で送受信されるメッセージの遅延時間を計算することで、クラスタ間毎のトラヒック量またはスループット(=単位時間当たりのトラヒック量)の評価を行うものである。
That is, the network simulation apparatus according to
Each node has both an inter-node link and an inter-cluster link queue, and outputs only the data transmitted by the nodes in the cluster in consideration of the waiting in the inter-node link and inter-cluster link queues. Thus, it is characterized in that the traffic amount or throughput (= traffic amount per unit time) is evaluated by calculating the delay time in units of clusters limited to the uplink.
That is, by calculating the delay time of messages sent and received between nodes according to network information (network configuration information, route management information, queue management information) managed in units of clusters, traffic volume or throughput for each cluster (= Traffic amount per unit time) is evaluated.
請求項2のネットワークシミュレーション装置は、請求項1において、ビットトレント(BitTorrent)プロトコルを対象とし、前記クラスタ内の各ノードは、自律分散的に動作するトラッカーやピアであることを特徴としている。 A network simulation apparatus according to a second aspect is directed to the bit torrent protocol according to the first aspect, and each node in the cluster is a tracker or a peer that operates in an autonomous distributed manner.
本発明によれば、P2P中継型コンテンツ配信のネットワークシミュレーションを実現するにあたり、複数のノードが接続された複数のクラスタについて、中継を行うブランチクラスタと一つのブランチクラスタのみに接続されるリーフクラスタとに分割し、クラスタ内のノードが送信したデータのみをノード間リンク及びクラスタ間リンクのキューにて順番待ちを考慮して出力するよう扱うことにより、ネットワークとして忠実に再現する部分をアクセスネットワークの上り回線に限定している。これにより、従来のネットワークシミュレーション装置に比べて少ない計算量でP2P中継型コンテンツ配信のシミュレーションが実現できる。 According to the present invention, in realizing a network simulation of P2P relay type content distribution, for a plurality of clusters to which a plurality of nodes are connected, a branch cluster that performs relay and a leaf cluster that is connected to only one branch cluster. Dividing and handling only the data sent by the nodes in the cluster in the inter-node link and inter-cluster link queues in consideration of the order waiting, so that the part that is faithfully reproduced as the network is the uplink of the access network It is limited to. As a result, the P2P relay type content distribution simulation can be realized with a small amount of calculation compared to the conventional network simulation apparatus.
従来のネットワークシミュレーション装置では、計算量の観点から、標準的なサーバ用PCを用いて、ネットワークのシミュレーションと、自律分散システムのシミュレーションを同時に行うことが難しいという問題があったが、本発明のネットワークシミュレーション装置によれば、中継を行うブランチクラスタと一つのブランチクラスタのみに接続されるリーフクラスタとに分割し、各クラスタに対して設定したネットワーク情報(ネットワーク構成情報、経路管理情報、キュー管理情報)に従い、ノード間で送受信されるメッセージの遅延時間を推定できるようにしたので、標準的なサーバ用PCを用いた場合でも、上述した両方の機能を持ち合わせることができる。 The conventional network simulation apparatus has a problem that it is difficult to simultaneously perform network simulation and autonomous distributed system simulation using a standard server PC from the viewpoint of computational complexity. According to the simulation apparatus, network information (network configuration information, route management information, queue management information) that is divided into a branch cluster that performs relay and a leaf cluster that is connected to only one branch cluster, and is set for each cluster. Accordingly, the delay time of messages transmitted and received between nodes can be estimated, so that both functions described above can be provided even when a standard server PC is used.
以下、本発明の実施形態の一例について、図1及び図2を参照しながら説明する。
本発明のシミュレーション装置30は、多数のノード(端末、ルータ、サーバ等の総称)が接続されて構成されるP2P中継システムを構築するネットワークについて、各ノード間のトラヒック量やスループット、ダウンロード時間の算出を目的としたシミュレーションを行うものであり、図1に示すように、ネットワーク内においてシミュレーションを行うユーザ40に対して接続可能に構成されている。
Hereinafter, an exemplary embodiment of the present invention will be described with reference to FIGS. 1 and 2.
The
ネットワークシミュレーション装置30は、ユーザ40からの要求により後述するシミュレーション動作フローにしたがってシミュレーションの実行を行うシミュレーション実行管理部31と、シミュレーションの設定情報を管理する設定管理部32と、ネットワークの状態を管理するネットワーク状態管理部33と、各ノードにおけるイベントの実行をそれぞれ行う複数のノード実行部34と、各ノード実行部34でのイベントの実行結果を記録するログ管理部35と、ユーザ40からの要求に基づきログ管理部35を参照してシミュレーション結果を表示するシミュレーション結果表示部36とを備えて構成されている。
The
ネットワーク状態管理部33は、ネットワークシミュレーション装置30がシミュレーションするネットワーク構成を管理するとともに、ネットワークにおけるクラスタ間の経路管理(SPFで導出されるクラスタ間の経路についての管理)、及び、後述するクラスタ間リンク及びノードリンクの出力キューについてのキュー管理を行う。ネットワークシミュレーション装置30がシミュレーションするネットワークトポロジは、図2に示すように、いくつかの小さなネットワークであるクラスタに分割される。
各クラスタは、他の地域との接続やISPとの中継を行う部分であるブランチクラスタ10と、ユーザ(P2P中継システムではピアと呼ぶ)が属するアクセスネットワークよりの部分であるリーフクラスタ20に分かれ、それぞれが相互に接続されている。
The network
Each cluster is divided into a
ブランチクラスタ10には、相互に接続された複数のネットワーク中継機器(ルータ等)11を有している。また、ブランチクラスタ10によっては、P2P中継システムの一部を担うサーバ12{コンテンツサーバ、配信制御サーバ(トラッカー)等}が設定されている。
The
リーフクラスタ20は、アクセスネットワークを集約する機器を含んで構成され、機器の配下に複数のピア21が設定されている。ブランチクラスタ10は制限なく互いに接続できるが、リーフクラスタ20はいずれか1つのブランチクラスタ10のみと接続するようになっている。
The
ネットワークシミュレーション装置によるネットワークのシミュレーションは、以下のように単純化させて定義する。経路計算は、ブランチクラスタ10又はリーフクラスタ20毎のクラスタ単位で行われる。すなわち、クラスタ間に論理的なリンクが存在すると仮定し、リンク毎にコストや伝搬遅延を管理することが行われる。
The network simulation by the network simulation apparatus is defined in a simplified manner as follows. The route calculation is performed on a cluster basis for each
あるクラスタから別のクラスタへの経路は、OSPFで用いられているSPFアルゴリズムと同様の方法で計算する。従って、クラスタ内のノードが別のクラスタのノードと通信する場合には、上記手段により、リンク毎に計算された経路を用いて通信を行う。 The route from one cluster to another is calculated in the same way as the SPF algorithm used in OSPF. Therefore, when a node in the cluster communicates with a node in another cluster, communication is performed using the route calculated for each link by the above means.
リンクのタイプとしては、図3に示すように、クラスタ間を接続するリンクとして論理的に存在するクラスタ間リンク(ブランチクラスタ10同士間のリンク15、及び、ブランチクラスタ10とリーフクラスタ20間のリンク16)と、リーフクラスタ20内に存在するノード毎に存在しノードとネットワークを接続するノードリンク22とが存在する。したがって、一つのブランチクラスタ10に属するノードと、他のブランチクラスタ10に属するノードとの間の通信は、1つのクラスタ間リンク15でシェアされる。また、リーフクラスタ20に属するノードと、ブランチクラスタ20に属するノードの接続の場合、ノード単位で帯域がシェアされるノードリンク22と、クラスタ間リンク(ブランチクラスタ10とリーフクラスタ20間のリンク16)の二つを経由して、ノード間の通信が行われる。
As shown in FIG. 3, the types of links include inter-cluster links that exist logically as links connecting clusters (
設定管理部32は、ネットワークをシミュレーションする場合のシミュレーション設定情報を管理する。クラスタ(ノード)とクラスタ(ノード)との間のトラヒック量は、シミュレーション実行時に計算し、ログ管理部35にて蓄積する。これにより、ユーザ40は、シミュレーション実行後に、特定のクラスタ(ノード)間のトラヒック量を入手することができる。
また、シミュレーション設定情報の初期設定情報は、ユーザ40がシミュレーション実行前に設定するものであり、ネットワーク構成(ブランチクラスタ10又はリーフクラスタ20)、リンクの接続構成(クラスタ間リンク(リンク15及びリンク16)又はノードリンク22)、各クラスタ上のノード数・種類(ピア又はトラッカー)、ノードの起動タイミングなどの情報を含む。
The
The initial setting information of the simulation setting information is set by the
ノード実行部34は、ピアまたはトラッカーのいずれかのアルゴリズムに従い、イベント管理において管理しているイベントについて、1つのノードの動作を実行する。本発明のネットワークシミュレーション装置では、10,000以上の独立なノードのシミュレーションを行うことを想定しているため、独立なノード数だけノード実行部34が存在する。各ノード実行部34は、シミュレーション処理時間(SUT)を単位に1回、シミュレーション実行管理部31よりノードID順に呼び出され、イベント管理において管理しているイベントのうち、そのシミュレーション処理時間(SUT)で実行すべきイベントを実行する。ノードは、ピアあるいはトラッカーのいずれかのアルゴリズムを持ち、それぞれのアルゴリズムに従ってイベントの実行を行う。イベントの実行結果は、時系列順に記録され、ログ管理部35に蓄積される。
The
ログ管理部35は、イベント毎に、処理に必要なイベント実行時刻,ノード,相手先ノード,イベント種別の情報が記憶されることで、トラヒック量等のシミュレーション結果を求めることができる。
The
ノード実行部34でのイベント処理について説明する。
受信イベント処理は、メッセージの受信に伴うノード状態の更新を行う。ログ管理部35に、受信イベント処理を行ったことを通知する。さらに、ピア/トラッカーアルゴリズムに従い、他の相手先ノード(複数もありうる)へメッセージを送信する必要がある場合には、送信イベント(複数もありうる)を設定し、送信イベント処理を行う。メッセージの送信に伴うノード状態の更新を行い、ログ管理部35に送信イベント処理を行ったことを通知する。また、ネットワーク状態管理部33に該当ノードから相手先ノードへの遅延の計算を依頼し、その結果、相手ノードに、現シミュレーション処理時間(SUT)に遅延時間を加えた時刻をイベント受信時刻として、本メッセージに関する受信イベントを設定する。
The event processing in the
In the reception event process, the node state is updated as the message is received. The
シミュレーション結果表示部36は、ユーザ40からの要求に基づきログ管理部35を参照してシミュレーション結果としてのトラヒック量やスループットの表示を行う。
このトラヒック量は、メッセージの長さの合計で計算される。計算するタイミングとしては、例えば、ノードが送信イベントとしてメッセージを送信したときに行う。メッセージの長さは、シミュレーション初期設定により変えることも可能であるが、メッセージタイプ毎に固定長であり、例えばピースメッセージであれば256キロバイト等に設定する。基本的には、BitTorrentプロトコルに従って、メッセージの長さが決められる。
スループットは、時間当たりのトラヒック量であり、メッセージの長さの合計をシミュレーション対象時間の合計で割ることにより計算される。
The simulation
This traffic volume is calculated as the total message length. The calculation timing is performed, for example, when the node transmits a message as a transmission event. The length of the message can be changed according to the simulation initial setting, but is fixed for each message type. For example, in the case of a piece message, it is set to 256 kilobytes. Basically, the message length is determined according to the BitTorrent protocol.
Throughput is the amount of traffic per hour, and is calculated by dividing the total message length by the total simulation target time.
次に、シミュレーション結果の具体例について説明する。
1単位のシミュレーション処理時間(SUT)を100ミリ秒とし、シミュレーション全体で10,000SUTを消費したとすれば、1,000秒間のシミュレーションを行ったことになります。この間で、クラスタA−B間のメッセージの長さの合計が2,000MB(メガバイト)だったとすれば、クラスタA−B間のトラヒック量は2,000MB、クラスタA−B間のスループットは、(2,000/1,000)×8=16Mbit/秒となる。
Next, specific examples of simulation results will be described.
If the simulation processing time (SUT) of one unit is 100 milliseconds and 10,000 SUT is consumed in the entire simulation, the simulation is performed for 1,000 seconds. If the total message length between clusters A and B is 2,000 MB (megabytes), the traffic volume between clusters A and B is 2,000 MB, and the throughput between clusters A and B is ( 2,000 / 1,000) × 8 = 16 Mbit / sec.
次に、ネットワークシミュレーション装置のシミュレーションにおいて、ノード間のデータの通信で発生する3種類の遅延(伝搬遅延・伝送遅延・キューイング遅延)の定義について、図4を参照して説明する。なお、ネットワークシミュレーション装置で扱うデータの単位はメッセージと呼ばれる。
メッセージは、IPのプロトコルとしては、1〜複数のIPパケットに相当するが、ネットワークシミュレーション装置ではIP、TCP、UDPといったプロトコルを厳密に処理することは想定しておらず、アプリケーションレベルでの情報をメッセージという単位で表している。メッセージには、プロトコル制御情報の伝達を目的とする制御メッセージと、コンテンツなどのアプリケーションデータの転送を目的とするデータメッセージが存在する。本発明のネットワークシミュレーション装置では、制御メッセージのメッセージサイズは0であるとみなしている。
Next, definitions of three types of delays (propagation delay, transmission delay, and queuing delay) that occur in data communication between nodes in the simulation of the network simulation apparatus will be described with reference to FIG. The unit of data handled by the network simulation apparatus is called a message.
The message corresponds to one to a plurality of IP packets as an IP protocol, but the network simulation device does not assume that the protocols such as IP, TCP, and UDP are strictly processed. Expressed in units of messages. The message includes a control message for the purpose of transmitting protocol control information and a data message for the purpose of transferring application data such as contents. In the network simulation apparatus of the present invention, it is assumed that the message size of the control message is zero.
伝搬遅延は、図4(a)に示すように、クラスタ間リンクにおいて、メッセージが物理的に到着するのに要する遅延である。電気信号の伝達と関係し、ブランチクラスタ間の物理的な距離に比例して発生する遅延である。
伝送遅延は、図4(b)に示すように、メッセージを、有限の帯域を持つリンクに送信開始し、送信完了するまでに要する遅延を表す。リンクの帯域が小さく、メッセージサイズが大きいほど、伝送遅延は大きくなる。
キューイング遅延は、図4(c)に示すように、複数のメッセージ転送をシェアするリンクにおいて、メッセージの転送要求が発生してから該当するメッセージの転送処理を開始できるまでに要する時間である。メッセージを即座に転送出来ない場合は、メッセージは出力キューに蓄積される。この遅延は該当するメッセージのサイズには比例せず、出力キューのサイズが大きくリンクの帯域が小さいほど大きくなる。
As shown in FIG. 4A, the propagation delay is a delay required for a message to physically arrive in an intercluster link. This delay is related to the transmission of electrical signals and is proportional to the physical distance between branch clusters.
As shown in FIG. 4B, the transmission delay represents a delay required until transmission of a message is started on a link having a finite bandwidth and transmission is completed. The smaller the link bandwidth and the larger the message size, the greater the transmission delay.
As shown in FIG. 4C, the queuing delay is the time required from the occurrence of a message transfer request to the start of the corresponding message transfer process in a link sharing a plurality of message transfers. If the message cannot be transferred immediately, the message is accumulated in the output queue. This delay is not proportional to the size of the corresponding message, and increases as the output queue size increases and the link bandwidth decreases.
次に、図5を参照して、上記の遅延を用いた遅延発生モデルについて述べる。
図5(a)に示すように、ブランチクラスタ10内のノードが送信したメッセージについては、ブランチクラスタ毎に持つ出力キューのキューイング遅延、クラスタ間リンク15での伝送遅延および伝搬遅延が発生する。
図5(b)に示すように、リーフクラスタ20内のノードが送信したメッセージについては、ノードリンク22でのキューイング遅延および伝送遅延と、クラスタ間リンク16でのキューイング遅延、伝送遅延および伝搬遅延が発生する。
図5(c)に示すような複数のブランチクラスタ10を経由するメッセージについては、各ブランチクラスタを経由する毎に、経由するブランチクラスタ10での伝送遅延および伝搬遅延が発生する。
Next, a delay generation model using the above delay will be described with reference to FIG.
As shown in FIG. 5A, for a message transmitted by a node in the
As shown in FIG. 5B, for messages transmitted by the nodes in the
With respect to a message passing through a plurality of
また、図5で示した遅延発生モデルに関して、モデルを単純化し計算量を減らすため、以下の条件を適用する。
(1)中継するクラスタ間リンクや、下りノードリンクでのキューイング遅延は発生しない。
(2)出力キューのサイズは無限大と考え、キューあふれによるパケットロスは発生しない。
(3)中継機器やリンクでのデータ転送誤り(ビットエラー)は発生しない。
(4)従って、ネットワーク上のパケットロスは一切発生せず、TCPでの再送による遅延なども考慮しない。
(5)ブランチクラスタ内のノードが、クラスタ間リンクが存在するルータへメッセージを転送するまでの遅延は考慮しない。
In addition, the following conditions are applied to the delay generation model shown in FIG. 5 in order to simplify the model and reduce the amount of calculation.
(1) There is no queuing delay in the intercluster link to be relayed or the downlink node link.
(2) The size of the output queue is considered infinite, and packet loss due to queue overflow does not occur.
(3) No data transfer error (bit error) occurs in the relay device or link.
(4) Therefore, no packet loss occurs on the network, and delay due to retransmission in TCP is not considered.
(5) The delay until the node in the branch cluster transfers the message to the router having the intercluster link is not considered.
遅延の計算式は、クラスタ経路をX1・X2 … Xnとした場合、クラスタX1に属するノードaと、クラスタXnに属するノードbとのエンドエンドによる遅延時間De2e(秒)で表示することができる。そして、遅延時間De2eは、クラスタ間リンクの伝搬遅延(秒)であるDp、クラスタ間リンクの伝送遅延(秒)であるDt、クラスタ間リンクのキューイング遅延(秒)であるDqの関数で表示することができる。
すなわち、Dp(XY)をクラスタX−Y間のクラスタ間リンクの伝搬遅延(秒)、B(XY)をクラスタX−Y間のクラスタ間リンクのX−Y方向の帯域(bps)、Mをメッセージ長さ(byte)、Qt-1(XY)をクラスタX−Y間のクラスタ間リンクの時刻t-1における出力キュー長(byte)とすると、クラスタ間リンク15,16における伝搬遅延Dp、伝送遅延Dt、キューイング遅延Dqは、それぞれ表1のように定義される。また、遅延時間De2eは、クラスタXがブランチクラスタの場合、数1で計算される。
The delay calculation formula can be displayed as a delay time De2e (seconds) due to end-ends of the node a belonging to the cluster X1 and the node b belonging to the cluster Xn, where X1 · X2... Xn is the cluster route. The delay time De2e is expressed as a function of Dp which is the propagation delay (second) of the intercluster link, Dt which is the transmission delay (second) of the intercluster link, and Dq which is the queuing delay (second) of the intercluster link. can do.
That is, Dp (XY) is the propagation delay (seconds) of the intercluster link between the clusters XY, B (XY) is the bandwidth (bps) in the XY direction of the intercluster link between the clusters XY, and M is When the message length (byte) and Qt-1 (XY) are the output queue length (byte) at the time t-1 of the intercluster link between the clusters XY, the propagation delay Dp and transmission in the
また、B(a)をクラスタX内でのノードaのノードリンクの上り方向の帯域(bps)、Qt-1(a)をクラスタX内でのノードaのノードリンクの上り方向の時刻t-1における出力キュー長(byte)とすると、ノードリンク22における伝搬遅延Dp、伝送遅延Dt、キューイング遅延Dqは、それぞれ表2のように定義される。また、遅延時間De2eは、クラスタXがリーフクラスタの場合、遅延時間De2e(秒)は数2で計算される。
Further, B (a) is the upstream bandwidth (bps) of the node link of node a in the cluster X, and Qt-1 (a) is the time t- of the uplink of the node link of node a in the cluster X. Assuming that the output queue length (byte) is 1, the propagation delay Dp, transmission delay Dt, and queuing delay Dq in the
次に、シミュレーション実行管理部31の動作について、図6を参照して説明する。
本シミュレーション装置は、シミュレーション処理時間(SUT)ごとに、各ノードがイベント駆動型で独立に処理を実行する。シミュレーション装置起動時には、予め設定された項目に従い、各ノードの初期状態を設定し、SUTを初期状態の「0」とする(ステップS101)。SUT毎に、各ノードにおける受信イベントを処理し(ステップS102)、その後、送信イベントを処理する(ステップS103)。
0 SUTで送受信されるメッセージがあった場合、同一SUT内で複数回同一ノードの処理を行う必要がある。このため、再走査フラグを設け、再走査ありの場合(ステップS104)には、SUTを増加させる繰り返し各ノードの処理を実行する。
再走査無しとなったとき、SUTを増加させ(ステップS105)、次のSUTでの処理を実行する。シミュレーション終了条件が成立した場合(ステップS106)、結果出力を行い(ステップS107)、シミュレーションを終了する。
Next, the operation of the simulation
In this simulation apparatus, each node executes an event-driven process independently for each simulation processing time (SUT). When the simulation apparatus is activated, the initial state of each node is set according to the preset items, and the SUT is set to the initial state “0” (step S101). For each SUT, the reception event at each node is processed (step S102), and then the transmission event is processed (step S103).
0 When there are messages sent and received by SUT, it is necessary to process the same node multiple times in the same SUT. For this reason, a rescan flag is provided, and when there is a rescan (step S104), the process of each node is repeatedly performed to increase the SUT.
When there is no rescanning, the SUT is increased (step S105), and the process in the next SUT is executed. When the simulation termination condition is satisfied (step S106), the result is output (step S107), and the simulation is terminated.
シミュレーション装置で扱われるイベントについて説明する。
ノード毎のイベントは、発生時刻、相手先、イベント種別、パラメータとともに、イベントキューに保持される。発生時刻は、シミュレーション起動開始からの経過SUTで表す。相手先は、イベントを送受信する相手のノードを識別する番号である。イベント種別は、メッセージのタイプ等である。パラメータは、イベントに付随するパラメータである。ノード間で転送されるメッセージは、送信・受信ノードにおいて、送信・受信イベントとしてそれぞれ処理される。
An event handled by the simulation apparatus will be described.
The event for each node is held in the event queue together with the time of occurrence, destination, event type, and parameters. Occurrence time is expressed as an elapsed SUT since the start of simulation. The partner is a number that identifies the partner node that transmits and receives the event. The event type is a message type or the like. The parameter is a parameter associated with the event. Messages transferred between nodes are processed as transmission / reception events in the transmission / reception nodes, respectively.
P2P中継型コンテンツ配信のプロトコルを実現するにあたり、ネットワークシミュレーション装置が対象とするメッセージの例について図7に示す。
図7(a)は、ノード間(N1とN2)で時間的な遅延なしにメッセージ転送が行われる場合である。
図7(b)は、ノード間(N1とN2)でのメッセージ転送に、a時間のSUT時間の遅延が発生する例である。
図7(c)は、ノード間(N1とN2)でのメッセージ転送において、受信メッセージに対する応答として、送信メッセージが発生する例である。システム内の処理遅延は無いものと仮定している。
図7(d)は、ノード(N1)から複数のメッセージを同時刻に複数のノード(N2、N3)に対して送信する例である。
図7(e)は、ノード間(N1とN2)の0 SUT内で、複数のメッセージがやりとりされる例である。
FIG. 7 shows an example of a message targeted by the network simulation apparatus in realizing the P2P relay type content distribution protocol.
FIG. 7A shows a case where message transfer is performed between nodes (N1 and N2) without a time delay.
FIG. 7B is an example in which a delay of SUT time of a time occurs in message transfer between nodes (N1 and N2).
FIG. 7C shows an example in which a transmission message is generated as a response to a received message in message transfer between nodes (N1 and N2). It is assumed that there is no processing delay in the system.
FIG. 7D shows an example in which a plurality of messages are transmitted from the node (N1) to the plurality of nodes (N2, N3) at the same time.
FIG. 7E shows an example in which a plurality of messages are exchanged within a 0 SUT between nodes (N1 and N2).
次に、P2P中継型配信システムを実現するためのプロトコルとして、広く利用されているビットトレント(BitTorrent)プロトコルについての概要について、図8を参照しながら説明する。
BitTorrentでは、1つのファイルを複数の固定長のピース(Piece)に分割し、Pieceメッセージを1つの単位として、複数のピアから独立に、自身が持っていないピースを受信する。各ピアは、転送可(Unchoke)にするピア、ピースをダウンロードする順番などに関して、ピア毎の自律的な判断で実施する。
Next, an outline of a bit torrent protocol that is widely used as a protocol for realizing the P2P relay distribution system will be described with reference to FIG.
With BitTorrent, one file is divided into a plurality of pieces of fixed length (Piece), and Piece messages are taken as one unit to receive pieces that the player does not own independently from a plurality of peers. Each peer performs an autonomous decision for each peer regarding the peer to be transferred (Unchoke), the order of downloading pieces, and the like.
BitTorrentは、配信制御を行うトラッカー(Tracker)と、コンテンツのダウンロード/アップロードを行うピア(Peer)の2種類のノードで構成される。ダウンロードを行うピア#1(peer #1)は、まずトラッカーに対し、コンテンツを要求し(ステップ201)、トラッカーは、コンテンツのダウンロードが可能なピアリストをピア#1(peer #1)に返す(ステップ202)。
ピア#1(peer #1)は、ピアリストで通知された各ピア(peer #2,peer #3)とのTCPの接続を行い(ステップ203,205,206、及び、ステップ204,207,208)、その後、BitTorrentレベルでの接続(Handshake)を行う(ステップ209,210、及び、ステップ211,212)。
BitTorrent is composed of two types of nodes: a tracker that controls distribution and a peer that downloads / uploads content. Peer # 1 (peer # 1) that performs download first requests content from the tracker (step 201), and the tracker returns a peer list from which content can be downloaded to peer # 1 (peer # 1) ( Step 202).
Peer # 1 (peer # 1) performs TCP connection with each peer (
以降、例えばピア#2(peer #2)に対してのピースマップのやり取り(Bitfield) (ステップ213及びステップ214)、ピアへの興味の通知(Interested/Not interested)(ステップ215及びステップ216)と、ピアへの転送可否の通知(Unchoke/Choke)(ステップ217及びステップ218)を行う。その後、ピア#1(peer #1)はピア#2(peer #2)にピースを要求(Request)し(ステップ219)、応答としてピース(Piece)を受信する(ステップ220)。
Thereafter, for example, exchange of a piece map with respect to peer # 2 (peer # 2) (Bitfield) (
次に、上述したビットトレント(BitTorrent)プロトコルをネットワークシミュレーション装置で実現する方法を以下に述べる。Pieceメッセージはデータメッセージとし、それ以外のメッセージは制御メッセージとして扱う。
メッセージ転送については、ネットワークシミュレーション装置において、メッセージタイプ毎の送受信イベントを設定することにより実現する。各ピアが行う自律的な判断については、BitTorrentが持つアルゴリズムと同じものをネットワークシミュレーション装置で持たせる。
Next, a method for realizing the above-described BitTorrent protocol with a network simulation apparatus will be described below. Piece messages are treated as data messages, and other messages are treated as control messages.
Message transfer is realized by setting a transmission / reception event for each message type in the network simulation apparatus. For the autonomous judgments made by each peer, the network simulation device has the same algorithm as BitTorrent.
すなわち、ピアアルゴリズムでは、相手先ピアとの接続状態(TCPコネクションの接続、choke/unchoke状態等)、相手先ピアが保有するピース(コンテンツの一部)、相手先ピアの性能を示す情報(ダウンロード時間)などを管理し、どの相手先ピアから、どのピースを入手するか、choke/unchoke状態の変更タイミングなどを決定する。
トラッカーアルゴリズムでは、あるコンテンツのダウンロード要求を行った全てのピアの情報を管理し、新しいピアからピアリスト要求を受けた際に、一定数のピアリストを返答する。
アルゴリズムとしては、流通度の低いピースを優先的にダウンロードするRarest first algorithmや、ダウンロード速度が速いピアを優先的にデータ転送可とするTit-for-tat algorithmなどが存在する。
In other words, in the peer algorithm, the connection status with the peer (TCP connection, choke / unchoke status, etc.), the piece held by the peer (part of the content), and information indicating the performance of the peer (download) Time) and the like, and from which peer peer, which piece is to be obtained, the timing for changing the choke / unchoke state, etc. are determined.
In the tracker algorithm, information on all peers that have requested download of a certain content is managed, and when a peer list request is received from a new peer, a certain number of peer lists are returned.
As algorithms, there are a Rarest first algorithm that preferentially downloads pieces with low distribution, and a Tit-for-tat algorithm that preferentially allows data transfer to peers with a high download speed.
シミュレーション実行条件の例を以下に示す。
ピア毎に、クラスタ、起動時刻、終了時刻を設定する。起動時刻はSUT時刻で設定し、終了時刻はダウンロード完了からn SUT時刻経過などといった設定を行う。多数のピアの統計多重的な振舞いをシミュレーションするため、複数のピアについて設定をグループ化することを可能とする。例えば、一定間隔で起動、ダウンロード完了からaを平均、bを分散とする正規分布に従う時間経過後に終了などといった、統計的な振舞いを考慮した設定を可能とする。
シミュレーション結果としては、ダウンロード時間、メッセージタイプごとのメッセージ数などを出力する。各SUTでのノード処理時に結果出力に必要な情報を記録し、シミュレーション後に一斉に収集することとする。
Examples of simulation execution conditions are shown below.
A cluster, start time, and end time are set for each peer. The start time is set as the SUT time, and the end time is set such that n SUT time elapses after the download is completed. In order to simulate the statistically multiplexed behavior of multiple peers, it is possible to group settings for multiple peers. For example, it is possible to set in consideration of statistical behavior, such as starting at a fixed interval, completing after a period of time following a normal distribution in which a is an average and b is a variance after completion of download.
As the simulation result, the download time, the number of messages for each message type, and the like are output. Information necessary to output the results during node processing in each SUT is recorded and collected simultaneously after the simulation.
上述したネットワークシミュレーション装置によれば、シミュレーション処理時間(SUT)を単位として各ノードをイベント駆動型でシミュレーションする基本設計であるため、1単位のシミュレーション処理時間(SUT)の時間を変えることにより、シミュレーションの精度を変えられるという利点がある。
また、ノード数の増加に伴うソフトウェアの実装へのインパクトは少なく、高性能なハードウェアを導入すればシミュレーション時間を単純に減らすことができる。
更に、ノード単位で独立に処理できる部分が多いため、マルチCPU、マルチスレッド化への対応が容易である。
According to the network simulation device described above, since the basic design is to simulate each node in an event-driven manner using the simulation processing time (SUT) as a unit, simulation can be performed by changing the time of one unit of simulation processing time (SUT). There is an advantage that the accuracy of can be changed.
In addition, the impact on software implementation accompanying the increase in the number of nodes is small, and if high-performance hardware is introduced, the simulation time can be simply reduced.
Furthermore, since there are many parts that can be processed independently in units of nodes, it is easy to cope with multi-CPU and multi-threading.
上述したネットワークシミュレーション装置は、中継ネットワークとアクセスネットワークの役割を分け、クラスタを単位として管理されるネットワーク情報(ネットワーク構成情報、経路管理情報、キュー管理情報)に従い、ノード間で送受信されるメッセージの遅延時間を計算することで、クラスタ間毎のトラヒック量またはスループット(=単位時間当たりのトラヒック量)の評価を行うので、少ない計算量で大規模のネットワークのシミュレーションを可能とし、10,000〜10,000,000相当の規模のユーザを対象としたP2P中継型コンテンツ配信モデルを評価するのに適している。 The network simulation apparatus described above divides the roles of the relay network and the access network, and delays messages sent and received between nodes according to network information (network configuration information, path management information, queue management information) managed in units of clusters. By calculating the time, traffic volume or throughput between clusters (= traffic volume per unit time) is evaluated, enabling simulation of a large-scale network with a small amount of calculation, and a scale equivalent to 10,000 to 10,000,000 It is suitable for evaluating a P2P relay type content distribution model for users.
1…ネットワーク、 10…ブランチクラスタ、 11…ネットワーク中継機器(ルータ)、 12…サーバ、 15…クラスタ間リンク、 16…クラスタ間リンク、 20…リーフクラスタ、 21…ピア、 22…ノードリンク、 30…ネットワークシミュレーション装置、 31…シミュレーション実行管理部、 32…設定管理部、 33…ネットワーク状態管理部、 34…ノード実行部、 35…ログ管理部、 36…シミュレーション結果表示部、 40…ユーザ。
DESCRIPTION OF
Claims (2)
前記複数のクラスタについて、中継を行うブランチクラスタと一つのブランチクラスタのみに接続されるリーフクラスタとに分割し、
前記ブランチクラスタ同士及び前記ブランチクラスタと前記リーフクラスタとの間のクラスタ間リンクをノード間の通信でシェアし、
前記リーフクラスタ内におけるノード同士のノード間リンクをノード毎に帯域を占有し、
前記各ノードは、ノード間リンクとクラスタ間リンクのキューを併せ持ち、前記クラスタ内のノードが送信したデータのみをノード間リンク及びクラスタ間リンクのキューにて順番待ちを考慮して出力する扱いにより上り回線に限定して前記クラスタ単位で遅延時間を計算することでトラヒック量またはスループットの評価を行う
ことを特徴としたネットワークシミュレーション装置。 In a network having a plurality of clusters (small networks) to which a plurality of nodes are connected,
The plurality of clusters are divided into a branch cluster for relaying and a leaf cluster connected to only one branch cluster,
The intercluster link between the branch clusters and between the branch cluster and the leaf cluster is shared by communication between nodes,
Occupied bandwidth for each node for the inter-node link between the nodes in the leaf cluster,
Each node has both an inter-node link and an inter-cluster link queue, and only the data transmitted by the nodes in the cluster is output in consideration of waiting in the inter-node link and inter-cluster link queues. A network simulation apparatus characterized in that a traffic amount or a throughput is evaluated by calculating a delay time for each cluster limited to a line.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009061729A JP5064428B2 (en) | 2009-03-13 | 2009-03-13 | Network simulation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009061729A JP5064428B2 (en) | 2009-03-13 | 2009-03-13 | Network simulation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010219677A true JP2010219677A (en) | 2010-09-30 |
JP5064428B2 JP5064428B2 (en) | 2012-10-31 |
Family
ID=42978072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009061729A Expired - Fee Related JP5064428B2 (en) | 2009-03-13 | 2009-03-13 | Network simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5064428B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101570828B1 (en) | 2015-02-27 | 2015-12-04 | 아주대학교산학협력단 | Bittorrent test system and method for large scale p2p experiments |
CN106686616A (en) * | 2017-03-13 | 2017-05-17 | 北京北方烽火科技有限公司 | Broadband cluster base station and broadband cluster terminal |
KR20190071575A (en) * | 2017-12-14 | 2019-06-24 | 삼성전자주식회사 | Method for data center storage evaluation framework simulation |
CN113556286A (en) * | 2021-05-31 | 2021-10-26 | 北京邮电大学 | Communication method and system of peer-to-peer network |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06291806A (en) * | 1993-03-31 | 1994-10-18 | Toshiba Corp | Event driven type network simulator |
JP2007208633A (en) * | 2006-02-01 | 2007-08-16 | Mitsubishi Electric Corp | Device, method and program for designing network |
-
2009
- 2009-03-13 JP JP2009061729A patent/JP5064428B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06291806A (en) * | 1993-03-31 | 1994-10-18 | Toshiba Corp | Event driven type network simulator |
JP2007208633A (en) * | 2006-02-01 | 2007-08-16 | Mitsubishi Electric Corp | Device, method and program for designing network |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101570828B1 (en) | 2015-02-27 | 2015-12-04 | 아주대학교산학협력단 | Bittorrent test system and method for large scale p2p experiments |
CN106686616A (en) * | 2017-03-13 | 2017-05-17 | 北京北方烽火科技有限公司 | Broadband cluster base station and broadband cluster terminal |
KR20190071575A (en) * | 2017-12-14 | 2019-06-24 | 삼성전자주식회사 | Method for data center storage evaluation framework simulation |
US10996970B2 (en) | 2017-12-14 | 2021-05-04 | Samsung Electronics Co., Ltd. | Method for data center storage evaluation framework simulation |
KR102606235B1 (en) | 2017-12-14 | 2023-11-24 | 삼성전자주식회사 | Method for data center storage evaluation framework simulation |
CN113556286A (en) * | 2021-05-31 | 2021-10-26 | 北京邮电大学 | Communication method and system of peer-to-peer network |
CN113556286B (en) * | 2021-05-31 | 2022-07-29 | 北京邮电大学 | Communication method and system of peer-to-peer network |
Also Published As
Publication number | Publication date |
---|---|
JP5064428B2 (en) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Eger et al. | Efficient simulation of large-scale p2p networks: packet-level vs. flow-level simulations | |
Floyd et al. | Difficulties in simulating the Internet | |
JP4348124B2 (en) | Method and communication device for estimating QoS | |
JP6571090B2 (en) | Multi-domain source route selective forwarding based on cooperating network controllers | |
JP5754267B2 (en) | Relay device and relay control method | |
JP5064428B2 (en) | Network simulation device | |
Rao et al. | Can realistic bittorrent experiments be performed on clusters? | |
Floyd et al. | Why we don’t know how to simulate the Internet | |
Yang et al. | Scalability comparison of SDN control plane architectures based on simulations | |
JP2003209568A (en) | Node, packet communication network, packet communication method, program, and recording medium | |
Erazo et al. | Symbiotic network simulation and emulation | |
JP6178113B2 (en) | Communications system | |
Cece et al. | An extended ns-2 for validation of load balancing algorithms in content delivery networks | |
Spaho et al. | Routing in a DTN: performance evaluation for random waypoint and steady state random waypoint using NS3 simulator | |
Barbera et al. | A fluid-based model of time-limited TCP flows | |
JP2002247087A (en) | Ip network load distributing method, ip network, ip routing device and route server | |
JP2010233021A (en) | Event control method, event control apparatus, and network simulation method | |
Su et al. | A dtn supportive network simulator for underwater acoustic sensor networks | |
Raman et al. | Experimenting with a simulation framework for peer-to-peer file sharing in named data networking | |
JP3720734B2 (en) | Packet transfer quality estimation system, apparatus, method, program, and recording medium | |
Wijekoon et al. | Effectiveness of a service-oriented router in future content delivery networks | |
Nurika et al. | Mathematical models for network card simulation and their empirical validations | |
Barbera et al. | CLAPS: a cross-layer analysis platform for P2P video streaming | |
Aikat et al. | Discrete-approximation of measured round trip time distributions: A model for network emulation | |
Rizk et al. | Improving GridFTP performance with split TCP connections |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120625 |
|
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: 20120718 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120808 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150817 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |