request for comments(rfc),是一系列以編號排定的檔案。檔案收集了有關網際網路相關信息,以及unix和網際網路社區的檔案。目前rfc檔案是由internet society(isoc)贊助發行。基本的網際網路通信協定都有在rfc檔案內詳細說明。rfc檔案還額外加入許多的論題在標準內,例如對於網際網路新開發的協定及發展中所有的記錄。因此幾乎所有的網際網路標準都有收錄在rfc檔案之中。
基本介紹
- 外文名:rfc
- 全稱:request for comments
- 定義:一系列以編號排定的檔案
- 用途:收集有關網際網路相關信息
編輯機制,處理過程,歷史,檔案架構,發展歷程,分類,文檔閱讀,
編輯機制
request for comments (rfc),是一系列以編號排定的檔案。檔案收集了有關網際網路相關資訊,以及unix和網際網路社群的檔案。目前rfc檔案是由internet society(isoc)所贊助發行。
基本的網際網路通訊協定都有在rfc檔案內詳細說明。rfc檔案還在標準內額外加入了許多的論題,例如對於網際網路新開發的協定及發展中所有的記錄。因此幾乎所有的網際網路標準都收錄在rfc檔案之中。
rfc(request for comments)-意即“請求協定”,包含了關於internet的幾乎所有重要的文字資料。如果你想成為網路方面的專家,那么rfc無疑是最重要也是最經常需要用到的資料之一,所以rfc享有網路知識之美譽。通常,當某家機構或團體開發出了一套標準或提出對某種標準的構想,想要徵詢外界的意見時,就會在internet上發放一份rfc,對這一問題感興趣的人可以閱讀該rfc並提出自己的意見;絕大部分的指定都是以rfc的形式開始,經過大量的論證和修改過程,由主要的標準化組織所指定的,但在rfc中所收錄的檔案並不都是正在使用或為大家所公認的,也有很大一部分只在某個局部領域被使用或並沒有被採用,一份rfc具體處於什麼狀態都在檔案中作了明確的標識
rfc由一系列草案組成,起始於1969年(第一個rfc文檔發布於1969年4月7日,參見“rfc30年”,rfc2555”),rfc文檔是一系列關於internet(早期為arpanet)的技術資料彙編。這些文檔詳細討論了計算機網路的方方面面,重點在網路協定,進程,程式,概念以及一些會議紀要,意見,各種觀點等。
“rfc編輯者”是rfc文檔的出版者,它負責rfc最終文檔的編輯審訂。“rfc編輯者”也保留有rfc的主檔案,稱為rfc索引,用戶可以線上檢索。在rfc近30年的歷史中,“rfc編輯者”一直由約翰·普斯特爾(jon postel)來擔任,而現在“rfc編輯者”則由一個工作小組來擔任,這個小組受到“網際網路協會”(internet society)的支持和幫助。
rfc編輯者負責rfc以及rfc的整體結構文檔,並維護rfc的索引。族的文檔部分(由internet工程委員會“網際網路工程師任務組”ietf以及ietf 下屬的“網際網路工程師指導組”iesg 定義),也做為rfc文檔出版。因此,rfc在internet相關標準中有著重要的地位。
rfc編輯者的職責是由internet 中的大家提議形成的,所出版的語言也就和internet一樣。ietf和isoc是代表了世界各地的國際性組織,英語是ietf的第一工作語言,也是ietf的正式出版語言。rfc 2026 "the internet standards process -- revision 3" 允許rfc翻譯成其他不同的語言。但是不能保證其翻譯版本是完全正確的。因此,rfc編輯不對非英語的版本負責,而只是指明了哪裡有非英語的版本,將這些信息列在web頁上。
處理過程
一個rfc檔案在成為官方標準前一般至少要經歷4個階段【rfc2026】:網際網路草案、建議標準、草案標準、網際網路標準。
第一步rfc的出版是作為一個internet 草案發布,可以閱讀並對其進行注釋。準備一個rfc草案,我們要求作者先閱讀ietf的一個文檔"considerations for internet drafts". 它包括了許多關於rfc以及internet草案格式的有用信息。作者還應閱讀另外一個相關的文檔rfc 2223 "instructions to authors"。
一旦文檔有了一個id號後,你就可以向rfc-editor @rfc-editor. org傳送e-mail ,說你覺得這個文檔還可以,能夠作為一個有價值或有經驗的rfc文檔。rfc編輯將會向iesg請求查閱該文檔並給其加上評論和注釋。你可以通過rfc佇列來了解你的文檔的進度。一旦你的文檔獲得通過,rfc編輯就會將其編輯並出版。如果該文檔不能出版,則會有email通知作者不能出版的原因。作者有48個小時的時間來校對rfc編輯的意見。我們強烈建議作者要檢測拼寫錯誤和丟字的錯誤,應該確保有引用,聯繫和更新相關的信息。如你的文檔是一個mib,我們則要你對你的代碼作最後一次檢測。一旦rfc文檔出版,我們就不會對其進行更改,因此你應該對你的文檔仔細的檢查。
有時個別的文檔會被正從事同一個項目的ietf工作組收回,如是這種情況,則該作者會被要求和ietf進行該文檔的開發。在ietf中,area directors (ads) 負責相關的幾個工作組。這些工作者所開發的文檔將由ads 進行校閱,然後才作為rfc的出版物。
如要獲得關於如何寫rfc文檔和關於rfc的internet標準制定過程的更多詳細信息,請各位參見:
rfc 2223 "instructions to rfc authors"。
rfc 2026 "the internet standards process -- revision 3"。
實際上,在internet上,任何一個用戶都可以對internet某一領域的問題提出自己的解決方案或規範,作為internet草案(internet draffs,id)提交給internet工程任務組(ietf)。草案存放在美國、和亞太地區的工作檔案站點上,供世界多國自願參加的ietf成員進行討論、測試和審查。最後,由internet工程指導組(iesg)確定該草案是否能成為internet的標準。
如果一個internet草案在ietf的相關站點上存在6個月後仍未被iesg建議作為標準發布,則它將被從上述站點中刪除。事實上,在任何時候,一個internet 草案都有可能被新的草案版本所替換掉,並重新開始6個月的存放期。
如果一個internet草案被iesg確定為internet的正式工作檔案,則被提交給internet體系結構委員會(iab),並形成具有順序編號的rfc文檔,由(isoc)通過internet向全世界頒布。每個internet標準檔案在被批准後都會分配一個獨立於rfc的永久編號,這就是std編號。有一個不斷被更新的檔案rfc-index.txt按照rfc的編號來索引所有的檔案,對於網際網路標準檔案還列出了其相應的std編號。
rfc文檔必須被分配rfc編號後才能在網路上發布。例如,rfc2026的內容是“internet標準進程-修訂版3”、rfc1543的內容為“rfc作者指導”等等。需要時,可以複製或列印這些在線上文檔。用戶也可以通過遍布全世界的數個在線上資料資料庫中獲得rfc文檔。
作為標準的rfc又分為幾種,第一種是提議性的,就是說建議採用這個作為一個方案擺出來,draft是已經有一部分在用了,希望被採用為正式的標準,還有一種就是完全被認可的標準,這種是大家都在用,而且是不應該改變的。還有一種就是現在的最佳實踐法,它相當於一種介紹。這些檔案產生的過程是一種從下往上的過程,而不是從上往下,也就是說不是一個由主席,或者由工作組負責人的給一個指令,說是要做什麼,要做什麼,而是有下邊自發的提出,然後在工作組裡邊討論,討論了以後再交給剛才說的工程指導委員會進行審查。但是工程指導委員會只做審查不做修改,修改還是要打回到工作組來做。ietf工作組檔案的產生就是任何人都可以來參加會議,任何人都可以提議,然後他和別人進行討論,大家形成了一個共識就可以產出這樣的檔案。
歷史
rfc最初作為arpa網計畫的基礎起源於1969年。如今,它已經成為ietf、internet architecture board (iab)還有其他一些主要的公共社區的正式出版物發布途徑。
最初的rfc作者使用撰寫文檔,並在國防前沿研究項目署(arpa)研究成員之間傳閱。1969年12月,他們開始通過arpanet途徑來發布新的rfc文檔。第一份rfc文檔由(ucla)的steve crocker撰寫,在1969年4月7日公開發表的rfc 1。當初crocker為了避免打擾他的室友,是在浴室里完成這篇文檔的。
在1970年代,很多後來的rfc文檔同樣來自ucla,這不僅得益於ucla的學術質量,同時也因為ucla是arpanet第一批interface message processors (imps)成員之一。
由douglas engelbart領導的,位於stanford research institute的augmentation research center (arc)是四個最初的arpanet結點之一,也是最初的network information centre,同時被社會學家thierry bardini記錄為早期大量rfc文檔的發源地。
從1969年到1998年,jon postel一直擔任rfc文檔的編輯職務。隨著美國政府贊助契約的到期,internet society(代表ietf),和(usc)information sciences institute的網路部門合作,(在iab領導下)負責rft文檔的起草和發布工作。jon postel繼續擔任rfc編輯直到去世。隨後,由bob braden接任整個項目的領導職務,同時joyce reynolds繼續在團隊中的擔任職務。
慶祝rfc的30周年的rfc檔案是rfc 2555。
檔案架構
rfc檔案只有新增,不會有取消或中途停止發行的情形。但是對於同一主題而言,新的rfc檔案可以聲明取代舊的rfc檔案。rfc檔案是純 ascii文字檔格式,可由電腦程式自動轉檔成其他檔案格式。rfc檔案有封面、目錄及頁首頁尾和頁碼。rfc的章節是數字標示,但數字的小數點後不補零,例如4.9的順序就在4.10前面,但9的前面並不補零。rfc1000這份檔案就是rfc的指南。
rfc檔案是由internet society審核後給定編號並發行。雖然經過審核,但rfc也並非全部嚴肅而生硬的技術檔案,偶有惡搞之作出現,尤其是4月1日愚人節所發行的,例如rfc 1606: a historical perspective on the usage of ip version 9 (參見ipv9)、rfc 2324: “超文本咖啡壺控制協定”(hyper text coffee pot control protocol,乍有其事的寫了htcpcp這樣看起來很專業的術語縮寫字)。以及如前面所提到紀念rfc的30周年慶的rfc檔案。
發展歷程
在internet從誕生到不斷發展壯大的過程中,出現過各種各樣的協定和思想討論,從最初的ncp協定到現代internet的基石tcp/ip協定族,無一不閃耀著研究人員的智慧光芒,正是這些成百上千各種協定的發明、討論和完善,才使得人類社會逐步進入到網際網路時代。而這些閃耀著人類智慧結晶的思想成果大都以一種稱為rfc的文檔格式記錄起來。
1969年,s·crocker首先建立了rfc機制,其目的是建立一種快速共享internet網路研究思想的方式,最初rfc是以書面形式分發的,後來有了ftp、email,rfc就以線上電子文本的形式提供,當然現在通過www在很多站點可以很方便地訪問rfc文檔。rfc一直以來主要是用於internet的標準化,rfc是internet開放性的產物,任何人都可以訪問rfc,internet這一致力於信息共享的網路首先共享的就是以rfc形式出現的涉及其自身研究、設計和使用的信息。這一獨特的方式對於internet的發展、完善具有相當關鍵的作用。發展到現在,rfc文檔已不僅僅是關於internet標準的文檔了,而且也不局限於tcp/ip範圍,它幾乎包含了與計算機通信有關的任何內容,全面反映internet研究、發展的過程。rfc主要是iab、ietf、iesg、isoc的工作成果,主要由ietf起草,由iab指導下的rfc 編輯(editor)直接負責rfc的發表。每一個rfc文檔有一個編號,這個編號永不重複,也就是說,由於技術進步等原因,即使是關於同一問題的rfc,也要使用新的編號,而不會使用原來的編號,時至今日[2015/2/2],rfc編號已經排到7443,在查找rfc時,一定要注意最新的rfc。
分類
rfc文檔大致可以分為以下幾類。
1.std rfc
按照rfc1311的定義,std rfc是指那些已經或者致力於成為internet標準的rfc。只有經過完全internet標準化過程的rfc才可以有std編號,std編號是不變的,而其涉及到的 rfc文檔可能不只一個,其rfc編號也會更新。如std13(domain name system)就涉及rfc1 034和rfc1035。std的標準化過程要經過幾個步驟,首先由ietf起草標準(也可能是其他組織和個人,但一般都是和ietf共同完成的),形成internet draft(id),id沒有rfc編號。如果id在6個月內iesg沒有建議成為rfc,則取消此id。成為rfc後,還要經過一系列的審查、修訂、測試等才能最終成為internet標準。
2.bcp rfc
由於internet套用領域廣泛,各種不同的組織有不同的使用目的和使用規則,ietf除了建議std以外,也有必要對於internet的使用和管理提供一些一般性的指導,同時也為i etf、iab、iesg提供一種渠道,以便推動某一方面的工作,反映其技術趨向,反映這些組織本身的工作進展。於是,1995年以rfc1818定義了bcp,即best current practice。bcp同時有一個bcp編號和一個rfc編號,一旦約定了一個bcp編號,就不會再變,而其rfc編號則可能會經過修訂不斷更新。例如反映internet標準化工作程式的bcp9的rfc編號就從rfc16 02上升到rfc2026,相應地就廢棄了rfc1602。bcp在發表以前,以電子郵件的形式廣泛徵求ietf的意見,經過iesg的審查,通過後即正式發表。但是bcp本身不是internet標準。
3.fyi rfc
fyi是for your information的簡寫,1990年發表的rfc1150(fyi1)定義了fyi,fyi也同時有一個fyi編號和一個rfc編號,fyi編號是固定的。fyi主要是提供有關internet的知識性內容。如fyi4(rfc1594),"answers to commonly asked new internet user quest ions"。所有的fyi在提交到rfc編輯以前,必須先經過ietf的user services workinggro up審查。
4.其他rfc
除了std、bcp、fyi以外還有其他一些rfc。從rfc899開始,所有以99結尾的rfc都是對此前99個rfc的一個概括。如rfc1999就是對rfc1900到rfc1999的一個簡單概括。除了上述分類以外,還有一些描述rfc的方法。與internet標準化過程(internet standards process)有關的規範可以分為兩類,即 technical specification(ts),applicability statement(as)。ts是對協定、規則、格式、實用程式的描述。as是描述在何種環境,以及怎樣在internet中使用ts;as所涉及的並不一定全是internet標準,比如ieee、itu、iso組織的一些標準,大家所熟悉的ascii標準就是一例。as應該對其涉及的ts規定相應的級別"requirement level",這些"require ment level"如下: ·required(req),相當於必須實現,如ip、icmp; ·recommended(rec),鼓勵使用,如telnet; ·elective(elc),可選擇的; ·limited use,只限於特定的用戶,一般說來用於對一些新的協定做試驗; ·not recommended,不要使用,很可能是過時的。"maturity level"也是用來描述ts和as的一種方式,它反映這些標準是否成熟。對於致力於成為std的ts和as有三種"maturity level"。·proposed standard,基本成熟,但還需要進一步的試驗證實其可行性。除非是用來驗證該協定的可行性,不要將其視為標準實現。·draft standard,需要兩個獨立的,而且具有相互操作性的實例驗證該協定的每一個方面。可以將其視為最終的標準草案; ·internet standard,最終的internet標準,同時賦予一個std編號。除此之外的ts和as分為以下幾種"maturity level"。·experimental,一般是反映一些研究和開發的成果,只應將此看作是一般性的信息。·informational,反映與internet標準有關的一般性信息。有些也是有關非intern et組織開發的一些協定,但必須得到協定開發者的許可。·historic,是一些被新的標準取代或者是已經過時廢棄不用的標準。std1(rfc2200)——internet official protocol standards,定期更新,反映最新的 internet標準。另外,對於關注internet的人來說,應該經常注意查閱bcp9的最新內容。
文檔閱讀
一是需要確定它是最新的文檔,二是需要注意rfc文檔的類別;
所有的rfc文檔都要經歷評論和反饋過程,並且在這一段時間內它們會被劃分為不同的類別;
rfc文檔一旦被提交,ietf和iab組織將審查rfc文檔,通過後可以成為一項標準;
rfc文檔按照它發展與成熟的過程可以分為標準、草案標準、提案標準、實驗性的、信息性或歷史性的;
rfc文檔又可以分為被要求、被推薦、被選擇、受限制使用或不被推薦;
rfc文檔是什麼。