Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Билет 25

.docx
Скачиваний:
19
Добавлен:
03.05.2015
Размер:
21.57 Кб
Скачать

25. Пейджинговые услуги в Internet. Технология решения задачи.

Интернет-пейджинг (ИП) — один из самых популярных способов общения на сегодняшний день. Он представляет собой удобный сервис, благодаря которому можно быстро найти собеседников по интересам. Ведь в интернет-пейджерах, в том числе в Miranda IM и в QIP, предусмотрен такой поиск. Неслучайно один из них, называемый ICQ, дословно переводится «я тебя ищу». Эти технологии позволяют общаться на бытовые и иные темы. Вот почему их используют многие предприятия и частные лица.

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

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

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

Таким образом, интернет-пейджинг — современное, удобное и быстрое средство виртуального общения.

Комментарий: ICQ принадлежит Mail.ru Group!

ТЕХНОЛОГИЯ

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

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

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

Все данные между клиентами ICQ во время общения передаются по протоколу TCP, а все остальные — с использованием UDP-дейтограмм, которые передаются серверу. На сервер может быть передана информация о мене пользователем статуса, информирование о наборе пользователем текста сообщения и пр. Получение всех UDP-дейтограмм должны быть подтверждены получателем. Если подтверждения нет в течение 10 секунд, данные передаются повторно. В случае если произошло 6 неудачных повтора отправления данных, серверу ICQ передается сообщение B_MESSAGE_ACK и, если две попытки окажутся также неудачными, ICQ клиент считается отключенным.

Перед тем, как общение между пользователями будет доступно, ICQ-клиент должен авторизоваться на сервере ICQ. При этом на сервер передается данные о конкретном клиенте, включая его IP-адрес, TCP-порт, который зарезервирован для протокола ICQ, UIN и пароль пользователя, список контактов. После успешной авторизации на сервере, клиент считается подключенным. Для того, чтобы и клиент и сервер были уверены в том, что соединение не утеряно, клиент ICQ регулярно отправляет на сервер сообщение «keep alive» (еще жив). Клиент по умолчанию подключается к серверу через UDP порт 4000. При запросах клиента на такие действия, как изменение пароля, поиск пользователей в глобальном каталоге ICQ, отправка сообщений отключенным контактам осуществляется через отправку серверу ICQ UDP-дейтограмм. Передаваемые пакеты имеют стандартный формат и включают UIN отправителя и получателя сообщения, специальный код, который говорит серверу о том, какую операцию он должен выполнить и дополнительные параметры, которые уникальны для каждого действия.

Если сообщение отправляется пользователю, который в настоящее время подключен к серверу ICQ, то клиент устанавливает с пользователем прямое TCP-соединение и посылает пакет, сходный по формату с UDP-пакетами, которые используются для посылки сообщений на сервер. После завершения отправки пакета TCP-соединение не разрывается, а остается активным для передачи последующих сообщений. TCP-соединение разрывается только в том случае, если один из партнеров общения закрывает соединение с сервером ICQ.

Все текстовые строки, передающиеся между клиентами во время общения, начинаются с двухбайтового поля, которое содержит длину текстового сообщения. Завершаются сообщения байтом со значением 00. Все строки обрабатываются сервером и клиентами в кодировке windows-1251, а текстовые сообщения должны заканчиваться символами перевода строки и возврата каретки (с кодами 13 и 10 в десятичной системе счисления). 

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

При отправке сообщения одним клиентом ICQ другому, в первую очередь проверяется, установлено ли уже соединение с этим клиентом. Если соединение было ранее установлено, то оно используется для передачи сообщения. Если такового соединения нет, то клиент ICQ запрашивает у сервера IP-адрес и порт клиента, которому требуется отправить сообщение и открывает новое TCP-соединение с ним. После того, как соединение было успешно установлено, клиент посылает сообщение CHANNEL_INIT, чтобы убедиться, что удаленный клиент готов начать общение. Впоследствии, при отправке сообщений, удаленному клиенту отсылается сообщение CHANNEL_MESSAGE и ожидание подтверждение от удаленного клиента CHANNEL_ACK, что он получил все переданные пакеты и смог их успешно обработать.

Обмен пакетами по протоколу TCP аналогичен передачи пакетов серверу по протоколу UDP. Каждый пакет при этом должен содержать порядковый номер и длину пакета. Большинство сообщений также включают в пакеты UIN отправителя.

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

Соседние файлы в предмете Мировые информационные ресурсы