IRC-server

Från Wikipedia
Hoppa till: navigering, sök

En IRC-server är det som möjliggör kommunikation mellan två eller flera personer på IRC, all text som skrivs går via servern innan den hamnar hos mottagarna. Ofta kopplas flera IRC-servrar ihop med varandra och bildar då ett IRC-nätverk.

Programvaran för att köra en IRC-server kallas IRCd. Bokstaven d står för daemon (demon).

Servern lyssnar på anslutningar från IRC-klienter[1] på en uppsättning TCP-portar.[2] När servern är en del av ett IRC-nätverk håller den också en eller flera etablerade anslutningar till andra servrar.[3]

Funktioner[redigera | redigera wikitext]

Portar[redigera | redigera wikitext]

De officiellt tilldelade portnumren är 194 ("irc"), 529 ("irc-serv") och 994 ("ircs").[4] Dock är dessa portar i det privilegierade området (0-1024), vilket i ett Unix-liknande system innebär att demonen historiskt sett måste ha superuser privilegier för att kunna öppna dem. Av olika säkerhetsskäl var detta inte önskvärt.

De vanliga portarna för en IRCd-process är 6665 till 6669, varav 6667 är den historiska standarden. Dessa portar kan öppnas av en icke-superuser process och de används allmänt.

Anslutningar[redigera | redigera wikitext]

Att köra en stor IRC-server, en som har mer än några tusen användare samtidigt, kräver att ett stort antal TCP-anslutningar är öppna under långa perioder. Mycket få ircds är multithreaded eftersom nästan varje åtgärd behöver åtkomst (läs minst och eventuellt ändra) till det globalt tillstånd.

Resultatet är att de bästa plattformarna för ircds är de som erbjuder effektiva mekanismer för hantering av ett stort antal anslutningar i en enda tråd. Linux erbjuder denna förmåga i form av epoll, i kärnserie som är nyare än 2.4.x. FreeBSD (sedan 4.1) och OpenBSD (sedan 2.9) erbjuder kqueue. Windows har stöd för IOCP sedan Windows NT 3.5. Skillnaden med dessa nya gränssnitt kan vara dramatisk. IRCU-kodare har nämnt ökningar av den praktiska kapaciteten per server från 10 000 användare till 20 000 användare.

SSL[redigera | redigera wikitext]

Vissa IRCd stödjer SSL, för de som inte gör det är det fortfarande möjligt att använda SSL via Stunnel. Den inofficiella men oftast använda porten för SSL IRCd-anslutningar är 6697. På senare tid har olika utvecklare av klient- och serverprogram, för att förbättra säkerhet och användbarhet, börjat utarbeta en standard som kallas STARTTLS som möjliggör för SSL och vanliga textanslutningar att existera på samma TCP-port.

IPv4 och IPv6[redigera | redigera wikitext]

IRC-deamoner stöder IPv4, och vissa stödjer även IPv6. I allmänhet är skillnaden mellan IPv6 och IPv4-anslutningar till IRC rent akademisk och tjänsten fungerar på ungefär samma sätt med båda protokollet.

P10[redigera | redigera wikitext]

P10-protokollet är en förlängning till Internet Relay Chat-protokollet för server till serverkommunikation som utvecklats av Undernet Coder-kommittén för användning i deras ircu-serverprogramvara. Det är likartat med IRCX- och EFnet TS5 / TS6-protokoll och implementerar nick- och kanal-tidsstämpling för hantering av nickkollisioner.

Se även[redigera | redigera wikitext]

Källor[redigera | redigera wikitext]

  1. ^ ”RFC 2810 – Internet Relay Chat: Architecture”. Tools.ietf.org. http://tools.ietf.org/html/rfc2810#section-2.1. Läst 3 mars 2010. 
  2. ^ ”RFC 1459 – Internet Relay Chat Protocol”. IETF. http://tools.ietf.org/html/rfc1459#section-1. Läst 3 mars 2010. 
  3. ^ ”RFC 1459 – Internet Relay Chat Protocol”. IETF. http://tools.ietf.org/html/rfc1459#section-1.1. Läst 3 mars 2010. 
  4. ^ IANA.org