Шрифт:
Интервал:
Закладка:
Илл. 4.12. Протокол MACA. (а) Станция A посылает фрейм RTS станции B. (б) станция B отвечает фреймом CTS станции A
Несмотря на все меры предосторожности, коллизии все равно могут произойти. Например, станции B и C могут одновременно послать RTS станции A. Возникнет коллизия, и фреймы не будут приняты. В этом случае передатчики, не услышав CTS в установленный срок, ждут случайное время и повторяют попытку.
4.3. Сеть Ethernet
Теперь, когда мы рассмотрели общие вопросы, касающиеся протоколов распределения канала, пришло время обсудить их практическое применение в реальных системах. Большое число технологий для персональных (PAN), локальных (LAN) и общегородских (MAN) сетей описано в серии стандартов IEEE 802. Некоторые из них используются до сих пор, но многие утратили актуальность, как показано на илл. 1.37. Те, кто верит в реинкарнацию, считают, что один из членов Ассоциации стандартов IEEE — вновь родившийся Чарльз Дарвин, отбраковывающий слабые технологии. И действительно, выжили сильнейшие: среди них наиболее важными являются стандарты 802.3 (Ethernet) и 802.11 (беспроводные LAN). Технология Bluetooth (беспроводные PAN) применяется очень широко, но ее описывают другие стандарты помимо 802.15.
Мы начнем изучение реальных систем с Ethernet, вероятно, наиболее распространенной в мире технологии для объединения устройств в сеть. Существует два типа Ethernet: классический Ethernet (classic Ethernet), который решает проблему множественного доступа с помощью методов, представленных в этой главе; и коммутируемый Ethernet (switched Ethernet), в котором для соединения компьютеров используются коммутаторы (switches). Важно понимать, что хотя в обоих названиях присутствует слово Ethernet, между этими технологиями много различий. Классический Ethernet — изначальный вариант, достигавший скорости 3–10 Мбит/с. Коммутируемый Ethernet — результат развития классического. Различают быстрый, гигабитный, 10-гигабитный, 40-гигабитный и 100-гигабитный коммутируемый Ethernet; он работает на скоростях 100, 1000, 10 000, 40 000 или 100 000 Мбит/с соответственно. На сегодняшний день используется только такой тип Ethernet.
Мы рассмотрим этапы развития Ethernet в хронологическом порядке. Так как Ethernet и IEEE 802.3 — это одно и то же (за исключением двух небольших деталей, кратко описанных ниже), оба названия употребляются равнозначно, в том числе и в этой книге. Дополнительную информацию, касающуюся Ethernet, можно найти в книге Сперджена и Циммермана (Spurgeon and Zimmerman, 2014).
4.3.1. Физический уровень классического Ethernet
История Ethernet начинается приблизительно во времена системы ALOHA, когда студент Боб Меткалф получил магистерскую степень в Массачусетском технологическом университете. Позже он защитил докторскую в Гарварде, где ознакомился с наработками Абрамсона по системе ALOHA. Эта тема так заинтересовала Меткалфа, что после выпуска из Гарварда он решил провести лето на Гавайях, работая с Абрамсоном. После он перешел в исследовательский центр Xerox, где стал свидетелем разработки и создания устройств, которые впоследствии назовут «персональными компьютерами». Однако эти устройства были изолированы друг от друга. Используя результаты исследований Абрамсона, Меткалф вместе со своим коллегой Дэвидом Боггсом разработал и реализовал первую локальную сеть (Metcalfe and Boggs, 1976). В ней использовался длинный толстый коаксиальный кабель, а пропускная способность составляла 3 Мбит/с.
Система получила название «Ethernet», в честь люминофорного эфира, через который, как когда-то считалось, распространяются электромагнитные лучи. (В XIX веке британский физик Джеймс Клерк Максвелл обнаружил, что электромагнитное излучение можно описать волновым уравнением. Ученые предположили, что пространство должно быть заполнено некой эфирной средой, по которой излучение распространяется. Только после знаменитого эксперимента Майкельсона — Морли в 1887 году физики поняли, что оно способно распространяться в вакууме.)
Система Xerox Ethernet оказалась настолько успешной, что в 1978 году DEC Intel и Xerox разработали стандарт 10-мегабитного Ethernet — стандарт DIX (DIX standard). С небольшими изменениями в 1983 году DIX превратился в стандарт IEEE 802.3. К несчастью, у компании Xerox на тот момент была длинная история значительных изобретений (например, персональный компьютер), которые она не смогла успешно выпустить на рынок. Об этом рассказано в книге «Fumbling the Future» Смита и Александера (Smith and Alexander, 1988). Когда стало понятно, что Xerox не заинтересован в Ethernet и может предложить разве что помощь в его стандартизации, Меткалф основал собственную компанию, 3Com. Компания занималась продажей адаптеров Ethernet для персональных компьютеров. Были проданы миллионы таких устройств.
Классический Ethernet — это проходящий по всему зданию длинный кабель, к которому подключаются компьютеры. Эта архитектура показана на илл. 4.13. Первый вариант, называемый в народе толстым Ethernet (thick Ethernet), напоминал желтый садовый шланг с маркировкой каждые 2,5 м — в этих местах подключались компьютеры. (По стандарту 802.3 не требовалось, чтобы кабель был желтым, но это подразумевалось.) Ему на смену пришел тонкий Ethernet (thin Ethernet); эти кабели лучше гнулись, а соединения выполнялись с помощью стандартных разъемов BNC. Тонкий Ethernet был намного дешевле и проще в установке, но длина сегмента не превышала 185 м (вместо 500 м для толстого Ethernet), а каждый сегмент поддерживал не более 30 компьютеров (вместо 100).
Илл. 4.13. Архитектура классического Ethernet
Все версии Ethernet имеют ограничения по длине кабеля в сегменте, то есть участкам без усилителя. Для построения сетей больших размеров несколько кабелей соединяются повторителями (repeaters). Повторитель — это устройство физического уровня. Он принимает, усиливает (регенерирует) и передает сигналы в обоих направлениях. С точки зрения программного обеспечения ряд кабелей, соединенных таким образом, не отличается от сплошного кабеля (за исключением небольшой временной задержки, связанной с повторителями).
Информация по этим кабелям передается с использованием манчестерского кода, о котором мы говорили в разделе 2.4.3. Ethernet может состоять из большого количества сегментов кабеля и повторителей, однако два трансивера могут располагаться на расстоянии не более 2,5 км и между ними должно быть не более четырех повторителей. Эти ограничения нужны для того, чтобы протокол MAC, о котором мы поговорим далее, работал корректно.
4.3.2. Протокол MAC в классическом Ethernet
Формат фрейма, применяемый для отправки данных, показан на илл. 4.14. Сначала идет поле Preamble (Преамбула) длиной 8 байт, которое содержит последовательность 10101010 (за исключением последнего байта, в котором значения двух