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

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

С течением времени становится все отчетливее видно, как Microsoft планомерно и без особого шума реализует свои революционные идеи на практике.

Прокладка кабеля

Сначала выясним, на основе какого кабеля будет построена будущая сеть. Наиболее эффективное (хотя и не самое дешевое) решение данной задачи — сеть Ethernet на основе витой неэкранированной пары.

Кабель надо брать с небольшим запасом на случай перестановки пары. Данный кабель представляет собой полимерную оплетку, внутри которой расположены четыре пары скрученных между собой медных проводов. Такой кабель довольно гибок 5-й категории (в отличие от коаксиала), что облегчает процесс его прокладки и монтажа. На каждом из концов кабель оборудуется специальными коннекторами Ш45 (очень похожими на коннекторы для телефонного кабеля). Топология сети на основе витой пары — это почти всегда звезда (за исключением тех ситуаций, когда объединяется всего два ПК с помощью перекрестного кабеля). Иными словами, все три “хвоста" исходящие от сетевых карт каждого из компьютеров, будут вставлены в специальное устройство, называемое концентратором, или хабом. Данное устройство обычно имеет от 4 до 8 разъемов для коннекторов RJ45 и стоит примерно 30—40 у.е. Естественно, каждый ПК необходимо оборудовать сетевой картой Ethernet 10/100 Mbit/s. После того как вы проложите кабель от каждого из рабочих мест к хабу, можно приступить к монтажу коннекторов. Теперь дело техники: энергично и до упора зажимаем коннектор с помощью обжимных клещей. Надвигаем держатель на корпус коннектора, и дело в шляпе!

Эволюция РnР

Как известно, Plug and Play (РnР) — это набор спецификаций, позволяющих компьютеру автоматически находить и конфигурировать устройства, устанавливать подходящие для каждого из них драйверы. Простота для потребителя и удобство всегда являлись синонимами слова “популярность", и тут РnР не стала исключением. И хотя некоторые шероховатости в работе РnР иногда все же наблюдаются, в целом технология работает.

Однако развитие идеи .NET и, соответственно, растущая актуальность сетевого взгляда на жизнь привели к тому, что идеология РnР подверглась коренному пересмотру В результате появилась технология под названием UPnP (Universal Plug and Play), расширившая понятие периферийной модели и добавившая к нему новый ракурс, сетевой. UPnP направлена на то, чтобы находить и обеспечивать корректную установку всех устройств-участников, работающих в UPnP-совместимой сети. 

Основой UPnP-сети является система адресации, базирующаяся на IP-адресах. Каждый участник должен иметь клиент DHCP (Dynamic Host Configuration Protocol) и, если сеть управляемая, при первом подключении всегда искать DHCP-сервер. Найдя таковой, участник получит от этого сервера IP-адрес, который и будет использовать в дальнейшем. Если же участник не может обнаружить DHCP-сервер (сеть неуправляемая), то для получения адреса он будет использовать Auto-IP — систему автоматического получения устройством IP-адреса из числа зарезервированных. Помимо адреса в процессе DHCP-транзакций участник получает также доменное имя для последующего сетевого взаимодействия. Доменное имя не только упрощает процесс обращения к этому устройству, но и обладает большей статичностью — независимостью от изменений, происходящих с IP-адресом этого устройства. Если доменное имя получить не удается, участник будет использовать вместо него присвоенный ему чуть ранее IP-адрес.

После этого начинается второй этап — обнаружение. Протокол обнаружения, используемый в UPnP базируется на Simple Service Discovery Protocol (SSDP). На этом этапе любое новое устройство или контрольная точка анонсируют себя в сети: если добавляется устройство, то оно сообщает контрольной точке обо всех своих сервисах или встроенных устройствах (о каждом отдельно), а если добавляется контрольная точка, она ищет интересующие ее устройства. В обоих случаях для обнаружения используются специальные сообщения-анонсы, содержащие специфичную для данного участника информацию (тип, идентификатор, URL детальной информации). Сообщение-анонс имеет срок действия, по истечении которого автоматически аннулируется. В этом случае устройство может снова повторить свое анонсирование, и так до получения положительного ответа. И устройства, и контрольные точки отслеживают все сообщения-анонсы и реагируют на них, если анонс содержит подходящий критерий, к примеру, сообщающий контрольной точке о том, что в сети появилось устройство интересующего ее типа. При выходе из сети устройство должно послать всем заинтересованным участникам противоположное по значению сообщение о том, что оно уходит, и все сервисы, которые оно до этого момента предоставляло, становятся недоступными.

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

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

Прокладка интернет кабеля

Рассмотрим прокладку сети на стройки: нахожу, определяю, конфигурирую.

Устройства могут интеллигентно входить в сеть, становясь ее полноправными участниками, и также интеллигентно из нее выходить, не вызывая при этом никаких нестабильностей или провалов в работе этой сети. Какая именно сеть будет выступать тут в качестве основы, не столь важно, главное, чтобы эта сеть поддерживала и понимала принципы UPnP. Такая универсальность и независимость от физической среды обеспечивается самой архитектурой UPnP, которая не опирается на частные способы реализации того или иного сетевого устройства или сервиса — они могут реализовываться на любом языке и в любой операционной системе. А основой являются протоколы, обеспечивающие однозначную стыковку отдельных элементов систем, построенных с использованием UPnP. Для UPnP таким протоколами являются IP, TCP, UDP, HTTP и производные от них. Для устройств или сетей, по каким-либо причинам не способных к поддержке этих протоколов, предусматриваются специальные мостики, обеспечивающие необходимое согласование. Помимо указанных протоколов для реализации UPnP, естественно, используется и ряд других технологий, таких как XML или SOAP (Symbolic Optimizing Assembler Program).

Компоненты UPnP

Ключевыми компонентами любой UPnP-совместимой сети являются устройство, сервис и контрольная точка.

Устройство

Устройство, к примеру VCR, это контейнер, содержащий набор узлов и соответствующих им сервисов: сервис, отвечающий за протяжку ленты (ЛПМ), за операции с реальным временем (таймер), за электропитание (БП) и т. д. Собранные вместе, эти узлы и сервисы составляют VCR, определяя диапазон его функциональных возможностей. Некоторые устройства могут иметь родственные сервисы (к примеру, таймер в VCR и в микроволновке). Это позволяет объединить устройства в группы и организовать централизованное управление ими. Но поскольку любое устройство чаще всего является вполне автономным аппаратом, ссылка на описывающую его информацию должна храниться внутри него самого. Это необходимо, чтобы устройство можно было легко и быстро связать с этой описательной информацией. Такая описательная информация представляется в виде специального XML-документа (device description document)

Сервис

Второй ключевой компонент UРnР — сервис, являющийся наименьшей “единицей управления” любой UРnР-совместимой сети. Сервис содержит так называемые переменные состояния, которые увязывают в единое целое действия и состояния, присущие данному сервису. Возьмем, к примеру, обычные электронные часы. Переменной состояния тут является время, а действиями — функции по установке и извлечению текущего значения этой переменной. Чтобы управляться со всем этим, каждый сервис снабжен таблицей состояния, управляющим и событийным серверами.

Таблица состояний предназначена для моделирования состояния сервиса посредством упомянутых переменных состояния, которые обновляются в соответствии с внешними или внутренними условиями или событиями.

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

Событийный сервер сообщает о том или ином событии внутри сервиса всем заинтересованным участникам (другим сервисам или контрольным точкам) всякий раз, когда состояние этого сервиса изменяется. К примеру, в часах сработал будильник, и информация о том. что пора просыпаться и запускать свои сервисы, уходит ко всем зависящим от этого сигнала устройствам. Так же, как и устройство, каждый сервис имеет свой описательный ХМL_документ (service description), указатель на который (URL) содержится в описательном документе родительского устройства. Информация, содержащаяся в этом документе, отличается по составу от той, что содержится в описателе устройства. В описание сервиса включаются список команд или действий, на которые уполномочен реагировать этот сервис, список возможных ответов сервиса, параметры или аргументы для каждой команды. Помимо этого описание сервиса содержит названия всех переменных состояния с указанием типа данных и диапазона их возможных значений.

Контрольная точка

И, наконец, третий ключевой компонент UРnР-сети. Контрольная точка — это контроллер, или механизм, способный манипулировать другими устройствами. Контрольные точки являются теми узлами, к которым “привязываются” все входящие или уже активные участники сети. Сначала контрольная точка пытается обнаружить то или иное устройство. В случае успеха, а также если какое-то устройство подает признаки жизни и пытается "войти” в сеть, контрольная точка извлекает описание этого устройства, получает список всех связанных с ним сервисов и их описательные документы. После этого производится настройка сервисов и подписка их событийных серверов, чтобы контрольная точка всегда могла адекватно отреагировать на любые изменения в состоянии этого устройства. На построение программного или аппаратного обеспечения, выполняющего функции контрольной точки, не накладывается жестких ограничений. Любой производитель вправе сам определять API, на базе которого она будет реализована.

×

Заказать звонок

Введен недействительный тип данных
Введен недействительный тип данных