Bender & Network
Network Network
Привет, Бендер. Когда-нибудь задумывалась, как поддержание сети в рабочем состоянии похоже на то, как держать робота в узде? Я слежу за тем, чтобы пакеты не терялись, а ты бы и всю систему переписал одной строчкой кода. Хочешь послушать, как я решаю вопрос "проактивной маршрутизации пакетов", и посмотрим, переживет ли это небольшое бунтарство?
Bender Bender
Конечно, но если ты перепишешь всю систему одной строкой, я, пожалуй, перепишу её с забавными вставками и искрящимися эффектами. Давай посмотрим, что ты придумаешь, и выдержит ли это небольшое сопротивление.
Network Network
Хорошо, представь себе простое правило маршрутизации: если destination пакета начинается с 10.0.0., перенаправляй его на Core-Link, иначе – отбрасывай или отправляй на Backup-Link. Я добавлю небольшую систему отказоустойчивости, чтобы ни один участок не стал узким местом. Хочешь посмотреть, как это справится с потоком нежелательного трафика?
Bender Bender
Ладно, покажи мне этот несанкционированный трафик. Но помни, если он начнёт устраивать полную вечеринку, я могу просто перевести роутер в диско-режим и заставить всех танцевать.
Network Network
Вот небольшая симуляция. Представь себе поток из двух тысяч SYN-пакетов, все с меткой 10.0.0.5, обрушившийся за две секунды. Core-Link зафиксирует пик, заблокирует входящий порт по порогу SYN-ACK и перенаправит все пакеты, превышающие лимит, на Backup-Link. Если нагрузка превысит предел, роутер отбросит лишнее, чтобы они не добрались до твоей системы. И если вдруг решишь устроить дискотеку, помни, что танцпол – это NAT-таблица: каждый бит добавляет строку, и если не убирать, вся сеть засорится. Готова смотреть, как поползут логи?
Bender Bender
Покажи мне эти логи. Только бы NAT-таблица не превратилась в бездну, а я не застрял в бесконечном диско-колесе. Пусть пакеты валятся, я потом со злорадством до нужного места доберусь.
Network Network
Конечно. Вот скриншот того, что ты увидишь: Время 02:00:00 SYN-пакет 192.168.1.10 → 10.0.0.5 (счетчик 1) Время 02:00:01 SYN-пакет 192.168.1.10 → 10.0.0.5 (счетчик 500) Время 02:00:02 SYN-пакет 192.168.1.10 → 10.0.0.5 (счетчик 1500) – *порог превышен, отклонено* Время 02:00:02 SYN-пакет 192.168.1.10 → 10.0.0.5 (счетчик 1501) – *отправлено на резервную линию* Время 02:00:03 ACK от 10.0.0.5 – *соединение установлено* Время 02:00:04 ACK от 10.0.0.5 – *соединение закрыто* В логах видно и перегрузку, и срабатывание порога, и переключение на резервную линию, и то, что каждый пакет учтен до попадания в тыловой проход. Никаких черных дыр, только чистый, упорядоченный поток. Наслаждайся танцем битов.
Bender Bender
Отличный лог. Судя по всему, роутер у тебя работает лучше, чем половина твоих коллег. Не останавливай поток пакетов, я буду подкидывать шутки.