基本情報技術者 2014年 秋期 午前(科目A) 問35
問題文
TCP/IPのネットワークにおいて、サーバとクライアント間で時刻を合わせるためのプロトコルはどれか。
選択肢
ア:ARP
イ:ICMP
ウ:NTP(正解)
エ:RIP
🔒 解説は解答すると表示されます
時刻同期プロトコル【午前解説】
正解の理由
ネットワーク上でサーバとクライアントの時刻を合わせるために設計された専用のプロトコルはNTPです。NTPはUDPのポート123を用い、時刻情報の交換から時刻のオフセット(誤差)と往復遅延を推定して補正を行います。よって正答は ウ(NTP)になります。
解法ステップ
- 問題文から「サーバとクライアント間で時刻を合わせる」という目的を抽出する。
- 各選択肢の役割を思い出す:ARPはアドレス解決、ICMPは制御・診断、RIPは経路制御、NTPは時刻同期。
- 時刻同期に特化したプロトコルを選ぶ → NTP。
- (確認)NTPはUDP/123で動作し、時刻のオフセット補正計算を行うことを知っていると確信が持てる。
選択肢別の誤答解説
- ア: ARP
ARPはIPアドレスから対応するMACアドレスを取得するためのプロトコル(レイヤ2のアドレス解決)で、時刻同期機能は持ちません。 - イ: ICMP
ICMPは「ping」などのネットワーク診断やエラー通知に使われます。過去にICMPのTimestampメッセージ(Type13/14)が存在しますが、これは時刻同期のための一般的・標準的手段ではなく、またセキュリティ上の理由であまり利用されません。NTPほどの同期精度や運用機能はありません。 - ウ: NTP
NTP(Network Time Protocol)は時刻同期専用に設計されており、時刻の交換・補正アルゴリズム(オフセット・遅延の推定)、階層構造(stratum)などを備えています。したがって本問の意図に最も合致します。 - エ: RIP
RIPはルーティング情報の交換プロトコルであり、経路選択やメトリクス管理が目的です。時刻同期とは無関係です。
よくある誤解
- 「ICMPで時刻合わせができる」と考える誤解
ICMPにはTimestamp系メッセージがありますが、一般的な時刻同期手段ではありません。ICMPは精度・信頼性・セキュリティ面でNTPに劣ります。よって試験では時刻同期=NTPと覚えるのが正解です。 - 「NTPは暗号化済みで安全」と思い込む誤解
伝統的なNTPは暗号化されていない平文の時刻情報を交換します。認証には対称鍵方式があり、近年はより安全なNTS(Network Time Security)が標準化されています。旧方式のAutokeyは非推奨です。
補足コラム
- 基本的な補正式
NTPでは4つの時刻スタンプ (クライアント送信)、(サーバ受信)、(サーバ送信)、(クライアント受信)を用いてオフセット と遅延 を推定します。式は次の通りです。 これによりクライアントは自分の時刻を補正します。 - モード
NTPはクライアント–サーバ方式のほか、対称(ピア)方式、ブロードキャスト/マルチキャスト方式もサポートします。 - セキュリティ
認証手段としては従来の対称鍵(共有鍵)方式があり、最新ではNTS(RFC 8915)による公開鍵ベースの安全なプロトコルが推奨されます。Autokeyは歴史的手法であり実運用では非推奨です。 - 精度の目安
インターネット越しのNTPはミリ秒〜数十ミリ秒、ローカルLANではサブミリ秒からミリ秒オーダーの精度が期待できます。より高精度が必要な場合はIEEE 1588(PTP)など別プロトコルを検討します。
コード例:時刻オフセットと遅延を計算する簡単なPython例
# T1,T2,T3,T4 の例(秒)
T1, T2, T3, T4 = 100.0, 100.1, 100.2, 100.25
offset = ((T2 - T1) + (T3 - T4)) / 2.0
delay = (T4 - T1) - (T3 - T2)
print("offset:", offset, "s")
print("delay:", delay, "s")
FAQ
Q1: NTPはどのポートを使いますか?
A1: UDPのポート123を使用します。
A1: UDPのポート123を使用します。
Q2: NTPの認証には何が使われますか?
A2: 伝統的には対称鍵による認証が利用されますが、現在はNTS(Network Time Security)がより強力で推奨されます。Autokeyは旧方式で非推奨です。
A2: 伝統的には対称鍵による認証が利用されますが、現在はNTS(Network Time Security)がより強力で推奨されます。Autokeyは旧方式で非推奨です。
Q3: NTPとPTPの違いは何ですか?
A3: NTPは汎用ネットワーク向けでミリ秒〜サブミリ秒の精度。PTP(IEEE 1588)はLANや専用ネットワークでサブマイクロ秒〜ナノ秒級の高精度を提供します(ハードウェア支援が必要な場合が多い)。
A3: NTPは汎用ネットワーク向けでミリ秒〜サブミリ秒の精度。PTP(IEEE 1588)はLANや専用ネットワークでサブマイクロ秒〜ナノ秒級の高精度を提供します(ハードウェア支援が必要な場合が多い)。
Q4: 複数のNTPサーバから時刻を取る利点は?
A4: 複数ソースを用いることで外れ値の排除や安定性向上ができ、単一障害点の回避にもなります(NTPデーモンは複数サーバを比較して信頼性の高い時刻を選出します)。
A4: 複数ソースを用いることで外れ値の排除や安定性向上ができ、単一障害点の回避にもなります(NTPデーモンは複数サーバを比較して信頼性の高い時刻を選出します)。
関連キーワード: NTP、時刻同期、UDP123、NTS、対称鍵、stratum、ICMP Timestamp、PTP

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

