?? rfc868.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:顧國飛(ggfei ggfei@263.net )
譯文發布時間:2001-4-8
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須保留本文檔的翻譯及版權信息。
Network Working Group J. Postel - ISI
Request for Comments: 868 K. Harrenstien - SRI
May 1983
RFC868 時間協議
(RFC868 Time Protocol)
本RFC規范了一個ARPA Internet community上的標準。在ARPA Internet上的所有主機應當采用和實現這個標準。
此協議提供了一個獨立于站點的,機器可讀的日期和時間信息。時間服務返回的是以秒數,是從1900年1月1日午夜到現在的秒數,天哪,也不小呢。
設計這個協議的一個重要目的在于,網絡上的許多主機并沒有時間的觀念,在分布式的系統上,我們可以想一想,北京的時間和東京的時間如何分呢?主機的時間往往可以人為改變,而且因為機器時鐘內的誤差而變得不一致,因此需要使用時間服務器通過選舉方式得到網絡時間,讓服務器有一個準確的時間觀念。不要小看時間,這對于一些以時間為標準的分布運行的程序簡單是太重要了。
這個協議可以工作在TCP和UDP協議下。下面是通過TCP協議工作的時間協議的工作過程:這里S代表服務器,C代表客戶。
S: 檢測端口37
U: 連接到端口37
S: 以32位二進制數發送時間
U: 接收時間
U: 關閉連接
S: 關閉連接
服務器在端口37上監聽連接。當連接建立后,服務器返回一個32位的時間值,然后關閉連接。這個過程也不難,如果服務器不能決定現在是什么時間,服務器會拒絕連接或不發送任何數據而直接關閉連接。
下面我們看看使用UDP協議的情況:這里S代表服務器,C代表客戶。
S: 檢測端口37
U: 發送一個空數據報到端口37
S: 接收這個空數據報
S: 發送包含32位二進制數(用于表示時間)的數據報
U: 接收時間數據報
服務器在端口37上監聽數據包。當一個數據包來后,服務器返回一個包含32位的時間的數據包。這個過程也不難,如果服務器不能決定現在是什么時間,服務器會拋棄接收到的數據報而不作出任何應答。
* 時間
時間是由32位表示的,是自1900年1月1日0時到當前的秒數,我們可以計算一下,這個協議只能表示到2036年就不能用了。(但是我們也知道計算機發展速度這么快,可能到時候就會有更好的協議代替這個協議,或者有已經想出有效的解決辦法了。)
下面是些例子:
the time 2,208,988,800 corresponds to 00:00 1 Jan 1970 GMT,
2,398,291,200 corresponds to 00:00 1 Jan 1976 GMT,
2,524,521,600 corresponds to 00:00 1 Jan 1980 GMT,
2,629,584,000 corresponds to 00:00 1 May 1983 GMT,
以及 -1,297,728,000 corresponds to 00:00 17 Nov 1858 GMT.
RFC868-Time Protocol RFC868 時間協議
1
1
中文文檔翻譯計劃
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -