![image](https://habrastorage.org/webt/7l/bk/pj/7lbkpjfdqircv2uva2rvezyyxqc.jpeg)
В мировой IT-индустрии известно много разработчиков, изобретателей и исследователей, и большинство из них — это мужчины. А ведь женщины наравне с ними вносили вклад в развитие технологий, например, всем известная Ада Лавлейс, которая написала первую в историю программу, или Хеди Ламарр, придумавшая технологию для работы Wi-Fi, или Грейс Хоппер – разработала первый компилятор, а Карен Спарк продумала концепцию поисковой системы.
Женщин в IT, о которых стоит знать, существует еще много. Среди них хочу выделить американского программиста и сетевого инженера – Радья Джой Перлман. Она известна как «Мать Интернета» благодаря своему изобретению протокола STP (Spanning Tree Protocol или протокол связующего дерева). Усовершенствованный другими программистами, протокол используется в компьютерных сетях до сих пор. Наработки Перлман легли в основу и других протоколов передачи цифровых данных — таких как TRILL и IS-IS.
Первые разработки
![image](https://habrastorage.org/webt/aa/np/ke/aanpkegj5fgpf1zpnizd_qjcdjk.png)
В школьные годы она не только отлично училась, но и интересовалась искусством: играла на фортепиано и валторне, а также воспитывала интерес к поэзии и литературе. Интересно, что Перлман по сей день играет в качестве аккомпаниатора для других.
Впервые девушка познакомилась с программированием в старшей школе, когда учитель привел нескольких студентов на занятия в Технологический институт Стивенса. Тогда она и задумалась о карьере в области компьютерных технологий. Однако более плотно заниматься программированием Перлман начала уже будучи студенткой математического факультета в Массачусетском технологическом институте. На занятиях по программированию она была единственной девушкой в аудитории, что по тем временам считалось нормальным.
![image](https://habrastorage.org/webt/so/2h/fw/so2hfwc1ssryfxvyhjim4apskxw.png)
![image](https://habrastorage.org/webt/wa/yf/tr/wayftrmubu-qmhhg7a2gub4feom.png)
Испытания показали, что язык могут освоить дети в возрасте 3,5 года, поэтому Радья считается пионером обучения программированию для детей. Позже Перлман оставила проект из-за опасений, что он показывает ее слишком женственной в сфере, где доминируют мужчины.
У доктора Перлмана были трудности с написанием диссертации для аспирантуры. Когда она пыталась придумать, что делать с этим, друг спросил ее, нравится ли ей учеба в аспирантуре. Как только она сказала ему, что понятия не имеет, как найти научного руководителя или написать диссертацию, он предложил ей работу с ним в BBN Technologies. Компания писала по заказу правительства софт для сетевого оборудования. В BBN она занялась проектированием сетевых протоколов.
Осознав, что ей нравится эта работа, через 10 лет Радья вернулась в Массачусетский технологический институт, чтобы получить докторскую степень уже не в математике, а в области компьютерных наук. Ее диссертация была посвящена маршрутизации в средах, где присутствуют злонамеренные сбои в сети.
Мать Интернета
В 1980 году у Радьи в прямом смысле появилась возможность изменить мир. Корпорация Digital Equipment Corporation [DEC] предложила Р. Перлман работать над сетевыми протоколами для DECnet. Также она разработала протокол маршрутизации промежуточных систем (IS-IS).
Ее самое большое творение во время работы в DEC — это то, что сделало возможным создание домашних сетей. Перед Перлман поставили задачу разработать алгоритм для локальных компьютерных сетей (LAN), который смог бы устранять в них лишние петли – дублирующие друг друга каналы пакетной передачи данных между коммутаторами. Они тормозили передачу данных.
Начальство, под руководством Тони Лаука, дали Перлман неделю на решение этой задачи. Она справилась быстрее и стала автором протокола связующего дерева – STP (Spanning Tree Protocol). Протокол позволяет компьютерам обмениваться данными в сети через мосты и коммутаторы, не создавая избыточности или петель. Протокол позволяет компьютерам/серверам обмениваться данными в сети через мосты и коммутаторы, не создавая избыточности или петель. За счет этого он создает платформу для предоставления ресурсов, которая и формирует сущность Интернета.
![image](https://habrastorage.org/webt/w1/jq/t-/w1jqt-mu8iqvhtot1q_wqlvcwr0.jpeg)
Интересно, что много разных изобретателей называли «отцом Интернета», в том числе Винта Серфа и Боба Кана, которые создали стек интернет-протоколов – TCP/IP (Протокол управления передачей/Интернет-протокол). Также таковым можно назвать и создателя Всемирной паутины Тима Бернерс-Ли. Однако «матерью Интернета» признали Радью Перлман благодаря изобретению STP.
Созданные Перлман технологии во многом сделали Всемирную сеть такой, какой мы ее знаем. За это ее иногда называют «Мамой интернета», но ей самой такой титул не слишком нравится. «Интернет не был изобретен каким-то отдельным человеком, — говорит Радья. — Конечно, я сделала некоторый фундаментальный вклад в инфраструктуру, лежащую в основе интернета. Но ни одна отдельная технология не привела бы его к успеху». По поводу своих профессиональных достижений она скромно говорит, что «просто оказалась в нужное время в нужном месте». А разобраться в сложных проблемах, по словам Перлман, ей помогло чувство юмора.
Протокол STP
Spanning Tree Protocol — сетевой протокол, работающий на канальном уровне модели OSI. Подробности про принцип работы и истоки модели OSI можно найти в статье «Это база. Сетевая модель OSI. Истоки».
![image](https://habrastorage.org/webt/p9/jq/ai/p9jqaisbiufkfmyqns4umdfbz10.png)
В этой статье я лишь частично затрону алгоритм STP, чтобы было понимание, как он работает. Более подробно с применением протокола можно ознакомиться в других статьях на Хабр. Например в статье из цикла сети для самых маленьких «Часть четвертая. STP».
Основной задачей STP является предотвращение появления «петель» в топологии произвольной сети Ethernet, в которой есть один или более сетевых мостов, связанных избыточными соединениями. STP решает эту задачу, автоматически блокируя соединения, которые в данный момент для полной связности коммутаторов являются избыточными.
Принцип действия STP
Чтобы определить, какие порты необходимо блокировать, а какие будут в режиме пересылки, STP выполняет следующие шаги:
- Выбор корневого моста (Root Bridge).
- Определение корневых портов (Root Port).
- Определение выделенных портов (Designated Port).
«I think that I shall never see
A graph more lovely than a tree.
A tree whose crucial property
Is loop-free connectivity.
A tree that must be sure to span
So packets can reach every LAN.
First, the root must be selected.
By ID, it is elected.
Least cost paths from root are traced.
In the tree, these paths are placed.
A mesh is made by folks like me,
Then bridges find a spanning tree».Стихотворение Радьи Перлман, описывающее, как работает STP.
1. STP использует алгоритм Spanning Tree, результатом работы которого является граф в виде дерева. Алгоритм состоит из следующих шагов.
Первое, что делает STP — выбирает корневой мост/свич. Это важный коммутатор в топологии, который STP считает центром сети; все дерево STP сходится к нему.
Выбор основывается на идентификаторе моста (Bridge ID). Корневым становится только один коммутатор с наименьшим значением. В начале все коммутаторы отправляют сообщения BPDU (Bridge protocol data unit), где говорят, что именно они являются корневыми коммутаторами. Если один коммутатор получает BPDU от другого с меньшим Bridge ID, то первый перестает говорить, что он корневой и начинает анонсировать BPDU коммутатора с меньшим Bridge ID. В итоге, корневым оказывается тот мост, чей Bridge ID меньше всех.
2. Далее каждый мост выбирает кратчайший путь от коммутатора до корневого моста. Это порт (Root Port), который будет вести к корневому мосту.
Здесь вступает в силу термин «стоимость порта» – показатель/стоимость маршрута от каждого порта до корневого свича, позволяющий понять, какой порт лучше использовать. STP выбирает порт с наименьшим значением стоимости порта.
3. Мост, через который проходит этот путь, становится назначенным для этой сети (Designated Bridge). Подключенный к сети порт моста — назначенным портом. Из каждого конкретного сегмента сети должен существовать только один путь по направлению к корневому свичу (иначе это петля). Назначенный порт – это тот, который имеет лучшую стоимость в данном сегменте. У корневого свича все порты являются назначенными.
4. После этого все порты кроме корневого и назначенного портов блокируются. В итоге, получается древовидная структура с вершиной в виде корневого коммутатора, петля разрывается.
STP был усовершенствован другими программистами и используется сейчас в компьютерных сетях.
Разработки после STP
У доктора Перлман есть более 100 патентов на сетевые протоколы и методы. 40 из них были зарегистрированы и созданы во время ее работы в Sun Microsystems. Одним из них был усовершенствованный протокол STP – TRILL (TRansparent Interconnection of Lots of Links). Протокол расширяет возможности STP, позволяя Ethernet оптимально использовать полосу пропускания.
Создавая новые границы в Интернете, Перлман написала книгу «Взаимосвязи» — о сетевой маршрутизации и создании мостов, и стала соавтором «Сетевая безопасность» — о криптографии и ее использовании в сетях. Она сказала, что «Взаимосвязи» помогли читателям разобраться в темном, наполненном жаргоном мире сетей.
![image](https://habrastorage.org/webt/tx/z5/dr/txz5drkcvqnkrsyles1j4d9hkvc.png)
После она работала в крупнейших IT-компаниях в том числе и в Intel, читала лекции в Гарварде и Университете штата Вашингтон.
Перлман была удостоена множества наград за свою работу. Ассоциация права интеллектуальной собственности Силиконовой долины назвала ее изобретателем года в 2004 году, а журнал Data Communications Magazine назвал ее одним из 20 самых влиятельных людей в области информационных технологий. А сейчас Радья Перлман воодушевляет многих девушек не бояться идти в профессии, связанные с техническими специальностями. И с каждым годом одаренных женщин в IT становится все больше.
Полезные ссылки:
- Интервью Радьи Перлман для рубрики «Интернет-инноваторы» NANOG.
- Интервью «Радия Перлман: как эта женщина изменила Интернет».
- Видео-лекция «Компьютерные сети. Мифы, ошибки и тайны». Автор: Радья Перлман.
- Лекция «Мосты, маршрутизаторы, коммутаторы, о боже». Автор: Радья Перлман.
- Статья на Хабр «Сети для самых маленьких. Часть четвертая. STP».
- Статья на Хабр «Принцип работы протокола STP».
![](https://habrastorage.org/webt/yu/m0/up/yum0upvqpmb1rcchboht0xncbsw.png)