- •Глава 3. Компьютерные сети
- •3.1.Общие принципы построения компьютерной сети
- •3.1.1. Понятие компьютерной сети
- •3.1.2 Основные программные и аппаратные компоненты сети
- •3.1.3.Характеристики коммуникационной сети
- •3.1.3. Адресация компьютеров
- •3.2. Локальные компьютерные сети
- •3.2.1. Два типа сетей
- •3.2.2. Топология сети
- •3.2.3. Физическая передающая среда локальных компьютерных сетей
- •Беспроводные сети
- •3.2.3. Платы сетевого адаптера
- •. Функционирование сети
- •3.2.1. Сетевые модели osi и ieee Project 802.
- •. Назначение и функции протоколов
- •.Основные стандартные стеки коммуникационных протоколов
- •. Передача данных по сети
- •. Методы доступа в сетях
- •Управление обменом в сети типа "шина".
- •Управление обменом в сети типа "кольцо"
- •. Стандартные сетевые технологии
- •. Сетевые операционные системы
- •Управление пользователями
- •3.3.Способыи средства объединения локальных компьютерных сетей. Распределенные сети.
- •Отметим различие между мостами (коммутаторами) и маршрутизаторами.
- •. Методы передача данных в компьютерных сетях
- •3.4 Глобальные сети .Архитектура Internet
- •.Система адресации в Internet (Intranet)
- •3.5 Типы сервиса Internet (Intranet
- •Вопросы для самоконтроля к разделу 3.
. Функционирование сети
3.2.1. Сетевые модели osi и ieee Project 802.
Будем здесь изучать кухню работы сети, т.е. организацию сложного взаимодействия между устройствами в сети. Как известно, для решения сложных задач используется универсальный прием – декомпозиция, то есть разбиение одной сложной задачи на несколько более простых. При декомпозиции часто используется многоуровневый подход, который как раз и используется при взаимодействии компьютеров в сети.
Предварительно отметим, что сетевая операционная система при выполнении всех задач следует строгому набору процедур. Эти процедуры называются протоколами или правилами поведения. Стандартные протоколы позволяют программному и аппаратному обеспечению различных производителей нормально взаимодействовать.
Модель OSI
В 1983 году International Standart Organization (ISO, организация, объединяющая группы стандартизации различных стран) выпустила эталонную модель взаимодействия открытых систем, которая и стала международным стандартом. Являясь многоуровневой системой, она отражает взаимодействие программного и аппаратного обеспечения при осуществлении сеанса связи.
Открытой системой считается система, отвечающая требованиям эталонной модели взаимодействия открытых систем, реализующая стандартный набор услуг и поддерживаемая стандартными протоколами.
Термин "открытая система" в данном случае означает, что система не замкнута в себе и может наращиваться до бесконечности, в частности, связываться с другими системами. В этой универсальной модели нет никакой привязки к конкретной аппаратуре используемых компьютеров, к аппаратуре соединяющих их сетей, к типу программного обеспечения, то есть модель OSI имеет в виду некую абстрактную модель.
Соблюдение этих требований обеспечивает возможность взаимодействия открытых систем между собой, несмотря на их технические и логические различия в реализации, что является достаточно существенным фактором построения компьютерных сетей.
Если две сети построены с соблюдением принципов открытости, то это дает следующие преимущества:
Возможность построения сети из аппаратных и программных средств различных производителей, придерживающихся одного и того же стандарта.
Возможность безболезненной замены отдельных компонентов сети другими, более совершенными, что позволяет сети развивать с минимальными затратами.
Возможность легкого сопряжения одной сети с другой.
Модель OSI работает подобно современной почтовой службе. Первым шагом при отправке информации будет написание письма; затем оно должно быть помещено в конверт с именем, адресом и почтовым индексом; затем письмо должно быть опущено в почтовый ящик. После этого уже не ваша забота, как именно письмо дойдет до получателя, - вы исходите из того, что оно как-нибудь да дойдет. Все, что вы должны были сделать - это правильно поместить письмо в почтовый ящик. Как правило, этого достаточно, чтобы письмо дошло до адресата. Если часть процесса должна быть изменена, чтобы применить новую технологию или улучшить реализацию процесса (например, заменить доставку почты автотранспортом на доставку самолетом), изменения должны быть произведены только на непосредственно касающемся изменения участке, не всей системы в целом.
Перейдем к рассмотрению многоуровневой архитектуры OSI.
Многоуровневая архитектура
В модели OSI сетевые функции распределены между семью уровнями.
Каждому уровню соответствуют различные сетевые операции, оборудование и протоколы.
На рис.3.10 представлена многоуровневая архитектура модели OSI. На каждом уровне выполняются определенные сетевые функции, которые взаимодействуют с функциями соседних уровней, вышележащего и нижележащего. Например, сеансовый уровень должен взаимодействовать только с представительским и транспортным уровнем. Каждый уровень представляет несколько услуг (т.е. выполняет несколько операций), подготавливающих данные для доставки по сети на другой компьютер. Все запросы от одного уровня к другому передаются через интерфейс. Каждый уровень использует услуги нижележащего уровня.
Взаимодействие уровней моделей OSI
Каждый уровень на одном компьютере работает так, как будто он напрямую связан с таким же уровнем на другом компьютере. Эта логическая, или виртуальная связь между одинаковыми уровнями показана на рис.3.10. Однако в действительности связь осуществляется между смежными уровнями одного компьютера – программное обеспечение, работающее на каждом уровне, реализует определенные сетевые функции в соответствии с набором протоколов.
Информация на компьютере – отправителе должна пройти через все уровни. Затем она передается по сетевому кабелю на компьютер - получатель и опять проходит сквозь все уровни, пока не достигнет того же уровня, с которого она была послана на компьютере - отправителе.
Перед подачей в сеть данные разбиваются на пакеты. Пакет – это единица информации, передаваемая между устройствами сети как единое целое. Пакет проходит последовательно через все уровни. В дальнейшем остановимся на процедуре формирования пакета подробнее, а пока отметим, что на каждом уровне к пакету добавляется некоторая информация, которая необходима для успешной передачи данных по сети. На принимающей стороне пакет проходит через все уровни в обратном порядке. Программное обеспечение на каждом уровне читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню. Когда пакет дойдет до прикладного уровня, вся адресная информация будет удалена и данные примут свой первоначальный вид.
Таким образом, за исключением самого нижнего уровня сетевой модели, никакой иной уровень не может непосредственно послать информацию соответствующему уровню другого компьютера. Данная модель напоминает собой вложенные друг в друга матрешки. Самая маленькая из них - это и есть пользовательские данные, а все остальные служат для доставки данных в точку назначения. Иными словами, в результате этого механизма каждый пакет более высокого уровня вкладывается в конверт протокола более низкого уровня, и сами протоколы отвечают за целостность и доставку данных.
Взаимодействие смежных уровней осуществляется через интерфейс. Интерфейс определяет услуги, которые нижний уровень предоставляет верхнему уровню, а также способ доступа к ним. В связи с этим каждому уровню одного компьютера кажется, что он непосредственно взаимодействует с таким же уровнем другого компьютер.
Рассмотрим подробнее назначение каждого из уровней в отдельности. Предварительно заметим, что блоки находящиеся наверху иерархии OSI, отвечают за функции, наиболее «близкие» к пользователю или приложению, в то время как нижние блоки выполняют функции, «близкие» к физической сети или сетевым интерфейсам.
Прикладной уровень (уровень приложений) Уровень 7. Это самый верхний уровень модели OSI, он представляет собой окно для доступа прикладных процессов к сетевым услугам. Прикладной уровень управляет общим доступом к сети, потоком данных и обработкой ошибок. Именно с него приложения начинают осуществлять связь по сети, используя этот интерфейс. Если вы, работая с программой Microsoft Word для Windows, сохраняете файл на сетевом диске, и в этом случае для осуществления связи используется уровень приложений модели. Прикладной уровень обеспечивает широкий набор услуг: управление терминалом, управление файлами, управление диалогом, управление сетью в целом. Дополнительные услуги – электронная почта, передача массивов сообщений, файлов и т.п.
Представительский уровень (уровень представления данных). Уровень 6. Определяет формат, используемый для обмена данными между сетевыми компьютерами. Этот уровень носит название переводчика, т.е. данные поступившие с прикладного уровня переводятся в общедоступный формат. Этот уровень отвечает так же за сжатие данных для уменьшения передаваемых битов. Уровень представления принимает данные, поступающие от уровня приложений, и преобразует их в промежуточный формат. Затем он осуществляет сжатие, а также при необходимости кодирование данных, прежде чем передать их на следующий уровень. Получая данные от сеансового уровня, уровень представления выполняет обратные операции, преобразуя данные из промежуточного формата в формат, доступной уровню приложений, и производя их распаковку и, при необходимости, декодирование.
Сеансовый уровень. Уровень 5. Сеансовый уровень отвечает за установку и завершение связи между двумя компьютерами. Кроме того, этот уровень определяет, какой из компьютеров может осуществлять передачу данных и сколько она может длиться в одном направлении, прежде чем возможности осуществить передачу получит второй компьютер. Следовательно, он позволяет двум приложениям на разных компьютерах устанавливать, использовать и завершать соединение, называемое сеансом. На этом уровне выполняются такие функции, как распознавание имен и защиты, необходимые для связи двух приложений в сети. Сеансовый уровень обеспечивает синхронизацию между пользовательскими задачами посредством расстановки в потоке данных так называемых контрольных точек. Таким образом, в случае сетевой ошибки потребуется заново передавать только данные, следующие за последней контрольной точкой. Этот же уровень выполняет управление диалогом между взаимодействующими процессами, т.е. регулирует, какая из сторон осуществляет передачу, когда, как долго и т.п.
Транспортный уровень. Уровень 3. Транспортный уровень обеспечивает надежную передачу данных по сети. При передаче данных транспортный уровень принимающей стороны посылает сообщение транспортному уровню передающей стороны, подтверждающее факт приема данных. Если такое сообщение не будет получено, передача данных будет осуществлена повторно. Кроме того, транспортный уровень отвечает за переупаковку сообщений. Он гарантирует доставку пакетов без ошибок, в той же последовательности, без потерь и дублирования. На этом уровне сообщения переупаковываются, длинные разбиваются на несколько пакетов, а короткие объединяются в один, что увеличивает эффективность передачи пакетов по сети. Этот же уровень управляет потоком, проверяет ошибки и участвует в решении проблем, связанных с отправкой и получением пакетов. Транспортный уровень обеспечивает: установление и разъединение транспортных соединений, формирование блоков данных, взаимодействия сеансовых соединений с транспортным соединением, целостность блоков данных во время передачи, предоставление приоритетов в передаче блоков, передачу подтверждений о принятых блоках и др.
Сетевой уровень. Уровень 3. Основной задачей сетевого уровня является передача данных по сети и определение оптимального маршрута для выполнения этой операции. Он отвечает за адресацию сообщений и перевод логических адресов и имен в физические адреса. Кроме того, он выполняет функции регулировщика движения и управляет маршрутизацией пакетов данных в сети. Одним словом, исходя из конкретных сетевых условий, приоритета услуги и другие факторов здесь определяется маршрут от компьютера – отправителя к компьютеру- получателю. Сетевой уровень также преобразует данные в сетевые пакеты и заключает их в оболочку. В ходе преобразования данные дополняются кодом коррекции ошибок. Если пакет слишком велик, чтобы с ним мог работать уровень передачи данных, сетевой уровень преобразует один большой пакет в несколько мелких, объем которых соответствует требованиям канала передачи. При передаче данных верхнему уровню осуществляются обратные преобразования, в ходе которых несколько малых пакетов соединяются в один большой и после этого передаются транспортному уровню.
Канальный уровень. Уровень 2. Внутри локальной сети доставка данных обеспечивается соответствующим канальным уровнем, а доставкой данных между сетями занимается сетевой уровень, который поддерживает возможность выбора маршрута передачи данных. Канальный уровень осуществляет передачу кадров данных от сетевого уровня к физическому. Кадры – это логически организованная структура, в которую можно помещать данные. По существу, кадр является еще одной оболочкой вокруг данных, которая может быть разделена на меньшие части и содержит дополнительные сетевые адреса. На рис.3.11 представлен простой кадр данных, где идентификатор отправителя - адрес компьютера – отправителя, а идентификатор получателя – адрес компьютера – получателя. Управляющая информация используется для маршрутизации, а также указывает на тип пакета. Данные – это собственно передаваемая информация. CRC (остаток избыточной циклической суммы или коды коррекции ошибок) – это сведения, которые помогут выявить ошибки, что, в свою очередь, гарантирует правильный прием информации. Канальный уровень компьютера – получателя упаковывает сырой проток битов, поступающих от физического уровня в кадры данных. Кадры данных являются зависимыми от сети, поэтому кадр данных, передаваемый серверу Net Ware, может отличаться от кадра, передаваемого серверу Windows NT, даже если оба они содержат одни и те же данные. Как и сетевой уровень, канальный уровень добавляет к данным дополнительные коды коррекции ошибок (остаток избыточной циклической суммы), гарантирующие достоверность передаваемой информации. Если обнаруживается несоответствие кода коррекции ошибок, прием кадра не производится. Это исключает возможность передачи искаженных данных верхним уровням. Если кадр не был принят, т.е. подтверждение приема отсутствует, канальный уровень передаст кадр повторно. Канальный уровень получателя проверяет наличие возможных ошибок передачи. Кадры, поврежденные при передаче, или кадры, получение которых не подтверждено, посылаются вторично.
Физический уровень. Уровень 1. Физический уровень отвечает за передачу потока битов физической среде (сетевому кабелю), поступающих от канального уровня. Здесь же производится кодирование и синхронизация передаваемых данных. Физический уровень также определяет характеристики среды передачи данных. Здесь реализуется электрический, оптический, механический и функциональный интерфейс с кабелем. На этом уровне определяется способ соединения сетевого кабеля с платой сетевого адаптера, в частности, количество контактов в разъемах и их функции. Кроме того, здесь определяется способ передачи данных по сетевому кабелю. Таким образом, физический уровень предназначен для передачи битов (нулей и единиц) от одного компьютера к другому.
В чем же основное достоинство семиуровневой модели? В процессе развития и совершенствования любой системы возникает потребность изменить ее отдельные компоненты. Здесь и проявляется преимущества семиуровневой модели. Если между уровнями определены однозначно интерфейсы, то изменение одного из уровней не влечет за собой необходимости внесения изменений в другие уровни. Таким образом, существует относительная независимость уровней друг от друга.
Как любая универсальная модель, модель OSI сильно избыточна. Она содержит в себе все возможные функции, которые в данной конкретной системе и данной локальной сети могут просто не использоваться. Более того, в конкретной сети может даже не существовать такого разделения функций на уровни, которое предусмотрено OSI, а выделить отдельные функции нередко сложно.
Сетезависимые и сетенезависимые уровни. Функции всех уровней модели OSI могут быть отнесены к одной из двух групп: либо к функциям, зависящим от конкретной технической реализации сети, либо к функциям, ориентированным на работу с приложениями.
Три нижних уровня – физический, канальный, сетевой – являются сетезависимыми, т.е. протоколы этих уровней тесно связаны с технической реализацией сети и используемым коммуникационным оборудованием.
Три верхних уровня – прикладной, представительный и сеансовый сетенезависимые уровни – ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют какие бы то ни было изменения в топологии сети, замена оборудования или перехода на другую сетевую технологию.
Транспортный уровень является промежуточным. Он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разрабатывать приложения, не зависящие от технических средств непосредственной транспортировки сообщений.
Модель IEEE Project 802.
Для того, чтобы учесть требования передающей среды, используемой в локальных вычислительны сетях была проведена некоторая модернизация семиуровневой модели взаимодействия открытых систем для локальных компьютерных сетей и появилась модель Project 802.
Project 802 назван в соответствии с годом и месяцем своего издания (1980 год, февраль). Она установила стандарты для физических компонентов сети – интерфейсных плат и кабельных систем, с которыми имеют дело физический и канальный уровни модели OSI.
Два нижних уровня модели OSI устанавливают, каким образом несколько компьютеров могут одновременно использовать сеть, чтобы при этом не мешать друг другу. IEEE Project 802 подробно описывая канальный уровень, разделил его на два подуровня (см. рис. 3.12):
управления логической связью (LLC)
управления доступом к среде (МАС).
Управление логической связью (LLC – уровень) устанавливает канал связи и определяет использование логических точек интерфейса, называемых точками доступа к услугам. Другие компьютеры, ссылаясь на точки доступа к услугам, могут передавать информацию с подуровня управления логической связью на верхние уровни. Уровень появился из-за существования в локальных сетях разделяемой среды передачи данных. Именно этот уровень обеспечивает корректное совместное использование общей среды, предоставляя ее в соответствии с определенным алгоритмом в распоряжение той или иной станции сети.
Управление доступом к среде (МАС – уровень) обеспечивает совместный доступ плат сетевого адаптера к физическому уровню и отвечает за безошибочность передачи данных между двумя компьютерами. Уровень МАС отвечает за передачу кадров данных между узлами с различной степенью надежности, а также реализует функции интерфейса с прилегающим к нему сетевым уровнем. Именно через уровень сетевой протокол запрашивает у канального уровня нужную ему транспортную операцию с нужным качеством.
