На каком уровне osi работает wi fi

Обновлено: 03.07.2024

Я изучаю CCNA. В моей книге я читал, что точки беспроводного доступа принадлежат слою OSI 2. Я провел некоторое исследование, и я обнаружил, что это правильно. Это подняло много вопросов в моей голове, поэтому я надеюсь, что не буду нервничать: P

Я знаю, что эти устройства подключены к коммутаторам или маршрутизаторам, я также знаю, что AP использует CSMA-CA (на уровне 2).

Это единственная причина, по которой они являются уровнем 2?

Есть ли какая-то таблица переключения внутри AP, где она связывает MAC с выходными интерфейсами? Какой логический материал имеет AP внутри? Я спрашиваю об этом, потому что, если ему нужно пересылать пакеты, он должен выбрать, отправлять ли в эфир или связать с ним коммутатор или маршрутизатор.

4 ответа

Строго говоря, точки доступа - это устройство L2. Их основная функция - связать трафик 802.11 WLAN с трафиком Ethernet 802.3.

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

Что касается №2, да, AP (или любой мост) должен отслеживать, с каким интерфейсом подключено какое-либо отдельное устройство. В общем (и просто) они работают по принципу фреймов, предназначенных для ассоциированной станции, перенаправляются через беспроводной интерфейс, а любые другие фреймы перенаправляются через проводной интерфейс (или отправляются контроллеру).

2) Регулярные точки доступа разделяют ту же логику, что и коммутаторы. Как я уже упоминал выше, у них есть таблица адресов mac, они хранят ассоциации MAC-адресов в зависимости от интерфейса, который был изучен mac.

AP служит поставщиком подключения для клиентов в беспроводной сети, он поддерживает записи MAC для каждого клиента. Он предоставляет IP-адрес, используя DHCP-сервер со стороны локальной сети. Направляет трафик на стороне WAN (может быть на статическом или динамическом IP). Работает на уровне 2 и в основном может быть назван поставщиком подключения между проводными и беспроводными.

Я только что узнал о L2, но я думаю, что аппаратное обеспечение AP «Ethernet» использует MAC-таблицы или IP-адреса для определения маршрутизации - спорный вопрос. Дело в том, что сеть Ethernet устанавливает уникальное соответствие между MAC и IP-адресом, поэтому в принципе AP может маршрутизировать на основе обоих. Аппаратное обеспечение, которое маршрутизирует MAC, может быть более гибким, например, при настройке «прозрачных» мостов, подключенных к конечным точкам LAN.

Всем привет, и с вами снова Бородач! У нас очередной курс «Для самых маленьких», и поговорим мы про модель OSI. Многие системные администраторы и юные IT инженеры что-то слышали про это, но боялись спросить. Сразу скажу, что любой специалист, программист, инженер или администратор, работающий с сетями и интернетом, должен на зубок знать всё то, о чем я расскажу ниже. Статья подойдет как для специалистов, так и для чайников.

OSI модель, или модель стека протоколов TCP/IP, или модель открытых систем, или модель сетевого взаимодействия – это ядро, на котором управляется и взаимодействует любая современная сеть и подключенные к ней устройства. Поэтому её желательно знать всем тем, кто работает в «сетевой» индустрии. Без данных знаний даже в том же программировании будет достаточно тяжело.

Сетевая модель OSI и ее 7 уровней: обзор с примерами от Бородача

Уровни

Также и по кабелю мы не можем передать информацию в обычном буквенном виде. И то если письмо содержит только буквы. Тогда встает вопрос о том, чтобы как-то перевести данное письмо на второе устройство. Именно для этих целей и нужна эталонная модель OSI с 7 уровнями.

При отправке письма информация проходит 7 стадий от верхнего к нижнему уровню, чтобы перевести его в обычные биты. Далее эти биты передаются по кабелю к компьютеру Димы. И уже его устройство делает обратный процесс – перевод битов в понятное для человека письмо.

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

Давайте взглянем на все уровни OSI 7, и вам станет немного понятнее, о чем я говорю:

ПРИМЕЧАНИЕ! Для специалистов я советую выписать и запомнить все уровни в нужном порядке. Также нужно запомнить и английские названия, так как они часто встречаются в книгах и на иностранных порталах, посвященных данной тематике.

Сетевая модель OSI и ее 7 уровней: обзор с примерами от Бородача

Каждый уровень выполняет определенные цели для перевода информации из одного вида в другой. Также вы можете видеть, что информация передается в разном виде. Почти у каждого уровня есть свой PDU (protocol data unit) или единица измерения информационных данных. Например, на физическом (самом низком уровне) – это обычные биты или последовательность нулей и единиц, которые уже можно передавать по кабелю.

Почти каждый сетевой уровень оперирует своими протоколами данных. Можно посмотреть примерную последовательность перехода информации от одного вида PDU в другой:

  1. С седьмого по пятый уровень – идет операция с данными.
  2. Далее на транспортном уровне данные переводятся в сегменты или дейтаграммы.
  3. На сетевом уровне они переводятся в пакеты.
  4. Далее идет перевод в кадры или фреймы.
  5. Ну и в самом конце вся информация переводится в обычные биты.

Также, исходя из таблицы, вы можете заметить два названия:

Это примерное разделение всех уровней на две градации. Самые интересные из уровней – это как раз класс «Media Layers», так как ими чаще всего и оперируют сетевые инженеры. И они же за них отвечают головой.

ПРИМЕЧАНИЕ! Вы можете посмотреть в таблицу на протоколы модели OSI, и вам станет примерно понятен уровень взаимодействия данных при передаче и приеме.

Принцип работы

Для удобства представления работы 7-ми уровней модели OSI давайте посмотрим на картинку ниже.

Сетевая модель OSI и ее 7 уровней: обзор с примерами от Бородача

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

Сетевая модель OSI и ее 7 уровней: обзор с примерами от Бородача

  1. Первые 3 верхних уровня: прикладной, представительский и сеансовый – оперируют данными почти в чистом виде. Поэтому про них говорить нет смысла. Но я напишу о них пару строк в самом конце статьи.
  2. Далее на транспортном уровне OSI с помощью служб данные переходят в Сегменты (Дейтаграммы). Посмотрите внимательно как это происходит. Идет разбиение на несколько сегментов. Каждому сегменту приписывается заголовок, которые нужен для того, чтобы знать в каком порядке нужно соединять данные сегменты в будущем. Можно сказать, что сегмент – это фрагмент данных с заголовком.
  3. На этом этапе из транспортного уровня сегменты переводятся в пакеты. Это происходит достаточно просто – каждому сегменты, приписывается свой заголовок пакета. Наверное, вы уже заметили, что наша информация растет в размерах. Как раз из-за дописания заголовков. В итоге пакеты имеют больший размер чем сегменты.
  4. Далее информация из пакетов переходит на нижележащий канальный уровень. И так давайте перечислим все то, что у нас тут есть:
    1. Сегменты – данные с заголовком сегмента.
    2. Заголовок пакета, который расположен выше сегмента.
    3. Заголовок кадра, который приписывается пакету.
    4. Подсчитывается контрольная сумма и приписывается каждой доле информации. Она необходима для того, чтобы принимающая информация поняла, что получила нужную информацию. В общем для проверки. Если контрольная сумма будет неправильной, то принимающий компьютер может запросить повторную отправку данных.

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

    Разделяют два вида передачи битовых потоков:

    На физическом уровне на данный момент используют несколько сред. При кабельном подключении используют витую пару или оптоволокно. Коаксиальный кабель используется, но реже. Есть ещё беспроводная среда, в которой используются радиоволны: 802.11 Wi-Fi, Bluetooth, DSL, GSM и т.д.

    Тут нужно определять не только среду, но и тип подключения (портов), а также дальность, на которую можно передать информацию при использовании кабельной или беспроводной среды.

    Советую почитать про среды физического уровня отдельно:

    Данный уровень в семиуровневой модели является одним из самых главных, так как тут появляется адресация. Чтобы знать, куда нужно передавать информацию в сети, которая может состоять из сотни устройств – нужно использовать адреса. На канальном уровне используются MAC-адреса.

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

    Сетевой уровень работает с протоколами, которые используют IP адресацию. К таким устройствам относят почти все оборудование, но чаще в пример приводят роутеры (маршрутизаторы). Есть, конечно, и коммутаторы, которые работают на данном уровне.

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

    Обязательно читаем подробную статью про роутер.

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

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

    Например, для связи устройств в канальном уровне используется физическая топология сетей. На сетевом уровне логическая топология. А вот на данном уровне идет прямая связь «узел-узел». Например, если вы заходите на какой-то сайт, то вы напрямую связываетесь с определённым сервером через DNS или IP адрес.

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

    Окончательно переводит информацию к определенному виду данных, уже понятному для человека. Один из примеров – это кодировка текста. Когда данные приходят в кодировке ASCII, а их нужно перевести в UTF-8 или в другой вид.

    Видео

    Простое пособие по сетевой модели OSI для начинающих

    Открытая сетевая модель OSI (Open Systems Interconnection model) состоит из семи уровней. Что это за уровни, как устроена модель и какова ее роль при построении сетей — в статье.

    Модель OSI является эталонной. Эталонная она потому, что полное название модели выглядит как «Basic Reference Model Open Systems Interconnection model», где Basic Reference Model означает «эталонная модель». Вначале рассмотрим общую информацию, а потом перейдем к частным аспектам.


    Принцип устройства сетевой модели

    Сетевая модель OSI имеет семь уровней, иерархически расположенных от большего к меньшему. То есть, самым верхним является седьмой (прикладной), а самым нижним — первый (физический). Модель OSI разрабатывалась еще в 1970-х годах, чтобы описать архитектуру и принципы работы сетей передачи данных. Важно помнить, что данные передаются не только по сети интернет, но и в локальных сетях с помощью проводных или беспроводных соединений.

    На седьмом уровне информация представляется в виде данных, на первом — в виде бит. Процесс, когда информация отправляется и переходит из данных в биты, называется инкапсуляцией. Обратный процесс, когда информация, полученная в битах на первом уровне, переходит в данные на седьмом, называется декапсуляцией. На каждом из семи уровней информация представляется в виде блоков данных протокола — PDU (Protocol Data Unit).

    Рассмотрим на примере: пользователь 1 отправляет картинку, которая обрабатывается на седьмом уровне в виде данных, данные должны пройти все уровни до самого нижнего (первого), где будут представлены как биты. Этот процесс называется инкапсуляцией. Компьютер пользователя 2 принимает биты, которые должны снова стать данными. Этот обратный процесс называется декапсуляция. Что происходит с информацией на каждом из семи уровней, как и где биты переходят в данные мы разберем в этой статье.

    Первый, физический уровень (physical layer, L1)

    Начнем с самого нижнего уровня. Он отвечает за обмен физическими сигналами между физическими устройствами, «железом». Компьютерное железо не понимает, что такое картинка или что на ней изображено, железу картинка понятна только в виде набора нулей и единиц, то есть бит. В данном случае бит является блоком данных протокола, сокращенно PDU (Protocol Data Unit).

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

    Устройства физического уровня оперируют битами. Они передаются по проводам (например, через оптоволокно) или без проводов (например, через Bluetooth или IRDA, Wi-Fi, GSM, 4G и так далее).

    Второй уровень, канальный (data link layer, L2)

    Когда два пользователя находятся в одной сети, состоящей только из двух устройств — это идеальный случай. Но что если этих устройств больше?

    У канального уровня есть два подуровня — это MAC и LLC. MAC (Media Access Control, контроль доступа к среде) отвечает за присвоение физических MAC-адресов, а LLC (Logical Link Control, контроль логической связи) занимается проверкой и исправлением данных, управляет их передачей.

    На втором уровне OSI работают коммутаторы, их задача — передать сформированные кадры от одного устройства к другому, используя в качестве адресов только физические MAC-адреса.

    Третий уровень, сетевой (network layer, L3)

    На третьем уровне появляется новое понятие — маршрутизация. Для этой задачи были созданы устройства третьего уровня — маршрутизаторы (их еще называют роутерами). Маршрутизаторы получают MAC-адрес от коммутаторов с предыдущего уровня и занимаются построением маршрута от одного устройства к другому с учетом всех потенциальных неполадок в сети.

    На сетевом уровне активно используется протокол ARP (Address Resolution Protocol — протокол определения адреса). С помощью него 64-битные MAC-адреса преобразуются в 32-битные IP-адреса и наоборот, тем самым обеспечивается инкапсуляция и декапсуляция данных.

    Четвертый уровень, транспортный (transport layer, L4)

    Все семь уровней модели OSI можно условно разделить на две группы:

    • Media layers (уровни среды),
    • Host layers (уровни хоста).

    Уровни группы Media Layers (L1, L2, L3) занимаются передачей информации (по кабелю или беспроводной сети), используются сетевыми устройствами, такими как коммутаторы, маршрутизаторы и т.п. Уровни группы Host Layers (L4, L5, L6, L7) используются непосредственно на устройствах, будь то стационарные компьютеры или портативные мобильные устройства.

    Четвертый уровень — это посредник между Host Layers и Media Layers, относящийся скорее к первым, чем к последним, его главной задачей является транспортировка пакетов. Естественно, при транспортировке возможны потери, но некоторые типы данных более чувствительны к потерям, чем другие. Например, если в тексте потеряются гласные, то будет сложно понять смысл, а если из видеопотока пропадет пара кадров, то это практически никак не скажется на конечном пользователе. Поэтому, при передаче данных, наиболее чувствительных к потерям на транспортном уровне используется протокол TCP, контролирующий целостность доставленной информации.

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

    При передаче по протоколу TCP, данные делятся на сегменты. Сегмент — это часть пакета. Когда приходит пакет данных, который превышает пропускную способность сети, пакет делится на сегменты допустимого размера. Сегментация пакетов также требуется в ненадежных сетях, когда существует большая вероятность того, что большой пакет будет потерян или отправлен не тому адресату. При передаче данных по протоколу UDP, пакеты данных делятся уже на датаграммы. Датаграмма (datagram) — это тоже часть пакета, но ее нельзя путать с сегментом.

    Главное отличие датаграмм в автономности. Каждая датаграмма содержит все необходимые заголовки, чтобы дойти до конечного адресата, поэтому они не зависят от сети, могут доставляться разными маршрутами и в разном порядке. Датаграмма и сегмент — это два PDU транспортного уровня модели OSI. При потере датаграмм или сегментов получаются «битые» куски данных, которые не получится корректно обработать.

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

    Пятый уровень, сеансовый (session layer, L5)

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

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

    Примером работы пятого уровня может служить видеозвонок по сети. Во время видеосвязи необходимо, чтобы два потока данных (аудио и видео) шли синхронно. Когда к разговору двоих человек прибавится третий — получится уже конференция. Задача пятого уровня — сделать так, чтобы собеседники могли понять, кто сейчас говорит.

    Шестой уровень, представления данных (presentation layer, L6)

    О задачах уровня представления вновь говорит его название. Шестой уровень занимается тем, что представляет данные (которые все еще являются PDU) в понятном человеку и машине виде. Например, когда одно устройство умеет отображать текст только в кодировке ASCII, а другое только в UTF-8, перевод текста из одной кодировки в другую происходит на шестом уровне.

    Шестой уровень также занимается представлением картинок (в JPEG, GIF и т.д.), а также видео-аудио (в MPEG, QuickTime). Помимо перечисленного, шестой уровень занимается шифрованием данных, когда при передаче их необходимо защитить.

    Седьмой уровень, прикладной (application layer)

    Седьмой уровень иногда еще называют уровень приложений, но чтобы не запутаться можно использовать оригинальное название — application layer. Прикладной уровень — это то, с чем взаимодействуют пользователи, своего рода графический интерфейс всей модели OSI, с другими он взаимодействует по минимуму.

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

    Критика модели OSI

    Семиуровневая модель была принята в качестве стандарта ISO/IEC 7498, действующего по сей день, однако, модель имеет свои недостатки. Среди основных недостатков говорят о неподходящем времени, плохой технологии, поздней имплементации, неудачной политике.

    Первый недостаток — это неподходящее время. На разработку модели было потрачено неоправданно большое количество времени, но разработчики не уделили достаточное внимание существующим в то время стандартам. В связи с этим модель обвиняют в том, что она не отражает действительность. В таких утверждениях есть доля истины, ведь уже на момент появления OSI другие компании были больше готовы работать с получившей широкое распространение моделью TCP/IP.

    Вторым недостатком называют плохую технологию. Как основной довод в пользу того, что OSI — это плохая технология, приводят распространенность стека TCP/IP. Протоколы OSI часто дублируют другу друга, функции распределены по уровням неравнозначно, а одни и те же задачи могут быть решены на разных уровнях.

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

    Кроме того, в отличие от TCP/IP, OSI никогда не ассоциировалась с UNIX. Добиться широкого распространения OSI не получилось потому, что она проектировалась как закрытая модель, продвигаемая Европейскими телекоммуникационными компаниями и правительством США. Стек протоколов TCP/IP изначально был открыт для всех, что позволило ему набрать популярность среди сторонников открытого программного кода.

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

    Вывод, роль модели OSI при построении сетей

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

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

    Модель OSI служит инструментом при диагностике сетей. Если в сети что-то не работает, то гораздо проще определить уровень, на котором произошла неполадка, чем пытаться перестроить всю сеть заново.

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


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

    Довольно часто наблюдается странная ситуация: при скоростном проводе, с роутера раздаётся совсем узенький wifi-канал, не загружающий и половины провода. При этом, хотя формально Wi-Fi, особенно в его ac-версии поддерживает какие-то огромные скорости, при проверке оказывается, что либо Wi-Fi подключается на меньшей скорости, либо подключается, но не выдаёт скорости на практике, либо теряет пакеты, либо всё вместе.

    В какой-то момент и я столкнулся с похожей проблемой, и решил настроить свой Wi-Fi по-человечески. На удивление, это заняло примерно в 40 раз дольше, чем я ожидал. Вдобавок, как-то так случилось, что все инструкции по настройке Wi-Fi, которые я находил, сходились к одному из двух видов: в первом предлагали поставить роутер повыше и выпрямить антенну, для чтения второго же мне не хватало честного понимания алгоритмов пространственного мультиплексирования.

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

    Глава 1:

    Итак, постановка задачи

    Wifi-роутер, предложенный провайдером, перестал справлять со своими обязанностями: наблюдаются длительные (30 секунд и больше) периоды, когда пинг до точки доступа не проходит, наблюдаются очень длительные (порядка часа) периоды, когда пинг до точки доступа достигает 3500 мс, бывают длительные периоды, когда скорость соединения с точкой доступа не превышает 200 кбит/сек.

    Сканирование диапазона с помощью windows-утилиты inSSIDer выдаёт картинку, представленную в начале статьи. В округе наблюдается 44 Wifi SSID в диапазоне 2.4 ГГц и одна сеть в диапазоне 5.2 ГГц.

    Инструменты решения

    Самосборный компьютер Celeron 430, 2b Ram, SSD, безвентиляторный, две беспроводные сетевые карты на чипе Ralink rt2800pci, Slackware Linux 14.2, Hostapd из Git на сентябрь 2016 года.

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

    На самом деле, решение должно было бы, по хорошему, заключаться в запуске hostapd с минимальным изменениями настроек. Однако, опыт настолько хорошо подтвердил истинность поговорки «гладко было на бумаге, да забыли про овраги», что потребовалось написание этой статьи для систематизации знаний обо всех неочевидных подробностях. Также мне изначально хотелось бы избежать низкоуровневых подробностей для стройности изложения, но выяснилось, что это невозможно.

    Глава 2

    Немного теории

    Частоты

    Wi-Fi — это стандарт беспроводных сетей. С точки зрения OSI L2, точка доступа реализует концентратор типа switch, однако чаще всего она также совмещена с коммутатором уровня OSI L3 типа «роутер», что ведёт к изрядной путанице.

    Нас же больше всего будет интересовать уровень OSI L1, то есть, собственно, та среда, в которой ходят пакеты.

    Wi-Fi — это радиосистема. Как известно, радиосистема состоит из приёмника и передатчика. В Wi-Fi точка доступа и клиентское устройство осуществляют обе роли по очереди.

    Wi-Fi-передатчик работает на некоторой частоте. Частоты эти занумерованы, и каждому номеру соответствует некоторая частота. Важно: несмотря на то, что для любого целого числа существует теоретическое соответствие этому числу некоторой частоты, Wi-Fi может работать только в ограниченных диапазонах частот (их три, 2.4 ГГц, 5.2 ГГц, 5.7 ГГц), и только на некоторых из номеров.

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

    Неочевидная деталь: не все Wi-Fi стандарты поддерживают все частоты.

    Wi-Fi-стандартов есть два: a и b. «a» старше и работает в диапазоне 5ГГц, «b» новее и работает в диапазоне 2.4 ГГц. При этом b медленнее (11 mbit вместо 54 mbit, то есть, 1.2 мегабайта в секунду вместо 7 мегабайт в секунду), а диапазон 2.4 ГГц уже и вмещает меньше станций. Почему так — загадка. Вдвойне загадка, почему точек доступа стандарта а практически нет в природе.

    image


    (Картинка позаимствована из Википедии.)

    image

    (На самом деле, я немного лукавлю, потому что a поддерживает ещё частотный диапазон 3.7 ГГц. Однако, ни одного устройства, знающего что-нибудь про этот диапазон, мне не доводилось увидеть.)

    Подождите, спросите вы, но есть же ещё 802.11g, n, ac — стандарты, и они-то, кажется, как раз должны побивать по скорости несчастные a и b.

    Но нет, отвечу я вам. Стандарт g — это запоздалая попытка довести скорость b до скорости a, в диапазоне 2.4 ГГц. Но зачем, вы ответите мне, ты вообще вспоминал про b? Ответ, потому что несмотря на то, что диапазоны обоих b и g называются 2.4, на самом деле они чуть-чуть отличаются, и диапазон b на один канал длиннее.

    Стандарты же n и ac вообще не имеют отношения к диапазонам — они регламентируют скорость, и только. Точка стандарта n может быть как «в базе» a (и работать на 5 Ггц), так и «в базе» b и работать на 2.4 ГГц. Про точку стандарта ac я не знаю, потому что не видел.

    То есть, когда вы покупаете точку доступа n, нужно очень внимательно посмотреть, в каких диапазонах это n работает.

    Важно, что в один момент времени один Wi-Fi чип может работать только в одном диапазоне. Если же ваша точка доступа утверждает, что может работать в двух одновременно, как например, делают бесплатные роутеры от популярных провайдерах Virgin или British Telecom, значит в ней на самом деле два чипа.

    Ширина канала

    На самом деле, я должен извиниться, потому что ранее сказал, что некий диапазон длиннее другого, не объяснив, что такое «длиннее». Вообще говоря, для передачи сигнала важна не только несущая частота, но и ширина кодированного потока. Ширина — это в какие частоты выше и ниже несущей может залезать имеющийся сигнал. Обычно (и к счастью, в Wi-Fi), каналы симметричные, с центром в несущей.

    Так вот в Wi-Fi могут быть каналы шириной 10, 20, 22, 40, 80 и 160 МГц. При этом точек доступа с шириной канала в 10 МГц я никогда не видел.

    Так вот, одним из самых удивительных свойств Wi-Fi является то, что несмотря на то, что каналы пронумерованы, они пересекаются. Причём не только с соседями а аж с каналами через 3 от себя. Иными словами, в диапазоне 2.4 ГГц только точки доступа, работающие на каналах 1, 6 и 11 — не пересекаются потоками шириной в 20 МГц. Иными словами, только три точки доступа могут работать рядом так, чтобы не мешать друг другу.

    Что же такое точка доступа с каналом шириной 40 МГц? Ответ — а это точка доступа, которая занимает два канала (непересекающихся).

    Вопрос: а сколько каналов шириной 80 и 160 МГц вмещается в диапазон 2.4 ГГц?

    Ответ:Ни одного.

    Вопрос, а на что влияет ширина канала? Точного ответа на этот вопрос я не знаю, проверить не смог.

    Я знаю, что если сеть пересекается с другими сетями, стабильность соединения будет хуже. Ширина канала 40 МГц даёт больше пересечений и хуже соединение. Согласно стандарту, если вокруг точки есть работающие другие точки доступа, режим 40 МГц не должен включаться.

    Верно ли, что вдвое большая ширина канала вдвое даёт большую пропускную способность?
    Вроде бы, да, но проверить невозможно.

    Вопрос: Если на моей точке доступа три антенны, верно ли, что она может создавать три пространственных потока и утроить скорость соединения?

    Ответ: неизвестно. Может так оказаться, что из трёх антенн, две могут заниматься только отправкой, но не приёмом пакетов. И скорость сигнала будет несимметричная.

    Вопрос: Так сколько же мегабит даёт одна антенна?

    Очевидно, самый важный параметр — это MCS-индекс, который именно и определяет скорость.

    Вопрос: Откуда берутся такие странные скорости?

    Мощность сигнала

    Самый простой способ бороться с плохой связью — это вжарить больше мощности в передатчик. В Wi-Fi бывает мощность передачи до 30 dBm.

    Глава 3

    Решение задачи

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

    Первый, казалось бы, должен говорить: бери самый незанятый канал, ширину канала 40 МГц, антенн побольше (желательно, 4), и добавляй побольше Capabilities.

    Второй — убирай всё, кроме базового n-режима, включай мощность побольше, и включай те Capabilities, которые добавляют стабильности.

    Вспоминая ещё раз пословицу про овраги, опишем, какие именно неровности местности ждут нас при попытке реализации планов 1 и 2.

    Овраг нулевой

    Хотя чипсеты семейства Ralink rt2x00 являются самыми популярными чипсетами с поддержкой стандарта n и встречаются как в картах высокого ценового диапазона (Cisco), так и диапазона бюджетного (TRENDNET), и более того, выглядят в lspci совершенно однаково, они могут обладать кардинально разным функционалом, в частности, поддерживать только диапазон 2.4, только диапазон 5ГГц, или поддерживать непонятно чем ограниченные части обеих диапазонов. В чём отличия — загадка. Также загадка, почему карта с тремя антеннами поддерживает только Rx STBC в два потока. И почему они обе не поддерживают LDPC.

    Первый овраг

    В диапазоне 2.4 есть только три непересекающихся канала. На эту тему мы уже говорил и я не буду повторяться.

    Второй овраг

    Не все каналы позволяют увеличивать ширину канала до 40 МГц, более того, на какую ширину канала согласится карта, зависит от чипсета карты, производителя карты, загрузки процессора и погоды на Марсе.

    Третий, и самый большой овраг

    Regulatory domain

    Если вам не хватало для счастья того, что сами стандарты Wi-Fi представляют из себя знатный винегрет, то возрадуйтесь тому, что каждая страна мира стремится всякими разными способами Wi-Fi ущемить и ограничить. У нас в Великобритании всё ещё не так плохо, в отличие, скажем, от тех же США, где Wi-Fi спектр зарегулирован до невозможности.

    Так вот, регуляторный домен может требовать ограничений на мощность передатчика, на возможность запустить на канале точку доступа, на допустимые технологии модуляции на канале, а также требовать некоторых технологий «умиротворения спектра», таких как DFS (динамический выбор частоты), детекция радара (которая ещё у каждого регдомена своя, скажем, в Америках почти всюду предлагаемая FCC, в Европе другая, ETSI), или auto-bw (я не знаю, что это такое). При этом со многими из них точка доступа не заводится.

    Многие регуляторные домены просто запрещают некоторые частоты в принципе.

    Задать регуляторный домен можно командой:


    Регуляторный домен можно не задавать, но тогда система будет руководствоваться объединением всех ограничений, то есть самым худшим вариантом из возможных.

    По счастью, во-первых данные по регуляторным доменам есть в открытом доступе на сайте ядра:

    И по ним можно искать. В принципе, вероятно, можно пропатчить ядро так, чтобы оно игнорировало регуляторный домен, но это надо пересобирать ядро или как минимум регуляторный демон crda.

    По счастью, команда iw phy info выводит все возможности нашего устройства, с учётом (!) регуляторного домена.

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

    Но одного 13 канала нам мало — ведь мы хотим соотношение сигнал-шум побольше, а значит хотим запускать точку с силой сигнала 30. Ищем-ищем в CRDA, (2402 - 2482 @ 40), (30) 13 канал, ширина 40 МГц, сила сигнала 30. Есть такая страна, Новая Зеландия.

    Но что это, на частоте 5 ГГц требуется DFS. Вообще, это теоретически, поддерживаемая конфигурация, но почему-то не работает.

    Факультативная задачка, выполнимая людьми с повышенными социальными навыками:

    Собрать подписи/движение в поддержку ускоренного перелицензирования Wi-Fi-диапазонов в ITU (ну, или хотя бы в вашей стране) в целом в сторону расширения. Это вполне реально, какие-нибудь депутаты (и кандидаты в депутаты), жаждущие политических очков, будут рады вам помочь.

    image

    Это овраг номер 4

    Точка доступа может не заводиться при наличии DFS, без объяснения причин. Итак, какой же регуляторный домен нам выбрать?

    Есть такая! Самая свободная страна в мире, Венесуэла. Её регуляторный домен — VE.

    Полные 13 каналов диапазона 2.4, с мощностью 30 dBm, и сравнительно расслабленный 5ГГц диапазон.

    Задача со звёздочкой. Если у вас в квартире совсем катастрофа, даже хуже, чем у меня, для вас есть отдельный, бонусный уровень.

    Регуляторный домен «JP», Япония, позволяет делать уникальную вещь: запускать точку доступа на мифическом, 14 канале. Правда, только в режиме b. (Помните, я говорил, что между b и g всё-таки есть маленькие отличия?) Поэтому если у вас всё уж совсем плохо, то 14 канал может быть спасением. Но опять же, его физически поддерживает немного что клиентских устройств, что точек доступа. Да и максимальная скорость в 11 Мбит несколько обескураживает.

    Копируем /etc/hostapd/hostapd.conf в два файла, hostapd.conf.trendnet24 и hostapd.conf.cisco57

    Правим тривиальным образом /etc/rc.d/rc.hostapd, чтобы запускал две копии hostapd.

    В первом указываем канал 13. Правда, ширину сигнала указываем 20 МГц (capability 40-INTOLERANT), потому что во-первых, так мы будем теоретически стабильнее, а во-вторых, «законопослушные» точки доступа просто не будут запускаться на 40 МГц из-за того, что забитый диапазон. Ставим capability TX-STBC, RX-STBC12. Плачем, что capabilities LDPC, RX-STBC123 не поддерживаются, а SHORT-GI-40 и SHORT-GI-20 хотя и поддерживаются и чуть-чуть улучшают скорость, но и чуть-чуть понижают стабильность, а значит, их убираем.

    Правда, для любителей можно пропатчить hostapd, чтобы появилась опция force_ht40, но в моём случае это бессмысленно.

    Если вы находитесь в странной ситуации, когда точки доступа то включаются то выключаются, то для особых гурманов можно пересобрать hostapd с опцией ACS_SURVEY, и тогда точка будет сама сначала сканировать диапазон и выбирать наименее «шумящий» канал. Более того, в теории она даже должна мочь переходить по собственному желанию с одного канала на другой. Мне, правда, эта опция не помогла, увы :-(.

    Итак, наши две точки в одном корпусе готовы, запускаем сервис:


    Точки успешно стартуют, но…

    Но та, что работает на диапазоне 5.7 — не видна с планшета. Что за чертовщина?

    Овраг номер 5

    Проклятый регуляторный домен работает не только на точке доступа, но и на приёмном устройстве.

    В частности, мой Microsoft Surface Pro 3, хотя и сделан для европейского рынка, в принципе не поддерживает диапазон 5.7. Пришлось переключиться в 5.2, но тут хоть завёлся режим 40 Мгц.

    Овраг номер 6

    Всё завелось. Точки стартовали, 2.4 показывает скорость 130 Мбит (был бы SHORT-GI, было бы 144.4). Почему карта с тремя антеннами поддерживает только 2 пространственных потока — загадка.

    Овраг номер 7

    Завести-то завелось, а иногда скачет пинг до 200, и всё тут.

    А секрет вовсе не в точке доступа прячется. Дело в том, что по правилам Microsoft, драйвера Wi-Fi карты сами должны содержать ПО для поиска сетей и подключения к ним. Всё как в старые-добрые времена, когда 56к-модем должен был иметь при себе звонилку (которую мы все меняли на Shiva, потому что звонилка, идущая в штатной поставке Internet Explorer 3.0 была слишком уж ужасна) или ADSL-модем должен был иметь клиент PPPoE.

    Но и о тех, у кого штатной утилиты нет (то есть, о всех на свете!), Microsoft позаботилась, сделав так называемую «автоконфигурацию Wi-Fi». Эта автоконфигурация жизнерадостно плюёт на то, что к сети мы уже подключены, и каждые Х секунд сканирует диапазон. В Windows 10 даже нет кнопки «обновить сети». Работает отлично, пока сетей вокруг две-три. А когда их 44, система замирает и выдаёт несколько секунд пинга 400.

    «Автоконфигурацию» можно отключить командой:


    Лично я даже сделал себе на десктопе два батника «включить autoscan» и «выключить autoscan».

    Да, прошу обратить внимание, что если у вас русский Windows, то скорее всего сетевой интерфейс будет иметь название на русском языке в кодировке IBM CP866.

    Саммари

    Я накатал довольно длинную простыню текста, и должен был бы завершить её кратким резюме самых важных вещей:

    1. Точка доступа может работать только в одном диапазоне: 2.4 или 5.2 или 5.7. Выбирайте внимательно.
    2. Лучший регуляторный домен — это VE.
    3. Команды iw phy info, iw reg get покажут вам, что вы можете.
    4. 13 канал обычно пустует.
    5. ACS_SURVEY, ширина канала 20 МГц, TX-STBC, RX-STBC123 улучшат качество сигнала.
    6. 40 МГц, больше антенн, SHORT-GI увеличат скорость.
    7. hostapd -dddtK позволяет запустить hostapd в режиме отладки.
    8. Для любителей можно пересобрать ядро и CRDA, увеличив мощность сигнала и сняв ограничения регуляторного домена.
    9. Автопоиск Wi-Fi в Windows отключается командой netsh wlan set autoconfig enabled=no interface=". . "
    10. Microsoft Surface Pro 3 не поддерживает диапазон 5.7 ГГц.

    Послесловие

    Я большинство материалов, использованных при написании данного руководства, найдены либо в гугле, либо в манах к iw, hostapd, hostapd_cli.

    На самом деле, проблема ТАК И НЕ РЕШИЛАСЬ. Временами пинг всё равно скачет до 400 и стоит на таком уровне, даже для «пустого» диапазона в 5.2 ГГц. Посему:

    Ищу в Москве спектроанализатор Wi-Fi диапазона, укомплектованный оператором, с которым можно было бы проверить, в чём вообще проблема, и не заключается ли она в том, что неподалёку находится очень важное и секретное военное учреждение, о котором никто не знает.

    Постскриптум

    Wi-Fi работает на частотах от 2 ГГц до 60 ГГц (менее распространённые форматы). Это даёт нам длину волны от 150мм до 5мм. (Почему вообще мы меряем радио в частотах, а не в длинах волн? Так же удобнее!) У меня, в целом, возникает мысль, купить обои из металлической сетки в четверть длины волны (1 мм хватит) и сделать клетку Фарадея, чтобы гарантированно изолироваться от соседского Wi-Fi, да и заодно от всего другого радиооборудования, вроде DECT-телефонов, микроволновок и дорожных радаров (24 ГГц). Одна беда — будет блокировать и GSM/UMTS/LTE-телефоны, но можно выделить для них стационарную точку зарядки у окна.

    Читайте также: