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

パスワード:


パスワード紛失

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

2024/03/20より396/1411
人気モジュール
No.1: フォーラム 18
No.2: QualNet概要 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット17

No.1:どっかの巡回ロボット14
No.2:Google巡回ロボット2
No.3:Baidu巡回ロボット1

日曜日からの合計
メイン
   Network Layer Protocol Implementation & Model Development
     パケットに2つの目的ノードへの宛先を追加
投稿するにはまず登録を

題名 投稿者 日時
   パケットに2つの目的ノードへの宛先を追加 kazuki 2011/6/17 11:20
   » Re: パケットに2つの目的ノードへの宛先を追加 ino 2011/6/20 9:22
       Re: パケットに2つの目的ノードへの宛先を追加 kazuki 2011/6/20 14:24
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
ino
投稿日時: 2011/6/20 9:22
新米
登録日: 2011/1/24
居住地:
投稿: 16
Re: パケットに2つの目的ノードへの宛先を追加
kazukiさん、こんにちは

> ネットワーク層でIPヘッダの宛先を2つにできないでしょうか.
「IPヘッダの宛先アドレスのフィールドを拡張し、2つの宛先を込められるようにする」
といったようなことをお考えでしょうか?
これを素直に実装するならばIpHeaderType構造体を修正
(ip_dst -> ip_dst1, ip_dst2の様な感じでしょうか)
した上で、それにまつわる処理にも修正を加えていくことになります。
例えば、network_ip.cppのRouteThePacketUsingLookupTable()において
NetworkGetInterfaceAndNextHopFromForwardingTable(
node, ipHeader->ip_dst, &outgoingInterface, &nextHop);
で、nextHopを引いてきていますが、これを例えばip_dst1, ip_dst2
それぞれに行うなどです。
その他にも、IpHeaderType構造体のサイズが変わることになりますので
そのへんに依存したコードを丁寧に潰していく必要があります。
(チェックサム計算の修正やヘッダのpaddingなども必要?
既存の宛先一つモードとの互換性も考える必要があるでしょうか?
いずれにせよかなり広範囲に渡る修正が予想されます。)

> ちなみに,ルーティングをNoneにしてstaticルーティングに
> しているのですが,その場合はネットワーク層の動きはどこに
> 記載されているのでしょうか.
こちらも、RouteThePacketUsingLookupTable()あたりから
一度コードを追ってみてはいかがでしょうか。

ProgrammersGuideの 4.4 Network Layerの章が参考になるかと思います。
- 4.4.2 Network Layer Organization: Files and Folders
には具体的なソースファイル名の記述が、
- 4.4.4 Network Layer APIs and Inter-layer Communication には
にはそれぞれの機能に関する記述があります。
また、もしマルチキャスト的なことをやりたいのであれば
- 4.4.6 Adding a Network Layer Multicast Routing Protocol
が参考になるかと思います。
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT