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

パスワード:


パスワード紛失

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

2024/03/20より398/1409
人気モジュール
No.1: フォーラム 5
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット5

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

日曜日からの合計
メイン
   Link (MAC) Layer Protocol Implementation & Model Development
     即時式ルータの実装について
投稿するにはまず登録を

題名 投稿者 日時
   即時式ルータの実装について kome 2010/12/13 16:02
   » Re: 即時式ルータの実装について chackn 2010/12/14 20:59
       Re: 即時式ルータの実装について kome 2010/12/15 18:00
         Re: 即時式ルータの実装について chackn 2010/12/16 11:07
           Re: 即時式ルータの実装について kome 2010/12/17 18:57
フラット表示 前のトピック | 次のトピック
投稿者 スレッド
chackn
投稿日時: 2010/12/14 20:59
常連
登録日: 2005/5/13
居住地: Kanagawa, Japan
投稿: 61
Re: 即時式ルータの実装について
komeさん、こんにちは。

無線のカットスルーモデルを作ったことがあるという同僚に聞いて
みました。基本的には、あるI/Fで受信したパケット(の受信イベント)
を、受信が完了する前に別のI/Fにコピーすることになるようです。

無線、有線限らず、通常、ストア・アンド・フォワード型のルータは
[受信開始]->[受信終了]->[送信開始]->[送信終了]の順にイベント
処理を行います。その代りに、[受信開始]->[送信開始]->[受信終了]->
[送信終了]とやるわけですね。

有線モデルだとおっしゃるとおり、Hubのソース、mac802_3.cppが
参考になると思います。関数Mac802_3Layer()がイベントハンドラ
関数です。イベント(メッセージ)MSG_MAC_StartTransmissionの処
理が[受信開始]のトリガになっています。
同様に、MSG_MAC_TransmissionFinishedの処理は[受信終了]のトリ
ガです。この関数を改造すればいいと思います。

あと、Switchのように特定のポートにだけ送信するようなことはこ
のソースでは行っていません。必要なら追加実装しないといけません。
自分がそのパケット(フレーム)の宛先ノードの時だけイベント処理を
すれば良さそうな気がします。

有線ですからエラー判定とかは考えなくていいのでしょうか?
であれば、単純にイベント受信→適当な遅延→イベントの複製と
いう処理で良いように思います。無線の場合、受信した信号を
アナログ的に増幅して再度送信するので、ノイズが蓄積していく
んですよね。有線も厳密に言えば同じなんですが。

こんな説明でお役に立てましたか?
フラット表示 前のトピック | 次のトピック
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT