Internet Relay Chat
Z Wikipédie
Tento článok nie je úplný. Pomôžte Wikipédii vylepšiť ho. Jeho obsah má byť prekladom en:Internet Relay Chat
Aplikačná vrstva | HTTP, HTTPS, FTP, SSH, SMTP, NNTP, IRC, SNMP, SIP, RTP, ... |
Transportná vrstva | TCP, UDP, SCTP, DCCP, ... |
Sieťová vrstva | IPv4, IPv6, ARP, ... |
Linková vrstva | Ethernet, Wi-Fi, Token ring, FDDI, ... |
Fyzická vrstva | RS-232, EIA-422, RS-449, EIA-485, ... |
IRC (skratka Internet relay chat) je forma okamžitej komunikácie cez internet. Je určený hlavne na komunikáciu skupín (viacerí-viacerým) v diskusných fórach zvaných channels (kanály), ale tiež umožnuje komunikáciu jedného s jedným.
IRC vytvoril Jarkkom Oikarinenom (nickname "WiZ") neskoro v auguste 1988 ako náhrada za program zvaný MUT (MultiUser Talk - MultiUžívateľský Hovor) na Fínskom BBS zvanom OuluBox. Oikarinen sa inšpiroval Bitnet Relay Chatom na Bitnet networku.
IRC získal význam, keď bol použitý na podanie správy o pokuse o prevrat v Sovietskom zväze v roku 1991 v priebehu utíchnutia masmédii. Neskôr bol použitý v podobnej situácii v Kuvajte počas Irackej invázie.
Obsah |
[úprava] Technické informácie
IRC je otvorený protokol aplikačnej vrstvy, môže využívať SSL. IRC server sa môže pripojiť na iné IRC servery a tak môže rozšíriť IRC sieť. Užívatelia pristupujú na IRC pripojením klienta na server. Existuje mnoho implementácií pre klienta i servera. Väčšina IRC serverov nevyžaduje prihlásenie uživateľov, ale užívateľ si musí nastaviť prezývku (nickname) pred tým, ako sa pripojí na server.
IRC je protokol, ktorý používa čisto textový protokol, čo znamená, že je možné (hoci nepohodlné) používať IRC cez obyčajný klient pracujúci s prúdom bajtov, ako napríklad netcat alebo telnet. Protokol používal len jemne modifikovanú verziu ASCII a pôvodne neposkytoval žiadnu podporu pre texty zo znakmi mimo ASCII. Nakoniec sa začali používať dosť rozdielne a nekompatibilné kódovania znakov (ako napríklad ISO 8859-1 a UTF-8).
Pretože väčšina implementácií IRC používa acyklický graf ako ich model na pripojenie, neexistuje tu redundancia (pri spojení medzi servermi) a pri poruche servera môže nastať netsplit.
[úprava] Vývoj
Všetky klient-server IRC protokoly, ktoré sa používajú dnes sú odvodené z protokolu implementovaného v irc2.8 verzie IRC2serveru a dokumentované v RFC 1459[1]. Odkedy bola publikovaná RFC 1459, boli implementované nové funkcie v irc2.10, ktoré viedli k publikovaniu opravených protokolových dokumentov; RFC 2810[2], RFC 2811[3], RFC 2812[4] a RFC 2813[5], avšak zmeny týchto protokolov neboli všeobecne prijaté medzi ostatné implementácie. IRC 2.10 je najviac používané na sieti IRCnet. IRC protokol bol rozšírený Microsoftom v roku 1998 jeho IRCX protokolom, ktorý rieši mnoho tradičných problémov, ktorým čelila celá generácia IRC sietí, spolu s niektorými funkciami, o ktorých si väčšina užívateľov myslela, že „predbieha svoju dobu“. Hoci bolo publikovaných mnoho noriem IRC protokolov, neexistuje žiadna oficiálna norma, takže protokol ostáva dynamický. V skutočnosti žiaden klient a veľmi málo serverov sa striktne odvoláva na vyše uvedené RFC.
Kým sú si protokoly klient-server aspoň funkčne podobné, protokoly server-server sa značne odlišujú (TS5, P10 a ND/CD sú osobitne značne používané a nekompatibilné serverové protokoly) a spôsobujú, že je veľmi komplikované prepojiť dve osobitné implementácie IRC servera. Existujú servery používané ako „mosty“, ktoré pomáhajú spojiť, napríklad, servery 2.10 so servermi TS5), ale tieto často sprevádzajú obmedzenia, ktoré časti každého protokolu majú byť použité a nie sú príliš používané v praxi.
V prvých formách IRC nemalo toľko vlastností, aké má dnes, napr. mená kanálov a operátori na kanáloch. Kanály boli očíslované -- napríklad kanál 4 a kanál 57 -- a téma kanála popisovala druh konverzácie, ktorá sa práve konala na kanále. Odtiaľ pochádza pamiatka, že pri pripojení sa na kanál 0, je klient prinútený, aby opustil všetky kanály na ktorých práve je: „KANÁL 0“ je pôvodný príkaz pre opustenie aktuálneho kanála.
Prvá hlavná zmena v IRC verzie 2.5 bola pridanie pomenovaných kanalov -- „+kanály“. „+kanály“ boli neskôr vo verzii 2.7 vymenené za „#kanály“, numerické (číselné) kanály boli úplne odstránené a bol implementovaný ban (zákaz prístupu na kanál) na kanál. irc2.8 pridalo „&kanály“ (tieto existovali len na aktuálnom (lokálnom) serveri a nie na celkovej sieti IRC) a „!kanály“ (tieto boli teoreticky bezpečné proti útoku, kde mohol užívateľ exploitnúť (exploit - zneužitá „diera“ v systéme) kanál pri netsplite), a je to základné vydanie, od ktorého sú odvodené skoro všetky implementácie.
Významné verzie založené na 2.8 obsahujú:
- 2.8.21+CS, vyvinutý Comstudom
- 2.8+th, Tanerov patchset, ktorý sa neskôr stal
- 2.8/hybrid, originálne vyvinutý Jonom Luskym (Rodder) a Dianou Bruceovou (Dianora), ktorí sa neskôr spojili do veľkeho vývojového tímu.
- 2.9, 2.10, 2.11, ... pokračovanie vývoja originálneho kódu jadra, hlavne pre použitie pre siete IRC. Táto vývojová línia vyprodukovala 4 IRC RFC vydané po RFC 1459, ktoré výhradne dokumentujú tento serverový protokol.
2.8.21+CS a 2.8/hybrid sa naďalej používa na EFnete s ircd-ratboxom (odnož z 2.8/hybrid), ktorý bol v roku 2004 najobľúbenejší.
Undernetový IRC server, ircu, je jeden z mála serverov, ktorý nebol odvodený z irc2.8, ktorý je založený na originálnom ircd; bol odvodený z kódu irc2.7.
Mnoho moderných IRC serverov bolo napísaných odznova, ako csircd (tiež z Comstud), ConferenceRoom, Microsoft Exchange Chat Service a IRCPlus/IRCXPro.
[úprava] Kanály a módy
Základný komunikačný prostriedok v nadviazanie IRC relácii je kanál. Všetky kanály na serveri je možné zobrazuť príkazom /list.
Na kanály sa môžu užívatelia pripojiť a potom posielať správy, ktoré sú potom prenášane k ostatným užívateľom na tom istom kanáli. Kanály, ktoré sú dostupné po celej sieti IRC majú prefix „#“, zatiaľ, čo tí čo sú na lokálnom serveri môžu použiť „&“. Medzi ostatné (neštandardné) typy kanálov patria „+“ kanály-"bez módov", kanály bez operátorov a kanály „!“, forma timestamped (s časovou pečiatkou) kanálu na obyčajne non-timestamped (bez časovej pečiatky) sietiach.
Užívatelia i kanály môžu mať módy, ktoré predstavujú ich atribúty. Módy sú reprezentované jednopísmenovou skratkou, takže sa dajú jednoducho za sebou zreťaziť. Napríklad užívateľský mód „i“ znamená neviditeľný. (Nemôžete povedať, či daný neviditeľný užívateľ je na kanáli, pokiaľ nie ste na tom istom kanáli alebo nepoužijete príkaz whois) Jednoduchý mód kanálu je napríklad „m“ (moderovaný), ktorý špecifikuje, že len užívateľom s módom „v“ (voiced - s hlasom) a operátorom na kanále je povolené na kanále rozprávať. Toto spolu s „k“ (zaheslovaný - vyžaduje heslo pre „pripojenie sa“ na kanál) a „i“ (len na pozvanie - vyžaduje pozvanie na kanál od niektorého z operátorov) módy pomáhajú udržať poriadok na kanále. Je päť typov kanálových módov, pričom štyri z nich prijímajú argument, „typ A“ prijíma argument na pridanie/odobratie hodnôt zo zoznamu (ako „b“), „typ B“ prijíma argument, ktorý je použitý zapnutie alebo vypnutie polohy (ako „k“), „typ C“ prijíma argument, len keď je mód „zapnutý“ (ako „l“ (nastavenie maxima užívateľov na kanále, napr. /mode #kanal +l 10)), „typ D“, ktorý neprijíma argumenty a má jednoducho len booleanovský atribút (ako „m“, „n“ a „t“) a „typ E“ (obyčajne volané „triedne“, alebo „prefixové“ módy), ktoré berú/dávajú privilégium užívateľovi na kanále (ako „o“).
[úprava] Klienti
mIRC je vo všeobecnosti považovaný za najpopulárnejšieho IRC klienta pre Windows. S príchodom klientov ako napríklad Bersirc, KVIrc, Trillian, Miranda IM a X-Chat začína mať väčšiu konkurenciu. Veľa ľudí však stále používa mIRC hlavne kvôli existencii mnohých skriptov pre tohto klienta.
ircII je jedným z prvých Unixových irc klientov, ale jeho užívateľská základňa sa zmenšila s príchodom klientov ako ircII-EPIC, BitchX, irssi, X-Chat, atď. V prostredí KDE existuje klient s názvom Konversation.
Najrozšírenejší klienti pre Mac OS X sú Ircle a Colloguy.
Na OS X je možné spustiť väčšinu Unixových klientov. Nedávno vyšla špeciálna verzia X-Chatu pre OS X systémy Aqua.
ChatZilla je Mozilla IRC klient.
Opera má taktiež zabudovaného IRC klienta.
Začínajúcim používateľom sa môže mIRC a iní klienti zdať zbytočne veľkí a komplexní. Noví užívatelia môžu preferovať instant messenger klientov ako Miranda IM alebo Trillian, ktorí poskytujú známejšie rozhranie pre IRC.
Framework vytvorený na začlenenie IRC do rôznych aplikácií ako hry sa nazýva LibIRC, hoci je stále vo vývoji.
[úprava] Boti
Existuje veľké množstvo automatizovaných klientov, nazývaných boti. Prvého bota napísal Greg Lindahl a fungoval ako multiplayerová verzia hry Wumpus, ale moderné boty sa využívajú najmä na prideľovanie operátorských privilégií (kontrolovanie kanála a rýchle reagovanie v prípade porušovania jeho pravidiel), na otravovanie užívateľov (zaplavovaním užívateľov rôznymi správami), na odpovedanie opakovaných otázok užívateľov, na poskytovanie pomoci, keď nie sú prítomní operátori kanála alebo slúžia ako stále kontaktné body pre výmenu informácií (odkazovač, prenos súborov, atď.). V súčasnosti najpopulárnejšie boty sú Eggdrop a EnergyMech.
Moderné IRC služby sú implementované využitím botov. Boty sú dôležitou súčasťou správy kanálu. Využívajú sa na banovanie užívateľov, udržiavanie operátorov, udržiavanie témy kanálu atď.
[úprava] Bouncery
Program ktorý beží na serveri ako daemon a funguje ako perzistentný proxy server sa nazýva bouncer. Jeho úloha je zabezpečiť spojenie na IRC server, tváriac sa ako spojovací článok medzi serverom a pripájajúcim sa klientom. Ak klient stratí sieťovú konektivitu, bouncer archivuje všetky správy pre neskoršie doručenie. Dva najpopulárnejšie bouncery sú muh a psyBNC. Muh je určený len pre jedného užívateľa, zatiaľ, čo psyBNC podporuje viac užívateľov.