互聯網標準化組織
1. 前言
互聯網(Internet)行業(yè)兩個非常重要的標準化組織是 IETF(Internet Engineering Task Force)和 W3C(Internet Engineering Task Force)。IETF 主要負責 ISO 參考模型相關協議的標準化,比如 TCP、IP、OSPF、DNS 等。W3C 主要是負責 WWW 相關協議的標準化,比如 HTML、XML、SOAP 等。
2. IETF RFC
TCP/IP 標準都是以 RFC(Request for Comments)文檔出版。RFC 格式誕生于 1969年,是 ARPANET 項目的開創(chuàng)性成果。如今 RFC 已經是 TCP/IP 標準的的官方發(fā)行渠道。請看下圖來了解 RFC 的主要來源機構。
-
互聯網工程任務組 IETF(Internet Engineering Task Force)是一個開放標準組織,主要工作是開發(fā)和推廣自愿的 Internet 標準,專注于工程和標準制定的短期問題研究。
-
互聯網研究任務組 IRTF(Internet Research Task Force)是一個專注于和 Internet 相關的、長期問題的研究。
-
互聯網體系結構委員會 IAB(Internet Architecture Board)是 IETF 的委員會,也是 ISOC 的咨詢機構。其職責是對 IETF 活動進行監(jiān)督。
-
互聯網協會 ISOC(Internet Society)是成立于 1992 年的美國非營利性組織,領導著互聯網標準的推廣、教育、政策方面工作。
RFC 主要是由工程師和計算機科學家以備忘錄的形式撰寫的。很多 RFC 是實驗性的,并不是標準,IETF 會吸收一些 RFC 建議,然后將其作為標準發(fā)布。RFC 標準都是以 "RFC xxx"的形式發(fā)布的,xxx 是編號,比如 RFC 1122。RFC 經過幾十年的發(fā)展,到寫作此文為止,最新編號是 RFC 8900。關于 RFC 的索引庫,可以參考 rfc index。
IETF 主要涉及的領域:
-
Internet 主要是 IP 層相關協議的開發(fā)、擴展。比如,IPv6、DHCP 等。
-
Routing 負主要是 IP 路由相協議的開發(fā)。比如,MPLS、BGP、OSPF 等。
-
Transport 主要是 QoS、端到端傳輸相關協議開發(fā)。
-
Security 主要是網絡安全相關協議開發(fā)。
-
Network O&M(Operations And Management)
主要是網絡服務、管理相關工作,比如,SNMP、MIB 等。 -
User Services 主要是提供標準化過程中的文檔。
-
Application 主要是應用協議開發(fā)和擴展。比如,FTP、SMTP、TELNET。
3. W3C
W3C 也是一個互聯網標準組織,是 1994 年由 Tim Berners-Lee 發(fā)起的,目前也是由此人領導的。W3C 最初的想法是建立統(tǒng)一、兼容的 HTML 標準,并且建議各個瀏覽器廠商采用 W3C 標準,從而解決各個廠商之間瀏覽器不兼容的問題。W3C 的主要工作范圍是 WWW(World Wide Web)。W3C 的目標是用 Web 將人類以一種更高效、更公平的方式連接在一起。W3C 的成員來源于各大公司或者研究機構,個人只能以特邀專家的形式參與。
W3C 是一個非盈利性組織,由四個機構共同管理:
- 歐洲信息學和數學研究聯合會(ERCM)
- 美國麻省理工學院計算機科學與人工智能實驗室(MIT CSAIL)
- 日本的 Keio 大學
- 中國北京航空航天大學
W3C 目前分了很多工作組,比如 HTML 工作組、CSS 工作組,SVG 工作組。每個工作組的最終目標是發(fā)布 Web 標準規(guī)范,官方叫做 W3C 推薦(Recommendation)。W3C Recommendation 標準化過程:
-
記錄(Note)
記錄,也叫編輯草案,一般來源于 W3C 成員的提交,或者是內部員工的想法,或者是相關方不完善的提議。記錄不一定會產生工作組,也不一定會形成 Recommendation。當某項提交被?W3C?認可,就會成立一個工作組,其中包括會員和其他相關方。工作組會發(fā)布工作草案。 -
工作草案 Working Draft (WD)
發(fā)布工作草案是標準化的第一階段。當工作草案發(fā)布給社區(qū),經過社區(qū)評審以后,可能會產生一些不一致的意見,這需要草案的負責人進一步修改和完善,最終達成一致意見。當工作草案經過幾輪評審后,沒有分歧,就會發(fā)布候選推薦。 -
候選推薦 Candidate Recommendation (CR)
候選推薦是比工作草案更接近標準的版本。進入這一階段,意味著工作組對該標準達到其目標非常有信心。候選推薦的目的是從開發(fā)社區(qū)獲得更多的幫助。因為有些標準是比較復雜,需要會員的幫助。候選推薦可能會進一步更改,但修改范圍局限在比較重要的特性。
-
提議推薦 Proposed Recommendation (PR)
提議推薦是比較完善的版本,不會進行大范圍修改,只是進行 bug 的修復。到這一階段,文檔需要提交給顧問委員會批準。 -
W3C 推薦 W3C recommendation (REC)
W3C 推薦是規(guī)范的最高級別了,到這一階段,規(guī)范經過很多輪的測試和評審,經過了理論和實踐的考驗,被 W3C 所接受,鼓勵大范圍的實現和推廣。
4. 小結
學習計算機網絡,就是學習各種協議。如果不了解歷史,直接研究某個協議,會有一種不適感、枯燥感,總是想知道為什么要這樣設計呢?如果了解了互聯網標準化歷史和標準化過程,再去研究各種協議,會有一種親切感,覺得協議的設計就是合情合理的。
TCP/IP 協議族的實現都包含在 RFC 標準中,Web 應用中的協議都包含在 W3C 標準中。在工作中如果需要學習某種協議,直接參考 RFC 和 W3C 官方標準即可。
5. 參考
[1]: [rfc_index] https://www.rfc-editor.org/rfc-index2.html