Taiga Developer Site

Japanese
topmenu webgame software download developer  
 

5.ネットワークへの参加シーケンス

[トップ] [1.はじめに] [2.FL-netとは] [3.サイクリック] [4.メッセージ] [5.ネットワークへの参加シーケンス] [6.トークンの多重化] [7.ノードの離脱]

 このセクションでは、FL-netのネットワークに加入するときのプロトコルの動きを解説します。既にネットワークが確立している状態への加入(途中加入)と新規にネットワークへ参加(新規加入)があります。

5.1 新規加入状態からの参加

 新規加入状態は全てのFL-netのノードを電源ONした場合など、ネットワークを構成するノードが同時に起動した場合の参加状態です。まず、ネットワークに加入を試みるノードは3秒間(加入トークン検出時間)ネットワークにトークンフレームが流れていないかリスニングします。この時間内にトークンを検出できない場合は既に確立しているネットワークが無いものと判断し、新規加入状態となります。逆にトークンが検出できた場合は、既に確立しているネットワークが存在しているものと判断し、途中加入状態となります。
 新規加入状態となったノードはトリガ(TCD65011)送信の準備をします。トリガは(ノード番号÷8)のあまり×4msec後に送信されます。この時間の経過前にトリガを受信した場合はトリガ送信は中止されます。トリガを送信あるいは受信したノードは参加要求フレーム(TCD65002)の送信準備をします。参加要求フレームはトリガを送信あるいは受信後からノード番号×4msec後に送信されます。これと同時に参加要求フレーム受信時間(1200msec)の間に他ノードが送信する参加要求フレームから他ノードのノード番号やコモンメモリの重複等のチェックをおこないます。そしてこれらの情報を内部テーブルに登録し、ネットワークに参加しようとしている全ノードの情報を把握します。
 参加要求フレーム受信時間(1200msec)が経過したあとにノード番号が一番小さいノードからトークンフレームが送信されます。

ここで説明した新規加入を図で示すと以下のようになります。

image1

5.2 途中加入状態からの参加

 途中加入状態は既に存在するネットワークに新たにノードを追加させたときの状態です。この場合は確立しているネットワークのノードは、新たに参加するノードを認識し、トークンを渡す必要があります。
 加入トークン検出時間にトークンを受信(ネットワークに参加していないので他ノード宛)した場合は、途中加入状態となります。このとき途中加入ノードはトークンが3周するまで参加要求フレーム送信を待ちます。この時間内にネットワークに存在するノードの情報を収集し、内部のテーブルに登録してネットワークに参加しているノードを知ることとなります。

トークンが3周すると途中加入状態のノードは参加要求フレームを送信します。参加要求フレームはノード番号×4msec後に送信されます。ここで初めてネットワークに参加しているノードはこのノードの存在を知ります。

しばらくするとネットワークに既に参加しているノードからトークンが渡され、ネットワークへ参加します。
image2

5.3 加入時のチェックについて

 加入するノードは他ノードが送信する参加要求フレームやトークンフレームから自ノードとノード番号が重複するノードがいないか、コモンメモリが重複しないかチェックをします。ノード番号が重複した場合はネットワークへ参加しません(参加要求フレームを送信しない)。コモンメモリが重複した場合はコモンメモリが無しとしてネットワークへ加入します。
このように設定の有効性のチェックは全て加入する側の責任となります。言い替えれば、設定が不正なノードはネットワークへ決して加入しないというポリシーでFL-netのプロトコルは考えられています。


5.4 加入のまとめ

  • 加入状態にはネットワークの状態によって新規加入と途中加入の2つがある。
  • トリガーフレームは1ノードのみが送信する。
  • 途中加入の場合はトリガーフレームを送信しない。
  • トリガ・参加要求フレームはトークンの保持にかかわらず送信できる(時間で送信タイミングをとる)。
  • トリガはTCD65011、参加要求フレームはTCD65002のフレームである。

次ページ 6.トークンの多重化