Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Олифер. Сетевые операционные системы.docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
16.5 Mб
Скачать

Уровень представления

Уровень представления (presentation layer), как явствует из его названия, обеспечивает представление передаваемой по сети информации, не меняя при этом ее содержания. За счет уровня представления информация, передаваемая прикладным уровнем одной системы, всегда понятна прикладному уровню другой системы. С помощью средств данного уровня протоколы прикладных уровней могут преодолеть синтаксические различия в представлении данных или же различия в кодах символов, например кодов ASCII и EBCDIC. На этом уровне могут выполняться шифрование и дешифрирование данных, благодаря кото­рым секретность обмена данными обеспечивается сразу для всех прикладных служб. Примером такого протокола является протокол SSL (Secure Socket Layer — слой защищенных сокетов), который обеспечивает секретный обмен сообщениями для протоколов прикладного уровня стека TCP/IP.

Прикладной уровень

Прикладной уровень (application layer) — это в действительности просто набор разнообразных протоколов, с помощью которых пользователи сети получают доступ к разделяемым ресурсам, таким как файлы, принтеры или гипертексто­вые веб-страницы, а также организуют свою совместную работу, например, по протоколу электронной почты. Единица данных, которой оперирует прикладной уровень, обычно называется сообщением.

Существует очень большое разнообразие протоколов и соответствующих служб прикладного уровня. Приведем в качестве примера несколько наиболее распространенных реализаций сетевых файловых служб: NFS и FTP в стеке TCP/IP, SMB в Microsoft Windows, NCP в операционной системе Novell Net­Ware.

Ethernet

Ethernet является сегодня доминирующей технологией канального уровня в локальных сетях, где она практически вытеснила все остальные технологии, популярные в конце 80-х начале 90-х. Более того, эта технология становится все более и более популярной в глобальных сетях, где пока еще преобладают два протокола, РРР и HDLC, специально разработанные для учета специфики территориальных двухточечных каналов1.

Технология Ethernet прошла длинный путь развития с тех пор, как была изобретена в 1973 году сотрудником компании Xerox PARC Робертом Меткалфом (Robert Metcalf). После этого в технологии многое изменилось, так что некоторые специалисты высказывают сомнения, имеем ли мы дело с Ethernet, когда сталкиваемся с сетевым адаптером Ethernet-1000Т, работающим со скоростью 1 Гбит/с через локальную сеть Ethemet-коммутаторов. И дело не только в совершенном новом диапазоне скоростей, поддерживаемым сегодня Ethernet (от классической скорости в 10 Мбит/с до 10 Гбит/с и не так уж далекой перспективой в 100 Гбит/с).

Изменился принцип доступа компьютеров, оснащенных сетевыми Ethernet-адаптврами, к сети или точнее к среде передачи данных, используемой сетью. В классической технологии Ethernet использовался общий коаксиальный кабель для объединения компьютеров в сеть, так что среда передачи данных была разделяемой. Для того чтобы обеспечить доступ к этой среде в каждый момент времени только одного компьютера, для Ethernet был разработан алгоритм, получивший длинное название CSMA/CD (Carrier Sense with Multiple Access and Collision Detection). Этот алгоритм реализуется МАС-уровнем каж­дого Ethemet-узла. Собственно, алгоритм доступа к разделяемой среде долгое время был самым главным отличительным признаком для разных технологий локальных сетей, то есть тем, чем технология Token Ring отличалась от Ethernet, a Arcnet — от FDDI.

Сегодня в единственном «выжившем» представителе технологий локальных сетей 80-90-х годов, Ethernet, практически не используются разделяемые среды и, соответственно, алгоритм CSMA/CD. Технология Ethernet стала коммутируемой.

Принципиальное отличие коммутируемой (switched) технологии Ethernet от Ethernet на разделяемой среде состоит в том, что связи компьютера с коммутатором стали индивидуальными. Пример такой сети показан на рис. 9.8.

Рис. 9.8. Коммутируемая технология Ethernet

Индивидуальный характер связей означает, что, например, сетевой Ethernet-адаптер компьютера А может в любой момент послать кадр любому другому компьютеру сети, например, компьютеру F через Ethemet-коммутатор S1, к которому он подключен индивидуальным кабелем, поддерживающим дуплексный режим работы (то есть позволяющим передавать кадры от компьютера и в компьютер одновременно). Коммутатор S1 обязан принять кадр от компьютера А и пере­дать его следующему коммутатору, через который проходит маршрут от компьютера А к компьютеру F.

Для того чтобы передавать кадры через сеть по рациональным маршрутам, которые обеспечивают, в конечном счете, доставку кадров адресатам, Ethemet-коммутаторы автоматически строят таблицы продвижения (forwarding tables) на основании информации, получаемой при слежении за кадрами, проходящими через коммутаторы. Этот алгоритм построения таблицы продвижения был разработан давно для так называемых прозрачных мостов локальных сетей (алгоритм закреплен стандартом IEEE 802.1D). Мост называется прозрачным, пото­му что конечный узел «не замечает» присутствия такого моста в сети и ведет себя совершенно так же, как если бы он непосредственно был соединен с узлом-адресатом. То есть компьютер А в нашем примере просто выдает на свой выходной порт кадр с двумя МАС-адресами: МАС-А (собственный адрес) в качестве адреса источника и MAC-F (адрес компьютера F) в качестве адреса назначения. В классической сети с разделяемой средой, где все компьютеры сети были объединены одним и тем же коаксиальным кабелем, кадр попал бы в буферы сетевых адаптеров всех компьютеров, но только компьютер F распознал бы свой собственный адрес MAC-F и начал бы обработку принятого кадра.

В сети с коммутаторами процесс передачи кадра является более сложным. В начальном состоянии после первого включения в сеть каждый коммутатор имеет пустую таблицу продвижения, так как администратор сети не конфигурирует ее вручную, оставляя эту работу самим коммутаторам. Если коммутатор S1 получает кадр с адресами {МАС-А, MAC-F}, то он просто копирует его на все порты, кроме того, на который он получил этот кадр. В нашем примере коммутатор S1 копирует кадр на порты 2 и 3. Первое копирование получается очевидно безрезультатным, так как кадр попадает компьютеру В, которому он не предназначался (и который отбрасывает этот кадр). А вот копирование на порт 3 имеет смысл, так как кадр попадает в коммутатор S2, который находится на пути кадра к компьютеру F.

Читатель может самостоятельно продолжить цепочку рассуждений, которая приводит, в конечном счете, к тому, что кадр достигает компьютера F.

Однако это не очень эффективный способ передачи кадров, так как сеть оказывается буквально затопленной копиями исходного кадра — подобный режим работы прозрачного моста поэтому и называют «затоплением» (flooding). Но этот режим не является основным, он нужен только для того, чтобы коммутаторы начали строить свои таблицы продвижения. Таблица строится на основании адресов источника кадров, проходящих через коммутатор. Так, коммутатор S1, передавая кадр на порты 2 и 3, запоминает тот факт, что кадр от компьютера с адресом МАС-А пришел На порт 1. Поэтому он помещает в свою пустую таблицу продвижения первую запись.

Адрес

Порт

МАС-А

1

Имея такую таблицу, коммутатор S1 сможет обрабатывать кадр, пришедший от любого компьютера сети для компьютера А, более рационально: он не будет копировать его на все порты, а передаст единственную копию на порт 1. Именно так он поступит с ответом компьютера F на кадр компьютера А, если такой ответ придет (напомним, что поддержание осмысленного взаимодействия компьютеров, в ходе которого устанавливается логический сеанс и на кадры-запросы присылаются кадры-ответы, обычно является делом прикладного, а не ка­нального уровня).

Ответ от компьютера F поможет коммутатору 51 добавить новую запись, в результате его таблица приобретет следующий вид.

Адрес

Порт

МАС-А

1

MAC-F

3

После этого кадры, посланные для компьютера F, также начинают продвигаться коммутатором 51 рационально: единственная копия передается только на порт 3.

Как видно из описания, Ethernet-коммутаторы действительно прозрачны для компьютеров, кроме того, их способность к самообучению без какого-либо предварительного ручного конфигурирования удобна администратору сети.

Коммутируемая технология Ethernet явилась большим шагом вперед в отношении сетевой производительности по сравнению с Ethernet на разделяемой среде, так как она исключила периоды ожидания среды за счет параллельного продвижения кадров от всех компьютеров сети. Высокие скорости работы коммутаторов по обработке кадров и возросшие с 10 до 100 и даже до 1000 Мбит/с скорости передачи битов по каналам связи привели к тому, что локальные сети стали очень эффективной и сравнительно простой средой взаимодействия ком­пьютеров.

Однако простота организации коммутируемых сетей Ethernet имеет и ряд недостатков.

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

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

  • Самообучение Ethernet-коммутаторов на основе наблюдения за проходящим трафиком приводит к тому, что коммутируемые сети Ethernet эффективно работают только при древовидной топологии сети, когда в сети нет петель. Иначе кадры начинают зацикливаться и размножаться, а таблицы продвижения не достигают устойчивого состояния, постоянно перестраиваясь, что, конечно, не дает сети нормально работать. Алгоритм покрывающего дерева (spanning tree) решает задачу автоматического нахождения и активизации древовидных структур в сети с произвольной топологией, но не решает проблему полностью, так как в этом случае невозможно использовать альтернативные маршруты, если они существуют в сети, для повышения ее производительности. Кроме того, при отказах каналов или коммутаторов новая древовидная топология находится алгоритмом покрывающего дерева достаточно медленно.

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

Протоколом номер один для построения составных сетей благодаря своей мощной функциональности (а также успеху Интернета) является сегодня протокол IP (Internet Protocol). Вместе с ним работают также другие протоколы стека TCP/IP, которые рассматриваются в следующем разделе.