인터넷 릴레이 챗

위키백과, 우리 모두의 백과사전.
(IRC에서 넘어옴)
이동: 둘러보기, 검색

IRC(Internet Relay Chat, 인터넷 릴레이 챗)은 실시간 채팅 프로토콜로, 여러 사용자가 모여 대화를 나눌 수 있다. 또한 개인 간의 대화 기능도 지원하며, 'DCC'라는 파일 전송 기능도 제공한다.

IRC는 "WiZ"란 별명을 사용하던 Jarkko Oikarinen가 핀란드의 한 BBS에서 쓰이던 채팅 프로그램을 대체하기 위해, 1988년 8월에 제작했다. Oikarinen은 Bitnet에서 쓰이던 Bitnet Relay Chat 에서 힌트를 얻어 IRC를 만들었다고 한다.

IRC는 정보통제로 베일에 가려있던 철의 장막 뒤에서 차츰 붕괴되어가던 소련의 모습을 외부에 알려주는 매개체로 기능하면서 이름을 날렸고, 이후 걸프전 때에도 비슷한 방식으로 쿠웨이트에서의 실상을 외부에 알렸다.

전통적인 채팅 프로토콜로, 이를 지원하는 수많은 서버 네트워크와 클라이언트가 존재한다.

기술적인 정보[편집]

이 문단의 내용출처가 분명하지 않습니다. 지금 바로 이 문단을 편집하여, 참고하신 문헌이나 신뢰할 수 있는 출처를 주석 등으로 표기해 주세요. 검증되지 않은 내용은 삭제될 수도 있습니다. 내용에 대한 의견이 있으시다면 토론 문서에서 나누어 주세요.


IRC는 TCP 기반의 공개 네트워크 프로토콜으로, TCP뿐만이 아니라 TLS을 지원하기도 한다.

IRC 프로토콜은 RFC를 통해 공개되어 있다. IRC에 관한 최초의 RFCRFC 1459이며, 이후 2000년에 이를 개정해 RFC 2810, RFC 2811, RFC 2812, RFC 2813의 네 개로 정리하였다.

IRC 프로토콜은 초기에는 평문 프로토콜로 정의되었으며, 이후 확장되었다. IRC 접속 포트는 IANA에서 194/TCP를 할당해 두었지만, 많은 운영 체제에서 이 포트를 사용하려면 특별 권한이 필요하기 때문에, 대부분의 서버에서는 6667/TCP 포트를 사용한다.

IRC 프로토콜은 문자는 8 bit라고만 규정하고 있을 뿐, 이용하는 텍스트에 대한 문자 인코딩은 규정하고 있지 않다. IRC가 생겨났을 당시에는 한 인코딩만 지원하는 텍스트 터미널만 줄창 쓰였고, IRC 프로토콜 설계자들은 IRC 사용자간 대화가 호환 가능한 인코딩 하에서 이루어질 것이라고 단순히 생각했었다. IRC 프로토콜의 이러한 성격은, 사용자들이 서로 다른 클라이언트와 (혹은) 다른 플랫폼 상에서, 영어를 제외한 다른 언어를 써서 서로 대화하고자 할 때 문제가 되기도 한다.

현존하는 모든 클라이언트-서버 IRC 프로토콜들은 IRC2server의 irc2.8 버전에서 구현된 프로토콜에서 나왔다. 이 프로토콜은 RFC 1459 문서에 규정되어 있다. RFC 1459가 발표된 이래로, irc2.10 버전 구현의 새 기능들 때문에, RFC 2810, RFC 2811, RFC 2812 등등의 여러 개정판 프로토콜이 발표되었다. 그러나 이 개정판 프로토콜들은 많은 구현에서 채택되지는 않고 있다.

IRC 프로토콜에 대한 많은 규격 문서들이 발표되었지만, 공식 규격 문서는 존재하지는 않는다. 위에서 말한 RFC들을 참조 삼아 엄격하게 구현한 클라이언트는 현재 거의 하나도 없다고 해도 과언이 아니다.[출처 필요]

IRC 서버들의 표준적인 구조는 일종의 트리(비순환 그래프)를 이룬다. 메시지들은 트리 내에서 전달에 필요한 가지(branch)들만을 따라 전달된다. 반면에 네트워크 스테이트(network state)는 모든 서버에게 전송된다. 일반적으로 매우 높은 수준의 비명시적 신뢰 관계가 서버들 사이에 존재한다. 이 아키텍처는 몇 가지 문제점을 가지고 있다; 잘못 동작하는 서버나 악의적으로 놓인 서버가 IRC 네트워크에 치명적인 손실을 가져다 줄 수도 있다. 의도적인 것에 의한 결과이든 하부 네트워크의 상황에 따른 결과이든 구조의 어떠한 변경은, 넷-스플리트(net-split)이나 넷-조인(net-join)을 요구할 수도 있다. 이로 인해 수많은 네트워크 트래픽과 가짜의 나감/들어옴(quit/join) 메시지가 유발되어 잠시 통신 연결이 손실될 수도 있다. 또한 구조의 어떠한 변경은 대규모의 네트워크에 서버를 하나 추가한다는 셈이 되는데, 이것은 많은 네트워크에 백그라운드 밴드위스 부하를 가져다 주고, 서버에 많은 메모리 부하를 야기한다.

서버 단의 IRC 프로토콜에 대한 얘기와 다양한 종류의 IRCd 데몬들에 대해서는 IRC 데몬이라는 문서를 참조하라.

사소한 것들[편집]

마이크로소프트에서 IRC 프로토콜을 변형하여 1998년 IRCX라는 것을 내놓았다. 당시 IRC 네트워크가 직면했던 문제점들의 일부만을 해결하였다. 사람들은 당시 이것에 대해 "시기상조"라고 느꼈다고 한다.[출처 필요]

바깥 고리[편집]

IRC 클라이언트[편집]

한국어를 사용하는 IRC 서버[편집]

  • HanIRC (irc.hanirc.org:6661~9, :8080) UTF-8(apink.hanirc.org:8080)
  • 단군넷 (irc.dankun.net:6661~9, 방화벽 우회 포트 8080,8888)[깨진 링크]
  • 오징어 네트워크 (irc.ozinger.org:6660~9, 8080 단, 6667은 서버에 따라 안 될 수도 있음)
  • Luatic (irc.luatic.net cp949(6661~6669,7777,SSL+6443, 일부서버 8080) utf-8(7778,SSL+6444) )