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

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

Если говорить про беспроводные сети, например Wi-Fi, сотовые сети, Bluetooth, то сетевые стандарты описывают, как правило, два самых нижних уровня взаимодействия компьютеров — физический и канальный. На физическом уровне протоколы определяют набор сигнально-кодовых конструкций, которые используются для передачи данных. Канальный же уровень определяет, когда и каким образом будут передаваться пакеты. Вполне естественно, что именно эти два уровня — канальный и физический — в основном определяют производительность сети, то есть тот объем данных, который может быть передан за единицу времени, надежность передачи данных, время передачи данных и энергоэффективность.

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

Рекомендуем по этой теме:
16135
Беспроводные сети 5G

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

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

Однако со временем происходила экспансия одних технологий на совершенно чужие рынки. Например, рассмотрим Wi-Fi, хотя бо́льшая часть тезисов, которые я сейчас скажу, будет справедлива и к другим технологиям. Всем хорошо известно, что Wi-Fi имеет большой успех на рынке домашних и офисных сетей. Простой пример: в 2014 году было продано более двух миллиардов устройств, поддерживающих технологию Wi-Fi. Вполне естественно, что компании, которые занимаются производством Wi-Fi-оборудования, хотят повторить этот успех в новых нишах, поэтому они расширяют область применимости технологии Wi-Fi. Каким образом это происходит? Во-первых, очень сильно растет скорость передачи данных.

Последние дополнения к стандарту Wi-Fi поддерживают скорость передачи данных до 7 гигабит в секунду — это астрономическая цифра.

Во-вторых, Wi-Fi расширил область применимости на многошаговые сети. В Wi-Fi появилось дополнение, которое позволяет строить многошаговые беспроводные сети, иначе называемые mesh-сети. В-третьих, Wi-Fi пришел на рынок высокоскоростных персональных сетей, в которых передача данных возможна только на расстоянии меньше 10 метров с дополнением, которое позволяет заменить видеокабель, используемый для передачи изображения от компьютера к монитору. Наконец, в 2016 году закончится разработка дополнения ah к стандарту Wi-Fi, которое является ключевым для интернета вещей. Это дополнение позволит одной базовой станции Wi-Fi поддерживать до 8 тысяч устройств, питающихся от батарейки. Кроме того, существенно расширится область действия базовой станции с сотни метров до одного километра. Фактически это дополнение означает экспансию технологии Wi-Fi на рынок сотовых сетей или сенсорных сетей.

Сети Wi-Fi, как и другие беспроводные сети, перестают быть лишь средством передачи данных — они начинают предоставлять сервисы. Так, например, одно из дополнений, которое разрабатывается в 2015 году, позволяет выполнять очень быстрое подключение к сети. Но, самое главное, оно позволяет еще до присоединения к сети определять, какие сервисы пользователь сможет получить, подключившись к сети, например: сможет ли он получить доступ в интернет, будет ли этот доступ платным или бесплатным, а сможет ли пользователь распечатать документ на принтере, который стоит в том углу?

Важно, что беспроводные технологии начинают предоставлять сервисы, ранее для них нетипичные. Например, одной из новинок в Wi-Fi станет локализация внутри помещений. Всем хорошо известно, что GPS или ГЛОНАСС очень плохо работают внутри помещений. Поэтому когда человек оказывается в большом здании, например в торговом центре или в каком-то университетском корпусе, и ему нужно куда-то добраться, то, даже если на руках у него имеется схема, понять, где ты сейчас находишься и как пройти, достаточно сложно. Поэтому возникает вполне резонный вопрос: а почему бы не использовать для локализации пользователя внутри помещения беспроводные сети Wi-Fi, тем более все равно базовые станции развешены повсеместно? Знание расположения пользователя может быть выгодно и владельцам магазинов, потому что они смогут присылать пользователям таргетированную рекламу: когда кто-то находится рядом с магазином, ему целесообразно прислать информацию о том, какие сейчас приходят акции, скидки и так далее.

Рекомендуем по этой теме:
4559
Управление мобильными данными

Побочным эффектом такого развития является то, что технология становится слишком сложной. Если в 1997 году стандарт Wi-Fi занимал всего лишь 500 страниц, то уже в 2016 году стандарт будет занимать 3500 страниц. И это имеет очень много негативных последствий. Во-первых, в протоколе очень много сообщений, которые остаются только для поддержки совместимости со старыми устройствами, потому что если мы исключим такие сообщения, то устаревшие устройства, которые используются редко, но все еще используются, просто не смогут корректно работать. Во-вторых, огромное количество уже ненужных служебных полей в сообщениях приводит к излишнему потреблению канальных ресурсов. Что гораздо более важно — это то, что усложняется разработка новой функциональности и увеличивается порог входа, то есть то время, которое разработчик должен потратить на то, чтобы изучить существующие механизмы, для того чтобы разбираться в них и предложить что-то новое.

Эта проблема стала настолько актуальной, что в конце 2014 года в комитете по стандартизации IEEE 802 — а именно этот комитет занимается разработкой сетей Wi-Fi — серьезно заговорили об этой проблеме. Действительно, как сделать так, чтобы протокол был гибким? Как сделать так, чтобы он одновременно был очень простым, а с другой стороны, чтобы он обладал всей необходимой функциональностью для каждого вполне себе конкретного сценария? К сожалению, ответа на этот вопрос до сих пор нет, и это одна из ключевых проблем, стоящих перед разработчиками телекоммуникационных стандартов.