質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
NTP

NTP (Network Time Protocol) とは、時計の時刻をネットワーク上のNTPサーバーの持つ正しい時刻に同期するためのプロトコルです。

ARP

ARPは、TCP/IPネットワークでIPアドレスからEthernetのMACアドレスを動的に得るための通信プロトコルです。EthernetでIPアドレス宛てのパケットを送信するためのIPアドレスを持つ機器を特定し、対応したMACアドレスを知るための手順を定めています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

1440閲覧

PC起動後、NTPサーバへ初回接続(時刻取得)時にタイムアウトとなる。(c#プログラム)

crow-cts

総合スコア10

NTP

NTP (Network Time Protocol) とは、時計の時刻をネットワーク上のNTPサーバーの持つ正しい時刻に同期するためのプロトコルです。

ARP

ARPは、TCP/IPネットワークでIPアドレスからEthernetのMACアドレスを動的に得るための通信プロトコルです。EthernetでIPアドレス宛てのパケットを送信するためのIPアドレスを持つ機器を特定し、対応したMACアドレスを知るための手順を定めています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2019/01/29 05:30

前提・実現したいこと

C#で設計したWindowsアプリケーションでNTPサーバに接続し、時刻同期したい。PC起動後の初回取得時のタイムアウトを解消したい

C#で設計したWindowsアプリケーションでNTPサーバに接続し、時刻を同期するようなプログラムを設計しています。
接続構成は [PC]-[L3SW]-[L3SW]-[NTPサーバ]です。
L3SWのメーカーはシスコです。

通常時は問題なく通信できており、時刻校正も問題なく行えます。
しかし、長時間[PC]のみ半日くらい電源をOFFしておき、電源ON⇒スタートアップによって起動した上記プログラムがすぐにNTPサーバに接続して時刻を取得しようとすると初回だけタイムアウトとなります。(1分後に再度取得すると問題なく行えます)
し発生頻度は毎回ではなく時々です。

原因は[L3SW]のARPテーブルが4時間以上経過して初期化されたためと思われますが、
この初回のタイムアウトエラーを防ぐには何をするのが一般的なのでしょうか?
「PC起動後〇分待つ」、「プログラム側で[L3SW]にpingを放つ」、「[L3SW]で●●設定をする」等、
Windows側(プログラム側)、[L3SW]側で何をすべきでしょうか?

発生している問題・エラーメッセージ

NTPサーバに接続して時刻を取得しようとすると初回だけタイムアウトとなる。

該当のソースコード

C# VisualStudio2015 ソースコード

試したこと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

原因は[L3SW]のARPテーブルが4時間以上経過して初期化されたためと思われますが、

[L3SW]の[PC]が接続しているポートにspanning-treeの設定が入ってたりしませんか?
もし入っているのであればそのポートにハブが接続したりしてループする可能性がなければ
spanning-tree portfastの設定を入れるかRSTPに変更することを検討してください。

STPとは
要するにループを検知するためのCisco独自の実装プロトコルです。これが設定されていると
インタフェースがUPしてから実際に通信できるまで50秒ほどかかります。

投稿2019/01/29 06:00

編集2019/01/29 06:10
ozwind918

総合スコア1140

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/29 06:06 編集

STP も RSTP も標準化されたプロトコルだったと思います。
ozwind918

2019/01/29 06:09

失礼しました。標準化されていました。PVSTPと勘違いしてました; 回答を修正しておきます。
crow-cts

2019/01/29 06:34

回答ありがとうございます。L3SW側とのことなので担当が別のため設定確認をしてみます。 根本的な考え方としては今回のような事象を解消するためには[PC]側で起動してから「L3SWのARPを更新してもらうために何かする」ものではなく、[L3SW]側のほうで迅速に通信させる手段・設定することが一般的ということでしょうか?
ozwind918

2019/01/29 06:39 編集

一般的にどのように事象を解消するかについてはその事象の原因によるかと思います。 個人的には原因が不明であったり、L3SW側での設定変更の影響が大きい(運用も含めて)、そもそも事象の原因を詳しく調査する時間がない。等であればアプリ側やOS側で対症療法を実施します。 今回の件で言えば、スタートアップで1分の遅延を入れる等。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問