- PR -

正確なNTPサーバー

投稿者投稿内容
ron
常連さん
会議室デビュー日: 2005/03/01
投稿数: 35
投稿日時: 2006-11-25 11:12
こんにちは、ろんです。

NAO様、shimix様、ご返答ありがとうございます。

6400円の機械でしたたら、私のサイフでも何とかなりそうです。しかし、どうも基本を外してるようですので、NTPの設定の見直しから始めようと思います。

あと、私はプロではありませんので、この手の物はすべて自分用です。(友人知人に貸し出すことはあります。)
atlan
ベテラン
会議室デビュー日: 2001/08/15
投稿数: 66
お住まい・勤務地: 東京
投稿日時: 2006-11-27 15:21
引用:

ronさんの書き込み (2006-11-24 13:35) より:
それも考えました。しかし、同期先に負担かけますし、また、同期先が沈黙することも考えられます。それで出来れば自前でと思いました。


インターネット接続されているんでしたら、大抵のプロバイダーがntpサーバーを用意していますから、そちらに「ローカルの一台」が問い合わて同期させて、後のクライアントやサーバーはその一台に同期させればそんな負荷はかからないと思いますが、どの程度のクライアントを問い合わせさせようとなさっているのでしょうか?

接続プロバイダーがntpサーバーを用意していない場合にはどこかの公開ntpサーバーという事になりますが。
ron
常連さん
会議室デビュー日: 2005/03/01
投稿数: 35
投稿日時: 2006-11-29 14:40
>インターネット接続されているんでしたら、大抵のプロバイダーがntpサーバーを用意していますから、そちらに「ローカルの一台」が問い合わて同期させて、後のクライアントやサーバーはその一台に同期させればそんな負荷はかからないと思いますが、どの程度のクライアントを問い合わせさせようとなさっているのでしょうか?

たとえば、こちらで用意したNTPサーバーが一日10回どこかのサーバーに同期取りに行くとしたら、一日1回の場合にくらべて、相手先にかける負担が10倍のなると思います。

こういうのはマナー違反になるのではないかと危惧しました。

>接続プロバイダーがntpサーバーを用意していない場合にはどこかの公開ntpサーバーという事になりますが。

ですね。

Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2006-11-29 15:01
NTPに関しては、まずは下記を参照してください。
http://wiki.nothing.sh/page/NTP

投稿を見て、目的が何なのか気になりました。
時計を正確にすること自体が目的なら止めはしませんが、
通常の利用で数秒のズレなんてのは何の支障もきたさないはずですし。
_________________
Mattun
Microsoft MVP for Directory Services
(Oct 2006-Sep 2007)
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2006-11-29 17:07
引用:

ronさんの書き込み (2006-11-29 14:40) より:
たとえば、こちらで用意したNTPサーバーが一日10回どこかのサーバーに同期取りに行くとしたら、一日1回の場合にくらべて、相手先にかける負担が10倍のなると思います。

こういうのはマナー違反になるのではないかと危惧しました。


一日1回で遅れが気になるほど遅れるというのはちょっと経験したことがないです。まして一日10回なんて設定は常識的にはあり得ないと思います(LAN内のクライアントでもそこまで頻繁にはしません)。秒以下までキチンと合っていないといけないのであれば仕方ないでしょうけど(それってどういう用途なんでしょう)。
ron
常連さん
会議室デビュー日: 2005/03/01
投稿数: 35
投稿日時: 2006-11-30 20:42
こんばんは、ろんです。

みなさんの仰る通りで、気にしなければ気にならないと思います。ただ、どうせやるのなら、こだわりたいと思っただけです。私としては、もう少し簡単にいける思ってました。
チャブーン
大ベテラン
会議室デビュー日: 2006/11/25
投稿数: 149
投稿日時: 2007-01-12 01:29
チャブーンです。

#もう閉じた話題とは思いますが、メモとして残しておきます

結論だけいえば、"正しく理解し必要な対応をすれば" Windows Time サービスを使うことでそれなりにきちんと時刻同期が行える (ms単位の誤差で収まる) はずですよ。

Windows Time サービスの問題は、いくつかのめんどうな要素があって、情報が錯綜している部分があるように思います。

1.Windows 2000 と Windows XP 以降は実装が異なることが理解されていない
Windows 2000 の Windows Time サービスは SNTP というプロトコル、Windows XP 以降では NTP というプロトコルが実装されていますが、SNTP と NTP では互換性はあるものの、挙動が異なるため対応の仕方が変わります。

非常に簡単な言い方ですが SNTP は単にサーバから時刻を同期するだけに対して、NTP ではサーバが保持している時刻が「(本来の時刻に対して)本当に正しいかどうか」チェックしながら同期をおこなっています。ですから NTP の時刻同期は実はとても複雑で、Windows XP 以降の Windows Time の設定は Windows 2000 のそれとは全く異なる内容となります。このあたりは、したの資料にあるようですが、これがわからないと、Windows 2000 の考え方を Windows XP にあてはめようとしたりして、混乱の元になるでしょう。

http://www.atmarkit.co.jp/fwin2k/operation/winntp01/winntp01_01.html

2.Windows XP 以降の Windows Time サービスの不具合の問題
Windows XP や Windows Server 2003 リリース時の Windows Time には、本来の NTP クライアントとしての動作をおこなわない不具合があったため、サービスパック等で適時修正されてきた経緯があります (MS のサポート技術情報に情報があります) 。これを知らないと、古いバージョンだと設定どおりに動作しない、期待した動作が得られない、といったことになり、設定内容の妥当性において混乱してしまうことがあります。

ちなみに Windows XP SP2 でも直ってない項目もがありますので (したの資料にあります)、それが原因でうまく同期できない可能性もないわけではありません。

http://support.microsoft.com/kb/830092/ja


3.Windows Time サービス自体が新旧実装を併せ持っている部分がある
たとえば Windows 2000 は実装上 "一定間隔のタイミングでサーバから時刻を得る(ポーリングといいます)" 動作でしたが、Windows XP 以降では、"2の対数ベースでポーリング間隔を可変する" 実装に変わっています。実際の挙動としては 64秒→128→256→512→1024...というかたちです。

これは、NTP プロトコルに準拠するために必要な実装として変更されたものですが、おそらく便宜を考え、以前の "一定間隔のポーリング" の実装もあわせて残されています。どちらの挙動になるかは、ワークグループ状態かドメインに参加しているかで基本的には決定しますが、レジストリで変更も可能なためある程度融通がききます。ですがこれが災いすると、レジストリで設定を変えたのに期待した挙動が得られない、というもあるでしょう。

そのほかの問題として、こういう問題もあると思います。

4.どの NTP サーバを使うべきか
日本の NTP 環境は大学研究機関が試験的に提供をはじめた経緯から、NTP の利用に関して結果的にこういった研究機関に迷惑をかけてしまったという失敗経験があるのは、周知の通りです。

こういう見地から、普通は (各自お金を払っている) プロバイダの NTP サーバを使うこと、という常識はあるとは思いますが、個人的には "商用ベースの公開された NTP サーバ" を利用しても、とくに問題はないと思います。

なぜなら、NTP のパケット自体は非常に小さいものであること、またきちんとした商用ベースのものであれば、"ある程度の負荷を見越したリソース対応" は当然おこなっている、と考えられるためです。逆に本当に問題が起こった場合はしかるべき対応 (あまりに頻繁な同期はリジェクトさせたり、Web ページ等でなんらかのアナウンスがあるといった対応) があるはずです。商用なんですから。

5.どのくらいの間隔で同期させるべきか
まず、これについてははっきりとした指針や合意、といったものはない、と考えてます。個人的にはこの手の話題で "こってり叱られている人" をみると、ちょっと気の毒になることもあります。

本題に戻りますが、RFC2030 では NTP ヘッダの内容について以下の記述がありますので、(少なくともこれが書かれた時点では) 1024 秒ごとにポーリングをおこなうといった想定がされていた、と考えることもできるのではないかと思います。

----
Poll Interval: This is an eight-bit signed integer indicating the
maximum interval between successive messages, in seconds to the
nearest power of two. The values that can appear in this field
presently range from 4 (16 s) to 14 (16284 s); however, most
applications use only the sub-range 6 (64 s) to 10 (1024 s).
----

ちなみに Linux の ntpd (NTP デーモン) の初期設定では最大 1024 秒ごとのポーリングをおこない、Windows XP Windows Time の初期設定 (ワークグループ) では 604800 秒ごとのポーリングをおこなう設定になります。

うえのように考えると、あんまり深く考えなくてもよい部分もあるかもしれませんね。

[ メッセージ編集済み 編集者: チャブーン 編集日時 2007-01-12 01:32 ]

[ メッセージ編集済み 編集者: チャブーン 編集日時 2007-01-12 02:05 ]
ron
常連さん
会議室デビュー日: 2005/03/01
投稿数: 35
投稿日時: 2007-01-12 17:07
こんにちは、ろんです。

う、うーん。良くわからないのですがLinuxではntpdateコマンド、Windowsでは桜時計でなんとかしてます。σ(^−^;

スキルアップ/キャリアアップ(JOB@IT)