- - PR -
ネットワークのトラフィック量について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-07-20 23:15
初歩的な質問で申し訳ないのですが、ネットワークのトラフィク量を算出する上で、
100Mbps(半2重)のイーサネットで伝送できる最大量はどの程度を考えればよいでしょうか? 以前どこかの記事で10Mbpsのイーサネットでは6割〜7割程度を見込みと記載してありました。 私の認識している範囲では、12Mbpsを超えると何らかの再送等の遅延が発生すると考え ていました。 |
|
投稿日時: 2002-07-22 09:21
こんにちはー
最近半二重を使わないのですが、やはり、さまざまな条件により、最高速は 上下すると思います。もし空いてるPCが2台あったら、netperfなどのツールで、 実測してみたほうが早いかもしれません。 ちなみに、2台のbookPCでオンボードNICを使い、クロスケーブルで直につないで テストしたら、全二重の場合 60-70Mは確実に出ました(遅い?) |
|
投稿日時: 2002-07-27 15:14
Junbowさん
回答ありがとうございます。 参考にさせていただきます。 結局は全2重でもはやり3割程度と見るということですね。 |
|
投稿日時: 2002-07-30 10:27
思うんですけど、よく「全二重で200M」って見かけますが、これはどう考えても、「送信・受信、それぞれ最大100M」だと思うのです。例えば受信データが多くて、送信データが少なくても、受信に100M以上は使えないはずなので。
そう考えると、「半二重」と「全二重」を単純に2倍と考えてはいけないような気がしています・・。(^^? |
|
投稿日時: 2002-08-01 16:34
はじめまして
そうですね。「全二重で200M」って、確か宣伝用のカタログのキャッチコピー だったと思います。だから、半2重だろうが、全2重だろうが通信の最大スピード は100bpsです。 |
|
投稿日時: 2002-08-13 21:12
はじめまして。横から失礼します。
件のEthernetの許容トラフィックですが、おそらくネットワークを流れる平均フレーム長如何によって変わってくると思います。 まず理論上の最大利用率ですが、以下の式によって求まります。 平均フレーム長/(8+平均フレーム長+フレーム間隔)*100(%):(単位はByte) 分母中、最初の8Byteは、PAとSFDの合計です。また最後のフレーム間隔は、Ethernetの規定上9.6μ秒以上と規定されていますので、10BASEの場合96bit(12Byte)、100BASEの場合960bit(120Byte)の間隔が必要になります。 例えば100BASEのネットワークで平均フレーム長が1000Byteだったとすると、 1000/(8+1000+120)*100=約88.65 最大伝送路利用率は約88.65%になるので、この条件の場合スイッチングHUBでは、上り下りでそれぞれ約89Mbpsを転送することができるはずです(もちろんスイッチや端末の性能によってこの性能が出ないこともあります)。つまり、Ethernetでは100BASEといっても厳密に100Mbps出すことはできないわけですね。 それでは半二重の時はどうなるかということなのですが、ここでコリジョン(衝突)を原因とする限界にぶつかると思われます。ご存知のように半二重環境下ではコリジョンを起こした端末はデータを再送するため、データ量が増加するとコリジョン発生率が上がり、コリジョンが発生すると再送がかかり、再送されるとデータ量が増加する、といった悪循環に陥ります。 このコリジョン発生率は伝送路利用率の増加につれて指数関数的に増加する傾向を見せるため、半二重Ethernetでは伝送路利用率を上げると再送フレーム数が増えて、伝送効率は逆に下がる現象を生じるようです。そのため半二重Ethernetでは、おおむね375〜500Byte程度のフレーム間隔が極端な効率悪化が起こらない最低ラインと一般に認識されているようです(私の記憶では)。 先ほどの平均フレーム長1000Byteの場合で、フレーム間隔を500Byteと考えるのであれば、 1000/(8+1000+500)*100=約66.31 となり、約66.31%以下の伝送路利用率が、効率的に通信するための限度といえるのではないでしょうか。 以上、私の覚え違いがあるかもしれませんが、ご参考いただければと思います。 |
|
投稿日時: 2002-09-08 03:06
Pepperさん
みなさん貴重なご意見ありがとうございます。 また、返信が遅くなり申し訳ないです。 で、Pepperさんの言われているとおりだとすると、理論上100Mbps全二重では約88Mbps 半二重では66Mbpsの帯域が使用できるといことですね。 ということは、ネットワークを設計する際に通信データ量として、上記を超えたら、別の手段 を考えることになると考えてよいのでしょうか? 例えば、アプリケーション等の通信量が91Mbps必要であるとすれば、GbEを検討するなど... それと、また勉強不足で申し訳ないのですが、コリジョンは全二重では発生しないという ことですよね?では、データの再送も発生しないのでしょうか。 (〜ネットワークは難しいです。) |
|
投稿日時: 2002-09-09 15:30
>ということは、ネットワークを設計する際に通信データ量として、上記を超えたら、別の手段
>を考えることになると考えてよいのでしょうか? >例えば、アプリケーション等の通信量が91Mbps必要であるとすれば、GbEを検討するなど... そうですね。アップリンクをビック・パイプ化する、一つのポートにトラフィックが集中しないように負荷分散する、などが必要になると思います。このときのミソは、インターフェース速度を バックボーン・ネットワーク >= アクセスネット・ワーク となるように設計することです。 >それと、また勉強不足で申し訳ないのですが、コリジョンは全二重では発生しないという >ことですよね?では、データの再送も発生しないのでしょうか。 おっしゃるとおり、全二重通信ではコリジョンは発生しません。ただし、再送が発生することはあります。 スイッチングHUB等では、一つのポートにトラフィックが集中すると、受信バッファをあふれさせてしまいます。この際、バッファに収まらなかったパケットは消失します。そのため、トランスポート層プロトコルにTCPなどを使用している通信では再送によるレスポンス悪化、UDPのように再送機能のないプロトコルを使用している通信ではセッションダウンが生じます。 スイッチングHUBの中には、このような悪影響を避けるため、「フロー制御機能」と呼ばれる機能を搭載しているものがあります。 通常バッファあふれは瞬間的に発生します(恒常的に発生している場合、ネットワークの性能不足ですので、設計自体を見直すしかありません)。フロー制御機能を持つ機器の場合、バッファあふれを検出した際は「ポーズ・フレーム」と言うメッセージを端末に送り、再送を促します(IEEE802.3x方式)。これにより、TCP再送時のようなレスポンス悪化や、UDPのようなセッションダウンを防ぐことができます。 それでは。 |