Топология сетей
Чекан Михаил Андреевич
программист-разработчик по профилю Олимпиады КД НТИ "Интеллектуальные энергетические системы", магистрант ИРНИТУ
Если смотреть на энергетические сети с точки зрения их соединения между собой, возникает ощущение схожести с Интернетом. Но даже в текущем положении совместить эти два понятия далеко не просто, а дело, казалось бы, в обыкновенном большом графе...
#АрхитектураИнтернетаЭнергии #Энергетика #Интернет
Наверное, сейчас вы можете подумать, что рассказ пойдёт про классификацию топологий, как они сочетаются и работают, но нет. Топология по своей сути сводится к обычному графу. Это порядок соединения узлов в одной большой сети. И соединяться они могут разным образом, будь то кольцо, шина, звезда, как учат этому в учебниках по информатике. Но важно понимать, что скрывается за топологией и каким образом она работает в реальной жизни.
Для этого мы обратимся к составляющим Интернета энергии — непосредственно Интернету и энергетике. Допустим, как вы подключаетесь к Интернету? Приходите домой, а дома у вас стоит роутер, к которому проводком подключен стационарный компьютер, телевизор… Вы достаёте телефон, он автоматически подключается по Wi-Fi к этому роутер, по этому же Wi-Fi устанавливается соединение с ноутбуком и прочими беспроводными устройствами… Это называется plug’n’play, подключил — и работает.
Да, на уровне конечного потребителя у нас всё работает предельно просто. Такая топология называется «звездой»: у нас есть центральный узел в виде роутера, к которому подключаются дочерние узлы в виде других устройств. В корпоративных сетях, где
представлено больше отделов и сеть гораздо более обширная, используются специальные сетевые устройства типа коммутаторов, маршрутизаторов, и у нас образуется дерево. И пока мы об этом говорим, мы понимаем, что у нас более-менее простой граф.
Да, где надо, мы можем протянуть ещё одну линию между двумя маршрутизаторами, они окажутся подключенными двумя проводами, и у нас фактически образуется цикл или даже петля. Такие топологии тоже есть, и мы получаем более полноценный граф.
Это всё достаточно просто и охватываемо нашим умом. Но что, если мы копнём чуть глубже и перейдём на уровень выше от конечного потребителя к, допустим, городскому провайдеру? Городской провайдер должен подключить гораздо больше, чем несколько устройств, здесь уже десятки и сотни тысяч пользователей, расположенных по большой площади. Городскому провайдеру нужно протянуть провода-кабели, и это уже будет не простая витая пара, а оптоволокно, оно дороже. При этом нужно учесть погоду, проложить так, чтобы случайно свалившийся столб не оставил без интернета половину города, и сверх того следить за тем, чтобы по отдельным линиям не шло слишком много трафика, чтобы он расходился равномерно.
Также с энергетикой: мы имеем уровень конечного потребителя, розетки, тройники, сетевые фильтры, всё это сходится на один счётчик, а от счётчика канал идёт к сбытовой компании, которая также работает с десятками и сотнями тысяч потребителей на большой площади, также прокладывает сеть, также заботится о том, чтобы не было больших нагрузок и, как следствие, потерь, чтобы провода не перегревались, чтобы линия от завода не шла вместе с линией от микрорайона, то есть стараться их разводить, опять же, ради пропускной способности и минимизации потерь.
Это уровень городской, проблем здесь прибавилось, но уровень ответственности не такой высокий, как у магистральных провайдеров. Конечный уровень всей земной топологии (будь то Интернет или энергетика) — это магистрали.
Магистральных провайдеров мало, потому что прокладка магистралей требует большого уровня ответственности, технического развития и денег. Прокладка магистралей — это очень дорогое занятие. Вы видели телекоммуникационный кабель, который прокладывается
по дну океана между континентами? Внушительный диаметр, сотни пар каналов, армирование, несколько степеней защиты, и всё ради того, чтобы между континентами шли десятки-сотни терабит данных. И при этом даже такие кабели могут выходить из строя.
Магистраль — это
очень важная часть топологии, но мы её не замечаем, находясь на вершине айсберга, на уровне конечного потребителя.
Разрез подводного телекоммуникационного кабеля
(автор Oona Räisänen, общественное достояние)
Таким образом, если мы будем рассматривать топологию в глобальном плане, от потребителя до магистрали, мы можем заметить, что топология — это действительно граф с разными весами, разными вариантами соединения и подтопологиями. Но нам нужно также понимать, что в данном случае от топологии зависит три с половиной момента.
Первый момент — это надежность полученной сети. Если у нас откажет один из узлов или одна из линий, мы должны убедиться, что сеть не деградирует в той степени, что, допустим, у городского провайдера отрубился кабель, и интернет пропал у половины города. Провайдер должен позаботиться о той или иной возможности зарезервировать этот канал в меру своих экономических возможностей. В случае с магистралью обрыв кабеля — это довольно трагичная ситуация. Недавно как раз был случай, у одного из российских провайдеров действительно произошел обрыв магистрали, и в Сибири и Дальнем Востоке на определённое время пропал доступ в Интернет. Конечно, обрыв починили, перед конечными потребителями извинились. Для одного потребителя это, возможно, не так критично. Но для большего числа потребителей это уже как минимум неприятно, а иногда и опасно.
Второй пункт в данном списке — это устойчивость. Как я уже упоминал, планирование топологии должно осуществляться таким образом, чтобы ресурс (будь то данные или энергия) распределялся равномерно, чтобы не было перегрузок и так называемых «бутылочных горлышек».
Третий пункт — это скорость (она перекликается с предыдущим пунктом) и гибкость. В случае с Интернетом, например, вы с Владивостока отправляете пакет данных, допустим, в Японию. Если раньше прямого канала между ними не было, и трафик шёл обходными путями (иногда даже через Европу и Америку). Сейчас же эти данные в Японию и ту же Америку идут напрямую через подводные каналы, проложенные в том числе по Тихому океану. Сеть должна строиться таким образом, чтобы вовремя адаптироваться под ситуацию и обеспечивать наилучшее качество услуг, быструю доставку энергетических и информационных ресурсов.
Но при этом тот самый «четвёртый» пункт, который касается ресурсных сетей (энергетика, газопровод, водопровод…), — это банальный запас ресурсов, потому что энергия не бесконечна в отличие от информации, которую можно размножать. Нужно получать
энергию от генераторов и передавать её потребителям. И эта забота также ложится и на магистральных провайдеров, и на энергосбытовые компании.
Но всё же, давайте попробуем поговорить о топологиях более оптимистично, но при этом отбросить в сторону те или иные аспекты, связанные с топологиями, которые ещё предстоит решить. Это алгоритмы, технологии связи… Да, Интернет энергии невозможен
без быстрой связи и, уверен, уже не будет возражений, что 5G нужен. И алгоритмы тоже нужны, замечу, ведь если они будут работать некорректно, может произойти ситуация наподобие той, что имела место в Америке в 2003 году, когда из-за ошибки
в программе не сработало оповещение о перегрузке линии, и значительную часть Америки оставило без электричества. Несомненно, топологии важны, но то, на чём они работают, что они соединяют, не менее важно.
Обратимся ещё раз к уровню конечного потребителя, квартире. У нас есть «звезда», счётчик, к которому подключаются устройства, причём они могут подключаться по принципу дерева. Эта топология хоть и называется «звездой», но по факту мы имеем что-то более похожее на «кольцо» или даже «шину» (это зависит от природы подключения устройств, в Интернете — кольцо, в энергетике — шина). Одна большая разветвлённая электрическая цепь, в которую просто врезается то или иное устройство. Либо у нас проводник, по которому электричество идёт дальше, либо врезка с розеткой, и в эту розетку подсоединяется очередное устройство-потребитель. В этом отношении топологии, о которых мы говорим, сводятся к одной большой электрической цепи. Допустим, есть пример с кольцом, Олимпийская деревня в Адлере как раз была построена по принципу двойного кольца: две трансформаторных подстанции, работающих на кольцевой линии, и если одна из подстанций отказывает, вторая продолжает работать. Это и есть обеспечение надёжности путём резервирования.
Если говорить о типичном городском провайдере, мы также можем наблюдать «дерево», но на стенде «Интеллектуальные энергетические системы» есть пример построения городской сети, которую нельзя привести к обычному дереву, это уже самый что ни на есть направленный граф.
Но перед тем, как мы к нему обратимся, закончу пояснение о магистральных провайдерах. Какая топология у них? По своей сути, магистрали уже образуют сеть, которую нельзя называть кольцом, и не менее сложно называть одной большой электрической
цепью. Но даже в Интернет-телекоммуникациях есть протоколы, которые обеспечивают отключение тех или иных линий, которые не сейчас задействованы, таким образом, что данные или электроэнергия идут по замкнутой цепи (а балансировка практически
и есть динамическое переключение этих линий).
А теперь мы перейдём непосредственно к стенду ИЭС, в котором моделируется микрорайон с довольно упрощённой моделью городского провайдера.
Прежде всего, у нас есть точка входа, главная подстанция, выступающая в роли большого «счётчика» с внешней линией электропередачи, с которыми энергосбытовая компания взаимодействует путём управляющего скрипта. От главной подстанции тянется три линии, ведущие к объектам энергосети этого микрорайона, будь то генераторы (ветряные и солнечные электростанции) или потребители (жилые районы, заводы, больницы). Такая сеть в простейшем случае будет являться деревом, но есть одно маленькое «но».
По легенде (и фактически в реальной жизни) больница должна резервировать линию на случай обрыва коммуникации или блэкаута. У больницы должно быть резервное питание, потому что это критический объект, и при отключении одной из линий больница должна продолжать работать по запасному каналу. И при проектировании сети (как здесь, так и в реальной жизни) мы должны обеспечивать положение, когда две линии больниц находятся на разных линиях главной подстанции. Потому что иначе образуется точка отказа, и если эта единственная линия оборвётся, больница останется без энергии и мы можем даже потерпеть человеческие жертвы, а это неправильно.
С заводами ситуация чуть благоприятнее, конечно же, линии тоже резервируются, но здесь превалирует другая роль. Заводы потребляют много электроэнергии, и они создают большую нагрузку на сеть. С помощью подключения к разным линиям мы можем разделять нагрузку и избегать перегрузок на тех или иных участках сети.
Именно на этих двух моментах дерево, которое мы можем так или иначе охватить сознанием и посчитать, превращается в граф, с которым работать становится сложнее.
Ещё один из моментов, почему мы разбираем пример топологии именно на энергостенде, — это наглядная демонстрация особенностей построения, столь важных в топологии и энергетике в целом. Особенно прекрасно здесь отражён тот факт, что узлы позволяют
локализовать неприятные эффекты, которые могут отрицательно сказаться на работоспособности сети. Одним из примеров является миниподстанция, позволяющая собрать подключенные к ней генерацию и потребление, сбалансировать их на месте и
отправить на главную подстанцию сбалансированный объём энергии, гораздо меньший, чем если бы объекты балансировались на самой главной подстанции, и тем самым снижая нагрузку на сеть и потери, что очень важно в энергетике. А при использовании
модулей для, допустим, дополнительной генерации или накопления мы можем ещё сильнее оптимизировать работу сети и в определённых случаях даже обеспечить отказоустойчивость. Но это уже одна из конечных целей Интернета энергии, когда изолированные
участки сети могут работать без общей топологии, но это другая история.
Напоследок стоит рассказать о том, каким образом эти топологии планировать. Вообще, практика показала, что незначительные изменения топологии, даже в реальности, привносят колоссальные изменения в общую работу всей системы. И нельзя с полной уверенностью предсказать, как сыграет то или иное изменение в топологии. Что будет, если я поставлю накопитель или генератор? Что будет, если я на одну линию подключу генерацию, на другую — потребление; или соединю эти две линии через одну миниподстанцию, и только потом проведу к главной? И вариантов топологии достаточно много, если даже (преувеличивая) не бесчисленное количество. Потому что у нас есть разные варианты соединения объектов, миниподстанции, которыми мы можем собирать дерево. И ладно, если бы это было простое дерево, которое можно просто посчитать. Но у нас сложный граф, потому что есть также больницы и заводы, и один объект может подключаться к разным линиям, образуя петли. И это ещё мы не дошли до той максимы Интернета энергии, когда у нас децентрализованная сеть, в которой могут образовываться острова.
Выходов из такой ситуаций, если мы добавим контекст реальности, только два. Либо построить и посмотреть, как оно работает, методом проб и ошибок, либо попытаться заранее рассчитать примерное поведение сети, даже с использованием генетических алгоритмов. Так сказать, оптимизированный автоматизированный перебор вариантов. Например, в случае с магистральными провайдерами, у них много денег, поэтому они могут спокойно арендовать вычислительные ресурсы и просчитать сеть заранее ради экономии в будущем.
Но стоит понимать, что модель будет приближенной, потому что вы никогда не сможете с точностью предположить, как будет работать та или иная сеть. Слишком много переменных значений, тем более в реальности. Но получить приближение вы уже сможете.
Особенно полезным будет наработка опыта. Чем хорош перебор, в тот числе пробами и ошибками, — рано или поздно вы научитесь на ходу (например, на этапе аукциона и распределения объектов в самом начале игры), ещё только набирая объекты, строить
топологию в уме и примерно предполагать, какой вариант построения сети с данными объектами будет работать лучше всего. Но это уже другая история.
И таким образом, подводя итог этого рассказа, Интернет энергии пока что несбыточная мечта, потому что мы работаем с критическими инфраструктурами, и частью этой критической инфраструктуры является топология, которая не так проста, как могло показаться изначально, когда мы смотрели на неё с позиции простого графа.
Для размышления
Из-за прямой связи с графами, рассматривать сетевую топологию можно во многих явлениях жизни, в том числе социальных. Начнём с простого: нарисуйте схему домашней локальной сети и электрической сети (розетки и удлинители считать отдельными узлами). При желании можно с помощью толщины ребра показывать объём проходящего между узлами трафика/мощности.
Затем можно рассмотреть получившиеся схемы и ответить себе на вопросы:
– какой вид имеет получившийся граф? (скорей всего, это будет дерево)
– по каким рёбрам проходит наибольшая мощность или трафик? есть ли возможность перенести её часть на другие рёбра?
– при удалении каких рёбер или узлов отключится бóльшая часть сети? можно ли уменьшить число отключаемых узлов в подобном случае?
Кстати, последние два пункта рассматриваются в первую очередь, когда стоит вопрос улучшения и оптимизации топологии.
А теперь усложним задачу. Скорей всего, устройство сети провайдера вы не знаете, но своё окружение точно вспомните. Попробуйте выполнить аналогичную задачу, построив социальный граф для своего окружения (друзья, класс/группа, родственники), при желании также включить в него «друзей друзей» и других лиц, с которыми вы взаимодействуете (преподавателей, руководителей). Вопросы те же, но вместо трафика мы рассматриваем общение (от близкого до «шапочного»). Попробуйте выделить топологии и уровни аналогично рассказанному в лекции. Например, одноклассников рассмотреть как один целый класс при взаимодействии с преподавателями или другим классом. Не бойтесь фантазировать и додумывать связи на этом этапе.
Материалы
- Авария в энергосистеме в США и Канаде (2003)
(к вопросу о важности технической составляющей сети и алгоритмов) - Мировая карта подводных кабелей