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

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/18:11/13
2024/05/17:19/24

2024/03/19より398/1408
人気モジュール
No.1: フォーラム 114
No.2: QualNet概要 4
No.3: ニュース 2
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット89
No.2:Unknown OS1
No.3:Windows NT1

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

日曜日からの合計
メイン
   Routing Protocols Implementation & Model Development
     中継端末指定フラッディング
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
jun
投稿日時: 2008/11/1 22:00
半人前
登録日: 2008/10/9
居住地:
投稿: 23
中継端末指定フラッディング
私が今から以下の様なプロトコルを作ろうとしています.
使用するパケットは,自分の端末ID・位置・中継端末指定ID・進行方向を含みます.
 送信処理
?各端末は周辺端末情報(端末の位置(x.y)と端末ID)から,自端末から進行方向に対して一定の距離(アンカーポイント)に最も近い端末のIDを検索し,そのIDをパケットの中継端末IDに付加しフラッディング(ローカルブロードキャスト)します.(ただし,初期状態では周辺端末情報はもっていないため付加できないので通常ローカルブロードキャストを行う)
受信処理
?パケットを受信した各端末は,受信したパケットから端末のIDと位置(x,y)を周辺端末情報に保存・更新します.
?受信したパケットの中の中継端末指定IDを調べ,そのIDが自分の端末IDと一致したら中継し,ローカルブロードキャストを行い,一致していなければパケットは破棄します.
次の送信処理では周辺端末情報は分かっているので,中継端末IDを挿入してローカルブロードキャスト可能となる.
送信処理は,周期的に行います.
これにより,無駄なフラッディングを防ぐのが目的です.
送信・受信処理を繰り返すプロトコルを作成するつもりです.
1ホップ内のみのフラッディングを考えています.
添付ファイルにモデルを示しました.
データパケットのフラッディングの投稿に以下の

1.ノードをいくつか配置
2.そのうちのひとつのノードにSingleHostApplication(MCBR)設定
Nodes - SingleHostApplications - 右クリックでAdd
MCBRを選択
3.Multicast Group Addressに192.0.0.255を設定

とありましたが自分の考えなんですが,MCBRを改造すればできますかね?

自分はまだ一度も新しいプロトコルを作成したことがないので
何も分かりません.今後何をすればいいのか分からないので教えていただけますか? (マニュアルのどこのページを見る,〇〇のソースの〇ページ目を見る等)

コールネット.ppt

コールネット.ppt
matumoto
投稿日時: 2008/11/2 15:53
一人前
登録日: 2008/5/13
居住地:
投稿: 80
Re: 中継端末指定フラッディング
まず、MCBRはアプリーケーションなので、サーバとクライアントという概念で作られています。
データの送信と受信を行うノードを明示的に指定し、その設定についても.appに記述します。
受け取ったパケットを誰に(どのインタフェイスから)送るべきかという処理は含まれていません。

次に、ルーティングプロトコルはアプリケーションではないので、全ノードがサーバでありクライアントです。
そのルーティングプロトコルを処理する全ノードがルーティングデータの送信と受信うことになり、設定についても.configに記述します。
また、ルーティング処理ですから、受け取ったパケットを誰に送るべきかという処理を行う必要があります。
したがってQualNetのIPレイヤの処理と強くかかわる必要があります。

アプリケーションにはアプリケーションなりのQualNetにおけるお約束があり、
ルーティングプロトコルにはルーティングプロトコルなりのQualNetにおけるお約束があります。

したがって、アプリケーションのスケルトンからルーティングプロトコルを作成するよりは、
ルーティングプロトコルのスケルトンから作成した方が良いと思います。

プロトコルの詳細についてはわかりませんが、スタティックルーティングではないことはわかりました。
また、動的に変化するプロトコルのようですから、
QualNetに実装されているアドホック系のルーティングプロトコルからひとつを選び、
それをスケルトンにして作成する方法が良いように思います。

QualNetが実装している様々なルーティングプロトコルについて、どのようなアルゴリズムなのかを調べましょう。
送り先を決めるアルゴリズムはどのようなものか、
そのアルゴリズムはどのような情報を使って送り先を決定するのか、
その情報はどのように管理し、どのように情報の更新を行うのか、
などを把握することで、新たに作成したいルーティング処理に似ているものを見つけましょう。

お手本になりそうなルーティングプロトコルを決めたら、
それがQualNetにどのように実装されているかをソースコードを見て解析することが必要です。

その前に、QualNetにおけるアプリケーション処理実装とルーティングプロトコル処理実装の違いを確認すること。
次に、ルーティングプロトコル実装から一番シンプルなSTATICルーティングの処理実装(300行程度です)を調べることで、
NetworkUpdateForwardingTable関数の使い方を理解することもお勧めします。

近道はありません、少しずつ理解を深めることが大切だと思います。
kabocha
投稿日時: 2008/11/3 1:25
常連
登録日: 2006/9/8
居住地:
投稿: 43
Re: 中継端末指定フラッディング
よく分からないですが・・
引用:

junさんは書きました:
私が今から以下の様なプロトコルを作ろうとしています.
使用するパケットは,自分の端末ID・位置・中継端末指定ID・進行方向を含みます.

でわ、パケットフォーマットから考えないといけませんね → message 構造体を理解する必要がある。(このサイトのQualNet概要か、Programmers Guide にかなり詳しく書いてある)

引用:

1ホップ内のみのフラッディングを考えています.

これは、flooding とは言わないのでは・・ブロードキャスト? 2hop まで?

引用:

とありましたが自分の考えなんですが,MCBRを改造すればできますかね?


なんで multicast ?? flooding / broadcast / multicast がグチャグチャになってそうな・・

引用:

自分はまだ一度も新しいプロトコルを作成したことがないので
何も分かりません.今後何をすればいいのか分からないので教えていただけますか? 


とりあえず、Routing Protocol を作られたいようですので、まずは、AODV あたりを参考に・・というよりプロトコル仕様を理解した上で、ソースを眺めると分かると思います。何も分からないといわれると・・

図も一寸見ましたが、どーも マルチホップを考えたときに破綻しているような・・多分考えてはおられて、説明が省かれているだけだとはおもいますけど・・。とりあえず、まずは真似ることから始めるのをお勧めします。ポイント(Routing Protocol のうちのどれか一つ)を絞れば大丈夫だと思いますよ。
jun
投稿日時: 2008/11/3 12:20
半人前
登録日: 2008/10/9
居住地:
投稿: 23
Re: 中継端末指定フラッディング
abochaさんすばやい返信ありがとうございます。

Programmers Guide の何ページ目を見ればいいでしょうか?

ちなみにバージョンは4.5.1です。

floodingは全端末までパケットを送ることですね。すいません。

まず、flooodingのプロトコルを作成するほうが先ですよね?

それから、中継端末をを指定する機能を追加し、2hop先までのブロード
キャストできるようにした方がいいですよね?

1hopだとただのブロードキャストですね。大変失礼しました。

やりたいことは、周辺端末情報(位置・ID)を参照し、自分の端末から進行方向に対して一定の距離の端末だけに中継してもらうように、パケットの中継端末IDブロードキャストし、それ以外は中継しない処理を行うようにしたいです。

確かAODVはレックのときにFlooding使用していますからこれを参考にしたほうがいいですかね?
コールネット2.ppt
hed
投稿日時: 2008/11/3 12:55
一人前
登録日: 2006/7/3
居住地: 京都
投稿: 81
Re: 中継端末指定フラッディング
junさん

横から失礼致します。
引用:
Programmers Guide の何ページ目を見ればいいでしょうか?


私もわからないことがあるとすぐマニュアルを調べます。
でもQualNetのマニュアルはたくさんあってどれを調べていいかわからなくなります。あと英語ですし・・・

なので私はとりあえず以下のように調べています。(かなり乱暴な調べ方です)
(1) とりあえず使い方や説明などはUser's Guide、改造に関してはProgrammer's Guideの目次を眺めてそれっぽい場所を見つける
(2) (私はだいたい(1)では見つからないので、)とりあえず検索してみる。(Acrobat Readerですと、Ctrl-Shift-Fでフォルダを指定して、そのフォルダ内の全PDFファイルを検索したりすることが可能ですよ。私はVer.9を使っています)

たぶんどこに載っているかまで聞くより、自分で調べたほうが絶対に早いし勉強になりますよー
(今回はドキュメント名まであたりをつけて下さったのですし。)
jun
投稿日時: 2008/11/3 13:53
半人前
登録日: 2008/10/9
居住地:
投稿: 23
Re: 中継端末指定フラッディング
hedさんありがとうございます.
Ctrl-Shift-Fを使ってみようと思います.

とりあえず使い方や説明などはUser's Guide、改造に関してはProgrammer's Guideの目次を眺めてそれっぽい場所を見つける
↑参考になりました.

2ヶ月でフラッディングと中継指定機能を作るのですが大変ですががんばってみようと思います.

ありがとうございました.Floodingなどの作り方などヒントなどありましたらまたお願いします.
kabocha
投稿日時: 2008/11/5 1:09
常連
登録日: 2006/9/8
居住地:
投稿: 43
Re: 中継端末指定フラッディング
引用:

junさんは書きました:
確かAODVはレックのときにFlooding使用していますからこれを参考にしたほうがいいですかね?


ども。RREQ は flooding してますね。まずわ、その辺りからが良いかと。
私も hed さんが仰るような方法で資料を探してました。でも、最終的には ソースをじっくり読む というところに帰着しちゃいましたけどね。
RREQ を作っている箇所を関数名などを頼りに探せば、 jun さんが作ろうとしてるパケットフォーマットの作り方の参考になると思いますよ。
残念ながら、手元にqualnetがないので、具体的な箇所を伝えられず、もうしわけないですが。

GPS と組み合わせるんですね。なんとなく分かりました。おもしろそうですね。頑張ってください。
jun
投稿日時: 2008/11/6 16:57
半人前
登録日: 2008/10/9
居住地:
投稿: 23
Re: 中継端末指定フラッディング
kabocha さん返信ありがとうございます。
とりあえずソースを見て、RREQのところまで理解して。
あとはコメントアウトして機能(RREPとか減らし)を減らそうと思います。
ちなみに新しいプロトコル作成したら、コールネット上でルーティングプロトコルの選択の欄に載せることは可能でしょうか?

今考えているのは始点端末が情報(ID・進行方向・位置等)を含んだパケットが一つの宛先端末までFloodingして届けることを考えています。
確かAODVは宛先端末までFloodingするはずなのでこれを利用しようかと考えています。
ヒントなど何でもいいのであればお願いします。

ちなみにhttp://simweb.kke.co.jp/qualnet/forum/modules/newbb/viewtopic.php?forum=43&post_id=1928&topic_id=475#forumpost1928
という投稿を見つけましたがこれもFloodingですよね?
わかる方ご教授お願いします。
jun
投稿日時: 2008/11/14 19:24
半人前
登録日: 2008/10/9
居住地:
投稿: 23
Re: 中継端末指定フラッディング
今考えている指針としましては、AODVのRREQを元にFloodingを作成しようと考えています。Floodingはすべての端末までブロードキャストを続けますが、自分の場合は宛先端末までパケットが届くことが目的ですのでRREQの改造を考えています。

今やろうとしてることは、プログラマーズガイドのNetwork層の Adding a Network Layer Unicast Routing Protocolの各項目の
順番通り行うことです。
?基本的には、マニュアル通りに各ファイルに値を挿入していけばいいんですよね?

?routing_aodv.cppの中からRREQの動作だけを取り出して新しいファイルでFloodingを作成しようと考えていますが、同じ名前の関数を異なるファイルで呼び出しても大丈夫でしょうか?


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