学位論文要旨



No 112582
著者(漢字) 藤田,博文
著者(英字)
著者(カナ) フジタ,ヒロフミ
標題(和) マルチプロセッサ構成のプロトコルシミュレータとトランスポートプロトコルの動特性の評価
標題(洋)
報告番号 112582
報告番号 甲12582
学位授与日 1997.03.28
学位種別 課程博士
学位種類 博士(工学)
学位記番号 博工第3860号
研究科 工学系研究科
専攻 電子工学専攻
論文審査委員 主査: 東京大学 助教授 相田,仁
 東京大学 教授 高木,幹雄
 東京大学 教授 斎藤,忠夫
 東京大学 教授 坂内,正夫
 東京大学 教授 安達,淳
 東京大学 助教授 喜連川,優
内容要旨

 近年,Fast-Ethernet,ATM-LANなど100Mb/s以上の通信速度を持つ高速LANが実現してきている.一方,通信処理におけるスループットはネットワークの高速化に比例して伸びていない.そのため,エンド-エンドレベルでのアプリケーションにおける通信では高速LANの通信速度を十分に使うことができないのが現状である.

 リンク速度が高速になると,低速のときに比べて,各層のプロトコル処理やハンドシェークによって生ずるオーバヘッドが大きくなり,伝送速度に対して十分なスループットを達成することができない.とくに,トランスポートレベルでは,さまざまな機能がホスト計算機のソフトウェアとして実行されるので,処理のオーバヘッドが大きい.

 プロトコルの振る舞いや性能を評価するには,ネットワークをモデル化し,計算機上でシミュレーションにより評価する方法がある.多くのシミュレーションでは通信手順を理想化し,解析的にスループット等を求めているが,こうした方法では,有限バッファや処理時間等をモデル化しにくく,多層のプロトコルの複雑な動作の正確な評価が困難であり,現実性が乏しい.

 本論文では現状のトランスポートプロトコルの問題点を明らかにするため,トランスピュータというマイクロプロセッサを用いたシミュレータを作成し,評価を行なう.このシミュレータは,実際にプロトコル処理を行い,伝送誤りを考慮し,OS固有のオーバヘッドをできるだけ排除することを目指す.通信インタフェースを内蔵したトランスピュータで,各通信ノードと伝送路シミュレートする.通信ノードでは実際にプロトコル処理を行い,中継ノードではバッファあふれをシミュレートし,伝送路では伝搬遅延と誤りをシミュレートする.

 通信ノードでは,トランスポート層,ネットワーク層,データリンク層の3層の機能を実行する.通信処理はOSのカーネルの機能として実装されることが多い.データを送信する場合は通常,自層でのプロトコル処理の中で下位層の関数を呼び出すことで下位層の機能を実行する.しかし,本シミュレータでは,層間の独立性を高めることと,単純化するために,これら3層の処理を3つの並行プロセスとして実現する.

 ネットワークの伝送路をシミュレートする模擬伝送路では,伝送誤りの発生と伝搬遅延の発生をシミュレートする.双方向に対して誤り発生プロセスと遅延発生プロセスをそれぞれ用意する.

図1:TCPにおける受信バッファサイズがスループットに与える影響

 トランスポート層,ネットワーク層,データリンク層がそれぞれTCP,IP,Ethernetである場合のシミュレーション結果を示す.図1は,発生するトラヒックの量を変化させたときの受信側でのスループットである.TCPでは受信側の受信バッファサイズが,送信側の最大ウィンドウサイズになる.最大ウィンドウサイズの影響を調べるため,10Mb/sの速度で接続されたポイント-ポイント型のネットワークの一方の通信ノードでトラヒックを発生させた.

 送信ノードで発生する負荷を大きくしていくと,スループットも増加するが,ある値で飽和する.この飽和したところの最大値は,受信バッファの大きさにより異なり,受信バッファをどれだけ大きくしても,約1.4Mb/s以上のスループットは得られない.

 図2に示すネットワークは,経路上にルータが存在し,ルータ間の低速なリンクがボトルネックとなり,各送信ノード間で帯域の競合が発生することを想定している.スイッチング・ハブに収容された6対の通信ノードがルータを介して反対側のノードと通信を行う.トラヒックの合計がルータ間の容量よりも大きい場合,手前のルータの入力バッファがあふれ,パケットロスが発生する.ルータ間の伝送速度が1Mb/s,その他の伝送路が10Mb/sの場合のTCPのシーケンス番号とふくそうウィンドウの時間変化をそれぞれ図3,4に示す.

図2:ルータ間にボトルネックが存在するネットワークモデル図3:TCPシーケンス番号の時間変化図4:TCPふくそうウィンドウの時間変化

 図4で,ふくそうウィンドウが一時的に1460バイトに下がってすぐに戻っているところは,fast retransmit and fast recoveryアルゴリズムが実行されているところである.

 また,4,18,23,28,41,45,50,57秒の付近では,ふくそうウィンドウが1460バイトに設定されたあと,増加している.ここでは送信側TCPでタイムアウトが発生し,slow-startアルゴリズム,続いてcongestion avoidanceアルゴリズムが実行されている.

 他にも,TCPのSACK(selective acknowlegment)オプションを用いた場合,SACKのない従来のTCPに比べてタイムアウトの発生する数が減少することがシミュレーションにより確認できた.また,TCPに新たにレート制御オプションを実装した場合の評価を行ない,送信ノードが競合する場合に帯域を適切に割り当てることにより,パケットロスの極めて少ない通信が実現できることが確認された.

審査要旨

 本論文は「マルチプロセッサ構成のプロトコルシミュレータとトランスポートプロトコルの動特性の評価」と題し、多層構造のネットワークプロトコルにおける複雑な挙動をシミュレートするために、マルチプロセッサを用いて実際にプロトコル処理を行なうプロトコルシミュレータを作成し、それを用いてTCPプロトコルにおける各種の輻輳制御機能の評価を行なったものであり、8章から構成されている。

 第1章は序論であり、本論文における研究の動機を述べるとともに、本論文の構成について述べている。

 第2章では、現在最も広く用いられているトランスポートプロトコルであるTCPの輻輳制御について、基本的なアルゴリズムを紹介した後、TCPを高速ネットワークで使用する場合の問題点として、TCPヘッダの限界によるウィンドウサイズおよびシーケンス番号の制限、複数セグメントの紛失による再送タイムアウトによるスループットの低下、輻輳制御に用いる往復遅延時間の不正確さなどの点を指摘している。また、これらの問題点を改善するためにこれまでに提案されている各種のTCPオプションについて紹介している。

 第3章では、複雑なプロトコルの動作をできるだけ詳細に評価するために、マルチプロセッサでプロトコルシミュレーションを行う方式を提案している。また、提案したシミュレータを用いて、ポイント-ポイント型ネットワーク、中継ノードのあるネットワーク、リング型ネットワークなどのシミュレーションを行なった例を紹介し、従来から行なわれている他のプロトコル評価手法と比べて、本手法がプロトコル変更の容易さ、動作の詳細さ、動特性の評価の容易さなどの点で優れていることを述べている。

 第4章では、第3章で提案したシミュレータ上でTCPのプロトコルシミュレーションを行うための詳細構成と、通信ノードと中継ノードにおける処理について述べている。また、BSD4.4Liteリリースにおける実装を元にしたTCPおよびUDPの静特性として、通信ノード間でリンクの競合がある場合のユーザスループットや、最大ウィンドウサイズがスループットに与える影響を評価している。

 第5章では、4.3BSD RenoリリースにおけるTCPの実装を元としたTCPの動特性の評価を行っている。まず、1ウィンドウ内に2個のセグメント紛失があった場合にタイムアウトを発生しないための条件について解析した後、4章で構成したTCPシミュレータを用いて、送信セグメントのシーケンス番号、送信側のTCP輻輳ウィンドウの値、ボトルネックリンクにおけるパケットキューの長さなどについて評価を行なっている。特に、2対または6対のノードが経路を共有する場合において、コネクション開始時のslow start後のタイムアウトによるスループットの低下を回避することが困難であること、コネクションが多い場合には複数セグメントの紛失によるタイムアウトが頻発することを指摘している。

 第6章では、送信側が選択的に再送を行なうSACK(selective acknowledgement)オプションについて評価を行った後、それをさらに改善するものとして、レート制御機能の追加を提案して、その評価を行なっている。

 まず、SACKオプションとともに用いる輻輳制御アルゴリズムとして、pipeアルゴリズムとFACKアルゴリズムの動特性を評価して、SACKオプションを使用することにより、複数セグメントの紛失によるタイムアウトを少なくすることができ、コネクションの数が少ない場合には、ほとんどタイムアウトすることなく通信できることを明らかにしている。また、FACKアルゴリズムはネットワーク中のセグメント数をより正確に推測するため、pipeアルゴリズムよりも大きなスループットを達成でき、特に、再送セグメントの紛失を検出した場合、再々送を行なうことで、タイムアウトする場合が極めて少なくなることを明らかにしている。

 これに対して、送信側で一定時間に送信できるデータ量を制限するレート制御機能をつけ加えた場合、レートの制御間隔が大きいと、バースト的な送信のために、セグメントの紛失が増加し、かえってタイムアウトしやすくなることを指摘している。例えば通信レートを250kb/sに制御しようとする場合には、100ms以下の間隔で制御する必要がある。しかし、適切なレートパラメータを用いることで、経路上のキューの変化が安定し、パケット紛失を最小限にとどめられることを示している。

 第7章では、第6章で評価を行なった各方式について、バックグラウンドトラヒックが存在する場合およびより高速な環境での評価を行なっている。SACKオプションを用いることにより、タイムアウトの回数が少なく、大きいスループットを達成することができるが、結果的にバックグラウンドにあるSACKオプションなしのコネクションの帯域を奪うことを示している。また、レート制御だけではタイムアウトが多く、高スループットの達成は困難であるが、SACKオプションとともに用いることで、タイムアウトを減らしてスループットを維持しつつ、他のトラヒックに与える影響を小さくとどめることが可能であることを明らかにしている。

 第8章は結論であり、本論文で得られた成果を要約している。

 以上これを要するに、本論文は多層構造のネットワークプロトコルにおける複雑な挙動をシミュレートするための、プロトコルシミュレーションの方式を提案するとともに、提案したプロトコルシミュレータを用いてTCPプロトコルにおける各種の輻輳制御機能の評価を行ない、SACKとレート制御を用いることで、高速環境にも対応可能であることを示したものであって、電子情報工学上貢献するところが少なくない。

 よって本論文は博士(工学)の学位請求論文として合格と認められる。

UTokyo Repositoryリンク http://hdl.handle.net/2261/1885