Задать вопрос
  • Какие посоветуете учебники по вышмату?

    hint000, поддержу, Фихтенгольц -- это идеальное введение в матан, так как балансирует между теорией и её применением/внутренней логикой. После него можно уже более строгие и компактные учебники смотреть -- будет понятней и проще.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    Akina, почитал в соседнем вопросе про твою ситуацию:
    Вот, скажем, в одном цехе имеется оборудование, которое должно иметь на одном-единственном сетевом интерфейсе пять разных сетевых адресов (причём два из них, оба /28, вообще зашиты статически, и обслуживают взаимодействие с другими агрегатами комплекса), и обязательно из разных подсетей - это обязательное требование, явно описанное в документации на оборудование. Причём tagged оно не понимает от слова "совсем". Мне что, отдельный маршрутизатор туда ставить, чтобы разогнать подсети по разным VLAN? Да шло бы оно лесом.

    Вот здесь, например, один VLAN вполне обоснован и служит той же цели, что и обычное совмещение VLAN'а с IP-подсетью -- удобство администрирования и отделение трафика оборудования от другого трафика.
    Оборудование всегда желательно от другого трафика ограничить, так как всегда есть опасения в надёжности его сетевой подсистемы.
    Написано
  • На сколько актуальные L3 коммутаторы? Как вы делаете VLAN, на самом Mikrotik или ставит L3 комок, потом соединяете L3 и Mikrotik портом ACCESS?

    L3-коммутатор это и есть коммутатор, только у которого в ASIC есть дополнительный шаг маршрутизации: по сути перекладка пакета из VLAN'а в VLAN по встроенной таблице. Некоторые ещё и в туннели умеют.
    Преимущество его в том, что для стабильных маршрутов они эффективны и хорошо разгружают трафик внутри сети, где его особо не надо контролировать.
    А остальной трафик они также спокойно по L2 донесут до полноценных маршрутизаторов.
    Мне кажется, что для уровня доступа вполне нормальный выбор.
    Написано
  • Как решить проблему с загрузка файлов на C#?

    yuryshalom, с такими размерами возможно лучше будет встроить торрент-клиент в лаунчер. И, соответственно, поднять свой трекер с сервером.
    Написано
  • Почему тип не может преобразоваться в родительский?

    ..., что бы это работало надо указать правильную вариантность у IUserService<UserT>. Скорее всего тебе подойдёт IUserService<out UserT>.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    Akina, обычно совмещение VLAN'ов с IP-подсетями делают для удобства администрирования и усиления безопасности: IP-подсети назначают административным единицам для которых не страшно случайное получение чужих пакетов. Например, можно бухгалтерию от программистов отделить.
    Защита от флудинга адресов какая-никая есть. Изоляцию портов проще настраивать и поддерживать. Трафиком проще управлять.
    Это больше не технический, а административно/организационный вопрос.
    Написано
  • Маршрутизатор с функцией Link Aggregation Control Protocol (LACP)?

    Александр, это может MPTCP, поэтому для домашнего применения и выгодно использовать сборки типа OpenMPTCPRouter, но они требуют покупки внешнего сервера, что обычно доступно по деньгам для дома.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    @Akina
    Свитчи принесли с собой таблицу фильтрации FDB, которая отображает известные unicast-MACи, на порты, куда их надо отправить.
    Если она не заполнена, при включении, например, то вне зависимости от типа адреса назначения пакет будет отправлен на все остальные порты VLAN'а. То же происходит при переполнении FDB -- если нет места для нового адреса, то пакет тоже будет разослан везде.
    Широковещание это действие коммутаторов по умолчанию, всё остальное это только способы его ограничить для повышения производительности (и немного безопасности).
    MAC-адреса делятся на unicast (которые попадают в FDB) и broadcast, в котором отдельно выделяют мультикаст-адреса.

    Ещё есть отдельные соглашения как MAC-адреса связываются с IP-адресами, чтобы IP протокол корректно на Ethernet'е работал. Потому что для IP понятия броадкаста и мультикаста тоже определены и для их корректной связки с коммутаторами есть отдельные протоколы, которые определены на L3, но должны поддерживаться коммутаторами для эффективной работы.

    Тот же IP-мультикаст на уровне коммутаторов, на которых нет хотя бы IGMP-снупинга будет тупо работать броадкастом, забивая всю сеть.

    Чуть резюмирую: широковещание это рассылка на всех адресатов и коммутаторы имеют право это делать вне зависимости от того, какой тип адреса ты указал. Правильная их настройка как раз и заключается в том, чтобы они этого не делали.
    Написано
  • Как заставить объект Moq возвращать разные значения при повторных прогонах теста?

    Cod Rob, проще возвращаемый результат как часть набора входных данных сделать тогда:
    [Theory]
        [MemberData(nameof(RatingRecordRepositoryTestData.GetAllMethod_TestData), MemberType = typeof(RatingRecordRepositoryTestData))]
        public void Should_ReturnConcreteRatingRecords_When_ConveyingConcreteDifficulty
            (DifficultyLevels difficultyLevel, int hours, int minutes, int seconds, List<RatingRecord> expectedData)
        {
            _ratingRecordRepositoryMock.SetupSequence(obj => obj.GetAll(difficultyLevel)).Returns(
                new List<RatingRecord> { new RatingRecord() { GameCompletionTime = new TimeOnly(hours, minutes, seconds), GameCompletionDate = DateOnly.FromDateTime(DateTime.Now) } }
                );
            var realObject = _ratingRecordRepositoryMock.Object;
    
            var actualData = realObject.GetAll(difficultyLevel);
    
            Assert.Equal(expectedData, actualData);
        }
    }
    Написано
  • Что и как присваивает номера vlan для подсетей?

    Akina, как правильно заметил asmelnik, Ethernet изначально широковещательный и в дальнейшем был доработан для отптимизации трафика как для юникаста, так и для мультикаста. Старые хабы, которые просто на все порты рассылали входящие пакеты до сих пор соответствуют 802.1q, например.

    А разные изобретения вендоров по ограничению трафика а-ля port isolation циски потребовали доработки стандарта. Так как иначе про их коммутаторы нельзя было бы говорить, что они соответствуют стандартам 802.1*.

    С какого это перепугу виден? даже если эти порты не изолированы, то разные VLAN не дают пакету пройти с одного на другой.

    Я говорил именно про один VLAN.

    Про домен, в стандарте раньше было понятие broadcast domain, которое было переформулировано, но осталось в описаниях IP, так как для них формально ничего не изменилось.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    Это значит, что в стандарте VLAN не описан как широковещательный домен, т. е. если бы так было написано, то режим изоляции портов просто противоречил бы этому и это было поведение, которое не соответствует стандарту.
    Т. е. если бы у тебя два порта доступа входили в один VLAN и между ними была настроена изоляция, то по старому определению VLAN'а широковещательный пакет из одного должен был быть виден во втором, что противоречит изоляции.
    Поэтому определение VLAN'а изменили, чтобы и такое поведение захватить.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    Akina, я как раз и написал, что это стандартное поведение, просто это частая ошибка, когда путают ёмкость таблицы VLAN'ов и их идентификаторы.
    А изоляция портов уже больше опирается на то. что по сути VLAN описывается в стандарте как набор направленных деревьев распространения кадров.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    Ещё по 802.1q устройства, которые поддерживают менее максимального количества VLANов, вполне стандартные, например свитч может поддерживать настройку всего 128 VLAN'ов максимум, при условии, что каждый из них может иметь VID в диапазоне 1…4094.
    Написано
  • Что и как присваивает номера vlan для подсетей?

    VLAN по сути это широковещательный домен, который очень хорошо совпадает с IP-подсетью в контексте администрирования: у клиентских устройств скорее всего единые права доступа, поэтому в голове модель сети проще и меньше вероятность ошибок допустить.
    Написано
  • Как в C# проекте импортировать стороннюю c++ библиотеку?

    Для винды вариант с C++/CLI самый оптимальный, если есть опыт работы с ним.

    Есть ещё два варианта:
    1) обернуть библиотеку в COM;
    2) обернуть библиотеку в отдельный процесс и общаться с ней по ZeroMQ, например; дополнительно полезно, если её код не самый безопасный и она любит падать.
  • Как восстановить потерянный коммит в bitbucket?

    Антон Шелестов, насколько я понял, локальная копия репозитория у тебя есть?
    Если так, то проще всего сделать так:
    выкачать локально последние изменения
    git fetch <ID последнего рабочего коммита>
    создать ветку для неё
    git branch last_work <ID последнего рабочего коммита>
    запушить её обратно в репозиторий
    git push origin last_work
  • Разница между @~ и @^?

    Сергей Кузнецов,
    Я имел в виду что ^[n] эквивалентно ~[n]

    Это не так,
    ^[n] — это n-й прямой/непосредственный родитель коммита, нужен для того, чтобы правильно выбирать куда идти дальше у коммитов-слияний;
    ~[n] — это n-й предок коммита, если двигаться только по первому родителю в каждом предке;
    Если взять диаграмму из справки:
    G   H   I   J
     \ /     \ /
      D   E   F
       \  |  / \
        \ | /   |
         \|/    |
          B     C
           \   /
            \ /
             A

    То к F можно попасть двумя путями от A:
    • A^1^3 или A~^3
    • A^2~
  • Как перебазировать разросшуюся ветку в git?

    Да, здесь эта опция лишняя, привык просто её указывать, когда приходится вручную граф коммитов собирать.
  • Какой смысл писать комментарий к коммиту?

    TCloud,
    Как часто ты ищешь что-то, что было реализованно год назад?

    При каждом изменении старого кода:
    На таких проектах возникают вопросы типа "Почему это сделано? Почему это сделано так? Какие ещё изменения делались и где?". В идеальном мире на все эти вопросы отвечает документация, а в жизни приходится изучать контекст кода, чтобы при изменении не поломать неявно заданных тогда предположений, на которые 100% завязаны какие-то пользователи и процессы.
    Идентификатор задачи полезен, чтобы найти задачу, посмотреть какие цели тогда ставились. Но чем старше код, тем больше шансы, что произошёл рассинхрон: сменилась, например, неоднократно система планирования/багтрекер, и привязки потерялись. Я лично видел задачи, где после конверсии у старых задач терялись ссылки и приложенные файлы, в которых были постановки задач.
    А комментарии живут столько же, сколько и изменения.
  • Удобные ежемесячные git commit отчеты?

    celovec, я в похожей ситуации использовал ToDoList -- у него есть опция включать счётчик времени работы по пункту.
    Потом просто прогонял логи через скрипт, получал .csv-файл и строил по ней табличку в Excel'е.
    В вашем случае можно просто завести пять пунктов и просто там отмечать время. Рекомендую туда же добавить пункты совещаний и созвонов.
    Логи коммитов никакому начальству на самом деле не нужны (бывают исключения, но они обычно сами могут посмотреть/поручить кому-нибудь), им нужен отчёт, что ты работал и результат.