--/--/-- --:--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/11/14 10:59

IT問題

けんがいくん

皆様こんにちわ!
いつもご来場戴き有難う御座います!
さて、本日のテーマですが、今回は今後問題視されるであろう『IT問題』について書いてみようかと思います。

今の世の中、コンピュータが発達して、様々な分野でコンピュータは活躍しています!
特に、通信系、制御系の発達は目覚しいものがあり、むしろ『コンピュータ』という大きなくくりになってしまいますが、この『コンピュータ』の発達、発展が無ければ今日の日本・・・いや今の世界は無いと言っても過言では御座いません。
『コンピュータがあれば何でも出来る!』多くの方はそう考えられているでしょう!
しかし・・・この優秀なコンピュータも今ある問題を抱えております。この問題を解決出来ない限り、世界中は混乱に陥るのではないでしょうか?以下に示す問題は近い将来訪れるであろう深刻な問題です!まだまだ先の話じゃん!そう思われた方!甘いです!月日が経つのはあっという間です!
是非読んで戴き今後どうしたら良いのか・・・皆様も考えてみましょう!

■2036年問題
一部のソフトウェアやプロトコルの仕様により、西暦2036年以降の日付や時刻を正しく扱えない問題。又、それが原因でコンピュータが一斉に誤作動を起こし社会に混乱を招く可能性があるという問題。

 インターネット等で時刻合わせの為に使われるプロトコルであるNTP(Network Time Protocol)は時刻を1900年1月1日午前0時からの積算秒数で管理してます。この値は32ビットの符号無し整数(unsigned long int型)で表現される為、上限値である42億9496万7295秒を超えると正しく時刻を表現出来なくなります。経過秒数がこの上限を超えるのは協定世界時(UTC)で2036年2月6日6時28分15秒(日本時間15時28分15秒)であり、これを過ぎるとNTPで時刻設定を行なっているシステムが誤作動を起こす可能性があります。

■2038年問題
一部のOSやプログラミング言語処理系の仕様により、西暦2038年以降の日付や時刻を正しく扱えない問題。
又、それが原因でコンピュータが一斉に誤作動を起こし社会に混乱を招く可能性があるという問題。

 古いUNIXやC言語では時刻を1970年1月1日午前0時からの経過秒数で管理しています。
この値は32ビットの符号付き整数(signed long int型)で実装されている事が多い為、上限値である21億4748万3647秒を超えると正しく時刻を表現出来なくなります。経過秒数がこの上限を超えるのは世界標準時で2038年1月19日午前3時14分8秒(日本時間午後12時14分8秒)であり、この形式で時刻を管理しているシステムはそれ迄に対策を施さなければこの時点以降正常に動作しなくなります。

 最近のOSや言語処理系では対策として時刻の管理に64ビットの符号付き整数を利用しており、これを1970年1月1日午前0時からの経過秒数として使えば西暦3000億年程度迄は同種の問題は起きないとされています。

 似た様な問題としては、西暦を下2桁で管理していたコンピュータが西暦2000年を迎え不具合を生じるとされた『西暦2000年問題』がありましたが、この時は大きな社会的混乱は生じませんでした。この時はアプリケーションソフトの仕様とデータ形式の問題だった為、個々の問題としては修正は比較的容易でしたが、2038年問題は最も普及しているプログラミング言語の仕様に関わる問題だけに対処は難しいのではないかとも言わています。


■階層構造
NTPの階層構造はstratumと呼ばれる階層構造を持ち、最上位のサーバが正確な時計から標準時を取得し、下位のホストはそれを参照する事で時刻を合わせる。最上位のNTPサーバはstratum 1であり、階層を下りる毎に数字が一つずつ大きくなります。stratum 16が最下位で、stratum 16に同期する事は出来ません。
NTPでは複数のサーバへ時刻を問い合わせる事が可能で、これにより可用性と精度の向上が期待出来ます。通常サーバは複数の上位サーバを利用して時刻を取得します。
一般にstratumの大きさよりも、サーバとのネットワーク的な近さの方が時刻精度に大きく影響します。

GPSや標準電波、原子時計等の正確な時刻源 (stratum 0) に直結されたNTPサーバはstratum 1となります。これらの時刻源は誤差±1μ秒未満(100万分の1秒未満)の非常に正確な時刻を刻んでいます。但し、いい加減な時刻源と直結していても、stratum 1を名乗る事は出来ます。又、現実には電波時計やGPSの受信機自体の信号遅延、受信機とstratum 1となる機器の間の遅延が無視出来ません(定量ではあるが計測が難しい)。GPS衛星には原子時計が搭載されており、その電波にはGPSタイムと呼ばれる時刻情報が含まれています。標準電波は地域の標準時を保持する組織が時刻情報を電波で送出するものであり、日本の場合は独立行政法人情報通信研究機構(NICT/旧・通信総合研究所(CRL))が行っています。

代表的なNTPの実装であるntpdでは、上位stratumだけではなく、複数の同位・下位stratumのNTPサーバとも接続出来ます。従って、この項でNTPサーバと呼んでいるプログラムは、サービスを提供しているという意味であり、通常のネットワークのサーバ・クライアントモデルからいうとNTPクライアントにあたる場合もあります。
ピアと呼ばれる他のサーバをどれにするかの設定は、設定ファイル等により行ないます。より多くの複数のサーバと時刻の比較・ネットワークの遅延及び遅延のばらつきの計測を行ない、重み付けを行ない最ももっともらしい時刻を現在時刻としています。


■通信遅延時間の計測
NTPでは、往復の通信時間を計測する事で遅延時間の補正を行っています。具体的には、クライアントがリクエストを送信した時刻をTa、サーバがクライアントのリクエストを受信した時刻をTb、サーバがレスポンスを送信した時刻をTc、クライアントがサーバのレスポンスを受信した時刻をTdとすると、通信遅延時間δは、

δ = (Td − Ta) − (Tc − Tb)

で表されます。これは、パケットの往復時間からサーバの処理時間を引いたものです。

■運用
LAN内部にクライアント台数がそれなりある場合には、外部へのトラフィック及び外部NTPサーバの負荷を最小限にする為、LAN内にNTPサーバとして稼動出来る機器(もしルーターなどで提供出来なければ、NTPサービス提供専用の古いパソコンをセットアップしても良いし、又、サーバ的な存在になっている既存のパソコン等にNTPサーバをインストールしても良い)を用意し、この機器(内部NTPサーバ)をプロバイダ等の外部NTPサーバに接続し、各クライアントはこの内部NTPサーバに接続する設定を行うと良いです。
ルーターやクライアントパソコン等のネットワーク上の各機器では、前述の様なNTPサーバへアクセスして、機器内部の時計の時刻をNTPサーバの時刻に合わせる事で内部時計の誤差が少なくなります。
※『桜時計』他の時刻合わせソフトウェアやNTPクライアント機能組込ルータ等では、製作当時に使われていた福岡大学等の大学や外国のNTPサーバのアドレスが初期設定されたままになっているので、接続先NTPサーバのアドレス設定は、前述の契約先ISPや情報通信研究機構などのNTPサーバに修正する必要があります。

■リフトの修正
NTPサーバの実装の多くでは、時刻の校正のみならず、時計の進み遅れの度合いの校正も行ないます。一般的にコンピュータ内部の時計は、ハードウェアの時計が提供する時刻をそのまま利用する場合と割り込み等によりソフトウェア的に時計を進める場合があります。いずれの場合も、設計状態での時計は数ppm以上 (1ppmは百万分の一/およそ10日で1秒程度の精度) の狂いがある為、他のNTPサーバからの時刻と自機の時計を数回比較した後、時計の進み遅れの度合い(ドリフト)も修正する必要があります。更に、気温変動等外乱要因による2次以上のドリフト(上述した進み遅れ度合いの変化)も存在しますが、多くのNTPサーバでは一次補正(直線的なドリフトの補正)を行なう実装にとどまります。
尚、NTPサーバプログラムを用いてコンピュータの時刻の校正を行なう場合でも、突然『もっともらしい時刻』に校正するのは危険である。サーバ機能を提供しているコンピュータでは、時刻が飛ぶ事により、定時に実行されるサービス(UNIXのcron・at等)が実行されなくなる場合があるからである。従って、ドリフトを調整して時刻を目的の時刻に徐々に近づけていく実装が正しいやり方です。

■閏秒の扱い
NTPプロトコルでは、電波時計の時刻送信フォーマットの様に閏秒の扱いも規定されている。閏秒は、原子時(TAI)と同期して進むUTCが、地球の自転速度の変化によって世界時(UTC1)から長年の間に大きく狂わない様に世界的な協定に基づいてUTCに挿入又は削除される1秒である。これは本質的にコンピュータの時計の進み遅れとは異なり、必ず±1秒の差となります。従って、問合せ先のNTPサーバから閏秒挿入又は削除を警告するパケットが送られてきた時は、自機の時計を1秒ずらす(ドリフトは調整しない)事になります。

■NTP 利用環境
下位プロトコル
通常、NTPはUDP上で動作します。UDPのポートは123番を使用します。ルータのパケットフィルタの設定でポート123番を通さない様にしている場合は、外部のNTPサーバにアクセス出来なくなるので、通す様に設定する必要がある。
■NTPの実装
代表的なNTPの実装として、UNIX系オペレーティングシステム用のNTPサーバである ntpd(旧xntpd)及び、NTPクライアントの ntpdate があります。ntpd/ntpdate は多くのオペレーティングシステムで標準的に組み込まれています。
Mac OS X に於いても、標準で ntpd/ntpdate が使用されていて、コマンドを意識せずGUIから設定出来ます。以前のMac OS 9でもNTPクライアントは標準で組み込まれていました。
X Window Systemのデスクトップ環境でも ntpd/ntpdate をGUIより設定するユーティリティが付属するものがあります。
WindowsではActive Directoryに於いて時刻同期が必須となった為、Windows 2000からNTPの機能が標準で組み込まれました。Windows XP からはGUIで時刻同期を設定する事が出来る様になりました。又、Windows NTではリソースキットの追加で、NTPの機能が使用出来ました。それ以前のWindowsでは、サードパーティのソフトウェアを使用する必要がありました。日本では、Windowsが本格的にインターネット対応を開始した1990年代後半に『桜時計』と呼ばれるNTPの実装が有名になりました。
又、ルータやスイッチングHUB 等のネットワーク機器にNTPサーバが搭載される場合があります。元々は高級なネットワーク機器(特にルータやゲートウェイ)に搭載される機能でありましたが、ネットワーク普及に伴う機器の低価格化により、2000年代後半には民生用のネットワーク機器に於いてもNTPサーバが搭載されています。

スポンサーサイト

テーマ : パソコン関連お役立ち情報 - ジャンル : コンピュータ

| ホーム |


 BLOG TOP 

会社概要

■会社名 
株式会社タリム 埼玉支店

■住所 
埼玉県さいたま市緑区東浦和2-73-1 
                                                   ■TEL 048-875-8071
■FAX 048-677-3290

URLはこちら

代理店募集です。

最新記事

けんがいくんの効果

お客様の声

お問い合わせ

カテゴリ

ご来店ありがとうございます。

あなたは 人目のお客様です。

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。