「Simple Network Time Protocol」の版間の差分
削除された内容 追加された内容
編集の要約なし |
Claw of Slime (会話 | 投稿記録) 記述の劣化が見られるため差し戻し |
||
1行目:
{{出典の明記|date=2018年2月}}
'''Simple Network Time Protocol'''(シンプルネットワークタイムプロトコル、'''SNTP'''と略記)とは、
== 処理概要 ==
SNTPのパケットは、[http://www.eecis.udel.edu/~mills/database/rfc/rfc2030.txt RFC-2030(Simple Network Time Protocol Version 4)]にて定義される。このパケットを使用し、上位時計[[サーバ]]との通信にて、[[オフセット]]を演算する。なお、時計反映処理はNTPも同様で定義されていないためプログラマーに依存する。その理由は、時計構成にはそのまま反映してよいものと、徐々に時計を近づける方法があり、運用されるシステムによって選択する必要があるためである。
=== 放送モード ===▼
放送モードは、サーバより一方的にNTPフレームをブロードキャストまたはマルチキャストで送信を行う。<br>▼
== 時計精度と上限 ==
45 ⟶ 19行目:
上記より使用できる時計精度は200ピコ秒まで処理可能。
===
このパケットは[[協定世界時]](UTC)の[[1970年]][[1月1日]]0時からの経過秒数で送られている。データサイズは符号無し4バイト整数であるため最大経過秒数は4294967295秒までとなり、協定世界時の2036年2月6日午前6時28分16秒(日本時間では同日午後3時28分16秒)までとなる。
== 時計サーバとの伝送モードと同期について ==
SNTPおよびNTPを使用するには伝送モードの種類がある。NTPパケットには「Mode」と言われる3ビットのフィールドがある。多くのSNTPソフトは、サーバ・クライアントモードを使用して同期処理を行う。
{| border="1" width="100%"
|-
|mode値||内容
|-
|1,2||本来は時計サーバ同士の同期に使用。UNIX系OSのNTPサーバではpeer設定にて動作するモードである。
|-
|3,4||時計サーバと時計クライアントの組合せで同期に使用。
UNIX系OSのNTPサーバではServer設定にて動作するモードである。
SNTPに使用するNTPDATEコマンドで使用される。
多くのSNTPクライアントではこの仕様が採用されている。
|-
このモードは時計サーバより一方的にNTPパケット送信する。SNTPクライアント、NTPクライアントはこれを受信し、かつ推定遅延値を加算して時計を反映する。マルチキャストで使用可能なように[[IPv4]]はRFC-1700、[[IPv6]]はRFC-2375にマルチキャストアドレスが割り当てられている。
:IPv4=224.0.1.1
:IPv6=FF0X:0:0:0:0:0:0:101
|-
|6,7||NTPの状態の参照、設定等に使用する伝送モードである。ntpq、ntpdcコマンドで使用する。RFC-1305のオプション機能として記述されるが、SNTPはこの機能を実装する必要はない。
|}
NTPは基本的にすべてのモードをサポートする必要があるが、SNTPはどれを利用してもよく、どれか1つサポートすれば基本的にSNTPといえる。SNTPには規定がないのである。
=== 同期 ===
SNTPは1回の通信で時計反映処理に移行できる。一般的ソフトはstratum値が正常であること、閏秒指示子(Leap Indicator値)が正常であれば時計信用する。
<!-- NTPと重複
== 時計構成 ==
[[グローバル・ポジショニング・システム|GPS]]や[[電波時計]]、[[原子時計]]などの正確な時刻源 (stratum0) に直結されたサーバルートとする、階層構造をもつ。stratumとは時計の階層値であり以下のようになっている。
{| border="1" width="100%"
|-
|stratum値||内容
|-
| align="center"|0||正確な時刻源。ただしこれは直結された装置内処理で表にはでない。
ネットワーク上の時計サーバでこの値は無効な時計として処理される。
|-
| align="center"|1||直結された時計サーバである。これは、NTPサーバでもSNTPサーバでも良い。
|-
| align="center"|2~15||直接時刻源を持たず、ネットワーク上の時計サーバにSNTPまたはNTPにて接続された時計サーバであることを示す。時計として有効な値は1 - 15であり、それ以外の時計とは同期しないのが一般的時計処理とされている。
stratum=15で接続された時計サーバをクライアントとして接続すると、stratum=0としてパケットが送出される。よって、ネットワーク上でのstratum=0は同期してはいけない時計である。
|-
| align="center"|16~255||仕様上未定義あり用途が決められていない。
|}
-->
==関連項目==
*[[NTP]]
|