Request for Comments

RFC (ang. Request for Comments – dosłownie: prośba o komentarze) – zbiór technicznych oraz organizacyjnych dokumentów mających formę memorandum związanych z Internetem oraz sieciami komputerowymi. Każdy z nich ma przypisany unikatowy numer identyfikacyjny, zwykle używany przy wszelkich odniesieniach. Publikacją RFC zajmuje się Internet Engineering Task Force.

Dokumenty nie mają mocy oficjalnej, jednak niektóre z nich zostały później przekształcone w oficjalne standardy sieciowe, np. opis większości popularnych protokołów sieciowych został pierwotnie opisany właśnie w RFC.

Powstawanie RFC

Witryna RFC-Editor wydaje każdy nowy dokument z unikatowym numerem, wykorzystywanym przy późniejszych odniesieniach do niego. Po publikacji RFC nie jest już poprawiany i zmieniany. W przypadku pojawienia się błędów redakcyjnych, odpowiednie poprawki zawarte są w erracie. Dla korekty nieprawidłowych rozwiązań lub sprostowania idei publikuje się nowy RFC, anulujący poprzedni. W ten sposób zbiór RFC jest też cennym historycznym zapisem procesu rozwoju technologii internetowych.

Dokumenty RFC są pisane przeważnie na podstawie doświadczenia przez jednego eksperta lub niewielką grupę ludzi. Ma to kilka oczywistych i ważnych zalet nad opracowywaniem oficjalnych standardów w organizacjach takich, jak ANSI czy ISO. Objawia się to m.in. publikacją humorystycznych RFC (opisanych w dalszej części).

Historia

Idea dokumentów RFC pojawiła się w roku 1969 jako część projektu ARPANET. Z biegiem lat przekształciła się ona w oficjalne forum dla inżynierów zajmujących się infrastrukturą sieci komputerowych.

Początkowo dokumenty RFC były pisane na maszynie, a kopie rozprowadzano w tradycyjny sposób między zainteresowanymi badaczami[1]. Kiedy w grudniu 1969 wystartowała sieć ARPANET, zaczęto je publikować w formie elektronicznej i rozpowszechniać za jej pośrednictwem.

RFC 1 zatytułowany „Host Software” został napisany przez Steve’a Crockera z Uniwersytetu Kalifornijskiego w Los Angeles i opublikowany 7 kwietnia 1969 roku[2]. Crocker przygotowywał szkic dokumentu w łazience, aby nie budzić swojego kolegi z pokoju.

RFC 3, po raz pierwszy definiujący całą serię, przypisuje jej istnienie nieformalnej grupie ludzi określających siebie mianem „Network Working Group”. Byli wśród nich autorzy pierwszych dokumentów oraz ludzie, którym dostarczano kopie[3]. Od roku 1969 aż do swej śmierci w 1998 roku redaktorem dokumentów technicznych był Jon Postel. Później kontrolę nad projektem przejął Bob Braden.

Nazwa serii Request for Comments, którą wymyślił Steve Crocker, miała być skromnym tytułem podkreślającym to, że każdy może przedstawiać takie dokumenty na dowolny temat i nie stanowią one żadnego standardu[4].

Tematyczna lista RFC

Ułożona tematycznie lista dokumentów RFC definiujących ważniejsze protokoły sieciowe. Przekreślone dokumenty zostały uznane za przestarzałe.

TematPowiązane dokumenty RFC
Address Resolution ProtocolRFC 826
BEEPRFC 3080
BOOTPRFC 951
Date and Time on the Internet (ISO 8601)RFC 3339
DISCARDRFC 863
Domain Name SystemRFC 1034, RFC 1035
Dynamic Delegation Discovery SystemRFC 2168, RFC 2915, RFC 3401, RFC 3402, RFC 3403, RFC 3404, RFC 3405
Dynamic Host Configuration ProtocolRFC 1531, RFC 1541, RFC 2131, RFC 3315 (IPv6)
Extensible Messaging and Presence ProtocolRFC 3920, RFC 3921, RFC 3922
ECHO protocolRFC 862
File Transfer ProtocolRFC 114, RFC 172, RFC 265, RFC 354, RFC 765, RFC 959
Generic Security Services Application Program InterfaceRFC 1508, RFC 1509, RFC 1964, RFC 2078, RFC 2743, RFC 2744, RFC 2853
gzipRFC 1952
HyperText Transfer ProtocolRFC 1945 (v 1.0), RFC 2616 (v 1.1)
Internet Control Message ProtocolRFC 792
Internet Group Management ProtocolRFC 966 (v 0), RFC 988 (v 0), RFC 1054 (v 1), RFC 1112 (v 1), RFC 2236 (v 2), RFC 3376 (v 3)
Internet Message Access ProtocolRFC 1176 (v 2), RFC 1730 (v 4), RFC 2060 (v 4r1), RFC 3501 (v 4r1)
Internet Protocolzobacz IPv4 oraz IPv6
IP over Avian CarriersRFC 1149, RFC 2549
IPv4RFC 760, RFC 790, RFC 791
IPv6RFC 1883, RFC 2460
IPv6 addressingRFC 2373, RFC 3513
Internet Relay ChatRFC 1459, RFC 2810, RFC 2811, RFC 2812, RFC 2813
ISCSIRFC 3720, RFC 3783
KerberosRFC 1964
Lightweight Directory Access ProtocolRFC 1487, RFC 1777, RFC 2251, RFC 2252, RFC 2253, RFC 2254, RFC 2255, RFC 2256
MD5RFC 1321
Multiprotocol Label SwitchingRFC 3031
Multipurpose Internet Mail ExtensionsRFC 2045, RFC 2046, RFC 2047, RFC 2049
Network Address TranslationRFC 1631, RFC 2663, RFC 2993, RFC 3022, RFC 3027, RFC 3234, RFC 3489, RFC 4787
Network File SystemRFC 1094, RFC 1813 (v.3), RFC 3010 (v.4), RFC 3530 (v.4)
Network News Transfer ProtocolRFC 977 RFC 3977
Network Time ProtocolRFC 1059 (v.1), RFC 1119 (v.2), RFC 1305 (v.3)
Open Shortest Path FirstRFC 1131 (v.1), RFC 1247 (v.2), RFC 1583 (v.2), RFC 2178 (v.2), RFC 2328, RFC 2740 (IPv6)
Post Office ProtocolRFC 918 (v.1), RFC 937 (v.2), RFC 1081 (v.3), RFC 1225 (v.3), RFC 1460 (v.3), RFC 1725 (v.3), RFC 1939 (v.3)
Pretty Good PrivacyRFC 1991, RFC 2440
Protocol Independent MulticastRFC 2117, RFC 2362 (SM), RFC 4602 (SM)
Reverse Address Resolution ProtocolRFC 903
RADIUSRFC 2058, RFC 2138, RFC 2865, RFC 3162 (IPv6)
Real-time Transport ProtocolRFC 1889
Real Time Streaming ProtocolRFC 2326
Routing Information ProtocolRFC 1058 (v.1), RFC 1388 (v.2), RFC 1723 (v.2), RFC 2453 (v.2), RFC 2080 (v.ng)
Secure Shell-2RFC 4251
Session Announcement ProtocolRFC 2974
Session Description ProtocolRFC 2327
Session Initiation ProtocolRFC 3261
Simple Authentication and Security LayerRFC 2222
Simple Mail Transfer ProtocolRFC 821, RFC 822, RFC 2505, RFC 2821, RFC 2822
Simple Network Management ProtocolRFC 1067, RFC 1098, RFC 1157 (v.1), RFC 1441 (v.2), RFC 2570 (v.3)
Stream Control Transmission ProtocolRFC 2960, RFC 3286
TELNETRFC 854, RFC 855
Transmission Control ProtocolRFC 793
Transport Layer Security 1.0RFC 2246
Trivial File Transfer ProtocolRFC 783, RFC 1350
Uniform Resource IdentifierRFC 3986
User Datagram ProtocolRFC 768
UTF-8RFC 3629

Humorystyczne RFC

22 czerwca 1973 roku ukazał się pierwszy humorystyczny dokument RFC zatytułowany „ARPAWOCKY” (RFC 527)[5]. W późniejszych latach wydano ich jeszcze kilka, natomiast od 1989 roku publikowane są one regularnie w prima aprilis. Praktycznie wszystkie nie mają żadnego zastosowania; zostały napisane dla rozrywki. Oto tytuły niektórych z takich dokumentów:

  • TELNET – opcja gubienia danych (RFC 748, 1 kwietnia 1978)[6]
  • Transmisja datagramów IP przez gołębie pocztowe (RFC 1149, 1 kwietnia 1990)[7]
  • Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) (RFC 2324, 1 kwietnia 1998)[8]
  • Transmisja pakietów IP poprzez gołębie pocztowe z QoS (RFC 2549, 1 kwietnia 1999)[9]
  • Protokół Generowania Liczby PI (RFC 3091, 1 kwietnia 2001)[10]
  • Etymologia słowa „foo” (RFC 3092, 1 kwietnia 2001)[11]
  • Electricity over IP (RFC 3251, 1 kwietnia 2002)[12]

Format

Wszystkie dokumenty RFC są dostępne w podstawowej formie jako tekst ASCII, z wyjątkiem RFC 1119 opublikowanego w formacie Postscript[13]. Dokumenty RFC można także spotkać w innych formatach.

Przypisy

  1. Steve D. Crocker, How the Internet Got Its Rules, The New York Times, 6 kwietnia 2009 [dostęp 2017-02-18] (ang.).
  2. Steve Crocker, Host Software, RFC 1, IETF, 7 kwietnia 1969, DOI10.17487/RFC0001, ISSN 2070-1721, OCLC 943595667 (ang.).
  3. Steve Crocker, Documentation conventions, RFC 3, IETF, kwiecień 1969, DOI10.17487/RFC0003, ISSN 2070-1721, OCLC 943595667 (ang.).
  4. Joyce K. Reynolds, Jon Postel, Request For Comments reference guide, RFC 1000, IETF, sierpień 1987, DOI10.17487/RFC1000, ISSN 2070-1721, OCLC 943595667 (ang.).
    Cytat:
    I remember having great fear that we would offend whomever the
    official protocol designers were, and I spent a sleepless night
    composing humble words for our notes. The basic ground rules were
    that anyone could say anything and that nothing was official. And to
    emphasize the point, I labeled the notes "Request for Comments."
  5. R. Merryman, ARPAWOCKY, RFC 527, IETF, maj 1973, DOI10.17487/RFC0527, ISSN 2070-1721, OCLC 943595667 (ang.).
  6. M.R. Crispin, Telnet randomly-lose option, RFC 748, IETF, 1 kwietnia 1978, DOI10.17487/RFC0748, ISSN 2070-1721, OCLC 943595667 (ang.).
  7. D. Waitzman, Standard for the transmission of IP datagrams on avian carriers, RFC 1149, IETF, 1 kwietnia 1990, DOI10.17487/RFC1149, ISSN 2070-1721, OCLC 943595667 (ang.).
  8. L. Masinter, Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0), RFC 2324, IETF, 1 kwietnia 1998, DOI10.17487/RFC2324, ISSN 2070-1721, OCLC 943595667 (ang.).
  9. D. Waitzman, IP over Avian Carriers with Quality of Service, RFC 2549, IETF, 1 kwietnia 1999, DOI10.17487/RFC2549, ISSN 2070-1721, OCLC 943595667 (ang.).
  10. H. Kennedy, Pi Digit Generation Protocol, RFC 3091, IETF, 1 kwietnia 2001, DOI10.17487/RFC3091, ISSN 2070-1721, OCLC 943595667 (ang.).
  11. D. Eastlake 3rd, C. Manros, E. Raymond, Etymology of "Foo", RFC 3092, IETF, 1 kwietnia 2001, DOI10.17487/RFC3092, ISSN 2070-1721, OCLC 943595667 (ang.).
  12. B. Rajagopalan, Electricity over IP, RFC 3251, IETF, 1 kwietnia 2002, DOI10.17487/RFC3251, ISSN 2070-1721, OCLC 943595667 (ang.).
  13. David L. Mills, Network Time Protocol (version 2) specification and implementation, RFC 1119, IETF, wrzesień 1989, DOI10.17487/RFC1119, ISSN 2070-1721, OCLC 943595667 (ang.).

Linki zewnętrzne