Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 4 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago
Ошибки в компьютерных сетях: Реакция на ошибки
После обнаружения ошибки важно определить, как сеть должна реагировать.
Существуют два основных подхода: устранение ошибок с помощью повторной передачи данных или их исправление на месте.
Реакция на ошибки
⏺Automatic Repeat Request (ARQ) — это простой и надежный способ устранения ошибок. Если обнаружена ошибка, сеть запрашивает повторную передачу поврежденного пакета.
ping \-c 4 192.168.1.1
Эта команда отправляет пакеты ICMP и ждет подтверждения от указанного узла. Если подтверждение не получено, это сигнализирует об ошибке передачи.
⏺Forward Error Correction (FEC) — это метод, который позволяет исправлять ошибки на стороне получателя без необходимости повторной передачи данных.
```
from commpy.channelcoding import hamming_encode, hamming_decode
data = [1, 0, 1, 1] # передаваемые данные
encoded = hamming_encode(data)
print("Закодированные данные:", encoded)
# Имитация ошибки
encoded[2] = 1 if encoded[2] == 0 else 0
decoded, _ = hamming_decode(encoded)
print("Декодированные данные:", decoded)
```
Практические команды:
• Для проверки надежности соединения:
traceroute 8.8.8.8
Отслеживает путь передачи данных до сервера, выявляя участки с потерями.
• Для диагностики ошибок в передаче:
dmesg | grep "error"
Анализирует сообщения об ошибках в системном журнале.
Ошибки в компьютерных сетях: обнаружение и устранение
В любых компьютерных сетях могут возникать ошибки в процессе передачи данных.
Причины могут быть различными — от помех в беспроводных сетях до деградации кабелей и солнечных вспышек, влияющих на оптоволоконные или медные линии связи.
Для обеспечения надежности сети необходимо не только обнаружить эти ошибки, но и решить, как с ними поступать, чтобы минимизировать их влияние на работу системы.
Обнаружение ошибок
⏺Проверка четности
Проверка четности — это самый простой метод обнаружения ошибок, который использует дополнительный бит для проверки целостности данных. В зависимости от типа проверки (четная или нечетная) этот бит устанавливается таким образом, чтобы общее количество единичных битов в блоке было либо четным, либо нечетным.
1️⃣Четная проверка: Если количество единичных битов в блоке данных четное, то добавляется бит 0. Если количество единичных битов нечетное, добавляется бит 1.
2️⃣ Нечетная проверка: В этом случае наоборот, чтобы число единичных битов оставалось нечетным, добавляется бит 1, если число единичных битов в исходных данных четное.
Пример:
Данные: 00110011 00111000 00110101 00110001
Общее количество единичных битов = 14. Четность — четная, значит добавляется 0:
00110011 00111000 00110101 00110001 0
Для нечетной четности добавляем 1:
00110011 00111000 00110101 00110001 1
Проблема: Проверка четности может не обнаружить ошибки, если количество измененных битов четное. Например, если меняются два бита, проверка четности не определит ошибку.
⏺Циклическая проверка избыточности (CRC)
Циклическая проверка избыточности (CRC) — это более сложный метод, который позволяет обнаружить более широкий спектр ошибок в данных.
В основе CRC лежит операция деления данных на основе заранее заданного полинома. Результатом этого деления является остаток, который называется контрольной суммой или CRC.
Пример:
Для данных 10110011 00111001 добавляется три дополнительных бита, чтобы обеспечить точное вычисление CRC, после чего применяется операция XOR, сравнивающая данные с полиномом.
Шаги CRC:
1️⃣Добавляем три бита в конец исходных данных.
2️⃣ Выполняем операцию XOR, сдвигая полином по данным до тех пор, пока не будет достигнут конец.
3️⃣ Получаем остаток, который является контрольной суммой данных.
Пример команды для расчета CRC в Linux/MacOS с использованием crc32:
echo \-n "1011001100111001" | crc32
Пример команды для расчета CRC в Python:
import zlib
data = b'1011001100111001'
crc = zlib.crc32(data)
print(f"CRC32: {crc:\#010x}")
Преимущество CRC: CRC может обнаружить ошибки, которые могут быть упущены при использовании проверки четности, так как она устойчива к многобитовым изменениям.
Сравнение технологий NFC и Bluetooth LE
Когда речь идет о маломощной беспроводной связи, NFC и Bluetooth LE часто оказываются в центре внимания.
Обе технологии имеют уникальные преимущества и лучше подходят для разных задач. Рассмотрим ключевые отличия.
Что такое NFC?
NFC (Near Field Communication) — это технология, работающая на очень коротком расстоянии (всего несколько сантиметров).
Основные характеристики:
⏺Дальность связи: устройства должны находиться почти вплотную, что повышает безопасность.
⏺Энергопотребление: минимальное; пассивные NFC-метки вообще не требуют питания.
⏺Скорость соединения: мгновенная, что идеально для платежей и быстрого обмена информацией.
⏺Безопасность: благодаря ограниченному радиусу и встроенному протоколу безопасности, NFC обеспечивает высокий уровень защиты данных.
Примеры использования NFC:
• Бесконтактные платежи
• Контроль доступа (например, на пропускных пунктах)
• Подключение устройств (например, быстрое сопряжение с техникой в офисе)
Что такое Bluetooth LE?
Bluetooth LE (Low Energy) — это версия стандартного Bluetooth с оптимизацией для низкого энергопотребления и большого радиуса действия.
Основные характеристики:
⏺Дальность связи: работает на расстоянии до нескольких десятков метров.
⏺Энергопотребление: очень низкое, что делает BLE популярным в устройствах на батареях.
⏺Гибкость: может поддерживать соединение с множеством устройств, что полезно для отслеживания активов.
⏺Безопасность: применяет шифрование AES для защиты информации.
Примеры использования Bluetooth LE:
• Отслеживание активов на предприятиях
• Навигация внутри помещений (например, в торговых центрах)
• Целевая реклама с помощью BLE-маяков
NFC vs Bluetooth LE: Сравнительная таблица
Характеристика NFC Bluetooth LE
Радиус действия
• Несколько сантиметров
• До нескольких десятков метров
Энергопотребление
• Минимальное
• Низкое
Скорость соединения
• Мгновенная
• Занимает доли секунды
Безопасность
• Высокая, встроенный протокол
• Высокая, шифрование AES
Основные задачи
• Платежи, контроль доступа,
• Отслеживание, навигация
Какую технологию выбрать?
⏺Выбор NFC будет оправдан, если важны высокая безопасность и мгновенное соединение. NFC подходит для финансовых операций, систем контроля доступа и других приложений с ограниченным радиусом действия.
⏺Bluetooth LE лучше подойдет для задач, требующих более широкой зоны покрытия и постоянного взаимодействия, например, отслеживания активов и внутренней навигации.
Протокол RINA
Сегодня поговорим о RINA (Recursive InterNetwork Architecture) — менее известном, но очень интересном протоколе, который рассматривается как возможная альтернатива традиционным архитектурам TCP/IP.
Разработанный для более гибкой и масштабируемой организации сетей, RINA предлагает инновационный подход к маршрутизации и управлению сетью.
Что такое RINA?
RINA — это концептуальная сеть, построенная на идее рекурсии и многослойности, которая отходит от традиционной модели OSI и TCP/IP.
В RINA сеть представляется как многослойная структура, в которой каждый уровень работает одинаково, обрабатывая пакеты и управляя соединениями, а количество уровней зависит от специфики сети.
RINA обещает большую гибкость в построении сетей, особенно в сетях с высокой плотностью и количеством подключений.
Преимущества RINA:
⏺Рекурсивность: В отличие от фиксированных уровней OSI, RINA использует универсальную структуру уровней, каждый из которых выполняет похожие функции, что упрощает масштабирование и управление сетью.
⏺Повышенная безопасность и контроль: Благодаря одинаковым функциям на каждом уровне, RINA более устойчива к перегрузкам и атакам, а также предлагает более детальный контроль доступа.
⏺Оптимизированное управление потоками данных: Поскольку в RINA можно настроить уровни и маршрутизацию под специфику сетевых приложений, это повышает эффективность передачи данных и позволяет гибко управлять пропускной способностью.
Пример работы с RINA на практике
1️⃣Установка RINA-стека: Для тестирования RINA можно использовать открытые проекты, такие как IRATI или ProtoRINA.
2️⃣ Создание сети: Настройка RINA-уровней под специфику сети, например, выделение отдельных слоёв для различных типов трафика — от обычных данных до критических сигналов управления.
3️⃣ Маршрутизация данных: В RINA потоки данных управляются индивидуально на каждом уровне, что позволяет более гибко настраивать маршрутизацию, избегая перегрузок.
Почему стоит присмотреться к RINA?
RINA — перспективный протокол для таких областей, как IoT и 5G-сети, где требуется высокое масштабирование и гибкость в маршрутизации.
Управление очередями и предотвращение конфликтов в перекрестной матрице с помощью iSLIP и VOQ
Перекрестная матрица оптимизирует передачу данных в сетевых устройствах, но при интенсивной нагрузке неизбежно возникают конфликты — когда несколько входных портов пытаются одновременно передать данные на один и тот же выходной порт.
Здесь на помощь приходят алгоритмы планирования, такие как iSLIP, и технология виртуальных очередей вывода (Virtual Output Queues, VOQ).
iSLIP — это алгоритм планирования, который позволяет сетевым устройствам динамически распределять доступ к выходным портам и избегать блокировок.
Он работает в три этапа:
1️⃣Запрос: Входные порты с данными запрашивают соединение с нужными выходными портами.
2️⃣ Предоставление: Выходные порты, получив запросы, выбирают, кому из входных портов будет предоставлено право на передачу. При наличии нескольких запросов они предоставляют гранты циклично, чтобы обеспечить равномерное распределение ресурса.
3️⃣ Принятие: Входной порт, получивший грант, уведомляет о его принятии, чтобы завершить процесс передачи данных через перекрестную матрицу.
Использование виртуальных очередей вывода (VOQ) помогает дополнительно устранить проблему блокировки head-of-line (HOL), которая возникает, когда один заблокированный пакет мешает остальным пакетам в очереди.
В архитектуре с VOQ для каждого входного порта создается отдельная очередь для каждого выходного порта.
Это позволяет устройству хранить пакеты, направленные к разным выходам, в своих виртуальных очередях, и избегать задержек из-за блокировки одного из портов.
🔥 Благодаря совместной работе VOQ и алгоритма iSLIP перекрестная матрица способна эффективно распределять нагрузку и оптимально использовать пропускную способность, что особенно важно в сетях с высокой интенсивностью трафика, где задержки недопустимы.
Память физического носителя в сетевых устройствах
При передаче пакета через шину в сетевом устройстве работа с ним не заканчивается.
Устройство должно обеспечить корректное перемещение пакета через кольцо передачи к физическому носителю. Рассмотрим процесс по шагам.
Как устроена передача пакета?
На рисунке, к которому относится описание, показан процесс передачи пакета через передачу кольцо (Tx Ring). Вот основные шаги:
1️⃣Передача пакета в кольцо передачи.
Пакет попадает на передающую сторону маршрутизатора, где его сначала пытаются разместить прямо на кольце передачи. Если место занято или кольцо переполнено, пакет отправляется в очередь вывода. В этом случае он проходит обработку QoS (управления качеством обслуживания), если она настроена. Если же пакет сразу размещается на кольце, Шаг 2 пропускается, и QoS не применяется.
2️⃣ Очередь вывода.
Если кольцо передачи занято, пакет помещается в очередь вывода, где он ждёт, пока освободится место на кольце передачи. Это позволяет устройству удерживать пакет и обрабатывать его, прежде чем передавать дальше.
3️⃣ Перемещение пакета из очереди на кольцо передачи.
Код передачи периодически перемещает пакеты из очереди вывода в кольцо передачи, учитывая правила QoS. Порядок перемещения зависит от приоритета и настроек QoS, что позволяет устройству управлять приоритетом трафика.
4️⃣ Кодирование пакета для отправки.
После перемещения в кольцо передачи PHY-чип сетевого устройства считывает пакет, кодирует его в нужный формат и отправляет его по физическому носителю. Этот процесс обеспечивает корректную передачу пакета на уровень физической сети.
⚡️Таким образом, передача данных в сетевом устройстве требует оптимальной работы с памятью на всех этапах — от входных очередей до финального кодирования пакетов для физического носителя.
Настройка EIGRP на маршрутизаторе Cisco: Часть 2
5️⃣ Настройка метрик и параметров EIGRP
Вы можете настроить различные параметры EIGRP, такие как коэффициенты метрики. Например, чтобы изменить значение по умолчанию для bandwidth:
interface GigabitEthernet0/1
bandwidth 100000
6️⃣ Настройка таймеров EIGRP
Вы можете настроить таймеры EIGRP для улучшения производительности. Например, чтобы установить таймер hello на 5 секунд и таймер hold на 15 секунд:
interface GigabitEthernet0/1
ip hello\-interval eigrp 10 5
ip hold\-time eigrp 10 15
7️⃣ Проверка конфигурации
После настройки EIGRP вы можете проверить его работу с помощью следующих команд:
⏺Проверка состояния EIGRP:
show ip eigrp neighbors
⏺Проверка таблицы маршрутов:
show ip route eigrp
⏺Проверка конфигурации EIGRP:
show running\-config | include router eigrp
8️⃣ Сохранение конфигурации
Не забудьте сохранить изменения в конфигурации маршрутизатора:
end
write memory
Настройка EIGRP может значительно улучшить маршрутизацию в вашей сети благодаря своей способности быстро адаптироваться к изменениям и поддерживать сложные топологии.
Этот протокол отлично подходит для сетей среднего и крупного масштаба, обеспечивая надежность и высокую производительность.
Настройка EIGRP на маршрутизаторе Cisco: Часть 1
EIGRP — это продвинутый протокол маршрутизации, разработанный Cisco, который объединяет характеристики протоколов векторной дистанции и протоколов состояния канала.
Он предоставляет более быстрое и эффективное обновление маршрутов, чем традиционные протоколы.
В этом посте рассмотрим, как настроить EIGRP на маршрутизаторе Cisco.
1️⃣Подключение к маршрутизатору
Подключитесь к маршрутизатору через консольный кабель, SSH или Telnet. Введите свои учетные данные для доступа к командной строке (CLI).
2️⃣ Вход в режим конфигурации
После успешного подключения введите команды для перехода в режим конфигурации:
enable
configure terminal
3️⃣ Включение EIGRP
• Включение EIGRP: Используйте команду router eigrp [AS-number], где AS-number — это номер автономной системы (должен совпадать на всех маршрутизаторах в сети).
router eigrp 10
• Настройка идентификатора маршрутизатора: Задайте уникальный идентификатор маршрутизатора, если он не настроен автоматически.
eigrp router\-id 1.1.1.1
4️⃣ Определение сетей для EIGRP
Используйте команду network [ip-address] [wildcard-mask] для определения сетей, которые будут участвовать в EIGRP. Например, чтобы включить сеть 192.168.1.0/24
:
network 192.168.1.0 0.0.0.255
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 weeks, 4 days ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month ago