Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/17:2/2
2024/05/16:22/24

2024/03/18より397/1406
人気モジュール
No.1: フォーラム 92
No.2: QualNet概要 2
No.3: ニュース 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット71
No.2:Unknown OS1

No.1:どっかの巡回ロボット63
No.2:Majestic-12巡回ロボット5
No.3:Google巡回ロボット3

日曜日からの合計
メイン
   Scenario Setup & Configuration
     GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
gogotea
投稿日時: 2012/1/23 0:03
新米
登録日: 2011/12/31
居住地:
投稿: 8
GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
こんばんは
QuaLnetのGUI機能にて以下の環境で次の3つの項目の値を確認しましたが、3つの項目の結果に矛盾が生じ、どう解釈すればいいのかわからなかったので、質問させていただきました。

【統計項目】
Peak Queue Size
TotalPacketsDropped
TotalPacketsReceived

【ネットワーク環境1】
Qualnet5.0.2
Routing Protocol:OLSR-inria
上記のものを使用しています。

以下電波範囲変更(150m間隔の格子状で行う際に用いる設定のようです。)
Radio Type 802.11a/g Radio
Transmission Power at 6 Mbps 8.0
Transmission Power at 9 Mbps 8.0
Transmission Power at 12 Mbps 10.0
Transmission Power at 18 Mbps 18.0
Transmission Power at 24 Mbps 18.0
Transmission Power at 36 Mbps 16.0
Transmission Power at 48 Mbps 16.0
Transmission Power at 54 Mbps 16.0

GUIにて150m間隔の10*10の格子状ネットワークを作成し、以下の通信を行わせました。
最下段中央の51番ノードから最上段中央の60番ノードまでCBR通信
左端中央の5番から右端中央の95番ノードまでCBR通信

この2つのCBR通信はStatic routingで行っています。
51〜59(55番ノードは、もう片方のCBR通信も行うので除く)
5,15,25,35,45,65,75,85番ノード
55番ノードに専用のroutes-staticファイルを持たせることで
51->52->53->54->55->56->57->58->59->60のCBR通信と
5->15->25->35->45->55->65->75->85->95のCBR通信を行わせています。

Staticファイルは添付させていただきました。
【Nodes】→【RoutingProtocol】→【Specify Static Routes】からファイルを読み込めます。


51->60のCBR通信 5->95のCBR通信両方とも同じ設定です。
items to send 4000
item size 512byte
interval 10millsecond
start 100s
End 140s

シミュレーション時間 200s

全てのノードとインターフェースで
Number of IP Output QueueSize=1に設定してあります。
【Network Layer】→【Schedulers and Queues】→【Number of IP Output QueueSize=3→1】

【Interferce】と【Nodes】の両方の項目で55番ノードを(CBR通信が交差するノード)
【Network Layer】→【Schedulers and Queues】→【IP Input Queue Size】=2000に変更しました。

【統計結果】
TotalPacketsReceived 3926(60) 3946(95) //統計値(宛先ノード番号)
TotalPacketsDropped 2(55) //統計値(パケット落ちした中央のノード番号)
Peak Queue Size(byte) 1684(55) //統計値(中央のノード番号)
【QualNet.1.22.12_21.07.03.stat】(添付させていただきました)

________________________________
【ネットワーク環境2】
ネットワーク環境1と基本的には同条件です。
変更点は
51->52->53->54->55->56->57->58->59->60のCBR通信
5->15->25->35->45->55->65->75->85->95のCBR通信
この2つのCBR通信に以下のCBR通信を追加しました。

71->72->73->74->75->76->77->78->79->80->70->60のCBR通信
このCBR通信も同じくStatic routingで行っています。
それぞれ関連するノードにStaticファイルを持たせてあります。(75番ノードは2つのCBR通信が交差する点なので55番ノードと同じく専用のStaticファイルを用意)

5->95のCBR通信はネットワーク環境1と同様です。

51->60のCBR通信はitems to sendを4000→1000に変更
71->60のCBR通信はitems to sendを3000に設定しました。
(4000パケットを擬似的に分断させて送信)

TotalPacketsReceived 3872(60) 3888(95) //統計値(宛先ノード番号)
TotalPacketsDropped 135(55) //統計値(中央のノード番号)
Peak Queue Size(byte) 1812(55) //統計値(中央のノード番号)
【QualNet.1.22.12_21.26.20.stat】
_______________________________

【結果に対する疑問点】
ネットワーク環境1、ネットワーク環境2どちらについてもいえることですが、55番ノードのOutputqueueSizeは2000byteに設定しました。
55番ノードのPeak Queue Sizeはどちらの環境でも2000を超えていません。にもかかわらず55番でパケット落ちが発生しているのは何故でしょうか?Peak Queue SizeがQueueSizeを超えていないのにパケット落ちが発生している疑問。

ネットワーク環境?では51->60に対して4000パケットを送信していました。ネットワーク環境?で51->60に対する送信パケットは1000パケットに減らしたにも関わらず、ネットワーク環境?での55番のパケット落ちが増してしまったのは何故なのでしょうか?
普通に考えたら、4000パケット送っていたのが1000パケットになったのだから4000パケットを送っていた時よりパケット落ちが発生することはないはずです。
________________________________
staticファイル、2つの統計結果(statファイル)とットワーク環境?のconfigを添付させて頂きました。
ネットワーク環境1に関しては、必要であれば添付致しますが、2のconfigから追加したCBR通信を消し、Noedsに設定したStatic RouteをNOに戻し、送信量を1000->4000に変更すれば簡単に再現できます。

GUIやプログラムなど色々な点からパケットを分散させることで、統計値がよくなるようなネットワーク環境づくりを目指していますが、想定している結果と実際の結果がまったく違うためどう対処し次に何をするべきなのかが見えてこない現状です。
ご回答よろしくお願いします。

10kake10_matome.zip
scallion
投稿日時: 2012/1/24 20:44
常連
登録日: 2010/10/21
居住地:
投稿: 51
Re: GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
Queueに1812Byetたまっている時に、540Byteのパケットが到着したら
1812 + 540 > 2000で格納できないのではないでしょうか。

環境1->環境2で、55番のパケット落ちが増加した原因は、ぱっと思いつきませんでした。

一つ疑問ですが、routing protocolをOLSRにして、static route設定は効くのでしょうか。
hed
投稿日時: 2012/1/24 23:28
一人前
登録日: 2006/7/3
居住地: 京都
投稿: 81
Re: GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
gogoteaさん、横からすいません。

問題点に関してはさらっと目を通しただけですが、scallionさんのコメントが気になったのでちょっとだけstatファイルをのぞいてみました。

パッと見た感じではOLSRのパケットが全端末で(55番でも)流れていますね。
static routeの設定ができているかは確認していませんが、少なくともOLSRが優先されているのではないでしょうか?

CBRでA→B→C→Dと設定したとありますが、A→Dしか設定できないです。
A→B→C→Dはstatic routeでの設定となります。

動きを想定して設定をしていると思いますが、想定通りに動いてるのか確認することをお勧めいたします。

転送経路はプログラムを変えなくてもデバッガで追いかけられますよ。
大変であればシナリオを小さくすれば問題の切り分けがしやすくなると思います。
gogotea
投稿日時: 2012/1/25 21:40
新米
登録日: 2011/12/31
居住地:
投稿: 8
Re: GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
scallionさん、hedさん回答ありがとうございました。
お二方から「StatiRoutingができていないのではないか」という指摘を受けましたが、結論から書くと
「Static Routingはできています。」
CBR通信の開始時間とともにGUIのアニメーション上で、Static Routeを通ったマルチホップ通信が確認できています。

「CBRでA→B→C→Dと設定したとありますが、A→Dしか設定できないです。
A→B→C→Dはstatic routeでの設定となります。」
→Static routingでCBR通信をA→B→C→Dでやっているという意味です。

「転送経路はプログラムを変えなくてもデバッガで追いかけられますよ。
大変であればシナリオを小さくすれば問題の切り分けがしやすくなると思います。」
→以前3kake3のシナリオでパケットのフォワーディングをデバッグで追いかけようとしたことがありますが、
結論から書くと、ある程度の検討はつけましたが、どのファイルのどのソース部分(関数)でいつデータパケットのフォワーディングを行っているか正確に追い切ることができませんでした。
この点が分かると自分の研究に大変役立つので捕捉していただけると幸いです。

まず、フォワーディングではなく、どうなって初めて統計値のTotalPacketsDroppedが表示されるのかということが気になり、
この統計値を出力してるソース部分を探しました。
以下該当部分:if_queue.cpp
sprintf(buf, "Total Packets Dropped = %u", (Int32)numPacketsDropped);

numPacketsDroppedがどう変動していくかをプログラムで追い、最終的にパケット落ちを判断する式を発見しました。
以下該当部分:if_queue.cpp
if (MESSAGE_ReturnPacketSize(msg) > (queueSizeInBytes - bytesUsed))

このif文の条件によりパケット落ちが発生するかどうかの判定をしています。
if文直後のプログラムの先頭にブレークポイントをつけF5(デバッグ)を押したところ、
コマンドプロンプト上でCurrentSimTimeが表示され、この時のCurrentSimTimeの値がCBR通信開始の時間であったこと
【Nodes】→OutputqueueSize=2001に変更しましたが(55番でパケット落ちをさせようとした)
このパケット落ち判定式を通過した時のqueueSizeInBytesの値が2001であったことからこれがパケット落ち判定式であることは間違いないといえます。
しかし、私はこの2001という値が55番ノード(3kake3シナリオの場合は5番ノード)のOutputqueueSizeであることを自分で設定したので知っていますが、プログラミング上で、どうやって55番ノードでinterferceであるのかを指しているのかが分かりませんでした。
デバッグ途中にローカルで全ての変数を見ましたが、55番ノードに関連した変数はないようにみえました。
(160.0.0.55を一度2進数に変換してから10進数に戻すと=2835349559になります。ですがこの値はありませんでした。)

F5を一度押したことにより、今パケット落ちが発生し、これからデータパケットのフォワーディングが続くはずだと思った私は
このパケット落ち判定式を一度通ってから次にもう一度通るまでの間でパケットのフォワーディングを行っている関数があると考えました。
Forwarding関連の関数はたくさんあるわけですが、この方法で以下の2つの関数でパケットのフォワーディングを行っているのではないかと見当をつけました。

RouteThePacketUsingLookupTable()

NetworkGetInterfaceAndNextHopFromForwardingTable()

3kake3のシナリオでは以下のような流れでStatic Routingを行っています。
2->5->8
4->5->8

デバッグを続け
NetworkGetInterfaceAndNextHopFromForwardingTable()の中で
destinationAddress=2835349512
nextHopAddress=0x001242f4
interferceIndex=0x001242ec
など関連深い変数が変動するわけですが、この数値が何を表しているのかが分かりませんでした。
destinationAddressに関しては「2835349512」この数値を2進数に直し8bitずつに分けてから10進数に変換したところ
169.0.0.8とデータパケットの宛先端末を表す数値に変換できたわけですが、
nextHopAddressとinterferceIndexが表している数値が何なのかわからず追いきることができません。
またこの関数内にはディスティネーションの変数が2つあったりします。
単独であるもの(destinationAddress)、fowardTable構造体→row構造体の中にあるdestaddress
フォワーディングに関して自分が取り組んだことをまとめてみました。
結局デバッグで追い切ることができまえんでした。

________________________________
分からない点・知りたい点のみピックアップします。
・メイントピックで挙げた、PeakQueueSizeを超えていないのにパケット落ちが発生している矛盾と
4000パケット送っていた時よりも1000(残りの3000は別ルートで分散)パケット送ったときのほうがパケット落ちしてしまった矛盾の原因

・以下の2つの変数が表す数値からどうやってIPアドレスを入手できるのか
nextHopAddress=0x001242f4(10進数に変換すると1196788)
interferceIndex=0x001242ec(10進数に変換すると1196780)

・パケットのフォワーディングをしている様子をデバッグで追いたいがその際に見る関数は
RouteThePacketUsingLookupTable()
NetworkGetInterfaceAndNextHopFromForwardingTable()
この関数であっているのかどうか

・if_queue.cpp
if (MESSAGE_ReturnPacketSize(msg) > (queueSizeInBytes - bytesUsed))
この式でqueueSizeInBytes=2001が55番ノード(私がQutputQueuesizeを変更したところ、3kake3シナリオでは5番)だとわかりますが、
プログラム上ではどうやって55番ノードであることを識別しているのか。
55番のIPアドレスを表すような変数はローカルにはなかった気がします。
(160.0.0.55を一度2進数に変換してから10進数に戻すと=2835349559になります)
scallion
投稿日時: 2012/1/25 23:04
常連
登録日: 2010/10/21
居住地:
投稿: 51
Re: GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
すぐにわかる部分だけ書きます。
StaticRouteの設定がやはり気になります。

引用:

・メイントピックで挙げた、PeakQueueSizeを超えていないのにパケット落ちが発生している矛盾と

前にも書きましたが、例えばPeakQueueSizeだけQueueにあるとしたときにCBRパケット(512Bytes+ヘッダ)は入らないと思います。
if (MESSAGE_ReturnPacketSize(msg) > (queueSizeInBytes - bytesUsed))
このifの中でDropしていますよね。

引用:

・4000パケット送っていた時よりも1000(残りの3000は別ルートで分散)パケット送ったときのほうがパケット落ちしてしまった矛盾

ルーティングの問題の様な気がしています。まだ確証はありませんが。

引用:

・以下の2つの変数が表す数値からどうやってIPアドレスを入手できるのか
nextHopAddress=0x001242f4(10進数に変換すると1196788)
interferceIndex=0x001242ec(10進数に変換すると1196780)

変数のアドレスではないでしょうか。
中身をみたら、interfaceIndex: 0, nextHopAddress: 2835349519等の値が入っていました。あくまで一例です。

引用:

・パケットのフォワーディングをしている様子をデバッグで追いたいがその際に見る関数は
RouteThePacketUsingLookupTable()
NetworkGetInterfaceAndNextHopFromForwardingTable()
この関数であっているのかどうか

ForwardPacketというそのまんまの名前を持った関数を見つけました。

引用:

・if_queue.cpp
if (MESSAGE_ReturnPacketSize(msg) > (queueSizeInBytes - bytesUsed))
この式でqueueSizeInBytes=2001が55番ノード(私がQutputQueuesizeを変更したところ、3kake3シナリオでは5番)だとわかりますが、
プログラム上ではどうやって55番ノードであることを識別しているのか。
55番のIPアドレスを表すような変数はローカルにはなかった気がします。
(160.0.0.55を一度2進数に変換してから10進数に戻すと=2835349559になります)

node構造体の中身を見てみてください。
gogotea
投稿日時: 2012/1/27 22:40
新米
登録日: 2011/12/31
居住地:
投稿: 8
Re: GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
scallionさんアドバイスありがとうございます。
お二方のご指摘を参考にし以下の2つの検証を行ってみました。

ForwardPacket関数も実はすでに見つけていたのですが、StaticRoutingを行っていたシナリオでデバッグをしたところ
desaddressの値がGUIで設定していた宛先ノードIPアドレスと一致していなかったため、この関数は無視していたのですが、
再度、ルーティングミスのご指摘いただいたので、一度OLSRでStaticRouteを用いなかった時のForwardPacket関数の動作を追いました。


【まず最初に】:
「olsrのみでルーティングを行ったシナリオではForwardPacket関数での動作とGUI画面の【Output windows】に表示させた
ルーティングテーブルを追った時の結果が一致しました。(検証1)
今回登場する3つのシナリオは全て1つのCBR通信しか用意していません。
今回追った変数はpreviousHopaddress,noedId,desaddress,nexthopaddressの4つです。

【検証1】olsrのみでルーティングを行った際のForwardPacket関数の動作チェック
routing_olsr-inria.cppファイルの↓の値を0から1に変えるとGUI上の【Outputwindow】にルーティングテーブルが表示されます。
#define DEBUG_OUTPUT 0

【OutputWindow】にて1->2->5->6->9このようにCBR通信がマルチホップされていることが分かりました。
このパケットの流れの動作を確認するためにForwardPacket関数の以下の行の先頭にブレークポイントを設置しました。
●NetworkDataIp *ip = (NetworkDataIp *) node->networkData.networkVar;

NetworkDataIp構造体の中にforwardTable構造体があり、さらにこの中にrow構造体があります。
row構造体のメンバ内にdesAddressとnextHopAddressがあります。
previousHopaddressはForwardPacket関数の引数としてあり、noedIDも引数として読み込まれます。

【実際のルート】1->2->5->6->9
【捕捉】addressに関しては実際は2835349505 このような数値で出力されますが、わかりづらいためここでは、
この数値をIPアドレスに変換した場合の最後の1ケタの数字のみを書いてあります。(数値を2進数に変換→8bitずつに区切り10進数に再度変換することでIPアドレスが得られます。)
2835349505→169.0.0.1→1と書いてあります。
IPアドレスと実際のノード番号のずれがないことは事前に確認済みです。

スタート(F5(デバッグ))→ステップイン(F11)
【デバッグ結果】
previousHopaddress=1
noedId=2
desaddress=9
nexthopaddress=5

↓F5+F11

previousHopaddress=2
noedId=5
desaddress=9
nexthopaddress=6

↓F5+F11
previousHopaddress=5
noedId=6
desaddress=9
nexthopaddress=9

以下この流れをループしました。
この動作から1->2->5->6->9のうち2->5->6->9とマルチホップしたことが確認できました。
【疑問点1】
1->2を更新した部分がForwardPacket関数に入るまえに行われたことが考えられますが、visual studioの呼び出し機能などを
使っても中々把握できない現状です。これを把握するにはどうすればいいでしょうか?
上で挙げた流れを考慮すると
previousHopaddress=null
noedId=1
desaddress=9
nexthopaddress=2
となる瞬間があるはずだと考えているのですが、このように変化するポイントが見つかりません。

_______________________________________________
【検証2】
OLSRを動かしつつStaticRoutingはできないないのではないか?という指摘をいただいたので以下のことを検証してみました。
GUI上で【Nodes】と【Networks】からRouting Protocolをolsr_inriaに設定した場合と
Bellmann Ford(デフォルトでこの設定になっている)に設定した場合で、3kake3の格子上のネットワークにて
1->4->7->8->9->6->3->2このようなStaticRoutingを行わせるように設定しました。
Staticファイルは添付しておきました。(2番と5番以外にこのStaticファイルを持たせています。)
少なくともGUI上では確実にStaticRouteで設定したRouteを通っていることが確認できています。
しかし検証1と同様にForwardPacket関数を追ってみたところ以下のような結果になってしまいました。

previousHopaddress=1
noedId=4
desaddress=9
nexthopaddress=5

↓F5+F11
previousHopaddress=4
noedId=7
desaddress=9
nexthopaddress=8

↓F5+F11
previousHopaddress=7
noedId=8
desaddress=9
nexthopaddress=9
//ここで目的値にたどりついたのかと思いましたが..以下につながる

↓F5+F11
previousHopaddress=8
noedId=9
desaddress=8
nexthopaddress=8
以下の変数の変動は確認していません。

まずdesaddress=9になっている時点でおかしいことがわかります。
宛先受信端末ノードは2番に設定してあります(1->4->7->8->9->6->3->2)

【疑問点2】
結局,StaticRoutingは設定できいないということなのでしょうか。
デフォルト設定のBellmann FordでもStaticRoutingの動作がForwadPacket関数で確認できなかったわけですが、
結局StaticRoutingとは何だったのかという疑問が残ります。

【疑問点3】
GUI上では間違いなくStaticRouteを通っているわけですが、ForwardPacket関数内とは別のところで
StaticRoutingを用いたフォワーディングが行われれていたか、ForwardPacket関数での謎のフォワーディング動作が行われてしまい
、本題であるパケットを分散したにも関わらず結果が逆に悪くなってしまったことにつながったと考えるべきでしょうか。
そうだとした場合はForwardPacket関数を読み込んでいる部分を全てコメントアウトすれば、期待通りの結果が得られるのか(これは後日また検証しています)

【疑問点4と仮説】
検証1に書いたようにStaticRoutingを用いない場合ではForwardPacket関数での動作をほぼ追えたわけですが、
その際に、このForwardPacket関数が何回デバッグで通過したのかを確認しました。
結果は1200回、ForwardPacket関数がデバッグされました。

検証1に挙げた通りnexthopaddress=9になる(宛先端末ノードに到達する)のに3回
このForwardPacket関数を通過することが簡単に確認していただけるかと思います。
つまり,宛先端末ノードに到達するのに必要なデバッグ回数は3回ということ。
1200/3=400

実はこの400という数字は1番から9番に送信させたときのItems to sendの値を一致します。
何がいいたいかというと、QualNetでは(少なくとも本シナリオでは)1パケットずつソースプログラム上で
送信しており、現在送っているパケットが宛先端末ノードにたどりついてから、次のパケットを送信する。
このプロセスを400回繰り返し、400パケット宛先端末ノードに送信しているということです。

StaticRoutingの未だによくわからない現象により、トラフィックの分散による結果がよくならないということに、悩まされているわけですが、
もし上で挙げた仮説を真とした場合、この関数に通った回数が300を超えたら
previousHopaddress,noedId,desaddress,nexthopaddressこれらの値を下記の直後で変更することで、
StaticRoutingを用いなくても、パケットの分散をすることができ、(400パケットを300パケット用のルートと100パケット用のルートで分断)期待通りの結果が得られるのではないかと考えているのですが
どうでしょうか?

●NetworkDataIp *ip = (NetworkDataIp *) node->networkData.networkVar;

この方針で今後頑張っていこうと考えているわけですが、ここで疑問点1が浮上し
1->2->5->6->9の流れのうち、1->2の経路選択を変更できない点に悩まされています。

情報が不足してる点などがあれば、ご指摘いただければ捕捉いたします。
アドバイスしていただけると幸いです。よろしくお願いします。


添付ファイル:
1to9_NoStatic_olsr:検証1用のシナリオ
1to2_14789632:検証2用のolsr+static
Bellmann_Ford_static:検証2用のBellmann Ford用のStatic

1月28日まとめ.zip



________________________________
【追記】1月28日
お恥ずかしながら、RoutingProtocolの選択の覧に【None】があることに気づきました。これを知らなかったので上記の検証2で、RoutingProtocolを態々デフォルトのBellmann Fordを選択していたわけですが...

Routing Protocolを【None】にしたうえで、Static Routingを設定し
ForwardPacket関数の動作を追ってみたところ。
GUIのアニメーション画面、ForwardPacket関数の動作の両方でStaticRoutingで設定した経路を通っていたことを確認しました。
つまり、お二方からご指摘いただいた通り、Routingの設定がうまくいっていなかった模様です。
ただ未だに何故GUI画面ではStatic Routeを通っていたのかが分かりません。とりあえず、この理由は今すぐに知る必要はないのですが、やはり
疑問点1に書いたように、1->2へとパケットをフォワーディングする部分がソースプログラム上で見つかりません。

【疑問点1】
1->2を更新した部分がForwardPacket関数に入るまえに行われたことが考えられますが、visual studioの呼び出し機能などを
使っても中々把握できない現状です。これを把握するにはどうすればいいでしょうか?
上で挙げた流れを考慮すると
previousHopaddress=null
noedId=1
desaddress=9
nexthopaddress=2
となる瞬間があるはずだと考えているのですが、このように変化するポイントが見つかりません。


scallion
投稿日時: 2012/1/31 15:27
常連
登録日: 2010/10/21
居住地:
投稿: 51
Re: GUIでパケット分散_QueueSize変更によりTotalPacketsDropped、TotalPacketsReceived、Peak Queue Sizeの統計結果の矛盾
読むのに結構時間がかかってしまいました。。
情報がちょっと多すぎるかも・・?(少なすぎるのも問題ですが・・難しいですね。)

それはさておき、
引用:

【疑問点1】
1->2を更新した部分がForwardPacket関数に入るまえに行われたことが考えられますが、visual studioの呼び出し機能などを
使っても中々把握できない現状です。これを把握するにはどうすればいいでしょうか?
上で挙げた流れを考慮すると
previousHopaddress=null
noedId=1
desaddress=9
nexthopaddress=2
となる瞬間があるはずだと考えているのですが、このように変化するポイントが見つかりません。


1からスタートしたのであれば、1->2はForwardとは言わないのではないでしょうか。
NetworkIpSend〜〜ではないでしょうか。(未確認です)


引用:

ただ未だに何故GUI画面ではStatic Routeを通っていたのかが分かりません。

矢印の流れを見て判断されたのでしょうか。
GUI表示にはあまり詳しくないですが、矢印で判断するのは難しいと思いますよ。
OLSR+Staticの時は、OLSRのパケットも出ていたでしょうし。
一瞬しか矢印が出なかったり、タイミングがちょっとずれることもあるかと思います。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT