Компьютерные_сети_Лекции. Конспект лекций О. А. Кудин 20. 02. 2013
Скачать 3.08 Mb.
|
НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ КОРАБЛЕСТРОЕНИЯ ИМЕНИ АДМИРАЛА МАКАРОВА КОМПЬЮТЕРНЕ СЕТИ Конспект лекций О.А. Кудин 20.02.2013 [Введите аннотацию документа. Аннотация обычно представляет собой краткий обзор содержимого документа. Введите аннотацию документа. Аннотация обычно представляет собой краткий обзор содержимого документа.] ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 2 1. ОБЗОР КОМПЬЮТЕРНЫХ СЕТЕЙ ............................................................................ 4 1.1. Предпосылки и история появления компьютерных сетей ...................................................... 4 1.1.1. Вычислительные системы пакетной обработки данных ...................................................... 5 1.1.2. Многотерминальные системы ................................................................................................ 6 1.1.3. Первые компьютерные сети ................................................................................................... 7 1.1.4. Первые локальные сети........................................................................................................... 8 1.2. Объединение технологий локальных и глобальных компьютерных сетей ..........................11 1.3. Предпосылки появления мультисервисных сетей .................................................................12 Выводы ............................................................................................................................................14 Вопросы и задания ..........................................................................................................................14 2. ОБЩИЕ ПРИНЦИПЫ ПОСТРОЕНИЯ КОМПЬЮТЕРНЫХ СЕТЕЙ. .............. 16 2.1. Взаимодействие двух компьютеров........................................................................................16 2.1.1. Связь компьютера с периферийным устройством. ............................................................. 18 2.1.2. Обмен данными между двумя компьютерами ................................................................... 18 2.2. Сетевое программное обеспечение ........................................................................................19 2.2.1. Сетевые службы и сервисы ................................................................................................... 20 2.2.2 Сетевая операционная система ............................................................................................. 22 2.2.3 Сетевые приложения .............................................................................................................. 23 3. КОММУТАЦИЯ КАНАЛОВ И ПАКЕТОВ. .............................................................. 25 3.1 Коммутация каналов .................................................................................................................25 3.2 Коммутация пакетов .................................................................................................................28 4 МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ ОТКРЫТЫХ СИСТЕМ OSI .............................. 35 4.1 Декомпозиция задач сетевого взаимодействия ......................................................................35 4.2 Общая характеристика модели OSI ..........................................................................................37 4.3 Функции уровней модели OSI ...................................................................................................39 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 3 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 4 1. Обзор компьютерных сетей Компьютерные сети появились сравнительно недавно, в конце 60-х годов прошлого столетия. Естественно, что компьютерные сети унаследовали много полезных свойств от других, более старых и распространенных телекоммуникационных сетей, а именно телефонных. В тоже время компьютерные сети привнесли в телекоммуникационное пространство нечто совершенно новое – они сделали общедоступными неисчерпаемые объемы информации. 1.1. Предпосылки и история появления компьютерных сетей Компьютерные сети не являются единственным видом сетей, созданных человеком. Наиболее похожим примером сетей являются электрические сети. В них легко можно найти аналоги элементов любой компьютерной сети: источникам информационных ресурсов соответствуют электростанции; магистралям – высоковольтные линии электропередачи; сетям доступа – трансформаторные подстанции, клиентским терминалам – осветительные и бытовые приборы. С одной стороны, сети представляют собой частный случай распределенных вычислительных систем, в которых группа компьютеров согласованно решает набор взаимосвязанных задач, обмениваясь данными в автоматическом режиме. С другой стороны, компьютерные сети могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, получившие развитие в различных телекоммуникационных системах (рис. 1.1). ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 5 Эволюция телекоммуникационных сетей Эволюция вычислительной техники Эволюция компьютерных сетей Рис. 1.1. Эволюция компьютерных сетей на стыке вычислительной техники и телекоммуникационных сетей. 1.1.1. Вычислительные системы пакетной обработки данных Первые компьютеры 50-х годов ХХ века предназначались для очень небольшого числа высококвалифицированных пользователей. Такие компьютеры не были предназначены для интерактивной работы пользователя, а применялись в режиме пакетной обработки. Системы пакетной обработки, как правило, строились на базе мощного и надежного компьютера универсального назначения (мэйнфрейм) (рис. 1.2). Рис. 1.2. Универсальный компьютер – мэйнфрейм. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 6 Пользователи подготавливали перфокарты, содержащие данные и команды программ, и передавали их на вычислительный центр. Операторы вводили эти данные в компьютер, а распечатанные результаты пользователи обычно получали на следующий день. Для пользователей был бы удобней интерактивный режим работы, при котором можно руководить процессом обработки своих данных с терминала. Но интересами пользователей на первых этапах развития вычислительных систем зачастую пренебрегали. Во главу угла ставилась эффективность работы самого дорогого устройства вычислительной машины – процессора. 1.1.2. Многотерминальные системы По мере удешевления процессоров в начале 60-х годов ХХ века появились новые способы организации вычислительного процесса, которые позволили учесть интересы пользователей. Начали развиваться интерактивные многотерминальные системы разделения времени. В таких системах каждый пользователь получал собственный терминал, с помощью которого он мог вести диалог с компьютером. Количество одновременно работающих пользователей определялось его мощностью: время реакции вычислительной системы должно было быть достаточно мало, чтобы пользователю была не слишком заметна параллельная работа с компьютером других пользователей. Рис. 1.3. Терминалы многотерминальной вычислительной системы. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 7 Вычислительная мощность оставалась полностью централизованной, но некоторые функции, такие как ввод и вывод данных, стали распределенными. Подобные многотерминальные вычислительные системы внешне уже были очень похожи на локальные вычислительные сети. Пользователь мог получить доступ к общим файлам и периферийным устройствам, при этом у него поддерживалась полная иллюзия единоличного владения компьютером. Многотерминальные системы, работающие в режиме разделения времени, стали первым шагом на пути создания локальных вычислительных сетей. В этот период был справедлив так называемый закон Гроша, который эмпирически отражал уровень технологии того времени. В соответствии с этим законом производительность компьютера была пропорциональна квадрату его стоимости. Из этого закона следовало, что за одну и ту же сумму было выгоднее купить одну мощную машину, чем две менее мощные – их суммарная мощность оказывалась намного ниже мощности дорогой машины. 1.1.3. Первые компьютерные сети К началу 70-х годов ХХ столетия назрела необходимость в соединении компьютеров, находящихся на большом расстоянии друг от друга. Началось все с решения более простой задачи – доступа к компьютеру с терминалов, удаленных от него на многие сотни, а то и тысячи километров. Такие сети позволяли многочисленным пользователям получать удаленный доступ к разделяемым ресурсам нескольких мощных суперкомпьютеров. Затем появились системы, в которых наряду с удаленными соединениями типа терминал–компьютер были реализованы удаленные связи типа компьютер–компьютер. На основе подобного механизма в первых сетях были реализованы службы обмена файлами, ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 8 синхронизации баз данных, электронной почты и другие, ставшие теперь традиционными, сетевые службы. Первыми появились глобальные сети (Wide Area Network, WAN), т.е. сети, объединяющие территориально рассредоточенные компьютеры, возможно находящиеся в различных городах и странах. Именно при построении глобальных сетей были впервые предложены и отработаны многие идеи, лежащие в основе современных компьютерных сетей. Например, многоуровневое построение коммуникационных протоколов, концепции коммутации и маршрутизации пакетов. Главное технологическое новшество, которое сопутствовало появлению первых глобальных компьютерных сетей, состояло в отказе от принципа коммутации каналов. Натурные эксперименты и математическое моделирование показали, что пульсирующий и, в значительной степени, не чувствительный к задержкам компьютерный трафик (от англ. traffic — «движение», «транспорт», «торговля»; объём данных, передаваемой по сети за определенный период времени) гораздо эффективнее передается сетями, работающими по принципу коммутации пакетов. В 1969 году министерство обороны США инициировало работы по объединению в единую сеть суперкомпьютеров оборонных и научно- исследовательских центров. Эта сеть получила название ARPANET. Она стала основой для создания первой и самой известной ныне глобальной сети – Интернет. К настоящему времени глобальные сети по разнообразию и качеству предоставляемых услуг догнали локальные сети, которые долгое время лидировали в этом отношении, хотя и появились значительно позже. 1.1.4. Первые локальные сети Важное событие, повлиявшее на эволюцию компьютерных сетей, произошло в начале 70-х годов прошлого века. В результате технологического прорыва в области производства компьютерных ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 9 компонентов появились большие интегральные схемы (БИС). Их сравнительно невысокая стоимость и хорошие функциональные возможности привели к созданию миникомпьютеров, которые стали реальными конкурентами мэйнфреймов. Даже небольшие подразделения предприятий получили возможность иметь собственные компьютеры. Мини-компьютеры решали задачи управления технологическим оборудованием, складом и другие задачи уровня отдела предприятия. Таким образом, появилась концепция распределения компьютерных ресурсов по всему предприятию. Однако при этом все компьютеры одной организации продолжали работать автономно (рис. 1.4). Мини - ЭВМ Терминалы Мини - ЭВМ Мини - ЭВМ Мини - ЭВМ Терминалы Терминалы Терминалы Предприятие Отдел № 1 Отдел № 2 Отдел № 3 Отдел № 4 Рис. 1.4. Автономное использование нескольких мини-компьютеров на одном предприятии. Очень быстро автономная работа перестала удовлетворять пользователей, им хотелось в автоматическом режиме обмениваться ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 10 данными с компьютерами других подразделений. Ответом на эту потребность стало появление первых локальных компьютерных сетей. Локальная сеть (Local Area Network, LAN) – это объединение компьютеров, сосредоточенных на небольшой территории (обычно в радиусе 1–2 км). Для соединения компьютеров друг с другом используются сетевые технологии. Сетевая технология – это согласованный набор программных и аппаратных средств (например, драйверы, сетевые адаптеры, кабели и разъемы), а также механизмов передачи данных, достаточный для построения вычислительной сети. В середине 80-х годов стандартные сетевые технологии объединения компьютеров в сеть – Ethernet, Arcnet, Token Ring, Token Bus, FDDI. Мощным стимулом для их появления послужили персональные компьютеры. С одной стороны, они были достаточно мощными, чтобы обеспечить работу сетевого программного обеспечения, а с другой – явно нуждались в объединении своей вычислительной мощности для решения сложных задач и разделения дорогих периферийных устройств и дисковых массивов. Все стандартные технологии локальных сетей опирались на тот же принцип коммутации, который был с успехом опробован и доказал свои преимущества при передаче трафика данных в глобальных компьютерных сетях. Конец 90-х годов прошлого века выявил явного лидера среди технологий локальных сетей – семейство технологий Ethernet. В это семейство вошли: классическая технология Ethernet со скоростью передачи 10 Мбит/с; Fast Ethernet со скоростью 100 Мбит/с; Gigabit Ethernet со скоростью 1000 Мбит/с. Простые алгоритмы работы предопределили низкую стоимость оборудования Ethernet. Это позволяет рационально строить локальную сеть, выбирая ту технологию семейства, которая в ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 11 наибольшей степени отвечает задачам предприятия и потребностям пользователей. 1.2. Объединение технологий локальных и глобальных компьютерных сетей В конце 80-х годов отличия между локальными и глобальными компьютерными сетями проявлялись наиболее отчетливо. К основным отличиям можно отнести. Протяженность и качество линий связи. Локальные компьютерные сети по определению отличаются от глобальных сетей небольшими расстояниями между узлами сети. Это позволяет использовать в локальных сетях более качественные линии связи. Сложность методов передачи данных. В условиях низкой надежности физических каналов в глобальных сетях требуется более сложные, по сравнению с локальными сетями, методы передачи данных и соответствующее оборудование. Скорость обмена данными в локальных сетях (10, 16 и 100 Мбит/с) тогда была существенно выше, чем в глобальных (от 2,4 Кбит/с до 2 Мбит/с). Разнообразие предоставляемых сервисов. Высокие скорости обмена данными позволили предоставлять в локальных сетях широкий спектр услуг – это разнообразные механизмы использования файла, хранящихся на дисках других компьютеров сети, совместное использование устройств печати, модемов, факсов и др. В глобальных сетях ограничивались услугами электронной почты и обмена файлами. Постепенно различия между локальными и глобальными сетевыми технологиями стали сглаживаться. Тесная интеграция локальных и глобальных сетей привели к применению технологий локальных сетей в глобальных сетях и наоборот. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 12 Сближение в методах передачи данных происходит на основе методов цифровой передачи данных по волоконно-оптическим линиям связи. Эти линии связи используются практически во всех технологиях локальных сетей для скоростного обмена данными на расстояниях свыше 100 метров. На волоконно-оптических линиях связи построены современные первичные телекоммуникационных сети, которые предоставляют цифровые каналы для объединения оборудования глобальных компьютерных сетей. Начиная с 90-х годов компьютерные глобальные сети, работающие на основе скоростных цифровых каналов, существенно расширили спектр предоставляемых услуг. Стало возможным создание служб, работа которых связана с доставкой пользователю больших объемов информации в режиме реального времени – изображений, видеофильмов, голоса, всего того, что получило название мультимедийной информации. Еще одним признаком сближения локальных и глобальных сетей является появление сетей, занимающих промежуточное положение между локальными и глобальными сетями. К ним относятся городские сети, или сети мегаполисов (Metropolitan Area Network, MAN), предназначенные для обслуживания территории крупного города. Эти сети используют волоконно-оптические линии связи со скоростями передачи данных от 155 Мбит/с и выше. Они обеспечивают экономичное соединение локальных сетей между собой, а также выход в глобальные сети. Сети MAN первоначально были разработаны только для передачи данных, но сейчас перечень предоставляемых ими услуг расширился. В частности они поддерживают видеоконференции и интегральную передачу голоса и текста. 1.3. Предпосылки появления мультисервисных сетей В настоящее время усиливается тенденция сближения технологий компьютерных и телекоммуникационных сетей разных видов. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 13 Предпринимаются попытки создания универсальной мультисервисной сети, способной предоставлять услуги как компьютерных, так и телекоммуникационных сетей. К телекоммуникационным сетям относятся телефонные сети, радиосети и телевизионные сети. Главное, что объединяет их с компьютерными сетями, - то, что в качестве ресурса, предоставляемого клиентам выступает информация. Однако имеется некоторая специфика, касающаяся вида предоставляемой информации. Так, изначально компьютерные сети разрабатывались для передачи алфавитно-цифровой информации, в то время как телекоммуникационные сети создавались для передачи голосовой информации и изображения. Первая и не очень успешная попытка создания мультисервисной сети, способной предоставлять услуги телефонии и передачи данных, привела к появлению технологии цифровых сетей с интегрированным обслуживанием (Integrated Services Digital Network, ISDN). Однако на практике ISDN предоставляет сегодня в основном телефонные услуги, а на роль глобальной мультисервисной сети нового поколения претендует Интернет. Технологическое сближение сетей происходит на основе цифровой передачи информации различного типа, метода коммутации пакетов и программирования услуг. Пакетные методы коммутации постепенно вытесняют традиционные для телефонных сетей методы коммутации каналов даже при передаче голоса. У этой тенденции есть достаточно очевидная причина – на основании метода коммутации пакетов можно более эффективно использовать пропускную способность каналов связи и коммутационного оборудования. Например, паузы в телефонном разговоре могут составлять до 40% общего времени соединения, однако только пакетная коммутация позволяет во время пауз использовать освободившуюся пропускную ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 14 способность канала для передачи трафика других абонентов. Компьютерные сети тоже многое позаимствовали у телефонных и телевизионных сетей. В частности, они применяют методы обеспечения отказоустойчивости телефонных сетей. Сегодня становится очевидным, что мультисервисная сеть нового поколения не может быть создана на основе какой-нибудь одной технологии или одного подхода. Она появится только в процессе конвергенции технологий, когда от каждой технологии будет взято все самое лучшее. Выводы Компьютерные сети стали логическим результатом эволюции компьютерных и телекоммуникационных технологий. С одной стороны, они являются частным случаем распределенных компьютерных систем, а с другой – могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, получившие развитие в различных телекоммуникационных системах. Классифицируют сети по территориальному признаку, различают глобальные (WAN), городские (MAN) и локальные (LAN) сети. Важнейший этап в развитии компьютерных сетей – появление стандартных сетевых технологий (например, Ethernet), позволяющих быстро и эффективно объединять компьютеры различных типов. Вопросы и задания 1. Что было унаследовано компьютерными сетями от вычислительной техники, а что от телефонных сетей? 2. Какие свойства многотерминальной системы отличают ее от компьютерной сети? 3. Что такое ARPANET? ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 15 4. По каким направлениям идет сближение компьютерных и телекоммуникационных сетей? 5. Поясните термин «мультисервисная сеть». 6. Поясните, почему сети WAN появились раньше, чем сети LAN. 7. Считаете ли вы, что история компьютерных сетей может быть сведена к истории Интернет? Обоснуйте свое мнение. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 16 2. Общие принципы построения компьютерных сетей. В лекции рассматриваются фундаментальные понятия сетевых технологий – коммутация и маршрутизация, мультиплексирование и разделение передающей среды. Будет рассмотрен также общий подход, который применяется при адресации узлов сети и выборе топологии. 2.1. Взаимодействие двух компьютеров. Главной целью объединения компьютеров в сеть было разделение вычислительных ресурсов. Пользователи соединенных компьютеров или приложения, выполняемые на этих компьютерах, получали автоматический доступ к разнообразным ресурсам всех компьютеров сети. К таким ресурсам можно отнести: – периферийные устройства (диски, принтеры, плоттеры, сканеры и т.д.); – данные, хранящиеся в оперативной памяти или на внешних запоминающих устройствах; – запуск программ на удаленных компьютерах. Рассмотрим простейшую сеть, состоящую из двух компьютеров, к одному из которых подключен принтер (рис. 2.1) Рис. 2.1 – Соединение двух компьютеров и принтера в простейшую сеть. Для связи устройств сети между собой нужно предусмотреть внешние интерфейсы. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 17 В вычислительной технике интерфейсом называют систему унифицированных связей и сигналов, с помощью которых устройства вычислительного комплекса взаимодействуют друг с другом. Принято разделять интерфейс на физический и логический. Физический интерфейс (порт) – определяется набором электрических связей и характеристиками сигналов. Обычно он представляет собой разъем с набором контактов, каждый из которых имеет определенное назначение. Пара разъемов соединяется кабелем, провода которого соединяют соответствующие контакты. В таких случаях говорят о создании линии или канала связи между двумя устройствами. Логический интерфейс (протокол) – это набор информационных сообщений определенного формата, которыми обмениваются два устройства или две программы, а также набор правил, определяющих логику обмена этими сообщениями. В компьютерных сетях можно выделить два типа интерфейсов: «компьютер – компьютер», «компьютер – периферийное устройство». Интерфейс «компьютер – компьютер» реализуется парой элементов: – аппаратным модулем, называемым сетевым адаптером или сетевой интерфейсной картой; – драйвером сетевой интерфейсной карты – специальной программой, управляющей работой сетевой интерфейсной карты. Интерфейс «компьютер – периферийное устройство» реализуется: – со стороны компьютера – интерфейсной картой и драйвером периферийного устройства (ПУ); – со стороны ПУ – контроллером ПУ, который представляет собой микропроцессорное устройство, принимающее от компьютера как данные так и команды управления. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 18 2.1.1. Связь компьютера с периферийным устройством. Рассмотрим, как управляет принтером приложение, выполняемое на компьютере Б. Пусть какому-то приложению П1 понадобилось вывести на печать некоторые данные. 1. Приложение П1 обращается с запросом на выполнение операций ввода-вывода к операционной системе (ОС). В запросе указываются адрес данных, которые необходимо напечатать, и код ПУ на которое необходимо вывести эти данные. 2. Получив запрос, ОС запускает программу – драйвер ПУ. С этого момента все дальнейшие действия по выполнению операции ввода-вывода реализуются только драйвером ПУ и работающей под его управлением интерфейсной картой ПУ без участия приложения П1 и ОС. 3. Драйвер ПУ загружает в определенной последовательности коды команд управления ПУ и данные из буфера оперативной памяти компьютера (ОП) в буфер интерфейсной карты ПУ, которая побайтно передает их контроллеру ПУ. 4. Получив очередной байт, контроллер ПУ интерпретирует его и запускает заданную операцию ПУ. Закончив обработку всех команд и данных, драйвер ПУ сообщает ОС о выполнении запроса, а та, в свою очередь, сигнализирует об этом событии приложению П1. 2.1.2. Обмен данными между двумя компьютерами Приложение П1 компьютера А и приложение П2 компьютера Б (см. рис. 2.1) управляют процессом передачи данных путем обмена сообщениями. Чтобы приложения могли понимать информацию, которой они обмениваются между собой, необходимо определить форматы и последовательность этих сообщений. Например, можно определить, что: любая операция обмена данными начинается передачи сообщения, запрашивающего информацию о готовности приложения П2; в следующем сообщении идет идентификация компьютера и пользователя, сделавшего ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 19 запрос; что признаком срочного завершения операции обмена данными является переделенная кодовая комбинация и т.п. Тем самым определяется протокол взаимодействия приложений для выполнения операций данного типа. На стороне компьютера А приложение П1, следуя логике протокола, размещает в буфере ОП собственное очередное сообщение или данные и обращается к ОС с запросом на выполнение операции обмена данными между компьютерами. ОС запускает соответствующий драйвер сетевой карты (СК1), который загружает серию байтов из буфера ОП в буфер СК1, после чего инициирует работу СК1. СК1 последовательно передает биты в линию связи, дополняя каждый новый байт стартовым и стоповым битами. На стороне компьютера Б сетевая карта СК2 принимает биты, поступающие со стороны внешнего интерфейса, и помещает их в собственный буфер. После того как получен стоповый бит, СК2 устанавливает признак завершения приема байта и выполняет проверку корректности приема путем контроля бита четности. Факт корректного приема байта фиксируется драйвером СК2. Драйвер переписывает принятый байт из буфера СК2 в заранее зарезервированный буфер ОП компьютера Б. Приложение П2 извлекает данные из буфера и интерпретирует их в соответствии со своим протоколом либо как сообщение, либо как данные. Если согласно протоколу приложение П2 должно передать ответ приложению П1, то выполняется симметричная процедура. Таким образом, связав электрически и информационно два автономных компьютера, мы получили простейшую компьютерную сеть. 2.2. Сетевое программное обеспечение Сетевое программное обеспечение состоит из сетевых служб, сетевой ОС и сетевых приложений. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 20 2.2.1. Сетевые службы и сервисы Потребности в доступе к удаленному ПУ (например, принтеру) может возникнуть у пользователей самых разных приложений: текстового редактора, графического редактора системы управления базой данных (СУБД). Очевидно, что дублирование в каждом из приложений общих функций для удаленной печати является избыточным. Эти функции исключаются из приложений и оформляются в виде пары специализированных программных модулей – клиента и сервера печати (рис. 2.2). Рис. 2.2 – Совместное использование принтера с помощью сетевой службы печати. Термины «клиент» и «сервер» – чрезвычайно многозначны. В общем случае их можно определить следующим образом. Клиент – это программный модуль, предназначенный для формирования и передачи сообщений-запросов к ресурсам удаленного компьютера от различных приложений, приема результатов из сети и передачи их соответствующему приложению. Сервер – это программный модуль, который постоянно ожидает запросов от клиентов. Приняв запрос, сервер пытается его обслужить, как ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 21 правило, с участием локальной ОС. Один сервер может обслуживать запросы сразу нескольких клиентов. Пара «клиент-сервер» предоставляющая доступ к конкретному типу ресурса компьютера через сеть, образует сетевую службу. Каждая служба связана с определенным типом сетевых ресурсов. Например, модули клиента и сервера, реализующие удаленный доступ к принтеру, образуют сетевую службу печати. Файловая служба позволяет получить доступ к файлам, хранящемся на диске других компьютеров. Серверный компонент файловой службы называют файл-сервером. Для поиска и просмотра информации в Internet используется веб- служба, состоящая из веб-сервера и веб-браузера. Разделяемым ресурсом в данном случае является веб-сайт – определенным образом организованный набор файлов, содержащих связанную в смысловом отношении информацию и хранящихся на веб-сервере (рис. 2.3). Обмен сообщениями между клиентской и серверной частями веб- службы выполняется по стандартному протоколу НТТР и никак не зависит от того, передаются ли эти сообщения от интерфейса одного компьютера к интерфейсу другого или через большое число транзитных коммутационных устройств. Вместе с тем, усложнение среды передачи сообщений приводит к возникновению новых дополнительных задач, на решение которых не был рассчитан простейший драйвер СК. Вместо него на взаимодействующих компьютерах должны быть установлены более развитые программные транспортные средства. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 22 Рис. 2.3 2.2.2 Сетевая операционная система Операционную систему компьютера часто определяют как взаимосвязанный набор системных программ, который обеспечивает эффективное управление ресурсами компьютера (памятью, процессором, внешними устройствами, файлами и др.), а также предоставляет пользователю удобный интерфейс для работы с аппаратурой компьютера и разработки приложений. Говоря о сетевой ОС, необходимо расширить границы управления ресурсов за пределы одного компьютера. Сетевой операционной системой называют операционную систему, которая помимо управления локальными ресурсами предоставляет пользователям и приложениям возможность эффективного и удобного доступа к информационным и аппаратным ресурсам других компьютеров сети. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 23 2.2.3 Сетевые приложения Компьютер, подключенный к сети, может выполнять следующие типы приложений: – локальные приложения целиком выполняются только на данном компьютере и используют только локальные ресурсы; – централизованные сетевые приложения целиком выполняются на данном компьютере, но обращаются в процессе своего выполнения к ресурсам других компьютеров сети; – распределенные сетевые приложения состоят из взаимодействующих частей, каждая из которых выполняет какую-то законченную работу по решению прикладной задачи на отдельном компьютере сети. Части распределенного приложения взаимодействуют друг с другом, используя сетевые службы и транспортные средства ОС. Распределенное приложение в общем случае имеет доступ ко всем ресурсам сети. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 24 Рис. 2.4 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 25 3. Коммутация каналов и пакетов. В лекции 3 изучаются и сравниваются два основных типа коммутации – коммутация каналов и коммутация пакетов. Исторически коммутация каналов появилась намного раньше коммутации пакетов и происходит от первых телефонных сетей. Невозможность динамического перераспределения пропускной способности физического канала является принципиальным ограничением сети с коммутацией каналов. Принцип коммутации пакетов был изобретен разработчиками компьютерных сетей. При коммутации пакетов учитываются особенности компьютерного трафика. Однако достоинства и недостатки любой сетевой технологии относительны. Наличие буферной памяти в коммутаторах пакетных сетей позволяет эффективно использовать пропускную способность каналов пульсирующего трафика, но приводит к случайным задержкам в доставке пакетов, что является недостатком для трафика реального времени, который традиционно передается с помощью техники коммутации каналов. 3.1 Коммутация каналов В качестве информационных потоков в сетях с коммутацией каналов выступают данные, которыми обмениваются пары абонентов. Глобальным признаком потока является пара адресов (телефонных номеров) абонентов, связанных между собой. Для всех возможных потоков заранее определяются маршруты, Маршруты в сетях с коммутацией каналов задаются либо «вручную» администратором сети, либо находятся автоматически с привлечением специальных аппаратных и программных средств. Маршруты фиксируются в таблицах, в которых признакам потока ставятся в соответствие идентификаторы выходных интерфейсов коммутаторов. На основании этих таблиц происходит продвижение и мультиплексирование данных. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 26 Одной из особенностей сетей с коммутацией каналов является понятие элементарного канала. Элементарный канал (или просто канал) – это базовая характеристика сети с коммутацией каналов, представляющая собой некоторое фиксированное значение пропускной способности в пределах данного типа сетей. Любая линия связи в сети с коммутацией каналов имеет пропускную способность, кратную элементарному каналу, принятому для данного типа сети. Например, в традиционных телефонных сетях наиболее распространенным значением элементарного канала сегодня является скорость 64 Кбит/с – это минимально достаточная скорость для качественной цифровой передачи голоса. Линии связи в сетях с коммутацией пактов имеют разную пропускную способность. Выбирая линии связи с разными скоростными характеристиками, проектировщики стараются учесть разную интенсивность информационных потоков, которые могут возникнуть в разных фрагментах сети – чем ближе к центру сети, тем выше пропускная способность линии связи, так как магистральные линии агрегируют трафик большого количества периферийных линий связи. Особенностью сетей с коммутацией каналов является то, что пропускная способность каждой линии связи должна быть равна целому числу элементарных каналов. Линии связи подключающие абонентов к телефонной сети, могут содержать 2, 24 или 30 элементарных каналов, а линии, соединяющие коммутаторы, – 480 или 1920 каналов. Связь между абонентами, построенная путем коммутации (соединения) элементарных каналов называется составным каналом. Основными свойствами составного канала являются: - составной канал на всем протяжении состоит из одинакового количества элементарных каналов; ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 27 - составной канал имеет постоянную и фиксированную пропускную способность на всем своем протяжении; - составной канал создается временно на период связи двух абонентов; - в течение всего сеанса абоненты могут посылать в сеть данные со скоростью, не превышающей скорость составного канала; - после окончания сеанса связи элементарные каналы, входившие в соответствующий составной канал, объявляются свободными и возвращаются в пул распределяемых ресурсов для использования другими абонентами. Сети с коммутацией каналов наиболее эффективно передают пользовательский трафик в том случае, когда скорость его постоянна в течение всего сеанса связи и максимально соответствует фиксированной пропускной способности физических линий связи сети. Эффективность ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 28 работы сети снижается, когда информационные потоки, генерируемые абонентами, приобретают пульсирующий характер. Для эффективной передачи неравномерного компьютерного трафика была специально разработана технология коммутации пакетов. 3.2 Коммутация пакетов Важнейшим принципом функционирования сетей с коммутацией пакетов является представление данных, передаваемых по сети, в виде структурно отделенных друг от друга порций данных, называемых пакетами. Каждый пакет снабжен заголовком, в котором содержится адрес назначения и другая информация (длина поля данных, контрольная сумма и т.д.). Наличие адреса в каждом пакете является одним из важнейших особенностей технологии коммутации пакетов, так как каждый пакет может быть обработан независимо от других пакетов. Помимо заголовка у пакета может иметься еще одно дополнительное поле, размещаемое в конце пакета и называемое концевиком. В концевике обычно помещается контрольная сумма, которая позволяет проверить, будет ли искажена информация при передаче через сеть или нет. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 29 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 30 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 31 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 32 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 33 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 34 ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 35 4 Модель взаимодействия открытых систем OSI В компьютерных сетях особое значение приобретает стандартизация соединения оборудования и программного обеспечения. Без принятия всеми производителями общепринятых правил построения оборудования прогресс в развитии сетей был бы не возможен. В компьютерных сетях идеологической основой стандартизации является многоуровневый подход к разработке средств сетевого взаимодействия. Именно на основе этого подхода была разработана семиуровневая модель взаимодействия открытых систем. 4.1 Декомпозиция задач сетевого взаимодействия Для решения задачи взаимодействия между устройствами сети используется универсальный подход – декомпозиция задачи на модули, решающие частные задачи. Все множество модулей разбивается на группы и ранжируется по уровням, образующим иерархию. В соответствии с принципом иерархии для каждого промежуточного уровня можно указать примыкающие к нему вышележащий и нижележащий уровни (рис. 4.1). Рис. 4.1 – Создание иерархии задач. Группа модулей, составляющих каждый уровень, должна быть сформирована таким образом, чтобы все модули этой группы обращались с запросами только к модулям соседнего нижележащего уровня. Результаты работы всех модулей некоторого уровня могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 36 декомпозиция задачи предполагает четкой определение функций каждого уровня и интерфейсов между уровнями. В результате иерархической декомпозиции достигается относительная независимость уровней, позволяющая проводить автономную разработку и модификацию этих уровней. Средства решения задачи организации сетевого взаимодействия тоже могут быть представлены в виде иерархически организованного множества модулей. Например, модулям нижнего уровня можно поручить задачи надежной передачи информации между двумя соседними узлами, а модулям следующего, более высокого уровня – транспортировку сообщений в пределах всей сети. Многоуровневое представление средств сетевого взаимодействия имеет свою специфику. В процессе обмена сообщениями участвуют две стороны, т.е. необходимо организовать согласованную работу «иерархий», работающих на разных компьютерах. Оба участника сетевого обмена должны принять множество соглашений. Например, они должны согласовать уровни и форму электрических сигналов, способы определения размера сообщений, договориться о методах контроля достоверности и т.п. Другими словами, соглашения должны быть приняты для всех уровней, начиная от самого низкого до самого высокого. На рис. 4.2 показана модель взаимодействия двух узлов. Рис. 4.2 – Взаимодействие двух узлов. ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 37 С каждой стороны средства взаимодействия представлены четырьмя уровнями. Процедура взаимодействия этих двух узлов может быть описана в виде набора правил взаимодействия каждой пары соответствующих уровней обеих участвующих сторон. Формальные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне но в разных узлах, называются протоколами. Модули, реализующие протоколы соседних уровней и находящиеся в одном узле, также взаимодействуют друг с другом в соответствии с точно определенными правилами и с помощью стандартизированных форматов сообщений. Эти правила принято называть интерфейсом. Иерархически организованный набор протоколов, достаточный для организации взаимодействия узлов в сети, называется стеком коммуникационных протоколов. Коммуникационные протоколы могут быть реализованы как программно, так и аппаратно. Протоколы нижних уровней часто реализуют комбинацией программных и аппаратных средств, а протоколы верхних уровней – программными средствами. В общем случае связь между компьютерами в сети осуществляется не напрямую, а через различные коммуникационные устройства (концентраторы, мосты, коммутаторы, маршрутизаторы). В зависимости от типа устройства в нем должны быть встроены средства, реализующие тот или иной набор протоколов. 4.2 Общая характеристика модели OSI В начале 80-х годов прошлого века ряд международных организаций по стандартизации (ISO, ITU-I и некоторые другие) разработали модель, которая сыграла значительную роль в развитии сетей. Эта модель называется моделью взаимодействия открытых систем (Open System Interconnection, OSI) или моделью OSI. Модель OSI определяет различные уровни взаимодействия систем в сетях с коммутацией пакетов (рис. 4.3). ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 38 Рис. 4.3 – Модель взаимодействия открытых систем ISO/OSI. В модели OSI средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с одним определенным аспектом взаимодействия сетевых устройств. Модель OSI описывает только системные средства взаимодействия, реализуемые операционной системой, системными утилитами, системными аппаратными средствами. Модель не включает средства взаимодействия приложений конечных пользователей. Допустим, приложение обращается с запросом к прикладному уровню. На основании этого запроса ПО прикладного уровня формирует сообщение стандартного формата – заголовка и поля данных. Но для того ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 39 чтобы доставить эту информацию по назначению, нужно решить еще много задач, ответственность за которые несут нижележащие уровни. после формирования сообщения прикладной уровень направляет его вниз по стеку представительному уровню. Протокол представительного уровня на основании информации, полученной из заголовка прикладного уровня, выполняет требуемые действия и добавляет к сообщению собственную служебную информацию – заголовок представительного уровня, в котором содержаться указания для протокола представительного уровня машины адресата. Полученное в результате сообщение передается вниз сеансовому уровню, который, в свою очередь, добавляет свой заголовок и т.д. Наконец, сообщение достигает нижнего, физического уровня, который собственно и передает его по линиям связи машине- адресату. К этому моменту сообщение обрастает заголовками всех уровней (рис. 4.4). Рис. 4.4 – вложенность сообщений различных уровней. Когда сообщение по сети поступает машине-адресату, оно принимается ее физическим уровнем и последовательно перемещается вверх с уровня на уровень. 4.3 Функции уровней модели OSI Физический уровень (Physical Layer) имеет дело с передачей битов по физическим каналам связи – коаксиальному кабелю, витой паре, оптоволоконному кабелю. К этому уровню имеют отношение характеристики физических сред передачи данных (полоса пропускания, ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 40 помехозащищенность, волновое сопротивление и др.). На этом же уровне определяются характеристики электрических сигналов, передающих дискретную информацию, например крутизна фронтов импульсов, уровни напряжения или тока передаваемого сигнала, тип кодирования, скорость передачи сигналов. Кроме этого здесь стандартизируются типы разъемов и назначение каждого контакта. Канальный уровень (Data Link Layer) решает задачу проверки доступности среды передачи. Другой задачей канального уровня является реализация механизма обнаружения и коррекции ошибок. Для этого на канальном уровне биты группируются в наборы, называемые кадрами (frames). Канальный уровень обеспечивает корректность передачи каждого кадра, помещая специальную последовательность битов в начало и конец каждого кадра для его выделения, а также вычисляет контрольную сумму, обрабатывая все байты кадра определенным способом и добавляя контрольную сумму к кадру. Когда кадр проходит по сети, получатель снова вычисляет контрольную сумму полученных данных и сравнивает результаты с контрольной суммой из кадра. Если они совпадают, кадр считается правильным и принимается. Если же контрольные суммы не совпадают, то фиксируется ошибка. Сетевой уровень (Network Layer) служит для образования единой транспортной системы, объединяющей несколько сетей, причем эти сети могут использовать совершенно разные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связей. На сетевом уровне определяются два вида протоколов. Первый вид – сетевые протоколы (routed protocols) – реализуют продвижение пакетов через сеть. Второй вид – протоколы обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols). С помощью этих протоколов маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются ВВЕДЕНИЕ В АРХИТЕКТУРУ КОМПЬЮТЕРНЫХ СЕТЕЙ. ЛЕКЦИИ 41 программными модулями операционной системы, а также программными и аппаратными средствами маршрутизаторов. Рис. 4.5 – Необходимость сетевого уровня. Транспортный уровень (Transport Layer) обеспечивает приложениям или верхним уровням стека (прикладному и сеансовому) передачу данных с той степенью надежности, которая им требуется. Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами, конечных узлов сети – компонентами их операционных систем. Протоколы нижних четырех уровней обобщенно называют сетевой транспортной подсистемой, так как они полностью решают задачу транспортировки сообщений с заданным уровнем качества в составных сетях с произвольной топологией и различными технологиями. Оставшиеся три верхних уровня решают задачи предоставления прикладных сервисов на основании имеющейся транспортной подсистемы. |