Выводим в Интернет публичную виртуальную машину QEMU без сетевой карты и пробуем майнить
Бывают случаи когда счастливый пользователь публичной виртуальной машины может столкнуться с тем что виртуальная машина не имеет выхода в сеть Интернет. Пользователю предоставляется процессор, память, диск с операционной системой, базовые интерфейсы, порт удаленного доступа и всё.
Хостера в таком случае тоже можно понять, ему проще отключить доступ в Интернет сегодня чтобы не ломать голову завтра по поводу активности пользователя в сети Интернет так как различные обиженые и оскорбленые пользователем первым делом начнут выяснять отношения именно с хостером. Например, в некоторых странах распространена практика досудебной блокировки IP-адресов хостера от чего страдают не пользователь-злоумышленик, а невиновные пользователи.
Новый метод выхода в Интернет
Раньше, чтобы вывести виртуальную машину без сети в Интернет, клиент мог только пробросить физическое USB-устройство, раздающее Интернет c его адреса: модем, сетевой адаптер.
Сегодня пользователь может пробросить порты к VPN или Proxy-серверу по аналогии c SSH. Для этого необходимо чтобы все три стороны клиент, хост и виртуальная машина были собраны на основе кода FlexVDI т.е необходимо пересобрать и установить пакеты программ которые используются для осуществления удаленного доступа по протоколу Spice.
FlexVDI — это улучшенная версия открытого протокола удаленного доступа SPICE и дополнительный слой абстракции от одноименной компании. Весь необходимый код доступен в репозиториях на гитхабе.
Подключение
Для того чтобы получить spice-клиента от FlexVDI, Linux-пользователь может скомпилировать клиента вручную либо выполнить несколько действий над appImage-образом клиента:
Для начала нужно загрузить appImage-образ клиента с официального сайта, сделать его исполняемым файлом и распаковать с помощью команды:
./flexvdi-linux-client-2.2.15-x86_64.AppImage --appimage-extract
После выполнения команды в каталоге squashfs-root в директории с файлом будут находится файлы образа. Нас интересует клиент spicy, однако прямое исполнение файла завершается с ошибкой так как приложение пробует использовать библиотеки расположенные в системе, а не в образе. Чтобы запустить spicy создаем копию файла AppRun. В файле копии в конце комментируем или удадаляем строку:
./python2.7 ./flexvdi_launcher.pyc "$@"
и вместо неё добавляем строку вида:
./spicy --uri=spice://vpla.umvirt.com?port=6060 -R 3128:127.0.0.1:3128 --spice-debug
Здесь настраивается подключение к порту удаленного доступа по spice-протоколу к публичной виртуальной машине RetroGamer на сервере vpla.umvirt.com и пробрасываем в виртуальную машину порт 3128 от squid с выводом отладочной информации.
Сохраняем файл, устанавливаем Proxy-сервер Squid и проверяем его работоспособность с помощью браузера.
Ниже приведен скриншот окна настроек Proxy-сервера для Firefox:

Если браузер работает с прокси успешно, резервируем доступ к виртуальной машине и запускаем созданный файл запуска с перенаправлением вывода в файл, например так:
./myApp > spicy.log
В файле лога должны появится сообщения:
(spicy:10702): GSpice-DEBUG: port-forward.c:183 Created new port forwarder
(spicy:10702): GSpice-DEBUG: port-forward.c:231 Associate guest (null), port 3128 -> 127.0.0.1 port 3128
Если сообщение не появилось значит либо на хосте либо в виртуальной машине код оригинальных spice пакетов не заменен на код Flexvdi.
В виртуальной машине:
-
проверяем проброс порта командой:
ss -atnl
ip addr
В настройках браузера прописываем аналогичные параметры Proxy-сервера.

Проверяем выход в сеть
Проверяем IP-адрес, например на странице http://umvirt.com/agentinfo

Проверяем возможность открытия сайтов, например откроем сайт онлайн майнинга «Coinhive».

Как видим виртуальная машина не просто вышла в сеть Интернет с адреса клиента, но также позволила запустить процесс майнинга.
Видео процесса подключения доступно на Youtube.
NTRIP-кастер. Как организовать передачу поправок по протоколу NTRIP
Очень часто при организации связи между Базой и Ровером по сети Интернет мы используем подключение по NTRIP. Что же это такое?
NTRIP – это протокол, основанный на HTTP, который используется для передачи корректирующей информации от одиночных Базовых Станций (БС) или сетей БС для работы в режиме RTK с обязательной авторизацией пользователей.
Данный протокол позволяет организовать подключение неограниченного количества пользователей с обязательной авторизацией, выбором Базовой станции (точки доступа), а также получать некоторые атрибуты работы клиентов: их местоположение, режим работы, версию NTRIP-клиента, количество спутников и возраст поправок. Для сравнения, в протоколе TCP/IP все эти данные отсутствуют и подключиться к БС может любой, зная ее IP-адрес и Порт.

В протокол NTRIP входят следующие составные части: сервер, кастер и клиент — все эти компоненты являются программным обеспечением, поэтому могут быть установлены на приемнике, контроллере или ПК.
Взаимодействие этих программ происходит следующим образом:
1. NTRIP-сервер подключается к источнику поправок (БС или сеть БС) и направляет поток корректирующей информации на NTRIP-кастер. Для соединения с кастером по его IP-адресу и порту NTRIP-сервер сообщает также точку доступа, через которую будет происходить обмен поправками, и пароль от нее.
Если пароль неверен либо точка доступа не существует – возникает ошибка и поток поправок не передается на кастер.
Если подключение прошло успешно, то поправки поступают на указанную точку доступа кастера.
2. Ровер обращается к NTRIP-клиенту за поправками, а клиент обращается на NTRIP-кастер, указывая его IP-адрес, порт, точку доступа (либо осуществляется запрос полного списка точек доступа, а затем происходит выбор необходимой), логин и пароль.
В случае, когда используется режим виртуальной БС (VRS) или ближайшей БС NTRIP-клиент передает еще и координаты Ровера в сообщении GPGGA формата NMEA.
Функционал VRS или подключения к ближайшей Базовой станции реализован следующим образом: NTRIP-кастер сообщает VRS-процессору координаты ровера для генерации виртуальной БС, а затем VRS-процессор передает на кастер поправку от виртуальной БС для соответствующего ровера. Либо основываясь на координатах пользователя происходит перенаправление потока поправок от ближайшей станции.
На данном этапе возникают основные ошибки: неверный логин/пароль (в том числе игнорирование регистра букв), неправильная точка доступа, пустая точка доступа (поправки с Базы на нее не поступают), отсутствие Интернета на Базе/Ровере, не передается сообщение GPGGA либо оно нулевое.
При успешном подключении клиента к NTRIP-кастеру осуществляется передача потока поправок с Базовой станции на Ровер через соответствующую точку доступа.
COM-порт (последовательный порт)
Serial port (серийный порт, последовательный порт или COM-порт -, communications port) — это последовательный интерфейс с двойной направленностью.
Почему порт назвается последовательным? Потому, что вся информация по этому порту передается шагом равным одному биту. В нем данные передаются бит за битом, в отличие от параллельного порта.
Несмотря на то, что в некоторых других интерфейсах как, например, в Ethernet, FireWire и USB, применяется последовательный обмен данными, название «последовательный порт» закрепилось за портом, обладающим стандартом RS-232C.
Данный порт, в сравнении с другими «последовательными» технологиями, обладает отличительной особенностью: в нем отсутствует какое-либо временное требование между 2 байтами. Временные требования существуют только между битами одного байта. Величина, обратная временной паузе между битами одного байта, носит название «baud rate» (скорость передачи). Кроме того, в данной технологии нет такого понятия, как «пакет». Другие технологии «последовательной» передачи данных (X.25, USB или Ethernet), используют «пакеты», также в них существуют и жесткие временные требования между битами одного пакета.
В части протоколов связи с индустриальным оборудованием имеются жесткие временные требования между байтами последовательного порта. Реализация в многозадачных операционных системах со слабой поддержкой реального времени этих протоколов очень сложна. К этим системам относятся и Windows. Вот почему для работы с этими протоколами зачастую применяют MS-DOS или более устаревшее программное обеспечение.
Самый распространенный для последовательного порта стандарт — RS-232C. Ранее последовательный порт применялся для подключения терминала, позднее его использовали для подключения модема или мыши. В настоящее время его применяют в качестве средства соединения с источниками бесперебойного питания, а также в качестве средства связи с аппаратными средствами разработки встраиваемых вычислительных систем, спутниковыми ресиверами, кассовыми аппаратами и приборами систем безопасности.
Благодаря COM-порту появляется возможность подключить друг к другу два ПК, применяя так называемый «нуль-модемный кабель». Данный метод использовался со времен MS-DOS в целях перекачки файлов с одного компьютера на другой. В UNIX-системах он использовался для терминального доступа к другой машине, а в операционных системах Windows — для отладчика уровня ядра.
Довольно популярный в свое время в IBM-совместимых ПК последовательный порт, сегодня уже морально устарел. Однако, следует отметить, что он еще нередко используется в промышленном и узкоспециальном оборудовании, а также на некоторых современных компьютерах. Последовательный порт активно вытесняется интерфейсом USB и FireWire.
Однако имеются специальные стандарты эмуляции последовательного порта над USB и над Bluetooth. Кстати, любопытно, но именно Bluetooth-технология проектировалась разработчиками в качестве беспроводной версии последовательного порта. Программная эмуляция порта широко используется и по сей день. Так, практически все мобильные телефоны сегодня эмулируют внутри себя COM-порт и модем, с целью реализации тетеринга (доступа компьютера к сети Интернет через GPRS/EGDE/3G). А вот непосредственно для физического подключения к компьютеру применяется USB, Bluetooth или Wi-Fi технологии.
Кроме того, программная эмуляция последовательного порта возможна для гостевых пользователей виртуальных машин VMWare и Microsoft Hyper-V. Основной целью данной процедуры является подключение отладчика уровня ядра Windows к гостевому клиенту.
Достоинства COM-порта
Главное преимущество данной технологии состоит в простоте подключения.
Недостатки COM-порта
Главными недостатками данного порта являются его низкая скорость, большие размеры разъемов, а также высокие требования к времени отклика операционной системы. Также, в данном стандарте наблюдается высокое количество прерываний (одно прерывание на каждые 8 байт).
Разъемы
Самыми распространенными разъемами стандарта являются 9-ти и 25-ти контактные (DB-9 и DB-25, соответственно), которые были стандартизированы в 1969 году. Это D-образные разъемы. Помимо них использовались и другие, но из этого же семейства: DB-31 и круглые восьмиконтактные DIN-8.
Максимальная скорость передачи (в обычном исполнении) достигает 115 200 бод.
Аппаратура
Разъем обладает следующими контактами:
- DTR (Data Terminal Ready) — выход на ПК, вход — на модеме. Отвечает за готовность компьютера к работе с модемом. Сброс вызывает почти полную перезагрузку модема. В случае с мышью, данный провод используется для осуществления питания.
- DSR (Data Set Ready) — вход на ПК, выход — на модеме. Отвечает за готовность модема. Если линия в нуле, то в некоторых операционных системах невозможно открыть порт в качестве файла.
- RxD (Receive Data) — вход на ПК, выход — на модеме. Обозначает поток входящих в ПК данных.
- TxD (Transmit Data) — выход на ПК, вход — на модеме. Обозначает поток исходящих от ПК данных.
- CTS (Clear to Send) — вход на ПК, выход — на модеме. Компьютер должен приостановить процесс передачи данных, пока данный провод не будет выставлен в единицу. Применяется в аппаратном протоколе управления потоком в целях недопущения переполнения на модеме.
- RTS (Request to Send) — выход на ПК, вход — на модеме. Модем должен приостановить процесс передачи данных, до тех пор, пока провод не будет выставлен в единицу. Применяется в аппаратном протоколе управления потоком в целях недопущения переполнения в оборудовании/драйвере.
- DCD (Carrier Detect) — вход на ПК, выход — на модеме. После установления связи с модемом с той стороны возводится в единицу, сбрасывается в ноль, в случае разрыва связи. Аппаратура ПК может производить прерывание, в случае наступления подобного события.
- RI (Ring Indicator) — вход на ПК, выход — на модеме. После детерминации вызывного сигнала телефонного звонка, возводится модемом в единицу. Аппаратная часть ПК может производить прерывание, в случае наступления подобного события.
- SG (Signal Ground) — общий сигнальный провод порта. Важно:земля — не общая. Обычно провод имеет изоляцию от корпуса ПК или модема.
В нуль-модемном кабеле применяются две перекрещенные пары: TXD/RXD и RTS/CTS.
UART 16550 — стандартная аппаратура порта. Сегодня включена в SuperIO микросхему на материнской плате. Со времен IBM PC, она оснащена аппаратной очередью байтов. Она существенно снижает число возникающих прерываний.
ООО «Альтербит», 197183, Санкт-Петербург, Комендантский проспект, 2 схема проезда
Телефон: (812) 309-2602 ← Звони если хочешь купить сервер, схд, компьютер
Возможности современных коммутаторов по организации виртуальных сетей
Функциональные возможности современных коммутаторов позволяют организовывать виртуальные сети (VLAN-сетей) для создания гибкой сетевой инфраструктуры. В настоящее время VLAN-сети еще не получили широкого распространения, особенно в небольших корпоративных сетях. Во многом это связано с тем, что конфигурирование коммутаторов для организации VLAN-сетей весьма непростое дело, особенно если инфраструктура сети включает несколько коммутаторов. Кроме того, конфигурирование коммутаторов при создании VLAN-сетей, равно как и настройка других функциональных возможностей, может значительно отличаться у коммутаторов от различных фирм, вследствие чего известные производители сетевого оборудования, такие как Cisco, HP, 3Com, Allied Telesyn, Avaya, устраивают специальные курсы по работе с их оборудованием. Понятно, что упрощать конфигурирование своего оборудования, делать этот процесс интуитивно понятным и простым и уж тем более вырабатывать общие соглашения и единый интерфейс по настройке оборудования от разных производителей явно не в интересах самих производителей, однако пользователи вполне способны самостоятельно разобраться во многих возможностях коммутаторов. Поэтому в данной статье мы рассмотрим возможности современных коммутаторов по организации виртуальных сетей и расскажем о базовых принципах их конфигурирования.
Назначение виртуальных сетей
иртуальной сетью VLAN (Virtual LAN) называют группу узлов сети, образующих домен широковещательного трафика (Broadcast Domain). Такое определение вполне корректно, но малоинформативно, так что попытаемся трактовать понятие виртуальной сети несколько иначе.
При создании локальной сети на основе коммутатора, несмотря на возможность использования пользовательских фильтров по ограничению трафика, все узлы сети представляют собой единый широковещательный домен, то есть широковещательный трафик передается всем узлам сети. Таким образом, коммутатор изначально не ограничивает широковещательный трафик, а сами сети, построенные по указанному принципу, именуются плоскими.
Виртуальные сети образуют группу узлов сети, в которой весь трафик, включая и широковещательный, полностью изолирован на канальном уровне от других узлов сети. Это означает, что передача кадров между узлами сети, относящимися к различным виртуальным сетям, на основании адреса канального уровня невозможна (хотя виртуальные сети могут взаимодействовать друг с другом на сетевом уровне с использованием маршрутизаторов).
Изолирование отдельных узлов сети на канальном уровне с использованием технологии виртуальных сетей позволяет решать одновременно несколько задач. Во-первых, виртуальные сети способствуют повышению производительности сети, локализуя широковещательный трафик в пределах виртуальной сети и создавая барьер на пути широковещательного шторма. Коммутаторы пересылают широковещательные пакеты (а также пакеты с групповыми и неизвестными адресами) внутри виртуальной сети, но не между виртуальными сетями. Во-вторых, изоляция виртуальных сетей друг от друга на канальном уровне позволяет повысить безопасность сети, делая часть ресурсов для определенных категорий пользователей недоступной.
Типы виртуальных сетей
о появления общепризнанного стандарта по организации виртуальных сетей IEEE 802.1Q каждый производитель сетевого оборудования использовал собственную технологию организации VLAN. Такой подход имел существенный недостаток технологии одного производителя были несовместимы с технологиями других фирм. Поэтому при построении виртуальных сетей на базе нескольких коммутаторов необходимо было использовать только оборудование от одного производителя. Принятие стандарта виртуальных сетей IEEE 802.1Q позволило преодолеть проблему несовместимости, однако до сих пор существуют коммутаторы, которые либо не поддерживают стандарт IEEE 802.1Q, либо, кроме возможности организации виртуальных сетей по стандарту IEEE 802.1Q, предусматривают и иные технологии.
Существует несколько способов построения виртуальных сетей, но сегодня в коммутаторах главным образом реализуется технология группировки портов или используется спецификация IEEE 802.1Q.
Виртуальные сети на основе группировки портов
иртуальные сети на основе группировки портов (Port-based) обычно реализуются в так называемых Smart-коммутаторах или в управляемых коммутаторах как дополнение к возможности организации VLAN на базе стандарта IEEE 802.1Q.
Данный способ создания виртуальных сетей достаточно прост и, как правило, не вызывает проблем. Каждый порт коммутатора приписывается к той или иной виртуальной сети, то есть порты группируются в виртуальные сети. Решение о продвижении сетевого пакета в этой сети основывается на MAC-адресе получателя и ассоциированного с ним порта. Если к порту, которому назначена принадлежность к определенной виртуальной сети, например к VLAN#1, подключить ПК пользователя, то этот ПК автоматически будет принадлежать сети VLAN#1. Если же к данному порту подключается коммутатор, то все порты этого коммутатора также будут принадлежать VLAN#1 (рис. 1).

Рис. 1. Виртуальные сети, построенные с использованием технологии группировки портов на базе одного коммутатора
При использовании технологии группировки портов один и тот же порт может быть одновременно приписан к нескольким виртуальным сетям, что позволяет реализовывать разделяемые ресурсы между пользователями различных виртуальных сетей. Например, чтобы реализовать совместный доступ к сетевому принтеру или к файл-серверу пользователей виртуальных сетей VLAN#1 и VLAN#2, тот порт коммутатора, к которому подключается сетевой принтер или файл-сервер, нужно приписать одновременно к сетям VLAN#1 и VLAN#2 (рис. 2).

Рис. 2. Создание разделяемого ресурса между несколькими виртуальными сетями с использованием технологии группировки портов
Описываемая технология обладает рядом преимуществ в сравнении с использованием стандарта IEEE 802.1Q, но имеет и свои недостатки.
К достоинствам можно отнести простоту конфигурации виртуальных сетей. Кроме того, при этом не требуется, чтобы конечные узлы сети поддерживали стандарт IEEE 802.1Q, а поскольку большинство сетевых контроллеров Ethernet не поддерживают этот стандарт, то организация сети на основе группировки портов может оказаться проще. К тому же при подобной организации виртуальных сетей они могут пересекаться, что позволяет создавать разделяемые сетевые ресурсы.
Технология создания виртуальных сетей на основе группировки портов находит применение в случаях использования одного коммутатора или использования стека коммутаторов с единым управлением. Однако если сеть достаточно крупная и построена на нескольких коммутаторах, то возможности по организации виртуальных сетей на основе группировки портов имеют существенные ограничения. Прежде всего, эта технология плохо масштабируется и в большинстве случаев ограничивается лишь одним коммутатором.
Рассмотрим для примера ситуацию, когда сеть построена на базе двух коммутаторов, поддерживающих технологию организации виртуальных сетей на основе группировки портов (рис. 3).

Рис. 3. Реализация виртуальных сетей на основе группировки портов при использовании двух коммутаторов
Пусть необходимо, чтобы часть портов первого и второго коммутаторов относилась к VLAN#1, а другая часть к VLAN#2. Для этого нужно, во-первых, чтобы оба коммутатора позволяли не только организовывать виртуальные сети на основе группировки портов, но и распространять такие сети на несколько коммутаторов (подобная функция реализована далеко не у всех коммутаторов), во-вторых, чтобы между коммутаторами было установлено столько физических соединений, сколько создано виртуальных сетей. Рассмотрим два шестипортовых коммутатора. Пусть в первом коммутаторе порты 1 и 2 относятся к VLAN#1, а порты 3 и 4 к VLAN#2; во втором коммутаторе порты 1, 2 и 3 относятся к VLAN#1, а порт 4 к VLAN#2. Чтобы пользователи VLAN#1 первого коммутатора могли общаться с пользователями VLAN#1 второго коммутатора, эти коммутаторы должны быть связаны между собой портами, относящимися к VLAN#1 (например, порт 5 первого и второго коммутаторов необходимо приписать к VLAN#1). Аналогично, для общения пользователей VLAN#2 первого коммутатора с пользователями VLAN#2 второго коммутатора следует связать эти коммутаторы через порты, приписанные к VLAN#2 (это могут быть порты 6 на обоих коммутаторах). Таким образом, проблема масштабируемости виртуальных сетей на основе технологии группировки портов решается (правда, не во всех случаях) за счет установления избыточных связей между коммутаторами.
Виртуальные сети на основе стандарта IEEE 802.1Q
ри наличии развитой сетевой инфраструктуры, насчитывающей множество коммутаторов, более эффективным решением создания виртуальных сетей будет технология IEEE 802.1Q. В виртуальных сетях, основанных на стандарте IEEE 802.1Q, информация о принадлежности передаваемых Ethernet-кадров к той или иной виртуальной сети встраивается в сам передаваемый кадр. Таким образом, стандарт IEEE 802.1Q определяет изменения в структуре кадра Ethernet, позволяющие передавать информацию о VLAN по сети.
К кадру Ethernet добавляется метка (Tag) длиной 4 байта такие кадры называют кадрами с метками (Tagged frame). Дополнительные биты содержат информацию по принадлежности кадра Ethernet к виртуальной сети и о его приоритете (рис. 4).

Рис. 4. Сравнение обычного Ethernet-кадра и кадра с меткой
Добавляемая метка кадра включает в себя двухбайтовое поле TPID (Tag Protocol Identifier) и двухбайтовое поле TCI (Tag Control Information). Поле TCI, в свою очередь, состоит из полей Priority, CFI и VID. Поле Priotity длиной 3 бита задает восемь возможных уровней приоритета кадра. Поле VID (VLAN ID) длиной 12 бит является идентификатором виртуальной сети. Эти 12 бит позволяют определить 4096 различных виртуальных сетей, однако идентификаторы 0 и 4095 зарезервированы для специального использования, поэтому всего в стандарте 802.1Q возможно определить 4094 виртуальные сети. Поле CFI (Canonical Format Indicator) длиной 1 бит зарезервировано для обозначения кадров сетей других типов (Token Ring, FDDI), передаваемых по магистрали Ethernet, и для кадров Ethernet всегда равно 0.
Изменение формата кадра Ethernet приводит к тому, что сетевые устройства, не поддерживающие стандарт IEEE 802.1Q (такие устройства называют Tag-unaware), не могут работать с кадрами, в которые вставлены метки, а сегодня подавляющее большинство сетевых устройств (в частности, сетевые Ethernet-контроллеры конечных узлов сети) не поддерживают этот стандарт. Поэтому для обеспечения совместимости c устройствами, поддерживающими стандарт IEEE 802.1Q (Tag-aware-устройства), коммутаторы стандарта IEEE 802.1Q должны поддерживать как традиционные Ethernet-кадры, то есть кадры без меток (Untagged), так и кадры с метками (Tagged).
Входящий и исходящий трафики, в зависимости от типа источника и получателя, могут быть образованы и кадрами типа Tagged, и кадрами типа Untagged только в этом случае можно достигнуть совместимости с внешними по отношению к коммутатору устройствами. Трафик же внутри коммутатора всегда образуется пакетами типа Tagged. Поэтому для поддержки различных типов трафиков и для того, чтобы внутренний трафик коммутатора образовывался из пакетов Tagged, на принимаемом и передающем портах коммутатора кадры должны преобразовываться в соответствии с предопределенными правилами.
Правила входящего порта (Ingress rules)
Рассмотрим более подробно процесс передачи кадра через коммутатор (рис. 5). По отношению к трафику каждый порт коммутатора может быть как входным, так и выходным. После того как кадр принят входным портом коммутатора, решение о его дальнейшей обработке принимается на основании предопределенных правил входного порта (Ingress rules). Поскольку принимаемый кадр может относиться как к типу Tagged, так и к типу Untagged, то правилами входного порта определяется, какие типы кадров должны приниматься портом, а какие отфильтровываться. Возможны следующие варианты: прием только кадров типа Tagged, прием только кадров типа Untagged, прием кадров обоих типов. По умолчанию для всех коммутаторов правилами входного порта устанавливается возможность приема кадров обоих типов.

Рис. 5. Процесс продвижения кадров в коммутаторе, совместимом со стандартом IEEE 802.1Q
Если правилами входного порта определено, что он может принимать кадр Tagged, в котором имеется информация о принадлежности к конкретной виртуальной сети (VID), то этот кадр передается без изменения. А если определена возможность работы с кадрами типа Untagged, в которых не содержится информации о принадлежности к виртуальной сети, то прежде всего такой кадр преобразуется входным портом коммутатора к типу Tagged (напомним, что внутри коммутатора все кадры должны иметь метки о принадлежности к виртуальной сети).
Чтобы такое преобразование стало возможным, каждому порту коммутатора присваивается уникальный PVID (Port VLAN Identifier), определяющий принадлежность порта к конкретной виртуальной сети внутри коммутатора (по умолчанию все порты коммутатора имеют одинаковый идентификатор PVID=1). Кадр типа Untagged преобразуется к типу Tagged, для чего дополняется меткой VID (рис. 6). Значение поля VID входящего Untagged-кадра устанавливается равным значению PVID входящего порта, то есть все входящие Untagged-кадры автоматически приписываются к той виртуальной сети внутри коммутатора, к которой принадлежит входящий порт.

Рис. 6. Обработка кадров входящим портом коммутатора
Правила продвижения пакетов (Forwarding Process)
После того как все входящие кадры отфильтрованы, преобразованы или оставлены без изменения в соответствии в правилами входящего порта, решение об их передаче к выходному порту основывается на предопределенных правилах продвижения пакетов. Правило продвижения пакетов внутри коммутатора заключается в том, что пакеты могут передаваться только между портами, ассоциированными с одной виртуальной сетью. Как уже отмечалось, каждому порту присваивается идентификатор PVID, который используется для преобразования принимаемых Untagged-кадров, а также для определения принадлежности порта к виртуальной сети внутри коммутатора с идентификатором VID=PVID. Таким образом, порты с одинаковыми идентификаторами внутри одного коммутатора ассоциируются с одной виртуальной сетью. Если виртуальная сеть строится на базе одного коммутатора, то идентификатора порта PVID, определяющего его принадлежность к виртуальной сети, вполне достаточно. Правда, создаваемые таким образом сети не могут перекрываться, поскольку каждому порту коммутатора соответствует только один идентификатор. В этом смысле создаваемые виртуальные сети не обладали бы такой гибкостью, как виртуальные сети на основе портов. Однако стандарт IEEE 802.1Q с самого начала задумывался для построения масштабируемой инфраструктуры виртуальных сетей, включающей множество коммутаторов, и в этом состоит его главное преимущество по сравнению с технологией образования VLAN на основе портов. Но для того, чтобы расширить сеть за пределы одного коммутатора, одних идентификаторов портов недостаточно, поэтому каждый порт может быть ассоциирован с несколькими виртуальными сетями, имеющими различные идентификаторы VID.
Если адрес назначения пакета соответствует порту коммутатора, который принадлежит к той же виртуальной сети, что и сам пакет (могут совпадать VID пакета и VID порта или VID пакета и PVID порта), то такой пакет может быть передан. Если же передаваемый кадр принадлежит к виртуальной сети, с которой выходной порт никак не связан (VID пакета не соответствует PVID/VID порта), то кадр не может быть передан и отбрасывается.
Правила выходного порта (Egress rules)
После того как кадры внутри коммутатора переданы на выходной порт, их дальнейшее преобразование зависит от правил выходного порта. Как уже говорилось, трафик внутри коммутатора создается только пакетами типа Tagged, а входящий и исходящий трафики могут быть образованы пакетами обоих типов. Соответственно правилами выходного порта (правило контроля метки Tag Control) определяется, следует ли преобразовывать кадры Tagged к формату Untagged.
Каждый порт коммутатора может быть сконфигурирован как Tagged или Untagged Port. Если выходной порт определен как Tagged Port, то исходящий трафик будет создаваться кадрами типа Tagged с информацией о принадлежности к виртуальной сети. Следовательно, выходной порт не меняет тип кадров, оставляя их такими же, какими они были внутри коммутатора. К указанному порту может быть подсоединено только устройство, совместимое со стандартом IEEE 802.1Q, например коммутатор или сервер с сетевой картой, поддерживающей работу с виртуальными сетями данного стандарта.
Если же выходной порт коммутатора определен как Untagged Port, то все исходящие кадры преобразуются к типу Untagged, то есть из них удаляется дополнительная информация о принадлежности к виртуальной сети. К такому порту можно подключать любое сетевое устройство, в том числе коммутатор, не совместимый со стандартом IEEE 802.1Q, или ПК конечных клиентов, сетевые карты которых не поддерживают работу с виртуальными сетями этого стандарта.
Конфигурирование виртуальных сетей стандарта IEEE 802.1Q
Рассмотрим конкретные примеры конфигурирования виртуальных сетей стандарта IEEE 802.1Q.
Чтобы сформировать VLAN-сеть в соответствии со стандартом IEEE 802.1Q, необходимо проделать следующие действия:
- задать имя виртуальной сети (например, VLAN#1) и определить ее идентификатор (VID);
- выбрать порты, которые будут относиться к данной виртуальной сети;
- задать правила входных портов виртуальной сети (возможность работы с кадрами всех типов, только с кадрами Untagged или только с кадрами Tagged);
- установить одинаковые идентификаторы PVID портов, входящих в виртуальную сеть;
- задать для каждого порта виртуальной сети правила выходного порта, сконфигурировав их как Tagged Port или Untagged Port.
Далее необходимо повторить вышеперечисленные действия для следующей виртуальной сети. При этом нужно помнить, что каждому порту можно задать только один идентификатор PVID, но один и тот же порт может входить в состав различных виртуальных сетей, то есть ассоциироваться одновременно с несколькими VID.

Таблица 1. Задание характеристик портов при создании виртуальных сетей на базе одного коммутатора
Примеры построения VLAN-сетей на основе коммутаторов, совместимых со стандартом IEEE 802.1Q
А теперь рассмотрим типичные примеры построения виртуальных сетей на основе коммутаторов, поддерживающих стандарт IEEE 802.1Q.
Если имеется всего один коммутатор, к портам которого подключаются компьютеры конечных пользователей, то для создания полностью изолированных друг от друга виртуальных сетей все порты должны быть объявлены как Untagget Ports для обеспечения совместимости с сетевыми Ethernet-контроллерами клиентов. Принадлежность узлов сети к той или иной VLAN определяется заданием идентификатора порта PVID.
Возьмем восьмипортовый коммутатор, на базе которого создаются три изолированные виртуальные сети VLAN#1, VLAN#2 и VLAN#3 (рис. 7). Первому и второму портам коммутатора присваивается идентификатор PVID=1. Поскольку идентификаторы этих портов совпадают с идентификатором первой виртуальной сети (PVID=VID), то данные порты образуют виртуальную сеть VLAN#1 (табл. 1). Если портам 3, 5 и 6 присвоить PVID=2 (совпадает с идентификатором VID VLAN#2), то вторая виртуальная сеть будет образована портами 3, 4 и 8. Аналогично формируется и VLAN#3 на базе портов 5, 6 и 7. Для обеспечения совместимости с конечным оборудованием (предполагается, что к портам коммутатора подключаются ПК клиентов сети, сетевые карты которых не совместимы со стандартом IEEE 802.1Q) все порты необходимо сконфигурировать как Untagged.

Рис. 7. Организация трех сетей VLAN по стандарту IEEE 802.1Q на основе одного коммутатора
Если инфраструктура сети включает несколько коммутаторов, поддерживающих стандарт IEEE 802.1Q, то для связи коммутаторов друг с другом необходимо использовать несколько иной принцип конфигурирования. Рассмотрим два шестипортовых коммутатора, которые поддерживают стандарт IEEE 802.1Q и на основе которых необходимо сконфигурировать три изолированные друг от друга виртуальные сети VLAN#1, VLAN#2 и VLAN#3.
Пусть к первой виртуальной сети относятся клиенты, подключенные к портам 1 и 2 первого коммутатора и к портам 5 и 6 второго коммутатора. К сети VLAN#2 относятся клиенты, подключенные к порту 3 первого коммутатора и порту 1 второго коммутатора, а к сети VLAN#3 относятся клиенты, подключенные к портам 4 и 5 первого коммутатора и портам 2 и 3 второго коммутатора. Порт 6 первого коммутатора и порт 4 второго коммутатора используются для связи коммутаторов друг с другом (рис. 8).

Рис. 8. Организация трех VLAN-сетей по стандарту IEEE 802.1Q на основе двух коммутаторов
Чтобы сконфигурировать указанные виртуальные сети, необходимо прежде всего определить на каждом из коммутаторов по три виртуальные сети VLAN#1, VLAN#2 и VLAN#3, задав их идентификаторы (VID=1 для VLAN#1, VID=2 для VLAN#2 и VID=3 для VLAN#3).
На первом коммутаторе порты 1 и 2 должны входить в состав VLAN#1, для чего этим портам присваивается PVID=1. Порт 2 первого коммутатора необходимо приписать к VLAN#2, для чего идентификатору порта присваивается значение PVID=2. Аналогично, для портов 5 и 6 первого коммутатора устанавливаются идентификаторы PVID=3, так как эти порты относятся к VLAN#3. Все указанные порты первого коммутатора должны быть сконфигурированы как Untagged Port для обеспечения совместимости с сетевыми картами клиентов.
Порт 4 первого коммутатора используется для связи со вторым коммутатором и должен передавать кадры всех трех виртуальных сетей без изменения второму коммутатору. Поэтому его необходимо сконфигурировать как Tagged Port и включить в состав всех трех виртуальных сетей (ассоциировать с VID=1, VID=2 и VID=3). При этом идентификатор порта не имеет значения и может быть любым (в нашем случае PVID=4).
Аналогичная процедура конфигурации виртуальных сетей осуществляется и на втором коммутаторе. Конфигурации портов двух коммутаторов представлены в табл. 2.

Таблица 2. Задание характеристик портов при создании виртуальных сетей на основе двух коммутаторов
Автоматическая регистрация в виртуальных сетях стандарта IEEE 802.1Q
ассмотренные примеры виртуальных сетей относились к так называемым статическим виртуальным сетям (Static VLAN), в которых все порты настраиваются вручную, что хотя и весьма наглядно, но при развитой сетевой инфраструктуре является довольно рутинным делом. Кроме того, при каждом перемещении пользователей в пределах сети приходится производить перенастройку сети с целью сохранения их членства в заданных виртуальных сетях, а это, конечно, крайне нежелательно.
Существует и альтернативный способ конфигурирования виртуальных сетей, а создаваемые при этом сети называются динамическими виртуальными сетями (Dynamic VLAN). В таких сетях пользователи могут автоматически регистрироваться в сети VLAN, для чего служит специальный протокол регистрации GVRP (GARP VLAN Registration Protocol). Этот протокол определяет способ, посредством которого коммутаторы обмениваются информацией о сети VLAN, чтобы автоматически зарегистрировать членов VLAN на портах во всей сети.
Все коммутаторы, поддерживающие функцию GVRP, могут динамически получать от других коммутаторов (и, следовательно, передавать другим коммутаторам) информацию VLAN о регистрации, включающую данные об элементах текущей VLAN, о порте, через который можно осуществлять доступ к элементам VLAN и т.д. Для связи одного коммутатора с другим в протоколе GVRP используется сообщения GVRP BPDU (GVRP Bridge Protocol Data Units). Любое устройство с поддержкой протокола GVPR, получающее такое сообщение, может динамически подсоединяться к той сети VLAN, о которой оно оповещено.
- ПК и комплектующие
- Настольные ПК и моноблоки
- Портативные ПК
- Серверы
- Материнские платы
- Корпуса
- Блоки питания
- Оперативная память
- Процессоры
- Графические адаптеры
- Жесткие диски и SSD
- Оптические приводы и носители
- Звуковые карты
- ТВ-тюнеры
- Контроллеры
- Системы охлаждения ПК
- Моддинг
- Аксессуары для ноутбуков
- Принтеры, сканеры, МФУ
- Мониторы и проекторы
- Устройства ввода
- Внешние накопители
- Акустические системы, гарнитуры, наушники
- ИБП
- Веб-камеры
- KVM-оборудование
- Сетевые медиаплееры
- HTPC и мини-компьютеры
- ТВ и системы домашнего кинотеатра
- Технология DLNA
- Средства управления домашней техникой
- Планшеты
- Смартфоны
- Портативные накопители
- Электронные ридеры
- Портативные медиаплееры
- GPS-навигаторы и трекеры
- Носимые гаджеты
- Автомобильные информационно-развлекательные системы
- Зарядные устройства
- Аксессуары для мобильных устройств
- Цифровые фотоаппараты и оптика
- Видеокамеры
- Фотоаксессуары
- Обработка фотографий
- Монтаж видео
- Операционные системы
- Средства разработки
- Офисные программы
- Средства тестирования, мониторинга и диагностики
- Полезные утилиты
- Графические редакторы
- Средства 3D-моделирования
- Веб-браузеры
- Поисковые системы
- Социальные сети
- «Облачные» сервисы
- Сервисы для обмена сообщениями и конференц-связи
- Разработка веб-сайтов
- Мобильный интернет
- Полезные инструменты
- Средства защиты от вредоносного ПО
- Средства управления доступом
- Защита данных
- Проводные сети
- Беспроводные сети
- Сетевая инфраструктура
- Сотовая связь
- IP-телефония
- NAS-накопители
- Средства управления сетями
- Средства удаленного доступа
- Системная интеграция
- Проекты в области образования
- Электронный документооборот
- «Облачные» сервисы для бизнеса
- Технологии виртуализации
1999 1 2 3 4 5 6 7 8 9 10 11 12 2000 1 2 3 4 5 6 7 8 9 10 11 12 2001 1 2 3 4 5 6 7 8 9 10 11 12 2002 1 2 3 4 5 6 7 8 9 10 11 12 2003 1 2 3 4 5 6 7 8 9 10 11 12 2004 1 2 3 4 5 6 7 8 9 10 11 12 2005 1 2 3 4 5 6 7 8 9 10 11 12 2006 1 2 3 4 5 6 7 8 9 10 11 12 2007 1 2 3 4 5 6 7 8 9 10 11 12 2008 1 2 3 4 5 6 7 8 9 10 11 12 2009 1 2 3 4 5 6 7 8 9 10 11 12 2010 1 2 3 4 5 6 7 8 9 10 11 12 2011 1 2 3 4 5 6 7 8 9 10 11 12 2012 1 2 3 4 5 6 7 8 9 10 11 12 2013 1 2 3 4 5 6 7 8 9 10 11 12