JP2023104245A - 中継装置 - Google Patents
中継装置 Download PDFInfo
- Publication number
- JP2023104245A JP2023104245A JP2022005119A JP2022005119A JP2023104245A JP 2023104245 A JP2023104245 A JP 2023104245A JP 2022005119 A JP2022005119 A JP 2022005119A JP 2022005119 A JP2022005119 A JP 2022005119A JP 2023104245 A JP2023104245 A JP 2023104245A
- Authority
- JP
- Japan
- Prior art keywords
- time
- unit
- relay device
- management
- reception time
- 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
Links
- 230000005856 abnormality Effects 0.000 claims abstract description 30
- 230000002159 abnormal effect Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 31
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 39
- 230000007704 transition Effects 0.000 abstract 5
- 238000010586 diagram Methods 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013519 translation Methods 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】異常な時刻を検出すること。【解決手段】中継装置100は、受信時刻を含むフレームを受信する通信部110、受信時刻と、中継装置100で管理されている管理時刻とを用いて、飛び幅を算出する算出部140、管理部180、カウンタ部150、及び異常判定部160を有する。管理部180は、管理時刻と、複数のカウンタ値に対応する複数の飛び幅を示す情報であり、かつ複数のカウンタ値の合計値が予め設定された閾値以上である関係情報とを記憶する。カウンタ部150は、算出された飛び幅に対応するカウンタ値をインクリメントする。算出部140は、関係情報を用いて、算出された飛び幅と、カウンタ値が最大の飛び幅との差を算出する第1の算出処理、又は関係情報を用いた分散、分散の移動平均値、及び移動平均値の変化率の算出処理と含む第2の算出処理を行う。異常判定部160は、差又は変化率が閾値以上である場合、受信時刻を異常と判定する。【選択図】図4
Description
本開示は、中継装置に関する。
複数の装置が、ネットワークを介して通信している。複数の装置の間では、時刻の同期が行われている。時刻の同期を行うための通信プロトコルとして、gPTP(generalized Precision Time Protocol)が知られている。また、gPTPは、IEEE802.1AS-2020で規定されている。ここで、時刻同期異常を検出する技術が提案されている(特許文献1を参照)。
ところで、時刻の同期では、時刻源から受信した時刻(以下、受信時刻)に基づいて、同期が行われる。しかし、受信時刻を受信した装置は、受信時刻が異常な時刻であるか否か分からない。そのため、例えば、受信時刻が異常な時刻である場合、当該装置が受信時刻に基づいて同期を行うことは、問題である。よって、当該装置は、異常な時刻を検出する必要がある。しかし、異常な時刻をどのように検出するかが問題である。
本開示の目的は、異常な時刻を検出することである。
本開示の一態様に係る中継装置が提供される。中継装置は、時刻源が送信した、時刻を含むフレームを受信する通信部と、前記フレームに含まれている前記時刻である受信時刻と、前記中継装置で管理されている時刻である管理時刻とを用いて、前記受信時刻と前記管理時刻との間隔を示す飛び幅を算出する算出部と、管理部と、カウンタ部と、異常判定部と、を有する。前記管理部は、前記管理時刻と、複数のカウンタ値に対応する複数の前記飛び幅を示す情報であり、かつ前記複数のカウンタ値の合計値が予め設定された閾値以上である関係情報とを記憶する。前記カウンタ部は、前記受信時刻を用いて算出された前記飛び幅に対応するカウンタ値をインクリメントする。前記算出部は、前記関係情報を用いて、前記受信時刻を用いて算出された前記飛び幅と、カウンタ値が最大の飛び幅との差を算出する第1の算出処理、又は前記関係情報を用いた分散の算出処理と、前記分散の移動平均値の算出処理と、前記移動平均値の変化率の算出処理と含む第2の算出処理を行う。前記異常判定部は、前記差又は前記変化率が予め設定された閾値以上である場合、前記受信時刻を異常と判定する。
本開示によれば、異常な時刻を検出することができる。
以下、図面を参照しながら実施の形態を説明する。以下の実施の形態は、例にすぎず、本開示の範囲内で種々の変更が可能である。
実施の形態1.
図1は、実施の形態1の通信システムを示す図である。通信システムは、中継装置100_1~100_4、GM(Grand Master)200、及び終端装置300_1~300_4を含む。例えば、中継装置100_1~100_4は、L2SW(Layer 2 Switching Hub)である。GM200は、時刻源とも言う。
ここで、中継装置100_1~100_4の総称は、中継装置100と呼ぶ。終端装置300_1~300_4の総称は、終端装置300と呼ぶ。
図1は、実施の形態1の通信システムを示す図である。通信システムは、中継装置100_1~100_4、GM(Grand Master)200、及び終端装置300_1~300_4を含む。例えば、中継装置100_1~100_4は、L2SW(Layer 2 Switching Hub)である。GM200は、時刻源とも言う。
ここで、中継装置100_1~100_4の総称は、中継装置100と呼ぶ。終端装置300_1~300_4の総称は、終端装置300と呼ぶ。
次に、gPTPに基づく時刻同期を説明する。
図2は、実施の形態1のgPTPに基づく時刻同期の例を示す図である。図2では、中継装置100とGM200との間で行われる時刻同期が、主に描かれている。中継装置100と終端装置300との間で時刻同期が、同様に行われる。中継装置100と終端装置300との間で行われる時刻同期の詳細は、省略されている。
図2は、実施の形態1のgPTPに基づく時刻同期の例を示す図である。図2では、中継装置100とGM200との間で行われる時刻同期が、主に描かれている。中継装置100と終端装置300との間で時刻同期が、同様に行われる。中継装置100と終端装置300との間で行われる時刻同期の詳細は、省略されている。
図2が示すように、GM200は、中継装置100からPdelay_Reqを受信した場合、受信時刻tG2を含むPdelay_Resを中継装置100に送信する。Pdelay_Resが送信された後、GM200は、送信時刻tG3を含むPdelay_Res_Follow_Upを中継装置100に送信する。これにより、中継装置100は、受信時刻tG2と送信時刻tG3とを記憶することができる。また、中継装置100は、Pdelay_Reqを送信した時刻tL1と、Pdelay_Resを受信した時刻t´L4とを記憶する。
中継装置100は、図2に記載されている記号を用いて、クロック比RGLを算出することができる。例えば、中継装置100は、式(1)を用いて、クロック比RGLを算出することができる。
中継装置100は、図2に記載されている記号を用いて、伝搬遅延時間DGLを算出することができる。例えば、中継装置100は、式(2)を用いて、伝搬遅延時間DGLを算出することができる。
GM200は、定期的にSync及びFollow_Upを中継装置100に送信する。また、中継装置100は、装置内滞留時間SLを算出することができる。詳細には、中継装置100は、式(3)を用いて、装置内滞留時間SLを算出することができる。式(3)のTLSNCTXは、中継装置100が終端装置300にSyncを送信する時刻である。式(3)のTLSNCRXは、中継装置100がSyncを受信した時刻である。なお、装置内滞留時間SLは、Sync(すなわち、フレーム)を一時的に格納している時間である。
中継装置100は、Syncの送信時刻TGMに、伝搬遅延時間DGLと装置内滞留時間SLと加算する。中継装置100は、加算により得られた時刻を、中継装置100が管理する時刻に同期する。これにより、中継装置100の時刻とGM200の時刻とが、同期する。
gPTPに基づく時刻同期は、このように行われる。また、中継装置100は、gPTPに基づく時刻同期の方法と異なる方法で同期を行う。詳細は、後で説明する。
gPTPに基づく時刻同期は、このように行われる。また、中継装置100は、gPTPに基づく時刻同期の方法と異なる方法で同期を行う。詳細は、後で説明する。
次に、中継装置100が有するハードウェアを説明する。
図3は、実施の形態1の中継装置が有するハードウェアを示す図である。中継装置100は、プロセッサ101、揮発性記憶装置102、及び不揮発性記憶装置103を有する。
図3は、実施の形態1の中継装置が有するハードウェアを示す図である。中継装置100は、プロセッサ101、揮発性記憶装置102、及び不揮発性記憶装置103を有する。
プロセッサ101は、中継装置100全体を制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などである。プロセッサ101は、マルチプロセッサでもよい。また、中継装置100は、処理回路を有してもよい。
揮発性記憶装置102は、中継装置100の主記憶装置である。例えば、揮発性記憶装置102は、RAM(Random Access Memory)である。不揮発性記憶装置103は、中継装置100の補助記憶装置である。例えば、不揮発性記憶装置103は、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)である。
次に、中継装置100が有する機能を説明する。
図4は、実施の形態1の中継装置の機能を示すブロック図である。中継装置100は、通信部110_1~110_n(nは、正の整数)、L2プロトコル処理部120、回数判定部130、算出部140、カウンタ部150、異常判定部160、同期判定部170、及び管理部180を有する。
図4は、実施の形態1の中継装置の機能を示すブロック図である。中継装置100は、通信部110_1~110_n(nは、正の整数)、L2プロトコル処理部120、回数判定部130、算出部140、カウンタ部150、異常判定部160、同期判定部170、及び管理部180を有する。
管理部180の一部は、揮発性記憶装置102又は不揮発性記憶装置103に確保した記憶領域として実現してもよい。
通信部110_1~110_n、L2プロトコル処理部120、回数判定部130、算出部140、カウンタ部150、異常判定部160、同期判定部170、及び管理部180の一部又は全部は、処理回路によって実現してもよい。また、通信部110_1~110_n、L2プロトコル処理部120、回数判定部130、算出部140、カウンタ部150、異常判定部160、同期判定部170、及び管理部180の一部又は全部は、プロセッサ101が実行するプログラムのモジュールとして実現してもよい。
通信部110_1~110_nは、フレームの送受信を行う。例えば、フレームは、Pdelay_Req、Pdelay_Res、Pdelay_Res_Follow_Upなどである。このように、通信部110_1~110_nは、GM200が送信したフレームを受信する。また、通信部110_1~110_nは、GM200にフレームを送信する。ここで、通信部110_1~110_nの総称は、通信部110と呼んでもよい。
L2プロトコル処理部120は、Pdelay_Resが受信された場合、Pdelay_Resから受信時刻を取得する。L2プロトコル処理部120は、Pdelay_Res_Follow_Upが受信された場合、Pdelay_Res_Follow_Upから送信時刻を取得する。
Pdelay_Reqが送信される場合、L2プロトコル処理部120は、Pdelay_Reqの送信指示を通信部110_1~110_nに送信する。これにより、通信部110_1~110_nは、Pdelay_ReqをGM200に送信する。
回数判定部130、算出部140、カウンタ部150、異常判定部160、同期判定部170、及び管理部180の機能については、後で詳細に説明する。
次に、中継装置100が実行する処理を、フローチャートを用いて、説明する。
図5は、実施の形態1の中継装置が実行する処理の例を示すフローチャート(その1)である。
(ステップS11)回数判定部130は、Pdelay_Resに含まれている受信時刻と、Pdelay_Res_Follow_Upに含まれている送信時刻とを受信する。
(ステップS12)回数判定部130は、Pdelay_ResとPdelay_Res_Follow_Upとを初めて受信したか否かを判定する。初めての受信である場合、処理は、ステップS13に進む。2回以上の受信である場合、処理は、ステップS14に進む。
図5は、実施の形態1の中継装置が実行する処理の例を示すフローチャート(その1)である。
(ステップS11)回数判定部130は、Pdelay_Resに含まれている受信時刻と、Pdelay_Res_Follow_Upに含まれている送信時刻とを受信する。
(ステップS12)回数判定部130は、Pdelay_ResとPdelay_Res_Follow_Upとを初めて受信したか否かを判定する。初めての受信である場合、処理は、ステップS13に進む。2回以上の受信である場合、処理は、ステップS14に進む。
(ステップS13)管理部180は、Pdelay_Resに含まれている受信時刻に、中継装置100で管理されている時刻である管理時刻を同期する。なお、当該管理時刻は、管理部180が記憶している。そして、処理は、終了する。
(ステップS14)算出部140は、Pdelay_Resに含まれている受信時刻と、管理時刻とを用いて、当該受信時刻と当該管理時刻との間隔を示す飛び幅を算出する。また、飛び幅は、当該管理時刻が当該受信時刻にどのくらいずれているのかを示す値と考えてもよい。具体的には、算出部140は、式(4)を用いて、飛び幅を算出する。
(ステップS14)算出部140は、Pdelay_Resに含まれている受信時刻と、管理時刻とを用いて、当該受信時刻と当該管理時刻との間隔を示す飛び幅を算出する。また、飛び幅は、当該管理時刻が当該受信時刻にどのくらいずれているのかを示す値と考えてもよい。具体的には、算出部140は、式(4)を用いて、飛び幅を算出する。
(ステップS15)カウンタ部150は、算出された飛び幅に対応するカウンタ値をインクリメントする。
ここで、管理部180は、関係情報を記憶する。関係情報は、複数のカウンタ値に対応する複数の飛び幅を示す情報である。例えば、関係情報は、飛び幅“8ns”に対応するカウンタ値、飛び幅“0ns”に対応するカウンタ値、飛び幅“-8ns”に対応するカウンタ値などを示す。なお、カウンタ値の初期値は、0である。例えば、算出された飛び幅が8nsである場合、カウンタ部150は、8nsに対応するカウンタ値に1を加算する。このように、算出された飛び幅に対応するカウンタ値が、カウントアップされる。
ここで、管理部180は、関係情報を記憶する。関係情報は、複数のカウンタ値に対応する複数の飛び幅を示す情報である。例えば、関係情報は、飛び幅“8ns”に対応するカウンタ値、飛び幅“0ns”に対応するカウンタ値、飛び幅“-8ns”に対応するカウンタ値などを示す。なお、カウンタ値の初期値は、0である。例えば、算出された飛び幅が8nsである場合、カウンタ部150は、8nsに対応するカウンタ値に1を加算する。このように、算出された飛び幅に対応するカウンタ値が、カウントアップされる。
(ステップS16)算出部140は、関係情報を用いて、算出された飛び幅と、カウンタ値が最大の飛び幅との差を算出する。詳細には、算出部140は、関係情報を用いて、複数のカウンタ値の中からカウンタ値が最大の飛び幅を特定する。算出部140は、算出された飛び幅と、カウンタ値が最大の飛び幅との差を算出する。例えば、カウンタ値が最大の飛び幅が0nsである場合、差は、式(5)のように算出される。なお、差は、絶対値で表される。
ここで、ステップS16で行われる処理は、第1の算出処理とも言う。
(ステップS17)算出部140は、関係情報を用いて、飛び幅の分散を算出する。詳細には、算出部140は、式(6)を用いて、飛び幅の分散を算出する。なお、S2は、分散である。nは、データの総数である。xiは、カウンタ値である。μは、平均値である。
このように、算出部140は、関係情報を用いた分散の算出処理を行う。
算出部140は、式(7)を用いて、当該分散の移動平均値を算出する。なお、Anは、n回目の分散に基づいて算出された移動平均値である。Sn^2は、n回目にカウントアップした飛び幅の分散である。Sn+100^2は、n+100回目にカウントアップした飛び幅の分散である。
算出部140は、式(7)を用いて、当該分散の移動平均値を算出する。なお、Anは、n回目の分散に基づいて算出された移動平均値である。Sn^2は、n回目にカウントアップした飛び幅の分散である。Sn+100^2は、n+100回目にカウントアップした飛び幅の分散である。
このように、算出部140は、分散の移動平均値の算出処理を行う。
算出部140は、式(8)を用いて、移動平均値の変化率を算出する。
算出部140は、式(8)を用いて、移動平均値の変化率を算出する。
このように、算出部140は、移動平均値の変化率の算出処理を行う。
ここで、ステップS17で行われる処理は、第2の算出処理とも言う。上記では、算出部140が第1の算出処理及び第2の算出処理を行う場合を説明した。算出部140は、第1の算出処理又は第2の算出処理を行ってもよい。
ここで、ステップS17で行われる処理は、第2の算出処理とも言う。上記では、算出部140が第1の算出処理及び第2の算出処理を行う場合を説明した。算出部140は、第1の算出処理又は第2の算出処理を行ってもよい。
図6は、実施の形態1の中継装置が実行する処理の例を示すフローチャート(その2)である。
(ステップS21)異常判定部160は、ステップS16で算出された差又はステップS17で算出された変化率が予め設定された閾値以上であるか否かを判定する。差又は変化率が閾値以上である場合、処理は、ステップS22に進む。差及び変化率が閾値未満である場合、異常判定部160は、ステップS11で受信した受信時刻を正常と判定する。そして、処理は、ステップS24に進む。
(ステップS21)異常判定部160は、ステップS16で算出された差又はステップS17で算出された変化率が予め設定された閾値以上であるか否かを判定する。差又は変化率が閾値以上である場合、処理は、ステップS22に進む。差及び変化率が閾値未満である場合、異常判定部160は、ステップS11で受信した受信時刻を正常と判定する。そして、処理は、ステップS24に進む。
(ステップS22)異常判定部160は、関係情報が示す複数のカウンタ値の合計値が予め設定された閾値以上であるか否かを判定する。
合計値が閾値以上である場合、ステップS11で受信された受信時刻を含むPdelay_Resよりも前に複数のPdelay_Resが受信されており、複数のPdelay_Resに含まれていた複数の受信時刻に基づいて複数の飛び幅が算出されており、複数の飛び幅に対応するカウンタ値がカウントアップされていることを意味する。簡単に言えば、ステップS11で受信された受信時刻を含むPdelay_Resが受信される前に、図5,6のフローチャートが複数回行われていることを意味する。
当該合計値が閾値未満である場合、当該変化率の変動は、大きい。当該変化率の変動が大きい場合、異常の判定が誤判定になる。そのため、ステップS22が行われる。また、ステップS22の判定は、次のように表現してもよい。異常判定部160は、異常を検出するための十分な時間が経過したか否かを判定する。十分な時間が経過した場合とは、当該合計値が閾値以上の場合である。十分な時間が経過していない場合とは、当該合計値が閾値未満の場合である。
当該合計値が閾値以上である場合、処理は、ステップS23に進む。当該合計値が閾値未満である場合、異常判定部160は、ステップS11で受信した受信時刻を正常と判定する。そして、処理は、ステップS24に進む。
(ステップS23)異常判定部160は、ステップS11で受信した受信時刻を異常と判定する。
ここで、異常の判定を、グラフを用いて説明する。
図7は、実施の形態1の異常の判定の例を示す図である。図7の縦軸は、カウンタ値を示している。図7の横軸は、飛び幅を示している。
図7は、実施の形態1の異常の判定の例を示す図である。図7の縦軸は、カウンタ値を示している。図7の横軸は、飛び幅を示している。
図7は、今回算出された飛び幅を示している。すなわち、今回算出された飛び幅は、ステップS14で算出された飛び幅である。また、図7は、カウンタ値が最大の飛び幅が0nsであることを示している。式(5)を用いることで、差が算出される。差が閾値以上である場合、異常判定部160は、今回算出された飛び幅の基である受信時刻を異常と判定する。このように、異常判定部160は、図7のような場合、受信時刻を異常と判定する。なお、閾値には、異常とみなす飛び幅の時間が設定されてもよい。また、閾値には、正常とみなす飛び幅の確率が設定されてもよい。
次に、カウンタ値が最大の飛び幅が徐々に変化する場合を例示する。
図8は、実施の形態1の飛び幅の変化の例を示す図である。図8の縦軸は、カウンタ値を示している。図8の横軸は、飛び幅を示している。
図8は、実施の形態1の飛び幅の変化の例を示す図である。図8の縦軸は、カウンタ値を示している。図8の横軸は、飛び幅を示している。
グラフ401は、カウンタ値が最大の飛び幅が0nsであることを示すグラフである。言い換えれば、グラフ401は、中央値が0nsであることを示すグラフである。
グラフ402は、中央値が100nsであることを示すグラフである。グラフ402は、中央値が100nsずれた状態を示している。なお、グラフ401とグラフ402とのカウンタ値の総数は、異なる。
グラフ403は、グラフ402の中央値がさらに右方向にずれた状態を示している。なお、グラフ402とグラフ403とのカウンタ値の総数は、異なる。
グラフ404は、グラフ401~403を1つのグラフで表した状態を示している。
グラフ402は、中央値が100nsであることを示すグラフである。グラフ402は、中央値が100nsずれた状態を示している。なお、グラフ401とグラフ402とのカウンタ値の総数は、異なる。
グラフ403は、グラフ402の中央値がさらに右方向にずれた状態を示している。なお、グラフ402とグラフ403とのカウンタ値の総数は、異なる。
グラフ404は、グラフ401~403を1つのグラフで表した状態を示している。
このように、中央値が、時間と共に徐々にずれてくる場合がある。言い換えれば、中継装置100が受信する受信時刻に基づく飛び幅が、時間と共に変化する場合がある。グラフ401が正常なグラフである場合、グラフ401の中央値から離れた飛び幅に基づく受信時刻は、異常な受信時刻とも言える。ここで、グラフ401の中央値から、どのくらい離れた飛び幅に基づく受信時刻が異常な時刻であるかを判定するために変化率が算出される。
次に、変化率のグラフを例示する。
図9は、実施の形態1の変化率のグラフの例を示す図である。図9の左縦軸は、分散の移動平均値を示している。図9の右縦軸は、変化率を示している。図9の横軸は、時間を示している。
変化率が閾値以上である場合、異常判定部160は、今回算出された飛び幅の基である受信時刻を異常と判定する。
図9は、実施の形態1の変化率のグラフの例を示す図である。図9の左縦軸は、分散の移動平均値を示している。図9の右縦軸は、変化率を示している。図9の横軸は、時間を示している。
変化率が閾値以上である場合、異常判定部160は、今回算出された飛び幅の基である受信時刻を異常と判定する。
上記では、ステップS22で、カウンタ値の合計値が閾値未満である場合、変化率の変動は、大きいと説明した。言い換えれば、十分な時間が経過していない場合、変化率の変動は、大きいと説明した。図9が示すように、十分な時間が経過していない場合、変化率の変動は、大きい。そのため、十分な時間が経過していない場合、変化率が閾値以上になることがある。変化率の変動が大きい場合、異常の判定が行われる。すなわち、誤判定が行われる。そのため、ステップS22が行われる。
図6に戻って、フローチャートの説明を行う。
(ステップS24)同期判定部170は、ステップS15でカウントアップされたカウンタ値(すなわち、ステップS14で算出された飛び幅に対応するカウンタ値)が、関係情報が示す複数のカウンタ値の中で最大であり、かつ正常が判定されているか否かを判定する。条件を満たした場合、処理は、ステップS25に進む。条件を満たしていない場合、処理は、ステップS27に進む。
(ステップS24)同期判定部170は、ステップS15でカウントアップされたカウンタ値(すなわち、ステップS14で算出された飛び幅に対応するカウンタ値)が、関係情報が示す複数のカウンタ値の中で最大であり、かつ正常が判定されているか否かを判定する。条件を満たした場合、処理は、ステップS25に進む。条件を満たしていない場合、処理は、ステップS27に進む。
詳細に処理を説明する。同期判定部170は、関係情報を用いて、複数のカウンタ値の中で最大値を特定する。同期判定部170は、最大値のカウンタ値に対応する飛び幅がステップS14で算出された飛び幅と同じであるか否かを判定する。同期判定部170は、飛び幅が同じであり、かつ正常が判定されている場合、条件を満たしていると判定する。
(ステップS25)管理部180は、ステップS11で受信した受信時刻に、管理部180で管理している管理時刻を同期する。
(ステップS26)管理部180は、ステップS14で算出された飛び幅分、全カウンタ値を平行移動させる。詳細には、管理部180は、関係情報が示す複数の飛び幅に、ステップS14で算出された飛び幅を加算又は減算する。例えば、ステップS14で算出された飛び幅がマイナスの値である場合、管理部180は、関係情報が示す複数の飛び幅に、ステップS14で算出された飛び幅を加算する。ステップS14で算出された飛び幅がプラスの値である場合、管理部180は、関係情報が示す複数の飛び幅に、ステップS14で算出された飛び幅を減算する。これにより、全カウンタ値が、平行移動される。
平行移動させた後、処理は、終了する。
(ステップS26)管理部180は、ステップS14で算出された飛び幅分、全カウンタ値を平行移動させる。詳細には、管理部180は、関係情報が示す複数の飛び幅に、ステップS14で算出された飛び幅を加算又は減算する。例えば、ステップS14で算出された飛び幅がマイナスの値である場合、管理部180は、関係情報が示す複数の飛び幅に、ステップS14で算出された飛び幅を加算する。ステップS14で算出された飛び幅がプラスの値である場合、管理部180は、関係情報が示す複数の飛び幅に、ステップS14で算出された飛び幅を減算する。これにより、全カウンタ値が、平行移動される。
平行移動させた後、処理は、終了する。
(ステップS27)管理部180は、gPTPに基づく時刻同期で管理時刻を同期する。
次に、中継装置100が実行する処理を、具体例を用いて説明する。
図10(A)~(D)は、実施の形態1の中継装置が実行する処理の具体例(その1)を示す図である。中継装置100は、2回目のPdelay_Resを受信したものとする。
図10(A)~(D)は、実施の形態1の中継装置が実行する処理の具体例(その1)を示す図である。中継装置100は、2回目のPdelay_Resを受信したものとする。
算出部140は、Pdelay_Resに含まれている受信時刻(以下、2回目の受信時刻)と、管理部180で管理している管理時刻とを用いて、飛び幅“8ns”を算出する(ステップS14)。カウンタ部150は、飛び幅“8ns”に対応するカウンタ値をインクリメントする(ステップS15)。図10(A)は、飛び幅“8ns”に対応するカウンタ値をインクリメントした状態を示している。
算出部140は、飛び幅“8ns”と、カウンタ値が最大の飛び幅“8ns”との差“0”を算出する(ステップS16)。異常判定部160は、差“0”が閾値未満と判定する(ステップS21でNo)。同期判定部170は、飛び幅“8ns”に対応するカウンタ値が最大であり、かつ正常が判定されていると判定する(ステップS24でYes)。管理部180は、2回目の受信時刻に、管理時刻を同期する(ステップS25)。管理部180は、飛び幅“8ns”分、全カウンタ値を平行移動させる(ステップS26)。図10(B)は、平行移動が行われた状態を示している。
回数判定部130は、Pdelay_Resに含まれている受信時刻(以下、3回目の受信時刻)を受信する(ステップS11)。算出部140は、3回目の受信時刻と管理時刻とを用いて、飛び幅“-8ns”を算出する(ステップS14)。カウンタ部150は、飛び幅“-8ns”に対応するカウンタ値をインクリメントする(ステップS15)。図10(C)は、飛び幅“-8ns”に対応するカウンタ値をインクリメントした状態を示している。
算出部140は、飛び幅“-8ns”と、カウンタ値が最大の飛び幅“-8ns”との差“0”を算出する(ステップS16)。また、算出部140は、飛び幅“-8ns”と、カウンタ値が最大の飛び幅“0ns”との差を算出してもよい。異常判定部160は、差“0”が閾値未満と判定する(ステップS21でNo)。同期判定部170は、飛び幅“-8ns”に対応するカウンタ値が最大であり、かつ正常が判定されていると判定する(ステップS24でYes)。管理部180は、3回目の受信時刻に、管理時刻を同期する(ステップS25)。管理部180は、飛び幅“8ns”分、全カウンタ値を平行移動させる(ステップS26)。図10(D)は、平行移動が行われた状態を示している。
図11(A)~(C)は、実施の形態1の中継装置が実行する処理の具体例(その2)を示す図である。
回数判定部130は、Pdelay_Resに含まれている受信時刻(以下、4回目の受信時刻)を受信する(ステップS11)。算出部140は、4回目の受信時刻と管理時刻とを用いて、飛び幅“8ns”を算出する(ステップS14)。カウンタ部150は、飛び幅“8ns”に対応するカウンタ値をインクリメントする(ステップS15)。図11(A)は、飛び幅“8ns”に対応するカウンタ値をインクリメントした状態を示している。
回数判定部130は、Pdelay_Resに含まれている受信時刻(以下、4回目の受信時刻)を受信する(ステップS11)。算出部140は、4回目の受信時刻と管理時刻とを用いて、飛び幅“8ns”を算出する(ステップS14)。カウンタ部150は、飛び幅“8ns”に対応するカウンタ値をインクリメントする(ステップS15)。図11(A)は、飛び幅“8ns”に対応するカウンタ値をインクリメントした状態を示している。
算出部140は、飛び幅“8ns”と、カウンタ値が最大の飛び幅“8ns”との差“0”を算出する(ステップS16)。異常判定部160は、差“0”が閾値未満と判定する(ステップS21でNo)。同期判定部170は、飛び幅“8ns”に対応するカウンタ値が最大であり、かつ正常が判定されていると判定する(ステップS24でYes)。管理部180は、4回目の受信時刻に、管理時刻を同期する(ステップS25)。管理部180は、飛び幅“8ns”分、全カウンタ値を平行移動させる(ステップS26)。図11(B)は、平行移動が行われた状態を示している。
回数判定部130は、Pdelay_Resに含まれている受信時刻(以下、5回目の受信時刻)を受信する(ステップS11)。算出部140は、5回目の受信時刻と管理時刻とを用いて、飛び幅“-8ns”を算出する(ステップS14)。カウンタ部150は、飛び幅“-8ns”に対応するカウンタ値をインクリメントする(ステップS15)。図11(C)は、飛び幅“-8ns”に対応するカウンタ値をインクリメントした状態を示している。
算出部140は、飛び幅“-8ns”と、カウンタ値が最大の飛び幅“0ns”との差“8”を算出する(ステップS16)。異常判定部160は、差“8”が閾値未満と判定する(ステップS21でNo)。同期判定部170は、飛び幅“-8ns”に対応するカウンタ値が最大でないと判定する(ステップS24でNo)。管理部180は、gPTPに基づく時刻同期で管理時刻を同期する(ステップS27)。
実施の形態1によれば、中継装置100は、ステップS16で算出された差又はステップS17で算出された変化率が閾値以上であり、かつ関係情報が示す複数のカウンタ値の合計値が閾値以上である場合、受信時刻を異常と判定する。このように、中継装置100は、異常な受信時刻を検出することができる。
また、中継装置100は、カウントアップされたカウンタ値が最大である場合、受信時刻を用いて同期を行う。中継装置100がこのような処理を行う理由を説明する。
図12は、実施の形態1の同期誤差の例を示す図である。図12の縦軸は、確率を示す。図12の横軸は、同期誤差を示す。
通信システムが正常である場合、同期誤差の確率分布は、一般的に正規分布となる。同期誤差で生じる誤差の要因は、測定誤差である。例えば、測定誤差の1つには、タイムスタンプの打刻誤差がある。打刻誤差が8nsの装置では、最大7.9999・・・nsの正方向の誤差が生じる。また、当該装置によって計測される伝搬遅延及びフレームの滞留時間は、負方向の誤差が生じる。打刻誤差、伝搬遅延、及びフレームの滞留時間を考慮することにより得られる同期誤差の確率分布は、正規分布となると考えられる。
以下の説明では、図12を用いて、説明を行う。受信時刻と管理時刻との差は、同期誤差と同じである。すなわち、飛び幅と同期誤差とは、同じである。カウンタ値を確率と同様に扱えば、飛び幅とカウンタ値との関係は、図12のように、正規分布になる場合がある。なお、当該正規分布を導くためには、関係情報が示す複数のカウンタ値の合計値が閾値以上であることが必要である。飛び幅とカウンタ値との関係が正規分布になる場合、通信システムは、正常であると言える。
図12が示すように、最も小さい同期誤差(すなわち、0nsのときの同期誤差)に対応する確率は、最も高い。図12のように、飛び幅とカウンタ値との関係が正規分布になる場合、最も高いカウンタ値に対応する飛び幅は、同期誤差が最も小さいときの飛び幅であると考えることができる。この考えを利用する。カウントアップされたカウンタ値がカウンタ値の中で最大である場合、受信された受信時刻は、最も同期誤差の小さい時刻と言える。そこで、中継装置100は、カウントアップされたカウンタ値が最大である場合、受信された受信時刻を用いて同期を行う。これにより、中継装置100は、精度の高い同期を行うことができる。
実施の形態2.
次に、実施の形態2を説明する。実施の形態2では、実施の形態1と相違する事項を主に説明する。そして、実施の形態2では、実施の形態1と共通する事項の説明を省略する。
次に、実施の形態2を説明する。実施の形態2では、実施の形態1と相違する事項を主に説明する。そして、実施の形態2では、実施の形態1と共通する事項の説明を省略する。
図13は、実施の形態2の中継装置の機能を示すブロック図である。図4に示される構成と同じ図13の構成は、図4に示される符号と同じ符号を付している。中継装置100aは、同期判定部170aを有する。同期判定部170aの機能については、後で詳細に説明する。
次に、中継装置100aが実行する処理を、フローチャートを用いて説明する。
図14は、実施の形態2の中継装置が実行する処理の例を示すフローチャートである。図14の処理は、ステップS23a,24aが実行される点が図6の処理と異なる。そのため、図14では、ステップS23a,24aを説明する。そして、ステップS23a,24a以外の処理の説明は、省略する。
図14は、実施の形態2の中継装置が実行する処理の例を示すフローチャートである。図14の処理は、ステップS23a,24aが実行される点が図6の処理と異なる。そのため、図14では、ステップS23a,24aを説明する。そして、ステップS23a,24a以外の処理の説明は、省略する。
(ステップS23a)同期判定部170aは、関係情報が示す複数のカウンタ値の合計値が予め設定された閾値以上であるか否かを判定する。当該合計値が閾値以上である場合、処理は、ステップS24aに進む。当該合計値が閾値未満である場合、処理は、終了する。
(ステップS24a)同期判定部170aは、ステップS15でカウントアップされたカウンタ値に対応する飛び幅が、関係情報が示す複数のカウンタ値の中で最大値の飛び幅を中心に予め定められた範囲内に含まれており、かつ正常が判定されているか否かを判定する。
例えば、関係情報が示す複数のカウンタ値の中で最大値の飛び幅が0nsである場合、同期判定部170aは、カウントアップされたカウンタ値に対応する飛び幅が、0nsを中心に±10nsの範囲内に含まれており、かつ正常が判定されているか否かを判定する。
条件を満たした場合、処理は、ステップS25に進む。条件を満たした場合、処理は、ステップS27に進む。
条件を満たした場合、処理は、ステップS25に進む。条件を満たした場合、処理は、ステップS27に進む。
実施の形態1では、カウントアップされたカウンタ値が最大である場合、同期が行われた。すなわち、ステップS25が行われた。実施の形態2では、実施の形態1に比べて、同期する条件が、緩和されている。しかし、カウントアップされたカウンタ値に対応する飛び幅が最大値の飛び幅を中心に当該範囲内に含まれているという条件が設けられている。そのため、当該条件を満たす場合に、同期が行われても、同期の精度は、それほど下がらない。よって、中継装置100aは、上記の処理を行うことで、精度の高い同期を行うことができる。
以上に説明した各実施の形態における特徴は、互いに適宜組み合わせることができる。
100,100_1~100_4,100a 中継装置、 101 プロセッサ、 102 揮発性記憶装置、 103 不揮発性記憶装置、 110_1~110_n 通信部、 120 L2プロトコル処理部、 130 回数判定部、 140 算出部、 150 カウンタ部、 160 異常判定部、 170,170a 同期判定部、 180 管理部、 200 GM、 300,300_1~300_4 終端装置、 401 グラフ、 402 グラフ、 403 グラフ、 404 グラフ。
Claims (4)
- 中継装置であって、
時刻源が送信した、時刻を含むフレームを受信する通信部と、
前記フレームに含まれている前記時刻である受信時刻と、前記中継装置で管理されている時刻である管理時刻とを用いて、前記受信時刻と前記管理時刻との間隔を示す飛び幅を算出する算出部と、
管理部と、
カウンタ部と、
異常判定部と、
を有し、
前記管理部は、前記管理時刻と、複数のカウンタ値に対応する複数の前記飛び幅を示す情報であり、かつ前記複数のカウンタ値の合計値が予め設定された閾値以上である関係情報とを記憶し、
前記カウンタ部は、前記受信時刻を用いて算出された前記飛び幅に対応するカウンタ値をインクリメントし、
前記算出部は、前記関係情報を用いて、前記受信時刻を用いて算出された前記飛び幅と、カウンタ値が最大の飛び幅との差を算出する第1の算出処理、又は前記関係情報を用いた分散の算出処理と、前記分散の移動平均値の算出処理と、前記移動平均値の変化率の算出処理と含む第2の算出処理を行い、
前記異常判定部は、前記差又は前記変化率が予め設定された閾値以上である場合、前記受信時刻を異常と判定する、
中継装置。 - 前記管理部は、前記受信時刻を用いて算出された前記飛び幅に対応する前記カウンタ値が最大であり、かつ正常が判定された場合、前記受信時刻に前記管理時刻を同期する、
請求項1に記載の中継装置。 - 前記管理部は、前記受信時刻を用いて算出された前記飛び幅が、前記関係情報が示す複数のカウンタ値の中で最大値の飛び幅を中心に予め定められた範囲内に含まれており、かつ正常が判定された場合、前記受信時刻に前記管理時刻を同期する、
請求項1に記載の中継装置。 - 前記管理部は、前記管理時刻を同期させた場合、前記関係情報が示す複数の前記飛び幅に、前記受信時刻を用いて算出された前記飛び幅を加算又は減算する、
請求項2又は3に記載の中継装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022005119A JP2023104245A (ja) | 2022-01-17 | 2022-01-17 | 中継装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022005119A JP2023104245A (ja) | 2022-01-17 | 2022-01-17 | 中継装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023104245A true JP2023104245A (ja) | 2023-07-28 |
Family
ID=87379468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022005119A Pending JP2023104245A (ja) | 2022-01-17 | 2022-01-17 | 中継装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023104245A (ja) |
-
2022
- 2022-01-17 JP JP2022005119A patent/JP2023104245A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113711510B (zh) | 相位预测器和相关联的使用方法 | |
US9634782B2 (en) | Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored | |
US9671822B2 (en) | Method and devices for time transfer using end-to-end transparent clocks | |
US9344981B2 (en) | Method for synchronizing clocks in a communication network | |
US9736804B2 (en) | Methods, systems, and computer readable media for synchronizing timing among network interface cards (NICS) in a network equipment test device | |
US20160142481A1 (en) | Ranging scalable time stamp data synchronization | |
US20180145781A1 (en) | Methods and systems for synchronization using delay asymmetry | |
US20150092794A1 (en) | Method and devices for compensating for path asymmetry | |
EP2434673A2 (en) | Network synchronization method and apparatus for performing time synchronization between nodes | |
US20150207877A1 (en) | Time synchronization client, a system and a non-transitory computer readable medium | |
US8566632B2 (en) | Multi-rate sampling for network receiving nodes using distributed clock synchronization | |
JP2010505362A (ja) | パケット・ネットワークを介した単方向のタイミング・メッセージ・トランスポートのための方法および装置 | |
US10594424B2 (en) | Time synchronization slave apparatus capable of adjusting time synchronization period, and method of determining time synchronization period | |
CN102118244A (zh) | 具有步进延迟预补偿的自适应时钟恢复 | |
EP3231110B1 (en) | Method and devices for time transfer using end to end transparent clocks | |
US10671113B2 (en) | Technologies for synchronized sampling of counters based on a global clock | |
JP2023104245A (ja) | 中継装置 | |
KR101716630B1 (ko) | 통신 장치 및 통신 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
US10069584B2 (en) | Frequency calibration apparatus and method | |
US8913703B2 (en) | Method and device for determining a quality of a clock signal | |
CN112765073A (zh) | 一种数据采样方法、系统、存储介质以及计算机设备 | |
WO2018096304A1 (en) | Methods and systems for synchronization using delay asymmetry | |
Fan et al. | A servo design for slave clock in IEEE 1588 synchronization networks | |
US20230046689A1 (en) | Multiple and cascaded redundant disciplined oscillator systems in a spoofing resistant reference time source system and methods thereof | |
WO2018096305A1 (en) | Methods and systems for determining optimal messages |