光ファイバを用いたFTTH(Fiber To The Home)サービスが普及するにつれて、使用される光ファイバケーブルの量が膨大になってきており、これら膨大な量の光ファイバネットワークを効率的かつ信頼性高く遠隔監視することが求められるようになってきている。光ファイバネットワークの遠隔監視を行うためには、正確な線路長情報の取得が必要である。そこで、例えば非特許文献1に記載の「GE−PONパケットキャプチャによるロケーション&データベースフリー光線路試験システム」のように、DiscoveryGateフレームとRequestフレームとを用いて、局側端末と加入者端末との間のラウンドトリップタイム(「RTT」とも記す)を求めることが提案されている。
本田奈月、真鍋哲也、嶌津聡志、東裕司、「GE−PONパケットキャプチャによるロケーション&データベースフリー光線路試験システム」、信学技報、社団法人電子情報通信学会、2011年8月、21〜24頁
ところで、非特許文献1に記載のシステムでは、汎用パケットキャプチャを使っているため、取得される膨大なパケットデータから、ラウンドトリップタイムを計測するために必要なデータを抜き出す必要があり、手間や時間がかかるといった問題があった。また、ラウンドトリップタイムを計測するために用いるDiscoveryGateフレームは一定間隔でキャプチャできるが、局側端末と加入者端末の接続が確立している場合には、Requestフレームが出力されないのでキャプチャできない場合があるといった問題があった。
そこで、本発明は、上述の課題を解決するためになされたものであり、手間や時間をかけることなくラウンドトリップタイムをより精度よく計測することができるRTT計測システム、RTT計測方法、及び、RTT計測プログラムを提供することを目的とする。
本発明に係るRTT計測システムは、GE−PONシステムを構成する局側端末と加入者端末との間に介在し、加入者端末との間のラウンドトリップタイムを計測するRTT計測システムである。このRTT計測システムは、局側端末からDiscoveryGateフレームを受信する第1の受信手段と、加入者端末からReportフレームを受信する第2の受信手段と、第2の受信手段で受信したReportフレームのうち、第1の受信手段で受信した一のDiscoveryGateフレームに含まれる基準時間から所定の経過時間未満のReportフレームを破棄すると共に、当該経過時間後のReportフレームを選択するフレーム選別手段と、第1の受信手段で受信したDiscoveryGateフレームに含まれる時間情報とフレーム選別手段で選択されたReportフレームに含まれる時間情報とに基づいて、加入者端末との間のラウンドトリップタイムを計算するRTT計算手段と、を備えたことを特徴としている。
また、本発明に係るRTT計測方法は、GE−PONシステムを構成する局側端末と加入者端末との間に介在して加入者端末との間のラウンドトリップタイムを計測するRTT計測システムにおいて、加入者端末との間のラウンドトリップタイムを計測するRTT計測方法である。このRTT計測方法は、局側端末からDiscoveryGateフレームを受信する第1の受信ステップと、加入者端末からReportフレームを受信する第2の受信ステップと、第2の受信ステップにおいて受信したReportフレームのうち、第1の受信ステップにおいて受信した一のDiscoveryGateフレームに含まれる基準時間から所定の経過時間未満のReportフレームを破棄すると共に、当該経過時間後のReportフレームを選択するフレーム選別ステップと、第1の受信ステップにおいて受信したDiscoveryGateフレームに含まれる時間情報とフレーム選別ステップにおいて選択されたReportフレームに含まれる時間情報とに基づいて、加入者端末との間のラウンドトリップタイムを計算するRTT計算ステップと、を備えたことを特徴としている。
また、本発明に係るRTT計測プログラムは、局側端末からDiscoveryGateフレームを受信する第1の受信手段と、加入者端末からReportフレームを受信する第2の受信手段と、第2の受信手段で受信したReportフレームのうち、第1の受信手段で受信した一のDiscoveryGateフレームに含まれる基準時間から所定の経過時間未満のReportフレームを破棄すると共に、当該経過時間後のReportフレームを選択するフレーム選別手段と、第1の受信手段で受信したDiscoveryGateフレームに含まれる時間情報とフレーム選別手段で選択されたReportフレームに含まれる時間情報とに基づいて、加入者端末との間のラウンドトリップタイムを計算するRTT計算手段と、をコンピュータに実行させることを特徴としている。
上述したRTT計測システム、RTT計測方法及びRTT計測プログラムでは、受信したReportフレームのうち、一のDiscoveryGateフレームに含まれる基準時間から所定の経過時間未満のReportフレームを破棄すると共に、当該経過時間後のReportフレームを選択し、選択したReportフレームに含まれる時間情報とDiscoveryGateフレームに含まれる時間情報とに基づいて、ラウンドトリップタイムを計測している。このため、DiscoveryGateフレームとReportフレームとの対応がより確実にとれるようになり、手間や時間をかけることなくラウンドトリップタイムをより精度よく計測することができる。また、このようなRTT計測システムを設けることにより、ほぼリアルタイムにラウンドトリップタイムを算出することが可能となる。
上記RTT計測システムでは、フレーム選別手段は、経過時間後のReportフレームを少なくとも2つ選択し、RTT計算手段は、選択された少なくとも2つのReportフレームに基づいて、加入者端末との間のラウンドトリップタイムを計算するようにしてもよい。
本発明によれば、手間や時間をかけることなくラウンドトリップタイムをより精度よく計測することができるRTT計測システム、RTT計測方法、及び、RTT計測プログラムを提供することができる。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において、同一又は同等の要素には、同一符号を付し、重複する説明を省略する。
まず、図1を参照しながら、本実施形態に係るRTT計測システム1の概略について説明する。
RTT計測システム1は、GE−PON(Gigabit Ethernet(登録商標)-Passive Optical Network)システムを構成する局側端末であるOLT(OpticalLine Terminal)30と加入者端末であるONU(Optical Network Unit)32との間に介在し、当該システム1とONU32との間のラウンドトリップタイムを計測するシステムである。RTT計測システム1は、RTT計測装置10、RTT計測装置10に接続されて所定の情報処理を行うパーソナルコンピュータ25、OLT30とONU32との間に配置される光ファイバ34内を伝搬している光を分岐する光分岐部20、及び、光分岐部20で分岐した光をRTT計測装置10へ伝送するコード22を含んで構成されている。
RTT計測装置10は、そのハード構成として、光リンク11,12、フレーム受信部13,14、水晶振動子15、データ転送部16、USB17、及び、コネクタ部18,19を備えている。フレーム受信部13,14、データ転送部16は、例えばFPGA(Field-ProgrammableGate Array)によって構成される。光リンク11、12は、コネクタ部18,19を介して受光した光を伝送する部品であり、光リンク11は、例えば波長が1490nmの光を受光して下りフレーム受信部13に伝送し、光リンク12は、例えば波長が1310nmの光を受光して上りフレーム受信部14に伝送する。波長が1490nmの光は、例えばOLT30からの下り信号であり、波長が1310nmの光は、ONU32からの上り信号である。すなわち、光リンク11は、OLT30からの光信号を受信し、光リンク12は、ONU32からの光信号を受信する。
フレーム受信部13,14は、GE−PONの下り信号と上り信号のパケットフレームに記憶された情報を記録し、記録した情報から必要な情報を抜き出して、データ転送部16及びUSB17を介して、パーソナルコンピュータ25に出力する。フレーム受信部13,14に記録される情報としては、LLID、MACアドレス、及び、DiscoveryGateフレームやReportフレームなどが例示されるが、これに限定される訳ではない。
DiscoveryGateフレームは、図2に示されるように、OLT30からONU32に送られるフレームであり、新たに接続されるONU32を探すために定期的に出力されるものであり、その周期は、例えば数100msecとなっている。DiscoveryGateフレームの詳細については、IEEE Std 802.3ah−2004の「64.3.6.1 GATE description」に規定されており、ここではその詳細な説明は省略する。
一方、Reportフレームは、DiscoveryGateフレームに対応して、ONU32からOLT30に送られるフレームであり、その周期は、例えば、数100μsecとなっている。Reportフレームの詳細については、IEEE Std 802.3ah−2004の「64.3.6.2 REPORT description」に規定されており、ここではその詳細な説明は省略する。なお、図2の例では、DiscoveryGateフレーム#1の横に記載しているReportフレーム#1〜#12が、DiscoveryGateフレーム#1に対応するように記載されているが、実際には、Reportフレーム#1〜#12は、DiscoveryGateフレーム#1よりも前のDiscoveryGateフレームに対応している場合もあり、両フレームの対応関係は必ずしも明確でない。
ここで図1に戻り、フレーム受信部13等の説明を続ける。下りフレーム受信部13は、OLT30からのDiscoveryGateフレームに含まれるタイムスタンプの時間情報を抜き出し、下りカウンタとしてデータ転送部16に出力する。一方、上りフレーム受信部14は、ONU32からのReportフレームに含まれるタイムスタンプの時間情報を抜き出し、上りカウンタとしてデータ転送部16に出力する。下りフレーム受信部13には水晶振動子15が接続されており、下りフレーム受信部13からの同期信号によりフレーム受信部13,14間で同期がとられ、これにより、各フレーム間の受信時刻の同期が図られている。
データ転送部16は、フレーム受信部13,14から送られてきた下りカウンタ、上りカウンタをUSB17を介して、パーソナルコンピュータ25に出力する。これらの時間情報が入力されたパーソナルコンピュータ25は、後述するRTT計測処理を行い、ラウンドトリップタイムを算出する。
続いて、上述したハード構成を備えたRTT計測システム1の機能的構成について、図3を参照しながら説明する。
RTT計測システム1は、機能的には、DiscoveryGateフレーム受信部101、Reportフレーム受信部102、Reportフレーム選別部103、Timestamp計算部104、及び、RTT計算部105を含んで構成されている。
DiscoveryGateフレーム受信部101(第1の受信手段)は、OLT30からのDiscoveryGateフレームを受信する受信部である。DiscoveryGateフレーム受信部101は、フレームのLength/Typeが「0×8808」であり、Opcodeが「0×0002」であり、更に、Number of grants/Flagsの3ビット目が「1」である場合、受信したフレームをDiscoveryGateフレームと判断し、受信する。図4に示されるように、DiscoveryGateフレーム受信部101は、受信したDiscoveryGateフレームのTimestamp=tdである場合、RTT計測装置10のカウンタ=τdと設定する。
Reportフレーム受信部102(第2の受信手段)は、ONU32からのReportフレームを受信する受信部である。Reportフレーム受信部102は、フレームのLength/Typeが「0×8808」であり、Opcodeが「0×0003」である場合、受信したフレームをReportフレームと判断し、受信する。
Reportフレーム選別部103(フレーム選別手段)は、Reportフレーム受信部102で受信したReportフレームのうち、DiscoveryGateフレーム受信部101で受信した一のDiscoveryGateフレームに含まれるTimestamp=td(基準時間)から40km往復時間(経過時間)未満のReportフレームを破棄すると共に、40km往復時間後のReportフレームを選択する。この際、Reportフレーム選別部103は、40km往復時間後のReportフレームデータ#1,#2の少なくとも2つを取得する。ここで用いる往復時間は、所定の距離を光信号が往復する時間であり、上記では40kmの往復時間を例示しているが、20kmの往復時間などにしてもよい。
Reportフレーム受信部102で受信されるReportフレームは、一回前のDiscoveryGateフレームに呼応したフレームである可能性もあるが、上述した選別を行うことにより、一回前のDiscoveryGateフレームに対応したReportフレームを選別して破棄することができる。Reportフレーム選別部103は、このようにして選択したReportフレーム#1,#2のTimestamp=t1,t2である場合、RTT計測装置10のカウンタ=τ1,τ2と設定する。
Timestamp計算部104(RTT計算手段)は、仮想MPCP Timestampを計算する部分である。具体的には、Timestamp計算部104は、DiscoveryGateフレームと同時に通過するONU32の仮想ReportフレームのTimestampを以下の式(1)〜(3)により求める。
傾き(a_m)=(t2−t1)/(τ2−τ1)・・・(1)
切片(b_m)=t1−(a_m)×τ1・・・(2)
仮想MPCP Timestamp(tm)=(a_m)×τd+(b_m)・・・(3)
RTT計算部105(RTT計算手段)は、DiscoveryGateフレーム受信部101で受信したDiscoveryGateフレームに含まれる時間情報(Timestamp)とReportフレーム選別部103で選択されたReportフレームに含まれる時間情報(Timestamp)とに基づいて、本システム1とONU32との間のラウンドトリップタイムを計算する計算部である。RTT計算部105は、具体的には、上記の式(3)で算出された仮想MPCP Timestamp(tm)と、DiscoveryGateフレーム受信部101で受信したDiscoveryGateフレームに含まれるTimestamp=tdとを以下の式(4)に挿入することにより、ラウンドトリップタイムRTTを算出する。
RTT=(td−tm)/2・・・(4)
続いて、上述したRTT計測システム1において、当該システム1とONU32との間のラウンドトリップタイムを計測するRTT計測方法について図5を参照して説明する。
まず、DiscoveryGateフレーム受信部101が、OLT30からのDiscoveryGateフレームを受信する(ステップS1:第1の受信ステップ)。DiscoveryGateフレーム受信部101は、フレームのLength/Typeが「0×8808」であり、Opcodeが「0×0002」であり、更に、Number of grants/Flagsの3ビット目が「1」である場合、受信したフレームをDiscoveryGateフレームと判断し、受信する。DiscoveryGateフレーム受信部101は、受信したDiscoveryGateフレームのTimestamp=tdである場合、RTT計測装置10のカウンタ=τdと設定する(図4参照)。
続いて、Reportフレーム受信部102が、ONU32からのReportフレームを受信する(ステップS2:第2の受信ステップ)。Reportフレーム受信部102は、フレームのLength/Typeが「0×8808」であり、Opcodeが「0×0003」である場合、受信したフレームをReportフレームと判断し、受信する。
そして、Reportフレーム選別部103は、Reportフレーム受信部102で受信したReportフレームのうち、DiscoveryGateフレーム受信部101で受信した一のDiscoveryGateフレームに含まれるTimestamp=tdから40km往復時間未満のReportフレームを破棄すると共に、40km往復時間後のReportフレームを選択する(ステップS2:フレーム選別ステップ)。この際、Reportフレーム選別部103は、40km往復時間後のReportフレームデータ#1,#2の少なくとも2つを取得する(図4参照)。
Reportフレーム受信部102で受信されるReportフレームは、一回前のDiscoveryGateフレームに呼応したフレームである可能性もあるが、上述した選別を行うことにより、一回前のDiscoveryGateフレームに対応したReportフレームを選別して破棄することができる。Reportフレーム選別部103は、このようにして選択したReportフレーム#1,#2のTimestamp=t1,t2である場合、RTT計測装置10のカウンタ=τ1,τ2と設定する。
続いて、Timestamp計算部104が、仮想MPCP Timestampを計算する(ステップS3:RTT計算ステップ)。具体的には、Timestamp計算部104が、DiscoveryGateフレームと同時に通過するONU32の仮想ReportフレームのTimestampを以下の式(1)〜(3)により求める。
傾き(a_m)=(t2−t1)/(τ2−τ1)・・・(1)
切片(b_m)=t1−(a_m)×τ1・・・(2)
仮想MPCP Timestamp(tm)=(a_m)×τd+(b_m)・・・(3)
RTT計算部105は、DiscoveryGateフレーム受信部101で受信したDiscoveryGateフレームに含まれるTimestampとReportフレーム選別部103で選択されたReportフレームに含まれるTimestampとに基づいて、当該システム1とONU32との間のラウンドトリップタイムを計算する(ステップS4:RTT計算ステップ)。RTT計算部105は、具体的には、上記の式(3)で算出された仮想MPCP Timestamp(tm)と、DiscoveryGateフレーム受信部101で受信したDiscoveryGateフレームに含まれるTimestamp=tdとを以下に式(4)に挿入することにより、ラウンドトリップタイムRTTを算出する。
RTT=(td−tm)/2・・・(4)
次に、図6を用いて、コンピュータをRTT計測システム1として機能させるためのRTT計測プログラムP1を説明する。
RTT計測プログラムP1は、メインモジュールP10,DiscoveryGateフレーム受信モジュールP11、Reportフレーム受信モジュールP12、Reportフレーム選別モジュールP13、Timestamp計算モジュールP14、及び、RTT計算モジュールP15を含んで構成されている。
メインモジュールP10は、上述した一連のRTT計測処理を統括的に制御する部分である。DiscoveryGateフレーム受信モジュールP11、Reportフレーム受信モジュールP12、Reportフレーム選別モジュールP13、Timestamp計算モジュールP14、及び、RTT計算モジュールP15を実行することにより実現される機能はそれぞれ、上記のDiscoveryGateフレーム受信部101、Reportフレーム受信部102、Reportフレーム選別部103、Timestamp計算部104、及び、RTT計算部105の機能と同様である。
RTT計測プログラムP1は、例えば、CD−ROMやDVD−ROM、半導体メモリ等の有形の記録媒体に固定的に記録された上で提供される。また、RTT計測プログラムP1は、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。
以上説明したように、RTT計測システム1では、受信したReportフレームのうち、一のDiscoveryGateフレームに含まれる基準時間から所定の経過時間未満のReportフレームを破棄すると共に、当該経過時間後のReportフレームを選択し、選択したReportフレームに含まれる時間情報とDiscoveryGateフレームに含まれる時間情報とに基づいて、ラウンドトリップタイムを計測している。このため、DiscoveryGateフレームとReportフレームとの対応がより確実にとれるようになり、手間や時間をかけることなくラウンドトリップタイムをより精度よく計測することができる。また、このようなRTT計測システム1を設けることにより、ほぼリアルタイムにラウンドトリップタイムを算出することが可能となる。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。