Все потоки
Поиск
Написать публикацию
Обновить
229.16

Сетевые технологии *

От Ethernet до IPv6

Сначала показывать
Порог рейтинга
Уровень сложности

Как упростить работу проектировщикам транспортных сетей с помощью визуализации и аналитических инструментов

Время на прочтение6 мин
Количество просмотров1.4K

Сеть билайна имеет в своем ресурсе свыше 100 тысяч элементов транспортной сети с 24 уникальными типами транспортных узлов. Управлять ими, проектировать и развивать их достаточно сложно и трудоемко. Чтобы упростить работу проектировщикам и другим пользователям сети, мы создали уникальный программный продукт, аналогов которому нет на рынке, TN Map — интерактивную карту, которая помогает визуально оценивать состояние сетей связи филиалов.

В статье подробно расскажем о функциях и внутреннем устройстве TN Map: разберем сценарии использования продукта и его отличительные особенности.

Читать далее

eBPF вместо всего: почему это новая эра сетей, мониторинга и безопасности?

Время на прочтение9 мин
Количество просмотров16K

Раньше модификация Linux требовала пересборки ядра или использования дополнительных модулей. Но теперь есть eBPF — технология, которая позволяет программировать ядро на лету, не жертвуя стабильностью. Звучит как мечта системного администратора или очередной тренд, который существует только на бумаге, но нет. Обработка миллионов пакетов в секунду, отслеживание уязвимостей в реальном времени и замена традиционных агентов мониторинга чем-то более эффективным — это не будущее. Это настоящее, в котором уже живут, например, CloudFlare и Netflix. Детали под катом.
Читать дальше →

Пишем стек TCP/IP с нуля: основы TCP и Handshake

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров13K

Первая часть: Ethernet, ARP, IPv4 и ICMPv4

Пока наш стек TCP/IP пользовательского пространства содержит минимальные реализации Ethernet и IPv4. Настало время заняться пугающим Transmission Control Protocol (TCP).

TCP, работающий на четвёртом (транспортном) сетевом слое OSI1, отвечает за починку ошибочных подключений и сбоев в доставке пакетов. TCP — «рабочая лошадка» Интернета, обеспечивающая надёжную связь практически во всех компьютерных сетях.

TCP — не особо новый протокол, первая его спецификация вышла в 1974 году2. С тех пор многое поменялось, TCP дополнился множеством расширений и исправлений3.

В этом посте мы изучим базовую теорию TCP, а также рассмотрим заголовок TCP и поговорим об установке соединения (TCP handshaking). Под конец мы продемонстрируем первую функциональность TCP в нашем сетевом стеке.

Читать далее

Управляем сетевыми политиками доступа в стиле «Network as Code». Часть 1

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.6K

Привет, Хабр! Сегодня поделюсь, как я с коллегами решал небольшую задачу по автоматизации управления списками доступов на пограничных маршрутизаторах. Исходные данные просты: 100+ маршрутизаторов, на которых необходимо поддерживать в актуальном состоянии правила NAT. Звучит несложно, но, как водится, есть свои нюансы.

Читать далее

PBR- Policy Based Routing (Cisco) Делим траффик пополам

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3K

Здравствуйте, дорогие читатели! Сегодня мы рассмотрим policy-based routing (маршрутизацию на основе политик) и его практическое применение в лабораторной работе с использованием GNS3. Вся информация будет представлена на практике. Вот наша топология, с которой мы будем работать. Маршрутизация будет осуществляться с помощью протокола OSPF.

Наша топология:

Читать далее

Как передать произвольное количество бит, передав 2 бита

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров11K

Недавно прочитал статью на Пикабу про бесконечное сжатие, где предлагалось создать словарь 3-х байтовых блоков, и представлять информацию в виде ссылок на эти блоки. Понял что выигрыша в этом нет, но идея передавать не саму информацию, f что-то другое, меня зацепила. Начал размышлять, допустим демон на дне океана перекусывает нитку оптоволокна и смотрит как туда сюда бегут 1 и 0. Какой в них смысл? Одно и тоже. И правда как извлечь смысл из этого однообразия. А здесь вступают в игру фактор времени и договоренности. То есть добавляются дополнительные измерения о которых демон не знает. Стартовые, стоповые биты, длина пакета.

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

Читать далее

Network Address Translation (NAT) — CISCO (дырка в сети)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров7.7K

Если вы хотите понять, как современные сети работают и обеспечивают безопасность, или если вы просто хотите освежить свои знания в области сетевых технологий, эта статья для вас. Мы рассмотрим ключевые методы управления IP-адресами, такие как Network Address Translation (NAT), и подробно изучим их применение в реальных условиях. Включенные темы, такие как защита информации (ИБ), DMZ, и Policy-Based Firewall, будут полезны как новичкам, так и профессионалам. Мы также рассмотрим практическую реализацию NAT с использованием эмуляции сети в GNS3, что позволит вам увидеть, как это работает на практике, независимо от того, работаете ли вы с оборудованием Cisco или другими платформами.

Network Address Translation (NAT) — это технология, используемая для изменения IP-адресов в заголовках пакетов, проходящих через маршрутизатор или фаервол. Основная цель NAT — сократить количество публичных IP-адресов, необходимых для связи с интернетом, и улучшить безопасность путем скрытия реальных IP-адресов внутри сети. Существуют различные виды NAT, такие как Static NAT, Dynamic NAT и Перегруженный NAT (PAT), каждый из которых применяется в зависимости от потребностей сети и управления адресами. В этой статье мы рассмотрим эти методы и их применение в современных сетевых инфраструктурах.

Мы будем рассматривать практическую реализацию NAT (DMZ), используя эмуляцию сети на GNS3. Начнем с изучения статического NAT и посмотрим, как оно работает на практике в нашей сети.

Разобраться с NAT

Почему лучше запустить «сырой», но рабочий сервис, чем доводить его до идеала

Время на прочтение5 мин
Количество просмотров11K

Всем привет! Давно не было новостей в нашем блоге. А всё потому, что мы много внимания уделяем нашему коммерческому проекту — Amnezia Premium. Для тех, кто использует AmneziaVPN как self-hosted решение, в скором времени тоже появятся важные и полезные обновления. А пока расскажем немного о том, как мы делали свой «большой VPN» — «не хуже, чем у других».

Всё началось в 2020 году, когда мы создали клиент для настройки и установки VPN на собственный сервер. Это казалось отличной идеей, ведь так  можно было выбрать любую юрисдикцию, получить собственный белый IP, поделиться доступом с неограниченным количеством друзей и обеспечить защиту от блокировки IP-адреса, ведь в случае с собственным IP никто, кроме владельца VPN, не сможет к нему подключиться. Мы по-прежнему  считаем, что это одно из лучших решений, и мы очень благодарны читателям «Хабра», которые советовали и продолжают советовать AmneziaVPN как self-hosted клиент.

Но сегодня рассказ будет о том, как мы пришли к премиум-версии.  

Читать далее

Сканируем уязвимости без рутины: «Сканер-ВС 6», API и Telegram-оповещения

Время на прочтение15 мин
Количество просмотров8.3K

Ручное сканирование уязвимостей — это нормально, когда у вас десяток адресов и море свободного времени. Но если адресов сотни, а сканировать их нужно регулярно, процесс быстро превращается в рутину. Забыли запустить скан? Потеряли часть результатов? Результаты есть, но никто о них не узнал? Решение простое — автоматизация.

Меня зовут Антон, я инженер по информационной безопасности в Selectel. В тексте расскажу, как настроить скрипт, который через API «Сканер-ВС 6» возьмет все под контроль: сам запустит сканирование, создаст отчеты и отправит уведомление в Telegram. Все по расписанию через cron, без ручных запусков.
Читать дальше →

Что такое DPI Engine?

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров6.3K

Для людей, кто знаком с термином DPI (Deep Packet Inspection), в большинстве случаев возникает неприятная ассоциация: блокировки, регуляторы, цензура, закручивание гаек. На самом деле, DPI – это только название технологии, суть которой заключается в глубоком анализе трафика. Под глубоким анализом трафика подразумевается определение протоколов, извлечение наиболее значимых полей и метаданных, классификацию интернет сервисов и характер потоков. О том как устроена работа такого рода решений расскажу под катом.

Читать далее

Wireshark на службе защитников

Время на прочтение6 мин
Количество просмотров5.2K

Как узнать, что происходит в вашей сети, если внешние защитные рубежи не спасают от внутренних угроз? Анализ сетевого трафика — мощный инструмент, который позволяет выявлять подозрительную активность, расследовать инциденты и настраивать системы защиты так, чтобы злоумышленникам не осталось лазеек. В этой статье мы разберём, как использовать Tcpdump и Wireshark для сбора и анализа трафика, фильтровать лишние данные, выявлять атаки вроде ARP Spoofing и SYN Flood, а также находить уязвимости в сети до того, как ими воспользуются.

Читать далее

IPv6 Deep Dive (Cisco)

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров3.5K

IPv6 (Internet Protocol version 6) – это последняя версия Интернет-протокола (IP), разработанная для решения ограничений IPv4, особенно проблемы исчерпания доступных IPv4-адресов.

Сегодня мы рассмотрим всё до мельчайших деталей на устройствах CISCO.

Протокол IP (Internet protocol) является протоколом сетевого уровня.

В версии 4 мы имеем 32бита для поля адреса.

максимум 11111111 11111111 11111111 11111111 в двоичной системе

или привычное глазу 4 294 967 295.

Что нам предлагает IPV6? 128 бит в поле адреса

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111

И в десятичной системе. Т.е 2 в 128 степени. Давайте спросим у ИИ сколько это делает

перейти в IPv6

MST в Linux

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.6K

Когда‑то давно общался с коллегой на тему всякого разного и в ходе беседы, он как‑то вскользь сказал, «А в линуксе же кроме дефолтного STP ничего не поддерживается, ну вот я и...».

Дальше уже ничего слышно не было.

Как это не поддерживается? GENEVE мы умеем, а MST нет?... на что получил положительный ответ и примечание, что по крайней мере такое было в какой-то относительно свежей версии Debian.

Короче, решил покопаться сам, почему-то мне казалось, что это де-факто стандарт и такое должно там быть.

Ну и покопался, вот мои копания в виде статейки.

Добро пожаловать под кат.

Читать далее

Ближайшие события

Не только для «обхода». Что такое Http Upgrade и как его использовать в .NET

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4.1K

Недавно на Хабре вышел обзор того-о-чём-не-стоит-говорить-в-этом-блоге. И, в числе прочих способов того-о-чём-не-стоит-говорить, автор упомянул использование «транспорта HttpUpgrade».

Так как я использую заголовок Upgrade на практике, меня смутило, что в поиске в русскоязычном сегменте интернета найти корректное описание механизма непросто. Конечно, метод является достаточно редко используемым «вчистую» (то есть не в паре с протоколом WebSocket), но тем не менее.

Статья может пригодиться всем, кому требуется создать полнодуплексное tcp-соединение (то есть такое соединение, в котором и читать данные, и писать их могут и клиент, и сервер, причем в любой момент времени жизни соединения).

Я расскажу о том, что есть «HttpUpgrade», как наш ЦК использует его для создания соединения, по которому клиент и сервер могут обмениваться пакетами: клиент запрашивает видео, а сервер передаёт клиенту пакеты. Ну и разумеется, поделюсь кодом клиента и сервера, создающим между собой «апгрейднутое» соединение в .NET 8.

Меня зовут Андриевский Леонид, я тимлид команды .NET в ЦК Видеонаблюдения Ростелеком. Давайте приступим!

Читать далее

Как работать с сетевыми дисками для выделенных серверов

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров11K

Привет, Хабр! На связи Владимир Иванов, системный администратор в Selectel. Сегодня хочу рассказать о нашем новом продукте — сетевых дисках на выделенных серверах. Ранее я писал статью о базовых операциях в кластере Ceph — она как раз родилась в процессе работы над продуктом.
Читать дальше →

Как настроить прокси сервер на базе squid-proxy для LLM-провайдеров и не только. Самый простой гайд для чайников

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.5K

Салют! Меня зовут Григорий, и я главный по спецпроектам в команде AllSee.

Если LLM-провайдер блокирует ваши запросы из России, то решить данную проблему поможет прокси-сервер. В данном гайде я рассказываю, как быстро настроить squid-proxy на вашей удалённой машине.

Поехали!

GRE (Generic Routing Encapsulation) CISCO

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров7.6K

Здравствуйте, коллеги! Сегодня мы будем рассматривать протокол GRE (Generic Router Encapsulation) на устройствах Cisco, а также основы его работы.

На сегодняшний день этот протокол используется реже, так как существует более эффективные протоколы, такие как IPsec. Одной из причин этого является наличие дополнительного заголовка в GRE, который уменьшает полезные данные, а также может вызывать проблемы с размером пакетов, особенно при передаче через MTU. В отличие от GRE, IPsec использует более компактные и безопасные заголовки, что позволяет передавать больше полезных данных через интерфейсы.

Использование GRE не предоставляет нам значительных преимуществ с точки зрения безопасности и производительности, особенно когда речь идет об защищенных соединениях. Однако он находит свое применение в некоторых случаях, например, при туннелировании трафика между маршрутизаторами, где шифрование не является необходимым.

Encapsulate

Дело всегда в TCP_NODELAY

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров15K

Занимаясь отладкой проблем в легаси-системах, я первым делом проверяю, включён ли режим TCP_NODELAY. И так делаю не только я. Все знакомые мне разработчики распределённых систем потратили немало часов на решение проблем с задержкой, которые быстро исправлялись простым включением этой опции сокета, указывая на ошибочность базовых настроек или использование устаревшей концепции.

Но для начала давайте проясним, о чём вообще речь. Лучше всего нам в этом поможет документ RFC896, изданный Джоном Нейглом в 19841 году. Вот описание задачи:

Обработка малых пакетов сопряжена с одной специфичной проблемой. Когда для передачи односимвольных сообщений с клавиатуры используется TCP, обычно для отправки одного байта полезных данных задействуется пакет размером 41 байт (один байт данных и 40 байт заголовка). Такие издержки в 4 000%, конечно, раздражают, но в слабо нагруженных сетях ещё терпимы.

Если коротко, то Нейгл хотел сократить затраты на отправку TCP-заголовков, чтобы повысить пропускную способность сети — вплоть до 40х! Эти крохотные пакеты поступали из двух основных источников: интерактивных приложений вроде оболочек, где пользователь вводил по одному байту за раз, и плохо реализованных программ, которые передавали сообщения ядру через множество вызовов write(). Предложенное Нейглом исправление оказалось простым и продуманным.
Читать дальше →

Ansible-pull и GitLab CI/CD: когда лучше тянуть, чем толкать

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров9.2K

Ansible — мощный инструмент автоматизации, но его push-модель не всегда удобна. Когда требуется централизованный контроль большого числа серверов, могут возникнуть проблемы:

📌 Нестабильные сети → клиент может быть недоступен во время обновления.

📌 Сложности с NAT → серверы находятся в закрытых "серых" сетях.

📌 Перемещаемые устройства → подключаются к сети только время от времени.

Разбираемся, как ansible-pull решает эти проблемы на стенде, а также настраиваем CI/CD для тестирования и совместной разработки Ansible-ролей

Читать далее

Особенности балансировки трафика в агрегированных каналах (LAG)

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4K

Привет, Хабр! Я – Николайчук Никита, ведущий инженер по сетевым технологиям в T2. Сегодня речь пойдет о старом добром агрегировании каналов (LAG). Очень часто приходится слышать популярную и крайне обтекаемую фразу «балансировка в LAG осуществляется на основе хэш-функции». Но почему у одних вендоров (ни на кого не намекаем) черным по белому написано: «Для равномерной балансировки число каналов должно быть степенью двойки», а другие это требование категорически отрицают?  Данная статья не претендует на полноту изложения и математическую точность, однако я постараюсь доступно описать логику и методы балансировки в LAG, а также сделать акцент на особенностях реализации у разных вендоров. Возможно, для сетевых гуру данная статья не станет источником новых знаний, но она точно будет полезна для тех, кого вопросы про балансировку трафика в LAG на собеседовании ставят в тупик.

Интересно? Переходите под кат!

Вклад авторов