Posts Tagged ‘сеть’

Jabber набирает популярность

Суббота, Январь 31st, 2015 Нет комментариев

Under : , , , ,

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

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

Схема сети очень похожа на структуру электронной почты, если вы с ней знакомы, и сообщения передаются примерно также: когда пользователь сервера А хочет послать сообщение пользователю сервера B, он посылает специальный пакет, в котором есть заполненные поля «from» и «to» своему серверу A, он в свою очередь из JID-а указанного в поле «to» выделяет имя сервера В. Далее с помощью DNS сервер А находит IP адрес сервера B, устанавливает с ним соединение и передает пакет ему. Сервер В в свою очередь смотрит находится ли пользователь из поля «to» в сети. Если да, то передает сообщение ему, если нет, то сохраняет у себя до лучших времен.

Соединение между клиентом и сервером называют c2s. Соединение между серверами называют s2s

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

JID

JID (Jabber ID) в джаббере это тоже самое, что email в почте или UIN в ICQ — уникальный идентификатор пользователя, а также сервера, сервиса и т.п. Пример полного JID-а: ak@xmpp.org.ru/miranda. Он состоит из трех частей:
1. Имя пользователя — часть до собачки (ak). Может содержать все юникодные символы кроме пробелов и «&’/:<>@
2. Имя сервера — часть между собачкой и слэшем (xmpp.org.ru). Это допустимое в DNS имя.
3. Ресурс — часть после слэша (miranda). Те же ограничения, что и на имя пользователя.
JID, который содержит все три части, называют полным. Если в JID-е нет ресурса, то его называют голым (bare). JID без имени пользователя, является JID-ом самого сервера.

Если назначение имени пользователя и имени сервера вам думаю понятно, то смысл ресурса обычно вызывает вопросы. Дело в том, что вы можете войти в сеть под одним логином и паролем несколько раз — с разными ресурсами. И даже ресурсом, вы можете показать, откуда вы вышли. Например: xxx@yyy/mobile, xxx@yyy/home, xxx@yyy/work. Пока ресурсы разные все хорошо. Как только начнут повторятся — уже установленные соединения будет выбивать.

Что при этом увидит ваш друг, у которого вы в списке контактов? Обычно (зависит от клиента) ваш ник можно будет раскрыть как узел в дереве и увидеть все ваши ресурсы, затем выбрать нужный и отослать сообщение. Оно придет именно на выбранный ресурс, так как было отправлено на JID с ресурсом, т.е. на полный JID.

А куда придет сообщение которое было отправлено на голый JID? Такое сообщение можно отправить, выбрав корневой ник, а не ресурс. В этом случае в дело вступает механизм приоритетов. Приоритет — это число от -127 до 127, которое вы указываете в диалоге создания учетной записи вместе с JID-ом, паролем и ресурсом. Т.е. каждый ресурс имеет свой приоритет, указаный вами.

Главное правило приоритетов: сообщение отправленное на голый JID придeт на тот ресурс, приоритет которого выше. Если самый больший приоритет выставлен для двух ресурсов одновременно, то, в случае сервера xmpp.org.ru, сообщение будет продублировано, но вообще-то это зависит от реализации конкретного сервера. На ресурс, приоритет которого <= 0, сообщения никогда не будут перенаправлятся, даже если он останется в сети один.

Особенности JID

В части до собачки в JID-е можно использовать русские буквы, иероглифы и другие интересные символы, но только помните, что потом вам трудно будет диктовать свой JID другим
Обычное правило установки приоритетов: приоритет дома < приоритета на работе < приоритета на мобильном. Или по другому: чем дольше ресурс в сети, тем меньше у него должен быть приоритет.
На сообщение, отправленное на полный JID, приоритеты не действуют, и оно придет, даже если приоритет <= 0.

Список контактов (ростер)

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

Замечание

По умолчанию история сообщений на сервере не хранится. Для этого есть специальные сервисы, например, jogger, который позволяет просматривать историю сообщений на web-сайте.

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

Адреса в Jabber

Для общения с собеседником нужно знать его адрес в системе сообщений. В Jabber адресом служит JID, или JabberID (Jabber IDentificator). Этот адрес тоже похож на адрес электронной почты и выглядит, как user@server.com или contact@example.org. Чтобы пользователь user мог связаться с пользователем contact, сервера server.com и example.org должны быть доступны друг для друга. Естественно, пользователи корпоративных Jabber серверов, не имеющих доступ к остальной сети, не смогут общаться с остальными пользователями системы.

В системе Jabber можно подключиться с одной учётной записью из нескольких клиентов одновременно, при этом клиенты насильно не отключаются, как в ICQ. Каждое подключение называется ресурсом и имеет приоритет, чтобы сервер мог определить, какому клиенту отправлять сообщения — сообщение получит клиент с наибольшим приоритетом ресурса. Иногда собеседникам удобно по названию ресурса определять место подключения или название клиента, например, Home, Psi.

Добавление контактов

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

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

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

Транспорты и сервисы

Сервера Jabber позволяют использовать дополнительные сервисы и транспорты. Современные клиенты позволяют просмотреть список доступных сервисов на каждом конкретном сервере. Сервис не обязательно должен быть запущен на том же сервере, который предоставляет сервис, например, корпоративный сервер Jabber может предоставить доступ к главному каталогу пользователей на сервере jabber.org.

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

Транспорт — это служба, предоставляющая доступ к другим системам обмена сообщениями, своего рода шлюз между системами.

Транспорт может не работать, если другая система сообщений сознательно блокирует доступ к ней. К сожалению, компания AOL, которой сейчас принадлежит система ICQ, всячески пытается блокировать подключения с транспортов и скрыть протокол, чтобы клиенты ICQ скачивали рекламу.

Каталоги пользователей (JUD)

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

Каталоги пользователей удобны тем, что в них можно искать пользователей по любому заданному признаку. Например, искать JabberID, зная почтовый адрес или псевдоним пользователя.

На каждом сервере Jabber может быть запущен свой каталог пользователей — при поиске иногда не понятно, в каком каталоге кого искать. Поэтому пользователи, подключенные к любому серверу, могут зарегистрироваться в главном каталоге пользователей на сервере jabber.org, если хотят, чтобы их можно было найти глобально. Для этого на некоторых серверах сразу делаются два сервиса JUD — для локального каталога и для главного на jabber.org.

Текстовые конференции

Текстовые конференции (conference) — это сервис, который позволяет общаться не только с одним собеседником, а сразу со многими. Конференции проводятся в так называемой комнате (room), которая создаётся на указанном сервисе конференций.

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

Браузер

Браузер — это одна из тех вещей, которые отличают Jabber от других IM сетей, но, к сожалению, его упускают из виду многие новички. Они просто не ожидают, что в IM сети еще оказывается есть свой браузер. Все дело в том, что в централизованных сетях типа ICQ в браузере нет необходимости, там всего один сервер и все и так знают, что он может. В отличии от них сеть Jabber — децентрализованная, в ней каждый сервер сам по себе, и, пользуясь открытостью и расширяемостью протокола, может предоставлять самые необычные транспорты и сервисы. А чтобы не зашивать в каждый клиент список серверов и что на них есть, был создан специальный стандарт для опроса серверов, а в клиенты встроен браузер.

На самом деле в истории сети Jabber было два стандарта на джаббер-браузер. Первый, Jabber Browsing, оказался не очень удачным и был вскоре вытеснен вторым, Service Discovery. Это не очень важная информация, так как первый стандарт сейчас используется только на очень старых серверах, которые встречаются редко. Просто не удивляйтесь, если вы увидите в вашем клиенте (например Ткаббер) два пункта открывающие браузеры, один из которых «не работает».

Как и в настоящем браузере, в джаббер браузере есть адресная строка. Только она состоит из двух полей: JID и Узел (node). Второе поле некоторые клиенты прячут, но это не страшно. Наверное ближайшая аналогия JID — адрес сервера, а Node — файл на этом сервере. Аналогия, как всегда, не абсолютна. Нет каталогов, пути и т.п. Про просмотре корневого узла (node = «») вы скорее всего не увидите список всех остальных узлов, вместо этого они будут расположены древовидно и при раскрывании имитировать «каталоги».

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

Еще пару слов о защите пользователей IE9 от отслеживания

Среда, Май 2nd, 2012 Нет комментариев

Under : , , , ,

С момента декабрьского анонса функции защиты от отслеживания в IE9 в сети наблюдался большой интерес к данному нововведению со стороны прессы, ученых, правительств и промышленных групп. В сегодняшней статье мы поделимся обновленной информацией, основанной на обсуждениях этой темы с правительством и промышленными группами в Европе, с преподавателями и студентами в ходе совместного занятия в Harvard-Stanford Law School, а также с Wall Street Journal / All Things D. Это еще один пример нашего подхода к разработке IE9 с привлечением общественности.
(далее…)

От бодибилдинга к брэндбилдингу

Среда, Апрель 18th, 2012 Нет комментариев

Under : , , , ,

Интернет не только преобразил технологическую реальность и социальную среду, но и стал одним из новейших маркетинговых инструментов. Многие компании используют Интернет как один из основных средств коммуникации с партнерами и заказчиками, а специалисты-маркетологи ожесточенно спорят, можно ли с помощью Интернета сформировать брэнд, ведь с одной стороны сеть позволяет более четко сегментировать потребительскую аудиторию и делает маркетинг более «адресным». С другой стороны, пользователей Интернет в России еще настолько мало, что массовое продвижение товаров и услуг посредством одного лишь Интернет едва ли возможно, а если возможно, то только для очень ограниченного круга продуктов.
Редакция журнала «Connect! Мир связи» попросила рассказать об особенностях брэндбилдинга в Интернете Алексея Ковалева. (далее…)

Эссе о конфиденциальности данных в Сети

Вторник, Апрель 17th, 2012 Нет комментариев

Under : , , , ,

Как сообщается в отчете Privacy Rights Clearinghouse, в США за период с января 2005 года по декабрь 2007 года были украдены персональные сведения о 216 миллионах человек, то есть практически о всем взрослом населении страны.

В 2007 году американская социальная сеть Facebook (самым известным клоном которой является в России ВКонтакте.Ру) оказалась в центре скандала, связанного с утечкой конфиденциальной информации. Оказалось, что сведения о покупках пользователей сервиса в ряде крупных интернет-магазинах (среди которых и Amazon.com) автоматически рассылались «френд-листу» пользователя. Более того, после удаления учетной записи из сети сбор информации об онлайн-покупках продолжался как ни в чем не бывало. За такие нелицеприятные (но легитимные с точки зрения законодательства США) действия Facebook был назван «антисоциальной сетью». (далее…)

Как правильно создать pop-up страницы?

Понедельник, Апрель 16th, 2012 Нет комментариев

Under : , , , ,

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

Одна из главных целей сайта — удержать посетителя, заставить его вернуться на сайт снова. Для этого мы используем всевозможные «трюки»: предлагаем добавить наш сайт в избранное, сделать его стартовой страницей пользователя, подписаться на рассылку. Именно на последнем — рассылке, я хочу заострить внимание. (далее…)

Интернет. Новый мир?

Понедельник, Апрель 16th, 2012 Нет комментариев

Under : , , , ,

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

Я думаю, что многие из тех, кто начал использовать Сеть еще до изобретения WWW согласится, что тогда было… не то, чтобы лучше, но проще и интереснее. В Сети были только профессионалы, обстановка — самая дружелюбная, ты всегда знал, что можешь говорить с собеседником на одном языке, что у него есть чувство юмора… Споры, если и возникали, то велись вполне корректно… Возможно, это несколько напоминает стандартные вздыхания из серии «вот раньше было время…», но таково уж свойство человеческой памяти. (далее…)

Заработок для программиста в сети

Понедельник, Апрель 16th, 2012 Нет комментариев

Under : , , , ,

Вот, наконец, на свет появился результат бессонных ночей и испорченных нервов – новая программка. Вроде, хорошая получилась; и самому нравится, и знакомым… тут и возникает мысль: “а что, если мне её продвинуть в массы?”; а за ней другая: “хм… а если это делать за деньги — наверное, неплохо заработаю?!”.

Окрыленный гениальной идеей, начинаешь работать серым веществом… и, после непродолжительного раздумья, приходишь к мысли, что всё не так-то просто. Практически все способы распространения требуют больших денег (производство копий, продажа, реклама…) – которых, естественно, нет. (далее…)

Денежное обращение в сети

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , ,

Итак, в предыдущей статье мы узнали о том, что такое виртуальные деньги, а так же познакомились с программами, для их перевода и обращения.
Из данной статьи Вы узнаете о том, как деньги в сети вращаются, кто кому платит и кто, что с этого имеет.
Начну с того, что переводы денег с одного электронного кошелька на другой осуществляются не безвозмездно. Платёжные системы с каждого перевода взимают небольшую комиссию, WebMoney берёт 0,8% от переводимой суммы, Яндекс.Деньги оставляет себе 1% Достаточно сложно представить себе масштабы заработка этих систем, если они имеют рубль с каждых 100 переведённых. (далее…)

Получение файла из сети

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

Обычно при разработке приложений, которые планируется в дальнейшем обновлять и усовершенствовать, основные модули хранятся в виде пакетов (Package) или библиотек DLL. В настоящее время Internet предоставляет возможность без особых усилий осуществлять обновление этих модулей. Поэтому добавление к Вашему приложению функции авто-обновления, является наилучшим способом для обновления приложения.

Давайте посмотрим, как реализовывается данный механизм в любом FTP приложении. (далее…)

Первое место в результате поиска — мечта или реальность

Воскресенье, Апрель 15th, 2012 Нет комментариев

Under : , , , , ,

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

Допустим вы создали сайт и запустили его в сеть. Думаете это все? Нет! Главная работа еще впереди!

Конечно, можно сидеть и ждать, когда посетители самостоятельно отыщут вашу страничку. Если выбрать этот путь, то запаситесь терпением, ждать придется долго (может вечность). Можно так же заплатить огромные деньги и рекламировать сайт во в СМИ или развешивать объявления. Но есть бесплатный и действенный способ привлечения посетителей — это поисковые системы, место, откуда начинается путешествие большинства исследователей онлайн-пространства мировой сети. Поисковики бесплатно дают ссылку на вас людям, (далее…)