Для регистрации нужно запустить Web-браузер и в адресную строку ввести IP-адрес маршрутизатора. Значения по умолчанию для большинства домашних маршрутизаторов – 192.168.0.1, 192.168.1.1 или 192.168.2.1. Введите пароль администратора, назначенный при установке маршрутизатора (если вы забыли пароль по умолчанию для вашей модели, обратитесь на сайт www.routerpasswords.com).
Выполнив регистрацию, найдите функцию обновления встроенного ПО. Часто она находится в разделе System или Tools, но ее местоположение может быть различно у разных поставщиков и моделей. В большинстве современных маршрутизаторов есть кнопка, щелкнув на которой можно проверить наличие обновлений ПО через Сеть. Перед обновлением не забудьте записать текущие параметры настройки, так как они могут быть изменены. В некоторых маршрутизаторах есть удобный режим периодической проверки свежих версий ПО; при обнаружении обновления пользователю высылается сообщение по электронной почте.
В своих примерах мы используем два различных 802.11n-совместимых маршрутизатора, чтобы показать, как могут различаться соглашения об именовании и организация. Первый, D-Link DIR-655, не принадлежит к игровой серии (DGL), но в нем используется та же технология Ubicom StreamEngine. В маршрутизаторах компании D-Link, не отнесенных к игровым, она именуется просто «QoS Engine» вместо «GameFuel». Второй маршрутизатор – Linksys WRT301N.
Другой типичный режим маршрутизатора, предназначенный для игр, – переадресация портов. Для соединений в различных играх используются разные порты. Для успешного выполнения многих игровых программ достаточно, чтобы механизм UPnP (Universal Plug and Play) открывал порт по запросу от компьютера, а по исполнении прикладной программы закрывал его. Прежде чем беспокоиться об открывании портов, найдите режим UPnP в маршрутизаторе и убедитесь, что он активен. В нашем маршрутизаторе D-Link DIR-655 он находился на вкладке Advanced в разделе параметров Advanced Network, но его местоположение различно в разных марках и моделях устройств. В маршрутизаторе Linksys WRT310N режим UPnP расположен на вкладке Administration в разделе Management.
Если перезапуск маршрутизатора не приносит желаемого результата, возможно требуется открыть некоторые порты.
Если активизация этого режима и перезапуск маршрутизатора не приносят желаемого результата и на ПК не установлен блокирующий программный брандмауэр, нужно открыть некоторые порты. Здесь поможет отличный сайт www.portforward.com, где опубликован огромный список игр и используемых ими портов наряду с пошаговыми инструкциями для множества маршрутизаторов. В нашем примере будут открыты порты, необходимые для всех игр Xbox 360, – одно из преимуществ закрытой системы, такой, как Xbox, заключается в том, что после открытия портов для Live все игры должны работать.
На нашем маршрутизаторе DIR-655 параметры переадресации портов находятся на вкладке Advanced. Выбираем из списка слева пункт Port Forwarding, после чего открывается страница с пустыми полями для назначения открытых портов. Вводим название игры (в данном случае Xbox Live) и IP-адрес, для которого должны быть открыты порты. Затем вводятся TCP– и UDP-порты, которые нужно открыть. В данном случае это порты 53, 80, 2074 и 3074.
Но как узнать IP-адрес, используемый компьютером, т. е. внутренний IP-адрес локальной сети? В нашем примере с Xbox Live нужен IP-адрес Xbox 360. Чтобы узнать его, обратитесь к другим элементам маршрутизатора.
В нашем маршрутизаторе DIR-655 нужно перейти на вкладку Status, Device info и прокрутить список до LAN Computers. Здесь показаны MAC-адрес и IP-адрес, назначенные каждому активному устройству в сети. Устройство без имени – наше устройство Xbox 360; самый простой способ найти Xbox 360 – сделать это на самом устройстве Xbox 360. Перейдите к System Settings, Network Settings, а затем Configure Network, и вы обнаружите текущий IP-адрес (и другие сведения). Адрес нашего устройства – 192.168.0.197, и это значение нужно ввести в поле Port Forwarding. Сохраните значение и перезагрузите маршрутизатор Теперь можно приступать к работе.
На маршрутизаторе Linksys WRT310N можно найти IP-адреса локальных компьютеров в разделе Local Network на вкладке Status, нажав кнопку DHCP Client Table.
Чтобы на ПК Windows выяснить локальный IP-адрес, откройте командную строку и введите IPCONFIG, а затем отыщите строку IPv4 Address.
Порты для игр перенаправлены на локальный сетевой IP-адрес, но как определить, что IP-адрес не изменится? Как узнать, что на следующей неделе маршрутизатор по-прежнему назначит этот IP-адрес устройству Xbox 360 (либо ПК или какому-то другому устройству, для которого открываются порты)? Гарантировать, чтобы одному и тому же устройству всегда назначался один и тот же IP-адрес, можно с помощью резервирования DCHP.
Организовать резервирование DCHP сравнительно просто; самое трудное – выяснить MAC-адрес. Однако этот прием может оказаться весьма полезным, так как в результате каждый раз, когда устройство подключается к маршрутизатору, ему назначается один и тот же локальный IP-адрес.
В нашем устройстве D-Link DIR-655 соответствующий параметр находится на вкладке Setup страницы Network Settings. В разделе Add DHCP Reservation можно ввести постоянно назначаемый IP-адрес и MAC-адрес сетевого устройства. Выяснить последний иногда сложно, но в нашем маршрутизаторе рядом с Computer Name есть раскрывающийся список, в котором показаны все IP-адреса, в данный момент подключенные к маршрутизатору, и MAC-адрес будет введен автоматически.
Если нужно узнать MAC-адрес на ПК Windows, откройте окно командной строки, введите ipconfig /all, чтобы получить подробный список, и найдите строку Physical Address. На устройстве Xbox 360 вернитесь к System Settings, Network Settings, Configure Network, а затем перейдите на вкладку Additional Settings. Прокрутите список вниз до Advanced Settings (с указанным именем узла и альтернативным MAC-адресом) и выберите этот пункт. Ничего не нужно изменять, просто запомните этот MAC-адрес в нижней части экрана.
Итак, сделаны попытки открыть порты и отключить программные брандмауэры, но соединение для игры, программы VoIP или оперативной службы по-прежнему не устанавливается. В качестве последнего средства можно внести IP-адрес в демилитаризованную зону (DMZ).
На нашем маршрутизаторе DIR-655 компании D-Link параметр находится на вкладке Advanced страницы Firewall Settings. Просто установите флажок, чтобы включить DMZ, и введите IP-адрес, который нужно открыть для «джунглей» Интернета.
В маршрутизаторе Linksys WRT310N параметр DMZ находится на вкладке Applications & Gaming.
Старайтесь не использовать демилитаризованную зону постоянно. Это равносильно подключению компьютера напрямую к кабельному или DSL-модему. Отменяется преобразование сетевых адресов (NAT), порты не блокируются (если нет блокировки со стороны программного брандмауэра на локальном компьютере) и т. д. Такой прием удобен для диагностики, но делает ПК уязвимым для различных угроз.
Обладатели маршрутизатора с Ubicom StreamEngine или иными настраиваемыми пользователем QoS-средствами могут настроить маршрутизатор для назначения приоритетов различным типам трафика. В нашей модели D-Link DIR-655 есть такая функция, в Linksys WRT310N она отсутствует.
В маркетинговых материалах на сайте Ubicom описаны принципы работы StreamEngine, которые сводятся к следующему: пакетам для типов сетевого трафика, очень чувствительных к задержкам и прерываниям, назначается высокий приоритет, а маршрутизатору запрещено передавать в кабельный или DSL-модем больше данных, чем устройство может передать в Интернет, что предотвращает переполнение буфера и другие проблемы. Механизм работает весьма успешно; он не идеален, но может быть очень эффективным при запуске нескольких сетевых устройств одновременно.
Кепка с детектором сигнала WiFi. Эта штука позволяет визуально находить места, где имеется WiFi-активность (обычно возле точек доступа). Кепка (точнее, нашлепка на лбу) реагирует на излучение тем, что начинает светиться полосками. Как заявляет изготовитель, детектор достаточно чувствителен, интенсивность свечения индикаторных полосок дает возможность судить о мощности сигнала. На выбор предлагается два орнамента: с концентрическими зелеными кольцами и «радарный», голубого цвета, сама кепка может быть черная, красная или белая. Требует питания – две батарейки CR2032. Диаметр сенсора – 58 мм.
В разделе QoS Engine на вкладке Advanced (или в разделе GameFuel в игровых маршрутизаторах серии DGL компании D-Link) нужно включить функцию, установив флажок Enable Traffic Shaping and Enable QoS Engine. Для многочисленных параметров обычно можно выбрать значения по умолчанию. Особенно осторожно следует применять функцию динамической фрагментации (Dynamic Fragmentation). Она разбивает крупные пакеты на более мелкие, а некоторые приложения плохо реагируют на это.
Механизм QoS не идеален, но может быть очень эффективен при запуске нескольких сетевых устройств одновременно.
Как видно в нашем примере, можно добавить порт для определенной прикладной программы и IP-адреса, а затем для конкретного трафика назначить приоритет по шкале от 1 (самый высокий) до 255 (самый низкий). Мы назначили наивысший приоритет порту World of Warcraft, чтобы его трафик всегда проходил через маршрутизатор прежде любого другого сетевого трафика, а программе BitTorrent назначен низший приоритет, чтобы, если мы забудем закрыть BitTorrent во время игры, его трафик не закупорил каналы связи.
Похожий раздел имеется в Linksys WRT310N, хотя его возможности заметно меньше. На вкладке Applications & Gaming есть раздел QoS. Включив режим приоритета доступа в Интернет, можно скорректировать скорость передачи исходящих данных, чтобы избежать перегрузки кабельного или DSL-модема, и выбрать определенные прикладные программы либо игры из ограниченного раскрывающегося списка или добавить новую игру к списку, определив диапазон портов. Затем можно задать высокий, средний, обычный или низкий приоритет. Можно также изменить приоритет определенного порта Ethernet или MAC-адреса. Такой подход менее удобен, чем настройки на конкретном маршрутизаторе D-Link, и не столь эффективен, но это определенно лучше, чем ничего.
Описанный процесс кажется слишком кропотливым, если пользователь собирается лишь немного поиграть в Интернете, и это действительно так. Но на практике редко приходится решать все перечисленные выше задачи. Важно помнить о следующем.
Своевременно обновляйте встроенное ПО маршрутизатора и, если возможно, выбирайте проводное соединение вместо беспроводного.
Хороший современный маршрутизатор с какой-нибудь разновидностью технологии QoS или функцией назначения приоритетов может быть очень полезен, но не обязателен. Просто убедитесь в том, что пока вы играете в игры или используете VoIP, не были запущены другие программы, интенсивно использующие сеть, даже на других компьютерах.
Если не удается установить соединение с игрой, VоIP– или другой программой, в первую очередь проверьте возможно активный программный брандмауэр. Если проблем не обнаружите, попробуйте переадресовать порты на маршрутизаторе.
Используйте демилитаризованную зону только как последнее средство диагностики. При этом компьютер оказывается открытым для Интернета, программ сканирования портов и разнообразных угроз.
Если следовать основным принципам, сетевые игры с высоким быстродействием и без проблем будут обычным делом. Очень жаль, что в отрасли не согласованы параметры настройки. Самая большая проблема при установке маршрутизатора – различия в терминологии и расположении параметров в разных продуктах и моделях.
Современные игровые пограммы отличаются не только великолепной графикой. Одиночная игра уходит в прошлое, ныне геймеру-энтузиасту непременно требуется компания. Компьютер становится буквально порталом в красочные виртуальные миры. Сетевые игры покоряют как обычные ПК, так и игровые приставки (хотя их разработчики и пытаются удержать этот процесс под контролем, взимая плату за доступ к многопользовательским игровым мирам). В то же время игры предъявляют особенно высокие требования к настройке беспроводной сети, так что к решению этого вопроса следует подойти особенно внимательно. В конце концов оптимальность работы WiFi-сети в течение игрового сеанса – вопрос жизни и смерти для увлеченного игрока!
Короли, капуста и… компьютеры
Facebook и Twitter: битва за знаменитостей
Ланс Уланофф
Виноват Шакил О’Нил. Поспешные отчаянные меры, предпринятые хозяевами Facebook, чтобы помочь знаменитостям, спортивным звездам и известным людям преобразовать статические страницы в полноценные профили, – прямое следствие волны энтузиазма, вызванного баскетбольной звездой Шакилом О’Нилом, новичком в социальной сети Twitter (с псевдонимом The_Real_Shaq).
В Twitter можно встретить много знаменитостей, но большинство из них привлекают к обновлению своих страниц менеджеров и льстивых поклонников, практически все публикации представляют собой праздную болтовню или саморекламу. Исключения редки: Эштон Катчер, молодой обитатель Web 2.0 и иногда актер, и его жена, актриса Деми Мур – участники Twitter. Они действительно «щебечут» сами (хотя это не всегда похвально). Публикации же Шака – совсем другое дело.
Прежде всего Шак часто публикует свои заметки и, что важнее, постоянно приглашает к общению рядовых пользователей Twitter. Иногда он просит посетителей своего микроблога угадать, где он находится, в других случаях – найти его, чтобы поздороваться. Это новый уровень причастности к жизни знаменитости, гораздо более высокий, чем у замешанных на рекламе страниц Facebook. Думаю, такой подход сильно испугал руководителей Facebook.
В пресс-релизе Facebook опубликован список всех знаменитостей и звезд, в настоящее время представленных в Facebook, и объясняется, каким образом можно преобразовать эти страницы в профили и разделить их с массами. (Именно профилями располагают рядовые пользователи Facebook.) Но меня заинтересовал другой документ – новые рекомендации для общественных деятелей, музыкантов и сообществ. Я заглянул в раздел публичных фигур (звезды, спортсмены, политики и т. д.) этого PDF-файла и увидел, что в качестве примера используется вездесущий Эштон Катчер. За исключением довольно полезных советов по организации профиля Facebook (Бритни Спирс, это для вас!) документ представляет собой почти пародию:
«Если вы звезда, спортсмен, политик или общественный деятель, то с помощью общедоступных профилей Facebook можете организовать подлинную связь с миллионами поклонников и доброжелателей, говоря своим настоящим голосом и участвуя в разговорах, которые уже ведутся о вас в Интернете».
Небольшое число людей следит за моими публикациями в прессе. Можно ли считать меня публичной фигурой? Скорее всего, нет. Между тем рекомендации Facebook составлены для людей, которые обычно плохо разбираются в технике. Большинство из них актеры, спортсмены или люди, которые знамениты тем... что просто знамениты. Они не читают обзоров PCMag и даже не имеют страниц в MySpace.
Справедливости ради необходимо признать, что в документации Facebook отлично даны начальные сведения о способах связи, обмена контентом и охвата глобальной аудитории через новостные рассылки. Объясняется, что такое «стена» Facebook и почему заметки похожи на публикации в блогах. Однако авторы документа отклоняются от верного пути и упоминают Static FBML (Facebook Markup Language – язык разметки Facebook), проигрыватель Flash и приложения сторонних разработчиков. В этом месте (если речь не идет об Эштоне Катчере или Шаке) знаменитости начинают испытывать недоумение. Вы думаете, Майли Сайрус или Кифер Сазерленд знают, что это такое? Похоже, авторы документации Facebook не совсем четко уяснили, для кого они пишут: Стива Карелла или тех, кто его раскручивает. Эти люди наймут Web-разработчика.
«Победный бросок сверху?» Неужели непонятно? Они обращаются именно к вам, мистер The_Real_Shaq.
Усилия, прилагаемые, чтобы заинтересовать знаменитостей, лишь подчеркивают, насколько Facebook сложнее, чем Twitter. Шакил зарегистрировался в Twitter не так давно, и после всего лишь 471 публикации он собрал 233 тыс. «фолловеров». Для работы с Facebook требуется гораздо больше усилий, а результат, скорее всего, не будет столь впечатляющим.
Я не хочу сказать, что мне не нравится Facebook. Но руководство Facebook должно понять, что знаменитости (и их менеджеры) теперь считают, что участвовать в Twitter важнее. И если вы сомневаетесь в том, что поводом для беспокойства FaceBook стал бешеный успех твиттера Шака, прочитайте один из примеров, содержащихся в рекомендациях Facebook: «Дискуссионные доски. Пользователи могут и по своей инициативе начать обсуждения (например, вашего последнего публичного выступления или победного броска сверху)».
«Победный бросок сверху?» Неужели непонятно? Они обращаются именно к вам, мистер The_Real_Shaq.
Разработка ПО
«Лента друзей»: разрабатываем компонент «1С-Битрикс»
Сергей Лещенко (sle_e@mail.ru)
Прошло время, когда социальные сети считались бесполезной для бизнеса игрушкой. Все больше компаний осознают ценность данного инструмента. Появился даже специальный термин – Enterprise 2.0, обозначающий комплекс методов и подходов, позволяющих применить технологии Web 2.0 для решения типичных корпоративных задач. Рынок Web-разработок не мог не отреагировать на такие тенденции, и сегодня сложно найти систему управления сайтом (CMS), которая не предоставляла бы возможность создавать социальные сети.
Компания «1С-Битрикс» в конце 2008 г. тоже выпустила модуль «Социальные сети» для своего пакета «1С-Битрикс: Управление сайтом» (БУС), который позволяет организовывать сообщества (группы), устанавливать «дружеские отношения», вести черные списки, распределять права доступа. Пользователь или группа получают развитый набор служб: блоги, фотогалереи с массовой загрузкой фотографий, рейтингами и обсуждениями, форумы, онлайновая переписка и др. Это весьма мощная разработка, более подробный обзор которой можно найти в PC Magazine/RE, 1/2009 (ознакомиться с продуктом «вживую» можно на www.pcmag.ru/club).
В этом же обзоре речь пойдет о том, чего недостает модулю «Социальная сеть» – о так называемой «ленте друзей». С точки зрения архитектуры и принципов организации данных социальный модуль БУС похож на популярную сеть FaceBook (в России более известен ее клон «ВКонтакте»). Однако в русскоязычном сегменте Сети не меньшей популярностью пользуется служба «Живой Журнал», интерфейс которой отличается от интерфейсов FaceBook и его клонов (порой радикально). Среди прочих различий в «Живом Журнале» имеется модуль «Лента друзей» (чаще «френдлента»).
Организация материала в виде «Ленты друзей» имеет ряд преимуществ. Она удобна для быстрого просмотра за чашкой утреннего кофе (или вечернего пива) новых поступлений в дружественные дневники. В БУС есть подсистема «лог обновлений», но это не совсем удачная замена. Слишком много несущественной информации и ссылок, по которым приходится лишний раз кликать. Вроде бы мелочи, но именно мелочи определяют впечатление пользователя от сайта. В общем недоработка налицо, и мы постараемся ее исправить.
Итак, постановка задачи: необходим компонент, имитирующий в БУС «Ленту друзей». «Лента друзей» конкретного пользователя как минимум должна аккумулировать новые записи из блогов друзей (полностью или в виде анонсов) и групп, в которых состоит владелец ленты. В «Ленте друзей» групп должны собираться новые записи из блогов ее участников. И, кстати, следует отметить существенное отличие блогов «Битрикс» от блогов «Живого журнала»: в «Битрикс» пользователь может публиковать сообщения не только в своем блоге и блогах групп, в которых он состоит, но и в других блогах, если владелец блога разрешил это делать.
Сначала разберемся с внутренними объектами (или сущностями) социальной сети «пользователь» и «группа»: какие свойства они имеют и как эти свойства влияют на результат. Заметим, что в обзоре будут затронуты только вопросы, касающиеся функциональности «Ленты друзей» для блогов; форумы, фотогалереи и т. д. мы во внимание не принимаем (принципы останутся теми же, а объем статьи увеличится существенно). Материал излагается в предположении, что читатель знаком с основами разработки на PHP и с API системы «1С-Битрикс: Управление сайтом».
Из свойств объекта пользователя нас интересуют настройки, которые можно задать на персональной странице социальной сети в формах настроек приватности и прав доступа к блогам. Среди настроек приватности для нашей задачи важны два поля: «кто может смотреть друзей» и «кто может смотреть мои группы». Эти поля влияют на включение в ленту записей из блогов друзей и из блогов групп, в которых состоит владелец. Причем записи из блогов друзей или групп должны включаться только, если право на просмотр имеют все пользователи. Иными словами, если Иван зайдет на страницу «Ленты друзей» Петра, а Петр разрешает просмотр своих групп только друзьям, то Иван не должен видеть записи из блогов групп Петра, даже если между ними установлены дружеские связи (в соответствующем интерфейсе модуля «Социальная сеть»).
В настройках блогов нас интересует параметр «кто может просматривать сообщения». От него зависит, войдут ли записи блога в ленту друзей пользователя и групп, в которых он состоит, причем они будут включаться только в случае, если права на просмотр разрешены всем пользователям. Например, если Петр разрешает читать записи своего блога только друзьям и друзьям друзей, то они не попадут ни в одну из лент.
Если блоги вообще отключены, следует автоматически исключить все записи, оставленные ранее в блоге пользователя, из всех лент всех друзей.
Аналогично из свойств групп нас интересуют настройки, которые будут заданы в формах редактирования группы и настроек блогов группы.
Параметр «группа видима всем посетителям» должен учитываться при включении записей блога группы в ленты ее участников. В настройках блогов нас интересует параметр «кто может просматривать сообщения». От него зависит, войдут ли записи блога в ленты участников группы, причем они будут включаться только, если просмотр будет разрешен всем пользователям.
Теперь подберем функции, которые будут использоваться для выборки записей блогов с учетом прав доступа и связей пользователей внутри социальной сети. Сначала выясним, не заложены ли в системе уже готовые решения, на базе которых можно сформировать «Ленту друзей» или хотя бы нечто похожее. Первое, что приходит на ум – если есть компонент ведения журнала событий, то нет ли в нем подходящих функций? Изучаем список свойств и методов (или код компонента) и видим, что для получения списка событий в нем используется функция CSocNetLogEvents::GetUserLogEvents():
CSocNetLogEvents:: GetUserLogEvents(int userID, array arFilter = Array());
Функция возвращает структуру, содержащую список событий социальной сети по фильтру arFilter. Параметр userID – идентификатор пользователя, в массиве arFilter сохраняется набор параметров для выборки данных из БД. Он имеет структуру вида:
array(«фильтруемое поле»=>"значение фильтра" [, ...])
где фильтруемое поле может принимать специфичные значения: ENTITY_TYPE (тип сущности социальной сети, U – пользователь или G – группа), ENTITY_ID – идентификатор сущности социальной сети, EVENT_ID – идентификатор инициатора события (сигнатуры blog, photo, forum или system), LOG_DATE_DAYS – количество дней для выборки журнала. Фактически количество дней ограничено временем жизни журнала (неделя), очистка выполняется агентом CSocNetLog::ClearOldAgent().
Функция возвращает структуру, содержащую идентификатор события, его тип, дату и время, текстовое описание, заголовок, ссылку на страницу, имеющую отношение к событию, идентификатор модуля, где событие было инициировано, набор данных, определяющих права доступа, данные о пользователе и др. К сожалению, ознакомившись с результатами работы этой функции, напрашивается вывод, что она не совсем подходит.
Во-первых, функция CSocNetLogEvents::GetUserLogEvents() работает только в контексте пользователя, а нам нужны еще и данные групп. Во-вторых, не передаются типы записей, т. е. записи добавления комментариев и сообщений ничем не отличаются друг от друга, идентифицировать их «по-человечески» не получится. Не возвращаются ID блогов и сообщений, а они нам нужны, чтобы сформировать ссылки. Время жизни записи «Ленты друзей» принудительно ограничивается агентом модуля (это поправимо, но требует вмешательства в обработку соответствующего события, чего делать не хотелось бы). Возможно, в будущих версиях «Социальной сети» разработчики «Битрикс» предпримут какие-то меры, но сегодня ситуация такова.