Сетевая модель OSI
Материал из Xgu.ru
Содержание |
[править] Уровни модели OSI
[править] Физический уровень
- Основная страница: Физический уровень
Физический уровень занимается реальной передачей необработанных битов по каналу связи. При разработке сети необходимо убедится, что когда одна сторона передаёт единицу, то принимающая сторона получает так же единицу, а не ноль. Принципиальными вопросами здесь являются следующие: какое напряжение должно использоваться для отображения единицы, а какое — для нуля; сколько микросекунд длится бит; может ли передача производится одновременно в двух направлениях; как устанавливается начальная связь и как она прекращается, когда обе стороны закончили свои задачи; из какого количества проводов должен состоять кабель и какова функция каждого провода;. Вопросы разработки в основном связаны с механическими, электрическими и процедурными интерфейсами, а так же с физическим носителем, лежащим ниже физического уровня.
[править] Уровень передачи данных
- Основная страница: Уровень передачи данных
Уровень сетевой модели OSI, предназначенный для передачи данных узлам находящимся в том же сегменте локальной сети. Основная задача уровня передачи данных — быть способным передавать «сырые» данные физического уровня по надёжной линии связи, свободной от не обнаруженных ошибок с точки зрения вышестоящего сетевого уровня. Уровень выполняет при помощи разбиения входных данных на кадры, обычный размер которых колеблется от нескольких сотен до нескольких десятков тысяч байт. Кадры данных передаются последовательно с обработкой кадров подтверждения, отсылаемых обратно получателем. Ещё одна проблема, возникающая на уровне передачи данных (а так же и на большей части более высоких уровней), — как не допустить ситуации, когда быстрый передатчик заваливает приёмник данными. Должен быть предусмотрен некий механизм регуляции, который информировал бы передатчик о наличии свободного места в буфере приёмника на текущий момент. Часто такое управление объединяется с механизмом обработки ошибок. В широковещательных сетях существует ещё одна проблема уровня передачи данных: как управлять доступом к совместно используемому каналу. Эта проблема разрешается введением специального дополнительного подуровня уровня передачи данных — подуровня доступа к носителю.
[править] Сетевой уровень
- Основная страница: Сетевой уровень
Сетевой уровень занимается управлением операциями в подсети. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться. Кроме того, они могут задаваться в начале каждого соединения, на пример терминальной сессии. Наконец, они могут быть в высокой степени динамическими, то есть вычисляемыми заново для каждого пакета с учётом текущей загруженности сети. Если в подсети одновременно присутствует слишком большое количество пакетов, то они могут закрыть дорогу друг другу, образуя заторы в узких местах. Недопущение подобной закупорки также является задачей сетевого уровня. В более общем смысле сетевой уровень занимается предоставлением определённого уровня сервиса (это касается задержек, времени передачи, вопросов синхронизации). При путешествии пакетов из одной сети в другую может также возникнуть ряд проблем. Так, способ адресации, принятый в одной сети может отличаться от принятого в другой. Сеть может вообще отказаться принимать пакеты из-за того, что они большого размера. Также могут различаться протоколы и т.д. Именно сетевой уровень должен разрешать эти проблемы, позволяя объединять разнородные сети. В широковещательных сетях проблема маршрутеризации очень проста, поэтому в них сетевой уровень примитивный или вообще отсутствует.
[править] Транспортный уровень
- Основная страница: Транспортный уровень
Основная задача транспортного уровня — принять данные от сеансового уровня, разбить их на небольшие части, передать их сетевому уровню и гарантировать, что эти части в правильном виде прибудут по назначению. Кроме того, всё это должно быть сделано эффективно и таким образом, чтобы изолировать более высокие уровни от каких-либо изменений в аппаратной технологии. Транспортный уровень также определяет тип сервиса, предоставляемого сеансовому уровню и, в конечном счёте, пользователям сети. Наиболее популярной разновидностью транспортного соединения является защищенный от ошибок канал между двумя узлами, поставляющий сообщения или байты в том порядке, в каком они были отправлены. Однако транспортный уровень может предоставлять и друге типы сервисов, например пересылку отдельных сообщений без гарантии соблюдения порядка их доставки или одновременную отправку сообщения различным адресатам по принципу широковещания. Тип сервиса определяется при установке соединения. (Строго говоря, полностью защищённый от ошибок канал создать невозможно. Говорят лишь о таком канале, уровень ошибок в котором достаточно мал, чтобы ими можно было пренебречь на практике.) Транспортный уровень является настроенным сквозным уровнем, то есть доставляющем сообщения от источника к адресату. Другими словами, программа на машине-источнике поддерживает связь с подобной программой на другой машине при помощи заголовков сообщений и управляющих сообщений. на более низких уровнях для поддержки этого соединения устанавливаются соединения между всеми соседними машинами, через которые проходит маршрут сообщений. Различие между уровнями с первого по третий, действующим по принципу звеньев цепи и уровнями с четвёртого по седьмой, являющимися сквозными, продемонстрировано на рисунке [[Файл::Img1.14.gif]]
[править] Сеансовый уровень
Сеансовый уровень позволяет пользователям различных компьютеров устанавливать сеансы связи друг с другом. Кроме обычной доставки данных, которую обеспечивает также и транспортный уровень, сеанс может предоставлять еще и расширенный набор услуг, полезный для некоторых приложений. Сеанс может применяться для регистрации пользователя в системе разделения времени или для переноса файла с одного компьютера на другой.
Одной из служб, предоставляемых сеансовым уровнем, является управление маркерами. Для некоторых протоколов бывает существенно, чтобы две стороны не пытались выполнить одновременно одну и ту же операцию. Для управления подобной активностью сеансовый уровень выпускает маркеры, которыми обмениваются участники сети. Критичную операцию может выполнить только компьютер, владеющий маркером.
Еще одной службой, предоставляемой сеансовым уровнем, является синхронизация. Представим себе проблему, возникающую при передаче длинного файла, для полного переноса которого требуется два часа, при этом приблизительно раз в час по какой-нибудь причине связь прерывается. При прерывании связи передача файла прекращается и начинается снова с начала файла, а примерно через час прерывается снова. Для устранения этой проблемы сеансовый уровень сохраняет контрольные точки потока данных, так что после восстановления связи передача возобновляется с момента последней контрольной точки, то есть уже успешно переданные блоки данных повторно не передаются.
[править] Уровень представления
Отличие от более низких уровней, задача которых - достоверная передача бит и байтов, уровень представления занимается по большей части синтаксисом и семантикой передаваемой информации.
Типичный пример служб уровня представления - кодирование передаваемых данных определенным стандартным образом. Большинство программ обменивается не двоичными блоками данных, а именами людей, датами, денежными суммами и счетами на товары. Подобная информация состоит из текстовых строк, целых чисел, чисел с плавающей точкой и структур данных, состоящих из более простых элементов. На различных компьютерах могут использоваться различные формы представления строковых данных (например, ASCII и Unicode), целых чисел (например, дополнительный и обратный код) и т. д. Чтобы общение компьютеров с различным представлением данных было возможным, необходимо преобразовывать различные форматы данных друг в друга, передавая их по сети в неком стандартизированном виде. Эти преобразования и осуществляет уровень представления.
[править] Прикладной уровень
Прикладной уровень содержит набор популярных протоколов. Так, в мире существуют сотни несовместимых друг с другом типов терминалов. Представьте себе проблему полноэкранного текстового редактора, который должен работать по сети одновременно с большим количеством различных терминалов, у каждого из которых различная разметка экрана, управляющие ESC-последовательности для вставки и удаления текста, перемещения курсора и т. д.
Один из способов решить эту проблему - определить абстрактный виртуальный сетевой терминал, для работы с которым могут быть написаны редактор и другие программы. Для поддержки каждого типа терминала может быть написан специальная программа отображения функций виртуального сетевого терминал на реальный терминал. Например, когда редактор перемещает курсор виртуального терминала в левый верхний угол экрана, данная программа должна выдавать соответствующую управляющую последовательность для реального терминала, чтобы его курсор также переместился в то же место. Все программное обеспечение, занятое поддержкой реальных терминалов, располагается в прикладном уровне.
Еще одной функцией прикладного уровня является перенос файлов. В различных файловых системах используются различные соглашения об именах файлов, различные способы представления текстовых строк и т. д. Для переноса файлов необходимо решать проблемы, связанные с подобными несоответствиями. Кроме того, прикладной уровень занимается также электронной почтой, дистанционным вводом заданий, поиском файлов в каталогах, а также различными другими функциями как общего, так и специального назначения.
[править] Соответствие OSI и других стеков протоколов
Уровень OSI | Классификация | DoD-стек | Классификация | Пример протокола | Единицы измерения | Устройства | |
---|---|---|---|---|---|---|---|
7 | Прикладной уровень | Ориентирован на приложение | Приложение | End-to-end (многохоповое) | HTTP FTP HTTPS SMTP LDAP NCP | Данные | Шлюз, Коммутатор 4-7 уровня |
6 | Представления | ||||||
5 | Сеансовый | ||||||
4 | Транспортный | Ориентирован на передачу | Транспортировка | TCP UDP SCTP SPX | TCP сегменты UDP датаграммы | ||
3 | Сетевой | Маршрутизация | Точка-точка | ICMP IGMP IP IPsec IPX | Пакеты | Маршрутизатор, коммутатор третьего уровня | |
2 | Контроль ошибок + адресация (Data Link) | Доступ к сети | Ethernet Token Ring FDDI ARCNET | Кадры (фреймы, frames) | Мост (bridge), коммутатор (switch) | ||
1 | Передача битов (Физический) | Биты | Повторитель (repeater), концентратор (hub) |
|
---|