УСТРОЙСТВО И СПОСОБ РЕАЛИЗАЦИИ СЕТИ ПЕРЕДАЧИ ДАННЫХ, ИСПОЛЬЗУЕМОЙ ДЛЯ УДАЛЕННОГО УПРАВЛЕНИЯ ЖИЛИЩЕМ
DEVICE AND METHOD FOR IMPLEMENTING DATA TRANSMISSION NETWORK USED FOR REMOTE HOUSE CONTROL

Область техники
Настоящее изобретение относится к способу реализации сети передачи данных, необходимой для использования дистанционно управляемых исполнительных устройств в жилище.
Уровень техники
Дистанционно управляемые устройства и системы все чаще устанавливаются в жилых помещениях и домах. Целью установки таких систем является обеспечение безопасности в жилищах и/или поддержание удобных и безопасных условий для жизни. Спектр дистанционно управляемых или дистанционно контролируемых устройств обширен. В одном жилище могут использоваться устройства нескольких изготовителей. Эти устройства часто не могут осуществлять связь напрямую друг с другом. Кроме того, обычно у каждой системы своя логика функционирования, и дистанционное управление такой системой требует использования специализированного средства передачи данных.
Строительные компании недавно начали решать эту проблему весьма радикально, для чего заказывают у оператора для объекта заказчика собственную отдельно оплачиваемую дополнительную линию связи с индивидуальными для каждого объекта договорными услугами, которая должна обслуживаться отдельно; такая связь осуществляется либо через телефонную сеть, либо через широкополосную сеть, которая может быть стационарной сетью или беспроводной сетью 2G/3G. Несмотря на наличие некоторых недостатков, большинство компаний в настоящее время считают такой подход наиболее удобным.
Если на объекте появляется новое дополнительное подключение, то для него, как правило, необходимо отдельно согласовывать вопросы передачи данных с администратором местной внутренней сети (интранета). Чтобы установление дистанционного соединения стало возможным, администратор интранета, скорее всего, должен будет выполнить дополнительную настройку сети.
Можно пытаться решать проблему дистанционного управления объектом и с помощью технических решений, индивидуальных для конкретной прикладной задачи. Например, поставщик устройства может приобрести у оператора радиосеть для собственного использования и создать в ней имя частной точки доступа (access point name, APN), которое определяет настройки передачи данных в сетях GPRS (General Packet Radio Service, служба пакетной радиопередачи данных общего пользования) и HSDPA (High Speed Downlink Packet Access, высокоскоростная пакетная передача в нисходящей линии связи)/HSUPA (High Speed Uplink Packet Access, высокоскоростная пакетная передача в восходящей линии связи). С использованием настроек APN подключение устройств на объекте к Интернету осуществляется через беспроводную сеть 2G/3G/4G. В таких случаях пользователь должен отдельно платить за подключение, за интерфейсные модемы и программы, делающие возможным дистанционное использование данного подключения. Часто такое дополнительное подключение ограничено лишь возможностью использования для одной задачи, например, для дистанционного использования устройств, предоставленных застройщиком, или не обладает технической возможностью использования для других целей. Кроме того, в настоящее время операторы, как правило, ограничивают объем данных, разрешенный для передачи в таких подключениях, а превышение установленного объема может привести к значительным дополнительным расходам владельца подключения.
В объектах типа жилищных кооперативов, где имеются жилища нескольких собственников, может предоставляться «дистанционное управление», действующее лишь в пределах интранета между жилищами. Реальная дистанционная связь для таких объектов становится невозможной, если пользователь дистанционной связи физически находится вне жилища, подключенного к указанному интранету.
Раскрытие изобретения
Целью настоящего изобретения является предложение необходимой для дистанционного управления техническими устройствами в жилище новой системы передачи шифрованных данных, в которой в целях дистанционного управления и наблюдения в неизменном виде используется уже имеющееся в жилых помещениях и домах подключение к Интернету. С использованием способа установления соединения для передачи данных в соответствии с настоящим изобретением изменяется целевой объект подключения жилища, в результате чего это подключение без модификации становится пригодным для дистанционного использования. Уже имеющиеся функции подключения объекта к сети передачи данных и интранет объекта при этом не затрагиваются.
Цели настоящего изобретения достигаются использованием способа установления соединения для передачи данных, в котором сетевое устройство управления домом, стационарно установленное в жилище, и сетевой ключ управления домом, принадлежащий лицу, осуществляющему контроль за жилищем, устанавливают защищенное двунаправленное соединение через Интернет на основании контактной информации, принятой ими из сервера сети управления домом в соответствии с настоящим изобретением. Находящееся в жилище сетевое устройство управления домом, с которым соединены устройства, подлежащие дистанционному управлению или дистанционному контролю, соединено с установленным в жилище интерфейсным устройством сети передачи данных или сетевым терминалом, например, с модемом.
Текущие IP-адреса сетевого устройства управления домом и сетевого ключа управления домом хранятся в сервере сети управления домом, относящемся к настоящему изобретению; при этом указанные IP-адреса используются для установления соединения между указанными устройствами. Благодаря способам установления соединения в соответствии с настоящим изобретением оба указанных устройства могут быть соединены с некоторой частной, необщедоступной сетью, но при этом, тем не менее, могут иметь возможность устанавливать между собой через Интернет защищенное соединение для передачи данных. Преимуществом может являться то, что для установления соединения для передачи данных через Интернет между мобильным сетевым ключом управления домом и стационарным сетевым устройством управления домом достаточно, чтобы указанные устройства в дополнение к имеющимся IP-адресам, не являющимся общедоступными, получили в некоторый момент установления соединения общедоступные (публичные) IP-адреса. В предпочтительном варианте осуществления настоящего изобретения сервер сети управления домом после передачи IP-адресов устройств, к которым будет осуществляться доступ, в указанные устройства, в самом установлении соединения для передачи данных не участвует.
Преимущество способа установления соединения для передачи данных, используемого в системе дистанционного управления в соответствии с настоящим изобретением в жилище, состоит в том, что оба устройства из пары сетевых устройств управления домом могут осуществлять поиск маршрутизации от места своего размещения до IP-адреса устройства в жилище, соединенного с Интернетом, и сохранять найденный маршрут в отдельном сервере сети управления домом в Интернете с целью идентификации данной пары устройств и хранения ее IP-адресов.
Еще одно преимущество настоящего изобретения состоит в том, что каждая пара устройств сети управления домом в соответствии с настоящим изобретением независимо образует между собой заранее заданную уникальную пару устройств или группу устройств, которые идентифицируют друг друга в сети передачи данных, подлежащей установлению. Благодаря используемому способу идентификации сетевой ключ управления домом, который пользователь носит с собой, или компьютерная программа, установленная в некотором устройстве обработки данных и предназначенная для осуществления функций сетевого ключа управления домом, устанавливает сетевое соединение только с собственными уникальными парными сетевыми устройствами управления домом, но не может устанавливать соединение с какими-либо другими сетевыми устройствами.
Еще одно преимущество настоящего изобретения состоит в том, что пара устройств системы дистанционного управления в соответствии с настоящим изобретением могут независимо с помощью адресной информации из сервера сети управления домом устанавливать между собой соединение для передачи данных на канальном уровне (уровне 2) или также на сетевом уровне (уровне 3) прямой двунаправленной защищенной модели OSI (Open Systems Interconnection Reference Model, типовая модель взаимодействия открытых систем) через обслуживающие местные сетевые устройства и Интернет (VPN, Virtual Private Network, виртуальная частная сеть).
Еще одно преимущество настоящего изобретения состоит в том, что пара сетевых устройств управления домом может устанавливать между собой защищенное соединение для передачи данных и через такие межсетевые экраны, которые время от времени меняют свой исходный и/или целевой порт.
Способ установления виртуальной частной сети между двумя сетевыми терминалами сети управления домом в соответствии с настоящим изобретением отличается тем, что
- как первый сетевой терминал, так и второй сетевой терминал, образующие заранее заданную пару сетевых терминалов, членам которой разрешено осуществлять связь только между собой, периодически передают в сервер сети управления домом запрос о том, соединено ли другое устройство указанной пары устройств с сетью передачи данных, и, если так, то
- как первый сетевой терминал, так и второй сетевой терминал соединяются с сервером сети управления домом с целью установления виртуальной частной сети и запрашивают у сервера сети управления домом информацию маршрутизации с целью установления сквозного соединения для передачи данных между указанными сетевыми терминалами;
-сервер сети управления домом, проверив, что указанные сетевые терминалы являются заранее заданной парой сетевых терминалов, передает как в первый сетевой терминал, так и во второй сетевой терминал запрошенную информацию маршрутизации; и
- первый сетевой терминал и второй сетевой терминал с целью создания по меньшей мере одной виртуальной частной сети запускают операцию установления сквозного соединения для передачи данных с использованием нескольких известных способов установления виртуальной частной сети.
Сетевой ключ управления домом в соответствии с настоящим изобретением, соединяемый с виртуальной частной сетью, отличается тем, что может содержать процессор, память и сохраненный в памяти компьютерный программный код, которые обеспечивают возможность
- периодически передавать в сервер сети управления домом запрос о том, соединено ли с сетью передачи данных сетевое устройство управления домом, которое заранее задано в качестве парного сетевого терминала для сетевого ключа управления домом и с которым сетевому ключу управления домом разрешено осуществлять связь, и, если так, то
- соединяться с сервером сети управления домом и запрашивать у сервера сети управления домом информацию маршрутизации сетевого устройства управления домом с целью установления виртуальной частной сети с сетевым устройством управления домом;
- принимать из сервера сети управления домом информацию маршрутизации сетевого устройства управления домом; и
- запускать операцию установления сквозного соединения для передачи данных с использованием нескольких известных способов установления виртуальной частной сети с целью создания по меньшей мере одной виртуальной частной сети с сетевым устройством управления домом.
Сетевое устройство управления домом в соответствии с настоящим изобретением, устанавливаемое в жилище и соединяемое с виртуальной частной сетью, отличается тем, что его процессор, память и сохраненный в памяти компьютерный программный код обеспечивают возможность
- периодически передавать в сервер сети управления домом запрос о том, соединен ли с сетью передачи данных сетевой ключ управления домом, который заранее задан в качестве парного сетевого терминала для сетевого устройства управления домом и только с которым сетевому устройству управления домом разрешено осуществлять связь, и, если так, то
- соединяться с сервером сети управления домом и запрашивать у сервера сети управления домом информацию маршрутизации сетевого ключа управления домом с целью установления виртуальной частной сети с сетевым ключом управления домом;
- принимать из сервера сети управления домом информацию маршрутизации сетевого ключа управления домом; и
- запускать операцию установления сквозного соединения для передачи данных с использованием нескольких известных способов установления виртуальной частной сети с целью создания по меньшей мере одной виртуальной частной сети с сетевым ключом управления домом.
Компьютерная программа в соответствии с настоящим изобретением, используемая в сетевом ключе управления домом, отличается тем, что содержит
- кодовые средства для периодической передачи в сервер сети управления домом запроса о том, соединено ли с сетью передачи данных устройство управления домом, с которым сетевой ключ управления домом образует заранее заданную пару терминалов, членам которой разрешено осуществлять связь только между собой, и, если так, то
- кодовые средства для осуществления соединения с сервером сети управления домом и для запроса у сервера сети управления домом информации маршрутизации сетевого устройства управления домом с целью установления виртуальной частной сети с сетевым устройством управления домом;
- кодовые средства для приема из сервера сети управления домом информации маршрутизации сетевого устройства управления домом; и
- кодовые средства для запуска операции установления сквозного соединения для передачи данных с использованием нескольких известных способов установления виртуальной частной сети с целью создания по меньшей мере одной виртуальной частной сети с сетевым устройством управления домом.
Компьютерная программа в соответствии с настоящим изобретением, используемая в сетевом устройстве управления домом, отличается тем, что содержит
- кодовые средства для периодической передачи в сервер сети управления домом запроса о том, соединен ли с сетью передачи данных сетевой ключ управления домом, с которым сетевое устройство управления домом образует заранее заданную пару сетевых терминалов, членам которой разрешено осуществлять связь только между собой, и, если так, то
- кодовые средства для осуществления соединения с сервером сети управления домом и для запроса у сервера сети управления домом информации маршрутизации сетевого ключа управления домом с целью установления виртуальной частной сети с сетевым ключом управления домом;
- кодовые средства для приема из сервера сети управления домом информации маршрутизации сетевого ключа управления домом; и
- кодовые средства для запуска операции установления сквозного соединения для передачи данных с использованием нескольких известных способов установления виртуальной частной сети с целью создания по меньшей мере одной виртуальной частной сети с сетевым ключом управления домом.
Некоторые предпочтительные варианты осуществления настоящего изобретения представлены в зависимых пунктах формулы изобретения.
Основная идея настоящего изобретения состоит в следующем: с целью осуществления дистанционного управления в некотором жилище изготавливают пару устройств, в которую входят сетевое устройство управления домом и сетевой ключ (устройство) управления домом, причем по меньшей мере одно сетевое устройство управления домом и по меньшей мере один сетевой ключ (устройство) управления домом могут устанавливать между собой, и только между собой, защищенное соединение для передачи данных. Указанным сетевым ключом (устройством) управления домом может быть или самостоятельное электронное устройство, изготовленное для данной цели, или какое-либо устройство обработки данных, в котором заранее была установлена компьютерная программа в соответствии с настоящим изобретением, выполняющая функции сетевого ключа управления домом.
Сетевое устройство управления домом, имеющееся в жилище, подлежащем дистанционному управлению, подключается к существующим в жилище, подлежащем дистанционному управлению, внутренней сети (интранету) или подключению к Интернету. Оно создает во внутренней сети или в Интернете одну подсеть, внутреннюю сеть (интранет) управления, с которой посредством проводного или беспроводного соединения для передачи данных соединяются разнообразные исполнительные устройства, находящиеся в жилище и подлежащие дистанционному управлению.
В одном предпочтительном варианте осуществления настоящего изобретения индивидуальный сетевой ключ управления домом или несколько сетевых ключей управления домом могут функционировать в качестве устройства из пары для двух или более сетевых устройств управления домом в разных жилищах. Идентификационные коды сетевого устройства управления домом и сетевого ключа управления домом сохраняются в указанных устройствах при их изготовлении; или же смена идентификационных кодов данных устройств может осуществляться при соединении устройств, например, посредством их портов USB. Используя указанные идентификационные коды, сетевое устройство управления домом и сетевой ключ управления домом устанавливают двунаправленное защищенное соединение для передачи данных между собой.
При запуске оба устройства определяют необходимую для установления соединения информацию маршрутизации от своего местоположения в сети до сетевого терминала, соединенного с Интернетом. Данная информация маршрутизации хранится в соединенном с Интернетом сервере сети управления домом в соответствии с настоящим изобретением. Если сетевому ключу (устройству) управления домом требуется установить соединение для передачи данных через Интернет со своим парным устройством, находящемся в некотором жилище, то указанный сетевой ключ управления домом получает информацию маршрутизации сетевого устройства управления домом, функционирующего в качестве парного устройства, у сервера сети управления домом. Используя полученную информацию маршрутизации, сетевой ключ управления домом запускает операцию установления прямого сквозного соединения для передачи данных, в которой между сетевым ключом управления домом и сетевым устройством управления домом устанавливают, предпочтительно, защищенную виртуальную частную сеть (VPN). При установлении соединения для передачи данных в соответствии с необходимостью используются соответствующие протоколы передачи данных.
Сначала, предпочтительно, может предприниматься попытка установления сквозного соединения для передачи данных в форме соединения для передачи данных на основе TCP или в форме соединения для передачи данных на основе UDP, если это допускают компоненты сети передачи данных между устройствами.
Если устанавливаемое соединение для передачи данных содержит сетевые компоненты (например, межсетевые экраны), которые с целью предотвращения сетевых атак время от времени меняют свои исходные и/или целевые порты, то в дополнение к вышеуказанным, предпочтительно, может предприниматься попытка установления сквозного соединения для передачи данных с использованием сканирования портов UDP. Помимо сканирования портов UDP, может предприниматься попытка установления сквозного соединения для передачи данных также с использованием протокола ICMP.
Если по той или иной причине установление прямого сквозного соединения для передачи данных с использованием вышеуказанных протоколов невозможно, то устанавливается защищенный туннель на основе протокола TCP через сервер сети управления домом, относящийся к настоящему изобретению. В данном варианте осуществления сервер сети управления домом не шифрует принятые им защищенные сообщения, а пропускает их в принимающее устройство напрямую в неизменном виде. Если при использовании данного установленного ретранслируемого соединения TCP выясняется, что имеется возможность установления соединения VPN для передачи данных, то, предпочтительно, для передачи данных переходят на использование этого другого двунаправленного сквозного соединения для передачи данных.
Когда либо прямое соединение для передачи данных, либо соединение для передачи данных, ретранслируемое через сервер сети управления домом, было установлено, тем самым было установлено и прямое соединение VPN для передачи данных между сетевым ключом управления домом и сетевым устройством управления домом, находящимся в жилище.
Сетевое устройство управления домом в соответствии с настоящим изобретением устанавливается во внутренней сети передачи данных жилища, подлежащего дистанционному управлению, между существующей внутренней сетью передачи данных, относящейся к управлению жилищем и наблюдению за ним, и сетевым терминалом, ретранслирующим трафик от жилища в Интернет. Все устройства, относящиеся к управлению жилищем, присоединены ко входам сетевого устройства управления домом, а с выходом сетевого устройства управления домом соединен вход, предназначенный для модуля интранет сетевого терминала, ретранслирующего трафик Интернета.
В сетевой системе управления домом в соответствии с настоящим изобретением сетевой ключ управления домом представляет собой устройство, содержащее сетевой терминал и соответствующее устройство обработки данных, соединенные посредством либо беспроводного, либо проводного соединения.
В еще одном варианте осуществления в соответствии с настоящим изобретением сетевой ключ управления домом может быть соединен с каким-либо устройством обработки данных, соединенным с Интернетом. Таким устройством обработки данных может быть, например, персональный компьютер, планшетный компьютер или смартфон. В данном варианте осуществления соединение сетевого ключа управления домом с устройством обработки данных может быть выполнено, например, с использованием интерфейса LAN (Local Area Network, локальная сеть), интерфейса WLAN (Wireless LAN, беспроводная локальная сеть), интерфейса WAN (Wide Area Network, глобальная сеть), интерфейса USB (Universal Serial Bus, универсальная последовательная шина) или интерфейса антенны.
В одном предпочтительном варианте осуществления настоящего изобретения компьютерная программа, выполняющая функции сетевого ключа управления домом, хранится на портативном носителе информации, например, в малогабаритном USB-накопителе, с которого указанная компьютерная программа может быть установлена в подходящее устройство обработки данных. Программа, установленная в устройстве обработки данных, эмулирует все функции сетевого ключа управления домом.
Краткое описание чертежей
Далее настоящее изобретение описывается подробно. В описании делаются ссылки на сопровождающие чертежи, на которых:
фиг. 1а представляет пример того, как двунаправленное соединение для передачи данных в соответствии с настоящим изобретением может быть установлено между клиентским устройством, осуществляющим дистанционное управление, и индивидуальным устройством контроля или управления жилищем;
фиг. 1b представляет еще один пример того, как двунаправленное соединение для передачи данных в соответствии с настоящим изобретением может быть установлено между клиентским устройством, осуществляющим дистанционное управление, и индивидуальным устройством контроля или управления жилищем;
фиг. 2 представляет диаграмму примера того, как устанавливается соединение для передачи данных между клиентским устройством и устройством, находящимся в жилище;
фиг. 3a представляет пример частных шагов, содержащихся в шаге 201 на фиг. 2;
фиг. 3b представляет пример шага установления, содержащегося в шаге 206 на фиг. 2;
фиг. 4 представляет пример сетевого устройства управления домом в соответствии с настоящим изобретением;
фиг. 5а представляет пример сетевого ключа управления домом в соответствии с настоящим изобретением;
фиг. 5b представляет еще один пример сетевого ключа управления домом в соответствии с настоящим изобретением;
фиг. 6 представляет пример сервера сети управления домом в соответствии с настоящим изобретением; а
фиг. 7 представляет уровни соединения в соответствии с настоящим изобретением, используемые в сетевой системе управления домом.
Осуществление изобретения
Варианты осуществления в нижеследующем описании приведены лишь в качестве примеров, и специалист в данной области техники сможет осуществить основную идею настоящего изобретения и способом, отличным от способа, приведенного в настоящем описании. Хотя в некоторых местах описание может ссылаться на определенный вариант или варианты осуществления изобретения, это не означает, что указанная ссылка может быть применима только к описанному варианту осуществления или что описываемое свойство может быть использовано только в одном описанном варианте осуществления. Отдельные свойства двух или более вариантов осуществления изобретения могут быть объединены, тем самым могут быть предложены новые варианты осуществления настоящего изобретения.
На фиг. 1а и 1b показаны два предпочтительных варианта 1А и 1B осуществления системы дистанционного управления в соответствии с настоящим изобретением. В примерах на фиг. 1а и 1b один сетевой ключ 42, 42b управления домом или устройство 41c обработки данных, которому путем использования программного обеспечения были приданы функции сетевого ключа управления домом, используется для установления соединения для передачи данных с одним сетевым устройством 61 управления домом в некотором жилище. Тем не менее, сетевой ключ 42, 42b управления домом или устройство 41c обработки данных, которому были приданы функции сетевого ключа управления домом в соответствии с настоящим изобретением, также может с пользой работать с несколькими разными устройствами управления домом, расположенными в двух или более жилищах.
В обоих вариантах осуществления изобретения сеть передачи данных на фиг. 1а и 1b в целом имеет одинаковую базовую сетевую структуру. На фиг. 1 и 2 для Интернета использовано обозначение 2. К Интернету 2 подключена некоторая общедоступная сеть или интранет, обозначение 3. Сеть 3 может быть стационарной или беспроводной сетью передачи данных. На фиг. 1а с сетью 3 соединена первая сеть 4 передачи данных, удаленная сеть управления домом, с которой может быть соединено клиентское устройство 41а, осуществляющее дистанционное управление. На фиг. 1b сетевой ключ 42b управления домом соединен с устройством 41c обработки данных, которое и в этом случае соединяется с общедоступной сетью или интранетом (внутренней сетью) 3.
Сетевое устройство 61 управления домом или сетевой ключ 42, 42b управления домом в ходе соединения с собственной местной сети передачи данных периодически передает в сервер 21 сети управления домом, принадлежащий системе дистанционного управления, запрос, чтобы определить, соединено ли с сетью соответствующее парное устройство. Если из ответа, переданного сервером 21 сети управления домом, следует, что соответствующее парное устройство соединено со своей сетью передачи данных, то оба члена указанной пары устройств запускают операцию установления виртуальной частной сети (соединения VPN для передачи данных) путем выполнения шагов, описанных далее.
Внутридомовой интранет жилища, подлежащего дистанционному управлению, на фиг. 1а и 1b имеет обозначение 5. С интранетом 5 соединена вторая сеть 6 передачи данных, интранет управления домом. С интранетом управления домом соединены исполнительные устройства 62-65, подлежащие дистанционному управлению.
Специалисту в данной области техники должно быть понятно, что между сетевым устройством 61 управления домом и/или сетевым ключом 42, 42b или 41c управления домом в соответствии с настоящим изобретением и Интернетом 2 может быть больше подсетей, чем показано на фиг. 1а и 1b.
В примерах на фиг. 1а и 1b второй сетевой терминал в соответствии с настоящим изобретением, то есть сетевое устройство 61 управления домом (home control network device, HCND), соединено с интранетом 5 дома с адресом 10.0.0.0/24. Интранет 5 дома соединен с Интернетом 2 через сетевой терминал 51. Сетевым терминалом 51 может быть маршрутизатор, модем или межсетевой экран, который также может включать транслятор сетевых адресов (Network Address Translator, NAT). В примерах на фиг. 1а и 1b интранет 5 находится за межсетевым экраном FW1, обозначение 51, содержащим функциональный модуль NAT. В примерах на фиг. 1а и 1b межсетевой экран FW1 имеет общедоступный IP-адрес 240.1.1.2. Внутренний IP-адрес межсетевого экрана FW1 в интранете 5 равен 10.0.0.1. С интранетом 5 в качестве примера соединены два других устройства обработки данных; IP-адреса указанных устройств в интранете 5 равны 10.0.0.3 и 10.0.0.4.
Интранет управления домом с адресом 172.17.0.0/24 (House Control Intranet, HCI), обозначение 6, соединен с интранетом 5 дома через сетевое устройство 61 управления домом. IP-адрес сетевого устройства 61 управления домом в интранете 6 управления домом равен 172.17.0.1, а в интранете 5 дома равен 10.0.0.2. В примерах на фиг. 1а и 1b с интранетом 6 управления домом в качестве примера соединены четыре устройства/сервера 62, 63, 64 и 65. Указанные устройства/серверы могут быть соединены с интранетом 6 управления домом с использованием либо стационарного соединения, либо беспроводного соединения для передачи данных.
Обозначением 62 указан веб-сервер управления освещением, IP-адрес которого в интранете управления домом равен 172.17.0.5. Для удаленного пользователя веб-сервер 62 управления освещением виден как устройство HCND4.
Обозначением 63 указан веб-сервер управление отоплением, IP-адрес которого в интранете управления домом равен 172.17.0.4. Для удаленного пользователя веб-сервер 63 управления отоплением виден как устройство HCND1.
Обозначением 64 указан веб-сервер камеры видеонаблюдения, IP-адрес которого в интранете управления домом равен 172.17.0.3. Для удаленного пользователя веб-сервер 62 камеры видеонаблюдения виден как устройство HCND2.
Обозначением 65 указан веб-сервер управления кондиционированием воздуха, IP-адрес которого в интранете управления домом равен 172.17.0.2. Для удаленного пользователя веб-сервер 65 управления кондиционированием воздуха виден как устройство HCND3.
В примере на фиг. 1а с удаленной сети 4 управления домом (с адресом 172.17.0.0/24) соединен первый сетевой терминал в соответствии с настоящим изобретением, то есть сетевой ключ 42 управления домом (home control network key, HCNK). Удаленная сеть 4 управления домом находится за межсетевым экраном FW2 интранета 3, обозначенным как 31. Общедоступный IP-адрес межсетевого экрана 31 NAT в данном примере равен 240.2.1.2, а внутренний IP-адрес указанного межсетевого экрана NAT равен 10.0.1.1.
Сеть 4 удаленного управления домом с адресом 172.17.0.0/24 (house control remote network, HCRN), соединена с сетью 3 передачи данных через сетевой ключ 42 управления домом в соответствии с настоящим изобретением. IP-адрес сетевого ключа 42 управления домом в интранете 3 равен 10.0.1.2, а в удаленной сети управления домом равен 172.17.0.6. В примерах на фиг. 1а и 1b с удаленной сетью 4 управления домом в качестве примера соединено устройство 41а обработки данных; IP-адрес указанного устройства обработки данных в удаленной сети 4 управления домом равен 172.17.0.7. Данное устройство 41а обработки данных используется при необходимости дистанционного управления устройствами/серверами 62, 63, 64 и 65, соединенными с сетью 6 (интранетом) управления домом.
Сетевому ключу 42 управления домом и сетевому устройству 61 управления домом в соответствии с настоящим изобретением для установления между собой сквозного соединения для передачи данных на канальном или сетевом уровне (в примерах на фиг. 1а и 1b это соединение 55 VPN для передачи данных) требуется информация маршрутизации другого устройства. Определенная таким образом информация маршрутизации сохраняется как сетевым ключом 42 управления домом, так и сетевым устройством 61 управления домом в соответствии с настоящим изобретением в сервере 21 сети управления домом (Home Control Network Server, HCNS) в Интернете.
В примере на фиг. 1а межсетевые экраны NAT не запрещают полностью исходящую связь UDP. Это так называемые межсетевые экраны NAT в одном состоянии и «с памятью», которые не меняют и исходные номера портов соединения UDP (User Datagram Protocol) непредсказуемым образом, если это от них не затребовано. В примере на фиг. 1а целью является установление на канальном уровне соединения уровня Ethernet между сетевым ключом 42 управления домом и сетевым устройством 61 управления домом.
Если в системе 1А дистанционного управления в соответствии с фиг. 1а требуется установить соединение 55 для передачи данных, принадлежащее виртуальной частной сети (VPN) между устройствами, то каждое из устройств 42 и 61 получает из сервера 21 сети управления домом информацию маршрутизации, сохраненную там соответствующим парным устройством. Перед тем, как предоставить указанную информацию маршрутизации, сервер 21 сети управления домом проверяет, что запрос действительно поступил из допустимого устройства, парного сетевому ключу управления домом или сетевому устройству управления домом. Используя принятую указанным образом информацию маршрутизации, сетевой ключ 42 управления домом и сетевое устройство 61 управления домом устанавливают между собой прямое соединение VPN. Когда установление соединения 55 VPN завершено, устройство 41а обработки данных в удаленной сети 4 управления домом может установить связь с устройством 62, 63, 64 или 65 в сети 6 управления домом.
Чтобы иметь возможность установить соединение для передачи данных, сетевой ключ 42 управления домом и сетевое устройство 61 управления домом должны определить свой сетевой маршрут из своей собственной сети по меньшей мере в Интернет 2. В дальнейшем указанная информация о сетевом маршруте называется информацией маршрутизации. Указанное определение сетевого маршрута может быть выполнено, например, описанными ниже способами, которые сетевой ключ 42 управления домом и сетевое устройство 61 управления домом, предпочтительно, используют.
В примере на фиг. 1а сетевые маршруты определяются сетевым ключом 42 управления домом и сетевым устройством 61 управления домом. Данные устройства сохраняют обнаруженные указанным образом сетевые маршруты в сервере 21 сети управления домом; который сохраняет указанные маршруты в своей памяти.
Сетевой ключ 42 управления домом и сетевое устройство 61 управления домом в соответствии с настоящим изобретением также, предпочтительно, имеют возможность определять свободное виртуальное пространство. Указанные устройства выполнены с возможностью автоматически определять для себя доступное виртуальное пространство с использованием информации о сетевом маршруте, хранящейся на сервере 21 сети управления домом. Указанные устройства запрашивают у сервера 21 сети управления домом предоставление некоторой свободной части виртуального пространства. Сервер 21 сети управления домом анализирует принятые им сетевые маршруты и возвращает некоторый блок сетевых адресов, ни один адрес которого не содержится в сетевом маршруте какого-либо из известных устройств.
Сетевое устройство 61 управления домом также, предпочтительно, в своих подсетях 4 и 6 предоставляет службы DHCP и DNS для устройств, соединенных с указанной подсетью. Кроме того, сетевой ключ 42 управления домом и сетевое устройство 61 управления домом функционируют как шлюз по умолчанию для устройств, соединенных с указанной подсетью.
На фиг. 1b показана еще одна система 1B дистанционного управления в соответствии с настоящим изобретением. На фиг. 1b устройство 41c обработки данных, используемое пользователем, соединено с сетью передачи данных, обозначенной номером 3. Вариант осуществления на фиг. 1b отличается от варианта осуществления на фиг. 1а тем, что функции сетевого ключа 42 управления домом на фиг. 1а выполняются сетевым ключом 42b управления домом, имеющим память 42е с интерфейсом USB, которая может быть подключена к устройству 41c обработки данных, используемому пользователем. В данном варианте осуществления устройство 41c обработки данных и память 42b с интерфейсом USB совместно образуют сетевой ключ управления домом.
В еще одном предпочтительном варианте осуществления настоящего изобретения в устройство 41c обработки данных устанавливается компьютерная программа, выполняющая функции сетевого ключа управления домом в соответствии с настоящим изобретением. Указанная компьютерная программа может быть, предпочтительно, сохранена в устройстве 41c обработки данных из, например, USB-накопителя 42b путем подключения USB-накопителя к порту USB устройства 41c обработки данных. Специалисту в данной области техники должно быть очевидно, что в качестве средств хранения компьютерной программы могут использоваться и другие носители информации известного уровня техники. В данном варианте осуществления устройство 41c обработки данных эмулирует сетевой ключ управления домом в соответствии с настоящим изобретением посредством компьютерной программы, установленной в указанном устройстве.
В примере на фиг. 1b, сетевой ключ 42 управления домом варианта осуществления, показанного на фиг. 1а, полностью или частично эмулируется в пользовательском устройстве 41c обработки данных. Пользователь устанавливает связь с данным эмулирующим программным обеспечением посредством браузера на своем устройстве 41c обработки данных, либо, как вариант, эмулирующее программное обеспечение открывает окно браузера на устройстве 41c обработки данных. Эмуляция начинается с запуска на устройстве 41c обработки данных эмулирующей программы в соответствии с настоящим изобретением, программным путем выполняющей все функции физического сетевого ключа 42 управления домом.
В данном варианте осуществления все функции сетевого ключа 42 управления домом из варианта осуществления, показанного на фиг. 1а, связь, инициализацию и установление соединения, выполняет пользовательское устройство 41c обработки данных, а самостоятельный физический сетевой ключ 42 управления домом в соответствии с фиг. 1а для установления соединения с парным устройством 61 в жилище не требуется.
Если по какой-либо причине установить вышеописанный прямой туннель VPN между сетевым ключом 42, 42b или 41c управления домом и сетевым устройством 61 управления домом, представленным на фиг. 1а и 1b, не удается или удается не всегда (например, если компоненты сети время от времени меняют исходный и/или целевой порт), то в системах дистанционного управления можно использовать другие протоколы доступа, описываемые со ссылкой на фиг. 3b. Но и в этом случае для пользователя клиентского устройства система дистанционного управления функционирует таким же образом, как и системы дистанционного управления, представленные на фиг. 1а и 1b.
Далее описывается пример функционирования системы 1А дистанционного управления в соответствии с настоящим изобретением в примере, представленном на фиг. 1а.
Сетевое устройство 61 управления домом
Сетевое устройство 61 управления домом соединено с сетью 10.0.0.0/24 (интранетом 5 дома), например, путем присоединения кабеля к порту WAN указанного сетевого устройства 61 управления домом. Сетевое устройство 61 управления домом автоматически получает свои настройки IP с использованием операций DHCP. Межсетевой экран FW1 в интранете 5 дома, предпочтительно, функционирует как сервер DHCP и назначает сетевому устройству 61 управления домом IP-адрес 10.0.0.2 с маской сети длиной 24 бита (255.255.255.0). Сервер DHCP также выдает адрес 10.0.0.1 как шлюз по умолчанию и адрес 10.0.0.1 как адрес сервера DNS.
Сетевое устройство 61 управления домом начинает связь с того, что с помощью DNS-сервера определяет IP-адрес сервера 21 сети управления домом (HCNS, адрес DNS etahallinta.fi). DNS-сервер 10.0.0.1 сообщает, что IP-адрес сервера 21 сети управления домом равен 240.1.1.1.
Сетевое устройство 61 управления домом устанавливает связь с сервером 21 сети управления домом (240.1.1.1) через Интернет с использованием протокола TCP или протокола UDP. Сетевое устройство 61 управления домом выполняет с сервером 21 сети управления домом взаимную проверку прав доступа (аутентификацию) с использованием сертификатов и/или паролей, заданных при изготовлении. Указанное соединение для передачи данных, предпочтительно, шифруется, например, с использованием шифрования SSL/TLS. Серверу 21 сети управления домом из данных входящего соединения известен общедоступный IP-адрес сетевого устройства 61 управления домом, который в показанном на фиг. 1а примере равен 240.1.1.2. Сетевое устройство 61 управления домом сообщает в сервер 21 сети управления домом свой адрес и маску сети (10.0.0.2/24). Сервер 21 сети управления домом сохраняет указанную информацию в своей базе данных Tosibox.
Сетевое устройство 61 управления домом также, предпочтительно, выполняет операцию прослеживания маршрута в направлении сервера 21 сети управления домом и сообщает определенный указанным образом сетевой маршрут в сервер 21 сети управления домом. Сервер 21 сети управления домом сохраняет принятый сетевой маршрут сетевого устройства 61 управления домом в своей базе данных Tosibox.
Затем сетевое устройство 61 управления домом также, предпочтительно, выполняет операцию определения маршрута ICMP и сообщает найденный указанным образом маршрут в сервер 21 сети управления домом. Сервер 21 сети управления домом сохраняет маршрут, принятый из сетевого устройства 61 управления домом, в своей базе данных Tosibox.
Затем сетевое устройство 61 управления домом путем передачи запроса в сервер 21 сети управления домом выполняет автоматическое определение свободного виртуального пространства. В примерах на фиг. 1а и 1b сервер 21 сети управления домом возвращает в сетевое устройство 61 управления домом виртуальное пространство 172.17.0.0/24.
Сетевое устройство 61 управления домом принимает указанное виртуальное пространство в пользование для своего интранета 6, при этом собственный IP-адрес устройства 61 сети управления домом получает значение 172.17.0.1. Сетевое устройство 61 управления домом уведомляет сервер 21 сети управления домом о приеме указанного виртуального пространства в пользование, информацию о чем сервер сохраняет в своей базе данных Tosibox.
На фиг. 1а и 1b сетевое устройство 61 управления домом показано как самостоятельное устройство, создающее собственную подсеть для управления устройствами в жилище. Специалисту в данной области техники должно быть понятно, что функции сетевого устройства 61 управления домом могут быть частью функций компьютеризированного устройства управления инженерными системами дома, обладающего достаточно мощным процессором, памятью достаточного объема и средствами подключения различных технических средств через проводные и беспроводные соединения для передачи данных.
Сетевой ключ 42 управления домом
В примере на фиг. 1а порт WAN сетевого ключа 42 управления домом соединен с сетью 10.0.1.0/24 (сетью 3 передачи данных). Сетевой ключ 42 управления домом получает информацию об IP-адресе у сервера DHCP, функцию которого выполняет межсетевой экран 31 (FW2). Указанный сетевой ключ управления домом получает IP-адрес 10.0.1.2. Полученный из сервера DHCP адрес шлюза 31 по умолчанию, относящегося к сетевому ключу 42 управления домом, равен 10.0.1.1, адрес DNS-сервера 31 равен 10.0.1.1.
Сетевой ключ 42 управления домом начинает связь с того, что с помощью сервера DNS определяет IP-адрес сервера 21 сети управления домом (HCNS, адрес DNS hcns.fi). В примерах на фиг. 1 и 2 сервер DNS 10.0.1.1 отдает для сервера сети 21 управления домом IP-адрес 240.1.1.1.
Затем сетевой ключ 42 управления домом устанавливает связь с сервером 21 сети управления домом, имеющим адрес 240.1.1.1, через Интернет с использованием UDP в качестве основного протокола, TCP в качестве дополнительного протокола. Сетевой ключ 42 управления домом выполняет с сервером 21 сети управления домом взаимную проверку прав доступа (аутентификацию) с использованием заранее сообщенных сертификатов и/или паролей. Указанное соединение для передачи данных, предпочтительно, шифруется, например, с использованием шифрования SSL/TLS. Серверу 21 сети управления домом из данных входящего соединения известен общедоступный IP-адрес 240.2.1.2 сетевого ключа 42 управления домом. Сетевой ключ 42 управления домом дополнительно сообщает в сервер 21 сети управления домом свой адрес и маску сети 10.0.1.2/24. Сервер 21 сети управления домом сохраняет указанную информацию в своей базе данных Tosibox.
Затем сетевой ключ 42 управления домом выполняет операцию прослеживания маршрута и сообщает найденный указанным образом сетевой маршрут в сервер 21 сети управления домом, который сохраняет данную информацию в своей базе данных Tosibox.
Сетевой ключ 42 управления домом также, предпочтительно, выполняет операцию определения маршрута ICMP и сообщает найденный указанным образом сетевой маршрут в сервер 21 сети управления домом, который сохраняет данную информацию в своей базе данных Tosibox.
Сервер 21 сети управления домом проверяет принятую информацию маршрутизации, и при наличии наложений сервер 21 сети управления домом сообщает об этом в сетевой ключ 42 управления домом, который, если необходимо, заново выполняет автоматическое определение свободного виртуального пространства.
Устройство 41c обработки данных, используемое в качестве сетевого ключа управления домом
В варианте 1B осуществления в соответствии с фиг. 1b сетевой ключ 42 управления домом может быть заменен на сетевой ключ 42b управления домом или на пользовательское устройство 41c обработки данных, в котором из подходящего средства хранения данных, например, из USB-накопителя, сохранена компьютерная программа, выполняющая функции сетевого ключа управления домом. В качестве сетевого ключа 42b управления домом может, предпочтительно, использоваться так называемое электронное устройство снабженное интерфейсом USB. В варианте осуществления, показанном на фиг. 1b, вышеописанные функции сетевого ключа 42 управления домом реализуются компьютерной программой, установленной в пользовательское устройство 41c обработки данных из USB-накопителя.
В варианте осуществления в соответствии с фиг. 1b формирование пары из сетевого ключа 42b управления домом и сетевого устройства 61 управления домом может осуществляться как при изготовлении, так и непосредственно при использовании на объекте. В варианте осуществления в соответствии с фиг. 1b при формировании пары непосредственно при использовании на объекте сетевой ключ 42b управления домом временно соединяют с сетевым устройством 61 управления домом. Соединение осуществляется, предпочтительно, либо через порты USB устройств, либо через беспроводную сеть.
При указанном подключении сетевой ключ 42b управления домом и сетевое устройство 61 управления домом могут принять идентификационный код своего парного устройства и передать собственный идентификационный код в свое парное устройство. После этого два указанных устройства получают возможность устанавливать соединение для передачи данных только между собой.
Передача компьютерной программы сетевого ключа управления домом в терминал 41c пользователя осуществляется, предпочтительно, следующим образом.
При кратковременном подключении сетевого ключа 42b управления домом к устройству 41c обработки данных, компьютерная программа, содержащаяся в сетевом ключе 42b управления домом, вместе с ее индивидуальными идентификационными кодами устанавливается в пользовательское устройство 41c обработки данных, обозначение 42е. При установке пользователю устройства 41c обработки данных задается вопрос о том, желает ли он использовать на устройстве и/или в программе функцию защиты. При желании пользователя включить функцию защиты программа установки сетевого ключа управления домом запрашивает у пользователя пароль либо только для пользовательского устройства 41c обработки данных, либо для установленной программы, либо, если нужно, и для устройства, и для программы.
Сетевой ключ управления домом с его программами, индивидуальными идентификационными кодами и паролями может, при желании, также храниться, например, на хорошо защищенном внутреннем сетевом сервере, откуда при необходимости он может быть перенесен обратно в новый сетевой ключ управления домом (например, когда исходное устройство ключа сломалось или утрачено).
В предпочтительном варианте осуществления настоящего изобретения программа, содержащаяся в сетевом ключе 42b управления домом вместе с ее идентификационными кодами, также может быть сохранена в нескольких устройствах 41c обработки данных, которые таким образом получают возможность функционировать одновременно с первым устройством обработки данных.
В предпочтительном варианте осуществления настоящего изобретения компьютерная программа, содержащаяся в сетевом ключе 42b управления домом, может находиться, например, на сервере в Интернете, откуда указанная программа может быть получена. В данном предпочтительном варианте осуществления сам физический сетевой ключ 42b управления домом может содержать только идентификационный код, необходимый для идентификации пары устройств.
На фиг. 2 показан пример диаграммы операций способа дистанционного управления в соответствии с настоящим изобретением, выполняемых после того, как из сетевого ключа 42 или 42b управления домом и сетевого устройства 61 управления домом была сформирована пара.
Сетевое устройство 61 управления домом или сетевой ключ 42, 42b управления домом в ходе соединения с собственной местной сетью передачи данных периодически передает (передают) в сервер 21 сети управления домом, принадлежащий системе дистанционного управления, запрос, чтобы определить, соединено ли с сетью соответствующее парное устройство (выполняют так называемый опрос). Если из ответа, переданного сервером 21 сети управления домом, следует, что соответствующее парное устройство соединено со своей сетью передачи данных, то оба члена указанной пары устройств запускают операцию установления виртуальной частной сети (соединения VPN для передачи данных) путем выполнения шагов, описанных ниже.
На шаге 200 сетевое устройство 61 управления домом соединяется с интранетом 5 дома, и, предпочтительно, сетевой ключ 42 управления домом или устройство 41c обработки данных, поддерживающее или эмулирующее сетевой ключ 42b управления домом, соединяется с интранетом 3. Все устройства в жилище, подлежащие дистанционному управлению, присоединены к сетевому устройству 61 управления домом с использованием либо постоянного соединения, либо беспроводного соединения.
На шаге 201 как сетевое устройство 61 управления домом, так и сетевой ключ 42, 42b управления домом или устройство 41c обработки данных, эмулирующее сетевой ключ управления домом, определяют свой сетевой маршрут к серверу 21 сети управления домом, если их текущая информация о сетевом маршруте не является актуальной. Операция, используемая на шаге 201, показана более подробно на фиг. 3a.
На шаге 202 сетевое устройство управления домом и/или сетевой ключ управления домом 42, 42а или устройство 41c обработки данных, эмулирующее сетевой ключ управления домом, сохраняют свои определенные таким образом сетевые маршруты на сервере 21 сети управления домом, если удалось определить актуальную информацию о сетевом маршруте.
На шаге 203 устройства 42, 42а или 41c и 61, в соответствии с настоящим изобретением используемые для дистанционного управления, принимают информацию, которую соответствующее парное устройство зарегистрировало на сервере 21 сети управления домом, либо информацию об отсутствии такой регистрации. Если актуальная информация о сетевом маршруте устройства 42, 42b, 41c или 61, в соответствии с настоящим изобретением принадлежащего к одной из пар устройств, отсутствует, то система дистанционного управления 1А или 1B после заданной задержки 212 переходит шагу 213 ожидания и проверки соединения сервера сети управления домом.
В начале установления соединения на шаге 204 и сетевой ключ 42/42b управления домом, и сетевое устройство 61 управления домом запрашивают из сервера 21 сети управления домом актуальную информацию о сетевом маршруте соответствующего парного устройства. Сервер 21 сети управления домом проверяет, является ли принятый запрос запросом из заранее заданной, допустимой пары устройств, и после указанной проверки передает на шаге 205 в оба устройства информацию о сетевом маршруте. После этого сервер 21 сети управления домом высвобождает соединение с обоими устройствами 42/42b и 61 и больше не является частью формируемого туннеля 55 VPN.
На шаге 206 сетевой ключ 42/42b/41c управления домом и сетевое устройство 61 управления домом образуют между собой туннель 55 VPN. Частные шаги, содержащиеся в шаге 206, рассматриваются более подробно на фиг. 3b.
На шаге 207 и клиентское устройство пользователя 41а или 41c, и целевое устройство 62-65 в жилище присоединены к созданной сети VPN.
В варианте осуществления, показанном на фиг. 1а, клиентское устройство пользователя 41а соединено с сетью VPN посредством сетевого ключа 42 управления домом. В варианте осуществления, показанном на фиг. 1b, сетевой ключ 42b управления домом, соединенный с пользовательским устройством 41c обработки данных, является одним из концевых узлов сети VPN. Устройства 62-65, подлежащие дистанционному управлению на объекте, соединены с сетью VPN посредством сетевого устройства 61 управления домом.
На шаге 208 клиентское устройство 41а или 41c пользователя и устройство 62-65, подлежащее управлению в жилище, являются частью одной сети VPN и могут обмениваться информацией между собой. По истечении задержки, заданной в системе дистанционного управления, на шаге 209 выполняется проверка наличия активности в соединении для передачи данных между клиентским устройством 41а или 41c и целевым устройством 62-65. Если указанное соединение для передачи данных активно, то операция возвращается к шагу 208 и передача данных может быть продолжена.
Если на шаге 209 определено, что соединение VPN больше не активно, то на шаге 210 принимается решение о возможной новой попытке установления соединения.
Если на шаге 210 принято решение выполнить новую попытку установления соединения, то операция переходит к шагу 214. На шаге 214 проверяется, известен ли членам пары актуальный сетевой маршрут их соответствующего парного устройства. Если информация о сетевом маршруте является актуальной, то операция переходит к шагу 205, на котором сервер сети управления домом передает актуальную информацию о сетевом маршруте соответствующего парного устройства в устройства в соответствии с настоящим изобретением для установления туннеля VPN.
Если на шаге 214 определено, что один из элементов указанного сетевого маршрута отсутствует или не является актуальным, то операция возвращается к шагу 201, на котором заново выполняется определение информации о сетевом маршруте одного или обоих устройств в соответствии с настоящим изобретением.
В этом случае, предпочтительно, также выполняются операции, необходимые для высвобождения соединения VPN, чтобы сама операция установления соединения в соответствии с настоящим изобретением могла быть успешно возобновлена. Попытки установления соединения выполняются заранее заданное число раз.
Если на шаге 210 принято решение, что новые попытки установить соединение VPN больше не будут предприниматься, поскольку исчерпано заранее заданное число попыток установления соединения или по какой-либо другой причине установление соединения VPN не требуется, то операция переходит к шагу 211. На шаге 211 использовавшаяся сеть VPN передачи данных высвобождается. Это имеет место, например, когда сетевой ключ управления домом выключают.
За высвобождением сети VPN передачи данных в системе 1А или 1B дистанционного управления следует заранее определенная задержка 212. После истечения задержки 212 операция переходит к шагу 213 ожидания соединения сервера сети управления домом. При этом по меньшей мере работающее сетевое устройство 61 управления домом периодически передает запросы установления соединения в сервер 21 сети управления домом.
Сетевое устройство 61 управления домом, предпочтительно, передает запросы установления соединения до тех пор, пока сервер 21 сети управления домом не передаст в сетевое устройство 61 управления домом актуальную информацию о сетевом маршруте. Если информация о сетевом маршруте принята, то на шаге 201 запускается операция установления соединения VPN.
Переход к шагу 212 также может иметь место из шага 203. Это происходит, если невозможно определить и сохранить на сервере сети управления домом информацию о сетевом маршруте одного или обоих устройств. Эта ветвь операции также после шагов 213 и 214 возвращается к шагу 201, на котором по меньшей мере одно из устройств, участвующих в дистанционном управлении, предпринимает попытку определить информацию о своем сетевом маршруте и сохранить указанную информацию на сервере 21 сети управления домом.
Операции поиска, используемые на шаге 201, рассматриваются более подробно на фиг. 3a.
На шаге 2011 с использованием протокола DHCP (Dynamic Host Configuration Protocol, протокол динамической настройки узла) могут быть определены настройки IP для сетевого интерфейса устройства обработки данных. С использованием операции DHCP можно получить по меньшей мере IP-адрес устройства обработки данных, маску сети, шлюз по умолчанию и сервер DNS (Domain Name System, система доменных имен), который преобразует доменные имена в IP-адреса.
Операция Traceroute (прослеживание маршрута), используемая на шаге 2012, представляет собой средство, которое с использованием протокола TCP/IP позволяет определить сетевой маршрут, по которому пакеты приходят в определенное устройство. В операции Traceroute устройство передачи данных, соединенное с сетью, определяет сетевой маршрут путем постепенного, начиная с нуля, увеличения значения времени жизни (Time to Live, TTL) пакетов, которые указанное устройство передает по одному.
Определение сетевого маршрута, как правило, происходит описываемым далее способом. Устройство обработки данных передает в шлюз по умолчанию IP-пакет с адресом некоторого объекта во внешней сети, используя значение TTL 0. Шлюз по умолчанию в ответ передает сообщение «TTL expired» (время жизни превышено). Данное сообщение позволяет определить, в частности, IP-адрес, задержку и др. шлюза по умолчанию.
Затем устройство обработки данных передает в шлюз по умолчанию IP-пакет с адресом некоторого объекта во внешней сети, используя значение TTL 1. Теперь сообщение «TTL expired» передается маршрутизатором, следующим за шлюзом по умолчанию, и по данному сообщению можно определить IP-адрес данного (второго) маршрутизатора. Такие операции передачи и ответа продолжаются при все возрастающем значении TTL до достижения целевого узла. В случае Интернета целевой узел, как правило, достигается при значении TTL 6-15. Окончательный результат операции состоит в том, что устройству обработки данных становится известен сетевой маршрут во внешнюю сеть, например, в Интернет.
Для определения внешних адресов может быть использован протокол ICMP (Internet Control Message Protocol, протокол межсетевых управляющих сообщений). В операции ICMP используется флаг «Record Route» (записать маршрут), устанавливаемый в пакете ICMP; этот флаг требует от операционных систем устройств, входящих в сетевой маршрут, записать в заголовок указанного пакета ICMP IP-адрес маршрутизатора, выполнившего передачу.
На фиг. 3b показаны некоторые из операций 2060-2064 установления соединения, дающих возможность установить туннель VPN и используемых на шаге 206 на фиг. 2. На фиг. 3b альтернативные варианты операции установления соединения показаны как параллельные операции, выполняемые одновременно. Однако настоящее изобретение не ограничено данным вариантом осуществления, а операции установления соединения также могут, в зависимости от конкретной задачи, выполняться требуемым образом как последовательные операции установления соединения. В данном варианте осуществления после установления туннеля VPN одним из способов не обязательно пробовать другие способы установления соединения.
В примере на фиг. 3b показаны пять возможных способов установления туннеля VPN. Обозначением 2060 показано установление туннеля VPN с использованием протокола TCP. На шаге 2060а проверяется, допускают ли элементы сети связи между сетевым устройством управления домом и ключом сети управления домом установление соединения. Если соединение установить не удается, то, предпочтительно, попытка установления соединения предпринимается снова.
Обозначением 2061 показано установление туннеля VPN с использованием протокола UDP. На шаге 2061а проверяется, допускают ли элементы сети связи между сетевым устройством управления домом и ключом сети управления домом установление соединения. Если соединение установить не удается, то, предпочтительно, попытка установления соединения предпринимается снова.
Обозначением 2062 показано установление туннеля VPN с использованием сканирования портов UDP, описываемого далее. На шаге 2062а проверяется, допускают ли элементы сети связи между сетевым устройством управления домом и ключом сети управления домом установление соединения. Если соединение установить не удается, то, предпочтительно, попытка установления соединения предпринимается снова.
Обозначением 2063 показано установление туннеля VPN с использованием операции ICMP, описываемой далее. На шаге 2063а проверяется, допускают ли элементы сети связи между сетевым устройством управления домом и ключом сети управления домом установление соединения. Если соединение установить не удается, то, предпочтительно, попытка установления соединения предпринимается снова.
Обозначением 2064 показано установление туннеля VPN с использованием операции ретрансляции TCP, рассматриваемой далее. Предпочтительно, данная операция используется, если элементы сети связи между сетевым устройством управления домом и сетевым ключом управления домом не дают возможности установить прямой сквозной туннель VPN. В данной операции на шаге 2062а тоже проверяется, удалось ли установить защищенное соединение для передачи данных между сетевым устройством управления домом и сетевым ключом управления домом. Если соединение установить не удается, то, предпочтительно, попытка установления соединения предпринимается снова.
Каждой из операций 2060-2064 установления соединения можно обеспечить соединение VPN для передачи данных между сетевым устройством 61 управления домом и сетевым ключом 42 или 42b управления домом. На шаге 2069 выбирается туннель VPN или туннели VPN, используемые в качестве соединения для передачи данных.
Все шаги операций, показанные на фиг. 2, 3a и 3b, выполняются посредством команд программы, исполняемой соответствующим этой цели процессором общего или специального назначения. Команды указанной программы хранятся на носителе информации в сетевом устройстве 61 управления домом и в сетевом ключе 42 управления домом, например, в памяти, из которой процессор может считывать указанные команды и исполнять их. Таким машиночитаемым носителем информации могут, например, быть и специализированные компоненты, например, программируемые запоминающие устройства на флэш-памяти с интерфейсом USB, перепрограммируемые логические матрицы (FPLA), специализированные интегральные схемы (application-specific integrated circuit, ASIC) и цифровые сигнальные процессоры (digital signal processor, DSP).
Пример установления туннеля VPN с использованием протокола UDP, обозначение 2061, в системе, представленной на фиг. 1а
Сетевой ключ 42 управления домом начинает операцию формирования пары. Он, используя, предпочтительно, протокол UDP, уведомляет сервер 21 сети управления домом о намерении установить соединение для передачи данных с устройством 61 сети управления домом. Сервер 21 сети управления домом принимает решение о том, что запрошенное соединение для передачи данных должно быть установлено со следующими номерами портов:
- сетевой ключ управления домом - исходный порт UDP 10500, целевой порт UDP 10501, целевой IP-адрес 240.1.1.2;
- сетевое устройство управления домом - исходный порт UDP 10501, целевой порт UDP 10500, целевой IP-адрес 240.2.1.2.
Сервер 21 сети управления домом сообщает данную информацию в сетевой ключ 42 управления домом и в сетевое устройство 61 управления домом.
Затем сетевой ключ 42 управления домом передает пакет UDP на адрес 240.1.1.2 с использованием исходного порта 10500 на целевой порт 10501. Поскольку на исходящий трафик не накладывается строгое ограничение, переданный пакет проходит через межсетевой экран FW2, который содержит функциональный модуль NAT. Межсетевой экран 31 (FW2) запоминает указанный пакет UDP как соединение на следующие X секунд с информацией установления связи 10.0.0.2, 240.1.1.2, 10500 и 10501.
Указанный пакет UDP поступает в установленный перед сетевым устройством 61 управления домом межсетевой экран 51 (FW1), который запрещает входящий трафик и поэтому удаляет указанный пакет. Данный пакет не достигает адреса 10.0.0.2.
Сетевое устройство 61 управления домом передает на адрес 240.2.1.2 пакет UDP с исходным портом 10501 и целевым портом 10500. Переданный пакет UDP проходит через межсетевой экран 51 NAT (FW1), поскольку исходящий трафик не ограничен. Межсетевой экран 51 (FW1) запоминает указанный пакет UDP как соединение на следующие X секунд с информацией установления связи 10.0.0.2, 240.2.1.2, 10501 и 10500.
Указанный пакет UDP поступает в межсетевой экран 31 (FW2). Межсетевой экран 31 (FW2) помнит, что IP-адрес 10 0.1.2 установил соединение UDP с адресом 240.1.1.2 с использованием исходного порта 10500 и целевого порта 10501. Поскольку данный пакет UDP поступил из указанного исходного адреса 240.2.1.2 с исходным портом 10501 и целевым портом 10500, межсетевой экран 31 (FW2) воспринимает данный пакет как ответное сообщение, относящееся к соединению, установленному указанным устройством 10.0.1.2. Затем межсетевой экран FW2 выполняет операцию смены адреса. Указанный межсетевой экран изменяет целевой адрес данного пакета UDP на 10.0.1.2. После этого межсетевой экран 31 (FW2) направляет пакет UDP на адрес 10.0.1.2. Теперь сетевой ключ 42 управления домом принимает сообщение из сетевого устройства 61 управления домом. С этого момента установлено однонаправленное соединение для передачи данных из сетевого устройства 61 управления домом в сетевой ключ 42 управления домом.
Затем сетевой ключ 42 управления домом передает пакет UDP на адрес 240.1.1.2 с использованием исходного порта 10500 на целевой порт 10501. Указанный пакет UDP поступает в межсетевой экран 51 (FW1). Межсетевой экран 51 (FW1) помнит, что IP-адрес 10.0.1.2 установил соединение UDP с адресом 240.2.1.2 с использованием исходного порта 10501 и целевого порта 10500. Поскольку данный пакет UDP поступил из указанного исходного адреса 240.2.1.2 с исходным портом 10501 и целевым портом 10500, межсетевой экран 51 (FW2) воспринимает принятый пакет как ответное сообщение, относящееся к соединению, установленному указанным устройством 10.0.0.2. Межсетевой экран 51 (FW1) выполняет смену адреса, т.е. меняет целевой адрес данного пакета на 10.0.0.2. Затем межсетевой экран 51 (FW1) направляет данный пакет на адрес 10.0.0.2.
С этого момента между сетевым ключом 42 управления домом и сетевым устройством 61 управления домом установлено двунаправленное соединение UDP. Указанные устройства теперь могут осуществлять между собой двустороннюю связь. Сетевое устройство 61 управления домом и сетевой ключ 42 управления домом, предпочтительно, образуют между собой туннель VPN на канальном уровне, используя, например, программное обеспечение OpenVPN.
Сетевое устройство 61 управления домом, предпочтительно, создает мост между созданным туннелем 55 VPN и удаленной сетью 6 управления домом, 172.17.0.0/24, обозначение 6, которой указанное устройство управляет. Таким же образом сетевой ключ 42 управления домом создает мост между созданным туннелем 55 VPN и своим портом LAN, то есть он имеет возможность обеспечивать интерфейсы интранет в сети 172.17.0.0/24 на канальном уровне. После выполнения указанных операций удаленная сеть 4 управления домом и интранет 6 управления домом образуют частную сеть VPN через Интернет 2.
Пример установления туннеля VPN с использованием сканирования портов UDP, обозначение 2062, в системе, представленной на фиг. 1а
Сканирование портов UDP можно использовать, если один из элементов в сети передачи данных время от времени меняет исходный или целевой порты. Шаги далее описываемого способа отличаются между собой в зависимости от того, находится ли элемент, время от времени меняющий исходный или целевой порт, перед передающим или принимающим членом пары.
1. Сканирование исходных портов
Установленный перед сетевым устройством 61 управления домом межсетевой экран 51 меняет только исходный адрес передаваемых пакетов, исходный порт не меняется.
Сетевое устройство 61 управления домом начинает передачу пакетов UDP со следующей информацией: исходный порт 5000, исходный IP-адрес 10.0.0.2, целевой IP-адрес 5.5.5.5, целевые порты, например, от 1024 до 1054 (30 различных исходных портов). Данные (полезная информация) каждого пакета UDP содержат выбранный целевой порт, например, 1024. Указанным образом на приемном конце становится известно, на какой порт переданный пакет прошел через межсетевой экран 31.
Интервал передачи пакетов UDP составляет, предпочтительно, 200 миллисекунд. Вначале, например, пакет UDP передается с исходного порта 1024, через 200 мс еще один пакет UDP передается с исходного порта 1025 и т.д. После передачи пакета UDP с последнего исходного порта 1054 (приблизительно через 6 секунд) сетевое устройство 61 управления домом повторяет передачу пакетов UDP в том же порядке, начиная с исходного порта 1024.
Затем и сетевой ключ 42 управления домом начинает передачу пакетов UDP со следующей информацией: исходный IP-адрес 10.0.1.2, целевой IP-адрес 6.6.6.6, целевой порт 5000, исходные порты, например, от 1024 до 65535 (64511 различных исходных портов). Интервал передачи этих пакетов UDP составляет, предпочтительно, 50 миллисекунд. То есть вначале пакет UDP передается, например, с исходного порта 1024, через 50 мс другой пакет UDP передается с исходного порта 1025 и т.д. Полезная информация каждого пакета UDP содержит используемый исходный порт, например, 1024. Указанная информация может быть использована для того, чтобы определить, какой из используемых исходных портов заменяется, и на какой исходный порт, при прохождении через межсетевой экран 51 NAT.
Цель состоит в том, чтобы на этом шаге пакет UDP, переданный из сетевого ключа 42 управления домом, прошел через межсетевой экран 51, или пакет UDP, переданный из сетевого устройства 61 управления домом, прошел через межсетевой экран 31 сетевого ключа 42 управления домом. Если какое-либо из указанных устройств обнаруживает прошедший пакет UDP, то отвечает на данный пакет UDP на тот же исходный порт, который был указан в качестве исходного порта в данном пакете UDP. Затем может быть запущено установление соединения VPN.
Передача пакетов продолжается до тех пор, пока соединение не заработает, или пока установление соединения не будет отменено.
2. Сканирование целевых портов
Межсетевой экран 31 NAT, установленный перед сетевым ключом 42 управления домом, меняет исходный адрес и исходный порт переданных пакетов данных. Как правило, исходный порт меняется время от времени, например, исходный порт 1024 может меняться, например, на исходный порт 16431.
Сетевой ключ 42 управления домом начинает передачу пакетов UDP со следующей информацией: исходный порт 5000, исходный IP-адрес 10.0.1.2, целевой порт 6.6.6.6, исходные порты, например, от 1024 до 1054 (30 различных исходных портов). Данные (полезная информация) каждого пакета UDP содержат исходный порт, например, 1024. Указанным образом на приемном конце становится известно, из какого исходного порта переданный пакет UDP прошел через межсетевой экран 31.
Интервал передачи пакетов UDP составляет, предпочтительно, 200 миллисекунд. Вначале, например, пакет UDP передается с исходного порта 1024, через 200 мс пакет UDP передается с исходного порта 1025 и т.д. После передачи пакета UDP с последнего исходного порта 1054 (приблизительно через 6 секунд) сетевой ключ 42 управления домом повторяет передачу пакетов UDP в том же порядке, начиная с исходного порта 1024.
Затем сетевое устройство 61 управления домом начинает передачу пакетов UDP со следующей информацией: исходный IP-адрес 10.0.0.2, целевой IP-адрес 5.5.5.5, исходный порт 5000, целевые порты, например, от 1024 до 65535 (64511 различных целевых портов). Интервал передачи этих пакетов составляет, предпочтительно, 50 миллисекунд. Вначале пакет UDP передается на целевой порт 1024, через 50 мс на целевой порт 1025 и т.д. Полезная информация каждого пакета UDP содержит целевой порт, используемый данным пакетом, например, 1024. Указанная информация может быть использована для того, чтобы определить, какой из используемых целевых портов заменяется, и на какой целевой порт, при прохождении через межсетевой экран 31 NAT.
Цель состоит в том, чтобы на этом шаге пакет UDP, переданный из сетевого ключа 42 управления домом, прошел через межсетевой экран 51, установленный перед сетевым устройством 61 управления домом, или пакет UDP, переданный из сетевого устройства 61 управления домом, прошел через межсетевой экран 31, установленный перед сетевым ключом 42 управления домом. Если какое-либо из указанных устройств обнаруживает прошедший пакет UDP, то отвечает на данный пакет на тот же исходный порт, из которого, по видимым признакам, данный пакет был принят.
Передача пакетов продолжается до тех пор, пока соединение не заработает или пока установление соединения не будет отменено.
В обоих вышеприведенных случаях установление соединения VPN может быть запущено следующим образом.
Тройка портов, используемых для соединения VPN:
- исходный порт, используемый сетевым устройством 61 управления домом (host1_real_sourceport);
- исходный порт, преобразованный межсетевым экраном 51 NAT сетевого устройства управления домом, совпадающий с целевым портом (host1_translated_sourceport), используемым сетевым ключом 42 управления домом;
- целевой порт (host2_real_sourceport), используемый сетевым ключом 42 управления домом.
Сетевое устройство 61 управления домом открывает соединение VPN:
- целевой IP-адрес 6.6.6.6;
- исходный порт host1_real_sourceport;
- исходный порт host2_real_sourceport;
Сетевой ключ 42 управления домом открывает соединение VPN:
- целевой IP-адрес 5.5.5.5;
- исходный порт host2_real_sourceport;
- целевой порт host1_translated_source_port.
Межсетевые экраны 31 и 51 NAT полагают, что указанное соединение было установлено из их собственного интранета, на основании чего соединение UDP проходит через межсетевые экраны 31 и 51 NAT.
Примеры установления туннеля VPN с использованием протокола ICMP, обозначение 2063, в системе, представленной на фиг. 1а
Протокол управления протокола IP может быть использован, если сетевой элемент в сети передачи данных разрешает передачу пакетов типа ICMP ECHO и ICMP ECHO REPLY.
Способ 1 ICMP: постоянный идентификатор ICMP ECHO ID
Данный вариант осуществления возможен, если межсетевой экран (экраны) в сети (сетях) передачи данных не реагирует (не реагируют) на сообщения о превышении времени жизни.
Сетевой ключ 42 управления домом передает IP-пакет через маршрутизатор 10.0.1.1 со следующей информацией: целевой IP-адрес 6.6.6.6, исходный IP-адрес 10.0.1.2, TTL 1, тип ICMP, тип ICMP «ЕСНО REQUEST)), идентификатор 1234, последовательность 1, полезная информация пакета пуста.
Переданный пакет проходит через межсетевой экран 31 NAT, в котором исходный IP-адрес пакета меняется на 5.5.5.5, а TTL пакета меняется с 1 на 0. Межсетевой экран NAT 31 помнит, что с идентификатором 1234 исходный IP-адрес 10.0.1.2 изменился на 1 ECHO REQUEST.
Маршрутизатор в Интернете 2 (не показан на фиг. 1а), IP-адрес которого равен, например, 3.1.1.1, принимает IP-пакет, TTL которого равен 0. Этот маршрутизатор передает в межсетевой экран 31 сообщение «ICMP TTL time to live expired)) (ICMP время жизни превышено).
Межсетевой экран 31 принимает сообщение «ICMP TTL time to live expired)), но не реагирует на него.
Сетевое устройство 61 управления домом передает IP-пакет через маршрутизатор 10.0.0.1 со следующей информацией: целевой IP-адрес 5.5.5.5, исходный IP-адрес 10.0.0.2, TTL 255, тип ICMP, тип ICMP «ЕСНО REPLY», идентификатор 1234, последовательность 1, полезная информация указанного пакета содержит, предпочтительно, 30-1400 байтов данных, относящихся к связи VPN.
Переданный пакет ICMP ECHO проходит через межсетевой экран 51, который меняет исходный IP-адрес указанного пакета на 6.6.6.6. Указанный пакет ICMP достигает межсетевого экрана 31. Межсетевой экран 31 помнит, что запрос с идентификатором ICMP ECHO 1234 был передан ранее. Межсетевой экран 31 помнит, что устройством, передавшим запрос, было устройство 10.0.1.2. Межсетевой экран 51 далее направляет пакет на адрес 10.0.1.2. Целевой IP-адрес пакета меняется с 5.5.5.5 на 10.0.1.2.
Сетевой ключ 42 управления домом принимает указанный пакет ICMP ECHO, тем самым сетевое устройство 61 управления домом успешно передало пакет с произвольными данными в сетевой ключ 42 управления домом.
Сетевой ключ 42 управления домом продолжает передачу пакетов ICMP ECHO REQUEST, а сетевое устройство 61 управления домом, соответственно, продолжает передачу сообщений ICMP ECHO REPLY. Сетевой ключ 42 управления домом и сетевое устройство 61 управления домом образовали однонаправленное соединение для передачи данных между собой.
Затем сетевой ключ 42 управления домом и сетевое устройство 61 управления домом устанавливают еще одно, обратное соединение ICMP. Соединение устанавливается как описано выше. Меняется только направление установления соединения. В конце операции установления соединения сетевое устройство 61 управления домом принимает переданный сетевым ключом 42 управления домом пакет ICMP; полезная информация в указанном пакете содержит, предпочтительно, 30-1400 байтов данных, относящихся к связи VPN.
Сетевой ключ 42 управления домом и сетевое устройство 61 управления домом продолжают передачу запросов между собой, как описано выше. Таким образом, между сетевым ключом 42 управления домом и сетевым устройством 61 управления домом теперь имеется двунаправленное соединение. Сообщения ECHO REPLY содержат зашифрованные с использованием протоколов TLS данные, передаваемые через соединение VPN, таким образом, между сетевым ключом 42 управления домом и сетевым устройством 61 управления домом успешно установлено прямое соединение VPN, проходящее через межсетевые экраны 31 и 51 NAT.
Способ 2 ICMP: переменный идентификатор ICMP ECHO ID В соединении для передачи данных может присутствовать элемент сети, например межсетевой экран, который обрабатывает сообщения TTL («Time to Live expired») таким образом, что требуется новый запрос ICMP ECHO REQUEST, из-за чего сообщение ICMP ECHO REPLY не пройдет. При этом каждое сообщение «TTL expired)) забирает место одного пакета ICMP ECHO REPLY. Подобный элемент сети, увидев сообщение «TTL expired)), больше не направит сообщение «ICMP ECHO REPLY» адресату.
Отличие данного способа от случая постоянного идентификатора ICMP ECHO ID состоит в том, что ICMP ECHO ID в каждой паре пакетов ICMP ECHO REQUEST и ICMP ECHO REPLY разный. Передача пары пакетов ICMP ECHO REQUEST и ICMP ECHO REPLY выполняется с синхронизацией по времени, в результате ICMP ECHO REQUEST и ICMP ECHO REPLY передаются, по существу, одновременно. При этом ICMP ECHO REQUEST уходит из межсетевого экрана NAT передающего члена пары до того, как ICMP ECHO REPLY другого устройства достигнет того же межсетевого экрана.
Предпочтительно, задается большое значение TTL, чтобы пакет ICMP ECHO REQUEST находился в пути как можно дольше до приема межсетевым экраном сообщения «TTL expired» или «ошибочного» ICMP ECHO REPLY из межсетевого экрана другой стороны.
Пример данного способа IMPC ECHO в случае, показанном на фиг. 1а
Сетевой ключ 42 управления домом передает IP-пакет через маршрутизатор 10.0.0.1 со следующей информацией: целевой IP-адрес 6.6.6.6, исходный IP-адрес 10.0.1.2, TTL 255, тип ICMP, тип ICMP «ЕСНО REQUEST», идентификатор 1000, последовательность 1, полезная информация пакета пуста.
Одновременно сетевое устройство 61 управления домом передает IP-пакет со следующей информацией: целевой IP-адрес 5.5.5.5, исходный IP-адрес 10.0.0.2, TTL 255, тип ICMP, тип ICMP «ЕСНО REPLY», идентификатор 1000, последовательность 1. В начале полезной информации пакета содержится число 2000, затем следует запрашиваемый интервал передачи сообщения ICMP ECHO REQUEST (например, 500 мс), и затем произвольные данные связи VPN, предпочтительно, 30-1400 байтов.
Пакет ICMP ECHO REQUEST, переданный сетевым ключом 42 управления домом, проходит через межсетевой экран 31 NAT. При этом исходный IP-адрес пакета меняется на 5.5.5.5. Межсетевой экран NAT 31 помнит, что с идентификатором 1000 исходный IP-адрес 10.0.0.2 стал одним ICMP ECHO REQUEST
Одновременно пакет ICMP ECHO REQUEST, переданный сетевым устройством 61 управления домом, проходит через межсетевой экран 51 NAT. При этом исходный IP-адрес пакета меняется на 6.6.6.6. Межсетевой экран NAT 51 помнит, что с идентификатором 1000 исходный IP-адрес 10.0.0.2 стал ICMP ECHO REQUEST.
Переданные указанным образом пакеты ICMP ECHO REQUEST «встречаются» в Интернете 2, иными словами, оба пакета одновременно находятся в пути в сети оператора.
Пакет ICMP ECHO REQUEST поступает в межсетевой экран 51, а межсетевой экран 51 отвечает на указанный пакет. Содержание ответа не имеет значения, поскольку пакет ICMP ECHO REPLY был передан из сетевого устройства 61 управления домом до передачи пакета ICMP ECHO REPLY из межсетевого экрана 51. Также не будет иметь значения ситуация, где межсетевой экран 51 не отвечает на пакет ICMP ECHO REQUEST.
Пакет ICMP ECHO REPLY, переданный из сетевого устройства 61 управления домом, достигает межсетевого экрана 31. Межсетевой экран 31 помнит, что пакет ICMP ECHO с идентификатором 1000 был передан ранее. Межсетевой экран 31 помнит, что устройством, передавшим запрос, было устройство 10.0.1.2. Межсетевой экран 31 направляет пакет далее на адрес 10.0.1.2, изменяя целевой IP-адрес пакета с 5.5.5.5 на 10.0.1.2.
Сетевой ключ 42 управления домом принимает указанный пакет ICMP, и тем самым сетевое устройство 61 управления домом успешно передало пакет ICMP с произвольными данными в сетевой ключ 42 управления домом.
Затем сетевой ключ 42 управления домом и сетевое устройство 61 управления домом устанавливают еще одно, обратное соединение ICMP. Соединение устанавливается как описано выше. Меняется только направление установления соединения. В конце операции установления соединения сетевой ключ 42 управления домом принимает пакет, полезная информация которого содержит данные связи VPN длиной, предпочтительно, 30-1400 байтов.
Сетевое устройство 61 управления домом и сетевой ключ 42 управления домом продолжают передачу пар пакетов ICMP ECHO REQUEST и ICMP ECHO REPLY таким образом, что каждая пара пакетов ICMP имеет отличающийся идентификатор ECHO ID. Таким образом, сообщения «ICMP ECHO REPLY» и «TTL time to live exceeded», передаваемые межсетевыми экранами 31 и 51, не препятствуют осуществлению связи.
Сетевое устройство 61 управления домом и сетевой ключ 42 управления домом согласуют между собой значения идентификаторов ECHO ID и интервал передачи, предпочтительно, вначале посредством отдельного сервера 21 сети управления домом, а затем, после установления соединения для передачи данных, непосредственно между собой в начале полезной информации пакетов ICMP ECHO REPLY. В начале пакетов ICMP REPLY, в каждом пакете, сообщаются предыдущий ECHO REQUEST ID, переданный соответствующим устройством, и интервал передачи, запрошенный указанным устройством для пакетов ECHO REQUEST. Таким образом, обоим устройствам известно, какой ECHO ID должен быть передан в следующем пакете ECHO REQUEST и когда нужно передать следующий ECHO REQUEST. Если, например, в пакете ECHO REPLY запрошенный интервал передачи равен 500 мс, то устройство передает свой пакет ECHO REQUEST всякий раз, когда число, выражающее в миллисекундах время, прошедшее с момента установления соединения, без остатка делится на 500.
Примеры установления туннеля VPN с использованием протокола TCP, обозначение 2064, в системе на фиг. 1а
В смысле защиты данных ретранслируемое соединение TCP, устанавливаемое с помощью стороннего элемента, функционирует аналогично любому другому соединению, например, обычному прямому соединению UDP между двумя устройствами. Соединение VPN не открыто используемому серверу ретрансляции TCP, поскольку в терминальных устройствах, устанавливающих соединение, выполняется шифрование. Взлом сервера ретрансляции TCP не дает возможности взломать установленное соединение VPN, а сетевой ключ управления домом в соответствии с настоящим изобретением не может быть подменен и использован для подключения к недопустимому устройству.
Пример установления ретранслируемого соединения TCP
Общедоступный IP-адрес сетевого ключа 42 управления домом равен 5.5.5.5, общедоступный IP-адрес сетевого устройства 61 управления домом равен 6.6.6.6, а общедоступный IP-адрес сервера ретрансляции TCP (сервера 21 сети управления домом) равен 7.7.7.7.
Сетевой ключ 42 управления домом устанавливает соединение TCP с адресом 7.7.7.7 на его порт 443. Сервер ретрансляции TCP видит запрошенное соединение и принимает его. Выполняется процедура согласования соединения (handshaking) TCP и канал TCP открывается. Сетевой ключ 42 управления домом передает уникальную информацию соединения (к примеру, идентификатор соединения) по каналу TCP в сервер ретрансляции TCP.
Сервер ретрансляции TCP принимает указанную информацию, используя которую, указанный сервер в дальнейшем может связать соединение, информация о котором принята, с правильным сетевым устройством 61 управления домом.
Сетевое устройство 61 управления домом устанавливает соединение TCP с адресом 7.7.7.7 на порт 443. Сервер ретрансляции TCP видит запрошенное соединение и принимает его. Выполняется процедура согласования соединения TCP и канал TCP открывается. Сетевое устройство 61 управления домом передает уникальную информацию соединения (к примеру, идентификатор соединения) по каналу TCP в сервер ретрансляции TCP.
Сервер ретрансляции TCP принимает указанную информацию, используя которую, сервер ретрансляции TCP далее знает, с каким сетевым ключом 42 управления домом должно быть соединено сетевое устройство 61 управления домом.
Сервер ретрансляции TCP запускает передачу сообщений между сетевым ключом 42 управления домом и сетевым устройством 61 управления домом, установив соединение между указанными соединениями TCP. Сервер ретрансляции TCP считывает из соединения TCP данные, поступающие из сетевого ключа 42 управления домом, и передает указанные данные без изменения в соединение TCP сетевого устройства 61 управления домом. Аналогично, сервер ретрансляции TCP считывает данные из соединения TCP сетевого устройства 61 управления домом и передает считанные данные без изменения в соединение TCP сетевого ключа 42 управления домом. Двунаправленная передача данных продолжается до тех пор, пока одно из соединений TCP не прервется. Когда одно из соединений TCP прерывается, сервер ретрансляции TCP прерывает другое соединение TCP.
Фиг. 4 представляет основные функциональные модули сетевого устройства 61 управления домом в соответствии с настоящим изобретением. Сетевое устройство 61 управления домом содержит источник 621 питания. Это может быть аккумулятор или источник питания, работающий от электросети. Все электрические компоненты сетевого устройства управления домом получают питание от источника 621 питания.
Сетевое устройство 61 управления домом содержит один или более процессоров 622. Процессор или процессорное устройство может содержать арифметико-логическое устройство, группу регистров разного назначения и схемы управления. С процессорным устройством соединена система 623 хранения данных, например, модуль памяти или запоминающее устройство, в которых могут храниться машиночитаемая информация или программы или информация пользователя. Запоминающее устройство 623, как правило, содержит модули памяти, допускающие как считывание, так и запись информации (оперативное запоминающее устройство, ОЗУ), и модули памяти, содержащие энергонезависимое запоминающее устройство, из которого возможно только считывание данных (постоянное запоминающее устройство, ПЗУ). Информация идентификации устройства, сертификаты, подлежащие использованию при установлении соединения VPN, информация о текущем сетевом маршруте и все программы, необходимые для функционирования сетевого устройства 61 управления домом хранятся, предпочтительно, в указанном запоминающем устройстве.
Например, в памяти сетевого устройства 61 управления домом могут храниться операционная система (к примеру, Linux), программы TCP/IP, программа VPN (к примеру OpenVPN), клиентская/серверная программа DHCP (к примеру, ISC DHCP), программа DNS-сервера (к примеру, dnsmasq), программа базы данных (к примеру, SQLite), программа дистанционного управления (к примеру, OpenSSH), программа управления сертификатами и их подтверждения (к примеру, GPG) и библиотека пользовательского интерфейса (к примеру, LuCI).
Сетевое устройство 61 управления домом также содержит элементы интерфейса, в число которых входят средства 624, 625, 626, 627 и 628 ввода/вывода для приема или передачи информации. Информация, принятая средством ввода, передается для обработки в процессорное устройство 622 сетевого устройства 61 управления домом. Элементы интерфейса данного сетевого устройства управления домом передают информацию либо в сеть передачи данных, либо во внешние устройства обработки данных. Элементами интерфейса сетевого устройства 61 управления домом являются, предпочтительно, порт 624 WAN, один или более портов 625 LAN, порт 626 антенны, порт 627 USB и порт 628 управления. Формирование пары из сетевого устройства 61 управления домом и сетевого ключа 42 или 41c управления домом может осуществляться, предпочтительно, через порт 627 USB.
Специалисту в данной области техники должно быть понятно, что функции сетевого устройства 61 управления домом могут быть частью функций компьютеризированного устройства управления инженерными системами дома, обладающего достаточно мощным процессором, памятью достаточного объема и средствами подключения различных технических средств через проводные и беспроводные соединения для передачи данных. Указанное компьютеризированное устройство, частью функций которого являются функции сетевого устройства управления домом, подключают к некоторой сети 5 передачи данных, из. которой имеется доступ в общедоступный Интернет.
Фиг. 5а представляет основные функциональные модули сетевого ключа 42 управления домом в соответствии с настоящим изобретением. Сетевой ключ 42 управления домом имеет источник 421 питания. Это может быть аккумулятор или источник питания, работающий от электросети. Все электрические компоненты данного сетевого устройства управления домом получают питание от источника 421 питания.
Сетевой ключ 42 управления домом может содержать один или несколько процессоров 422. Процессор или процессорное устройство может содержать арифметико-логическое устройство, группу регистров разного назначения и схемы управления. С процессорным устройством соединена система 423 хранения данных, например, модуль памяти или запоминающее устройство, в которых могут храниться машиночитаемая информация или программы или информация пользователя. Запоминающее устройство 423, как правило, содержит модули памяти, допускающие как считывание, так и запись информации (оперативное запоминающее устройство, ОЗУ), и модули памяти, содержащие энергонезависимое запоминающее устройство, из которого возможно только считывание данных (постоянное запоминающее устройство, ПЗУ). Сертификаты, подлежащие использованию при установлении соединения VPN, информация о текущем сетевом маршруте и все программы, необходимые для функционирования сетевого устройства 42 управления домом хранятся, предпочтительно, в указанном запоминающем устройстве.
Например, в памяти сетевого ключа 42 управления домом могут храниться операционная система (к примеру Linux), программы TCP/IP, программа VPN (к примеру OpenVPN), клиентская/серверная программа DHCP (к примеру, ISC DHCP), программа DNS-сервера (к примеру, dnsmasq), программа базы данных (к примеру, SQLite), программа дистанционного управления (к примеру, OpenSSH), программа управления сертификатами и их подтверждения (к примеру, GPG) и библиотека пользовательского интерфейса (к примеру, LuCI).
Сетевой ключ 42 управления домом также содержит элементы интерфейса, в число которых входят средства 424, 425, 426, 427 и 428 ввода/вывода для приема или передачи информации. Информация, принятая средством ввода, передается для обработки в процессорное устройство 422 сетевого ключа 42 управления домом. Элементы интерфейса данного сетевого устройства управления домом передают информацию либо в сеть передачи данных, либо во внешние устройства обработки данных. Элементами интерфейса сетевого устройства 42 управления домом являются, предпочтительно, порт 424 WAN, один или более портов 425 LAN, порт 426 антенны, порт 427 USB и порт 428 управления.
На фиг. 5b показаны основные функциональные модули сетевого ключа 42b управления домом в соответствии со вторым вариантом осуществления настоящего изобретения. Сетевой ключ 42b управления домом в соответствии с данным вариантом осуществления может содержать один или несколько криптопроцессоров 422b. Процессор или процессорное устройство может содержать арифметико-логическое устройство, группу регистров разного назначения и схемы управления. Криптопроцессор 422b содержит, предпочтительно, внутренний модуль памяти, в котором сохранен индивидуальный секретный криптографический ключ.
С указанным процессорным устройством соединена система 423b хранения данных, например, модуль флэш-памяти или запоминающее устройство, на которых может быть сохранена машиночитаемая информация, программы или информация пользователя. Запоминающее устройство 423b, как правило, содержит модули памяти, допускающие как считывание, так и запись информации (оперативное запоминающее устройство, RAM), и модули памяти, содержащие энергонезависимую память, из которой возможно только считывание данных (постоянное запоминающее устройство, ROM). Информация идентификации сетевого ключа 42b управления домом, его текущий сетевой маршрут, сертификаты, подлежащие использованию при установлении соединения VPN, текущая информация о сетевом маршруте, информация идентификации сетевого устройства 61 управления домом, функционирующего как парное устройство сетевого ключа 42b управления домом, и все программы, необходимые для функционирования сетевого ключа 42b управления домом, хранятся, предпочтительно, в указанном запоминающем устройстве.
Например, в памяти сетевого ключа 42b управления домом могут храниться операционная система (к примеру Linux), программы TCP/IP, программа VPN (к примеру OpenVPN), клиентская/серверная программа DHCP (к примеру, ISC DHCP), программа базы данных (к примеру, SQLite), программа управления сертификатами и их подтверждения (к примеру, GPG) и библиотека пользовательского интерфейса (к примеру, LuCI).
Сетевой ключ 42 управления домом также содержит элементы интерфейса, в число которых входят средства 426b ввода/вывода для приема или передачи информации. Информация, принятая средством ввода, передается для обработки в процессорное устройство 422b сетевого ключа 42b управления домом. Для переноса информации из памяти 423b сетевого ключа управления домом либо во внешнее устройство 41c обработки данных, либо в сетевое устройство 61 управления домом используются, предпочтительно, элементы интерфейса сетевого устройства управления домом. Соответственно, через указанные элементы интерфейса могут быть приняты информация или команды, например, из устройства обработки данных, к которому подключен сетевой ключ 42b управления домом.
Для описанных выше сетевых ключей 42 или 42b управления домом предусмотрено по меньшей мере два уровня прав доступа, например, предусмотрены ключи уровня администратора и ключи уровня обычного пользователя. Пользователь или владелец ключа с более высоким уровнем прав доступа (к примеру, администратор) обладает правом управления всеми объектами в сети, которыми управляют пользователи ключей с более низким уровнем прав доступа (например, рядовые пользователи). Владелец ключа с более низким уровнем прав доступа имеет право доступа только к своим объектам, но не имеет доступа к остальным объектам, к которым у пользователя с более высоким уровнем прав доступа есть доступ.
Фиг. 6 представляет основные функциональные модули сервера 21 сети управления домом. Сервер 21 сети управления домом функционирует, предпочтительно, и как сервер ретрансляции TCP. Сервер 21 сети управления домом содержит источник 611 питания. Это может быть аккумулятор или источник питания, работающий от электросети. Все электрические компоненты сервера 21 сети управления домом получают напряжение питания от источника 611 питания.
Сервер 21 сети управления домом содержит один или более процессоров 212. Процессор или процессорное устройство может содержать арифметико-логическое устройство, группу регистров разного назначения и схемы управления. С указанным процессорным устройством соединена система 613 хранения данных, например, модуль памяти или запоминающее устройство, на которых может быть сохранена машиночитаемая информация, программы или информация пользователя. Запоминающее устройство 613, как правило, содержит модули памяти, допускающие как считывание, так и запись информации (оперативное запоминающее устройство, RAM), и модули памяти, содержащие энергонезависимую память, из которой возможно только считывание данных (постоянное запоминающее устройство, ROM). Идентификационная информация пар устройств в системе дистанционного управления (реестр Tosibox), текущая информация о сетевом маршруте каждой пары устройств, все программы, необходимые для установления соединения VPN для передачи данных, которое устанавливается между парными устройствами, и база данных Tosibox хранятся, предпочтительно, в указанном запоминающем устройстве.
Например, в памяти сервера 21 сети управления домом могут храниться операционная система (к примеру Linux), программы TCP/IP, клиентская/серверная программа DHCP (к примеру ISC DHCP), программа DNS-сервера (к примеру, bind), программа базы данных (к примеру SQLite), программа управления сертификатами и их подтверждения (к примеру, GPG) и библиотека пользовательского интерфейса (к примеру, LuCI).
Сервер 21 сети управления домом также содержит элементы интерфейса, в число которых входят средства 614 ввода/ вывода для приема или передачи информации. Информация, принятая средством ввода, передается для обработки в процессорное устройство 612 сервера 21 сети управления домом. Элементы интерфейса сервера сети управления домом передают информацию либо в сеть передачи данных, либо во внешние устройства обработки данных. Элементом интерфейса сервера сети 21 управления домом является, предпочтительно, порт 614 WAN.
Сервер 21 сети управления домом также, предпочтительно, содержит пользовательский интерфейс (не показан на фиг. 6), содержащий средства приема информации от пользователя сервера 21. Указанный пользовательский интерфейс может включать клавиатуру, сенсорный экран, микрофон и акустический излучатель.
Фиг. 7 иллюстрирует канальные уровни (уровни Tosibox), используемые при передаче данных между сетевым устройством 61 управления домом, сетевым ключом 42, 42b управления домом и сервером 21 сети управления домом.
Физический уровень Tosibox содержит различные варианты установления физического соединения для передачи данных между двумя устройствами, участвующими в дистанционном управлении. Соединение для передачи данных может быть установлено, например, путем подключения устройств через их порты Ethernet к местной сети Ethernet, имеющей соединение с Интернетом. Как вариант, соединение для передачи данных может быть установлено с местной сетью WLAN, у которой имеется соединение с Интернетом. Третьим вариантом является создание соединения для передачи данных по технологии 2G или 3G. В данном варианте осуществления терминальное устройство, устанавливающее соединение 2G или 3G, соединяется с портом USB сетевого устройства управления домом и/или сетевого ключа управления домом.
Канальный уровень Tosibox включает операции установления соединения, которые могут быть использованы в сети пакетной передачи данных в отношении соединения VPN для передачи данных. В число альтернативных или параллельно выполняемых операций установления соединения входят прямое соединение TCP для передачи данных между членами пар, прямое соединение UDP для передачи данных между членами пар, соединение для передачи данных, установленное с использованием сканирования портов, соединение для передачи данных, основанное на передаче сообщений ICMP ECHO между членами пар, и установление соединения для передачи данных через сервер сети управления домом (элемент ретрансляции TCP).
Уровень шифрования VPN включает операции шифрования (индивидуальный, секретный криптографический ключ и общедоступный криптографический ключ ключа сети управления домом), известные сетевому устройству 61 управления домом, и операции шифрования (индивидуальный, секретный криптографический ключ и общедоступный криптографический ключ сетевого устройства управления домом), известные сетевому ключу 42, 42b управления домом. С использованием данных операций шифрования сетевое устройство 61 управления домом и сетевой ключ 42, 42b управления домом могут устанавливать защищенное соединение VPN для передачи данных с использованием операций шифрования PKI (Public Key Infrastructure, инфраструктура общедоступного ключа).
Выше были описаны некоторые операции, используемые в установлении соединения VPN для передачи данных в системе дистанционного управления в соответствии с настоящим изобретением. Кроме того, описаны предпочтительные варианты осуществления компонентов, осуществляющих указанные операции в описанной системе дистанционного управления. Настоящее изобретение не ограничено вышеприведенными вариантами, и основная идея изобретения может быть использована различными способами без выхода за пределы объема формулы настоящего изобретения.