Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 88
Текст из файла (страница 88)
Рассмотрим ситуацию, в которойстанция A передает станции B. Станция A начинает с того, что посылает станции Bкадр RTS (Request To Send — запрос на передачу), как показано на рис. 4.12, а. Этоткороткий кадр (30 байт) содержит длину кадра данных, который последует за ним.Затем станция B отвечает кадром CTS (Clear To Send — разрешение передачи), какпоказано на рис. 4.12, б. Кадр CTS также содержит длину информационного кадра(скопированную из кадра RTS).
Приняв кадр CTS, станция A начинает передачу.Теперь посмотрим, как реагируют станции, которые слышат передачу одного изэтих кадров. Любая станция, которая слышит кадр RTS, находится близко к станции Aи поэтому должна хранить молчание, пока кадр CTS не будет принят станцией A.Станции, слышащие кадр CTS, находятся вблизи от станции B, следовательно, должнывоздержаться от передачи, пока станция B не получит кадр данных, длину которогоони могут узнать из кадра CTS.Рис.
4.12. Протокол MACA: а — станция A посылает кадр RTS станции B; б — станция B отвечает кадром CTS станции AНа рис. 4.12 станция C находится в зоне станции A, но не входит в зону станции B.Поэтому она слышит кадр RTS, передаваемый станцией A, но не слышит кадр CTS,которым отвечает станция B. Поскольку она не интерферирует с кадром CTS, она не4.3. Сеть Ethernet 305обязана воздерживаться от передачи в то время, пока пересылается информационныйкадр. Станция D, напротив, находится близко от станции B, но далеко от станции A.Она не слышит кадра RTS, но слышит кадр CTS, а это означает, что она находитсявблизи станции, собирающейся принять кадр с данными.
Поэтому ей нельзя вестипередачу, пока этот кадр не будет передан. Станция E слышит оба управляющих сообщения и так же, как и станция D, должна хранить молчание, пока не будет завершенапередача информационного кадра.Несмотря на все меры предосторожности, конфликты все равно могут произойти.Например, станции B и C могут одновременно послать кадры RTS станции A.
При этомкадры столкнутся и не будут приняты. В этом случае передатчики, не услышав кадрCTS в установленный срок, ждут случайное время и после этого повторяют попытку.4.3. Сеть EthernetИтак, мы в целом закончили обсуждение общих вопросов, касающихся протоколовраспределения канала. Пришло время перейти к практическим приложениям. Большое число технологий для персональных (PAN), локальных (LAN) и общегородских(MAN) сетей стандартизировано в серии стандартов IEEE 802. Некоторые стандартывыжили, некоторые — нет (см. табл. 1.4).
Люди, верящие в реинкарнацию, считают, чтоодним из членов Ассоциации стандартов IEEE является вновь родившийся ЧарльзДарвин, отбраковывающий слабые технологии. В общем-то, действительно выжилисильнейшие. Наиболее важны стандарты 802.3 (Ethernet) и 802.11 (беспроводныеЛВС). Bluetooth (беспроводные персональные сети) развернуты сегодня очень широко, но их описывают другие стандарты, помимо 802.15. О 802.16 (беспроводные региональные сети) говорить всерьез пока не приходится. Вероятно, им будет посвященраздел в 6-й редакции этой книги.Мы начнем исследование реальных систем с Ethernet, вероятно, наиболее распространенном типе компьютерных сетей в мире.
Существует два типа Ethernet:классический Ethernet (classic Ethernet), который решает проблему множественного доступа с помощью техник, представленных в этой главе; и коммутируемыйEthernet (switched Ethernet), в котором для соединения компьютеров используютсяустройства под названием коммутаторы. Важно понимать, что хотя в обоих названиях присутствует слово Ethernet, между этими сетями много различий. КлассическийEthernet — это воплощение оригинальной задумки; эти сети работали на скоростяхот 3 до 10 Мбит/с.
Коммутируемый Ethernet — это более высокий уровень; эти сетиработают на скоростях 100, 1000 или 10 000 Мбит/с и носят названия Fast Ethernet(«быстрый Ethernet»), Gigabit Ethernet («гигабитный Ethernet») и 10-Gigabit Ethernet(«10-гигабитный Ethernet»). Сегодня на практике используется только коммутируемый Ethernet.Мы обсудим эти исторические формы Ethernet в хронологическом порядке, продемонстрировав развитие сети. Так как Ethernet и IEEE 802.3 — это одно и то же (заисключением двух небольших деталей, которые мы вкратце обсудим), то многие используют оба названия. Мы тоже будем говорить то «Ethernet», то «IEEE 802.3». Дополнительную информацию, касающуюся Ethernet, можно найти в книге (Spurgeon, 2000).306 Глава 4. Подуровень управления доступом к среде4.3.1. Физический уровень классическойсети EthernetИстория Ethernet начинается приблизительно во времена ALOHA, когда студент БобМеткальф получил магистерскую степень в Массачусетском технологическом университете, а потом сменил место жительство, чтобы защитить докторскую в Гарварде.
Вовремя учебы он познакомился с работой Абрамсона. Она так заинтересовала его, чтопосле выпуска из Гарварда он решил провести лето на Гавайях, работая с Абрамсоном,и только после этого перебираться в исследовательский центр Xerox. Оказавшисьв исследовательском центре, он увидел то, что впоследствии должно было стать персональным компьютером. Однако машины были изолированы. Используя свои знанияо работе Абрамсона, он, вместе с коллегой Дэвидом Боггсом, создал и реализовал первую локальную сеть (Metcalfe, 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, 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).Все версии Ethernet имеют ограничения по длине кабелей в сегменте, то естьучасткам кабелей без использования усилителя.
Для построения сетей больших раз-4.3. Сеть Ethernet 307меров несколько кабелей соединяются повторителями (repeaters). Повторитель — этоустройство физического уровня. Он принимает, усиливает (регенерирует) и передает сигналы в обоих направлениях. С точки зрения программного обеспечения, рядкабелей, соединенных повторителями, не отличается от сплошного кабеля (отличиезаключается только во временной задержке, связанной с повторителями).Рис. 4.13. Архитектура классической сети EthernetИнформация по этим кабелям передается с использованием манчестерского кода.Сеть Ethernet может состоять из большого количества сегментов кабеля и повторителей, однако два приемопередатчика должны располагаться на расстоянии не более2,5 км и между ними должно быть не более четырех повторителей.
Причина такогоограничения лежит в протоколе MAC, о котором мы поговорим далее.4.3.2. Протокол подуровня управления доступомк среде в классическом EthernetФормат кадра, применяемый для отправки данных, показан на рис. 4.14. Сначала идетполе Preamble (преамбула, заголовок) длиной 8 байт, которое содержит последовательность 10101010 (за исключением последнего байта, в котором значения последнихдвух битов равны 11). Последний байт в стандарте 802.3 называется разделителем Startof Frame (Начало кадра).
Манчестерское кодирование такой последовательности битовдает в результате меандр с частотой 10 МГц и длительностью 6,4 мкс, что позволяетполучателю синхронизировать свои часы с часами отправителя. Два последних бита,равных единице, говорят получателю, что сейчас начнется новый кадр.Затем следуют два адреса: получателя и отправителя. Каждый занимает по 6 байт.Первый передаваемый бит адреса получателя содержит 0 для обычных адресов и 1 длягрупповых получателей.
Групповые адреса позволяют нескольким станциям принимать информацию от одного отправителя. Кадр, отправляемый групповому адресату,может быть получен всеми станциями, входящими в эту группу. Такой механизм называется групповой рассылкой (multicasting). Если адрес состоит только из единиц,то кадр могут принять абсолютно все станции сети. Таким способом осуществляетсяшироковещание (broadcasting). Групповая рассылка более избирательна, но требуетнекоторых усилий при управлении группами. Широковещание — это более грубаятехнология, но зато не требует никакой настройки групп.308 Глава 4.
Подуровень управления доступом к средеРис. 4.14. Форматы кадров: а — DIX Ethernet; б — IEEE 802.3Интересной особенностью исходных адресов станций является глобальная уникальность. Они централизованно назначаются IEEE, и это гарантирует, что одини тот же глобальный адрес не используется двумя станциями нигде в мире. Идея заключается в том, что каждая станция может быть однозначно идентифицирована поее 48-битному номеру. Для этого первые 3 байта поля адреса используются для OUI(Organizationally Unique Identifier, организационно уникальный идентификатор).Значения этого поля назначаются IEEE и однозначно определяют производителя.Производителям выделяются блоки по 224 адресов.
Производитель назначает последние 3 байта адреса и программирует весь адрес в сетевой карте перед тем, как онапоступает в продажу.Затем следует поле Type или Length, в зависимости от того, относится кадр к стандарту Ethernet или IEEE 802.3. В сетях Ethernet поле Type показывает приемнику, чтоделать с кадром. Дело в том, что одновременно на одной и той же машине может работать несколько протоколов сетевого уровня, поэтому, когда приходит кадр Ethernet,операционная система должна понимать, какому протоколу его передать.