天天看點

RFC導讀

1 RFC的簡介

1.1 RFC曆史及概況

RFC文檔也稱請求注解文檔(Requests for Comments,RFC),這是用于釋出Internet标準和Internet其他正式出版物的一種網絡檔案或工作報告。RFC文檔初創于1969年,RFC出版物由RFC編輯(RFC Editor)直接負責,并接受IAB的一般性指導。現在已經有3000多個RFC系列檔案,并且這個數目還在不斷增加, 内容和Internet (開始叫做為ARPANET)相關。草案讨論了計算機通訊的方方面面,重點在網絡協定,過程,程式,以及一些會議注解,意見,風格方面的概念。   RFC編輯者負責RFCs 以及RFCs的整體結構文檔,并維護RFCs的索引。Internet協定族的文檔部分(由Internet工程委員會IETF以及IETF 下屬的管理組IESG 定義),也做為RFC文檔出版。是以,RFC在Internet相關标準中有着重要的地位。   RFC編輯者的職責是由Internet 中的大家提議形成的,所出版的語言也就和Internet一樣。IETF and the ISOC是代表了世界各地的國際性組織,英語是IETF的第一工作語言,也是IETF的正式出版語言。RFC 2026 "The Internet Standards Process -- Revision 3" 允許RFCs翻譯成其他不同的語言。但是不能保證其翻譯版本是否正确。是以,RFC編輯不對非英語的版本負責,而隻是指明了哪裡有非英語的版本,将這些資訊列在WEB頁上。

1.2 RFC處理過程

一個RFC檔案在成為官方标準前一般至少要經曆三個階段:建議标準、草案标準、網際網路标準。   在Internet上,任何一個使用者都可以對Internet某一領域的問題提出自己的解決方案或規範,作為Internet草案(Internet Draffs,ID)送出給Internet工程任務組(IETF)。草案存放在美國、歐洲和亞太地區的工作檔案站點上,供世界多國自願參加的IETF成員進行讨論、測試和審查。最後,由Internet工程指導組(IESG)确定該草案是否能成為Internet的标準。   如果一個Internet草案在IETF的相關站點上存在6個月後仍未被IESG建議作為标準釋出,則它将被從上述站點中删除。事實上,在任何時候,一個Internet 草案都有可能被新的草案版本所替換掉,并重新開始6個月的存放期。   如果一個Internet草案被IESG确定為Internet的正式工作檔案,則被送出給Internet體系結構委員會(IAB),并形成具有順序編号的RFC文檔,由Internet協會(ISOC)通過Internet向全世界頒布。每個Internet标準檔案在被準許後都會配置設定一個獨立于RFC的永久編号,這就是STD編号。有一個不斷被更新的檔案RFC-INDEX.TXT按照RFC的編号來索引所有的檔案,對于網際網路标準檔案還列出了其相應的STD編号。

 RFC文檔必須被配置設定RFC編号後才能在網絡上釋出。例如,RFC2026的内容是“Internet标準程序-修訂版3”、RFC1543的内容為“RFC作者指導”等等。需要時,可以複制或列印這些聯機文檔。使用者也可以通過遍布全世界的數個聯機資料資料庫中獲得RFC文檔。例如,可以使用路徑名RFC/RFCnnnn.TXT通過FTP的方式從ds.internic.net站點獲得RFC,其中“nnnn”指的是RFC的編号。在這裡,使用FTP登入時,所用的使用者名和密碼分别為“anonymous”和你的電子郵件位址。此外,使用者還可以通過Internet網絡資訊中心(InterNIC)的目錄服務功能、電子郵件、WWW等方式獲得RFC文檔.       作為标準的RFC又分為幾種,第一種是提議性的,就是說建議采用這個作為一個方案擺出來,Draft是已經有一部分在用了,希望被采用為正式的标準,還有一種就是完全被認可的标準,這種是大家都在用,而且是不應該改變的。還有一種就是現在的最佳實踐法,它相當于一種介紹。這些檔案産生的過程是一種從下往上的過程,而不是從上往下,也就是說不是一個由主席,或者由工作組負責人的給一個指令,說是要做什麼,要做什麼,而是有下邊自發的提出,然後在工作組裡邊讨論,讨論了以後再交給剛才說的工程指導委員會進行審查。但是工程指導委員會隻做審查不做修改,修改還是要打回到工作組來做。IETF工作組檔案的産生就是任何人都可以來參加會議,任何人都可以提議,然後他和别人進行讨論,大家形成了一個共識就可以産出這樣的檔案。

2 RFC的内容

2.1 RFC的分類

根據RFC被公布時的狀态可以把RFC索引劃分成幾類:Standards(标準);Draft Standards(草案标準);Proposed Standards(提案标準)。每個分類具體的内容見: www.rfc-editor.org。

2.2 與計算機網絡有關的RFC

2.2.1 應用層協定

l      

FTP (RFC 959)

檔案傳送協定FTP(File Transfer Protocol)是Internet檔案傳送的基礎。通過該協定,使用者可以從一個Internet主機向另一個Internet主機拷貝檔案。 與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。使用者通過一個支援FTP協定的客戶機程式,連接配接到在遠端主機上的FTP伺服器程式。使用者通過客戶機程式向伺服器程式發出指令,伺服器程式執行使用者所發出的指令,并将執行的結果傳回到客戶機。比如說,使用者發出一條指令,要求伺服器向使用者傳送某一個檔案的一份拷貝,伺服器會響應這條指令,将指定檔案送至使用者的機器上。客戶機程式代表使用者接收到這個檔案,将其存放在使用者目錄中。 l      

HTTP (RFC 1945)

HTTP 協定(Hypertext Transfer Protocol ,中文稱“ 超文本傳輸協定” )是用來在Internet 上傳送超文本的傳送協定。它是運作在TCP/IP 協定族之上的HTTP 應用協定,它可以使浏覽器更加高效,使網絡傳輸減少。任何伺服器除了包括HTML 檔案以外,還有一個HTTP 駐留程式,用于響應使用者請求。浏覽器是HTTP 客戶,向伺服器發送請求,當浏覽器中輸入了一個開始檔案或點選了一個超級連結時,浏覽器就向伺服器發送了HTTP 請求,此請求被送往由IP 位址指定的URL 。駐留程式接收到請求,在進行必要的操作後回送所要求的檔案。

l      

SMTP (RFC 821/822)

SMTP(Simple Mail Transfer Protocol) 是一組規則,用于由源位址至目的位址傳送電子郵件。每一個想接收電子郵件的主機都安裝了SMTP 伺服器。當主機由使用者接收了電子郵件并想傳遞到另外一台伺服器,則它聯絡SMTP 伺服器。SMTP 伺服器會作出反應,顯示确認、錯誤消息或特定的請求資訊。其中RFC821 定義了SMTP 标準,RFC822 定義了SMTP 消息格式。

l      

POP3 RFC 1081

POP3(Post Office Protocol 3) 協定通常被用來接收電子郵件。這個協定很簡單,因為它隻包含12 個指令。這些指令被用戶端計算機用來發送  給遠端伺服器。反過來,伺服器傳回給用戶端計算機兩個回應代碼。

l      

Telnet (RFC854)

TELNET Protocol 的目的是提供一個相對通用的,雙向的,面向八位位元組的通信方法。它主要的目标是允許接口終端裝置的标準方法和面向終端的互相作用。

2.2.2 傳輸層協定

l      

TCP (RFC 793)

傳輸控制協定(Transmission Control Protocol )是為了在主機間實作高可靠性的包交換傳輸協定。TCP 協定主要在網絡不可靠的時候完成通信。它支援多種網絡應用程式。TCP 對下層服務沒有多少要求,它假定下層隻能提供不可靠的資料報服務,它可以在多種硬體構成的網絡上運作。TCP 可以根據IP 協定提供的服務傳送大小不定的資料,IP 協定負責對資料進行分段,重組,在多種網絡中傳送,是以TCP 協定則提供了一個可靠的、可流控的、全雙工的資訊流傳輸服務。

l      

UDP RFC 786

UDP(使用者資料報協定--User Datagram Protocol)是TCP/IP協定集中等同于TCP的通信協定。UDP直接利用IP協定進行UDP資料報的傳輸,是以UDP提供的是無連接配接、不可靠的資料報投遞服務。UDP常用于資料量較少的資料傳輸,例如:域名系統中域名位址/IP位址的映射請求和應答(Named),Ping 、BOOTP、TFTP等應用。在少量資料的傳輸時,使用UDP協定傳輸資訊流,可以減少TCP連接配接的過程,提高工作效率。當使用UDP協定傳輸資訊流時,使用者應用程式必須負責解決資料報排序,差錯确認等問題。

2.2.3 網絡層協定

l      

IP RFC 791

Internet 上使用的一個關鍵的低層協定是網際協定,通常稱IP協定。我們利用一個共同遵守的IP協定,進而使 Internet 成為一個允許連接配接不同類型的計算機和不同作業系統的網絡。  網際協定IP協定提供了能适應各種各樣網絡硬體的靈活性,對底層網絡硬體幾乎沒有任何要求,任何一個網絡隻要可以從一個地點向另一個地點傳送二進制資料,就可以使用IP協定加入 Internet 了。IP協定對于網絡通信有着重要的意義:網絡中的計算機通過安裝IP軟體,使許許多多的區域網路絡構成了一個龐大而又嚴密的通信系統。進而使 Internet 看起來好像是真實存在的,但實際上它是一種并不存在的虛拟網絡,隻不過是利用IP協定把全世界上所有願意接入 Internet 的計算機區域網路絡連接配接起來,使得它們彼此之間都能夠通信。            l      

ICMP RFC2236

ICMP(Internet Control Message Protocol”,Internet控制消息協定)是TCP/IP協定族的一個子協定,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸使用者資料,但是對于使用者資料的傳遞起着重要的作用。 l      

ARP(RFC 826)

  在TCP/IP網絡環境下,每個主機都配置設定了一個32位的IP位址,這種互連網位址是在國際範圍辨別主機的一種邏輯位址。為了讓封包在實體網上傳送,必須知道彼此的實體位址。這樣就存在把互連網位址變換為實體位址的位址轉換問題。以以太網(Ethernet)環境為例,為了正确地向目的站傳送封包,必須把目的站的32位IP位址轉換成48位以太網目的位址DA。這就需要在網絡層有一組服務将IP位址轉換為相應實體網絡位址,這組協定即是ARP。   在進行封包發送時,如果源網絡層給的封包隻有IP位址,而沒有對應的以太網位址,則網絡層廣播ARP請求以擷取目的站資訊,而目的站必須回答該ARP請求。這樣源站點可以收到以太網48位位址,并将位址放入相應的高速緩存(cache)。下一次源站點對同一目的站點的位址轉換可直接引用高速緩存中的位址内容。位址轉換協定ARP使主機可以找出同一實體網絡中任一個實體主機的實體位址,隻需給出目的主機的IP位址即可。這樣,網絡的實體編址可以對網絡層服務透明。  l      

RARP(RFC 903)

RARP(反向位址轉換協定)用于一種特殊情況,如果站點初始化以後,隻有自己的實體位址而沒有IP位址,則它可以通過RARP協定,發出廣播請求,征求自己的IP位址,而RARP伺服器則負責回答。這樣,無IP位址的站點可以通過RARP協定取得自己的IP位址,這個位址在下一次系統重新開始以前都有效,不用連續廣播請求。RARP廣泛用于擷取無盤工作站的IP位址。

2.2.4鍊路層協定

l      

PPP 協定( RFC1661

  PPP協定是一種有效的點一點通信協定,它由串行通信線路上的組幀方式,用于建立、配制、測試和拆除資料鍊路的鍊路控制協定LCP及一組用以支援不同網絡層協定的網絡控制協定NCPs三部分組成。  由于PPP幀中設定了校驗字段,因而PPP在鍊路層上具有差錯檢驗的功能。PPP中的LCP協定提供了通信雙方進行參數協商的手段,并且提供了一組NCPs協定,使得PPP可以支援多種網絡層協定,如IP、IPX、OSI等。另外,支援IP的NCP提供了在建立連接配接時動态配置設定IP位址的功能,解決了個人使用者上Inter

轉載于:https://www.cnblogs.com/mbchn/archive/2005/06/15/174978.html