IRC | |
---|---|
Navn | Internet Relay Chat |
Niveau (ifølge OSI-modellen ) | Anvendt |
Familie | TCP/IP |
Oprettet i | 1988 |
Port/ID | 194/ TCP , 6667/TCP, 6697/TCP+ TLS |
Formål med protokollen | Adgang til chatservere |
Specifikation | RFC 1459 , RFC 2810 , RFC 2811 , RFC 2812 , RFC 2813 |
Vigtigste implementeringer (klienter) | irssi , KVIrc , mIRC , X-Chat , WeeChat , Miranda IM , x3irc , Pidgin |
Kerneimplementeringer ( servere ) | UnrealIRCd , ircnet-ircd, hybrid- ircd , ircd -seven |
Mediefiler på Wikimedia Commons |
IRC ( Internet Relay Chat ) er en applikationslagsprotokol til meddelelser i realtid .
Designet primært til gruppekommunikation, giver det dig også mulighed for at kommunikere via private beskeder og dele data, inklusive filer.
IRC bruger TCP -transportprotokollen og kryptografisk TLS (valgfrit).
IRC begyndte at vinde særlig popularitet efter Operation Desert Storm (1991), hvor beskeder fra hele verden blev samlet ét sted og udsendt online på IRC [1] .
På grund af den tekniske enkelhed i implementeringen begyndte IRC-protokollen på et tidspunkt at blive brugt ved organisering af botnets som et middel til at overføre kontrolkommandoer til computere, der deltager i et botnet fra ejeren.
IRC blev udviklet i 1988 som en erstatning for MultiUser Talk.
Hovedspecifikationen er RFC 1459 (1993).
Den er suppleret med flere specifikationer fra 2000:
Ifølge protokolspecifikationerne er et IRC-netværk en gruppe af servere, der er forbundet med hinanden. Det enkleste netværk er en enkelt server.
Netværket skal være i form af et forbundet træ, hvor hver server er en central node for resten af netværket.
En klient er alt, der er forbundet til en server, undtagen andre servere. Der er to typer kunder:
IRC giver mulighed for både gruppe- og privatkommunikation.
Der er flere muligheder for gruppekommunikation.
En bruger kan sende en besked til en liste over brugere, i hvilket tilfælde listen sendes til serveren, serveren udtrækker individuelle brugere fra den og sender en kopi af beskeden til hver af dem.
Mere effektiv er brugen af kanaler. I dette tilfælde sendes beskeden direkte til serveren, og serveren sender den til alle brugere i kanalen.
I både gruppe- og privatkommunikation sendes beskeder til klienter langs den korteste vej og er kun synlige for afsenderen, modtageren og serverne, der er inkluderet i den korteste vej.
Det er også muligt at sende en broadcast-besked. Klientmeddelelser vedrørende ændringer i netværkstilstand (såsom kanaltilstand eller brugerstatus) SKAL sendes til alle servere i netværket. Alle meddelelser, der stammer fra serveren, skal også sendes til alle andre servere.
I forhold til serveren kan IRC-brugere være server- IRC-operatører ( eng. IRCops ), kanal ( eng. chanops ) og almindelige brugere [2] .
De mest populære applikationer til forskellige operativsystemer:
web:
IRC Cloud , MibbitWindows:
mIRC , Miranda IM , Trillian , Pidgin , KVIrc , XChatUnix og Linux
Quassel , Kopete , Irssi , BitchX , XChat , Konversation , KVIrc , Pidgin , ircII , WeeChat , PolariMacOS X:
Tekstuel, Snak , Ircle , Adium , Colloquy , KVIrc , LimeChat , IRCCloudAmigaOS:
AmIRC , AIRcOS , WookieChat , BenderIRC , BitchX , BlackIRCandroid:
AndroIrc , IRC til Android , Andchat , DaraIRC , fIRC chat , IRC radio , Yaaic , AiCiA , Droid-Life IRC, IRCCloudMIDP:
jmircBrugen af russisk på IRC er ikke baseret på nogen standard.
Der er dog en række skikke og konventioner, der har udviklet sig i løbet af udviklingen af de forskellige russisktalende IRC-samfund.
De første russisktalende kanaler dukkede op tilbage i 1990'erne på internationale netværk som DALnet og IRCnet . Oprindeligt, under indflydelse af UNIX -kulturen, var det sædvanligt at kode bogstaverne i det russiske alfabet i KOI-8 .
Fra omkring 1995 begyndte en tilstrømning af Windows -brugere , som ofte slet ikke havde nogen idé om, hvad en kodetabel var, og som ikke kendte forskellen mellem kyrillisk og Windows-1251 .
Denne modsætning har forårsaget mange konflikter.
Den konvention, der opstod spontant i disse dage, placerede spørgsmålet om kodninger i udførelsen af specifikke kanaler.
Det var meget ubelejligt for brugerne, men på det tidspunkt var der ingen anden udvej.
Dels var det dette problem, der fra omkring 2000 stimulerede den intensiverede dannelse af separate russisksprogede netværk, hvor kodningsproblemer kunne løses centralt.
På internationale IRC-netværk sender og modtager klienter traditionelt beskeder bestående af bytes ; Spørgsmålet om fortolkning af ikke-ASCII-bytes er imidlertid overladt til klienternes skøn.
Alle de udviklede russisksprogede netværk, på trods af deres forskelle, overholder et andet princip: klienter sender og modtager beskeder bestående af tegn .
Det vil sige, at hvis en korrekt konfigureret klient sender bogstavet "Y" til kanalen, så vil alle korrekt konfigurerede klienter, der er forbundet til kanalen, også modtage bogstavet "Y", uanset hvordan hver af dem foretrækker at kode det.
I praksis implementeres dette normalt ved at have flere TCP-porte på serveren , som hver bruger en bestemt kodning. En liste over disse porte er normalt placeret i MOTD'en (serverhilsen).
Spørgsmålet om "korrekt konfiguration" af klienten forbliver således, men for brugeren er valg af forbindelsesport usammenlignelig lettere end at installere tegnkonverteringstabeller, hvis mulighed i øvrigt ikke er tilvejebragt i hver klient.
Nogle gange (men ikke nødvendigvis) giver serversoftware dig mulighed for at skifte kodning uden at afbryde forbindelsen til serveren - selvom denne kodningsændring af en række årsager ikke fungerer pænt.
Som regel bruger hvert netværk sin egen interne kodning (oftest er det Windows-1251 og næsten aldrig UTF-8; hvorfor - se nedenfor), mens data, der transmitteres eller modtages af klienter med andre kodninger end den interne, omkodes (umiddelbart ved modtagelse, udført på tidspunktet for dannelsen af den indgående besked - under transmission).
Historisk set var brugen af kyrilliske bogstaver i øgenavne ikke mulig.
Det største russisksprogede IRC-netværk RusNet giver dig dog mulighed for at bruge kyrilliske kaldenavne og registrere dem.
Internationaliseringsfortalere anser generelt UTF-8 for at være en lovende kodning for alle sprog, inklusive russisk. Det skal dog bemærkes, at et kyrillisk bogstav i UTF-8 optager to bytes , hvilket skaber en vis ekstra belastning på netværket og begrænser den maksimale længde af en besked.
Som standard må en IRC-meddelelse ikke være længere end 510 bytes, hvoraf ikke mere end 499 bytes faktisk er tekst (et urealistisk højt estimat).
Derfor er det umuligt at sende mere end 249 russiske breve i én besked.
Beskedstørrelsesgrænsen forårsager en anden gener: Hvis du forsøger at overskride den indstillede grænse, afkorter serveren meddelelserne.
Hvis snittet passerer i midten af det russiske bogstav (det vil sige, dets første byte sendes, men den anden kasseres), vil den resulterende bytesekvens ikke længere, set fra UTF-8s synspunkt, være en gyldig snor.
Nogle klienter (f.eks . Xchat eller mIRC ) vil vise en sådan besked som 8 bit (f.eks. i Latin-1 eller Windows-1251), hvilket gør den fuldstændig ulæselig og optager meget skærmplads.
Den utvivlsomme fordel ved at bruge UTF-8 til kodning af det russiske sprog er evnen til frit at citere tekster på andre sprog, samt bruge eksotiske tegn som "→" og "☺". Derudover kan du, som klient i IRC-netværket, hvor UTF-8 accepteres overalt, kommunikere på mange sprog på én gang uden at bekymre dig om den tekniske repræsentation af bogstaverne.
Indtil videre har ingen flersprogede netværk været kendt for eksplicit kun at kræve UTF-8, bruge UTF-8 som en intern kodning eller på anden måde håndhæve tegnkodning af klienter (med undtagelse af en IRC-server inden for et I2P -netværk ).
Internet Relay Chat | |||||||||
---|---|---|---|---|---|---|---|---|---|
Basale koncepter | |||||||||
Lister og sammenligninger |
| ||||||||
Relaterede protokoller | |||||||||
Bots | |||||||||
IRC-dæmoner |
| ||||||||
IRC-tjenester | |||||||||
Udsmidere og fuldmægtige |
| ||||||||
netværk | |||||||||
| |||||||||
|
TCP / IP-protokoller efter lag af OSI-modellen | Grundlæggende|
---|---|
Fysisk | |
kanaliseret | |
netværk | |
Transportere | |
session | |
Repræsentation | |
Anvendt | |
Andet anvendt | |
Liste over TCP- og UDP-porte |
URI- ordninger | |
---|---|
Officiel | |
uofficiel |
Computer-medieret kommunikation | |
---|---|
Asynkron konference | |
Synkron konference | |
Publikationer |