JP2010258972A - 近隣ノード探索方法およびその装置 - Google Patents

近隣ノード探索方法およびその装置 Download PDF

Info

Publication number
JP2010258972A
JP2010258972A JP2009109490A JP2009109490A JP2010258972A JP 2010258972 A JP2010258972 A JP 2010258972A JP 2009109490 A JP2009109490 A JP 2009109490A JP 2009109490 A JP2009109490 A JP 2009109490A JP 2010258972 A JP2010258972 A JP 2010258972A
Authority
JP
Japan
Prior art keywords
neighbor
node
transmission
message
timer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009109490A
Other languages
English (en)
Inventor
Yukiyo Akisada
征世 秋定
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2009109490A priority Critical patent/JP2010258972A/ja
Publication of JP2010258972A publication Critical patent/JP2010258972A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】近隣ノード探索方法において、STALE状態で送信する前に送信先ノードのMACアドレスが変更されると、古いアドレスで送信を行うためにパケットが損失することの回避、また近隣到達不能検出に時間がかかることの回避を行う。
【解決手段】STALE状態に滞在する時間に上限を設け、この上限を経過するとPROBEに移行するようにした。また、近隣到達不能検出で送信する近隣要請メッセージをマルチキャストで送信するようにした。STALEに滞在する時間が制限されるのでMACアドレスの変更を検知できる契機が多くなり、パケット損失を回避できる。また、近隣要請メッセージをマルチキャストで送信するので、MACアドレスが変更されてもこのメッセージを受信できる。
【選択図】図1

Description

本発明は、近隣ノード到達性情報の更新停滞時間を制限し、かつパケット損失を回避することができる近隣ノード探索方法およびその装置に関し、特にIPv6を用いたフィールドデバイスに用いて好適な近隣ノード探索方法およびその装置に関するものである。
IPv6(Internet Protocol version 6)は従来のインターネットプロトコルIPv4に対し管理できるアドレス空間を大幅に増大し、かつセキュリティ機能の追加、優先度に応じたデータの送受信などの改良を施した次世代のインターネットプロトコルである。
IPv6は、ネットワークのパラメータを自動的に検出して設定するプラグ&プレイを特徴とし、アドレス解決および近隣到達不能検出を行なう近隣探索はプラグ&プレイを構成するための主要な機能である。このようなノードは、図12に示すように、インターフェイス毎に近隣ノードの到達性を管理する近隣キャッシュを具備している。
図12において、ノード10にはインターフェイス11a〜11cが配置されている。ノード10にはこれらインターフェイス11a〜11cのそれぞれに対応する、近隣ノードの到達性を管理する近隣キャッシュ12a〜12cが配置されている。
近隣キャッシュ12a〜12cは近隣ノード毎にエントリを持ち、少なくともノードを識別するノード名と近隣到達性情報が格納されている。近隣到達性情報は当該ノードに送信できるかどうかを表す情報であり、INCOMPLETE(情報が不完全)、REACHABLE(情報が完全)、STALE(情報が古く不明)、DELAY(遅延処理中)、PROBE(近隣到達不能検出中)の5種類がある。
次に、図13のトロポジを有するネットワークを用いて、近隣ノード探索について説明する。図13はノード20と21が同じリンク22に接続された、最も簡単なネットワークを表している。このネットワークで、ノード20がノード21に送信する場合を考える。以下、近隣到達性情報はノード20が保持する、ノード21に対する到達性情報である。
図14は、図13に示すネットワークにおいて、近隣到達性情報の典型的な遷移を表したフローチャートである。なお、このフローチャートでは、近隣到達性情報のエントリがない状態を「NONE」で表している。
図14において、最初はエントリがないので、近隣到達性情報は「NONE」である(工程(P14−1))。工程(P14−2)で他のノードへの送信が必要になるまで待機する。すなわち、送信が必要ない(NO)間は自身でループを形成し、送信が必要になる(YES)と、このループから脱出する。
送信が必要になると、工程(P14−3)で近隣到達性情報を「INCOMPLETE」にセットし、工程(P14−4)で近隣要請メッセージをマルチキャストで送信して、他のノードから近隣通知メッセージが送られてくるのを待つ(工程(P14−5))。ノード20がノード21に送信するためには、ノード20はノード21のMAC(Media Access Control)アドレスを知る必要がある。そのため、近隣要請メッセージをマルチキャストで送信し、近隣通知メッセージと共にMACアドレスが返信されるのを待つ。
工程(P14−5)で一定時間内に近隣通知メッセージを受信すると(YES)、工程(P14−6)で近隣到達性情報を「REACHABLE」に遷移させる。ノード20は近隣通知メッセージと共に送られてきたMACアドレスを用いて、ノード21と通信することができる。一定時間内に近隣通知メッセージが返信されないと、工程(P14−16)に移行する。
REACHABLE状態には有効期限であるライフタイムが規定されている。このライフタイムをReachableTimeで表す。ReachableTimeは変数であるが、RFC(Request for Comments)4861では、初期値を15秒から45秒までのランダムな値とすることが規定されている。
工程(P14−7)でこのReachableTime内であるかどうかを監視し、ReachableTimeが過ぎると、工程(P14−8)で近隣到達性情報を「STALE」に遷移させる。「STALE」は、ノード21の情報が古くなったものであることを表している。
一旦STALE状態に遷移すると、送信の必要が生じるまでこの状態を持続する。工程(P14−9)は、送信の必要性が生じるまで待機することを表している。
ノード21への送信が必要になるとノード21にメッセージを送信した後、工程(P14−10)で近隣到達性情報を「DELAY」に遷移させ、工程(P14−11)で5秒経過するまで待つ。5秒待つのは、上位層のプロトコルが到達性の確認を行う時間を確保するためである。5秒経過すると、工程(P14−12)で近隣到達性情報を「PROBE」に遷移させ、近隣到達性を確認する近隣到達不能検出を行う。
近隣到達不能検出を行うため、工程(P14−13)で近隣要請メッセージをユニキャストで送信し、工程(P14−14)で近隣通知メッセージを待つ。工程(P14−13)では対象ノードが判っているので、マルチキャストではなく対象ノードであるノード21に宛ててユニキャストで近隣要請メッセージを送信する。
工程(P14−14)で一定時間内に近隣通知メッセージを受信すると(YES)、工程(P14−6)に移行して近隣到達性情報を「REACHABLE」に遷移させる。一定時間内に近隣通知メッセージを受け取らないと工程(P14−15)に遷移し、工程(P14−13)で近隣要請メッセージを送信した回数が3回以上であるかをチェックする。送信回数が3回未満であると(NO)工程(P14−13)に移行して再度近隣要請メッセージを送信し、3回になる(YES)と近隣到達不能と見なして工程(P14−17)に移行して近隣キャッシュをクリアし、工程(P14−1)に戻る。
工程(P14−5)で近隣通知メッセージを受信しないときも、同様の操作を行う。近隣通知メッセージを受信しないと工程(P14−16)で近隣要請メッセージの送信回数が3回であるかをチェックし、3回未満(NO)であると工程(P14−4)に戻って再度近隣要請メッセージを送信し、3回に達すると工程(P14−17)に移行し、近隣キャッシュをクリアする。
なお、通信に用いるプロトコルによっては上位層プロトコルで到達性を確認し状態遷移の最適化ができる場合、近隣探索で用いられるメッセージのオプションが異なる場合、近隣通知メッセージのフラグによって状態遷移のパスを異ならせる場合もあるが、近隣到達性情報の各々の状態で行われる挙動は変わらないので、説明を省略する。
" Neighbor Discovery for IP version 6 (IPv6)", [online] Internet URL: http://tools.ietf.org/html/rfc4861, 2007
しかしながら、このような近隣ノード探索方法は、送信先ノードのMACアドレスが変更された時、近隣不能検出の契機が遅れ、近隣不能検出からの復帰の遅れによる送信パケットの損失が生じるという課題があった。
IPv6のノードでは、ユニキャストアドレスを設定する際に、通常はMACアドレスに基づいたアドレスを自身で生成し、自身のインターフェイスに自動的に割り当てるステートアドレスの自動設定が行われる。しかし、DHCPv6(Dynamic Host Configuration Protocol Version 6)を使用し、また手動設定によって任意のアドレスを割り当てることも可能である。例えば、ネットワーク管理者はノードのハードウエアを交換する際に、MACアドレスが変更されるにも拘わらず、特定のユニキャストアドレスを使用し続けることもできる。
前述したように、ノード20におけるノード21の近隣到達性情報がREACHABLEになると、ノード20がSTALE状態に遷移した後に送信の必要性が生じるまで到達性の確認を行わない。また、STALE状態では、その滞在時間に上限がないのにも拘わらず、メッセージの送信を行った後に到達性の確認を行う。このため、ノード21のハードウエアが交換されてMACアドレスが変わった後にノード20からノード21への送信が必要になったときは、古いMACアドレスを用いて送信を行うため、この送信パケットは損失してしまう。
図15はこのような状態を表した遷移図である。なお、横軸は時間であり、四角で囲まれた文字は近隣到達性情報である。時刻t1で近隣到達性情報がREACHABLEになり、時刻t2でSTALEに遷移した後、時刻t3で送信先のMACアドレスが変更されたとする。この後、時刻t4で送信が必要になり送信するが、この送信は変更前のMACアドレスを用いて行われるので、送信パケットは損失する。送信を行った後に近隣到達性情報はDELAYに遷移する。
ノード20がフィールドデバイスでノード21がHMI(Human Machine Interface)であり、ノード20がノード21にユニキャストで非定常通信を行っていたとする。このとき、ノード21のハードウエアが交換されてMACアドレスが変更された後にノード21にパケットを送信すると、ノード20は到達性の確認を行わないで送信するので、この送信パケットは宛先不明で損失する。このパケットが警報のような重要な情報を含むものであった場合、システムの安全性を損なう原因となる可能性がある。
このようなパケットの損失は、図16に示すような非同一リンクトポロジを有するネットワークでも生じる。図16は、リンク24と26がルータ25を介して接続され、線路24にノード23がリンク26にノード27が接続されているネットワークの例である。
ノード23がノード27と通信する場合、ルータ25への到達性を管理する必要がある。ルータ25のユニキャストアドレスはリンクローカルアドレスであり、ステートレスアドレス自動設定を用いる場合も多いが、手動で任意のアドレスを設定することもある。
通常、ルータ25はルータ通知メッセージを定期的に送信しているので、ノード23がホストであればこの通知メッセージを処理することができる。ノード23は、ルータ通知メッセージに始点リンク層アドレスオプションが含まれているときはこのルータ通知メッセージからルータ25のMACアドレスを知ることができるが、始点リンク層アドレスオプションが含まれていないとき、あるいはルータ25のアドレスが手動で設定されているときはMACアドレスが得られず、ノード23が送信したパケットは損失する可能性がある。
また、管理ポリシーによってはルータ通知メッセージの送信を抑制しているネットワークもある。この場合はノード23がMACアドレスを学習することができないので、やはりパケットが損失する可能性がある。
すなわち、近隣到達性情報がREACHABLEに遷移した後に到達先までの経路上に位置する近隣ノードのMACアドレスが変更されたときは、パケットの損失が生じてしまうという課題があった。
図17は、近隣到達不能検出からの復帰が遅れることを説明した遷移図である。なお、横軸は時間であり、四角で囲まれた文字は近隣到達性情報を表している。また、図13のネットワークを前提にしている。
図17において、時刻t5で近隣到達性情報がSTALEになり、その後の時刻t6でノード21のMACアドレスが変更されたとする。時刻t7でノード21に送信する必要性が発生し、ノード20はパケットを送信する。時刻t6でノード21のMACアドレスが変更されているので、このパケットは損失する。
時刻t7でパケットを送信したので、近隣到達性情報はDELAYになり、5秒経過した時刻t8でPROBEに遷移する。PROBEに遷移すると、ノード20は古いMACアドレスを用いて1秒おきに3回近隣要請メッセージを送信する。ノード21のMACアドレスが変更されているのでこの近隣要請メッセージはノード21に届かず、近隣通知メッセージは送信されない。そのため、時刻t9で近隣到達性情報がNONEになり、図14のフローに従って新しい近隣到達性情報を取得する。
近隣要請メッセージはRetransTimerの間隔で送信される。RetransTimer自体は変数であるが、RFC4861では1秒と規定されている。そのため、送信の必要性が発生してから少なくとも8秒間は古いMACアドレスで送信するため、ノード21と通信することができないという課題もあった。
本発明の目的は、送信パケットの損失が生ぜず、かつ近隣到達の不能検出から速やかに復帰できる近隣ノード探索方法およびその装置を実現することにある。
このような課題を達成するために、本発明のうち請求項1記載の発明は、
近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索方法において、
前記送信の必要性が発生するまで待機する時間に上限StaleTimeを設け、この上限StaleTimeが経過すると、送信の必要性が発生しなくても近隣要請メッセージを送信して近隣到達不能検出を行うようにしたものである。STALEに滞在する時間が制限されるのでMACアドレスの変更を検知できる契機が多くなり、パケット損失を回避できる。
請求項2記載の発明は。請求項1記載の発明において、
前記上限StaleTimeを0としたものである。MACアドレスの変更を検知できる契機がさらに多くなる。
請求項3記載の発明は、
近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索方法において、
前記送信の必要性が発生するまで待機する時間に上限StaleTimeを設け、この上限StaleTimeを経過すると近隣到達性に関する情報が格納されている近隣キャッシュをクリアするようにしたものである。STALE期間終了後送信の必要性に応じてすぐにアドレス解決を行うので、古いMACアドレスでパケットを送信することがなくなる。
請求項4記載の発明は、
近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索方法において、
前記近隣到達不能検出で送信する近隣要請メッセージを、マルチキャストで送信するようにしたものである。MACアドレスが変更されていても近隣要請メッセージを受信できるので、近隣到達不能検出の時間を短くすることができる。
請求項5記載の発明は、請求項1乃至請求項3いずれかに記載の発明において、
前記近隣不到達検出で送信する近隣要請メッセージを、マルチキャストで送信するようにしたものである。パケット損失を回避でき、かつ近隣到達不能検出の時間を短くできる。
請求項6記載の発明は、
近隣要請メッセージを送信してアドレス解決を行う近隣ノード探索方法において、
近隣通知メッセージを受信してから所定時間経過後、近隣到達性に関する情報が格納されている近隣キャッシュをクリアするようにしたものである。近隣キャッシュの内容の有効期限が切れると送信の必要性に応じてすぐに新たなアドレス解決を行うので、古いMACアドレスで送信してパケットが損失することがなくなる。
請求項7記載の発明は、
近隣要請メッセージを送信してアドレス解決を行い、アドレス解決に成功すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索装置において、
近隣要請メッセージを送信してアドレス解決を行い、その結果を出力する第1の近隣探索部と、
起動信号によって動作を開始し、所定時間が経過すると停止信号を出力する第1のタイマと、
起動信号によって動作を開始し、上限時間StaleTimeが経過するか、あるいは送信が必要になったことを表す要送信信号が入力されてから一定時間後に停止信号を出力する第2のタイマと、
近隣要請メッセージを送信して近隣到達不能検出を行う第2の近隣探索部と、
送信が必要になると前記第1の近隣探索部を起動させてアドレス解決を行い、この第1の近隣探索部が近隣ノードの探索に成功すると前記第1のタイマを起動させ、この第1のタイマの停止後前記第2のタイマを起動させて、この第2のタイマの停止後に前記第2の近隣探索部を起動して近隣到達不能検出を行う制御部と、
を具備したものである。STALEに滞在する時間が制限されるのでMACアドレスの変更を検知できる契機が多くなり、パケット損失を回避できる。
請求項8記載の発明は、
近隣要請メッセージを送信してアドレス解決を行い、アドレス解決に成功すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索装置において、
近隣要請メッセージを送信してアドレス解決を行い、その結果を出力する第1の近隣探索部と、
起動信号によって動作を開始し、所定時間が経過すると停止信号を出力する第1のタイマと、
近隣要請メッセージを送信して近隣到達不能検出を行う第2の近隣探索部と、
送信が必要になると前記第1の近隣探索部を起動させ、この第1の近隣探索部がアドレス解決に成功すると前記第1のタイマを起動させ、この第1のタイマの停止後に前記第2の近隣探索部を起動して近隣到達不能検出を行う制御部と、
を具備したものである。近隣キャッシュの有効期限が切れるとすぐに近隣到達不能検出を行うので、MACアドレスの変更を検知できる契機が多くなり、パケット損失を回避できる。
請求項9記載の発明は、請求項7若しくは請求項8記載の発明において、
前記第2の近隣探索部は、ユニキャストで近隣要請メッセージを送信するようにしたものである。マルチキャストで送信する回数が少なくなるので、ネットワークの負荷を小さくできる。
請求項10記載の発明は、請求項7若しくは請求項8記載の発明において、
前記第2の近隣探索部は、マルチキャストで近隣要請メッセージを送信するようにしたものである。MACアドレスが変更されても、近隣要請メッセージを受信できる。
請求項11記載の発明は、請求項10記載の発明において、
前記第1の近隣探索部と前記第2の近隣探索部を共用するようにしたものである。装置の構成を簡単にできる。
請求項12記載の発明は、
近隣要請メッセージを送信してアドレス解決を行い、その結果を出力する近隣探索部と、
起動信号によって動作を開始し、所定時間が経過すると停止信号を出力するタイマと、
送信が必要になると前記近隣探索部を起動させ、この近隣探索部がアドレス解決に成功すると前記タイマを起動させ、このタイマが停止すると近隣ノードの情報を格納した近隣キャッシュをクリアする制御部と、
を具備したものである。近隣キャッシュの内容の有効期限が切れると送信の必要性に応じてすぐに新たなアドレス解決を行うので、古いMACアドレスで送信してパケットが損失することがなくなる。
本発明によれば以下のような効果がある。
請求項1、2、3、4、5、6、7,8、9、10、11、12の発明によれば、近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、近隣キャッシュの情報の有効期限が切れた後、送信の必要性がなくても一定時間後に近隣到達不能検出を行うようにした。また近隣到達不能検出で送信する近隣要請メッセージをマルチキャストで送信するようにした。
送信の必要性が来るまで待つ時間に上限を設けることにより、送信先のMACアドレスが変更されても、古いMACアドレスでパケットを送信する可能性を少なくすることができる。そのため、パケット損失を回避することができるという効果がある。
また、長時間送信の必要性を待つことがないので、比較的短い周期でアドレス解決を行うことができる。そのため、送信先のMACアドレスが変更されてもすぐに新しいMACアドレスを取得でき、古いMACアドレスでパケットを送信することがなくなるので、パケット損失を回避できる。送信の必要性があるまで待つ時間の上限を0にすることにより、パケット損失の可能性を更に小さくすることができるという効果がある。
また、送信の必要性が生じるまで待つ時間の上限が経過した後、あるいは近隣キャッシュの内容の有効期限が切れた後近隣キャッシュをクリアすることにより、近隣到達不能検出をスキップすることができる。このため、新しいMACアドレスをより速やかに取得できるという効果もある。
さらに、近隣到達不能検出で送信する近隣要請メッセージをマルチキャストで送信すると、送信先のMACアドレスが変更されていてもこのメッセージを受信できるので、近隣到達不能検出に要する時間を短くでき、より速やかに新しいMACアドレスを得ることができるという効果もある。
本発明の一実施例を示したフローチャートである。 ユニキャストアドレスから要請ノードマルチキャストアドレスを生成する手順を示した図である。 マルチキャストアドレスからMACアドレスを生成する手順を示した図である。 本発明の効果を説明するための図である。 本発明の効果を説明するための図である。 本発明の他の実施例を示したフローチャートである。 本発明の他の実施例を示したフローチャートである。 本発明の他の実施例を示したフローチャートである。 本発明の他の実施例を示した構成図である。 本発明の他の実施例を示した構成図である。 本発明の他の実施例を示した構成図である。 近隣キャッシュを説明するための図である。 ネットワークの構成図である。 従来の近隣ノード探索方法を示すフローチャートである。 従来の課題を説明するための図である。 ネットワークの構成図である。 従来の課題を説明するための図である。
以下本発明を、図面を用いて詳細に説明する。図1は本発明に係る近隣ノード探索方法の一実施例を示したフローチャートである。この実施例はSTALE状態にライフタイムを設けることにより、必要以上にSTALE状態に止まることがないようにし、かつ近隣到達不能検出で送信する近隣要請メッセージをマルチキャストで送信するようにしたものである。
図1において、初期状態(工程(P1−1))では近隣到達性情報はNONEである。工程(P1−2)で送信の必要性が生じるまで待機し、送信が必要になると、工程(P1−3)で近隣到達性情報をINCOMPLETEに遷移させ、工程(P1−4)で近隣要請メッセージをマルチキャストで送信する。
工程(P1−5)で近隣通知メッセージが送られてくるのを待ち、一定時間内に近隣通知メッセージが送られてこないと工程(P1−16)で近隣要請メッセージを3回送信したかをチェックする。
送信回数が3回未満だと工程(P1−4)に戻って再度近隣要請メッセージを送信する。3回送信しても近隣通知メッセージを受信しないと、工程(P1−17)で近隣キャッシュをクリアし、工程(P1−1)に戻る。工程(P1−4)、(P1−5)、(P1−16)で近隣探索を行っている。
工程(P1−5)で近隣通知メッセージを受信すると、工程(P1−6)で近隣到達性情報をREACHABLEに遷移させる。そして、工程(P1−7)でReachableTimeが経過するまで待って、工程(P1−8)で近隣到達性情報をSTALEに遷移させる。
工程(P1−9)で送信が必要になるのを待ち、送信が必要になると工程(P1−10)で近隣到達性情報をDELAYに遷移させる。工程(1−11)で5秒間待ってから、工程(P1−12)で近隣到達性情報をPROBEに遷移させる。ここまでの工程は図14の従来例と同じである。
この実施例ではStaleTimeを設け、このStaleTimeの間STALE状態に止まっていると、強制的に近隣到達性情報をPROBEに遷移させる。
そのために、工程(P1−9)で送信が必要でないと判断する(NO)と、工程(P1−18)でSTALEに遷移してからStaleTime時間経過したかをチェックする。StaleTime時間経過していない(NO)と工程(P1−9)に戻り、StaleTime時間経過する(YES)と、工程(P1−12)にジャンプして近隣到達性情報をPROBEに遷移させる。
工程(P1−13)で近隣要請メッセージをマルチキャストで送信して近隣到達不能検出を行う。工程(P1−14)で近隣通知メッセージを受信したかをチェックする。近隣通知メッセージを受信する(YES)と工程(P1−6)に戻り、一定時間内に受信しないと工程(P1−15)で近隣要請メッセージを送信した回数をチェックする。
送信回数が3回未満(NO)だと工程(P1−13)に戻って再度近隣要請メッセージを送信し、送信回数が3回になる(YES)と工程(P1−17)で近隣キャッシュをクリアして工程(P1−1)に戻る。工程(P1−13)〜(P1−15)で近隣到達不能検出を行っている。
従来は送信が必要になるまでSTALE状態に止まり、送信が必要になると、まず送信を行った後に5秒間待って近隣要請メッセージを送信していた。このため、長時間STALE状態が継続し、その間に送信対象機器のMACアドレスが変更されると、宛先のないメッセージを送信してしまっていた。
本実施例ではSTALE状態がStaleTime時間継続すると強制的に近隣到達性情報をPROBEに遷移させて近隣要請メッセージを送信し、近隣到達不能検出を行うようにした。長時間STALE状態に止まることがないので、その間にMACアドレスが変更される可能性は低い。従って、パケットの損失が生じる危険性を小さくすることができる。
また、従来は近隣要請メッセージをユニキャストで送信していたが、本実施例ではマルチキャストで送信するようにした。そのため、MACアドレスが変更されていても近隣要請メッセージを受信できるので、近隣通知メッセージを送信できる。その結果、近隣到達不能検出を短時間で終わらせることができ、かつ新しいMACアドレスを得ることができる。
なお、マルチキャストで送信するとは、予め決められた複数のノードに対して同時に送信することを言い、ユニキャストで送信するとは、ノードを指定して送信することを言う。
近隣要請メッセージを送信する近隣探索では、近隣到達不能検出だけでなく、アドレス解決にも近隣要請メッセージを使用する。アドレス解決時の送信先マルチキャストアドレスは要請ノードマルチキャストアドレスと呼ばれ、アドレス解決に用いる要請ノードユニキャストアドレスから作成する。
図2に、ユニキャストアドレスから要請ノードマルチキャストアドレスを作成する過程を示す。(A)は元になるユニキャストアドレスであり、128ビットの長さを有している。(B)に示すように、このユニキャストアドレスを上位104ビットと下位24ビットに分割し、(C)に示すように上位104ビットを下記のプリフィックスに置き換えると、(D)のように要請ノードマルチキャストアドレスが得られる。
プリフィックス:FF02:0:0:0:0:1:FF00::/104
例えば、ユニキャストアドレスが、
2001:db8:ffff:1:200:2ff:fe00:27cd
である場合は、要請ノードマルチキャストアドレスは、
ff02::1:ff00:27cd
になる。
マルチキャストによる通信では複数のノードが受信できる必要があるので、受信ノードのMACアドレスとは異なったアドレスが用いられる。図3にこのアドレスの作成過程を示す。
図3において、(A)のマルチキャストアドレスを(B)のように上位ビットと下位32ビットに分割する。そして、(C)に示すように先頭2バイトが33:33であるMACアドレスに、(B)で分割した下位32ビットを加えたものをアドレスとする。
例えば、マルチキャストアドレスが、
ff02::1:ff00:27cd
であると、MACアドレスは、
33:33:ff:00:27:cd
になる。このようにすることにより、受信ノードの実際のMACアドレスに依存しないMACアドレスを生成して用いることができる。
図13のネットワークにおいて、ノード21のMACアドレスが変更された後の近隣到達不検出を行う場合を考える。IPv6ノードは、設定されたユニキャストアドレスに対応した要請ノードマルチキャストアドレス宛の通信を必ず聴取している。そのため、ノード20が要請ノードマルチキャストアドレス宛に近隣要請メッセージを送信すると、ノード21のMACアドレスが変更されていても、ノード20からの近隣要請メッセージを受信することができる。
StaleTimeを設けることによる効果とマルチキャストアドレスを用いた効果を図4に示す。なお、四角で囲んだ文字は近隣到達性情報を表し、横軸は時間である。また、近隣到達性情報がSTALEになるまでの過程は従来と同じなので、記載を省略している。さらに、図13のネットワークを前提にしている。
図4(A)はStaleTimeを設けることによる効果を説明した図である。なお、近隣到達不能検出では近隣要請メッセージをユニキャストで送信する。時刻t10で近隣到達性情報がSTALEになり、時刻t11でノード21のMACアドレスが変更されたとする。送信の必要性が発生しないと、時刻t10からStaleTime経過した時刻t12で、近隣到達性情報はPROBEに遷移する。
ノード21のMACアドレスが変更されているので、近隣通知メッセージは送信されない。近隣到達性情報はNONEになり、送信の必要性が発生するとINCOMPLETEに遷移する。ノード20は近隣要請メッセージを送信し、ノード21の新しいMACアドレスを得てREACHABLEに遷移し、メッセージが送信される。REACHABLEに遷移するまでノード21を宛先としたパケットは送信されないので、パケットの損失が発生する。
近隣到達性情報がPROBEのときに送信する近隣要請メッセージをマルチキャストで送信するときの効果を図4(B)に示す。時刻t13で近隣到達性情報がSTALEに遷移し、その後の時刻t14でノード21のMACアドレスが変更されたとする。送信の必要性が発生しなかったために時刻t15で近隣到達性情報がDELAYに遷移し、その5秒後の時刻t16でPROBEに遷移する。
PROBEに遷移すると近隣要請メッセージが送信されるが、このメッセージはマルチキャストアドレスで送信されるので、MACアドレスが変更されているノード21で受信できる。そのため、ノード21は近隣通知メッセージを送信するので、近隣到達性情報はすぐにREACHABLEに遷移する。また、このときノード21の新しいMACアドレスを知ることができる。
図5に、StaleTimeを設け、かつ近隣要請メッセージをマルチキャストアドレスで送信したときの効果を示す。時刻t17で近隣到達性情報がSTALEに遷移し、その後のt18でノード21のMACアドレスが変更されるとする。
StaleTimeが設定されているので、時刻t17からStaleTime後の時刻t19で近隣到達性情報がPROBEになり、近隣要請メッセージがマルチキャストアドレスで送信される。ノード21のMACアドレスは変更されているが、マルチキャストで送信されるので、ノード21は近隣要請メッセージを受信でき、近隣通知メッセージを送信する。このため、近隣到達性情報はすぐにREACHABLEに遷移する。
すなわち、近隣到達性情報がSTALEになってからStaleTime後には新しいMACアドレスを得て、近隣到達性情報が再びREACHABLEに遷移する。時刻t20で送信の必要性が発生すると、新しいMACアドレスでパケットを送信できる。この実施例ではSTALEで停滞して送信が遅れることがなく、かつ古いMACアドレスは使用しないので、パケットが損失することもない。
図6は、図1実施例でStaleTimeを0にしたときのフローチャートである。なお、図1に対応する工程には同じ符号を付し、説明を省略する。
StaleTimeが0なので、近隣到達性情報は実質的にSTALEにならず、かつDELAY状態もスキップされる。ReachableTimeが経過するとすぐに近隣到達性情報がPROBEになり、近隣到達不能検出が開始される。近隣要請メッセージはマルチキャストで送信されるので、MACアドレスが変更されていても近隣要請メッセージを受信できるので、すぐに近隣通知メッセージが送信され、新しいMACアドレスを得ることができる。当然のことながら、パケット損失は発生しない。
図7に本発明の他の実施例を示す。この実施例はStaleTimeが経過すると近隣キャッシュをクリアするようにしたものである。なお、図1と同じ要素には同一符号を付し、説明を省略する。
図7において、工程(P7−1)は、図1の工程(P1−18)の代わりに用いられる。工程(P7−1)は、工程(P1−9)で送信が必要にならないときに実行される。工程(P7−1)では、近隣到達性情報がSTALEに遷移してからStaleTime経過したかどうかをチェックし、経過していないと工程(P1−9)に戻り、経過すると工程(P1−17)に移行して近隣キャッシュをクリアする。
このようにすると、STALE状態において、StaleTimeの間送信の必要性が発生しないとPROBEに遷移しないで近隣キャッシュをクリアするので、パケット損失を回避することができる。
図8は、図7実施例においてStaleTimeを0にしたときのフローチャートである。なお、図7と同じ要素には同一符号を付し、説明を省略する。
StaleTimeが0なので、図7の工程(P7−1)はすぐにYESになる。このため、工程(P1−8)〜(P1−15)、および工程(P7−1)は実質的に実行されない。ReachableTimeが経過すると直ちに工程(P1−17)に移行し、近隣キャッシュがクリアされる。このようにすると、パケット損失の危険性を更に小さくすることができる。この実施例は近隣到達性情報がPROBEに遷移する経路がないので、近隣到達不能検出は実行されない。
なお、図1実施例ではSTALEでStaleTimeを設け、かつ近隣到達不能検出では近隣要請メッセージをマルチキャストで送信するようにしたが、どちらか一方のみ用いてもよい。すなわち、StaleTimeを設けて近隣到達不能検出で近隣要請メッセージをユニキャストで送信し、StaleTimeを設けないでマルチキャストで送信するようにしてもよい。
また、これらの実施例では近隣到達性情報をNONE、INCOMPLETE、REACHABLE、STALE、DELAY、PROBEと遷移させて管理するようにしたが、必ずしもこの方法を用いる必要はない。近隣ノードに送信できる可能性を管理できるのであれば、他の方法を用いてもよい。
図9は本発明に係る近隣ノード探索装置の一実施例を示す構成図である。この実施例は図1フローチャートに対応するものである。
図9において、近隣ノード探索装置は制御部30、近隣探索部31および34、タイマ32および33で構成される。近隣探索部31、34はそれぞれ第1、第2の近隣探索部に相当し、タイマ32、33はそれぞれ第1、第2のタイマに相当する。
近隣探索部31は、制御部30が出力する送信指示が入力されると図1フローチャートの工程(P1−4)、(P1−5)、(P1−16)を実行し、その結果を制御部30に出力する。工程(P1−4)、(P1−5)、(P1−16)は近隣探索を行う工程である。
制御部30から起動信号が入力されると、近隣探索部31は近隣要請メッセージをマルチキャストで送信して、一定時間近隣通知メッセージが送られてくるのを待つ動作を繰り返す。近隣通知メッセージを受信すると、この受信した近隣通知メッセージを制御部30に出力して動作を停止する。一定回数(例えば3回)近隣要請メッセージを送信しても近隣通知メッセージを受信しないと、その旨を制御部30に出力して動作を停止する。
タイマ32は、図1フローチャートの工程(P1−7)でReachableTime経過したかどうかを計測するタイマである。タイマ32は制御部30の起動信号によって動作を開始し、タイムアップすると停止信号を制御部30に出力する。
タイマ33は、図1フローチャートの工程(P1−9)、(P1−11)および(P1−18)を実行する。制御部30からの起動信号が入力されると、タイマ33は動作を開始する。制御部30から送信が必要になったことを表す要送信信号が入力されると、(たとえば5秒待機した後)停止信号を制御部30に出力して動作を停止する。要送信信号の入力がなく、StaleTimeが経過すると、制御部30に停止信号を出力して動作を停止する。
近隣探索部34は、図1フローチャートの工程(P1−13)〜(P1−15)を実行し、その結果を制御部30に出力する。工程(P1−13)〜(P1−15)は近隣到達不能検出を行う工程である。
制御部30から起動信号が入力されると、近隣探索部34は近隣要請メッセージをマルチキャストで送信して、一定時間近隣通知メッセージが送られてくるのを待つ動作を繰り返す。近隣通知メッセージを受信すると、この受信した近隣通知メッセージを制御部30に出力して動作を停止する。一定回数(例えば3回)近隣要請メッセージを送信しても近隣通知メッセージを受信しないと、その旨を制御部30に出力して動作を停止する。
制御部30はその内部に近隣キャッシュを具備し、近隣探索部31および34、タイマ32および33を制御して、図1のフローを実現する。
最初に、近隣到達性情報をNONEにして(工程(P1−1))、送信が必要になるまで待機する(工程(P1−2))。送信が必要になると近隣到達性情報をINCOMPLETEに遷移させ(工程(P1−3))、近隣探索部31に起動信号を出力する。
近隣探索部31から近隣通知メッセージを受信したとの通知を受けると、近隣到達性情報をREACHABLEに遷移させ(工程(P1−6))、タイマ32を起動する。近隣通知メッセージを受信しなかったとの通知を受けると近隣キャッシュをクリアし(工程(P1−17))、近隣到達性情報をNONEに遷移させる(工程(P1−1)に戻る)。
タイマ32から停止信号を受けると、近隣到達性情報をSTALEに遷移させ(工程(P1−8))、タイマ33を起動する。タイマ33から停止通知を受ける前に送信の必要性が発生すると近隣到達性情報をDELAYに遷移させ(工程(P1−10))、タイマ33に要送信信号を出力する。
タイマ33から停止信号を受けると、近隣到達性情報をPROBEに遷移させて(工程(P1−12))、近隣探索部34に起動信号を出力する。
近隣探索部34から近隣通知メッセージを受信したとの通知を受けると、近隣到達性情報をREACHABLEに遷移させてタイマ32を起動する(工程(P1−6)に戻る)。近隣通知メッセージを受信しなかったとの通知を受けると近隣キャッシュをクリアし(工程(P1−17))、近隣到達性情報をNONEに遷移させる(工程(P1−1)に戻る)。
なお、タイマ33がStaleTime経過したことを通知してきたときに、近隣キャッシュをクリアして、近隣到達性情報をNONEにするようにしてもよい。このようにすると、図7フローチャートに対応する動作を実現できる。
また、近隣探索部34は、近隣要請メッセージをユニキャストで送信するようにしてもよい。近隣要請メッセージをマルチキャストで送信するときは、近隣探索部31と34を共用することもできる。
図10に、本発明に係る近隣ノード探索装置の他の実施例の構成を示す。この実施例は図6フローチャートに対応するものである。なお、図9と同じ要素には同一符号を付し、説明を省略する。図10において、40は近隣探索部31および34、タイマ32を制御する制御部である。
前述したように、図6フローチャートは図1フローチャートでStaleTimeを0にしたものである。このため、近隣到達性情報がSTABLEになることはないので、タイマ33は用いない。
送信の必要性が発生すると、制御部40は近隣到達性情報をINCOMPLETEにして近隣探索部31に起動信号を出力する。近隣通知メッセージを受信したとの通知があると近隣到達性情報をREACHABLEに遷移させ、タイマ32を起動する。タイマ32から停止通知を受けると、近隣探索部34を起動させる。
この実施例でも近隣探索部34は、近隣要請メッセージをユニキャストで送信するようにしてもよい。近隣要請メッセージをマルチキャストで送信するときは、近隣探索部31と34を共用することもできる。
図11に、本発明に係る近隣ノード探索装置の他の実施例を示す。この実施例は、図8フローチャートに対応するものである。なお、図9と同じ要素には同一符号を付し、説明を省略する。図11において、50は制御部であり、近隣探索部31とタイマ32を制御する。
前述したように、図8フローチャートはReachableTimeが経過すると近隣キャッシュをクリアするようにしたものである。従って、近隣到達性情報はSTALE、DELAY、PROBEのいずれにも遷移しない。このため、タイマ33と近隣探索部34は使用しない。
送信の必要性が発生すると、制御部50は近隣到達性情報をINCOMPLETEにして近隣探索部部31を起動する。近隣通知メッセージを受信したとの通知があると近隣到達性情報をREACHABLEに遷移させ、タイマ32を起動する。タイマ32からの停止信号が入力されると、近隣キャッシュをクリアし、近隣到達性情報をNONEに遷移させる。
なお、これらの実施例では制御システムに用いるとして説明したが、その他のネットワークシステムに適用してもよい。
また、ReachableTime、StaleTime、DELAY状態で待機する時間は、これらの実施例に限られることはなく、任意に設定できる。
10、20、21、23、27 ノード
11a〜11c インターフェイス
12a〜12c 近隣キャッシュ
22、24、26 リンク
25 ルータ
30、40、50 制御部
31、34 近隣探索部
32、33 タイマ
t10〜t20 時刻

Claims (12)

  1. 近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索方法において、
    前記送信の必要性が発生するまで待機する時間に上限StaleTimeを設け、この上限StaleTimeが経過すると、送信の必要性が発生しなくても近隣要請メッセージを送信して近隣到達不能検出を行うようにしたことを特徴とする近隣ノード探索方法。
  2. 前記上限StaleTimeを0としたことを特徴とする請求項1記載の近隣ノード探索方法。
  3. 近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索方法において、
    前記送信の必要性が発生するまで待機する時間に上限StaleTimeを設け、この上限StaleTimeを経過すると近隣到達性に関する情報が格納されている近隣キャッシュをクリアするようにしたことを特徴とする近隣ノード探索方法。
  4. 近隣要請メッセージを送信してアドレス解決を行い、近隣通知メッセージを受信すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索方法において、
    前記近隣到達不能検出で送信する近隣要請メッセージを、マルチキャストで送信するようにしたことを特徴とする近隣ノード探索方法。
  5. 前記近隣不到達検出で送信する近隣要請メッセージを、マルチキャストで送信するようにしたことを特徴とする請求項1乃至請求項3いずれかに記載の近隣ノード探索方法。
  6. 近隣要請メッセージを送信してアドレス解決を行う近隣ノード探索方法において、
    近隣通知メッセージを受信してから所定時間経過後、近隣到達性に関する情報が格納されている近隣キャッシュをクリアするようにしたことを特徴とする近隣ノード探索方法。
  7. 近隣要請メッセージを送信してアドレス解決を行い、アドレス解決に成功すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索装置において、
    近隣要請メッセージを送信してアドレス解決を行い、その結果を出力する第1の近隣探索部と、
    起動信号によって動作を開始し、所定時間が経過すると停止信号を出力する第1のタイマと、
    起動信号によって動作を開始し、上限時間StaleTimeが経過するか、あるいは送信が必要になったことを表す要送信信号が入力されてから一定時間後に停止信号を出力する第2のタイマと、
    近隣要請メッセージを送信して近隣到達不能検出を行う第2の近隣探索部と、
    送信が必要になると前記第1の近隣探索部を起動させてアドレス解決を行い、この第1の近隣探索部が近隣ノードの探索に成功すると前記第1のタイマを起動させ、この第1のタイマの停止後前記第2のタイマを起動させて、この第2のタイマの停止後に前記第2の近隣探索部を起動して近隣到達不能検出を行う制御部と、
    を具備したことを特徴とする近隣ノード探索装置。
  8. 近隣要請メッセージを送信してアドレス解決を行い、アドレス解決に成功すると、所定時間経過後送信の必要性が発生するまで待機し、その後近隣要請メッセージを送信して近隣到達不能検出を行う近隣ノード探索装置において、
    近隣要請メッセージを送信してアドレス解決を行い、その結果を出力する第1の近隣探索部と、
    起動信号によって動作を開始し、所定時間が経過すると停止信号を出力する第1のタイマと、
    近隣要請メッセージを送信して近隣到達不能検出を行う第2の近隣探索部と、
    送信が必要になると前記第1の近隣探索部を起動させ、この第1の近隣探索部がアドレス解決に成功すると前記第1のタイマを起動させ、この第1のタイマの停止後に前記第2の近隣探索部を起動して近隣到達不能検出を行う制御部と、
    を具備したことを特徴とする近隣ノード探索装置。
  9. 前記第2の近隣探索部は、ユニキャストで近隣要請メッセージを送信するようにしたことを特徴とする請求項7若しくは請求項8記載の近隣ノード探索装置。
  10. 前記第2の近隣探索部は、マルチキャストで近隣要請メッセージを送信するようにしたことを特徴とする請求項7若しくは請求項8記載の近隣ノード探索装置。
  11. 前記第1の近隣探索部と前記第2の近隣探索部を共用するようにしたことを特徴とする請求項10記載の近隣ノード探索装置。
  12. 近隣要請メッセージを送信してアドレス解決を行い、その結果を出力する近隣探索部と、
    起動信号によって動作を開始し、所定時間が経過すると停止信号を出力するタイマと、
    送信が必要になると前記近隣探索部を起動させ、この近隣探索部がアドレス解決に成功すると前記タイマを起動させ、このタイマが停止すると近隣ノードの情報を格納した近隣キャッシュをクリアする制御部と、
    を具備したことを特徴とする近隣ノード探索装置。
JP2009109490A 2009-04-28 2009-04-28 近隣ノード探索方法およびその装置 Pending JP2010258972A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009109490A JP2010258972A (ja) 2009-04-28 2009-04-28 近隣ノード探索方法およびその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009109490A JP2010258972A (ja) 2009-04-28 2009-04-28 近隣ノード探索方法およびその装置

Publications (1)

Publication Number Publication Date
JP2010258972A true JP2010258972A (ja) 2010-11-11

Family

ID=43319343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009109490A Pending JP2010258972A (ja) 2009-04-28 2009-04-28 近隣ノード探索方法およびその装置

Country Status (1)

Country Link
JP (1) JP2010258972A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992159B2 (en) 2012-06-11 2018-06-05 Nec Corporation Communication information detecting device and communication information detecting method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992159B2 (en) 2012-06-11 2018-06-05 Nec Corporation Communication information detecting device and communication information detecting method

Similar Documents

Publication Publication Date Title
KR100477653B1 (ko) 외부망에서의 dns 서버 검색 장치 및 방법
CN108886538B (zh) 用于配置m2m装置的方法和设备
US9628435B2 (en) Duplicate address detection based on distributed bloom filter
JP6633775B2 (ja) パケット伝送
Thaler Multi-link subnet issues
CN112654049B (zh) 用于配置无线通信覆盖扩展***的方法、***、节点和介质
US20130046899A1 (en) Ipv6 lan-side address assignment policy
Grajzer et al. ND++–an extended IPv6 Neighbor Discovery protocol for enhanced stateless address autoconfiguration in MANETs
WO2013186969A1 (ja) 通信情報検出装置及び通信情報検出方法
US9100433B2 (en) Communications control device, communications system, and program
JP4054719B2 (ja) 特定アドレス使用制限装置
WO2018006684A1 (zh) 报文处理方法、装置及路由器
CN107231249B (zh) 转发节点的物理拓扑信息的获取方法、控制器和转发节点
JP5818272B2 (ja) ホームゲートウェイ装置およびパケット転送方法
JP2010258972A (ja) 近隣ノード探索方法およびその装置
JP5370493B2 (ja) 通信システム、通信装置、通信制御方法及び通信制御プログラム
JP2005287044A (ja) Ipネットワークに接続された装置の発見の方法、及び、この方法を実行する装置
JP6411262B2 (ja) 制御装置およびシステム
KR20160011774A (ko) 식별자 기반 네트워크 경로 설정 방법 및 장치
JP5105124B2 (ja) ルータ装置、プレフィクス管理にもとづくパケット制御方法およびプログラム
CN108632198B (zh) 一种设备管理方法及装置
WO2014132774A1 (ja) ノード情報検出装置、ノード情報検出方法、及びプログラム
KR101296376B1 (ko) IPv6 네트워크에서 호스트 장치 차단 방법, 그리고 이를 구현한 네트워크 관리장치
JP6489837B2 (ja) 制御装置およびシステム
JP2005174195A (ja) ネットワーク機器自動設定の方法、装置ならびにプログラム