Использование IRC-протокола для организации виртуального

advertisement
УДК 004 (06) Информационные технологии
О.А. ЖУРАВЛЕВ, К.Я. КУДРЯВЦЕВ
Московский инженерно-физический институт (государственный университет)
ИСПОЛЬЗОВАНИЕ IRC-ПРОТОКОЛА ДЛЯ ОРГАНИЗАЦИИ
ВИРТУАЛЬНОГО ТУННЕЛЯ ПЕРЕДАЧИ ДАННЫХ
Работа посвящена организации виртуального туннеля передачи данных на основе IRC протокола.
Всемирная сеть интернет позволяет не только получать доступ к большому объему информации сосредоточенной на WEB-серверах, но и обмениваться оперативной информацией (сообщениями, файлами) между
отдельными пользователями сети. В отличие от электронной почты (E-mail), такие средства, как ICQ, IRC
позволяют в режиме online создать виртуальный туннель между двумя хостами, по которому обеспечивается
передача персональных данных.
Два хоста, подключенные к сети интернет и не имеющие «внешних» ip-адресов, могут быть связаны виртуальным туннелем передачи данных, использующим протокол IRC для обмена информацией. Поверх туннеля может быть поднято VPN-соединение, объединяющее эти хосты в единую виртуальную сеть. Итак, для
реализации туннеля должны быть выполнены следующие требования:
Имеется общедоступный IRC-сервер, имеющий «внешний» ip-адрес (далее IRC-сервер). Имеется хост А
с внутренним или внешним ip-адресом и возможностью подключения к IRC-серверу. Имеется хост В с
внутренним или внешним ip-адресом и возможностью подключения к IRC-серверу. На хостах А и В запускается программа iLink, в которой указываются адрес IRC-сервера, уникальные имена в IRC-чате, режим
соединения и порт. Один хост должен работать в режиме сервера (iLink-сервер), другой – в режиме клиента
(iLink-клиент).
Алгоритм реализации туннеля:
Хост-сервер запускается первым. Программа iLink устанавливает соединение с IRC-сервером, после чего
ждет входящего соединения от хоста-клиента через IRC-протокол.
Хост-клиент запускается вторым, устанавливает соединение с IRC-сервером, открывает приватный разговор (с точки зрения IRC-протокола) c хостом-сервером. После взаимной аутентификации по именам«никам», введенным в настройках, программа iLink, запущенная на хосте-клиенте, открывает заданный в
настройках порт XXX на интерфейсе 127.0.0.1 и ждет входящего соединения.
На хосте-клиенте запускается VPN-клиент, который устанавливает соединение с 127.0.0.1:XXX
iLink-клиент передает данные iLink-серверу через установленный приватный IRC-разговор.
iLink-сервер, получив данные о входящем соединении, сам устанавливает соединение с VPN-сервером.
Происходит обмен данными по следующей схеме:
VPN-клиент  iLink-клиент  IRC  iLink-сервер  VPN-сервер
[
Хост-клиент
] <-> [IRC-сервер] <-> [
Хост-сервер ]
Данные, передаваемые по IRC-протоколу, преобразовываются из 256-символьного алфавита в 128символьный, чтобы избежать использования заведомо запрещенных символов и символов, способных привести к ошибкам из-за специфики IRC-протокола, например, последовательность ‘/quit’ приведет к обрыву
соединения с IRC-сервером.
Рассмотренный алгоритм позволяет просто и эффективно организовывать VPN с удаленными пользователями на основе IRC протокола с целью обмена приватной информацией.
_______________________________________________________________________
ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 15
1
Download