Задать вопрос
  • Какая разница между типами vlan?

    @Akina
    Сетевой и системный админ, SQL-программист.
    802.1Q VLAN
    Базовый, объемлющий, протокол.
    К пакету при отправке добавляется информация (дополнительный заголовок) с номером VLAN. Такой пакет называется/является маркированным номером VLAN (тегованным). Соответственно при приёме номер VLAN сверяется с разрешённым, при несовпадении пакет отбрасывается. Мест добавления/контроля, как и способов, существует несколько.

    Port-Based VLAN
    Разновидность протокола, при котором номер VLAN жёстко связан с физическим портом устройства. Входящий нетегованный пакет маркируется именно тем номером, который зарегистрирован на порте, входящий/исходящий тегованный пакет проверяется на то, что номер соответствует зарегистрированному на порте, иначе пакет отбрасывается. К порту может быть привязано несколько номеров как разрешённые входящие/исходящие для тегованного трафика, но строго один для нетегованного трафика. Исключение - вторым может быть Voice VLAN, но эту ситуацию обслуживает отдельный протокол-надстройка (к тому же он всегда MAC-based).

    802.1Q Management VLAN
    Номер VLAN, к которому привязан IP-адрес внутреннего интерфейса управления. Из другого VLAN интерфейс по этому адресу недоступен. Внутренний интерфейс может иметь несколько адресов из разных непересекающихся подсетей, тогда каждый будет привязан к своему Management VLAN.
    Ответ написан
    1 комментарий
  • Как отправлять произвольные данные через сетевую карту?

    ValdikSS
    @ValdikSS
    Универсальное, но не самое гибкое и быстрое решение: raw socket. Работает во всех популярных ОС.
    Ответ написан
    Комментировать
  • Можно ли выбрасывать исключение в предикатах?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Держащий в руке молоток видит только гвозди


    Это про вас. Предикат обязан возвращать true/false. Эксепшены нужны для того чтобы отлавливать ошибки и передавать из вверх по стеку.

    Пример из жизни: на вопрос есть ли пирожки продавец или говорит да или разворачивается и уходит
    Ответ написан
    2 комментария
  • Зачем ставить фигурные скобки после вызова метода?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Фигурные скобки создают новый блок со своей областью видимости (к последнему выражению это отношения не имеет):
    int A = 0;
    
    {
        int A = 1;
        int B = 1;
        std::cout << A << "\n"; // 1
        std::cout << B << "\n"; // 1
    }
      
    std::cout << A << "\n"; // 0
    //std::cout << B << "\n"; // <-- error: B was not declared in this scope
    Ответ написан
    16 комментариев
  • Установлены Windows 10 и Linux в один компьютер. Как правильно переустановить Windows 10?

    driversti
    @driversti
    Кратко о себе
    Насколько я помню, Windows затирает загрузчик и не даёт загрузиться Линуксу. Поэтому всегда рекомендуют сначала установить Windows, а потом Linux, так как grub умеет запускать и Linux, и Windows. У меня самого так установлено. В Вашем случае я бы просто переустановил Windows, как обычно, на тот же диск с его вайпом, а после успешной установки, накатил grub, чтобы иметь возможность запускать Linux.

    ИМХО. Что бы Вам не говорили о том, что одну ОС стоит ставить в виртуалку, нужно отказываться от Windows только при полном переходе на Linux и вообще зачем Вам это всё, от себя замечу, что у меня года два связка Windows+Linux на одном физическом диске (SSD) + файлопомойка на HDD. Все прекрасно работает. В основном живу на Linux, a Windows запускаю только поиграть раза два в год или для специфических программ (в Wine не умею :D ). Дерзайте ;)
    Ответ написан
    Комментировать
  • Как sizeof вычисляет размер массива?

    @res2001
    Developer, ex-admin
    sizeof - это не функция (хоть и выглядит похоже) - это операция взятия размера.
    sizeof всегда вычисляется на этапе компиляции, т.е. в исполняемом файле вместо вызова sizeof уже будет вычисленная константа.
    Когда компилятор знает размер массива, как в вашем примере, он вернет полный размер массива.
    Но если передать в sizeof произвольный указатель (именно указатель, а не статический массив), он вернет размер указателя.

    Статический массив - это не указатель. Указатель - на этапе выполнения занимает в памяти место для хранения адреса. Статический массив занимает в памяти место для хранения данных массива.
    Поэтому статический массив - это не указатель. Хотя часто компилятор работает с именем статического массива как с указателем.
    Ответ написан
    8 комментариев