Как один кабель изменил компьютеры: рождение Ethernet и его путь от лаборатории до стандарта

Трудно представить, но когда-то сама идея о том, что несколько компьютеров могут спокойно делить один общий провод, казалась почти революционной. Сегодня мы воспринимаем локальную сеть как нечто само собой разумеющееся: воткнул кабель — и всё заработало. Но за этой привычной простотой стоит целая эпоха инженерных поисков, случайных озарений и очень конкретных производственных задач. Мне всегда было интересно, как рождаются технологии, которые потом становятся невидимой основой повседневности. Ethernet — как раз такой случай.

22 мая 1973 года в исследовательском центре Xerox PARC появился документ, который сегодня считается точкой отсчёта всей истории. Его подготовил инженер Роберт Меткалф. Это была служебная записка, напечатанная на машинке, с рукописными пометками и схемами. В ней описывалась сеть для соединения компьютеров и впервые прозвучало слово Ethernet. Именно этот день принято связывать с рождением технологии, хотя путь к ней был долгим и вовсе не прямым.

Зачем понадобилось соединять компьютеры одним кабелем

В лаборатории Xerox PARC занимались вещами, которые сегодня кажутся привычными, а тогда выглядели как научная фантастика. Создавались персональные компьютеры Alto, системы лазерной печати, общие файловые хранилища. Вся эта техника должна была обмениваться данными. Причём требования к обмену были довольно жёсткими: быстро, без прокладки отдельной линии между каждой парой устройств и без центрального компьютера, который бы постоянно раздавал разрешения на передачу.

Решение пришло на стыке нескольких областей — пакетной радиосвязи, кабельного телевидения и компьютерной электроники. Это сочетание выглядит неожиданным, но именно оно позволило создать то, что мы сегодня называем локальной сетью.

Компьютер Alto был одной из первых машин, рассчитанных на индивидуальную работу. У него имелись собственные вычислительные ресурсы, экран, клавиатура и мышь. Пользователь больше не сидел за терминалом большого вычислительного центра, а работал за самостоятельной машиной. Но при этом дорогую периферию никто не собирался ставить возле каждого рабочего места. Принтеры и устройства хранения должны были использоваться совместно.

Особенно высокие требования к связи предъявляла лазерная печать. В задании, которое получил Меткалф, фигурировал принтер, способный выдавать страницу в секунду. Подключения, которые годились для обмена текстовыми командами с терминалом, просто не соответствовали масштабу новой задачи. Нужна была высокоскоростная локальная сеть, и её предстояло придумать с нуля.

Важно понимать: Ethernet создавался для связи оборудования внутри здания или комплекса зданий. Это не другое название интернета и не название определённого кабеля. Технология задаёт правила передачи данных: как они оформляются, как устройства распознают адресата и какими электрическими или оптическими сигналами информация передаётся по линии. Кабель — лишь физическая среда, а суть Ethernet лежит в принципах организации обмена.

Гавайский след в истории Ethernet

За два года до записки Меткалфа, в июне 1971-го, в Гавайском университете заработала сеть ALOHAnet. Её создавали Норман Абрамсон, Франклин Куо и их коллеги. Университетские подразделения находились на разных островах, и для связи с вычислительным центром использовали радио. Несколько терминалов должны были передавать данные по общему каналу.

Вместо постоянного распределения времени между всеми участниками разработчики применили случайный доступ. Когда у устройства появлялись данные, оно отправляло пакет. Если подтверждение не приходило, устройство выжидало случайный промежуток времени и повторяло попытку. Две передачи могли наложиться друг на друга, но случайные задержки снижали вероятность того, что отправители снова начнут одновременно.

Меткалф изучал ALOHAnet и провёл месяц на Гавайях, работая с Абрамсоном. Этот опыт оказался для него определяющим. Позднее, при создании Ethernet, общий радиоканал заменили кабелем, а способ доступа существенно доработали. Мне кажется, именно такие междисциплинарные заимствования часто становятся источником самых изящных инженерных решений.

Почему выбрали коаксиальный кабель

Радио позволяло обойтись без проводки, но для локальной сети того времени аппаратура получалась слишком громоздкой, дорогой и медленной. Меткалф и его коллега Дэвид Боггс выбрали проводную среду. Вдоль помещений прокладывался общий коаксиальный кабель, а компьютеры подключались к нему через приёмопередатчики и специальные ответвители.

Ответвители заимствовали из техники кабельного телевидения. Контакт достигал центрального проводника, не требуя разрезать магистраль и вставлять в неё очередное устройство. Это позволяло добавлять подключения, сохраняя непрерывность основной линии. Коаксиал состоял из центральной жилы, окружающей её изоляции и наружного проводника-экрана. Но изобретение заключалось вовсе не в этой конструкции: кабель уже существовал.

Новым было устройство сети. Один общий канал должен был обслуживать множество самостоятельных компьютеров, каждый из которых мог начать передачу по собственной инициативе. Боггс участвовал в разработке аппаратуры и интерфейсов Alto. Его опыт радиолюбителя оказался полезен для работы с высокочастотными сигналами и коаксиальными соединениями. В течение 1973 года команда собрала несколько сетевых интерфейсов для экспериментальной системы.

Название, которое отсылает к эфиру

Название Ethernet отсылало к светоносному эфиру — исторической гипотезе о среде, в которой распространяются электромагнитные волны. В сети Меткалфа и Боггса такой общей средой служил кабель. Передатчик вводил в него сигнал, который распространялся к подключённым устройствам. При этом понятие Ethernet изначально не ограничивали коаксиалом. В статье разработчиков 1976 года среди возможных сред перечислялись также витые пары и оптические волокна. Конкретный способ физической передачи можно было менять, сохраняя общие принципы организации обмена.

Как один кабель обслуживал множество компьютеров

Данные передавались отдельными пакетами с адресами отправителя и получателя. Сигнал распространялся по общей линии и достигал всех подключённых станций. Каждая проверяла адрес. Пакет принимало то устройство, которому он предназначался. Центрального распределителя очереди не было. Доступ к кабелю определяла аппаратура самих станций.

Перед началом передачи устройство проверяло, свободна ли среда. Если по кабелю уже шёл чужой сигнал, приходилось ждать. Если линия была свободна, можно было передавать. При наложении передач попытка прекращалась и назначалась повторная. Общий канал подходил для неравномерного компьютерного обмена. Рабочая станция могла некоторое время ничего не передавать, а затем отправить большой объём данных. Постоянно резервировать за ней отдельную долю пропускной способности было невыгодно: в периоды простоя эта доля оставалась бы неиспользованной.

Мне особенно интересна логика, по которой инженеры принимали такие решения. Они сознательно отказались от жёсткой гарантии времени доставки ради простоты и дешевизны. Для передачи файлов и работы с общей периферией такой компромисс оказался приемлемым. Требования простоты и невысокой стоимости были важнее жёстко заданной задержки.

Коллизии как часть нормальной работы

Электрический сигнал распространяется по кабелю с конечной скоростью. Предположим, компьютер на одном конце линии начал передачу. Устройство на другом конце ещё не успело получить этот сигнал и тоже определило кабель как свободный. Оно начало передавать свой пакет. Возникла коллизия — наложение передач. В Ethernet это не считалось аварией кабеля. Коллизия была предусмотренным событием, которое аппаратура должна обнаружить и обработать.

После столкновения станции прекращали неудачную попытку и выбирали случайные задержки перед повторной передачей. При повторных столкновениях диапазон возможной задержки увеличивался. Так участники реже возвращались в занятый канал одновременно. Этот подход получил обозначение CSMA/CD: множественный доступ с контролем несущей и обнаружением коллизий.

У него имелись ограничения. Время ожидания зависело от загрузки сети, поэтому заранее гарантировать момент доставки каждого пакета было нельзя. Но именно эта «небрежность» сделала Ethernet практичным и живучим решением.

Длина кабеля как часть протокола

В обычном описании линии связи длину часто связывают прежде всего с затуханием: чем дальше проходит сигнал, тем слабее становится. В общей сети Ethernet расстояние влияло ещё и на обнаружение коллизий. Передатчик должен был продолжать передачу достаточно долго, чтобы успеть обнаружить столкновение, возникшее с участием удалённой станции. Поэтому допустимые расстояния, задержки оборудования и длительность передачи нельзя было выбирать независимо.

В спецификации Ethernet 1980 года отдельно рассчитывался бюджет задержек распространения. Физическая протяжённость сети была связана с правилами её работы, а не определялась только возможностью усилить ослабевший сигнал. Это одна из причин, по которым исправная линия с хорошими контактами ещё не обязательно являлась правильно построенной сетью.

Странная скорость 2,94 Мбит/с

Первый Ethernet работал не на привычных позднее десяти мегабитах, а на 2,94 Мбит/с. Необычное число появилось из-за устройства сетевого интерфейса Alto. На плате было ограничено место для микросхем. Отдельный тактовый генератор решили не устанавливать и использовали тактовый сигнал компьютера. Один такт занимал 170 наносекунд, на передачу бита отвели два такта. Получилось 340 наносекунд на бит, или приблизительно 2,94 миллиона бит в секунду. Скорость определилась сочетанием требований сети и возможностей конкретной аппаратуры. Меня всегда восхищает, как в инженерных проектах большие решения вырастают из маленьких аппаратных ограничений.

Первый пакет прошёл меньше трёх сантиметров

Первый пакет Ethernet передали в ноябре 1973 года. В первоначальном испытании он прошёл менее одного дюйма и вернулся обратно. Сначала инженеры проверяли работу самого интерфейса. Затем изготовили вторую плату и соединили две платы коаксиальным кабелем длиной в одну милю, примерно 1,6 километра. Следующим этапом стало подключение третьего интерфейса. Так последовательно проверялись собственная аппаратура, передача по длинной линии и совместная работа нескольких участников. После этого Боггс организовал изготовление печатных плат для растущего числа компьютеров Alto.

Поэтому у истории Ethernet несколько разных дат. Май 1973-го относится к формулировке замысла, ноябрь — к первым работающим испытаниям. Промышленная спецификация появилась значительно позже.

Что описали разработчики в 1976 году

В июле 1976 года Меткалф и Боггс опубликовали статью «Ethernet: распределённая пакетная коммутация для локальных компьютерных сетей». В ней уже рассматривался опыт действующей сети: около ста узлов на километре коаксиального кабеля. Работа описывала не только аппаратуру, но и адресацию, доступ к общей среде, обработку столкновений и поведение системы под нагрузкой.

Разработка была коллективной. В патенте на многоточечную систему передачи данных с обнаружением коллизий указаны Роберт Меткалф, Дэвид Боггс, Чарльз Такер и Батлер Лэмпсон. Заявку подали в марте 1975 года, патент выдали в декабре 1977-го.

От лабораторной сети к промышленному стандарту

Работа внутри одной лаборатории ещё не обеспечивала промышленного распространения. Производителям требовалась общая спецификация. Она должна была определять электрические сигналы, формат передаваемых данных, поведение передатчиков и приёмников, требования к кабелю и допустимую конфигурацию сети.

В 1979 году Меткалф покинул Xerox и основал 3Com, которая занялась сетевым оборудованием. Одновременно он участвовал в согласовании Ethernet между Xerox, Intel и Digital Equipment Corporation, известной как DEC. В 1980 году эти три компании выпустили совместную спецификацию Ethernet со скоростью 10 Мбит/с. В ней совместимость разных реализаций была самостоятельной целью: оборудование, изготовленное по общим требованиям, должно было обмениваться данными независимо от производителя. Документ описывал физический и канальный уровни, оставляя более высокие сетевые функции другим протоколам.

В 1983 году IEEE, Институт инженеров электротехники и электроники, утвердил стандарт 802.3. Ethernet начал выходить за пределы разработки одной компании и превращаться в общую технологическую основу локальных сетей.

Ethernet и интернет — разные задачи

В исходном проекте сеть соединяла компьютеры, принтеры и другие ресурсы исследовательского центра. Для выхода во внешние сети использовалось отдельное оборудование. Это различие сохраняется и в устройстве сетевых технологий. Ethernet обеспечивает передачу кадров по локальному соединению или сети. Обмен между разными сетями, выбор маршрутов и доставка данных через множество промежуточных участков относятся к другим уровням.

Поэтому локальная сеть может работать без доступа в интернет. Компьютеры продолжают обмениваться файлами и обращаться к общим устройствам, пока исправны сама сеть и необходимые службы. Менялся и способ доступа к среде. В исходном Ethernet компьютеры делили общий кабель. В полнодуплексном соединении через коммутатор передача и приём разделены, поэтому механизм коллизий для такого соединения не используется. Современную коммутируемую сеть нельзя описывать как увеличенную копию коаксиальной шины 1973 года.

Следующий поворот: отдельный кабель к каждому компьютеру

К концу 1980-х Ethernet уже перестал быть лабораторным экспериментом. Следующая большая перемена затронула проводку. 28 сентября 1990 года был утверждён стандарт IEEE 802.3i, закрепивший 10BASE-T: передачу десяти мегабит в секунду по неэкранированной витой паре.

Вместо подключений к общей коаксиальной магистрали рабочие места получили отдельные линии к центральному устройству. Это изменило монтаж, расширение сети и поиск неисправностей. Повреждённое подключение можно было искать и обслуживать отдельно от остальных. Но вместе с другим кабелем появились другие инженерные вопросы. Для коаксиала принципиальны геометрия центрального и наружного проводников и согласование линии. Для витой пары требуется сохранять симметрию двух жил и ограничивать взаимное влияние соседних цепей.

В выпуске о 1990 годе разберём, почему для этого провода скручивают в пары и как их взаимное расположение влияет на передачу данных.

Комментировать

?
13 + 14 = ?