Найти в Дзене

062 У VLAN 4096 значений. Почему?

Не отпускают нули и единицы… Копаем сетевую тему дальше. Неопытным сетевым инженерам на собеседовании часто дают пример сети, где указан VLAN превышающий значение 4095, например 8120 и просят указать на ошибку в дизайне сети. Или просто спрашивают, почему номер VLAN не может превышать значение 4095. Многие теряются. На самом деле все просто. VLAN, или виртуальная локальная сеть, — это метод разделения физической сети на несколько виртуальных сетей. Каждая VLAN имеет свой собственный широковещательный домен, что обеспечивает большую гибкость и безопасность при проектировании сети. В сетевых сетях VLAN идентифицируется номером, известным как VLAN ID, или VID. VID - это 12-битное число, что означает, что оно может иметь максимум 2^12 (4096) возможных значений. Именно поэтому VLAN может иметь максимальное число 4096. Из 4096 возможных значений VID 0 и VID 4095 зарезервированы, поэтому максимальное количество VLAN, которые работают в сети равно 4094. Этого количества хватит за глаза, для по

Не отпускают нули и единицы… Копаем сетевую тему дальше.

Неопытным сетевым инженерам на собеседовании часто дают пример сети, где указан VLAN превышающий значение 4095, например 8120 и просят указать на ошибку в дизайне сети. Или просто спрашивают, почему номер VLAN не может превышать значение 4095. Многие теряются. На самом деле все просто.

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

В сетевых сетях VLAN идентифицируется номером, известным как VLAN ID, или VID. VID - это 12-битное число, что означает, что оно может иметь максимум 2^12 (4096) возможных значений. Именно поэтому VLAN может иметь максимальное число 4096.

Из 4096 возможных значений VID 0 и VID 4095 зарезервированы, поэтому максимальное количество VLAN, которые работают в сети равно 4094. Этого количества хватит за глаза, для построения сети практически любого размера, Возможно, проблемы с количеством VLAN возникают у сетевых администраторов таких гигантов, как Amazon или Microsoft, но я не уверен.

Вот пример, как битовая маска используется для создания VLAN:

Go Playground - The Go Programming Language

В этом коде мы определяем двоичное число для преобразования как строку ("11111111111111") и инициализируем десятичный результат 0. Затем мы перебираем каждую цифру двоичного числа, начиная с самой правой, и вычисляем ее вклад в десятичное значение по формуле digit * 2^position. Мы прибавляем каждый вклад к результату до тех пор, пока не будут обработаны все цифры.

Наконец, мы выводим двоичную и десятичную формы числа с помощью fmt.Printf().

Играя с битовой маской можно задавать другой номер VLAN. В жизни все наоборот, VLAN задается в десятичном формате, а на оборудовании работает в двоичном формате.