Функции irc шлюза


Содержание

Что такое шлюз в компьютерной сети или как перейти в другой протокол передачи данных

Приветствую вас, мои дорогие читатели.

С целью повышения уровня ваших знаний я расскажу вам о том что такое шлюз в компьютерной сети. Если кто-то из вас представил себе, например Суэцкий или Волго-Донский канал, то это уже хорошо, хотя данные объекты из совершенно другой сферы. Но суть их функции во многом схожа.

Для речного и морского транспортного сообщения шлюз – это не просто канал. Это устройство, которое позволяет проплыть там, где из-за разницы уровня воды это в принципе невозможно. Вот так и в компьютерных сетях шлюз получил свое название, за способность соединять в принципе не совместимые сети разного назначения и с разными протоколами.

Расширяет понимание термина «шлюз» его перевод с английского – «gateway». Слово сложносоставное «gate» — ворота, «way» — путь, способ.

Представьте, есть у вас свой дом, со своим укладом, но выйдя на улицу, вы уже придерживаетесь принятого там образа поведения. А войдя через ворота в гости к друзьям, вы уже перенастраиваетесь на существующий у них распорядок. Аналогичные превращения происходят и с информацией, которая покидает локальную сеть одной компании, попадает в Интернет, а оттуда перемещается в локальную сеть другого офиса.

При этом во всех трех линиях может существовать свой протокол передачи данных и именно шлюзы, стоящие на точках пересечения сетей преобразуют передаваемые пакеты в соответствии с нужным форматом. В данном контексте шлюз является одним из ключевых компонентов транспортного уровня сети.

Какие бывают шлюзы?

Вы наверняка пытаетесь представить себе шлюз в виде какого-нибудь конкретного объекта. Если хотите я вам дам примеры, это может быть:

Видите, не так все просто. А это потому, что шлюз существует в двух ипостасях.

С одной стороны это конкретный аппаратный модуль, который имеет сетевой вход и такой же выход. Наверняка многие представили себе модем. И вы абсолютно правы, ибо можете направлять через него информацию по кабелю или через Wi-Fi и в итоге она попадет в Интернет и будет зеркально считана аналогичным устройством. Но это может быть и простой коммуникатор, соединяющий элементы локальной сети.

С другой стороны это сам компьютер (обычно с ОС Windows), имеющий встроенные программы для настройки офисной или глобальной сети. Так же это может быть сервер, ретранслирующий запросы из локальной сети в Интернет. Все это, в данной ситуации, реализуется на уровне программного обеспечения.

Итак, друзья, запомните: шлюз компьютерной сети – это и программное и аппаратное решение. Все вместе.

По отдельности оно не имеет смысла. И вы, как пользователи, должны это прекрасно понимать. Вы же хотите иметь возможность передавать информацию, которая сначала проследует по вашему ноутбуку, потом будет передана по Wi-Fi, после чего по сети провайдера попадет во внешнюю оптоволоконную линию, затем с нее войдет на сервер условной телефонной компании и будет передана в виде сеанса связи конечному абоненту.

Для этого в устройстве, выполняющего роль шлюза имеется не только соответствующее ПО, но и системные платы, радиочастотные ретрансляторы и всевозможные адаптеры. Кроме того стоит уяснить, что шлюз должен уметь выполнять зеркальные функции, преобразуя исходный, например, почтовый файл, в сигнал, перегоняя его по всем видам сетей и на финальной стадии превращая его в исходный документ.

Надежный контроль на точке взаимодействия сетей

Аппаратно-программный комплекс позволяет представить цифровые сигналы в виде пакетных данных и далее полностью их адаптировать для передачи по конкретным пакетным сетям. В каждой из них это делается по-своему, но в итоге всех преобразований мы получаем на выходе информацию, полностью соответствующую источнику.

При этом сетевой шлюз помимо работы перекодировщика выполняет важные дополнительные контролирующие функции:

  • проверяет логин и пароль для регулирования доступа и навигации в рамках локальной сети или за ее пределами;
  • сортирует потоки данных по маске шлюза, определяя, является ли данная информация внутренней или переназначена для считывания внешними серверами. Когда конечный адрес не известен, используется так называемый «шлюз по умолчанию». Такой режим является штатным для рабочих станций, а так же позволяет упростить и оптимизировать работу маршрутизаторов;
  • наиболее востребованная задача шлюза – контроль запросов, поступающих из локальной сети в Интернет. Здесь администратор, используя инструменты шлюза, может настроить параметры регулирующие трафик по объему и направлениям:
  • являясь своеобразными воротами, шлюз так же выполняет функции файрвола и в обратном направлении, защищая локальные сети и компьютеры пользователей от внешнего несанкционированного информационного воздействия (спам, хакерские атаки, вирусное ПО).

Вот такая интересная и нужная штука, это шлюз компьютерных сетей.

Если вас эта тема серьезно заинтересовала, вы найдете в интернете множество специализированной информации.

Я же постарался изложить общие понятия, позволяющие разобраться с понятием шлюза.

На этом считаю свою миссию выполненной, поэтому прощаюсь с вами до новых встреч и желаю всего наилучшего.

Шлюзы — это что? Типы шлюзов, принцип действия

«Общение» компьютеров между собой включает много устройств, и одно из них – шлюз. Это что такое? Какие существуют типы? Каков их принцип действия?

Что такое шлюз

Что он собой представляет

Шлюзы – это такие субъекты технических систем, что могут быть реализованы в виде аппаратного или программного решения, или соединены вместе (что встречается чаще всего). Но обычно под ними подразумевают приложения, установленные на роутер и/или компьютер. Шлюзы – это устройства, которые должны понимать все протоколы с передаваемыми данными. Они должны уметь шифровать и декодировать всю получаемую и отправляемую информацию. Говоря про недостатки шлюзов, следует отметить, что обычно они работают значительно медленней, чем обычные роутеры, коммутаторы и сетевые мосты. Они могут выступать узлом или конечной точкой интернета. Говоря про последние, необходимо различать хосты и шлюзы. Это очень важно. Так, первые предоставляют пользователям компьютеров веб-страницы, а вторые – соединяют разные сети. К последним относится сервер, что контролирует трафик при обмене данными между компьютерами компании и интернетом. При больших объемах шлюз обычно интегрирован с межсетевым экраном и точкой прокси. Для управления распределением и конвертацией пакетов он и объединяется с роутером. Если говорить о программном обеспечении, то оно может быть установлено как на сервер, так и на компьютер.

Функции шлюза

Он устанавливает маршруты передачи пакетов данных по различным неоднородным сетевым интерфейсам. Также он может проводить локализацию всего обрабатываемого трафика. Может быть шлюз подсети, или канала передачи данных. Также есть ещё специфическая функция, которая пока не получила широкого распространения. Сейчас разговор про голосовой шлюз. Он необходим, чтобы передавать звуковой трафик. Голосовой шлюз используется в телефонах.

Принцип работы

Шлюз по умолчанию

Шлюз вызова

Шлюз задачи

Важным его преимуществом является универсальность – он может работать во всех трёх дескрипторных таблицах. Но здесь не используются поля смещения, поэтому они могут принимать любое значение. Также в качестве сегмента здесь нашел применение TSS. Настройка шлюза, несмотря на его универсальность, — не самое легкое дело.

Шлюз прерывания

Применяется исключительно в IDT. Он может сбрасывать флаг прерывания IF при вхождении в процедуру обработки. Поскольку предыдущее значение регистра всегда сохраняется в стеке, то когда происходит выход из выполняемой задачи, он принимает исходное положение. Важным преимуществом является то, что данный шлюз может обрабатывать часть прерываний, которые происходят в режиме CLI.

Шлюз ловушки

Дополнительные возможности использования шлюзов по умолчанию

В целом, что они собой представляют, и какую роль играют в передаче данных? Выше была обрисована только одна возможность, но и она не даёт полноценного представления, что и как. Так, шлюз за умолчание позволяет упрощать координацию трафика. Каким образом? Для этого он пересылает все получаемые данные на центральные маршрутизаторы, которые могут видеть более «объемную» картину, и соответственно – у них большие шансы найти получателя. Также необходимо учитывать, из чего составлена таблица маршрутизации рабочей станции. Так, в ней есть петли, локальный сетевой сегмент и собственно шлюз по умолчанию. Роль последнего – получать весь трафик, с которым не разобрались два первых получателя. Когда несколько приборов или единиц техники подключено к одному маршрутизатору, то использование шлюза по умолчанию – это единственная доступная форма указания адресов для данных. При использовании нескольких соединений эта форма обмена данными теряет своё значение. В таком случае проводить настройку шлюза за умолчанием необязательно.

Почему у него такое название

Как так вышло? Следует заметить, что применение разнится в зависимости от сферы, хотя разницы в функционале никакой нет. Термин «шлюз за умолчанием» применяют на рабочих станциях. Его использование в данных случаях является штатным режимом работы данной единицы техники. Термин «шлюз последней надежды» применяют относительно маршрутизаторов, где возникновение такой ситуации считается не нормальным, поскольку это устройство всегда должно знать, куда необходимо доставить пакеты информации.

Заметки злого админа

ircgw – шлюз из Jabber в IRC

По просьбам выкладываю старую статью с мертвого сайта pclovers.ru

В настоящее время разработка шлюза не ведется, но есть планы полностью переписать его на C++ и выложить код на гитхаб.

Несколько месяцев назад мы с In_Flight вспомнили старую добрую игру “Мафия”, в которую когда-то играли через IRC. Оказалось, что эта игра до сих пор существует, но людей там осталось мало. Так и возникла идея сделать вход в эту игру через Jabber.

Существующий софт нас не устраивал из-за необходимости регистрироваться на транспорте, а также сложностями в общении с IRC сервисами (NickServ и ChanServ). Так и родилась идея написать собственный сервис – ircgw.

Что это вообще за штука

Наша разработка предназначена для владельцев небольших IRC сетей, которые хотят предоставить доступ к каналам и приватам через еще один протокол, набирающий популярность. Это не бот и не обычный транспорт, а штука, которая одним концом подключается к Jabber серверу, как внешний компонент (XEP-0114), а другим концом линкуется к IRC сети, как сервер. Реализован межсерверный протокол популярного IRC сервера UnrealIRCd.

Для пользователя Jabber сервис ircgw видится, как обычный сервер конференций. Зайдя в конференцию #chan@ircgw.server.org, пользователь попадает в канал #chan прикрепленной IRC сети. Также возможно приватное общение с пользователями и сервисами IRC сети (vasya@ircgw.server.org, ChanServ@ircgw.server.org). Пользователь может находиться в нескольких каналах одновременно.

Что реализовано

  • возможность полноценной линковки к сетям, основанным на сервере UnrealIRCd (не модифицированном)
  • возможность подключения к XMPP серверу, поддерживающему XEP-0114 (протестировано на ejabberd)
  • поддержка XEP-0045 (Multi-User Chat) с некоторыми ограничениями, связанными с протоколом IRC. Например, не поддерживается affiliations, вместо этого предлагается использовать IRC сервисы. Также не поддерживается передача вошедшему пользователю истории предыдущей беседы.
  • просмотр списка каналов при помощи стандартного service discovery
  • стандартные режимы каналов и пользователей RFC 1459 преобразовываются в соответствующие режимы XEP-0045. Пользователь Jabber, получив режим +o, становится модератором конференции и может выполнять большинство функций оператора канала. Поддерживаются модерируемые, секретные и приватные каналы, баны и исключения, приглашения.
  • расширенные баны и исключения UnrealIRCd. Их нельзя установить из Jabber клиента, но они обрабатываются при входе пользователя Jabber в канал.
  • иерархия операторов канала UnrealIRCd (режимы +h, +a, +q). В Jabber клиенте они отображаются, как обычный модератор, но пользователь с более низким статусом не может кикнуть более высокого.
  • приватное общение с пользователями IRC
  • работа с сервисами. Если пользователь входит в канал под зарегистрированным ником, ему вываливается приват от NickServ с предложением ввести пароль.
  • возможность забанить на канале Jabber пользователя по нику, JID или их части.
  • прозрачная перекодировка сообщений, ников и прочего из UTF-8, принятой в стандартах XMPP, в основную кодировку IRC сети (например, windows-1251). Эта настройка устанавливается администратором и едина для всех пользователей.

Что пока не реализовано, но будет

  • поддержка G:Line (глобальный бан пользователя по JID, домену или их части)
  • поддержка цветовых кодов mIRC с преобразованием в HTML и обратно. В настоящее время эти коды просто удаляются. Реализована поддержка передачи цветов из IRC в Jabber. Обратная передача весьма затруднительна, потому что каждый клиент делает разметку по-своему.

Что под вопросом

  • антифлуд
  • скрытие JID пользователя (cloaking). Пользователь с ником Vasya и JID vasiliy@xmpp.org отображается пользователям IRC как Vasya!jabber@vasiliy.xmpp.org

Прочие ограничения

Когда пользователь входит в первую конференцию транспорта, имитируется его вход в IRC сеть, а когда покидает последнюю конференцию, имитируется выход из IRC. То есть, нельзя общаться в привате, не находясь ни на одном канале. В принципе, эту проблему можно решить путем некого подобия регистрации в транспорте, но это усложнение и отход от сложившихся принципов Jabber конференций.

Пользователь с одним JID не может находиться в разных конференциях (каналах) под разными никами, это ограничение IRC. При попытке входа в конференцию с другим ником, вход будет произведен под ником, который был у данного JID в других конференциях. При смене ника в одной конференции он будет изменен во всех.

Имя конференции может начинаться только с символа #. Иначе сервис будет пытаться интерпретировать имя, как ник пользователя.

IRC notices при передаче в Jabber преобразуются в обычные сообщения.

Технические детали

Программа написана на PHP без использования сторонних библиотек. Требуется поддержка сокетов и XML parser. По ресурсоемкости скромная, в настоящее время крутится вместе с IRC сервером и сервисами на виртуалке под FreeBSD с 256 Мб памяти, процессор почти не потребляет. Должна без проблем работать под Linux, а может быть и под Windows.

Где все это можно пощупать

IRC сервер irc.pclovers.ru связан с Jabber сервисом ircgw.pclovers.ru. То есть, при входе в конференцию #chat@ircgw.pclovers.ru производится вход в канал #chat. А при написании сообщения на JID Peace_Death@ircgw.pclovers.ru оно будет доставлено в приват соответствующему пользователю IRC.

Илон Маск рекомендует:  Информация о документе раздел head

Приветствуется всяческое издевательство над сервером, потому что я уверен, что что-то где-то упустил, и косяки неизбежны. Самые вопиющие глюки возможны при работе с клиентом QIP, потому что он как-то неадекватно реагирует на 100% соответствующие стандартам XML пакеты. В любом случае будем пытаться как-то это обойти.

Исходники этого изделия будут выложены после предварительного тестирования и после того, как я их немного причешу, уберу нецензурные комментарии и тому подобное.

Баг-репорты и прочие комментарии можно скидывать в комменты.

Назначение сервиса IRC

Дата добавления: 2015-01-16 ; просмотров: 2172 ; Нарушение авторских прав

IRC (Internet Relay Chat,чат) — сервисная система, при помощи которой можно общаться через сеть Internet с другими людьми в режиме реального времени. Она была создана в 1988 году финским студентом Ярко Ойкариненом. В русском компьютерном сленге IRC называют «мирк» (калька с названия наиболее популярного клиента — программы mIRC).

IRC состоит из серверов. Сервер может быть соединён с другими серверами. Совокупность серверов, соединённых друг с другом, образует сеть IRC. В мире существует множество сетей. Наиболее старые и известные — это IRCNet и EfNet, образовавшейся из расколовшейся первой IRC-сети.

Для работы с IRC необходима специальная программа — клиент. Для Windows-систем клиентом является программа mIRC,которая проста в настройке и установке и поэтому 90 % пользователей применяют эту программу.

IRC предоставляет возможность как группового, так и приватного общения. Для группового чата в IRC предназначены каналы, на которых пользователи могут собираться и вести общение. Общение напоминает общение людей в комнате — кто-нибудь говорит и все его слышат. У каждого канала есть имя, которое отражает общую тематику разговора. Это может быть как интересующая всех тема, так и просто какое-нибудь объединяющее всех название. Если в первом случае разговоры обычно ведутся вокруг указанной тематики, то во втором случае разговоры ведутся на совершенно разнообразные темы.

Кроме обычных пользователей сети IRC есть так называемые операторы каналов и операторы сети. Операторы канала — это модераторы, которые следят за порядком. Они могут закрыть доступ на канал без приглашения, исключить пользователя с канала, поставить ему бан (запрет входа на канал) и многое другое. Оператором канала в классическом случае становится тот, кто первым заходит на канал и тем самым создаёт его. У таких каналов есть постоянные операторы. Для того, чтобы они получили статус оператора при входе на канал используются обычно постоянно сидящие на канале боты (роботы), которые имеют статус оператора и могут его раздавать определённым пользователям.

IRC-боты — это программы, которые подключаются к IRC-серверу и могут выполнять специальные операции. Кроме поддержки статуса оператора, боты могут выполнять функции доски объявлений, могут выводить информацию о заходящем на канал пользователе и т.п.

Операторы IRC-сети — это администраторы, управляющие работой сети в целом. В их власти исключить пользователя с сервера и запретить ему вход на отдельный сервер или вообще на все сервера сети. Однако, как правило, в IRC-сетях для операторов обычно устанавливаются ограничения на уровне правил сети, сетевого этикета или даже на уровне IRC-сервисов (IRC-служб).

IRC-службы — это вспомогательные боты в IRC, которые обычно включают в себя:

• NickServ — служба, управляющая пользователями;

• ChanServ — служба, управляющая каналами;

• MemoServ — служба, позволяющая отправлять заметки, когда пользователь не в сети;

• OperServ (RootServ) — служба, позволяющая операторам сети управлять ею;

• Global — служит для оповещения о событиях сервера;

• HelpServ — предоставляет справку по службам IRC.

Также некоторые версии служб содержат:

• BotServ — предоставляет возможность владельцам каналов приглашать на канал ботов;

• HostServ (иногда включён в NickServ) — служба, позволяющая изменять реальный IP пользователя на определённую маску;

• StatServ — служба статистики;

• DevNull — игнорирует все посылаемые данные;

• SeenServ — выводит данные о том, когда в последний раз пользователь появлялся на сервере.

Принцип работы VoIP-шлюза

VoIP-телефония часто используется при организации внутренних телефонных сетей компании, а также для оказания информационных услуг клиентам. Использование интернета для установки связи в режиме реального времени вывело возможности в общении между людьми на новый уровень. И при этом голосовая телефонная связь обходиться абонентам дешевле, в отличие от используемых привычных технологий. Поэтому многие задумываются о переходе на IP-телефонию.

В случаях, когда в компании прекрасно работает корпоративная сеть аналоговых телефонов, самым простым способом для такого перехода будет установка голосовых шлюзов. Эти устройства подключают телефоны и офисные АТС к интернету и позволяют существенно сократить расходы на связь.

Как устроен голосовой шлюз?

Стандартный VoIP шлюз представляет собой устройство, которое подключается к телефонной сети. Главная задача голосового шлюза – запись и преобразование человеческой речи в цифровой код, который будет передан адресату.

Кодирование человеческого голоса происходит при помощи импульсно-кодовой модуляции. На входе звуки речи преобразуются в цифровой сигнал, который фрагментируется на отдельные пакеты и передается посредством IP-протокола. На принимающей стороне полученные пакеты проходят процедуру декодирования и преобразуются в синтезированную речь. Передать голосовой сигнал можно на любые устройства – браузер или другую компьютерную программу типа Skype, а также на мобильные и городские стационарные телефоны.

Многие модели голосовых шлюзов помимо передачи голоса способны выполнять множество других функций: маршрутизацию, управление передаваемым трафиком, его анализ.

Оптимизация процесса передачи сигнала

В процессе передачи сигнала возникает небольшая разница между моментом звучания голоса на одном конце «провода» и преобразованием сигнала в синтезированную речь – на другом. В среднем задержка составляет порядка 10–45 миллисекунд.


Пакетирование и последующая передача сигнала по IP-протоколу также имеет различные алгоритмы. Часть пакетов остается практически на исходном уровне и передается на скорости 64 Кб/с. Другие алгоритмы позволяют сжимать речевой сигнал до 8 и более раз, что улучшает качество телефонной связи.

Способы улучшения качества связи

Процесс передачи данных становится более эффективным и за счет других вспомогательных технологий. Например, блокировка передачи пауз, которая экономит сетевое время при возникновении смысловых и диалоговых пауз при разговорах. Они могут составлять до 50% эфирного времени, и голосовой шлюз пропускает их для оптимизации телефонной связи.

Большинство провайдеров использует статистические данные, позволяющие оценить качество передач данных и применить их для оптимизации связи. Например, ASR/ABR – статистические данные, определяющие качество связи через определенный коммутатор IP-телефонии. ACD – другой количественный показатель, который указывает на процентное соотношение состоявшихся звонков, продлившихся более 30 секунд, к общему количеству входящих вызовов. На основании этих цифр провайдер оценивает динамику изменений качества связи и вносит изменения для ее улучшения.

Функции шлюзов VoIP

Кроме своей основной функции – кодирования и декодирования голоса при передаче через IP-протокол – VoIP шлюз имеет все привычные опции, что и у обычных мобильных и городских операторов. Эти опции повышают производительность обработки входящих звонков и улучшают качество услуг телефонии:

  • удержание входящего вызова;
  • переадресация звонков;
  • автоматический перезвон;
  • АОН (автоматический определитель номера);
  • конференцсвязь.

С помощью голосового IP шлюза можно звонить и принимать звонки через интернет с обычных мобильных и городских телефонов. Для его использования даже не обязательно иметь компьютер.

Преимущества перед другим оборудованием для IP-телефонии

VoIP телефония – востребована у операторов, предоставляющих информационные услуги по телефону. Контакт-центры, сетевые компании, корпорации, работающие на национальном уровне и другие группы абонентов предпочитают использовать эту технологию голосовой связи благодаря ее достоинствам:

  • независимость от геолокации, позволяющая оператору call-центра работать как на своем рабочем месте, так и в удаленном офисе при наличии стабильного подключения;
  • безопасность соединения;
  • возможность подключения видеосвязи;
  • маршрутизация звонка;
  • перенос номера телефона;
  • возможность интеграции с CRM для повышения эффективности внутренней связи в компании.

Преимущество VoIP телефонии – дешевая связь вплоть до бесплатных междугородных и международных звонков. Для доступа к выделенному каналу связи абонент может использовать компьютер, IP-телефон и даже обычный стационарный телефон. Использование голосовых сервисов позволяет компаниям построить эффективный внутренний канал связи между сотрудниками и целыми отделами. Внедрение таких шлюзов происходит гораздо быстрее, и их можно подключить к АТС любой марки.

Применение VoIP-шлюзов

Чаще всего голосовые шлюзы используют:

  • Для сокращения расходов на междугородную и международную связь – звонок переходит не к операторам местной и междугородной телефонной связи, а проходит через голосовой шлюз к провайдеру IP-телефонии, и обходится в разы дешевле.
  • Для объединения телефонных сетей филиалов одной компании. С помощью VoIP-шлюза можно преобразовать аналоговые сигналы и передать их в IP-сеть, и тем самым объединить в единую сеть все филиалы компании, даже если они находятся в разных городах. При этом звонки в рамках этой сети будут бесплатными, нужно будет оплатить только подключение к интернету.
  • Сокращение затрат на конечное оборудование и организацию инфраструктуры клиента. С помощью VoIP-шлюза можно использовать инфраструктуру традиционной телефонии. Проложенный кабель и розетки можно переключить на VoIP шлюз. Также телефонные аппараты стандарта DECT будут доступны для подключения к SIP телефонии.

Также VoIP-шлюзы можно использовать для подключения к IP-сети удаленных сотрудников. Многие фирмы сотрудничают с работниками из других городов или даже стран.

Как выбрать VoIP-шлюз

Стоимость голосовых шлюзов на рынке в последнее время значительно снизилась, поэтому такой способ подключения к IP-телефонии считается одним из самых бюджетных. Но цена во многом зависит от различных характеристик шлюзов.

Чтобы выбрать голосовой шлюз, который лучше всего сможет решить ваши задачи, обратите внимание на следующие условия его работы:

  • Совместимость с другим VoIP-оборудованием. При покупке шлюза необходимо выяснить у производителя, с какими станциями он работает.
  • DSP-процессор шлюза. Он отвечает за качество голоса, отсутствие эха и посторонних шумов.
  • Чтобы голосовой шлюз долго прослужил и неожиданно не вышел из строя из-за перегрева, необходимо узнать все требования к его установке и изучить, какая система охлаждения установлена производителем, будет ли она хорошо работать.
  • Бывают простые голосовые шлюзы, которые используются для подключения только одного телефонного аппарата. А для одновременной передачи в сеть множества разговоров потребуются многоканальные шлюзы.

Обращайте также внимание на дополнительный функционал шлюзов. Использование различных сервисов поможет выстроить эффективную коммуникационную сеть в компании.

Заключение

VoIP-телефония – это технология кодирования, передачи и декодирования человеческой речи в форме пакетных данных посредством выделенного IP-протокола. Голос абонента воспринимается устройством и преобразуется в цифровой сигнал, а после сжимается и разбивается на несколько пакетов. На стороне получателя сигнал проходит обратную процедуру декодирования в синтезированную речь.

Главное преимущество VoIP технологии заключается в том, что абонент может пользоваться ей в любой точке планеты, где есть интернет. С ее помощью абоненты могут совершать бесплатные звонки и безопасно передавать конфиденциальные данные. Голосовая телефония предлагает клиентам множество дополнительных опций, облегчающих задачи по обслуживанию клиентов, таких как возможность параллельного видеоряда во время телефонного разговора, переадресация, автоматический перезвон и другие.

#187 Построение сети VoIP (практическая часть) 2

И за борт ее бросает
В набежавшую волну.
(песня о классической телефонии).

Небольшое вступление.

Возвращение к предыдущим выпускам становится традицией. Не очень позитивной, но все же. К теме VoIP (поднята в выпуске #181) попался новый материал. А именно, оказалось что карту для обычного ПС с FXO портом AsteriskTM PBX можно купить и в России. Аж за целых $10.

Делается это следующим образом. Поисковиком ищется ближайший продавец Genica 56K V.92 Data/Fax Modem with Intel FA82537EP (это обычный Winmodem). Например, можно его найти тут.

Главное, нужен «правильный» чип — «MD3200». По крайней мере так говорит Астерикс — Intel modem marked with chipset 537 or MD3200. This card installs and behaves exactly like a Digium Wildcard X101P (cache) card.

Что делать дальше — довольно очевидно. Вставить в ПС с Linux и установить драйвера от Астерикса. Сам не пробовал, но похоже особых сложностей не возникает — вот еще одна ссылочка по этой теме.

Так что поле для экспериментов получается более чем открытое.

Построение сети VoIP (практическая часть).

Напоминаю, что данным выпуском продолжена серия статей Эдуарда Афонцева, посвященная вопросам VoIP. Материал идет «параллельно» с остальными обзорами, поэтому стрелочка «назад» приведет на привычный выпуск от #186 от 18 июля.

Рассмотрим наиболее распространенные реализации компонентов H323 VoIP сетей, подходящие для экспериментов и практической реализации проектов IP телефонии.

Терминалы и шлюзы H323.

Microsoft netmeeting. http://www.microsoft.com

Корпорация microsoft включает практически во все версии windows свою программу для видео-конференц-связи netmeeting, обеспечивающую полноценную поддержку h323 и позволяющую подключаться к VoIP сетям.

OhPhone – это программный H323 терминал, созданный в рамках проекта OpenH323 project. Практически это неграфическое приложение, выполняющееся в командной строке под управлением операционных систем windows и unix, обеспечивающее участие в VoIP соединениях как с участием gatekeeperа так и автономно.

Cisco systems как безусловный лидер в разработке и производстве сетевого оборудования уже давно и успешно представила Ata 186 – аппаратный адаптер, согласующий два телефонных аппарата с VoIP сетью (ethernet). С соответствующей прошивкой он обеспечивает полнофункциональный H323 шлюз. В настоящее время это одно из самых дешевых и проверенных решений для клиентов IP телефонии (как и более современная модель ata 188).

Небольшим минусом можно считать поддержку только одного одновременного вызова кодеком со сжатием. Несомненный плюс – возможность использования для авторизации CAT (cisco access token) , обеспечивающего шифрование передаваемых учетных данных.

Фирма D-link в последнее время усилила свою активность на рынке коммуникационного оборудования. Не стал исключением и сегмент VoIP: выпускаются довольно дешевые и многофункциональные устройства типа шлюзов DG-102, DVG-1104 поддерживающие H323 (и не только).

Модульный сервер доступа VoIP – узкоспециализированное модульное решение уровня провайдера IP телефонии. Подавляющие всех конкурентов характеристики и возможности сделали данную платформу лидером инсталляций в своем секторе рынка.

Cisco H323 gateway. http://www.cisco.com

Для того, чтобы превратить обычный маршрутизатор cisco (серий 2600 или 3600) в шлюз H323 необходим голосовой модуль VNM (voice network module), который комплектуется голосовыми картами VIC (voice interface card).

Голосовые карты могут иметь на борту различные виды портов, например с телефонными разъемами RJ11: FXS и FXO.

В свою очередь маршрутизатор можно подключить к АТС (примитивно через FXO или более правильно через PRI если позволяет оборудование) и получить VoIP в своей офисной телефонной сети.

Gatekeeperы H323.

Cisco H323 Gatekeeper. http://www.cisco.com

H323 Gatekeeperом может являться практически любой маршрутизатор фирмы cisco с соответствующим программным обеспечением (версией IOS). В сочетании с общеизвестной надежностью и многофункциональностью (это все-таки маршрутизатор) представляет собой непобедимое решение.

Илон Маск рекомендует:  Предопределённые константы ldap

Одним из наиболее успешных open source проектов по созданию h323 gatekeeperов безусловно является open h323 gnu gatekeeper (не путайте его с http://www.openh323.org open gatekeeperом – проектом не менее замечательным, но по-моему застывшем в развитии). Gnu gatekeeper помимо стандартных функций может выполнять проксирование (может быть полезно на шлюзе между клиентской приватной сетью и интернет) и взаимодействовать с radius, mysql, ldap, что позволяет проектировать гибкие биллинг системы на его основе.

Один из лучших gatekeeperов, в бесплатном варианте разрешающий 30 одновременных звонков. Приятный Си подобный синтаксис файла конфигурации, расширенные возможности (проксирование, radius и прочие), графическая утилита администрирования и стабильность в работе позволяют рекомендовать aqua gatekeeper для решения самых разнообразных задач VoIP (это не реклама, а результаты тестирований).

Mera VoIP transit softswitch http://www.mera-voip.com

Компания Mera выпускает платный продукт под названием mera transit softswitch – замечательное решение для провайдера IP телефонии. Это полнофункциональный контроллер VoIP c большим числом дополнительных возможностей. Единственный недостаток – он платный :).

Дизайн биллинг системы VoIP.

Для того, чтобы производить аутентификацию VoIP клиентов и вести учет их деятельности (звонков) необходимо развертывание биллинг системы. Простейшая схема учета и контроля может включать в себя некоторую совокупность VoIP клиентов, работающих через Gatekeeper, который имеет поддержку RADIUS протокола (ее имеют практически все gatekeeperы).

При подключении к Gatekeeperу (или во время начала звонка) клиент в каком-либо виде передает ему свои параметры (в том числе имя и пароль), а Gatekeeper проверяет их через Radius сервер. Так происходит аутентификация. Во время звонка клиента Gatekeeper может посылать Radius серверу так называемые Radius accounting пакеты, которые тот будет использовать для формирования журнала учета работы клиентов.

Кроме того, многие H323 шлюзы могут использовать RADIUS самостоятельно, что позволяет обрабатывать их статистику таким же образом. Для построения законченной биллинговой системы можно использовать Radius сервер, который поддерживает работу с SQL сервером (например FreeRADIUS).

В итоге можно получить распределенную схему, обеспечивающую необходимый функционал и гибкость: все учетные записи и статистика работы клиентов хранятся на SQL сервере, связь Gatekeepera с которым обеспечивает RADIUS.

Приложение. Примеры настройки и конфигурации.

Cisco H323 gateway.

Конфигурирование голосового модуля.

FXS (Foreign Exchange Station) порт — предназначен для подключения телефонного аппарата и эмулирует для последнего PBX (АТС).

FXO – (Foreign Exchange Office) порт – в противоположность FXS подключается в телефонную линию.

Таким образом, простейший шлюз H323 может выглядеть как cisco маршрутизатор (2600 или 3600) с голосовым модулем и интерфейсной картой FXS в нем, к которой подключен обычный телефонный аппарат. Ну и конечно какой-нибудь интерфейс для связи с IP сетью, например Ethernet.

После подключения голосового модуля необходимо проверить голосовые порты:

    #sh voice port summary
    1/0/0 -- fxo-ls up dorm idle on-hook y
    1/0/1 -- fxo-ls up dorm idle on-hook y
    1/1/0 -- fxs-ls up dorm on-hook idle y
    1/1/1 -- fxs-ls up dorm on-hook idle y

Как видим, у нас два порта FXO (1/0/0 и 1/0/1) и два порта FXS (1/1/0 и 1/1/1), где цифры расшифровываются как slot-number/sub unit-number/port .

Подключим телефонный аппарат к FXS порту и посмотрим состояние:

    # sh voice port summary
    .
    1/1/1 -- fxs-ls up dorm on-hook idle y
    .

А теперь при поднятой трубке телефона:

    # sh voice port summary
    .
    1/1/1 -- fxs-ls up up off-hook idle y
    .

Описание dial peer.

После того, как мы определились с голосовыми портами необходимо обозначить соответствие набираемого (принимаемого) телефонного (Е164) номера и пункта назначения (порт, ip адрес, gatekeeper) – описать так называемый dial peer. Согласно официальной документации dial peer служит для определения атрибутов, направления и участников звонка.

Если рассматривать dial peer как таблицу для ассоциации телефонного номера и пункта назначения звонка, то все dial peerы можно разделить на два вида: те, которые направляют звонок на соответствующий POTS интерфейс (например FXS) и те, которые предполагают приемной стороной определенное VOIP устройство (например VOIP шлюз).

В качестве иллюстрации соберем VOIP полигон с двумя шлюзами cisco.

Конфигурация шлюза А (gate A):

    !
    dial-peer voice 1 voip
    destination-pattern 666
    session target ipv4:192.168.0.2
    codec g711alaw
    !
    dial-peer voice 2 pots
    destination-pattern 555
    port 1/1/1
    !

В конфигурации шлюзу сказано, что звонки на номер 666 отправлять на участника IP сети с адресом 192.168.0.2 (предположительно VOIP шлюз) причем для связи использовать определенный звуковой кодек (алгоритм кодирования). А для терминирования звонка по номеру 555 использовать собственный голосовой порт номер 1/1/1. Также следует обратить внимание на задаваемый кодек – он должен быть одинаковым у обоих участников VoIP соединения.

Аналогично выглядит конфигурация шлюза B (gate B):

    !
    dial-peer voice 1 voip
    destination-pattern 555
    session target ipv4:192.168.0.1
    codec g711alaw
    !
    dial-peer voice 2 pots
    destination-pattern 666
    port 1/1/1
    !

Только он терминирует звонки на номер 666 (на свой порт 1/1/1) и направляет звонки по номеру 555 на IP адрес 192.168.0.1 .

Можно посмотреть все dial peerы:

# sh dial-peer voice summary

В итоге, если поднять на телефонном аппарате А трубку и набрать номер 666, на шлюзе А сработает dial peer ( описанный как dial-peer voice 1 voip) и направит звонок по адресу 192.168.0.2, то есть на шлюз B. На шлюзе B данный звонок в соответствии со своим dial peer (описанным как dial-peer voice 2 pots) терминирует звонок на порт 1/1/1 – зазвонит телефон B. Для того, чтобы направлять звонки (например, начинающиеся на 7) не просто в IP сеть, а на GATEKEEPER (маршрутизирующий звонки) необходимо на интерфейсе, подключенном к IP сети описать h323-gateway (указать его адрес и порт):

    !
    interface FastEthernet0/0
    ip address 192.168.0.1 255.255.255.0
    speed 10
    full-duplex
    h323-gateway voip interface
    h323-gateway voip id GATEKEEPER ipaddr 192.168.0.100 1719
    h323-gateway voip h323-id cisco
    !

И в соответствующем dial peer вписать session target как ras:

    !
    dial-peer voice 5 voip
    destination-pattern 7T
    session target ras
    codec g711ulaw
    !

В данном случае cisco шлюз будет регистрироваться на gatekeepere и направлять звонки на номер, начинающиеся с цифры 7 на него.

Посмотреть работу шлюза H323 можно так:

Cisco H323 Gatekeeper

Приведем для примера простейшую конфигурацию cisco h323 gatekeeper:

    !
    interface Ethernet1/0
    ip address 172.16.0.1 255.255.255.0
    description H.323 gatekeeper interface
    !
    !
    gatekeeper
    zone local gk-zone1.test.com test.com 172.16.0.1
    zone remote gk-zone2.test.com test.com 172.16.0.2 1719
    zone prefix gk-zone2.test.com 408.
    gw–type–prefix 408#*
    no shutdown
    !
    !

Доступна любая диагностика, например можно посмотреть зарегистрированные шлюзы:

# show gatekeeper endpoints

Или активные сессии (звонки), проходящие через gatekeeper:


# show gatekeeper call

Gnu Gatekeeper

Простейшая топология VoIP сети с участием gnu gatekeeperа может выглядеть следующим образом:

Конфигурация для простейшего случая (любой терминал или шлюз может зарегистрироваться):

Запуск программы на unix системе (linux или freebsd) в режиме выдачи отладочных сообщений осуществляется так:

Существует возможность контроля и управления – это телнет на определенный порт (по умолчанию 7000). Если же необходимо проксировать сигнальный и голосовой трафик из определенной сети, то конфигурация несколько изменяется. Например, для следующей топологии, содержащей локальную подсеть с приватными адресами и внешний VoIP шлюз:

Конфигурация будет выглядеть примерно так:

    [Gatekeeper::Main]
    Fourtytwo=42
    Name=GK
    Home=0.0.0.0
    [GkStatus::Auth]
    rule=allow
    [RoutedMode]
    GKRouted=1
    H245Routed=1
    CallSignalPort=1719
    CallSignalHandlerNumber=2
    AcceptNeighborsCalls=1
    AcceptUnregisteredCalls=1
    RemoveH245AddressOnTunneling=0
    DropCallsByReleaseComplete=1
    SupportNATedEndpoints=1
    [Proxy]
    Enable=1
    InternalNetwork=192.168.0.0/24
    #ProxyForNAT=0
    #ProxyForSameNAT=0
    [RasSrv::PermanentEndpoints]
    194.226.248.67=external-gate;8
    [RasSrv::Neighbors]
    194.226.248.67:1719
    [RasSrv::LRQFeatures]
    CiscoGKCompatible=1
    NeighborTimeout=2
    ForwardHopCount=2

В итоге VoIP шлюзы и терминалы из локальной сети будут регистрироваться на gatekeepere и весь сигнальный и голосовой трафик, направленный на внешний шлюз, будет проксироваться.

Aqua gatekeeper

Для примера приведем вырезку из конфигурации обеспечивающую регистрацию терминала cisco ata186 (регистрирующегося с параметрами “ata186” и “555” и принимающего звонок на номер 555) и шлюза cisco (с адресом 192.168.0.10):

    system
    <
    identifier 'aqua';
    address 192.168.42.84 ;
    call signal port 1719;
    >

    zone TEST bandwidth 10M;
    user ata186
    <
    location TEST;
    login "ata186";
    login "555";
    alias "ata186";
    alias "555";
    >
    user cisco
    <
    location TEST;
    alias "cisco";
    alias "999";
    static 192.168.0.10;
    >

Если необходимо проксировать voip трафик от определенного клиента, то его нужно описать примерно так:

    user cisco
    <
    location TEST;
    alias "cisco";
    alias "999";
    static 192.168.0.10;
    proxy level full;
    >

Эдуард Афонцев, 2004 год.

Анонс

  • Правосвязие. Оператор и государство. Продолжение статьи из цикла «о легализации» домашних сетей Антона Богатова.
  • Сетевая эротика;
  • Рекламные плакаты сетей;
  • Как снимают телевизионный сигнал с П-296;
  • Зарисовки узлов разных провайдеров (в основном стойки). Много разных галлерей.
  • Переход через железную дорогу (несколько фотографий);
  • Ревизии D-Link 1008;
  • Традиционный пункт — ссылки на интересные места Сети. Присылайте письма — они очень нужны для обзоров. Обязательно сообщайте, нужна ли Ваша подпись, ссылка, или лучше обойтись без нее;
  • В «ужастиках» — узел оператора из Болгарии. ;-)

Шлюз между IRC и Google Hangouts

Преамбула

Так уж получилось, что «по долгу службы» мне каждый день нужен IRC. Используемый клиент — irssi в tmux’е на Debian’овском сервере. В 99% случаев я подключаюсь по ssh (putty) к серверу, там перехожу в окно irssi и читаю/пишу в нужные мне каналы. Оставшийся 1% — это подключение к проксируемым каналам irssi с помощью Mirand’ы.

Для отдельных каналов у меня настроена отправка по электронной почте сообщений, удовлетворяющих определённым критериям. Эта штука продолжает работать и сейчас.

Но не так давно, в связи с некоторым изменением образа жизни, мирандой я перестал пользоваться, и возникла необходимость чтения/записи в один канал со смартфона.

Смартфон у меня на Android, поэтому логично, что я сначала попытался найти родное приложение, которое бы позволило работать с проксёй irssi. Не нашёл. Если забыть про проксю, то родные IRC-клиенты таки есть, но это «не то пальто». Так для того, чтобы не пропустить нужное сообщение, нужно постоянно быть в онлайне. Да и новый аккаунт нужен, а это не всегда возможно. В общем с таким подходом тогда уж проще подключиться к серверу через ssh и работать с irssi там. Собственно, я иногда так и поступал, когда уж очень надо было. Но ssh-клиенты для Android оставляют желать лучшего — в принципе реально, но совсем неудобно (особенно на 4-дюймовом экране моего старенького Samsung Galaxy S).

С другой стороны я очень привык к Google Hangouts. Можете плеваться, кидать в меня камнями, вспоминать WhatsApp и другие IM-клиенты, но меня уже сложно переубедить. Hangouts действительно удобная вещь. Поэтому меня не переставала бередить мысль о шлюзе между IRC и Google Hangouts. Гугление давало ноль информации. Разве что пару раз я натыкался на связку слов irssi+bitlbee. Я уже слышал о bitlbee раньше, но не хотелось поднимать на сервере ещё одну службу.

Я уже согласился просто отправлять содержимое сообщений на свой аккаунт Hangouts (по аналогии с почтовыми уведомлениями). Почти получилось (через sendxmpp). Сообщения вроде как доходили, но появлялись они только в стороннем клиенте (Miranda), но не в родном Hangouts. Причём отправка удавалась только с негуглового jabber-аккаунта (jabber.org, jabber.kiev.ua). Для гуглового аккаунта sendxmpp упорно выдавал ошибку, как бы я не бился с параметрами. А переписывать эту софтинку мне совсем не хотелось.

В итоге я решил попробовать связку irssi+bitlbee. Чего уж там? Если не заработает, всегда смогу снести это дело.

И вы знаете, получилось!

Собственно, решение

Для удобства заводим новый гугловый аккаунт, который будет выполнять роль бота. Весь обмен сообщениями с IRC будет вестись через этот аккаунт. Можно, конечно, попробовать использовать в качестве отправителя аккаунт-получатель, т.е. писать самому себе, но я решил не извращаться. Просто добавил новый аккаунт в Google Apps своего домена. Можно также добавить alias вместо полноценной учётной записи, но я решил, что так будет безопаснее.

Добавляем аккаунт бота в bitlbee:

Теперь важный момент. Нужно авторизовать между собой аккаунт бота и личный аккаунт. Средствами Hangouts мне это не удалось сделать. Обмен сообщениями в родном клиенте шёл, но по факту это были учётные записи типа @public.talk.google.com .

Итого я нашёл ничего лучше, как добавить оба аккаунта в миранду и авторизовать их там между собой. После этого мой личный аккаунт в списке контактов бота (blist all) в bitlbee стал отображаться со статусом Online.

Теперь достаём «швейцарский нож» irssi — trigger.pl. Чтобы описать достоинства этого богатого по возможностям плагина, потребуется отдельная статья. Здесь я ограничусь сугубо своей задачей.

Общая логика работы следующая:

  • все сообщения, публикуемые в канале X, пересылаем от имени бота на личный аккаунт;
  • все сообщения, полученные ботом с личного аккаунта, публикуем в канале X.

В файле

/.irssi/triggers это описывается двумя триггерами:

  • -publics -channels ‘#chanX’ -command ‘msg -localhost -nick ЛИЧНЫЙ_АКК $N: $M’
  • -privmsgs -masks ЛИЧНЫЙ_АКК -command ‘msg -СЕРВЕР -channel #chanX $M’

Для опытных пользователей irssi и trigger.pl всё должно быть понятно. Для новичков опишу подробнее:

  • для всего, что публикуется в публичном (-publics) канале (-channels) с названием #chanX, выполнить команду (-command): отправить сообщение (msg) пользователю (-nick) с именем ЛИЧНЫЙ_АКК на сервере localhost, где сообщение состоит из имени отправителя ($N) на канале и текста сообщения ($M);
  • для всех личных сообщений (-privmsgs), полученных от пользователя (-masks) с именем ЛИЧНЫЙ_АКК, выполнить команду (-command): отправить сообщение (msg) в канал (-channel) с названием #chanX на сервере СЕРВЕР с текстом сообщения $M.

Здесь используются следующие допущения:

  • в irssi установлены подключения к нескольким серверам;
  • подключение к bitlbee установлено как к серверу localhost (bitlbee запущен на 127.0.0.1, так как я не хочу выставлять в мир порт 6667);
  • имя пользователя на канале #chanX совпадает с именем пользователя на канале &bitlbee;
  • ЛИЧНЫЙ_АКК — это имя пользователя в списке контактов бота в bitlbee, которое можно изменить (help rename);
  • СЕРВЕР — это название сервера, в канал которого нужно публиковать сообщения.

Результат

После получения первого сообщения (неважно от кого — от бота или с личного аккаунта) в irssi откроется новое окно с личной перепиской этих двух аккаунтов. Ну и, соответственно, в Google Hangouts будут приходить сообщения с канала, и можно будет отправлять сообщения в канал.

Также я отказался от прокси на irssi (за ненадобностью).

Эпилог

Возможности trigger.pl очень широкие. Здесь вскользь рассмотрено, наверное, менее 10% возможностей. Триггеры можно настроить более гибко, а с помощью регулярных выражений можно «изрисовать вообще всё» ©

Так, помимо переменных $N и $M доступно ещё много других переменных. Можно пересылать сообщения из нескольких каналов, только от определённых пользователей или содержащие определённые ключевые слова, в зависимости от ключевого слова публиковать сообщение в тот или иной канал, транслировать всю личную переписку и др. Подробности см. в справке /trigger help.

Как использовать IRC (Internet Relay Chat)

IRC (Internet Relay Chat) является протоколом прикладного уровня для обмена текстовыми сообщениями в режиме реального времени, посмотрите Википедию. В этой статье вы можете узнать о том, как использовать IRC.

Илон Маск рекомендует:  Урок 12. PHP - Цикл While

Советы

  • Другая поисковая система IRC
  • IRC является отличным способом для решения проблем! Например, большинство программных продуктов имеют группы поддержки, и некоторые из них находятся в IRC. Вы можете легко зайти на их сервер и задать интересующие вас вопросы.
  • Другие ссылки о IRC:
  • Новости IRC
  • Поисковая система IRC
  • Если вы желаете узнать побольше, то посмотрите данные странички:
    • Статья о IRC на Википедии
    • Статья о IRC
    • ixibo.com статья ‘The conceptual model of Internet Relay Chat(IRC)’
  • Большинство людей, сидящих в IRC, дружелюбны, но постарайтесь не докучать ненужными вопросами. Если у вас есть вопрос или комментарий, то посмотрите топик канала и узнайте о рекомендованных действиях.

Предупреждения

  • Как и в любой части нашего сообщества, существует вероятность встретиться с безнравственными и опасными людьми. По сути, никогда не открывайте личную или финансовую информацию (в особенности, если вы являетесь подростком). В IRC, можно встретить людей, которые притворяются другими и играют на вашем доверии.
  • Существуют каналы и сети, на которые не стоит заходить.

Некоторые каналы IRC, связанные с wiki

  • #wikihow ( здесь )- WikiHow IRC канал
  • #wikipedia ( здесь ) — Wikipedia IRC канал
  • #wiktionary ( здесь ) — Wiktionary IRC канал
  • #wikisource ( здесь ) — WikiSource IRC канал
  • #wikibooks ( здесь ) — WikiBooks IRC канал
  • #wikimedia ( здесь ) — Wikimedia IRC канал
  • #wikinews ( здесь ) — WikiNews IRC канал
  • #wikiquote ( здесь ) — WikiQuotes IRC канал

Библиотека Интернет Индустрии I2R.ru

Малобюджетные сайты.

Продвижение веб-сайта.

Контент и авторское право.

Немного об IRC (Internet Relay Chat)

Краткие сведения об IRC

IRC — это Internet Relay Chat (чередующиеся беседы по сети). Если ICQ представляет собой нечто вроде пейджера, то IRC — это нечто вроде многозального кинотеатра, куда люди приходят не смотреть фильмы, а просто трепаться. И в каждом из этих залов обсуждается или какое-то одно направление (например, автомобили), или одна тема (например, локальные сети), или спектр обсуждений достаточно широк, зато аудитория друг друга достаточно хорошо знает и в этом кинозале (мы помним, что я его так называю только для примера) сложилась своя манера общения, нарушать которую не рекомендуется, потому что иначе вас могут выставить вон.

Система IRC была создана Джарко Ойкариненом в Финляндии в 1988 году для общения пользователей Интернета (и локальных сетей) в реальном времени. Система предоставляла хороший сервис и за довольно короткий срок завоевала большую популярность. До сих пор через IRC общаются десятки тысяч пользователей, хотя в настоящий момент IRC потихоньку вытесняют все более развивающиеся системы чатов на WWW.

Вы спросите, чем это отличается от чата по ICQ, в котором тоже могут принимать участие многие люди, и чем это отличается от многочисленных чатов на WWW-страницах. Ну, от ICQ-ного чата IRC отличается довольно сильно, потому что, во-первых, там в изобилии созданы свои комнаты (они называются «каналы») для бесед, чего не бывает на ICQ, а во-вторых, чисто технически эти беседы происходят намного удобнее, чем по ICQ. Например, через ICQ одновременно более пяти собеседникам уже становится общаться довольно трудно, а на одном канале IRC свободно общаются десятки людей. А вот от чатов на WWW IRC отличается не так уж и сильно, хотя сервис наиболее известных IRC-клиентов (программ для общения на IRC каналах, которых в принципе существует очень немного) значительно на данный момент превосходит сервис чатов на WWW.

Чтобы долго не теоретизировать, давайте скачаем какой-нибудь наиболее известный IRC-клиент и посмотрим, как это все работает. Сразу предупреждаю, что подробное руководство по IRC-клиентам выходит за рамки этой статьи, однако я вам дам основные навыки работы с IRC и расскажу о некоторых тонкостях общения на каналах, чтобы вы были должным образом подготовлены к тому, чтобы начать там беседовать.

Как я уже говорил, IRC-клиентов существует очень немного. Фактически большинством участников IRC используется только две программы — Mirc и Pirch.

В принципе каждая из них предоставляет пользователям довольно большой набор всевозможного сервиса, поэтому довольно сложно сказать, какая из них лучше. Однако я работал и с Mirc, и с Pirch, но считаю, что Pirch несколько удобнее, чем Mirc. Впрочем, это все дело вкуса. Программу Mirc вы можете скачать здесь а программу Pirch — здесь.

Давайте кратко рассмотрим работу в IRC на примере программы Pirch, предположив, что мы ее уже скачали (последняя версия — Pirch V98s).

В установке программы нет ничего сложного, вас спросят только, хотите ли установить новую копию программы или переустановить ее поверх старой, а затем поинтересуются, в какую директорию вы ее будете устанавливать. Короче говоря, один раз нажмите клавишу «Next» и отвечайте «Да» на все вопросы. Программа устанавливается довольно быстро, после чего в Windows создается отдельная группа под названием Pirch98, где располагается сама программа. Перезагрузки после установки программы не требуется.

Запускаем программу Pirch. После запуска она выглядит следующим образом:

Нажимаем на кнопочку Login и получаем следующую картинку:

Это данные, которые Pirch ставит по умолчанию. Нам надо заменить их на свои. В поле «IRC Network» указывается название одной из распространенных сетей, в которых находятся различные известные IRC серверы. Нам это поле пока не нужно, и мы его не трогаем. В поле «Server» стоит название сервера, через который мы планируем присоединиться к IRC. Мы там пишем следующее: «IRC.MSU.RU:6667».

Далее в поле «Name» пишем свои имя и фамилию (или любой псевдоним) — я там пишу «Alex Exler», а в поле «Username» можно поставить свой e-mail — я написал exler@exler.ru.

Затем в поле «Nickname» вы пишете свой псевдоним (это то имя, под которым вы будете присутствовать на каналах), а в поле «Alternate» (альтернативный ник) можете поставить еще какой-то вариант своего псевдонима, если первый окажется занят.

После этих действий окно «Login» у вас должно выглядеть примерно следующим образом (с вашими данными в «Personal information» и «Logon Nick Names»):

Нажимайте на кнопку «Connect», после чего на экране вы увидите приблизительно следующее:

Это значит, что вы подключились к IRC серверу и теперь можете начинать работу на одном из каналов. Название канала в IRC всегда начинается со знака «#» и пишется всегда латинскими буквами. Даже те названия, которые, на первый взгляд, кажутся русскими (КРОВАТКА, МОСКВА и так далее), на самом деле написаны большими латинскими буквами и в нижнем регистре выглядят как kpobatka и mockba. Чтобы подключиться к одному из каналов, в нижней строке (там, где находится курсор) напишите команду /join (все команды IRC обязательно начинаются со знака слеш «/»), затем поставьте пробел, после чего напишите название желаемого канала, например, название очень популярного среди русскоговорящих пользователей канала #KPOBATKA. Целиком команда будет выглядеть следующим образом:

После этого перед вами откроется окно выбранного вами канала, которое быстро начнет заполняться как обычными фразами на русском языке, так и совершенно непонятными для вас сообщениями. Выглядеть это будет примерно так (для примера приводится канал, который называется #fidorus — там общаются члены некоммерческой компьютерной сети Фидо):

В правой части экрана вы видите список ников людей, присутствующих в данный момент на канале (впрочем, те ники, которые начинаются с символа «@», в данный момент могут и не присутствовать), а в самой большой части экрана идет непосредственно треп. В скобках «<>» дается ник человека (мой в данном случае выглядит как ), далее идет его сообщение, которое имеют возможность прочитать все на канале. Если кто-то хочет ответить, адресуясь непосредственно вам, то он пишет ваш ник, ставит двоеточие, после чего пишет свое сообщение (его тоже увидят все присутствующие на канале).

Сообщения, перед которыми стоят прямоугольнички со словами «Action», «Join», «Note» и так далее, являются служебными и несут в себе всевозможную информацию о том, кто подключился к каналу, отключился от него и так далее.

Вы можете просто читать сообщения, которые появляются на экране, можете отвечать или сразу всем, или адресуясь конкретному участнику беседы. Если хотите получить чуть более подробную информацию о том, кто скрывается за тем или иным ником, вернитесь в первое окно (закладочки окон расположены в нижней строке программы Pirch — вам нужна самая левая закладка) и там введите команду:

Вместо «nickname» подставьте тот ник (псевдоним) участника, который вас интересует. Например, если в выбранном мною примере ввести команду /whois msh, то на экране появится следующая информация:

msh@msh.labs.ru * : Mike Shoyher
@#fidorus
irc.msu.ru :Moscow State University, Russia
25 seconds idle, logged in at ***
End of WHOIS list.

Видите, мы получили e-mail участника, его имя с фамилией и сервер, с которого он зашел на этот канал. Но сразу предупреждаю, что эта информация появляется только в том случае, если сам пользователь ее ввел в программу-клиент IRC, а он может этого и не делать.

В процессе общения на канале вы можете производить массу всяких действий: например, вызывать участников канала в отдельные чаты, пересылать сообщения отдельным участникам так, чтобы другие этих сообщений вообще не увидели, можете отправлять и принимать файлы, словом, IRC-клиент предоставляет вам массу всяких возможностей. Кроме того, вы можете автоматизировать свои приветствия некоторым постоянным посетителям канала, можете настроить Pirch так, что он на определенные ваши действия будет реагировать целыми фразами, которые как бы от вашего имени произносятся на канале. Для реализации этих возможностей на Pirch есть целая система меню, но вместо меню вы можете использовать стандартные команды IRC, описание которых есть в помощи к этой программе.

И еще два слова нужно сказать о кодировках. Как известно, в Интернете есть несколько разных кодировок кириллицы, так что вы можете попасть в ситуацию, когда, например, заходите на канал, а там видите абракадабру, подобную этой:

Это значит, что у вас не совпадает кодировка. В данном случае вы используете windows-кодировку кириллицы, а на канале разговаривают в кодировке KOI-8. И для того чтобы нормально видеть сообщения этого канала и иметь возможность туда писать, вам нужно воспользоваться или программами-перекодировщиками, или специальными серверами-перекодировщиками.

Впрочем, есть несколько каналов, где во избежание проблем с русскими кодировками предпочитают общаться на так называемом «транслите», или «кодировке волапюк» — при этом русские слова пишутся латинскими буквами. Такой метод общения принят, к примеру, на канале #Russian. И беседа при этом выглядит следующим образом:

Видите? Если попробовать прочитать эти каракули, которые на первый взгляд кажутся белибердой, то из них получатся вполне нормальные русские слова и предложения. Есть виртуозы, которые транслитом пишут даже быстрее, чем русскими буквами, но если вы никогда с транслитом не сталкивались, то привыкать к нему будет довольно трудно.

Когда закончите общение на каналах, введите команду:

После этого IRC-клиент отключится от сервера. Разумеется, вы можете просто закрыть программу-клиент, не отключаясь специально от сервера. Но в этом случае на канале еще некоторое время будет висеть ваш ник (в таких случаях его называют «призрак»), который будет вводить ваших собеседников в заблуждение, потому что они будут считать, что вы еще здесь.

Этика при общении на IRC

Когда вы первый раз попадаете на какой-то канал IRC, всегда имеет смысл сначала осмотреться, почитать, что пишут постоянные участники, и только потом, потихонечку принимать участие в беседе. Представьте себе, что вы пришли, к примеру, в чужую компанию, которая увлеченно обсуждает вещи, вам совершенно не понятные. Вы же не будете прерывать общий разговор и требовать, чтобы вам быстро объяснили, что же такое они обсуждают? А если и будете, то на вас посмотрят недоуменно, после чего могут просто выставить за дверь.

Примерно то же самое происходит на каналах IRC. Как правило (если этот канал существует довольно продолжительное время), у канала есть основной костяк посетителей, которые друг друга уже хорошо знают (хотя бы виртуально; впрочем, некоторые посетители известных каналов стараются периодически устраивать встречи живьем, особенно если они из одного города). Они уже привыкли друг к другу и выработали свой стиль общения, подстроиться под который вам будет довольно непросто. Но прямые вопросы на тему того, что именно они обсуждают и почему это делают именно так, задавать не принято. Потому что таких случайных посетителей, как вы, на канале могут быть десятки, если не сотни. Не будут же завсегдатаи канала объяснять каждому посетителю, что именно они обсуждают.

Так что методика поведения на новом канале может быть только одна: тихонечко приходите без криков и воплей (никаких: «Здарова, пипель! Вот и я тута нарисовался!»), после чего садитесь в сторонке и вникайте в беседу. Если чувствуете, что более-менее понимаете, о чем идет разговор, и хотите вставить свое замечание — вставляйте и смотрите на реакцию. Если на вас не отреагировали, больше не навязывайтесь, а продолжайте сидеть в уголке и наблюдать. Если отреагировали, значит, можно осторожно начинать принимать участие в беседе. Помните о том, что любое некорректное поведение с вашей стороны может привести к тому, что вас просто выставят с канала (на языке IRC это называется «кикнуть» — от команды /kick, с помощью которой администратор канала (а их может быть несколько — их ники начинаются с символа «@») может заставить вас покинуть канал).

Впрочем, если вас выставили — ничего страшного. Вы можете сделать для себя соответствующие выводы, после чего еще раз присоединяйтесь к каналу. Если вы поведете себя нормально, то больше никто вас выставлять оттуда не будет. Но если вы опять поведете себя некорректно, то вас могут не только выставить (кикнуть), но и забанить (от команды /bann) — вообще закрыть возможность зайти на этот канал в течение какого-то времени.

В общем и целом, как вы поняли, ничего особенного в этике общения на IRC нет. Все то же, что и в общении с любой незнакомой компанией.

Функции irc шлюза

Группа: Admin
Сообщений: 2 652
Регистрация: 30.5.2004
Пользователь №: 1 857

Группа: Forum members
Сообщений: 1 264
Регистрация: 16.6.2003
Из: msk lom 23
Пользователь №: 194

Группа: Admin
Сообщений: 2 652
Регистрация: 30.5.2004
Пользователь №: 1 857

Группа: Forum members
Сообщений: 458
Регистрация: 10.6.2003
Пользователь №: 128

Группа: Forum members
Сообщений: 346
Регистрация: 27.10.2004
Из: Вселенной
Пользователь №: 2 642

Группа: Forum members
Сообщений: 1 606
Регистрация: 28.4.2005
Пользователь №: 4 139

Группа: Admin
Сообщений: 2 652
Регистрация: 30.5.2004
Пользователь №: 1 857

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL