Давайте разбираться, что отличает свитч от хаба, как Ethernet стал тем, каким мы его знаем сегодня, и за что мы должны быть благодарны маркетологам Kalpana.
Расшифровка...
Они незаметно спрятаны в стойках и шкафчиках, но именно они определяют, как каждое ваше письмо, файл или видеозвонок найдёт свой путь даже в огромном офисе, дата-центре или у вас дома.
Меня зовут Иннокентий Солнцев, вы слушаете подкаст «До нас дошло». Сегодня мы поговорим о том, как появились первые коммутаторы, о принципах, послуживших основой для архитектуры Ethernet, и разберёмся, почему переход к «интеллектуальной пересылке кадров» стал революцией не только для айтишников, но и для всей цифровой цивилизации. Доставайте ваши потчкорды: сегодня выясним, как сеть стала по-настоящему умной.
Чтобы по-настоящему понять, почему Ethernet стал именно таким, каким мы его знаем, стоит вспомнить аксиомы, которые Роберт Меткалф, основной автор идеи, легшей в основу протокола, сформулировал ещё в 1973 году для самой первой версии этой сети в Xerox PARC. Так вот, эти пять его аксиом стали настоящей философией “эфирной” коммуникации и задали правила для всего, что происходило дальше.
Во-первых, аксиома эфира:
Наша среда передачи передаёт данные всем станциям. Любой компьютер, подключённый к сети, видит каждый сигнал, каждое сообщение — даже то, что ему не адресовано. Именно поэтому и появилось название “Ethernet” — от старого физического понятия “эфир”, как среды, в которой сигнал распространяется повсюду.
Во-вторых, аксиома близости:
Время распространения сигнала по сети должно быть очень небольшим. То есть любые станции “слышат” друг друга если не почти мгновенно, но по крайней мере без существенных задержек — а это важно для своевременного обнаружения коллизий.
Третья аксиома — обнаружение:
Любой участник “слушает эфир” как минимум так же пристально, как он сам что-то вещает, и в любой момент знает: линия занята или свободна, а процедура определения занятости происходит практически мгновенно.
Четвёртая аксиома — уступчивость:
Если станция слышит чью-то передачу, она ни в коем случае не начнёт (и не продолжит) свою собственную. Принцип прост: сперва слушай, потом говори — или дождись своей очереди.
Пятая аксиома — аксиома диаметра сети
В проводной сети Ethernet сигнал от одного компьютера не появляется мгновенно во всех точках кабеля, а проходит по проводу с определённой скоростью. Поэтому может случиться ситуация: первый компьютер начал передавать данные, в этот момент его сигнал только-только «потёк» в сторону второго, а второй компьютер, пока еще не успев получить, проверяет кабель, убеждается, что эфир пуст — и начинает свою передачу.
Естественно, оба сигнала тут же перемешиваются, и все остальные участники получают бессмысленный шум, потому оба компьютера должны прервать передачу и повторить попытку попозже. Но если кто-то из участников к тому моменту, когда до него дойдет сигнал другого, уже закончит свою передачу, то он не сможет определить, что необходима повторная отправка, поэтому правило диаметра сети требует: максимальное расстояние между участниками (и, следовательно, задержка распространения сигнала в сети) должны быть такими, чтобы каждый передатчик обязательно успел «услышать» приходящий из сети сигнал другого участника — то есть распознать коллизию — до того, как закончит пересылать свой пакет данных, даже если это будет очень маленький пакет. Это гарантирует, что любая коллизия будет обнаружена вовремя обоими участниками обмена, и никто не «проспит» столкновение сигналов, считая свой пакет успешно доставленным.
Именно поэтому у классического Ethernet существует жёсткое ограничение на длину кабеля и размер минимального кадра: чтобы любые коллизии были замечены в любом, даже самом длинном, корректно построенном сегменте сети.
Все эти принципы — общая среда передачи, умение быстро распознавать занятость линии, правило “уступать эфир тому, кто уже говорит”, а также ограничения по размеру сети — остаются в той или иной степени актуальными для Ethernet и сегодня. Новые устройства, которые принципиально изменили способ работы с Ethernet сегодня, делают всё, чтобы эти аксиомы по-прежнему выполнялись: либо непосредственно, либо с помощью их имитации для старых устройств. Благодаря этому Ethernet продолжает работать стабильно и совместимо, даже когда сети на его основе становятся несоизмеримо сложнее, быстрее и масштабнее, чем мог мечтать Меткалф в середине 70 годов.
Когда Ethernet только появился, концепция «общего эфира» выглядела настоящим технологическим чудом: все участники могут общаться друг с другом напрямую, каждый сигнал доходит до всех. Однако по мере того как офисы и кампусы увеличивались, а компьютеров становилось всё больше, стали проявляться жесткие физические ограничения подобной архитектуры.
Главная проблема — длина кабеля. Стандарты 10BASE-5 и 10BASE-2 предписывали максимум 500 и 200 метров соответственно между крайними точками сети. Казалось бы, это много, но на практике эти метры быстро “съедались” коридорами, столами, обходами помещений и временными расширениями сети.
Чтобы преодолеть этот предел, начали использовать специальные устройства — репитеры (повторители). Они, если так можно выразиться, “освежали” электрический сигнал: принимали его на одном конце сегмента и тут же передавали дальше в новый отрезок кабеля. Так можно было собрать сеть из последовательности сегментов, связанных репитерами, и увеличить общую длину трассы до полутора-двух километров (согласно правилу 5-4-3). Но важно: даже с репитерами и удлинёнными трассами, вся сеть оставалась одной единой зоной коллизий. Любая передача, любой конфликт или короткое замыкание влияли на всех сразу, а новые проблемы возникали всё чаще.
Постепенно в коаксиальный кабель стал уступать место витой паре и архитектуре «звезды». Вместо единой длинной трассы каждый компьютер стал подключаться своим отдельным кабелем к центральному устройству — хабу, или электронному концентратору. Это решение сделало монтаж проще, а сеть — удобнее: любой сбой в кабеле касался только одного компьютера, всегда было понятно, куда идёт какой провод. Однако принцип работы почти не изменился. Электрически вся сеть всё равно оставалась единым общим эфиром. Хаб, в отличие от более поздних “умных” устройств, не разбирал, кому адресован сигнал: он просто дублировал любой полученный пакет на все остальные порты. Всё, что происходило на одном конце сети, мгновенно становилось событием для всех остальных участников, а коллизии и споры за эфир распространялись по всему “звёздному” сегменту. Просто теперь эти споры “разносились” через центральную коробку, а не напрямую по кабельной петле.
В результате любое увеличение числа компьютеров или активного трафика превращало сеть в узкое горлышко. Коллизии встречались всё чаще, устройства постоянно ждали начала передачи, а эффективность резко падала при любой перегрузке. Прекрасная для старта философия “общего коридора” начинала реально мешать росту сети, и инженерам становилось ясно: нужен новый принцип взаимодействия.
Когда стало ясно, что растить одну большую сеть с помощью хабов и повторителей — путь к бесконечным коллизиям и заторам, появился другой класс устройств — сетевые мосты, или bridges. В отличие от хаба, который просто раздавал сигнал всем, мост предназначался для стыковки двух и более отдельных, но находящихся рядом сетей, соединяя разные сегменты так, что данные свободно проходили туда, куда им действительно нужно, а каждый из сегментов при этом оставался обычным shared media Ethernet со всеми базовыми аксиомами Меткалфа. Мост “слушал” приходящий трафик, принимал к себе в буфер входящие пакеты, и решал: если пакет адресован устройству, про которое известно, что оно находится на этой же стороне, то на другую сторону такой кадр пересылать не надо. В случае же, если про получателя известно, что он находится на другой стороне, либо не известно ничего - пересылаем копию кадра на другую сторону.
Этот подход позволял строить более крупные и сложные сети из привычных участков Ethernet, не нарушая принципов общей среды, равных прав участников и простоты доступа. В глазах старых узлов всё работало как прежде: казалось, что за пределами их сегмента просто “живут другие такие же”, а bridge выступает невидимым “проводником”, не навязывая централизованного управления и не добавляя “умности”, которую сеть не ждёт.
При этом мост действовал прозрачно для остальных участников сети, сохраняя в какой-то степени действие всех аксиом:
Узлы по-прежнему получали и данные, адресованные им, и, возможно, какие-то чужие (хотя данных этих чужих приходило меньше, потому что часть из них фильтровалась на мостах). Если вы намеревались подслушивать чужой трафик, то бриджи, конечно, вам вредили, но для большинства устройств НЕполучение каких-то чужих данных означало больше доступного эфирного времени и возможность передавать какие-то свои данные. Это была аксиома эфира
Дальше - аксиома близости, гарантирующая что время распространения сигнала по сегменту будет небольшим. Мосты, позволив соединять между собой несколько сегментов, дали неожиданный эффект - там где раньше требовалось для подключения всех узлов прокладывать одну огромную сеть, теперь стало возможным построить несколько небольших сетей, так что в пределах сегмента задержки даже уменьшились. Да, совокупное время путешествия пакета от одного узла до другого при этом увеличилось, но аксиома близости говорит только про размер сегмента для своевременного обнаружения коллизии. Аналогичный эффект с аксиомой диаметра: мосты позволили компоновать большую сеть из множества мелких, благотворно влияя на время обнаружения коллизии.
На возможность слушать эфир для аксиомы обнаружения мосты не влияли никак, так что в механизмах аксиомы обнаружения и уступчивости никаких изменений не произошло
Этот подход позволял строить более крупные и сложные сети из привычных участков Ethernet, не нарушая принципов общей среды, равных прав участников и простоты доступа. Мосты стали первым примером устройства, которое проявляло элементарный “интеллект” и принимало решения на основе местоположения адресата, но всё равно подчинялось классическим аксиомам Ethernet. Именно такая “прозрачность” мостов позволила расширить локальные сети далеко за пределы одного офиса или лаборатории способом, не ломающим старую логику — а когда устройства становились сложнее, появлялись и новые методы управления потоками данных, ведущие дальше, к эре коммутаторов.
Появившиеся в конце 80-х мосты были двухпортовыми. Революцию совершило произведенное в 1990 году компанией Kalpana устройство под названием EtherSwitch EPS-700. Это был коммутатор на семь AUI-портов, по 10 Мбит/с каждый, общей пропускной способностью 30 Мбит/с. Любопытно, что два из его портов поддерживали полный дуплекс — тогда это была настоящая инновация. Цена вопроса — около 10000 долларов, $1500 за порт, что, несмотря на дороговизну для того времени, открывало возможность гранулированного распределения трафика для крупных компаний. Традиционный мост (например, DEC LANbridge 100) имел два AUI-порта, и стоил порядка 6000 долларов, то есть в пересчете на порт был вдвое дороже.
Kalpana EtherSwitch, в свою очередь, стал первым по-настоящему многопортовым устройством. Любопытный факт: само слово «свитч» (switch) в применении к сетевому оборудованию впервые появилось именно благодаря маркетологам Kalpana. Их продукт технически не был похож на существовавшие на рынке мосты — он был многопортовым, работал по иной модели обработки кадров и мог пересылать их не только между двумя сегментами, но между любыми портами нужному получателю. Поэтому, чтобы выделить свой продукт среди привычных устройств, Kalpana предложила слово “switch” — и оно быстро закрепилось за всеми «умными» сетевыми устройствами следующей эпохи, хотя технически с точки зрения стандарта это был именно мост.
Слово switch взяли из телефонии — так называли переключающие или распределяющие устройства вообще (в том числе и телефонные коммутаторы на АТС, которые соединяли абонентов). На всякий случай: если слышите “свитч” или “коммутатор” в контексте Ethernet, речь всегда идёт об одном и том же — умном сетевом устройстве, управляющем движением данных в сети. В профильных стандартах эти же устройства называются бриджами, или мостами - не пугайтесь, если вдруг увидите это.
Продукт Kalpana был необычайно инновационным: это не просто был первый многопортовый коммутатор, но и, как уже упоминалось, поддерживал полный дуплекс, агрегацию каналов, а также заложил идею VLAN-ов, хотя промышленным стандартом этот подход стал чуть позже. Таким образом, коммутатор Kalpana был не просто “быстрым мостом”, а новым классом устройств: много портов, сквозная коммутация, первые зачатки VLAN-ов и каналов агрегации, фокус на производительности и масштабируемости. Именно такие решения и положили начало эпохе современного Ethernet.
Классический коммутатор Ethernet устроен не так уж сложно, если знать главный принцип: он принимает во временную буферную память кусочек данных (далее я буду называть его кадр), а затем отсылает копии этого кадра во все остальные порты, кроме тех, за которыми гарантированно нет получателя. Как он узнает, за каким портом гарантированно получателя нет? Есть разные механизмы разных уровней изощренности, но несколько популярных правил поддерживают все модели.
Во-первых, кадр никогда, ни при каких условиях не пересылается обратно в тот порт, откуда он был получен. Если вы прокладываете между двумя устройствами несколько параллельных линий (это та самая агрегация, которую придумала Kalpana), то копии не будут отправляться во все параллельные порты, если кадр получен на одном из них.
Во-вторых, можно вести специальную таблицу (она называется FDB, или filtering database), и записывать в нее, кто за каким портом находится. Поначалу она может быть пуста, но при прохождении кадров коммутатор будет записывать - из каких портов приходят кадры с каким адресами источника. Соответственно, если вдруг поступил кадр на адрес, который есть у нас в таблице, можно сделать вывод, что за всеми остальными портами адресата нет, и можно этих остальных портах отправку копии кадра заблокировать. Если у вас сеть работает стабильно, то это правило исключительно эффективно, потому что на каждый входящий кадр получается ровно одна исходящая копия только в тот порт, который смотрит в сторону получателя.
Есть и другие правила: например, если у вас работает протокол Spanning Tree, или STP, то копии не отправляются в те порты, которые он предписал заблокировать.
Естественно, при всей “умности” коммутатор, по сути, просто расширяет старую философию Ethernet: внутри каждого порта продолжает жить свой крошечный “эфир”, и для многих классических узлов всё выглядит, будто они живут в “идеальной” старой сети. Даже если под капотом всё усложнилось, базовые аксиомы Меткалфа или имитируются, или честно поддерживаются на каждом локальном кусочке сети.
—
Такая работа коренным образом изменила жизнь сетей. В прежних временах, когда сигнал разлетался на все стороны, сеть быстро забивалась избыточным трафиком, и с каждым новым компьютером становилась медленнее и менее предсказуемой. При коммутаторе каждая пара портов может общаться почти как по отдельному “личному каналу”, и разговор между ними никак не влияет на остальных. Коллизии — то есть одновременные передачи, мешающие друг другу на общем проводе, — почти исчезают: теперь возможны только микроколлизии между сетевой картой и конкретным портом коммутатора, а в режиме full duplex и они остаются в прошлом.
Практически это означает, что офис с десятками или сотнями компьютеров, который на хабах уже стоял бы в сетевой “пробке”, с переходом на коммутаторы вдруг начинает “летать” — даже если все пользуются сетью одновременно. Для системных администраторов это стало настоящим подарком: появился надёжный способ масштабировать сеть без страха, что очередное добавление пользователя парализует всю инфраструктуру. А простым пользователям стало куда меньше знакомо проклятие полудня: это когда раньше на сетях с хабами при пересылке большого файла или резервном копировании вся сеть деградировала из-за коллизий или невозможности вовремя отправить кадр, а теперь с коммутатацией этот поток занимал только два порта из десятков или сотен — и остальные продолжали работать как ни в чём не бывало.
По сути, коммутатор превратил сеть из единой шумной комнаты с толпой собеседников в набор маленьких переговорных, где каждый слышит только важное для себя.
Со временем коммутаторы стали не просто “умными тройниками для сети”, а настоящими центрами принятия решений. Как только технология подешевела и стала массовой, производители начали добавлять новые возможности. Появились такие понятия как VLAN — виртуальные локальные сети, где один физический коммутатор мог разделять пользователей на полностью изолированные группы, даже если они были подключены к одному и тому же устройству. Для крупных офисов и кампусов это стало способом разграничить доступ и повысить безопасность без дополнительной проводки.
Другая инновация — агрегация каналов (в Kalpana ее называли EtherChannel, и потом, когда компанию купила Cisco, уже они стали форсить это название, и как-то оно в индустрии и закрепилось). Агрегация позволила объединять несколько физических портов в один логический, увеличивая пропускную способность между ключевыми точками, например, между сервером и ядром сети.
Появились механизмы приоритезации трафика (QoS), автоматического определения неисправностей, поддержки питания по кабелю (PoE) и множество других функций, которые позволяют одной “чёрной коробочке” не просто соединять пользователей, а управлять большой частью инфраструктуры. При этом для обычного пользователя сеть оставалась прозрачной и простой — подключись кабелем и работай.
Коммутаторы отлично вписались в аксиомы Меткалфа — принцип открытости среды и универсальности передачи теперь реализован не только электрически, но и программно: если нужно, современный свич и “имитирует” старый эфир, и фильтрует трафик, и прозрачно масштабирует любое офисное или промышленное предприятие.
В результате, коммутатор стал устройством, без которого трудно представить себе сеть в современном смысле: именно он превращает кучу отдельных проводов и пользователей в единую, гибкую, надёжную систему, где всё доходит по нужному адресу — быстро и без лишней суеты.
С развитием рынка коммутаторы превратились в целые центры управления сетями. Одной из ключевых компаний на этом рынке стала Cisco — именно она довела до стандарта технологии агрегирования каналов (EtherChannel), массово внедрила поддержку виртуальных локальных сетей (VLAN), и множество других популярных технологий. В след за Cisco в гонку инноваций включились другие сетевые гиганты: Juniper, 3Com, Extreme Networks, Alcatel, Brocade, а в последние годы — и Huawei.
Постепенно число портов коммутаторов выросло с 4–8 до сотен и даже тысяч, поддержка оптических портов стала стандартом, а функции обработки трафика усложнились: теперь один коммутатор способен маршрутизировать трафик, защищать сеть встроенным firewall, интегрировать Wi-Fi и даже управлять политиками безопасности пользователей. Современный дата-центр невозможно представить без мощной фермы коммутаторов, где обрабатываются миллионы соединений в секунду.
В итоге сегодня коммутатор для сетей — как сердце для организма: соединяет, фильтрует, управляет ритмом и защищает от перегрузок. А начиналось всё с аксиом и простого желания упростить жизнь инженерам и пользователям, не теряя надёжности. Эти решения позволили сетям Ethernet расти практически без ограничений: от квартир и офисов — до гигантских дата-центров и магистралей современных облачных сервисов. Инженеры продолжают думать о новых задачах — растут скорости, добавляются оптические интерфейсы и автоматизация на уровне управления. Но для большинства людей всё работает “просто так”: достаточно воткнуть кабель — и всё остальное делает коммутатор, незаметно для пользователя реализуя десятки стандартов, протоколов и правил, которые шлифовались десятилетиями.
И если сейчас всё кажется простым и прозрачным — достаточно подключить кабель, а дальше сеть сама разберётся, куда что доставить — важно помнить: за этой невидимой работой стоит колоссальная работа тысяч людей, чья изобретательность и упорство сделали Ethernet тем самым “универсальным языком общения” для цифрового мира, что гарантирует, что каждый кадр дошел до получателя.
Вы слушали подкаст «До нас дошло», и этот выпуск для вас подготовил Иннокентий Солнцев и звукорежиссёр Алексей Попов.
0 коментариев