Общие сведения об использовании виртуальных сетей и виртуальных ЛС
В этом разделе вы узнаете о виртуальных сетях виртуализации сети Hyper-V и о том, чем они отличаются от виртуальных локальных сетей (VLAN). Виртуализация сети Hyper-V позволяет создавать виртуальные сети наложения, также называемые виртуальными сетями.
программно-определяемая сеть (SDN) в Windows Server 2016 основана на политике программирования для наложения виртуальных сетей в виртуальном коммутаторе Hyper-V. Можно создавать виртуальные сети наложения, также называемые виртуальными сетями, с виртуализацией сети Hyper-V.
При развертывании виртуализации сети Hyper-V перекрытия сетей создаются путем инкапсуляции кадра Ethernet для виртуальной машины уровня 2 клиента с наложением или туннелем (например, ВКСЛАН или NVGRE) и заголовками Ethernet уровня 3 (или 2) из ундерлай (или физической) сети. Виртуальные сети наложения идентифицируются с помощью 24-битного идентификатора виртуальной сети (вни), чтобы обеспечить изоляцию трафика клиента и разрешить перекрывающиеся IP-адреса. ВНИ состоит из идентификатора виртуальной подсети (VSID), идентификатора логического коммутатора и идентификатора туннеля.
Кроме того, каждому клиенту назначается домен маршрутизации (аналогично виртуальной маршрутизации и переадресации VRF), чтобы несколько префиксов виртуальных подсетей (каждый из которых представлены вни) можно было напрямую маршрутизировать друг другу. Маршрутизация между клиентами (или перекрестной маршрутизацией) не поддерживается без перехода на шлюз.
Физическая сеть, в которой туннелирование инкапсулированного трафика каждого клиента, представлена логической сетью, называемой логической сетью поставщика. Логическая сеть поставщика состоит из одной или нескольких подсетей, каждая из которых представляется префиксом IP-адреса и, при необходимости, с тегом VLAN 802.1 q.
Вы можете создать дополнительные логические сети и подсети для целей инфраструктуры, чтобы передавать трафик управления, трафик хранилища, трафик динамической миграции и т. д.
Microsoft SDN не поддерживает изоляцию сетей клиентов с помощью виртуальных ЛС. Изоляция клиентов выполняется исключительно с помощью виртуальных сетей наложения виртуализации сети Hyper-V и инкапсуляции.
Виртуальные соединения
Дейтаграмма представляет собой отдельный отрезок данных, передаваемый по сети независимо от передачи других отрезков данных этого же сообщения.
Большинство ГСПД использует адаптивный способ маршрутизации, согласнo которому постоянно выбирается тот маршрут между двумя пунктами, который в данный момент обеспечивает наилучшее качество обслуживания. Это означает, что сообщение, состоящее из нескольких дейтаграмм, может передаваться по различным маршрутам. Поэтому различные отрезки данные могут прибывать в пункт назначения в последовательности, отличной от той, в которой они входили в сеть.
В некоторых ГСПД восстанавливается начальный порядок следования отрезков данных перед выдачей в терминал-получатель, в других эта операция производится средствами терминала-получателя. Если в ГСПД производится сборка сообщения, то на узлах коммутации требуются более сложные протоколы (речь о протоколах пойдет ниже) для восстановления потерянных, искаженных или дублируемых отрезков данных.
С другой стороны, если восстановление порядка следования отрезков данных производится в терминале-получателе, то используются достаточно сложные сквозные протоколы, функционирующие во взаимодействии с терминалом-отправителем для восстановления потерянных и искаженных отрезков данных. ГСПД, работающие по этому методу, выходят из режима переполнения при мгновенном группировании нагрузки, отбрасывая часть отрезков данных, потому что в этом случае наличие сквозных межтерминальных протоколов гарантирует восстановление потерянных отрезков данных.
Виртуальное соединение — это логическое двухточечное соединение между терминалом-отправителем и терминалом-получателем. Виртуальные соединения являются аналогом физического соединения, которое устанавливается в сети с коммутацией каналов, с тем отличием, что ресурсы ГСПД не закрепляются постоянно за конкретным виртуальным соединением. В этом случае перед тем, как начать передачу данных, должен быть установлен виртуальный канал, который представляет собой маршрут, устанавливаемый между терминалами отправителя и получателя.
Виртуальное соединение (виртуальный канал) может быть динамическим и постоянным. Динамическое соединение устанавливается передачей в ГСПД специального запроса на установление соединения. Этот пакет-запрос проходит через узлы коммутации ГСПД и «прокладывает» маршрут, т.е. узлы коммутации ГСПД запоминают маршрут для постоянного соединения и при поступлении последующих пакетов этого соединения отправляют их всегда по проложенному маршруту — виртуальному каналу.
Очевидно, что избыточность, связанная с установлением и разъединением соединения, может ухудшить временные характеристики для отдельных пользователей. Поэтому предусматривается возможность установления постоянных виртуальных каналов, которые всегда находятся в фазе обмена данных и никогда не разъединяются. Этот метод может быть использован для создания частных виртуальных сетей для некоторых пользователей.
В табл. 1.1 приведено распределение функций по уровням ЭМВОС.
Таблица 1.1 — Распределение функций по уровням ЭМВОС
Уровень | Наименование | Основная задача | Выполняемые функции |
Физический уровень (управление физическим каналом) | Сопряжение с физическим каналом | Установление соединения с физическим каналом Поддержание соединения с физическим каналом Закрытие соединения с физическим каналом | |
Канальный уровень (управление информационным каналом) | Управление передачей по информационному каналу | Проверка состояния информационного канала Проверка массивов информации служебными символами управления каналов Контроль данных, передаваемых по информационному каналу Обеспечение прозрачности информационного канала Управление передачей кадров по информационному каналу | |
Сетевой уровень (управление сетью) | Маршрутизация пакетов | Управление коммутационными ресурсами Организация маршрутизации пакетов Обрамление массивов информации служебными символами передачи по коммуникационной сети | |
Транспортный уровень (управление передачей) | Управление логическим каналом | Организация постоянных или временных логических каналов между процессами Управление потоком информации Обрамление массивов информации служебными символами запроса либо ответа | |
Сеансовый уровень (управление сеансами) | Обеспечение сеансов связи | Осуществление интерфейса с транспортным уровнем Организация, поддержание и окончание сеансов связи | |
Представительный уровень (управление представлением) | Изображение данных в необходимой форме | Генерация и интерпретация команд взаимодействия процессов Представление данных программе пользователя | |
Прикладной уровень(программы пользователей) | Выполнение процесса | Вычислительные работы Информационно-поисковые или справочные работы Логическое преобразование информации пользователей |
В табл. 1.2 приведены скоростные характеристики ГСПД и наименование используемых на первом, втором и третьем уровнях ЭМВОС протоколов.
Таблица 1.2 — Характеристики телекоммуникационных технологий
Тип сети | Скорость доступа | Перечень используемых протоколов |
Х.25 | от 1,2 Кбит/с до 64 Кбит/с и более | Х.З, Х.28, Х.29, Х.32 LAP-B, X.25 |
Frame Relay | от 64 Кбит/с до 2 Мбит/с и более | LAP-D, LAP-Fcontrol, LAP-Fcore |
ATM | от 1,544 Мбит/с до 155 Мбит/с и более | AAL1-AAL5, ATM, Q 931, Q 933 |
TCP/IP | от 1,2 Кбит/с до 2,048 Кбит/с и более | X.25, SLIP, PPP, IP, ICMP, ISPF, IS-IS |
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Генерация страницы за: 0.012 сек. —>
VirtualBox: виртуальная локальная сеть, маршрутизация в Linux
На 4 курсе Бауманки я получил задание: сделать виртуальную локальную сеть на базе Linux. Информации на эту тему оказалось довольно много, но ее поиск может занять много времени, а порой даже запутать. Поэтому я решил расписать самые основные шаги для построения локальной сети с использованием VirtualBox, а также пролить свет на некоторые неочевидные настройки Linux.
Описание задачи
Создать виртуальную сеть в VirtualBox, включающую в себя первую сеть на 2048 хостов, вторую сеть на 256 хостов и сервер, выступающий в роли маршрутизатора. В последствии на сервере можно будет настроить файервол для вывода в интернет обоих сетей.
Любой компьютер первой сети должен успешно выполнять пинг любого другого компьютера второй сети и наоборот. ICMP-пакеты должны проходить через сервер. Сети и сервер должны быть представлены в виде компьютеров с соответствующими ipv4-адресами.
Настройка виртуальных машин
Если говорить максимально коротко, то сервер одновременно находится и в первой локальной сети, и во второй. Это значит, что по одному сетевому интерфейсу он видит все компьютеры из сети на 2048 хостов, а по другому — все компьютеры из сети на 256 хостов. Для объединения виртуальных машин, допустим сервера и машины первой сети, будем использовать тип подключения «Внутренняя сеть». Внутренняя сеть позволит объединить сервер (SERVER) и первую сеть (LAN 1) на физическом уровне (аналог — соединение кабелем).
Следует обратить внимание на то, что имя внутренней сети LAN1 на первом адаптере должно совпадать с именем внутренней сети SERVER’а на первом адаптере. Таким образом, можно реализовать физическое соединение любого адаптера виртуальной машины LAN 1 с любым адаптером виртуальной машины SERVER. Аналогичным образом соединим вторую сеть (LAN 2) с другим сетевым адаптером сервера, за одним исключением, название внутренней сети должно отличаться.
На данном этапе машины соединены физически, но отправлять ICMP пакеты еще нельзя, для этого необходимо настроить ip-адреса.
Настройка адресов сетей и сервера
Для первой сети на 2048 хостов зададим адрес 192.168.1.0/21, для второй — 192.168.2.0/24. Про ip-адресацию написано уже достаточно большое количество статей, поэтому на ней останавливаться не будем. Соответственно, необходимо задать адреса каждой виртуальной машине.
Для начала стоит посмотреть на сетевые интерфейсы сервера с помощью команды ifconfig:
- eth0 — из предыдущего пункта адаптер 1 с типом подключения «Сетевой мост», сейчас его рано разбирать
- eth1 — адаптер 2 с типом подключения внутренняя сеть, соединяется с адаптером 1 (там это будет eth0) первой виртуальной машины LAN 1, имя подключения LAN 1
- eth2 — адаптер 2 с типом подключения внутренняя сеть, соединяется с адаптером 1 второй виртуальной машины LAN 2, имя подключения LAN 2
Следующими двумя командами зададим ip-адреса сервера в первой и второй сетях соответственно:
- ifconfig eth1 192.168.1.10 netmask 255.255.248.0
- ifconfig eth2 192.168.2.10 netmask 255.255.255.0
Затем необходимо настроить ip-адреса на eth0 виртуальных машин LAN1 и LAN2. Выполнив команду ifconfig на каждой из машин можно увидеть следующее:
На данном этапе LAN 1 видит SERVER по адресу 192.168.1.10, а SERVER видит LAN 1 по 192.168.1.1. Похожая ситуация и со второй сетью, LAN 1 видит SERVER по адресу 192.168.2.10, а SERVER видит LAN 1 по 192.168.2.1.
Убедиться в этом можно с помощью команды ping, которая отсылает icmp пакеты по определенному ip-адресу и принимает ответ. При пинге с SERVER’а адреса 192.168.2.1 (команда ping 192.168.2.10) должен получиться следующий результат:
Пакеты идут, значит все правильно.
Маршрутизация через сервер
Данная часть статьи легче для понимая, поэтому коротко и по делу. LAN 1 и LAN 2 находят в разных сетях, но у них есть общая точка соприкосновения — SERVER. Это значит, что две сети могут общаться между собой именно через него. Но для этого надо настроить маршрутизацию.
Для начала стоит разрешить на сервере пересылку пакетов между различными сетевыми интерфейсами командой: echo 1 > /proc/sys/net/ipv4/ip_forward. С помощью утилиты маршрутизации route добавим статические маршруты из сети LAN 1 в LAN 2 через SERVER, и из сети LAN 2 в LAN 1 через SERVER.
LAN 1: route add -net 192,168.2.0 netmask 255.255.255.0 gw 192.168.1.10 dev eth0
LAN 2: route add -net 192.168.0.0 netmask 255.255.248.0 gw 192.168.2.10 dev eth0
Следует отметить, что атрибут -net указывается для того, чтобы провести маршрут именно до сети, а не до отдельного хоста, а после атрибута gw указывается адрес сервера для той сети, в которой начинается маршрут.
Такая маршрутизация позволяет первой сети направлять пакеты из одной сети в другую через сервер.
Заключение
Данная статья должна ответить на базовые вопросы читателей по поводу практической реализации и расставить по местам некоторые вопросы о создании виртуальных локальных сетей в VirtualBox с использованием Linux.
Также стоит отметить, что на практике стоит выбрать другой адрес для первой подсети, например 10.0.0.0/21, чтобы избежать пересекающихся диапазонов адресов.