ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.06.2021
Просмотров: 2709
Скачиваний: 2
Маршрутизатор (router).
Маршрутизаторы еще более надежно и еще более эффективно, чем мосты, изолируют трафик отдельных частей сети друг от друга. Маршрутизаторы образуют логические сегменты с помощью явной адресации, поскольку используют не плоские аппаратные, а составные числовые адреса.
А эти адреса, как мы рассматривали, могут содержать поле номера сети, так что все компьютеры, у которых значение этого поля одинаково, принадлежат к одному сегменту. В данном случае такой сегмент называют подсетью (subnet).
Кроме локализации трафика маршрутизаторы выполняют еще много других полезных функций. Так, маршрутизаторы могут работать в сети с замкнутыми контурами, при этом они осуществляют выбор наиболее рационального маршрута из нескольких возможных. В сети, показанной на нижнем рисунке, теперь между подсетями отделов 1 и 2 проложили дополнительную связь, которая может использоваться как для повышения производительности сети, так и для повышения ее надежности.
Рис. 2. 16 Логическая структуризация сети с помощью маршрутизатора.
Другой очень важной функцией маршрутизаторов является их способность связывать в единую сеть подсети, построенные с использованием разных сетевых технологий.
Кроме перечисленных устройств отдельные части сети может соединять еще одно устройство.
Шлюз (gateway).
Обычно основной причиной, по которой в сети используют шлюз, является необходимость объединить сети с разными типами системного и прикладного программного обеспечения, а не желание локализовать трафик.
Но, тем не менее, шлюз обеспечивает также и локализацию трафика в качестве некоторого побочного эффекта.
Как вы увидели, крупные сети практически никогда не строятся без логической структуризации. Для отдельных сегментов и подсетей характерны типовые однородные топологии базовых технологий, а для их объединения всегда используется такое оборудование, которое может обеспечить локализацию трафика, - мосты, коммутаторы, маршрутизаторы и шлюзы.
3. УРОВНИ СЕТЕВОЙ АРХИТЕКТУРЫ.
3.1. Многоуровневый подход к разработке средств сетевого взаимодействия.
Компьютерные сети по своей структуре очень сложны. Они являются сложными из-за больших различий между компьютерными системами. Для решения проблем, которые возникают при коммуникации различных систем, надо решить наиболее обобщенную задачу сетевых коммуникаций - разбить задание на более мелкие, лучше управляемые задания. Проблемы, связанные с этими меньшими задачами также уменьшаются до управляемого размера.
Для начала проведем грань между работой программных и аппаратных средств сети. Мы с вами убедились, что в сети может работать разнообразное по технологии оборудование, от него зависят возможности сети: производительность, надежность и т.п., и разнообразное программное обеспечение: сетевые операционные системы, приложения, от него зависят те же возможности сети (прозрачность, безопасность). По сути, сеть - это соединение разного оборудования, разного программного обеспечения, и что проблема совместимости (совместимости разных технологий оборудования, или разных типов операционных систем) - остается одной из наиболее острых. Однако существует какая-то независимость работы аппаратных и программных средств, но, с другой стороны, они вместе в целом выполняют работу компьютерной сети. Существует какая-то единая система построения работы компонентов сети, общий подход. Возьмите, хотя бы, к примеру, трафик уличного движения, ведь, сколько машин разнообразных по своим техническим возможностям ездит по разнообразным по построению улицам, но благодаря только единым правилам уличного движения, все происходит (в принципе) без всякого хаоса. Программные средства "не задумываются" что там происходит "внизу", они просто посылают туда свои запросы, в понятной для них и получают ответ в понятной для себя форме. Для них аппаратная часть сети - это как черный ящик. С другой стороны аппаратные средства сети, тоже "не задумываются", что там программное обеспечение творит с результатами их работы, они получают запрос, выполняют то, что нужно и отсылают ответ.
Перерисуем рис. 2. (Пример взаимодействия двух компьютеров) следующим образом (См. рис. 3.1). Таким образом, нам удалось составить двухуровневую модель взаимодействия компьютеров в сети. Двухуровневую - потому что, мы рассмотрели два уровня - программный и аппаратный. Направление движения информации в этой модели - пользователь вводит какой-то запрос (например, найти файл компьютера 2), программа посылает имя файла и все необходимые атрибуты в виде запроса (уже совсем другого вида) к аппаратному уровню. Тот представляет запрос в виде последовательности бит данных и предает их по линиям связи (может с помощью еще какого-то сетевого оборудования) аппаратному уровню компьютера 2. Там запрос распознается и передается программному уровню, тот выполняет работу и посылает информацию к компьютеру 1. И так далее...
Рис. 3.1 Модель взаимодействия компьютеров в сети
Но подобная модель отражает организацию работы в сети только в самом общем виде.
При обмене информацией между компьютерами сеть выполняет множество функций, которые можно разделить на группы. Пользователю не важно как осуществляется связь. Он из своей прикладной программы обращается к сетевому ресурсу (например, диску). Однако на самом деле в самом общем виде это происходит так:
-
запрос преобразуется в нужный для сети формат
-
осуществляется захват сети (арбитраж)
-
передаваемая информация разбивается на пакеты
-
кодируется
-
преобразуется в нужные электрические сигналы и передается в сеть
При приеме все происходит в обратном порядке.
Упорядочить все выполняемые процедуры, разделить их на уровни и подуровни, взаимодействующие между собой призваны модели сетей. Эти модели позволяют организовывать взаимодействие абонентам внутри одной сети, а также различным сетям на разных уровнях.
При создании модели сетевого взаимодействия разработчики применили принцип декомпозиции, т. е. способ разбиения одной сложной задачи на несколько более простых задач-модулей. Давайте попробуем проследить их путь моделирования.
Итак, используя прием декомпозиции, можно разбить общую задачу на несколько модулей, четко определить как функции каждого модуля, так и способ взаимодействия между этими модулями (межмодульный интерфейс).
Для декомпозиции используют, как правило, многоуровневый подход, т.е. все множество модулей разбивают на уровни. Эти уровни образуют иерархию, то есть имеются нижележащие и вышележащие уровни. Конечно, разбивают не, как захочется, а четко по функциональным обязанностям, таким образом, чтобы верхние уровни для выполнения своих задач обращались с запросами только к модулям непосредственно ближних нижних уровней. Результаты выполнения работы всех модулей любого из уровней передаются, наоборот, соседним верхним уровням. Набор функций, которые нижние уровни предоставляет высшему, определяют соответствующие интерфейсы. Подобный многоуровневый подход показан на рис 3.2.
Рис. 3.2. Многоуровневый подход – создание иерархии модулей.
Наборы функций всех уровней и интерфейсов между этими уровнями четко определены и, за счет этого, они относительно независимы. Именно поэтому, такие модели имеют очень важное преимущество - при замене того или иного модуля, это мало отразится на общей работе модели в целом. Модули нижнего уровня могут решать все проблемы передачи сигналов между двумя соседними узлами, а модули более высокого уровня могут организовывать транспортировку сообщений в пределах всей сети, пользуясь средствами нижнего уровня. А на самом верху работают модули, которые предоставляют пользователям доступ к различным службам - файловым, печатающим и т.п.
Но, в сетевом взаимодействии участвуют как минимум два компьютера, т.е. необходимо смоделировать согласованную работу двух "иерархий". Задача усложняется необходимостью принять множество соглашений между этими узлами. Это соглашения и об уровне и форме электрических сигналов, способе определения длины информации, методах контроля ее достоверности. Другими словами, правила должны быть приняты для всех уровней, начиная от самого низкого - уровня передачи битов информации - до самого высокого, реализующего сервис пользователя сети.
Наибольшее распространение получила эталонная модель взаимодействия открытых систем OSI (Open System Interconnection), разработанная в 80-х годах Международной Организацией по Стандартам (International Organization for Standardization - ISO). Следует заметить, что и на нынешний момент все, что касается сетевого взаимодействия, прямо или косвенно использует только эту модель.
3.2. Эталонная многоуровневая модель OSI
В модели OSI средства сетевого взаимодействия делятся на семь уровней, для которых определены стандартные названия и функции. Модель OSI не является вещью, которую можно потрогать. Она представляет собой архитектурный каркас и самые общие рекомендации для сетевых коммуникаций.
Термин открытая система - означает система не замкнута в себе и может наращиваться до бесконечности. В ней нет никакой привязки к конкретной аппаратуре либо программному обеспечению. OSI – абстрактная система.
В широком смысле открытой системой может быть названа любая систем (компьютер, вычислительная сеть, ОС, программный пакет, другие аппаратные и программные продукты), предоставляющая или потребляющая сетевые ресурсы, которая построена в соответствии с открытыми спецификациями. Под термином "спецификация" в вычислительной технике понимают описание аппаратных или программных компонентов: способов их функционирования, взаимодействия с другими компонентами, условий эксплуатации, ограничений и особых характеристик.
Под открытыми спецификациями понимаются опубликованные, общедоступные спецификации, соответствующие стандартам и принятые в результате достижения согласия после всестороннего обсуждения всеми заинтересованными сторонами.
Для реальных систем полная открытость является недостижимым идеалом, "открыты" лишь некоторые части, поддерживающие внешние интерфейсы. Например, открытость семейства операционных систем Unix заключается, кроме всего прочего, в наличии стандартизованного программного интерфейса между ядром и приложениями, что позволяет легко переносить приложения из среды одной версии Unix в среду другой версии. Чем больше открытых спецификаций использовано при разработке системы, тем борее открытой она является.
В модели OSI под открытой системой понимается сетевое устройство, готовое взаимодействовать с другими сетевыми устройствами с использованием стандартных правил, определяющих формат, содержание и значение принимаемых и отправляемых сообщений.
Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:
-
возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта;
-
возможность безболезненной замены отдельных компонентов сети другими, более совершенными, что позволяет сети развиваться с минимальными затратами;
-
возможность легкого объединять одну сеть с другой;
-
простота освоения и обслуживания сети.
Модель OSI определяет различные уровни взаимодействия систем, дает им стандартные имена и указывает, какие функции должен выполнять каждый уровень. Модель OSI была разработана на основании большого опыта, полученного при создании компьютерных сетей, в основном глобальных. Полное описание этой модели занимает более 1000 страниц текста. Поэтому в этом разделе дано краткое описание сути модели.
В модели OSI средства взаимодействия делят на семь уровней.
7-й - прикладной (Application),
6-й - представительный (Presentation),
5-й - сеансовый (Session),
4-й - транспортный (Transport),
3-й - сетевой (Network),
2-й - канальный (Data Link)
1 -й - физический (Physical)
Каждый уровень имеет дело с одним определенной стороной взаимодействия сетевых устройств. Модель OSI описывает взаимодействие двух сетевых компьютеров. Передача данных от одного компьютера к другому начинается с седьмого уровня; данные передаются с уровня на уровень. При приеме данные передаются вверх от первого уровня. Два компьютера устанавливают сетевое взаимодействие тогда, когда их программное обеспечение соответствующего уровня модели OSI может взаимодействовать между собой.
При сетевом взаимодействии вышестоящие уровни выполняют более сложные глобальные задачи. Нижестоящие уровни выполняют более простые и более конкретные функции. Каждый уровень взаимодействует только с теми уровнями, которые находятся выше и ниже его через некоторые точки входа – интерфейс. Каждый уровень работает с абонентом так, как будто он имеет прямую и непосредственную связь с соответствующим уровнем другого абонента, т.е. между одноименными уровнями абонентов сети существует виртуальная связь, регламентируемая некоторыми протоколами
Рис. 3.3 Модель взаимодействия открытых систем
3.3 Взаимодействие между уровнями OSI
Основу модели OSI составляет концепция многоуровневой организации протоколов. Особенностью модели взаимодействия открытых систем является разработка и использование единого подхода к организации протоколов и интерфейсов различных уровней. В соответствии с данной концепцией каждому уровню ставится в соответствие набор определенных функций, связанных с решением конкретной задачи по организации взаимодействия открытых систем. Нумерация уровней осуществляется относительно физических средств соединения, т.е. первый уровень присваивается физическому уровню, а наибольший - прикладному (пользовательскому) уровню. Каждый уровень с меньшим номером считается вспомогательным для смежного с ним более высокого уровня и предоставляет ему определенный набор услуг, называемый сервисом. Эталонная модель не определяет средства реализации протоколов, а только специфицирует их. Т.е. каждый уровень может быть реализован различными аппаратными и программными средствами. Основным условием при этом является то, что взаимодействие между любыми смежными уровнями должно быть четко определенным, т.е осуществляться через точки доступа посредством стандартного межуровневого интерфейса. Точка доступа является портом, в котором объект N-го уровня предоставляет услуги N+1 уровню. Это условие определяет возможность изменения протоколов отдельных уровней без изменения системы в целом. В случае программной реализации межуровневого интерфейса в качестве портов выступают адреса, по которым заносятся межуровневые сообщения.