Mitä RFC:t ovat

English version: What RFCs are
Version auf Deutsch: Was RFCs sind.

RFC:ihin viitataan usein Internetiä koskevina standardeina. Tämä on osittain perusteltua, osittain virheellistä. Kaikki ns. Internet-standardit julkaistaan RFC:inä, mutta vain pieni osa RFC:istä on standardeja. RFC:t ovat sisällöltään ja asemaltaan hyvin kirjava joukko asiakirjoja, jotka kuvaavat Internetin erilaisia käytäntöjä, lähinnä teknisten menettelyjen järjestelmiä eli protokollia. RFC 2026 kuvailee asiaa näin:

RFCs cover a wide range of topics in addition to Internet Standards, from early discussion of new research concepts to status memos about the Internet.

RFC editorin sivuilla on yleiskatsaus RFC:ihin sekä RFC FAQ. Ohion valtionyliopiston sivulla Internet Requests for Comments (RFC) luetellaan ja lyhyesti kommentoidaan eräitä tavallisille Internetin käyttäjille tai Internetin tekniikoihin vasta perehtyvälle kiinnostavimpia RFC:itä kuten Internet Users' Glossary (joka tosin on aika vanha). Hyödyllinen on varmaankin myös Users' Security Handbook, joka on suomennettu nimellä Tietokoneen käyttäjän turvaopas. Ne kuuluvat RFC:iden ns. FYI-sarjaan (For Your Information), johon kuuluvat dokumentit ovat laajalle yleisölle tarkoitettuja informatiivisia juttuja; tosin osa niistä on sisällöltään vanhentuneita. Sen sijaan "standardointiuralla" olevat RFC:t ovat useimmiten varsin teknisiä ja lähinnä suppeahkon alan asiantuntijoille tarkoitettuja.

Standardeista ja "standardeista" yleensä

Internetissä sanalla "standardi" on milloin mikäkin merkitys. Juuri koskaan se ei tarkoita standardia sanan virallisimmassa merkityksessä eli kansainvälisen standardointijärjestön ISO:n tai sen jonkin kansallisen alajärjestön (Suomessa SFS) hyväksymää standardia. (Ja käytännössä se prosessi, joka sellaisten standardien laadintaan sisältyy, olisi aivan liian raskas näin nopeasti muuttuvalle alalle.)

Monet kutsuvat "standardeiksi" ns. teollisuusstandardeja eli jollakin alalla melko vakiintuneita, johtavien valmistajien noudattamia periaatteita ja käytäntöjä. Käsite on sangen epämääräinen ja häilyvä.

Edellä mainittujen käsitteiden laajaan välimaastoon sijoittuvat sellaiset "standardit", jotka on jossain mielessä sovittu jollakin foorumilla. Tyypillisesti RFC:t kuuluvat tähän luokkaan.

RFC-järjestelmä

Tavallisin sanan "standardi" merkitys Internetissä lienee 'voimassa oleva RFC'. Tämäkään ei ole mitenkään täsmällinen käsite. RFC:t ovat IETF-organisaation julkaisema numeroitu sarja asiakirjoja, joiden luonne ja asema vaihtelevat suuresti. Vaikka monia niistä saatetaan kutsua standardeiksi - niitäkin, joissa erikseen sanotaan - niin periaattessa tilanne on se, että vain muutamat RFC:t on erikseen nimetty Internet-standardeiksi, ja niillä on RFC-numeron lisäksi STD-numero (esim. IP-protokollan määrittelee RFC 791 eli STD 5).

Internet-standardeistakin vain muutaman status on "required" eli niitä vaaditaan noudatettavaksi kaikkialla Internetissä; muut ovat "recommended" tai vain "elective". Ne muutamat STD:t, joiden status on "required", käsittelevät lähinnä niitä perusprotokollia, joiden tasolla pitää olla yhteensopivuus, jotta mikään pelaisi.

Koko RFC-järjestelmän kuvaa STD 1, joka on tätä kirjoitettaessa RFC 2900. (STD-numerot ovat pysyviä, mutta ne voivat eri aikoina viitata erinumeroisiin RFC:ihin.)

Nimellisesti lyhenne RFC johtuu sanoista Request for Comments. Tämä on varsin harhaanjohtavaa, sillä kun asiakirja on julkistettu RFC:nä, sitä ei enää missään tapauksessa muuteta! Jos siinä kuvattua protokollaa muutetaan, laaditaan uusi RFC, jolla on suurempi numero ja jossa erikseen mainitaan, että se kokonaan tai osittain kumoaa aiemman tai muuttaa sitä.

Tosin on olemassa RFC Editorin ylläpitämä RFC Errata, joka sisältää painovirheiden yms. korjauksia.

Standardointiprosessi

Ennen kuin jostakin aiheesta tehdään RFC:itä, laaditaan hyvin usein Internet-Draft. Tämä tarkoittaa periaatteessa täysin epävirallista luonnosta, johon ei oikeastaan saisi edes viitata missään! Internet-Draft kuitenkin käytännössä saattaa olla laajapohjaisenkin yhteistyön tulos ja josta ehkä pienin muutoksin tehdään RFC. IETF:n sivustossa Internet-Drafts on tietoa aiheesta. Tarkemmin asian kuvaa RFC 2026. Internet-Drafteja voi etsiä SunSITEn Internet Standards Archivesta, joka nimestään huolimatta sisältää sekä RFC:itä että Internet-Drafteja.

Periaatteessa asioiden standardointi RFC:illä etenee niin, että ensin on "proposed standard", sitten määrätynlaisen prosessin jälkeen siitä tulee "draft standard" ja lopulta "standard".

Käytännössä harva spesifikaatio pääsee koskaan ainakaan standard-tasolle, mm. siksi, että ei vaivauduta viemään läpi melko raskasta prosessia vaan keskitytään itse protokollan parantamiseen eli seuraavan version tekemiseen. Mahdollista on myös, että standardointia (ilmaisun laveassa merkityksessä) tehdään jollain muulla tavalla kuin RFC-järjestelmän puitteissa. (Esimerkiksi HTML-kielestä on olemassa HTML 2.0 -version kuvaava RFC 1866, mutta kielen määrittelyn kehittäminen siirtyi käytännössä W3C-organisaatiolle ilman, että aiheesta pyrittiinkään laatimaan uusia RFC:itä. Tämä ilmoitettiin muodollisesti RFC 2854:ssä.)

Esimerkiksi nyysien (Usenet news) perusprotokollan määrittely RFC 1036, Standard for Interchange of USENET Messages, vuodelta 1987, ei ilmeisesti ole edes proposed standard, koska voimassaolevat RFC:t luetteleva STD 1 ei mainitse sitä, ja IANA:n virallisessa RFC-rekisterissä se esiintyy statuksella UNKNOWN!

Lisäksi on olemassa suuri määrä RFC:itä, jotka eivät ole lainkaan "standardointiuralla" (standards track) eivätkä sellaiselle tarkoitettujakaan vaan esim. pelkästään tiedottavia (informational), jollaiseksi lasketaan myös mm. runot, tai vain kokeilujen kuvauksia (experimental). Onpa olemassa sellainenkin RFC kuin 1990-04-01 päivätty RFC 1149, A Standard for the Transmission of IP Datagrams on Avian Carriers.

Mistä RFC:itä saa

RFC:itä on saatavilla useasta paikasta, joista suomalaisille lähin on yleensä Funetin tiedostopalvelin ftp.funet.fi. Siellä RFC:t ovat hakemistossa pub/doc/rfc eli siis osoitteessa ftp://ftp.funet.fi/pub/doc/rfc siten, että RFC n on tiedostona rfcn.txt. Voit käyttää seuraavaa lomaketta RFC:n hakemiseen sieltä numeron perusteella:

Uudempi suomalainen (joskin englanninkielinen) RFC:iden jakelupaikka on Eunetin RFC Index, jolla on oma hakulomakkeensa.

Palvelimessa ftp.funet.fi oleva tieto ei aina ole täysin ajan tasalla. Sama koskee useimpia muita paikkoja, joista RFC:itä on saatavilla. Niinpä hyvin tuoreet - muutaman päivän ikäiset - RFC:t löytyvät varmimmin virallisimmasta jakelupaikasta, RFC editorilta. Suurempi ongelma on kuitenkin se, että kaikki RFC:t eivät ole voimassa!

Jos haet RFC:n vain numeron perusteella, sinulla ei ole mitään takeita siitä, että se on voimassaoleva RFC aiheesta, jota se käsittelee. Varminta on etsiä RFC sellaisesta arkistosta, jossa on tiedot myös voimassaolosta. Esim. edellä mainittu Eunetin RFC Indexin Full Index -versio on sellainen arkisto.

RFC editor ylläpitää Webissä virallista dokumentaatiota, josta löytyy tietoja RFC:iden saatavuudesta eri lähteistä ja eri muodoissa. List of RFC Repositories luettelee ensisijaisiksi talletuspaikoiksi seuraavat FTP-palvelimet: nis.nsf.net, nisc.jvnc.net, ftp.isi.edu, wuarchive.wustl.edu, src.doc.ic.ac.uk, ftp.ncren.net, ftp.sesqui.net, ftp.nic.it, ftp.imag.fr, www.normos.org. Käytännössä muut paikat saattavat olla mukavampia käyttää.

Erityisesti mainittakoon RFC editorin hakulomakesivu, jolla voi hakea RFC:tä numeron tai avainsanan perusteella. Avainsanahaut kohdistuvat silloin RFC:n otsikkoon (nimeen), tekijöiden luetteloon tms., eivät itse tekstisisältöön. Tällöin saadaan myös kustakin löytyneestä RFC:stä tieto, onko se voimassa ja onko jokin myöhempi RFC osittain muuttanut niitä asioita, joita se käsittelee (ilmaisu "Updated by.." tarkoittaa tätä). Seuraavassa on kyseisten hakulomakkeiden yksinkertaistetut versiot:

Hae RFC
Etsi RFC:t, joiden esiintyy sana tai merkkijono

Sisällön perusteella hakeminen taas sujuu esim. edellä mainitulla Eunetin hakulomakkeella tai Internet FAQ Consortiumin tarjoamalla hakupalvelulla, johon seuraavassa on yksinkertaistettu käyttöliittymä:

Etsi RFC:t, joissa esiintyy sana

Mainittu haku tuottaa listan RFC:istä numeron mukaan laskevasti järjestettynä, siis uusimmista alkaen. Se, mitkä RFC:t ovat voimassa, on kuitenkin ehkä varminta vielä tarkistaa kyseisen konsortion ylläpitämältä sivulta Active RFC Index.

Samantapainen palvelu lähempänä on SunSITE Denmarkin RFC Archive.

Hyvin tehdyltä ja hyvin ylläpidetyltä vaikuttaa myös Lynn Wheelerin IETF RFC Index. Siitä löytyvät RFC:t useilla eri tavoilla luokiteltuina (tekijän, päivämäärän, kategorian ja numeron mukaan).

Ks. myös Yahoo-hakemiston kohtaa Computers and Internet: Standards: RFCs.

Suomenkielisiä tiivistelmiä

Teknillisessä korkeakoulussa on teetetty opiskelijoilla kotitehtävinä tiivistelmiä RFC:istä. Niitä on tehty varsin paljon, joistakin RFC:istä useitakin, pääosin suomen kielellä. Kyse on lyhyehköistä selostuksista, jotka kuvaavat lähinnä sitä, miksi RFC on laadittu, mikä sen aihepiiri on jne. Valitettavasti niitä on vain melko vanhoista RFC:istä (tuoreimpana RFC 2542 vuodelta 1999).

Eräästä aika keskeisestä RFC:stä, joka määrittelee Internet-viestien yleisen muodon, on laajahko suomenkielinen tiivistelmä (ja samalla kommentaari): Tiivistelmä RFC 822:sta muutoksineen.

RFC:iden muoto

Yleisesti RFC:t ovat saatavilla ensisijaisesti määrämuotoisina tekstitiedostoina (Ascii-tekstinä). Muodon määrää RFC 2223.

RFC:itä on saatavilla myös eri tavoin tuotettuina HTML-tiedostoina, mutta tekstimuoto on virallisin ja varmimmin oikea vaikkakin ikävä lukea. Ja osa voi olla saatavilla myös PostScript-muodossa, mutta tekstimuoto on virallinen.

Tietenkin yksittäisiä RFC:itä saattaa olla maailmalla monessakin muodossa eri tavoin konvertoituina (esimerkiksi MIME-RFC:iden kokoelma, jossa on myös kyseisten RFC:iden yhteinen sisällysluettelo, sekä kokeiluna tekemäni hypertekstiversio RFC 2396:sta). Mitään takeita ei yleisesti ottaen ole siitä, että muutos on tehty oikein niin, että asiasisältöä ei ole sotkettu. Mitä hienompaan muotoon RFC on muunnettu, sitä todennäköisempää on, että jotain on mennyt pieleen.

Melko luotettavana voitaneen pitää Internet FAQ Consortiumin RFC-aineistoa, joka on ilmeisesti tuotettu muuntamalla tekstimuodosta automaattisesti yksinkertaiseen HTML-muotoon. Se ei ole ulkoasultaan paljoakaan pelkkää tekstiä kummempi, mutta siinä mm. viittaukset toisiin RFC:ihin ovat sentään linkkejä. Seuraavalla lomakkeella voi valita sieltä RFC:n numeron perusteella:

RFC numero

Jos haluat viitata URLilla RFC:hen (esim. Web-sivullasi) siten, että viittaus kohdistuu edellä mainittuun kokoelmaan, niin käytä muotoa http://www.faqs.org/rfcs/rfcn.html missä n on RFC:n numero (ilman etunollia).

Toinen samantapainen, hiukan eri esitysmuotoa käyttävä kokoelma on FH Kölnin RFCs in HTML Format.)

Freesoftin RFC-kokoelmassa on pyritty paljon tyylikkäämpään muotoon, mutta toisaalta se kattaa vain pienehkön osan RFC:istä (tosin mukana monia tärkeitä).

Lisäksi Zvonissa on laaja kokoelma RFC:itä kehyksiä käyttävässä hypertekstimuodossa.

RFC 2629 sisältää luonnoksen siitä, miten Internet-Draftit ja RFC:t voitaisiin kirjoittaa XML-pohjaisella merkkauskielellä (markup language).