• 締切済み

輻輳ウィンドウ

tcpdump 等のネットワークコマンドを使って,Linux上で輻輳ウィドウサイズの 変化を解析したいのですが,方法がわかりません. tcpdump の結果として出力されるwinの次の数字は告知(広告)ウィンドウサイズなので, 輻輳ウィンドウサイズとは違うようです. ack number から解析すればいいように思いますが,確かな事がわかりません. tcpdump を使った方法か,それ以外のツールを使った方法でも構いませんので御回答頂けたらと思います. ※ 漠然としたアルゴリズム(考え方)だけでもいいです. 解析にはperlを使っており,最終的には縦軸が輻輳ウィンドウサイズ, 横軸に時間をとったグラフを出力させ,スロースタートや輻輳回避モードの状態から, TCPのバージョンを判断することが最終目的です.

みんなの回答

  • invalid
  • ベストアンサー率61% (67/109)
回答No.1

面白そうな質問だったので、少しググってみましたら Web100パッチというツールで取得できるようです。 http://www.web100.org/ どうやって使うかまでは調べられませんでした。 御免。

関連するQ&A

  • 6点で直線をひく方法?

    数学の知識が全くなく質問まで変なタイトルになってしまいました。 データ解析で横軸・縦軸に適当なメモリをとり数点のデータから直線を求める方法・名前を教えてください。名前すらわからないので検索すらできません。 横軸に体重(kg)縦軸に身長(cm)をとったときに、1年生から6年生までかく1人をプロットした時の直線?というやつですか・・・ よろしくお願いします。

  • windowsでSYN/ACKを返すプログラム

    以下の現象が発生して、大変困っております。 <現象> クライアントからhttpsアクセスをしようとして、 ブラウザに「ページが表示できません」エラーとなることがある。 <調査状況> クライアント、OS上でWireSharkを仕掛けて、TCPの通信をキャッチしたところ、 問題が発生した通信は「SYN」がOSまでは来ているが、 「SYN/ACK」が返ってきていない。 <環境> サーバ:windows2003server,Apache クライアントOS:WindowsXP <質問内容> クライアントからの「SYN」要求に対して、「SYN/ACK」を返すのは、具体的に何が返しているのでしょうか。 (windowsのソケットプログラム?) また、その調査方法があれば教えて頂けないでしょうか。 よろしくお願い致します。

  • 音の周波数を計測する機器・ソフトをおしえてください

    今、ブザーなどの音の周波数を(できればリアルタイム)で計測して波形のグラフをPCで表示する方法を探しています。 マイクなどで音を拾い、周波数の波形(縦軸が音の大きさ、横軸が時間のグラフ)を計測ソフトなどを使ってPCで表示します。次にその波形を使って、縦軸が周波数、横軸が時間のグラフを作ります。 こんな感じのことをしたいのですが、機械が苦手なぼくにとっては難しくて仕方ありません。 なのでそのような計測ソフト・解析ソフト・方法を知っている方、教えていただけると助かります。 どうかよろしくお願いします。

  • グラフ作成

    工学系の実験データをグラフにしているのですが、横軸(X軸)は1つ、縦軸(Y軸)を4つ(または3つ)を同じグラフに描けるグラフのソフトはないでしょうか? エクセルでは縦軸が2つまでしか描けないので、2つのグラフに分けています。 もしくは、エクセルで2つのグラフを大きさや原点のずれがないように重ねる方法でも構いません。 御存知の方、御教示ください。 元データはCSV形式で出力できます。

  • エクセルのグラフ(サイズ・目盛り線の線種・凡例表示)について

    Excelのグラフについていくつかお尋ねしたいのですがよろしくお願いします。 1つのシートに折れ線グラフが10枚あります。 (1)それらのグラフのサイズ(プロットエリア、グラフエリア)を揃えたいです。10枚のグラフの縦軸横軸はバラバラです。それで、特にプロットエリアのサイズを変える方法がよく分かりません。数値で揃えることが出来れば一番良いのですが…。 (2)目盛線(縦軸ライン)で、-1~5の数値を扱っているグラフがあります。線種を点線に設定しますが、0のラインだけ実線にする方法はありますか? (3)凡例表示の順番を変える方法はありますか?グラフに上から表示される順に揃えたいです。

  • fgetsについて

    こんにちは。こちらのカテゴリには初めての投稿です。よろしくお願いします。 C++を用いて、Fedora上で"tcp dump"コマンドを実行し、1秒ごとのeth0(NIC)を通過したackパケットを記録するプログラムを作成しています。(150秒分記録) ソースコードは質問文最後に記載します。 質問は、下記のプログラムでtcpdumpから1行分実行結果を取り出す際に使用しているfgets関数についてです。 調べてみると、fgtes関数は失敗した際は、NULLを返し「停止」するとあります。 http://www.nxmnpg.com/ja/3/fgets これがおそらく原因かと思いますが、何も通信が行われていない状況で実行すると、 temp = fgets(buf,150,pp); の行でプログラムが止まってしまいます。(何かしら通信がある(パケットが通る)と再開します) よって、正確な時間計測ができず、困っています。 私はC++を勉強したてで、あまり読みやすいプログラムではないと思います。申し訳ありません。 fgetsの代わりになるような関数、または方法はありませんでしょうか。 ご回答、よろしくお願い致します。 //num_ack[]に各秒におけるパケット数を記録します。 //教えてgooの仕様上、tabや半角スペースが使えないので行頭のスペースはすべて全角です。ご了承ください。 #include <iostream> #include <stdlib.h> #include <time.h> #include <string.h> using namespace std; #define N 150 int main() {    time_t start,end;    int num_ack[N];    int i=0;    char buf[150];    char *src,*temp,*srcstr;    char cmp[150];    srcstr = "ack"; //検索ワード:"ack"    FILE *pp;    pp = popen("tcpdump -i eth0","r");    //popen失敗検知    if(pp == NULL)    {       cout << "tcpdump failed" << endl;       exit(EXIT_FAILURE);    }    for(int k=0;k<N;k++) //num_ackを初期化    {       num_ack[k] = 0;    }    while(1)    {       start = time(NULL);       end = time(NULL);       while((int)(end - start) <1) //1秒間計測       {          temp = fgets(buf,150,pp); //tcpdumpから1行(1パケット分)をbufへ取得          src = strstr(buf,srcstr); //bufから、"ack"を検索          if(src != NULL && strcmp(buf,cmp) !=0) //検索結果がNULLでなく、前回から変更がある場合          {             num_ack[i] += 1;             strcpy(cmp,buf);          }          end = time(NULL);       }       j += 1;    }    pclose(pp);    return num_ack; }

  • TCP/IPに関する技術的見地

    今、ネットワークに関する課題を解いていますが、いっこうに解けず、このサイトを利用している技術者もしくは研究者の方に力をお借りしたく投稿しました。 問題  サイズの大きなファイルをHTTPなどでダウンロードする際、いわゆる分割ダウンロードソフトウェアを用いると取得にかかる時間を短縮できることが多くあります。この理由を、TCPに関する技術的見地から解説してください。 という問題です。今習った範囲では、TCPのウインドウ制御、フロー制御、スロースタート、ACKでのコネクションのやりとりなどです。主にTCP全般を学んだつもりです。 誰か分かる人がいたら、教えていただきたいです。本当に困ってます。よろしくお願いします。

  • 適切な統計方法を教えてください!

    卒論で困っています。 分割表で横軸に6個の病原因子、縦軸に下痢の頻度(0、1-5、5以上)をしらべて表にしました。 それぞれの病原因子と下痢の頻度に差があるかどうかを調べたく思っています(これ自体は意味がありますよね、、?) この場合、どのような解析方法が最適なのでしょうか? 似たような論文では、代表的な病原因子2個だけをピックアップして比べているものはみつかったのですが、全部まとめて差があると言うにはKrascal-Wallisでできるものでしょうか? 教えてください。

  • ピボットテーブルの元データが既に集計された表のとき

    上手く質問の内容が伝えられるか心配ですが。 ピボットテーブルは通常、元データの表は最上部にフィールド名があり、横軸にはフィールド名がないリスト化されたものを使用しますよね。 今回の質問は既に縦軸横軸にフィールド名がある、集計されている表をピボットテーブルの機能を使って色々な角度から集計したいとき、そのデータを整形する、またはそのままでもピボットに利用できる方法はないものかと考えています。 たとえば、横軸のフィールド名には「営業エリア」「支店名」と2段の項目があり、それぞれの支店の舌に、業績として「予算」「実績」「前年」と言うフィールド名が設定され、縦軸には「上半期、下半期」「月」と2段になったフィールド名があり、中にそれぞれの業績が表になっていると言う感じです。 なぜ、このようなことをしたいのかというと、私の会社で出力されるデータが全て集計表となっていて、自分のやりたい分析をピボットテーブルを使ってやるには適さないフォーマットでしかダウンロードできないからなんです。 縦軸、横軸にフィールド名がある集計された表を、ピボットでうまく使える方法や、エクセルのマクロなどどなたかご存じないでしょうか? よろしくお願いします。

  • windows 7 上り回線速度を改善したい

    Windows 7 を使っているんですが 上り回線だけが遅いので改善したいです Speedtest.netで測定したところ 下り速度 89.27Mbps 上り速度 30.13Mbpsです googleで検索した結果RWIN値を固定してNetTuneで編集すれば改善されると書かれていましたが改善されることなく20Mbps~30Mbpsしか出ません なので他に改善する方法・設定などがあれば教えて欲しいです 宜しくお願いします 回線 光ファイバ サービス  Bフレッツ ハイパーファミリータイプ NetTune設定 [MTU] 1454(フレッツADSL) [TCP Windows size] TCP Windows size(RWIN) 260176 Windows scalingのみにチェック [AFD] DefaultReceiveWindow 260176 DefaultSendWindow 260176