De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
El primer servidor IRC, tolsun.oulu.fi, un servidor Sun-3 en exhibición cerca del centro de computación de la Universidad de Oulu . (2001)

Internet Relay Chat ( IRC ) es un protocolo de capa de aplicación que facilita la comunicación en forma de texto. El proceso de chat funciona en un modelo de red cliente / servidor. Los clientes de IRC son programas informáticos que los usuarios pueden instalar en su sistema o aplicaciones basadas en web que se ejecutan localmente en el navegador o en un servidor de terceros. Estos clientes se comunican con los servidores de chat para transferir mensajes a otros clientes. [1] IRC está diseñado principalmente para la comunicación grupal en foros de discusión, llamados canales , [2] pero también permite la comunicación uno a uno a través de mensajes privados [3] , así como el chat y la transferencia de datos .[4] incluido el intercambio de archivos . [5]

El software cliente está disponible para todos los sistemas operativos principales que admiten el acceso a Internet. [6] En abril de 2011, las 100 principales redes de IRC atendían a más de medio millón de usuarios a la vez, [7] con cientos de miles de canales [7] operando en un total de aproximadamente 1.500 servidores [7] de aproximadamente 3.200 servidores en todo el mundo. [8] El uso de IRC ha ido disminuyendo constantemente desde 2003, perdiendo el 60% de sus usuarios (de 1 millón a aproximadamente 400.000 en 2012) y la mitad de sus canales (de medio millón en 2003). [9] [ necesita actualización ]

Historia [ editar ]

IRC fue creado por Jarkko Oikarinen en agosto de 1988 para reemplazar un programa llamado MUT (MultiUser Talk) en un BBS llamado OuluBox en la Universidad de Oulu en Finlandia , donde trabajaba en el Departamento de Ciencia de Procesamiento de Información. Jarkko tenía la intención de extender el software BBS que administraba, para permitir noticias en el estilo de Usenet , discusiones en tiempo real y características BBS similares. La primera parte que implementó fue la parte del chat, que hizo con partes prestadas escritas por sus amigos Jyrki Kuoppala y Jukka Pihl. La primera red IRC se estaba ejecutando en un solo servidor llamado tolsun.oulu.fi. [10] Oikarinen encontró inspiración en un sistema de chat conocido como Bitnet Relay, que operaba en BITNET . [11]

Jyrki Kuoppala presionó a Oikarinen para que le pidiera a la Universidad de Oulu que liberara el código IRC para que también pudiera ejecutarse fuera de Oulu, y después de que finalmente lo liberaron, Jyrki Kuoppala inmediatamente instaló otro servidor. Esta fue la primera "red IRC". Oikarinen consiguió que algunos amigos de la Universidad de Helsinki y la Universidad de Tampere comenzaran a ejecutar servidores IRC cuando aumentó su número de usuarios y pronto le siguieron otras universidades. En ese momento, Oikarinen se dio cuenta de que el resto de las funciones de BBS probablemente no encajarían en su programa. [10]

Oikarinen se puso en contacto con personas de la Universidad de Denver y la Universidad Estatal de Oregon . Tenían su propia red IRC en funcionamiento y querían conectarse a la red finlandesa. Habían obtenido el programa de uno de los amigos de Oikarinen, Vijay Subramaniam, la primera persona no finlandesa en utilizar IRC. IRC luego se hizo más grande y se usó en toda la red nacional finlandesa, Funet, y luego se conectó a Nordunet , la rama escandinava de Internet. En noviembre de 1988, IRC se había extendido por Internet y, a mediados de 1989, había unos 40 servidores en todo el mundo. [10]

EFnet [ editar ]

En agosto de 1990, tuvo lugar el primer gran desacuerdo en el mundo de la IRC. La "A-net" (red de la anarquía) incluía un servidor llamado eris.berkeley.edu. Todo estaba abierto, no requería contraseñas y no tenía límite en el número de conexiones. Como explica Greg "wumpus" Lindahl: "tenía una línea de servidor comodín, por lo que la gente estaba conectando servidores y colisionando con todo el mundo". La "red libre de Eris", EFnet, convirtió a la máquina eris en la primera en ser revestida con Q (Q para cuarentena) de IRC. En palabras de wumpus nuevamente: "Eris se negó a eliminar esa línea, así que formé EFnet. No fue una gran pelea; conseguí que todos los hubs se unieran, y casi todos los demás se dejaron llevar". A-net se formó con los servidores eris, mientras que EFnet se formó con los servidores que no son eris. El historial mostró que la mayoría de los servidores y usuarios optaron por EFnet. Una vez que A-net se disolvió, el nombre EFnet dejó de tener sentido y, una vez más, fue la única red de IRC. [10]

Fue por esa época que se utilizó el IRC para informar sobre el intento de golpe de Estado soviético de 1991 a través de un apagón de los medios . [12] Anteriormente se usó de manera similar durante la Guerra del Golfo . [13] Los registros de chat de estos y otros eventos se guardan en el archivo ibiblio . [14]

Bifurcación de Undernet [ editar ]

Otro esfuerzo de bifurcación, el primero que realmente marcó una diferencia grande y duradera, fue iniciado por 'Wildthang' en los Estados Unidos en octubre de 1992 (bifurcó la versión 2.8.10 de EFnet ircd). Estaba destinado a ser solo una red de prueba para desarrollar bots, pero rápidamente se convirtió en una red "para amigos y sus amigos". En Europa y Canadá se estaba trabajando en una nueva red separada y en diciembre los servidores franceses se conectaron a los canadienses, y a finales de mes, la red francesa y canadiense se conectó a la estadounidense, formando la red que luego vino. que se llamará "The Undernet ". [10]

Los "infranetters" querían llevar la ircd más lejos en un intento de hacer que consumiera menos ancho de banda y tratar de resolver el caos de canales ( netsplits y adquisiciones ) que EFnet comenzó a sufrir. Para este último propósito, Undernet implementó marcas de tiempo, nuevas rutas y ofreció CService, un programa que permitía a los usuarios registrar canales y luego intentaba protegerlos de los alborotadores. La primera lista de servidores presentada, del 15 de febrero de 1993, incluye servidores de EE. UU., Canadá, Francia, Croacia y Japón. El 15 de agosto, el nuevo registro de recuento de usuarios se estableció en 57 usuarios. [10]

En mayo de 1993, se publicó RFC 1459 [1] y se detalla un protocolo simple para la operación cliente / servidor, canales, conversaciones uno a uno y uno a muchos. [10] Es notable que un número significativo de extensiones como CTCP, colores y formatos no están incluidos en las especificaciones del protocolo, ni tampoco la codificación de caracteres, [15] lo que llevó a divergir varias implementaciones de servidores y clientes. De hecho, la implementación del software varió significativamente de una red a otra, cada red implementaba sus propias políticas y estándares en sus propias bases de código.

Bifurcación DALnet [ editar ]

Durante el verano de 1994, la propia Undernet se bifurcó. La nueva red se llamó DALnet (el nombre de su fundador: dalvenjah), formada para un mejor servicio al usuario y más protecciones para el usuario y el canal. Uno de los cambios más significativos en DALnet fue el uso de apodos más largos (el límite original del ircd era de 9 letras). Alexei "Lefler" Kosut hizo las modificaciones de DALnet ircd. Por tanto, DALnet se basó en el servidor ircd de Undernet, aunque los pioneros de DALnet fueron los que abandonaron EFnet. Según James Ng, las personas iniciales de DALnet eran "operaciones en #StarTrek enfermas por las constantes divisiones / retrasos / adquisiciones / etc.". [10]

DALnet ofreció rápidamente WallOps globales (mensajes IRCop que pueden ser vistos por usuarios que son + w (/ mode NickName + w)), apodos más largos, Q: apodos alineados (apodos que no se pueden usar, es decir, ChanServ, IRCop, NickServ, etc.) , global K: Lines (prohibición de una persona o un dominio completo de un servidor o de toda la red), solo comunicaciones de IRCop: GlobOps, modo + H que muestra que un IRCop es un "helpop", etc. Muchas de las nuevas funciones de DALnet fueron escritas a principios de 1995 por Brian "Morpher" Smith y permiten a los usuarios tener apodos, controlar canales, enviar notas y más. [10]

Bifurcación de IRCnet [ editar ]

En julio de 1996, después de meses de guerras de llamas y discusiones sobre la lista de correo, hubo otra división debido al desacuerdo sobre cómo debería evolucionar el desarrollo de la ircd. Más notablemente, el lado "europeo" (la mayoría de esos servidores estaban en Europa) que luego se denominó IRCnet defendió retrasos en el nick y el canal, mientras que el lado de EFnet defendió las marcas de tiempo. [10] También hubo desacuerdos sobre políticas: la parte europea había comenzado a establecer un conjunto de reglas que dirigían lo que los IRCops podían y no podían hacer, un punto de vista opuesto por la parte estadounidense. [dieciséis]

La mayoría (no todos) de los servidores de IRCnet estaban en Europa, mientras que la mayoría de los servidores de EFnet estaban en los EE. UU. Este evento también se conoce como "La Gran Escisión" en muchas sociedades de IRC. EFnet ha crecido desde entonces (en agosto de 1998) y ha superado el número de usuarios que tenía entonces. En el otoño (norte) del año 2000, EFnet tenía unos 50.000 usuarios e IRCnet 70.000. [10]

IRC moderno [ editar ]

IRC ha cambiado mucho a lo largo de su vida en Internet. El nuevo software de servidor ha agregado una multitud de nuevas funciones.

  • Servicios : bots operados en red para facilitar el registro de apodos y canales, envío de mensajes para usuarios fuera de línea y funciones de operador de red.
  • Modos adicionales: mientras que el sistema IRC original usaba un conjunto de modos de canal y de usuario estándar, los nuevos servidores agregan muchos modos nuevos para funciones como eliminar códigos de color del texto, [17] u oscurecer la máscara de host de un usuario ("encubrimiento") para protegerse de Ataques de denegación de servicio . [18]
  • Detección de proxy: la mayoría de los servidores modernos admiten la detección de usuarios que intentan conectarse a través de un servidor proxy inseguro (mal configurado o explotado) , al que luego se le puede negar la conexión. Este software de detección de proxy es utilizado por varias redes, aunque esa lista de proxies en tiempo real no existe desde principios de 2006. [19]
  • Comandos adicionales: los comandos nuevos pueden ser, por ejemplo, comandos abreviados para emitir comandos a los Servicios, o comandos exclusivos del operador de red para manipular la máscara de host de un usuario. [ cita requerida ]
  • Cifrado : para el tramo de cliente a servidor de la conexión, se puede usar TLS (los mensajes dejan de ser seguros una vez que se transmiten a otros usuarios en conexiones estándar, pero dificulta la escucha o las escuchas telefónicas de las sesiones de IRC de un individuo). Para la comunicación de cliente a cliente, se puede utilizar SDCC (Secure DCC). [ cita requerida ]
  • Protocolo de conexión: IRC se puede conectar a través de IPv4 , la versión anterior del Protocolo de Internet , o por IPv6 , el estándar actual del protocolo.

A partir de 2016 , se está llevando a cabo un nuevo esfuerzo de estandarización bajo un grupo de trabajo llamado IRCv3, que se enfoca en funciones de cliente más avanzadas como notificaciones instantáneas, mejor soporte de historial y seguridad mejorada. [20] A partir de 2019 , ninguna de las principales redes de IRC ha adoptado completamente el estándar propuesto. [21]

Después de su era dorada durante la década de 1990 y principios de la de 2000 (240.000 usuarios en QuakeNet en 2004), IRC ha experimentado una disminución significativa, perdiendo alrededor del 60% de los usuarios entre 2003 y 2012, y los usuarios se mudaron a plataformas de redes sociales más nuevas como Facebook o Twitter . [9] sino también a plataformas abiertas como XMPP, que se desarrolló en 1999. Ciertas redes como Freenode no han seguido la tendencia general y han cuadriplicado su tamaño durante el mismo período. [9] A partir de 2016, Freenode es la red de IRC más grande con alrededor de 90.000 usuarios. [22]

Las redes de IRC más grandes se han agrupado tradicionalmente como las "Cuatro Grandes" [23] [24] [25] [26], una designación para las redes que encabezan las estadísticas. Las cuatro grandes redes cambian periódicamente, pero debido a la naturaleza comunitaria de IRC, hay una gran cantidad de otras redes entre las que los usuarios pueden elegir.

Históricamente, los "Cuatro Grandes" fueron: [23] [24] [25]

  • EFnet
  • IRCnet
  • Undernet
  • DALnet

IRC llegó a 6 millones de usuarios simultáneos en 2001 y 10 millones de usuarios en 2003, cayendo a 371.000 en 2018. [ cita requerida ]

A octubre de 2018 , las redes de IRC más grandes son:

  • freenode  : alrededor de 90.000 usuarios en las horas pico
  • IRCnet  : alrededor de 30.000 usuarios en las horas pico
  • EFnet  : alrededor de 18.000 usuarios en las horas pico
  • Undernet  : alrededor de 17.000 usuarios en las horas pico
  • QuakeNet  : alrededor de 15.000 usuarios en las horas pico
  • Rizon  : alrededor de 14.000 usuarios en las horas pico
  • OFTC  : alrededor de 13k usuarios en las horas pico
  • DALnet  : alrededor de 8.000 usuarios en las horas pico

Hoy en día, las 100 principales redes de IRC tienen alrededor de 370.000 usuarios conectados en las horas pico. [27]

Línea de tiempo [ editar ]

EFnet
Undernet
DALnet
freenode
IRCnet
QuakeNet
Comunidad de tecnología abierta y libre
Rizon
1990
1992
1994
1996
1998
2000
2002
2004
2006
2008
2010
2012
2014
2016
2018
2020
Redes de IRC

Información técnica [ editar ]

Una captura de pantalla de HexChat , un cliente de IRC para entornos GTK .
Xaric, un cliente de IRC basado en texto, en el uso de Mac OS X . Se muestran dos canales de IRC y una conversación privada con el autor del software.

IRC es un protocolo abierto que usa TCP [1] y, opcionalmente, TLS . Un servidor de IRC puede conectarse a otros servidores de IRC para expandir la red de IRC. [28] Los usuarios acceden a las redes IRC conectando un cliente a un servidor. [29] Hay muchas implementaciones de cliente, como mIRC , HexChat e irssi , e implementaciones de servidor, por ejemplo, el IRCd original . La mayoría de los servidores de IRC no requieren que los usuarios registren una cuenta, pero se requiere un nick antes de conectarse. [30]

IRC fue originalmente un protocolo simple de texto [1] (aunque más tarde ampliada), que a petición fue asignado puerto 194 / TCP por IANA . [31] Sin embargo, el estándar de facto siempre ha sido ejecutar IRC en 6667 / TCP [32] y números de puerto cercanos (por ejemplo, puertos TCP 6660-6669, 7000) [33] para evitar tener que ejecutar el software IRCd con root. privilegios .

El protocolo especificaba que los caracteres eran de 8 bits, pero no especificaba la codificación de caracteres que se suponía que debía usar el texto. [15] Esto puede causar problemas cuando los usuarios que utilizan diferentes clientes y / o diferentes plataformas desean conversar.

Todos los protocolos de IRC de cliente a servidor que se utilizan hoy en día descienden del protocolo implementado en la versión irc2.4.0 del servidor IRC2 y están documentados en RFC 1459. Desde que se publicó RFC 1459, las nuevas características de la implementación de irc2.10 llevaron a la publicación de varios documentos de protocolo revisados ​​(RFC 2810, RFC 2811, RFC 2812 y RFC 2813); sin embargo, estos cambios de protocolo no se han adoptado ampliamente entre otras implementaciones. [ cita requerida ]

Aunque se han publicado muchas especificaciones sobre el protocolo IRC, no existe una especificación oficial, ya que el protocolo sigue siendo dinámico. Prácticamente ningún cliente y muy pocos servidores se basan estrictamente en las RFC anteriores como referencia. [ cita requerida ]

Microsoft hizo una extensión para IRC en 1998 a través del IRCX propietario . [34] Más tarde dejaron de distribuir software compatible con IRCX, y en su lugar desarrollaron el MSNP propietario .

La estructura estándar de una red de servidores IRC es un árbol . [35] Los mensajes se enrutan solo a lo largo de las ramas necesarias del árbol, pero el estado de la red se envía a todos los servidores [36] y, en general, existe un alto grado de confianza implícita entre los servidores. Sin embargo, esta arquitectura tiene varios problemas. Un servidor malintencionado o que se porta mal puede causar un daño importante a la red [37] y cualquier cambio en la estructura, ya sea intencional o como resultado de las condiciones de la red subyacente, requiere una división y una unión a la red. Esto da como resultado una gran cantidad de tráfico de red y mensajes falsos para salir / unirse a los usuarios [38]y pérdida temporal de comunicación con los usuarios en los servidores de división. Agregar un servidor a una red grande significa una gran carga de ancho de banda de fondo en la red y una gran carga de memoria en el servidor. Sin embargo, una vez establecido, cada mensaje a varios destinatarios se envía de forma similar a la multidifusión , lo que significa que cada mensaje viaja por un enlace de red exactamente una vez. [39] Esta es una fortaleza en comparación con los protocolos que no son de multidifusión, como el Protocolo simple de transferencia de correo (SMTP) [ cita requerida ] o el Protocolo extensible de mensajería y presencia (XMPP) [ cita requerida ] .

Un demonio de IRC también se puede utilizar en una red de área local (LAN). Por tanto, el IRC se puede utilizar para facilitar la comunicación entre personas dentro de la red de área local (comunicación interna). [40] [41]

Comandos y respuestas [ editar ]

IRC tiene una estructura basada en líneas. Los clientes envían mensajes de una sola línea al servidor, [42] reciben respuestas a esos mensajes [43] y reciben copias de algunos mensajes enviados por otros clientes. En la mayoría de los clientes, los usuarios pueden ingresar comandos prefijándolos con una '/'. Dependiendo del comando, estos pueden ser manejados completamente por el cliente o (generalmente para comandos que el cliente no reconoce) pasados ​​directamente al servidor, posiblemente con alguna modificación. [ cita requerida ]

Debido a la naturaleza del protocolo, los sistemas automatizados no siempre pueden emparejar correctamente un comando enviado con su respuesta con total fiabilidad y están sujetos a conjeturas. [44]

Canales [ editar ]

El medio básico de comunicarse con un grupo de usuarios en una sesión de IRC establecida es a través de un canal . [45] Los canales en una red se pueden mostrar usando el comando IRC LIST , [46] que enumera todos los canales actualmente disponibles que no tienen los modos + so + p configurados, en esa red en particular.

Los usuarios pueden unirse a un canal usando el comando JOIN , [47] en la mayoría de los clientes disponible como / join #channelname . Los mensajes enviados a los canales unidos se transmiten a todos los demás usuarios. [45]

Los canales que están disponibles en toda una red IRC tienen el prefijo '#', mientras que los locales de un servidor usan '&'. [48] Otros tipos de canales menos comunes incluyen canales '+', canales 'sin modo' sin operadores [49] y '!' canales, una forma de sellos de tiempo de canal en redes normalmente no sellos de tiempo. [50]

Modos [ editar ]

Los usuarios y los canales pueden tener modos representados por letras que distinguen entre mayúsculas y minúsculas [51] y se configuran mediante el comando MODE . [52] Los modos de usuario y los modos de canal son independientes y pueden usar la misma letra para significar cosas diferentes (por ejemplo, el modo de usuario "i" es un modo invisible mientras que el modo de canal "i" es solo por invitación. [53] ) Los modos generalmente se configuran y desarman usando el comando de modo que toma un objetivo (usuario o canal), un conjunto de modos para armar (+) o desarmar (-) y cualquier parámetro que los modos necesiten.

Algunos modos de canal toman parámetros y otros modos de canal se aplican a un usuario en un canal o agregan o eliminan una máscara (por ejemplo, una máscara de prohibición) de una lista asociada con el canal en lugar de aplicarla al canal como un todo. [54] Los modos que se aplican a los usuarios en un canal tienen un símbolo asociado que se utiliza para representar el modo en las respuestas de nombres [55] (enviado a los clientes al unirse por primera vez a un canal [47] y al usar el comando de nombres) y en muchos los clientes también solían representarlo en la lista de usuarios mostrada por el cliente en un canal o para mostrar un indicador propio para los modos de un usuario.

Para analizar correctamente los mensajes de modo entrantes y rastrear el estado del canal, el cliente debe saber qué modo es de qué tipo y para los modos que se aplican a un usuario en un canal, qué símbolo va con qué letra. En las primeras implementaciones de IRC, esto tenía que estar codificado en el cliente, pero ahora hay una extensión estándar de facto del protocolo llamada ISUPPORT que envía esta información al cliente en el momento de la conexión utilizando el número 005. [56] [57]

Hay una pequeña falla de diseño en el IRC con respecto a los modos que se aplican a los usuarios en los canales: el mensaje de nombres que se usa para establecer el estado inicial del canal solo puede enviar uno de esos modos por usuario en el canal, [55] pero varios de estos modos se pueden configurar en un usuario unico. Por ejemplo, si un usuario tiene tanto el estado de operador (+ o) como el estado de voz (+ v) en un canal, un nuevo cliente no podrá ver el modo con menos prioridad (es decir, voz). Las soluciones para esto son posibles tanto en el lado del cliente como en el del servidor, pero ninguna está ampliamente implementada.

Modos estándar (RFC 1459) [ editar ]

Muchos demonios y redes han agregado modos adicionales o han modificado el comportamiento de los modos en la lista anterior. [59] [60] [61] [62]

Operadores de canal [ editar ]

Un operador de canal es un cliente en un canal de IRC que administra el canal. Los operadores de canales de IRC pueden verse fácilmente por el símbolo o icono junto a su nombre (varía según la implementación del cliente, comúnmente un prefijo de símbolo "@", un círculo verde o una letra latina "+ o" / "o"). En la mayoría de las redes, un operador puede:

  • Patear a un usuario
  • Prohibir a un usuario
  • Dar a otro usuario el estado del operador del canal IRC o el estado de voz del canal IRC.
  • Cambie el tema del canal IRC mientras el modo de canal + t está configurado.
  • Cambie los bloqueos del modo de canal de IRC.

Operadores de IRC [ editar ]

También hay usuarios que mantienen derechos elevados en su servidor local o en toda la red; estos se denominan operadores de IRC, [63] a veces abreviados como IRCops u Opers (que no deben confundirse con los operadores de canal). A medida que varía la implementación del IRCd, también lo hacen los privilegios del operador de IRC en el IRCd dado. RFC 1459 [63]afirma que los operadores de IRC son "un mal necesario" para mantener un estado limpio de la red y, como tal, necesitan poder desconectar y volver a conectar los servidores. Además, para evitar que usuarios malintencionados o incluso programas automatizados dañinos entren en el IRC, los operadores de IRC generalmente pueden desconectar clientes y prohibir completamente las direcciones IP o subredes completas. Las redes que transportan servicios (NickServ et al.) Generalmente permiten que sus operadores de IRC también manejen asuntos básicos de "propiedad". Otros derechos privilegiados pueden incluir la anulación de las prohibiciones de canales (poder unirse a canales a los que no se les permitiría unirse, si no estuvieran abiertos), poder optar por sí mismos en canales donde no podrían sin ser operados, ser auto-optado en los canales siempre y así sucesivamente.

Máscaras de host [ editar ]

Una máscara de host es un identificador único de un cliente de IRC conectado a un servidor de IRC . [64] [65] Los servidores , servicios y otros clientes de IRC , incluidos los bots , pueden usarlo para identificar una sesión de IRC específica.

El formato de una máscara de host es nick!user@host. La máscara de host tiene un aspecto similar, pero no debe confundirse con una dirección de correo electrónico .

La parte del apodo es el apodo elegido por el usuario y se puede cambiar mientras está conectado. La parte del usuario es el nombre de usuario informado por ident en el cliente. [66] Si ident no está disponible en el cliente, el nombre de usuario especificado cuando el cliente se conectó se usa después de tener un prefijo con una tilde . [67]

La parte del host es el nombre de host desde el que se conecta el cliente. Si el servidor no puede resolver la dirección IP del cliente en un nombre de host válido , se utiliza en lugar del nombre de host.

Debido a las implicaciones de privacidad de exponer la dirección IP o el nombre de host de un cliente, algunos demonios de IRC también proporcionan características de privacidad, como InspIRCd o el modo "+ x" de UnrealIRCd. Esto codifica la dirección IP de un cliente o enmascara parte del nombre de host de un cliente, haciéndolo ilegible para otros usuarios que no sean IRCops . Los usuarios también pueden tener la opción de solicitar un "host virtual" (o "vhost"), que se mostrará en la máscara de host para permitir un mayor anonimato. Algunas redes de IRC, como Freenode, las utilizan como "capas" para indicar que un usuario está afiliado a un grupo o proyecto. [68]

Esquema de URI [ editar ]

Hay tres reconocidos identificador uniforme de recursos (URI) esquemas para Internet Relay Chat: irc, ircs, y irc6. [69] Cuando son compatibles, permiten hipervínculos de varias formas, incluidos

irc: // <host> [: <puerto>] / [<canal> [? <palabra clave_canal>]]ircs: // <host> [: <puerto>] / [<canal> [? <palabra clave_canal>]]irc6: // <host> [: <puerto>] / [<canal> [? <palabra clave_canal>]]

(donde los elementos encerrados entre corchetes ([,]) son opcionales) para ser usados ​​(si es necesario) para conectarse al host especificado (o red, si lo conoce el cliente IRC) y unirse al canal especificado. [70] (Esto se puede utilizar dentro del propio cliente o desde otra aplicación, como un navegador web). irc es el URI predeterminado, irc6 especifica una conexión que se realizará mediante IPv6 e ircs especifica una conexión segura.

Según la especificación, el símbolo de almohadilla habitual (#) se antepondrá a los nombres de los canales que comienzan con un carácter alfanumérico , lo que permite omitirlo. Algunas implementaciones (por ejemplo, mIRC) lo harán incondicionalmente dando como resultado un extra (generalmente no intencionado) (por ejemplo, ## canal), si se incluye en la URL.

Algunas implementaciones permiten especificar varios canales, separados por comas. [71]

Desafíos [ editar ]

Los problemas en el diseño original de IRC fueron la cantidad de datos de estado compartidos [72] [73] que son una limitación en su escalabilidad, [74] la ausencia de identificaciones de usuario únicas que conducen al problema de colisión de apodos, [75] falta de protección contra netsplits por medio de enrutamiento cíclico, [76] [77] la compensación en la escalabilidad en aras de la información de presencia del usuario en tiempo real, [78] debilidades del protocolo que proporcionan una plataforma para el abuso, [79] sin paso de mensajes transparente y optimizable , [80] y sin cifrado. [81] Algunas de estas cuestiones se han abordado en Modern IRC .

Ataques [ editar ]

Debido a que las conexiones de IRC pueden no estar cifradas y generalmente abarcan períodos de tiempo prolongados, son un objetivo atractivo para los atacantes y piratas informáticos DoS / DDoS . Debido a esto, es necesaria una política de seguridad cuidadosa para garantizar que una red de IRC no sea susceptible a un ataque como una guerra de adquisición . Las redes de IRC también pueden ser usuarios o servidores de K-line o G-line que tienen un efecto perjudicial.

Some IRC servers support SSL/TLS connections for security purposes. This helps stop the use of packet sniffer programs to obtain the passwords of IRC users, but has little use beyond this scope due to the public nature of IRC channels. SSL connections require both client and server support (that may require the user to install SSL binaries and IRC client specific patches or modules on their computers). Some networks also use SSL for server-to-server connections, and provide a special channel flag (such as +S) to only allow SSL-connected users on the channel, while disallowing operator identification in clear text, to better utilize the advantages that SSL provides.[82][83]

IRC served as an early laboratory for many kinds of Internet attacks, such as using fake ICMP unreachable messages to break TCP-based IRC connections (nuking) to annoy users or facilitate takeovers.

Abuse prevention[edit]

One of the most contentious technical issues surrounding IRC implementations, which survives to this day, is the merit of "Nick/Channel Delay" vs. "Timestamp" protocols. Both methods exist to solve the problem of denial-of-service attacks, but take very different approaches. The problem with the original IRC protocol as implemented was that when two servers split and rejoined, the two sides of the network would simply merge their channels. If a user could join on a "split" server, where a channel that existed on the other side of the network was empty, and gain operator status, they would become a channel operator of the "combined" channel after the netsplitterminó si un usuario tomaba un apodo que existía en el otro lado de la red, el servidor mataría a ambos usuarios cuando se reincorporaran (es decir, 'nick-collision'). A menudo se abusaba de esto para "matar en masa" a todos los usuarios de un canal, creando así canales "sin acceso" en los que no había operadores presentes para hacer frente al abuso. Además de causar problemas dentro de IRC, esto alentó a las personas a realizar ataques de denegación de servicio contra servidores de IRC para causar netsplits , que luego abusarían.

Las estrategias de retardo de nick (ND) y retardo de canal (CD) tienen como objetivo prevenir el abuso retrasando las reconexiones y los cambios de nombre. Después de que un usuario cierra la sesión y el apodo está disponible, o un canal deja de existir porque todos sus usuarios se separaron (como sucede a menudo durante un netsplit ), el servidor no permitirá que ningún usuario use ese apodo o se una a ese canal, hasta cierto ha pasado un período de tiempo (el retraso ). La idea detrás de esto es que incluso si un netsplit occurs, it is useless to an abuser because they cannot take the nickname or gain operator status on a channel, and thus no collision of a nickname or 'merging' of a channel can occur. To some extent, this inconveniences legitimate users, who might be forced to briefly use a different name after rejoining (appending an underscore is popular).

El protocolo de marca de tiempo es una alternativa a los retrasos de nick / canal que resuelve colisiones utilizando la prioridad de marca de tiempo. A cada apodo y canal de la red se le asigna una marca de tiempo: la fecha y la hora en que se creó. Cuando ocurre un netsplit, dos usuarios de cada lado son libres de usar el mismo apodo o canal, pero cuando los dos lados están unidos, solo uno puede sobrevivir. En el caso de los apodos, el usuario más nuevo, según su TS, muere; cuando un canal choca, los miembros (usuarios del canal) se fusionan, pero los operadores del canal en el lado "perdedor" de la división pierden su condición de operador de canal.

TS es un protocolo mucho más complicado que ND / CD, tanto en diseño como en implementación, y a pesar de haber pasado por varias revisiones, algunas implementaciones todavía tienen problemas con "desincronizaciones" (donde dos servidores en la misma red no están de acuerdo con el estado actual de la red), y permitir demasiada indulgencia en lo que permitía el lado 'perdedor'. Bajo los protocolos TS originales, por ejemplo, no había protección contra los usuarios que establecían prohibiciones u otros modos en el canal perdedor que luego se fusionarían cuando la división se reincorporara, a pesar de que los usuarios que habían configurado esos modos perdieron su estado de operador de canal. Algunos servidores IRC modernos basados ​​en TS también han incorporado alguna forma de ND y / o CD además de la marca de tiempo en un intento de frenar aún más el abuso.

Most networks today use the timestamping approach. The timestamp versus ND/CD disagreements caused several servers to split away from EFnet and form the newer IRCnet. After the split, EFnet moved to a TS protocol, while IRCnet used ND/CD.

In recent versions of the IRCnet ircd, as well as ircds using the TS6 protocol (including Charybdis), ND has been extended/replaced by a mechanism called SAVE. This mechanism assigns every client a UID upon connecting to an IRC server. This ID starts with a number, which is forbidden in nicks (although some ircds, namely IRCnet and InspIRCd, allow clients to switch to their own UID as the nickname).

Si dos clientes con el mismo apodo se unen desde diferentes lados de un netsplit ("colisión de nick"), el primer servidor que vea esta colisión forzará a ambos clientes a cambiar su nick a su UID, evitando así que ambos clientes se desconecten. En IRCnet, el apodo también se bloqueará durante algún tiempo (ND) para evitar que ambos clientes vuelvan a cambiar al apodo original y, por lo tanto, vuelvan a colisionar.

Clientes [ editar ]

Software de cliente [ editar ]

Esquema de una red IRC con clientes normales (verde), bots (azul) y gorilas (naranja)

El software cliente existe para varios sistemas operativos o paquetes de software, así como para juegos internos o basados ​​en la web. Hay muchos clientes diferentes disponibles para los distintos sistemas operativos, incluidos Windows , Unix y Linux , Mac OS X y sistemas operativos móviles (como iOS y Android ). En Windows, mIRC es uno de los clientes más populares. [84]

Some programs which are extensible through plug-ins also serve as platforms for IRC clients. For instance, a client called ERC, written entirely in Emacs Lisp, is included in v.22.3 of Emacs. Therefore, any platform that can run Emacs can run ERC.

A number of web browsers have built-in IRC clients, such as Opera (version 12.18 and earlier)[85] and the ChatZilla add-on for Mozilla Firefox (for Firefox 56 and earlier; included as a built-in component of SeaMonkey). Web-based clients, such as Mibbit and open source KiwiIRC, can run in most browsers.

Games such as War§ow,[86] Unreal Tournament (up to Unreal Tournament 2004),[87] Uplink,[88] Spring Engine-based games, 0 A.D. and ZDaemon have included IRC.[89]

Ustream's chat interface is IRC with custom authentication[90] as well as Twitch's (formerly Justin.tv).[91][92]

Bots[edit]

A typical use of bots in IRC is to provide IRC services or specific functionality within a channel such as to host a chat-based game or provide notifications of external events. However, some IRC bots are used to launch malicious attacks such as denial of service, spamming, or exploitation.[93]

Bouncer[edit]

A program that runs as a daemon on a server and functions as a persistent proxy is known as a BNC or bouncer. The purpose is to maintain a connection to an IRC server, acting as a relay between the server and client, or simply to act as a proxy.[citation needed] Should the client lose network connectivity, the BNC may stay connected and archive all traffic for later delivery, allowing the user to resume their IRC session without disrupting their connection to the server.[94]

Furthermore, as a way of obtaining a bouncer-like effect, an IRC client (typically text-based, for example Irssi) may be run on an always-on server to which the user connects via ssh. This also allows devices that only have ssh functionality, but no actual IRC client installed themselves, to connect to the IRC, and it allows sharing of IRC sessions.[95]

To keep the IRC client from quitting when the ssh connection closes, the client can be run inside a terminal multiplexer such as GNU Screen or tmux, thus staying connected to the IRC network(s) constantly and able to log conversation in channels that the user is interested in, or to maintain a channel's presence on the network. Modelled after this setup, in 2004 an IRC client following the client–server, called Smuxi, was launched.[96][97]

Search engines[edit]

There are numerous search engines available to aid the user in finding what they are looking for on IRC.[98][99] Generally the search engine consists of two parts, a "back-end" (or "spider/crawler") and a front-end "search engine".

The back-end (spider/webcrawler) is the work horse of the search engine. It is responsible for crawling IRC servers to index the information being sent across them. The information that is indexed usually consists solely of channel text (text that is publicly displayed in public channels). The storage method is usually some sort of relational database, like MySQL or Oracle.[citation needed]

The front-end "search engine" is the user interface to the database. It supplies users with a way to search the database of indexed information to retrieve the data they are looking for. These front-end search engines can also be coded in numerous programming languages.

Most search engines have their own spider that is a single application responsible for crawling IRC and indexing data itself; however, others are "user based" indexers. The latter rely on users to install their "add-on" to their IRC client; the add-on is what sends the database the channel information of whatever channels the user happens to be on.[citation needed]

Many users have implemented their own ad hoc search engines using the logging features built into many IRC clients. These search engines are usually implemented as bots and dedicated to a particular channel or group of associated channels.

Character encoding[edit]

IRC still lacks a single globally accepted standard convention for how to transmit characters outside the 7-bit ASCII repertoire. IRC servers normally[clarification needed] transfer messages from a client to another client just as byte sequences, without any interpretation or recoding of characters. The IRC protocol (unlike e.g. MIME or HTTP) lacks mechanisms for announcing and negotiating character encoding options. This has put the responsibility for choosing the appropriate character codec on the client. In practice, IRC channels have largely used the same character encodings that were also used by operating systems (in particular Unix derivatives) in the respective language communities:

  • 7-bit era: In the early days of IRC, especially among Scandinavian and Finnish language users, national variants of ISO 646 were the dominant character encodings. These encode non-ASCII characters like Ä Ö Å ä ö å at code positions 0x5B 0x5C 0x5D 0x7B 0x7C 0x7D (US-ASCII: [ \ ] { | }). That is why these codes are always allowed in nicknames. According to RFC 1459, { | } in nicknames should be treated as lowercase equivalents of [ \ ] respectively.[15] By the late 1990s, the use of 7-bit encodings had disappeared in favour of ISO 8859-1, and such equivalence mappings were dropped from some IRC daemons.
  • 8-bit era: Since the early 1990s, 8-bit encodings such as ISO 8859-1 have become commonly used for European languages. Russian users had a choice of KOI8-R, ISO 8859-5[citation needed] and CP1251, and since about 2000, modern Russian IRC networks convert between these different commonly used encodings of the Cyrillic script.
  • Multi-byte era: For a long time, East Asian IRC channels with logographic scripts in China, Japan, and Korea have been using multi-byte encodings such as EUC or ISO-2022-JP. With the common migration from ISO 8859 to UTF-8 on Linux and Unix platforms since about 2002, UTF-8 has become an increasingly popular substitute for many of the previously used 8-bit encodings in European channels. Some IRC clients are now capable of reading messages both in ISO 8859-1 or UTF-8 in the same channel, heuristically autodetecting which encoding is used. The shift to UTF-8 began in particular on Finnish-speaking IRC (Merkistö (Finnish)).

Today, the UTF-8 encoding of Unicode/ISO 10646 would be the most likely contender for a single future standard character encoding for all IRC communication, if such standard ever relaxed the 510-byte message size restriction. UTF-8 is ASCII compatible and covers the superset of all other commonly used coded character set standards.

File sharing[edit]

Much like conventional P2P file sharing, users can create file servers that allow them to share files with each other by using customised IRC bots or scripts for their IRC client. Often users will group together to distribute warez via a network of IRC bots.[100]

Technically, IRC provides no file transfer mechanisms itself; file sharing is implemented by IRC clients, typically using the Direct Client-to-Client (DCC) protocol, in which file transfers are negotiated through the exchange of private messages between clients. The vast majority of IRC clients feature support for DCC file transfers, hence the view that file sharing is an integral feature of IRC.[101] The commonplace usage of this protocol, however, sometimes also causes DCC spam. DCC commands have also been used to exploit vulnerable clients into performing an action such as disconnecting from the server or exiting the client.

See also[edit]

  • Chat room
  • Client-to-client protocol
  • Comparison of instant messaging protocols
  • Comparison of IRC clients
  • Comparison of mobile IRC clients
  • The Hamnet Players
  • Internet slang
  • List of IRC commands
  • Serving channel

References[edit]

  1. ^ a b c d "Introduction". Internet Relay Chat Protocol. p. 4. sec. 1. doi:10.17487/RFC1459. RFC 1459.
  2. ^ "One-to-many". Internet Relay Chat Protocol. p. 11. sec. 3.2. doi:10.17487/RFC1459. RFC 1459.
  3. ^ "One-To-One Communication". Internet Relay Chat: Architecture. p. 5. sec. 5.1. doi:10.17487/RFC2810. RFC 2810.
  4. ^ Rollo, Troy. "A description of the DCC protocol". irchelp.org. Retrieved 8 April 2011.
  5. ^ Wang, Wallace (25 October 2004). "Instant Messaging and Online Chat Rooms: Internet Relay Chat (IRC)". Steal this File Sharing Book (1st ed.). San Francisco, California: No Starch Press. pp. 61–67. ISBN 978-1-59327-050-6.
  6. ^ "SAGE IRC Channel". Sage – The USENIX Special Interest Group for Sysadmins. Archived from the original on 7 February 2012. Retrieved 18 April 2011.
  7. ^ a b c "IRC Networks – Top 100". irc.netsplit.de. Retrieved 8 April 2011.
  8. ^ "IRC Servers – Summary". irc.netsplit.de. Archived from the original on 22 April 2011. Retrieved 8 April 2011.
  9. ^ a b c "IRC is dead, long live IRC". Pingdom. 24 April 2012. Retrieved 25 April 2016.
  10. ^ a b c d e f g h i j k Stenberg, Daniel (29 March 2011). "History of IRC (Internet Relay Chat)". Retrieved 25 April 2016. I did not experience all of this. I found information on various places and I received information from various people in order to write this. People that have helped me with this include: Greg "wumpus" Lindahl, Vesa "vesa" Ruokonen, James Ng, Tuomas Heino, Richard (eagle`s on undernet), Ari Lemmke
  11. ^ Oikarinen, Jarkko. "Founding IRC". Retrieved 8 April 2011.
  12. ^ "IRC transcripts from the time of the 1991 Soviet coup d'état attempt". Chapel Hill, North Carolina: ibiblio. Archived from the original on 28 June 2009. Retrieved 8 April 2011.
  13. ^ "IRC logs of events of the Gulf War". Chapel Hill, North Carolina: ibiblio. Retrieved 8 April 2011.
  14. ^ "Logs of major events in the online community". Chapel Hill, North Carolina: ibiblio. Retrieved 8 April 2011.
  15. ^ a b c "Character codes". Internet Relay Chat Protocol. p. 7. sec. 2.2. doi:10.17487/RFC1459. RFC 1459.
  16. ^ Engen, Vegard (May 2000). "The Great Split". IRC.org. Retrieved 25 April 2016.
  17. ^ "Channel Modes". UnrealIRCd documentation wiki. Retrieved 6 January 2018.
  18. ^ "Cloaking". UnrealIRCd documentation wiki. Retrieved 6 January 2018.
  19. ^ "Blitzed Open Proxy Monitor Shuts Down". The Open Proxy Monitor which has been provided by the Blitzed IRC network has been shut down…The database was so large that it is near to impossible for the team to backup, or find a new location to continue the service. Added to that, most of the team members do not possess the time anymore to keep the service running.
  20. ^ "IRCv3". IRCv3 Working Group. 2016. Retrieved 25 April 2016. The IRCv3 Working Group is a collection of IRC client and server software authors working to enhance, maintain and standardize the IRC protocol using backwards-compatible extensions.
  21. ^ "Networks - IRCv3". 2019. Retrieved 9 August 2019.
  22. ^ "netsplit.de top 10". Retrieved 25 April 2016.
  23. ^ a b Charalabidis, Alex (15 December 1999). "IRCing On The Macintosh: Ircle". The Book of IRC: The Ultimate Guide to Internet Relay Chat (1st ed.). San Francisco, California: No Starch Press. p. 61. ISBN 978-1-886411-29-6. On large networks such as the Big Four— EFnet, IRCnet, Undernet, and DALnet— trying to list the thousands of channels with Ircle always causes you to disconnect due to the flood of information, while other clients can usually manage the feat, if you are on a direct Ethernet connection.
  24. ^ a b Jones, Steve, ed. (10 December 2002). "Internet Relay Chat". Encyclopedia of New Media: An Essential Reference to Communication and Technology (1st ed.). Thousand Oaks, California: SAGE Publications. p. 257. ISBN 978-0-7619-2382-4. Today there are hundreds of independent IRC networks, but the "Big Four" are EFNet, UnderNet, Dalnet, and IRCnet.
  25. ^ a b Rittner, Don (3 March 1999). The iMac Book (1st ed.). Scottsdale, Arizona: Coriolis Group. p. 215. ISBN 978-1-57610-429-3. There are several large networks: EFnet, UnderNET, DALnet, and IRCnet make up the Big Four.
  26. ^ Turban, Efraim; Leidner, Dorothy; McLean, Ephraim; Wetherbe, James (7 February 2005). "Communication". Information Technology for Management: Transforming Organizations in the Digital Economy (5th ed.). Hoboken, New Jersey: John Wiley & Sons. pp. 106–107. ISBN 978-0-471-70522-2. The largest networks have traditionally been grouped as the "Big Four": EFNet, IrcNet, QuakeNet, and UnderNet.
  27. ^ "IRC Networks – Top 100". irc.netsplit.de. netsplit.de. Retrieved 29 October 2018.
  28. ^ "Servers". Internet Relay Chat Protocol. p. 4. sec. 1.1. doi:10.17487/RFC1459. RFC 1459.
  29. ^ "Clients". Internet Relay Chat: Architecture. p. 3. sec. 2.2. doi:10.17487/RFC2810. RFC 2810.
  30. ^ "Clients". Internet Relay Chat Protocol. p. 5. sec. 1.2. doi:10.17487/RFC1459. RFC 1459.
  31. ^ "Port Numbers". Marina del Rey, California: Internet Assigned Numbers Authority. 6 April 2011. Retrieved 5 April 2021.
  32. ^ "Connect message". Internet Relay Chat Protocol. p. 29. sec. 4.3.5. doi:10.17487/RFC1459. RFC 1459.
  33. ^ Lucas, Mark; Singh, Abhishek; Cantrell, Chris (5 October 2006). "Defining a Firewall". In Henmi, Anne (ed.). Firewall Policies and VPN Configurations. Rockland, Massachusetts: Syngress Publishing. p. 93. ISBN 978-1-59749-088-7.
  34. ^ Abraham, Dalen (June 1998). Extensions to the Internet Relay Chat Protocol (IRCX). IETF. I-D draft-pfenning-irc-extensions-04. Retrieved 8 April 2011.
  35. ^ "Architecture". Internet Relay Chat: Architecture. pp. 3 – 4. sec. 3. doi:10.17487/RFC2810. RFC 2810.
  36. ^ "Introduction". Internet Relay Chat: Architecture. p. 2. sec. 1. doi:10.17487/RFC2810. RFC 2810.
  37. ^ "Algorithms". Internet Relay Chat Protocol. p. 64. sec. 9.3. doi:10.17487/RFC1459. RFC 1459.
  38. ^ "Network Congestion". Internet Relay Chat: Architecture. pp. 7 – 8. sec. 6.3. doi:10.17487/RFC2810. RFC 2810.
  39. ^ "To A Channel". Internet Relay Chat: Architecture. pp. 5 – 6. sec. 5.2.1. doi:10.17487/RFC2810. RFC 2810.
  40. ^ "IRC daemons for LAN". Retrieved 2 October 2014.
  41. ^ "Running an own IRC server". Retrieved 2 October 2014.
  42. ^ "Message format in 'pseudo' BNF". Internet Relay Chat Protocol. p. 8. sec. 2.3.1. doi:10.17487/RFC1459. RFC 1459.
  43. ^ "Numeric replies". Internet Relay Chat Protocol. p. 10. sec. 2.4. doi:10.17487/RFC1459. RFC 1459.
  44. ^ "IRC List Modes – List mode extension showing pair confusion for lists". 25 November 2009. Retrieved 8 April 2011.
  45. ^ a b "To a group (channel)". Internet Relay Chat Protocol. p. 11. sec. 3.2.2. doi:10.17487/RFC1459. RFC 1459.
  46. ^ "List message". Internet Relay Chat Protocol. p. 24. sec. 4.2.6. doi:10.17487/RFC1459. RFC 1459.
  47. ^ a b "Join message". Internet Relay Chat Protocol. p. 19. sec. 4.2.1. doi:10.17487/RFC1459. RFC 1459.
  48. ^ "Channel Scope". Internet Relay Chat: Channel Management. pp. 3 – 4. sec. 2.2. doi:10.17487/RFC2811. RFC 2811.
  49. ^ "Channel Properties". Internet Relay Chat: Channel Management. p. 4. sec. 2.3. doi:10.17487/RFC2811. RFC 2811.
  50. ^ "Channel lifetime". Internet Relay Chat: Channel Management. p. 5. sec. 3. doi:10.17487/RFC2811. RFC 2811.
  51. ^ "Channel Modes". Internet Relay Chat: Channel Management. p. 7. sec. 4. doi:10.17487/RFC2811. RFC 2811.
  52. ^ "Mode message". Internet Relay Chat Protocol. p. 21. sec. 4.2.3. doi:10.17487/RFC1459. RFC 1459.
  53. ^ "Channel modes". Internet Relay Chat Protocol. pp. 21 – 22. sec. 4.2.3.1. doi:10.17487/RFC1459. RFC 1459.
  54. ^ "Channel Access Control". Internet Relay Chat: Channel Management. pp. 10 – 11. sec. 4.3. doi:10.17487/RFC2811. RFC 2811.
  55. ^ a b "Command responses: 353 RPL_NAMREPLY". Internet Relay Chat Protocol. p. 51. doi:10.17487/RFC1459. RFC 1459.
  56. ^ Roeckx, Kurt (14 October 2004). "The 005 numeric: ISUPPORT". irc.org. Retrieved 10 April 2011.
  57. ^ Brocklesby, Edward (September 2002). IRC RPL_ISUPPORT Numeric Definition. IETF. I-D draft-brocklesby-irc-isupport-03. Retrieved 10 April 2011.
  58. ^ "Operwall message". Internet Relay Chat Protocol. p. 41. sec. 5.6. doi:10.17487/RFC1459. RFC 1459.
  59. ^ Butcher, Simon (12 January 2005). "IRC User Modes List". alien.net.au. Retrieved 10 April 2011.
  60. ^ Butcher, Simon (12 January 2005). "IRC Channel Modes List". alien.net.au. Retrieved 10 April 2011.
  61. ^ Butcher, Simon (12 January 2005). "IRC Server Modes List". alien.net.au. Retrieved 10 April 2011.
  62. ^ Olsen, Tommy. "IRCd Modes". webtoman.com. Archived from the original on 15 October 2011. Retrieved 10 April 2011.
  63. ^ a b "Operators". Internet Relay Chat Protocol. p. 5. sec. 1.2.1. doi:10.17487/RFC1459. RFC 1459.
  64. ^ Thiedeke, Udo (23 September 2003). "Nicola Döring, Alexander Schestag". Virtuelle Gruppen: Charakteristika und Problemdimensionen (in German) (2nd ed.). Springer VS [de]. pp. 314, 337. ISBN 978-3-531-33372-4. Retrieved 30 March 2010.
  65. ^ Rogers, Russ (1 December 2004). "The Mind of Terror". In Devost, Matthew G. (ed.). Hacking a Terror Network: The Silent Threat of Covert Channels (1st ed.). Rockland, Massachusetts: Syngress Publishing. p. 10. ISBN 978-1-928994-98-5. Retrieved 30 March 2010.
  66. ^ Petersen, Julie K., ed. (29 May 2002). "Internet Relay Chat". The Telecommunications Illustrated Dictionary (2nd ed.). CRC Press. p. 500. ISBN 978-0-8493-1173-4. Retrieved 30 March 2010.
  67. ^ "Frequently-Asked Questions". freenode. Archived from the original on 26 March 2010. Retrieved 30 March 2010.
  68. ^ "IRC/Cloaks". Meta-wiki. Retrieved 27 November 2011.
  69. ^ "Uniform Resource Identifier (URI) Schemes". Internet Assigned Numbers Authority. Retrieved 14 October 2012.
  70. ^ Butcher, Simon (January 2003). Uniform Resource Locator Schemes for Internet Relay Chat Entities. IETF. I-D draft-butcher-irc-url-04. Retrieved 10 April 2011.
  71. ^ https://www.npmjs.com/package/node-irc
  72. ^ "Size". A Discussion on Computer Network Conferencing. pp. 5 – 6. sec. 2.5.1. doi:10.17487/RFC1324. RFC 1324.
  73. ^ "Scalability". Internet Relay Chat: Architecture. p. 7. sec. 6.1. doi:10.17487/RFC2810. RFC 2810.
  74. ^ Loesch 2003 1.2.1 Growth
  75. ^ "User identification". A Discussion on Computer Network Conferencing. p. 10. sec. 5.4.1. doi:10.17487/RFC1324. RFC 1324.
  76. ^ "Trees and cycles". A Discussion on Computer Network Conferencing. p. 10. sec. 5.4.2. doi:10.17487/RFC1324. RFC 1324.
  77. ^ Loesch 2003 1.2.2 Network failures
  78. ^ "State Information problems". A Discussion on Computer Network Conferencing. p. 4. sec. 2.1. doi:10.17487/RFC1324. RFC 1324.
  79. ^ Loesch 2003 1.2.3 Sociological and security aspects
  80. ^ "Message passing". A Discussion on Computer Network Conferencing. p. 7. sec. 5.2.1. doi:10.17487/RFC1324. RFC 1324.
  81. ^ "Conference security". A Discussion on Computer Network Conferencing. p. 8. sec. 5.2.4. doi:10.17487/RFC1324. RFC 1324.
  82. ^ "Getting Help on EsperNet". The EsperNet IRC Network. Retrieved 31 July 2012.
  83. ^ brandon (18 May 2010). "New Feature: SSL For Users". DALnet. Retrieved 31 July 2012.
  84. ^ Smith, Roderick W. (8 April 2000). "The Internet: Using IRC to Get Help". The Multi-Boot Configuration Handbook. Handbook Series. Upper Saddle River, New Jersey: Que Publishing. p. 289. ISBN 978-0-7897-2283-6. Retrieved 25 July 2010. mIRC is one of the most popular Windows IRC clients.
  85. ^ "Opera Browser Wiki: IRC Client". Archived from the original on 17 March 2011. Retrieved 10 April 2011.
  86. ^ "Warsow Wiki: IRC Module". Archived from the original on 25 April 2011. Retrieved 10 April 2011.
  87. ^ Guenter, Daniel (21 June 2004). "UT2004 Review". BCCHardware. Retrieved 10 April 2011.
  88. ^ "The Ultimate Uplink Guide". Retrieved 10 April 2011.
  89. ^ "ZDaemon – The Doom Wiki: Other utilities". Retrieved 10 April 2011.
  90. ^ "How to setup [sic] an IRC client to connect and login [sic] to Ustream". Ustream-Helpers. 29 January 2012. Retrieved 27 April 2013.
  91. ^ Mauldor (20 June 2010). "Ustream vs. Justin.tv". LiquidSilver. Retrieved 13 July 2011.
  92. ^ "Twitch IRC". Twitch Help Center. 7 April 2017. Retrieved 30 October 2017.
  93. ^ Canavan, John. "The Evolution of Malicious IRC Bots" (PDF). www.symantec.com. Symantec Security Response.
  94. ^ "psyBNC Readme". psybnc.at. Retrieved 10 April 2011.
  95. ^ Carey, Chris (18 July 2009). "IRC with irssi-proxy + screen". chriscarey.com. Retrieved 10 April 2011.
  96. ^ "Detachable Frontend (Core Rewrite) / UML / Windows Port (kicking Glade)". smuxi.org. 25 December 2004. Retrieved 25 July 2010.
  97. ^ "About Smuxi". smuxi.org. Retrieved 10 April 2011.
  98. ^ Mutton, Paul (27 July 2004). "Users and Channels". IRC Hacks (1st ed.). Sebastopol, California: O'Reilly Media. pp. 44–46. ISBN 978-0-596-00687-7.
  99. ^ Wang, Wallace (25 October 2004). "Instant Messaging and Online Chat Rooms: Internet Relay Chat (IRC)". Steal this File Sharing Book (1st ed.). San Francisco, California: No Starch Press. pp. 65–67. ISBN 978-1-59327-050-6.
  100. ^ Vamosi, Robert (8 May 2002). "Pirated movies: Now playing on a server near you". ZDNet. Retrieved 10 April 2011.
  101. ^ Sasaki, Darla (4 April 2002). "IRC 101: What Is It & How Do I Use It?". Macobserver.com. Retrieved 10 April 2011.

Bibliography[edit]

  • Reed, Darren (May 1992). A Discussion on Computer Network Conferencing. IETF. doi:10.17487/RFC1324. RFC 1324. Retrieved 30 October 2009.
  • Oikarinen, Jarkko; Reed, Darren (May 1993). Internet Relay Chat Protocol. IETF. doi:10.17487/RFC1459. RFC 1459. Retrieved 30 October 2009.
  • Kalt, Christophe (April 2000). Internet Relay Chat: Architecture. IETF. doi:10.17487/RFC2810. RFC 2810. Retrieved 30 October 2009.
  • Kalt, Christophe (April 2000). Internet Relay Chat: Channel Management. IETF. doi:10.17487/RFC2811. RFC 2811. Retrieved 30 October 2009.
  • Loesch, Carl (17 July 2003). "Functionality Provided by Systems for Synchronous Conferencing". psyc.eu. Retrieved 10 April 2011. Cite journal requires |journal= (help)

Further reading[edit]

  • Kalt, Christophe (April 2000). Internet Relay Chat: Client Protocol. IETF. doi:10.17487/RFC2812. RFC 2812. Retrieved 30 October 2009.
  • Kalt, Christophe (April 2000). Internet Relay Chat: Server Protocol. IETF. doi:10.17487/RFC2813. RFC 2813. Retrieved 30 October 2009.
  • "Logs of major events in the online community". Chapel Hill, North Carolina: ibiblio. Retrieved 8 April 2011.
  • Butcher, Simon. "IRC technical information". alien.net.au. Retrieved 10 April 2011.

External links[edit]

  • IRC at Curlie
  • IRC Numerics List
  • History of IRC
  • IRC.org – Technical and Historical IRC6 information; Articles on the history of IRC
  • IRChelp.org – Internet Relay Chat (IRC) help archive; Large archive of IRC-related documents
  • IRCv3 – Working group of developers, who add new features to the protocol and write specs for them
  • IRC-Source – Internet Relay Chat (IRC) network and channel search engine with historical data
  • irc.netsplit.de – Internet Relay Chat (IRC) network listing with historical data