Физический канальный сетевой. Как работает модель OSI.

Начну с определения, как это принято. Модель OSI - это теоретическая идеальная модель передачи данных по сети. Это означает, что на практике вы никогда не встретите точного совпадения с этой моделью, это эталон, которого придерживаются разработчики сетевых программ и производители сетевого оборудования с целью поддержки совместимости своих продуктов. Можно сравнить это с представлениями людей об идеальном человеке - нигде не встретишь, но все знают, к чему нужно стремиться.

Мы не будем упоминать здесь слишком много протоколов, потому что мы уже обсуждали их в отдельной статье. Что касается структуры самой модели, то можно сказать, что между более высоким уровнем она всегда использует услуги на одном этаже ниже. То, что находится под ним, не обязательно учитывать, что является очень мощным технологическим упрощением. Отдельные слои взаимодействуют друг с другом через протоколы в рамках одной «патры», вертикальные коммуникации обеспечивают интерфейсы. После этого краткого введения мы можем теперь сосредоточиться на активности отдельных слоев.

Сразу хочу обозначить один ньюанс - то, что передаётся по сети в пределах модели OSI, я буду называть данными, что не совсем корректно, но чтобы не путать начинающего читателя терминами, я пошёл на компромис с совестью.

Ниже представлена наиболее известная и наиболее понятная схема модели OSI. В статье будут ещё рисунки, но первый предлагаю считать основным:

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

Уровень канала отвечает за основную логическую организацию сети - он позволяет объединять двух соседей, строить схемы, обнаруживать и исправлять ошибки. Он или она отвечает за отчет о физическом адресе или организует переключение кругов. Сетевой уровень намного интереснее и может быть сказано гораздо больше, чем первые два. Это обеспечивает поиск адресов между узлами, пакетов маршрутизации, подключения новых узлов к сетям и т.д. в новых вариантах он поддерживает большое количество гарантий безопасности или поддержки мобильности.

Таблица состоит из двух колонок, на первоначальном этапе нас интересует лишь правая. Читать таблицу будем снизу вверх (а как иначе:)). На самом деле это не моя прихоть, а делаю так для удобства усвоения информации - от простого к сложному. Поехали!

В правой части вышеозначенной таблицы снизу вверх показн путь данных, передаваемых по сети (например, от вашего домашнего роутера до вашего комьютера). Уточнение - если читать уровни OSI снизу вверх, то это будет путь данных на принимающей стороне, если сверху вниз, то наоборот - отправляющей. Надеюсь, пока понятно. Чтобы развеять окончательно сомнения, вот вам ещё схемка для наглядности:

Если у вас есть время, можно выделить этот слой студентам очень детально, как подключить узел к сети, сказать что-то о статусе и неопределенной конфигурации; Или как только устанавливается контакт между узлом и микшером. На этом этапе также можно коснуться проблемы топологии сети.

Транспортный уровень относительно близок к сети. Его цель - обеспечить связь и передачу данных между двумя узлами. Это можно сделать как комбинированное обслуживание или наилучшие усилия. С технической точки зрения также необходимо рассмотреть вопрос о справедливости - как эффективно использовать сеть и что любое количество станций может быть подключено к сети.


Чтобы проследить путь данных и происходящие с ними изменения по уровням, достаточно представить, как они движутся вдоль синей линии на схеме, сначала продвигаясь сверху вниз по уровням OSI от первого компьютера, затем снизу вверх ко второму. Теперь более детально разберём каждый из уровней.

Реляционный уровень предоставляет службы, относящиеся к отдельным соединениям. Сегодня, скорее всего, он обеспечивает безопасность, но также позволяет синхронизировать время и данные, обмениваться экстренными уведомлениями и т.д. этот уровень также обеспечивает доступ к файлам, данным или периферийным устройствам в локальных сетях.

Слой презентации сейчас относительно искусственный. Его цель - преобразовать данные в форму, которую может использовать прикладной уровень, при использовании служб реляционного уровня. Речь идет о структуре данных, а не о их значении. Уровень приложения предоставляет приложениям доступ к среде связи. Он включает в себя поддержку удаленного доступа, серверные службы, электронную почту и многое другое.

1) Физический (phisical) - к нему относится так называемая "среда передачи данных", т.е. провода, оптический кабель, радиоволна (в случае безпроводных соединений) и подобные. Например, если ваш компьютер подключен к интернету по кабелю, то за качество передачи данных на первом, физическом уровне, отвечают провода, контакты на конце провода, контакты разъёма сетевой карты вашего компьютера, а также внутренние электрические схемы на платах компьютера. У сетевых инженеров есть понятие "проблема с физикой" - это означает, что специалист усмотрел виновником "непередачи" данных устройство физического уровня, например где-то оборван сетевой кабель, или низкий уровень сигнала.

Над этим слоем находятся отдельные приложения, которые используют сетевые службы и, конечно же, пользователь. Если комментарий к протоколам привязан к отдельным слоям, студенты могут получить четкое представление о том, как компьютерные сети выглядят и работают.

Несомненно, мы будем сталкиваться с вопросом о том, что было бы хорошо для сетей сказать еще. Разумеется, необходимо будет выделить область безопасности, которая естественно предлагается здесь в связи с нападениями на серверы, кибертерроризмом и другими темами. Разумеется, можно было бы говорить о специфике частных сетей и общественных сетей или рассматривать основные различия между шерстью и водной сетью.

2) Канальный (datalink) - тут уже намного интереснее. Для понимания канального уровня нам придётся сначала усвоить понятие MAC-адреса, поскольку именно он будет главным действующим лицом в этой главе:). MAC-адрес ещё называют "физическим адресом", "аппаратным адресом". Представляет он собой набор из 12-и символов в шестнадцатиричной системе исчисления, разделённые на 6 октетов тире или двоеточием, например 08:00:27:b4:88:c1. Нужен он для однозначной идентификации сетевого устройства в сети. Теоритически, MAC-адрес является глобально уникальным, т.е. нигде в мире такого адреса быть не может и он "зашивается" в сетевое устройство на стадии производства. Однако, есть несложные способы его сменить на произвольный, да к тому же некоторые недобросовестные и малоизвестные производители не гнушаются тем, что клепают например, партию из 5000 сетевых карт с ровно одним и тем же MAC`ом. Соответственно, если как минимум два таких "брата-акробата" появятся в одной локальной сети, начнутся конфликты и проблемы.

Речь идет о дидактическом обсуждении, следует ли перейти в сферу услуг связи, таких как мобильные технологии, или сохранить только классические компьютерные сети в информатике. Изучив литературу, попробуйте ответить на вопросы здесь. Если ответ не ясен, вернитесь к учебной литературе. Только если вы не можете найти ответ, когда читаете литературу, читайте несколько раз, чтобы подготовить подходящие вопросы для учебника или учебника.

Передайте методы совместного использования медиафайлов

Как максимальная скорость передачи передаваемых данных на каждой реальной передаваемой среде ограничена сверху? Почему модуляция используется для передачи данных? Какие основные типы модуляции вы знаете? Объясните термин «структурированные кабели». Какие методы можно использовать для совместного использования среды передачи, которая обеспечивает пропускную способность, чтобы одновременно передавать несколько сигналов? Объясните основной принцип этих методов.

Обмен каналами

Безопасность передачи данных, схемы подтверждения. Этого достаточно для положительного, соответственно. отрицательное подтверждение? Объясните принцип схем подтверждения остановки и ожидания и групповой трансляции. При каких условиях остановка и ожидание будут очень неэффективными и когда их можно будет использовать? Объясните принцип группового вещания с использованием алгоритма скользящего окна. Какова роль передатчиков и приемных буферов, подтверждений и временных ограничений? Почему и где используются линейные протоколы? Какова общая структура и как правило структура? Объясните разницу между побитовыми и байт-ориентированными протоколами.

Сеть, активные элементы и их принципы

Как администратор может создать активную топологию и почему она может быть полезной? Почему бы нам не получить достаточно коммутаторов для подключения разных типов локальных сетей, но нужен ли нам маршрутизатор?

Коммутируемые сети, виртуальные сети

Алгоритмы маршрутизации и маршрутизации. Объясните термины «Пользовательский агент», «Агент передачи сообщений» и «Почтовый ящик». Какие протоколы используются для отправки сообщений электронной почты и что вы используете для удаленного извлечения сообщений из почтовых ящиков? Каков уровень аутентификации и шифрования в обычных почтовых и загрузочных протоколах? Предоставьте примеры данных в заголовке сообщения. Кто может изменять заголовок сообщения? Как электронные письма могут отправлять текстовое сообщение с нетекстовым контентом и многочастными сообщениями? Опишите, как почтовый клиент вашей рабочей станции получает сообщение получателю через Интернет. Почему он называется неустойчивым и каковы его ограничения для полнофункционального брандмауэра?
  • Какие побочные эффекты влияют на сигнал, передаваемый средой?
  • Какие физические свойства среды затронуты?
  • Можно ли полностью их устранить?
  • Физические свойства реальной среды переноса зависят от частоты?
  • Приведите примеры таких физических свойств.
  • Какую топологию компьютерных сетей вы знаете?
  • Каковы преимущества и недостатки каждого из них?
  • Какие носители вы знаете?
  • В чем преимущества и недостатки каждого типа?
  • Почему необходимо реализовать метод доступа к общему каналу в локальных сетях?
  • Почему необходимо подтверждение при передаче данных в компьютерной сети?
  • Объясните преимущества многоуровневой архитектуры коммуникационных систем.
  • Какие сетевые элементы вы знаете?
  • Почему нам часто нужен маршрутизатор для подключения сетей того же типа?
  • Объясните функцию переключателя.
  • Как переключатель отличается от моста?
  • Объясните, что означает виртуальная сеть.
  • В чем преимущество их развертывания?
  • Объясните концепцию разметки кадра.
  • Что такое неклассифицированные адреса и какова используется маска подсети?
  • Каковы частные адреса и для чего они используются?
  • Почему и при каких обстоятельствах происходит фрагментация?
  • Какие протоколы используются на этом уровне в Интернете?
  • С какими активными элементами маршрутизации пакетов?
  • Объясните концепцию таблицы маршрутизации.
  • Какова структура доменного имени?
  • Какие операторы журналов гарантируют, что файл будет считан и сохранен?
  • Что такое протокол транспортного уровня, который используется таким образом?
  • Какова структура сообщения электронной почты?
  • Какие параметры могут быть переданы через него?
  • Каково преимущество перед настройкой статической станции?
  • Как отличается симметричная и асимметричная криптографическая система?
  • Какова точка доступа?
  • Как это происходит с реалистичными скоростями?
Разумеется, использование дробилок - не единственный способ подключения разных частей мира.

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

Кроме того, есть и другие способы, соответственно. Возможности взаимодействия, через так называемые ретрансляторы, мосты, коммутаторы или ворота. Он отличается от одного конкретного способа работы, но это также их общая философия и решительность. Вместе все эти устройства называются «активными сетевыми элементами» - активными, поскольку теги, которые проходят через них, не только пассивны, но и как-то активно работают с ними: усиливают, оценивают и т.д. для полноты есть также перечисленные устройства Дополнительные функциональные возможности локальной сети и, следовательно, комфорт пользователя.

3) Сетевой (network) - "священный" уровень, понимание принципа функционирования которого большей частью и делает сетевого инженера таковым. Здесь уже железной рукой правит "IP-адрес", здесь он - основа основ. Благодаря ниличию IP-адреса становится возможным передача данных между компьютерами, не входящими в одну локальную сеть. Передача данных между разными локальными сетями называется маршрутизацией, а устройства, позволяющие это делать - маршрутизаторами (они же роутеры, хотя в последние годы понятие роутера сильно извратилось).

Радиаторы используются в сетях, которые не слишком широки, или там, где необходимо расширить существующее возможное количество подключенных станций. Каждый разделитель может быть выровнен с сегментом коаксиальной сети, то есть, То, что воронка отправляется на все станции. В какой-то момент передача сигнала опосредуется только для одного передатчика и для передатчика. Остальные станции ждут выхода канала передачи. Таким образом, кластер является областью коллизий, а также сегментом коаксиального кабеля.

Учитывая вышеизложенные принципы, очевидно, что использование ускорителей в таких сетях, где оно не преодолевает слишком много тяжелой сети, что увеличило бы количество столкновений до тех пор, пока сеть не будет перегружена. Это определение больше недействительно сегодня, так как их цены находятся на одном уровне по сравнению с переключением в текущее время.

Итак, IP-адрес - если не вдаваться в детали, то это некий набор 12 цифр в десятеричной ("обычной") системе исчисления, разделённые на 4 октета, разделённых точкой, который присваиватеся сетевому устройству при подключении к сети. Тут нужно немного углубиться: например, многим известен адрес из ряда 192.168.1.23. Вполне очевидно, что тут никак не 12 цифр. Однако, если написать адрес в полном формате, всё становится на свои места - 192.168.001.023. Ещё глубже копать не будем на данном этапе, поскольку IP-адресация - это отдельная тема для рассказа и показа.

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

4) Транспортный уровень (transport) - как следует из названия, нужен именно для доставки и отправки данных до адресата. Проведя аналогию с нашей многострадальной почтой, то IP-адрес это собственно адрес доставки или получения, а транспортный протокол - это почтальон, который умеет читать и знает, как доставить письмо. Протоколы бывают разные, для разных целей, но смысл у них один - доставка.

Транспортный уровень последний, который по большому счёту интересует сетевых инженеров, системных администраторов. Если все 4 нижних уровня отработали как надо, но данные не дошли до пункта назначения, значит проблему нужно искать уже в программном обеспечении конкретного компьютера. Протоколы так называемых верхних уровней сильно волнуют программистов и иногда всё же системных администраторов (если он занимается обслуживанием серверов, например) . Поэтому дальше я опишу назначение этих уровней вскользь. К тому же, если посмотреть на ситуацию объективно, чаще всего на практике функции сразу нескольких верхних уровней модели OSI берёт на себя одно приложение или служба, и невозможно однозначно сказать, куда её отнести.

5) Сеансовый (session) - управляет открытием, закрытием сеанса передачи данных, проверяет права доступа, контролиует синхронизацию начала и окончания передачи. Например, если вы качаете какой-нибудь файл из интернета, то ваш браузер (или через что вы там скачиваете) отправляет запрос серверу, на котором находится файл. На этом моменте включаются сеансовые протоколы, которые и обеспечивают успешное скачивание файла, после чего по идее автоматически выключаютя, хотя есть варианты.

6) Представительский (presentation) - подготавливает данные к обработке конечным приложением. Например, если это текстовый файл, то нужно проверить кодировку (чтобы не получилось "крякозябров"), возможно распаковать из архива.... но тут как-раз явно прослеживается то, о чём я писал ранее - очень тяжело отделить, где заканчивается представительский уровень, а где начинается следующий:

7) Прикладной (Приложения (application)) - как видно из названия, уровень приложений, которые пользуются полученными данными и мы видим результат трудов всех уровней модели OSI. Например, вы читаете этот текст, потому что его открыл в верной кодировке, нужным шрифтом и т.д. ваш браузер.

И вот теперь, когда у нас есть хотя бы общее понимание технологии процесса, считаю необходимым поведать о том, что такое биты, кадры, пакеты, блоки и данные. Если помните, в начале статьи я просил вас не обращать внимание на левую колонку в основной таблице. Итак, настало её время! Сейчас мы пробежимся снова по всем уровням модели OSI и узрим, как простые биты (нули и единицы) превращаются в данные. Идти будем так же снизу вверх, дабы не нарушать последовательности усвоения материала.

На физическом уровне мы имеем сигнал. Он может быть электрическим, оптическим, радиоволновым и т.п. Пока что это даже не биты, но сетевое устройство анализирует получаемый сигнал и преобразует его в нули е единицы. Этот процесс называется "аппаратное преобразование". Дальше, уже внутри сетевого устройства, биты объединяются в байты (в одном байте восемь бит), обрабатываются и передаются на канальный уровень.

На канальном уровне мы имеем так называемый кадр. Если грубо, то это пачка байт, от 64 до 1518-и в одной пачке, из которых коммутатор читатет заголовок, в котором записаны MAC-адреса получателя и отправителя, а также техническая информация. Увидев совпадения MAC-адреса в заголовке и в своей таблице коммутации (памяти), коммутатор передаёт кадры с такими совпадениями устройству назначения

На сетевом уровне ко всему этому добру ещё добавляются IP-адреса получателя и отправителя, которые извлекаются всё из того же заголовка и называется это пакет .

На транпортном уровне пакет адресуется соответствующему протоколу, код которому указан в служебной информации заголовка и отдаётся на обслуживание протоколам верхних уровней, для которых уже это и есть полноценные данные, т.е. информация в удобоваримой, пригодной для использования приложениями форме.

На схеме ниже это будет видно более наглядно:


Несмотря на то что протоколы, связанные с эталонной моделью OSI, используются сейчас очень редко, сама модель до сих пор весьма актуальна, а свойства ее уровней, которые будут обсуждаться в этом разделе, очень важны. В эталонной модели TCP/IP все наоборот - сама модель сейчас почти не используется, а ее протоколы являются самыми распространенными. Исходя из этого, мы обсудим подробности, касающиеся обеих моделей.

Эталонная модель OSI

Эталонная модель OSI (за исключением физической среды) показана на рис. 1.16. Эта модель основана на разработке Международной организации по стандарти­зации (International Organization for Standardization, ISO) и является первым ша­гом к международной стандартизации протоколов, используемых на различных уровнях (Day и Zimmerman, 1983). Затем она была пересмотрена в 1995 году (Day, 1995). Называется эта структура эталонной моделью взаимодействия от­крытых систем ISO (ISO OSI (Open System Interconnection) Reference Model), поскольку она связывает открытые системы, то есть системы, открытые для свя­зи с другими системами. Для краткости мы будем называть эту модель просто «модель OSI».

Модель OSI имеет семь уровней. Появление именно такой структуры было обусловлено следующими соображениями.

1. Уровень должен создаваться по мере необходимости отдельного уровня абстракции.

2. Каждый уровень должен выполнять строго определенную функцию.

3. Выбор функций для каждого уровня должен осуществляться с учетом создания стандартизированных международных протоколов.

4. Границы между уровнями должны выбираться так, чтобы поток данных между интерфейсами был минимальным.

5. Количество уровней должно быть достаточно большим, чтобы различные функции не объединялись в одном уровне без необходимости, но не слишком высоким, чтобы архитектура не становилась громоздкой.

Далее мы обсудим каждый уровень модели, начиная с самого нижнего. Обра­тите внимание: модель OSI не является сетевой архитектурой, поскольку она не описывает службы и протоколы, используемые на каждом уровне. Она просто определяет, что должен делать каждый уровень. Тем не менее ISO также разработала стандарты для каждого уровня, хотя эти стандарты не входят в саму эталонную модель. Каждый из них был опубликован как отдельный международный стандарт.

Физический уровень

Физический уровень занимается реальной передачей необработанных битов по каналу связи. При разработке сети необходимо убедиться, что когда одна сторона передает единицу, то принимающая сторона получает также единицу, а не ноль. Принципиальными вопросами здесь являются следующие: какое напряжение должно использоваться для отображения единицы, а какое - для нуля; сколько микросекунд длится бит; может ли передача производиться одновременно в двух направлениях; как устанавливается начальная связь и как она прекращается, когда обе стороны закончили свои задачи; из какого количества проводов должен состоять кабель и какова функция каждого провода. Вопросы разработки в основном связаны с механическими, электрическими и процедурными интерфейсами, а также с физическим носителем, лежащим ниже физического уровня.

Уровень передачи данных

Основная задача уровня передачи данных - быть способным передавать «сырые» данные физического уровня по надежной линии связи, свободной от необнаруженных ошибок с точки зрения вышестоящего сетевого уровня. Уровень выполняет эту задачу при помощи разбиения входных данных на кадры, обычный размер которых колеблется от нескольких сотен до нескольких тысяч байт. Кадры данных передаются последовательно с обработкой кадров подтверждения, отсылаемых обратно получателем.

Еще одна проблема, возникающая на уровне передачи данных (а также и на большей части более высоких уровней), - как не допустить ситуации, когда быстрый передатчик заваливает приемник данными. Должен быть предусмотрен некий механизм регуляции, который информировал бы передатчик о наличии свободного места в буфере приемника на текущий момент. Часто подобное управление объединяется с механизмом обработки ошибок.

В широковещательных сетях существует еще одна проблема уровня передачи данных: как управлять доступом к совместно используемому каналу. Эта проблема разрешается введением специального дополнительного подуровня уровня передачи данных - подуровня доступа к носителю.

Сетевой уровень

Сетевой уровень занимается управлением операциями подсети. Важнейшим моментом здесь является определение маршрутов пересылки пакетов от источника к пункту назначения. Маршруты могут быть жестко заданы в виде таблиц и редко меняться. Кроме того, они могут задаваться в начале каждого соединения, например терминальной сессии. Наконец, они могут быть в высокой степени динамическими, то есть вычисляемыми заново для каждого пакета с учетом текущей загруженности сети.

Если в подсети одновременно присутствует слишком большое количество пакетов, то они могут закрыть дорогу друг другу, образуя заторы в узких местах. Недопущение подобной закупорки также является задачей сетевого уровня. В бо­лее общем смысле сетевой уровень занимается предоставлением определенного уровня сервиса (это касается задержек, времени передачи, вопросов синхронизации).

При путешествии пакета из одной сети в другую также может возникнуть ряд проблем. Так, способ адресации, применяемый в одной сети, может отличаться от принятого в другой. Сеть может вообще отказаться принимать пакеты из-за того, что они слишком большого размера. Также могут различаться протоколы, и т. д. Именно сетевой уровень должен разрешать все эти проблемы, позволяя объединять разнородные сети.

В широковещательных сетях проблема маршрутизации очень проста, поэтому в них сетевой уровень очень примитивный или вообще отсутствует.

Транспортный уровень

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

Транспортный уровень также определяет тип сервиса, предоставляемого сеансовому уровню и, в конечном счете, пользователям сети. Наиболее популярной разновидностью транспортного соединения является защищенный от ошибок канал между двумя узлами, поставляющий сообщения или байты в том порядке, в каком они были отправлены. Однако транспортный уровень может предоставлять и другие типы сервисов, например пересылку отдельных сообщений без гарантии соблюдения порядка их доставки или одновременную отправку сообщения различным адресатам по принципу широковещания. Тип сервиса определяется при установке соединения. (Строго говоря, полностью защищенный от ошибок канал создать невозможно. Говорят лишь о таком канале, уровень ошибок в котором достаточно мал, чтобы ими можно было пренебречь на практике.)

Транспортный уровень является настоящим сквозным уровнем, то есть доставляющим сообщения от источника адресату. Другими словами, программа на машине-источнике поддерживает связь с подобной программой на другой машине при помощи заголовков сообщений и управляющих сообщений. На более низких уровнях для поддержки этого соединения устанавливаются соединения между всеми соседними машинами, через которые проходит маршрут сообщений.

Сеансовый уровень

Сеансовый уровень позволяет пользователям различных компьютеров устанавливать сеансы связи друг с другом. При этом предоставляются различные типы сервисов, среди которых управление диалогом (отслеживание очередности передачи данных), управление маркерами (предотвращение одновременного выполнения критичной операции несколькими системами) и синхронизация (установка служебных меток внутри длинных сообщений, позволяющих после устранения ошибки продолжить передачу с того места, на котором она оборвалась).

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

В отличие от более низких уровней, задача которых - достоверная передача битов и байтов, уровень представления занимается по большей части синтаксисом и семантикой передаваемой информации. Чтобы было возможно общение компьютеров с различными представлениями данных, необходимо преобразовывать форматы данных друг в друга, передавая их по сети в неком стандартизированном виде. Уровень представления занимается этими преобразованиями, предоставляя возможность определения и изменения структур данных более высокого уровня (например, записей баз данных).

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

Прикладной уровень содержит набор популярных протоколов, необходимых пользователям. Одним из наиболее распространенных является протокол передачи гипертекста HTTP (HyperText Transfer Protocol), который составляет основу технологии Всемирной Паутины. Когда браузер запрашивает веб-страницу, он передает ее имя (адрес) и рассчитывает на то, что сервер будет использовать HTTP. Сервер в ответ отсылает страницу. Другие прикладные протоколы используются для передачи файлов, электронной почты, сетевых рассылок.

Критика модели и протоколов OSI

Некоторое время назад, многим экспертам в данной области казалось, что модель OSI и ее протоколы завоюют весь мир и вытеснят все остальное. Этого не случилось. По­чему? Может быть, полезно оглянуться и учесть некоторые из уроков этой истории. Основных причин неудачи модели OSI было четыре:

Несвоевременность;

Неудачная технология;

Неудачная реализация;

Неудачная политика.

Несвоевременность

Прежде всего рассмотрим причину номер один: несвоевременность. Для успеха стандарта чрезвычайно важно, в какое время он устанавливается. У Дэвида Клар­ка (David Clark) из M.I.T. есть теория стандартов, которую он называет апокалипсисом двух слонов.


На этом рисунке изображена активность, сопровождающая любую новую разработку. Открытие новой темы вначале вызывает всплеск исследовательской активности в виде дискуссий, статей и собраний. Через некоторое время наступает спад активности, эту тему открывают для себя корпорации, и в результате в нее инвестируются миллиарды долларов.

Существенным является то, что стандарты пишутся именно в период между двумя «слонами». Если их создавать слишком рано, прежде чем закончатся исследования, предмет может оказаться еще слишком мало изучен и понят, что повлечет принятие плохих стандартов. Если создавать их слишком поздно, компании могут успеть вложить деньги в несколько отличные от стандартов технологии, так что принятые стандарты могут оказаться проигнорированными. Если интервал между двумя пиками активности будет слишком коротким (а все стремятся делать деньги как можно быстрее), разработчики стандартов могут просто не успеть их выработать.

Теперь становится ясно, почему стандартные протоколы OSI потерпели неудачу. К моменту их появления среди исследовательских университетов уже получили широкое распространение конкурирующие с ними протоколы TCP/IP. И хотя волна инвестиций еще не обрушилась на данную область, рынок университетов был достаточно широк для того, чтобы многие разработчики стали осторожно предлагать продукты, поддерживающие протоколы TCP/IP. Когда же появился OSI, разработчики не захотели поддерживать второй стек протоколов; таким образом, начальных предложений не было. Каждая компания выжидала, пока первым начнет кто-нибудь другой, поэтому OSI так никто и не стал поддерживать.

Плохая технология

Второй причиной, по которой модель OSI не была реализована, оказалось несовершенство как самой модели, так и ее протоколов. Выбор семиуровневой структуры стал больше политическим решением, чем техническим. В результате два уровня (сеансовый и уровень представления) почти пусты, тогда как два других (сетевой и передачи данных) перегружены.

Эталонная модель OSI вместе с соответствующими определениями служб и протоколами оказалась невероятно сложной. Если сложить в стопку распечатку официального описания стандартов, получится кипа бумаги высотой в один метр. Модель тяжело реализуема и неэффективна в работе.

Еще одна проблема, помимо невозможности понять стандарты OSI, заключалась в том, что некоторые функции, такие как адресация, управление потоком и обработка ошибок, повторялись снова и снова в каждом уровне. Так, например, в книге Saltzer и др. (1984) указывается, что для того, чтобы контроль за ошибками был эффективным, он должен осуществляться на самом верхнем уровне, поэтому повторение его снова и снова на каждом уровне часто оказывается излишним и неэффективным.

Неудачная реализация

Учитывая огромную сложность модели и протоколов, громоздкость и медлительность первых реализаций не стали неожиданностью. Неудачу потерпели все, кто попытался реализовать эту модель. Поэтому вскоре понятие «OSI» стало ассоциироваться с плохим качеством. И хотя со временем продукты улучшились, ассоциации остались.

Первые реализации TCP/IP, основанные на Berkley UNIX, напротив, были достаточно хороши (не говоря уже о том, что они были открытыми). Они довольно быстро вошли в употребление, что привело к появлению большого сообщества пользователей. Это вызвало исправления и улучшения реализации, в результате чего сообщество пользователей еще выросло. В данном случае обратная связь явно была положительной.

Неудачная политика

Из-за особенностей первоначальной реализации многие, особенно в университетских кругах, считали TCP/IP частью системы UNIX. А к системе UNIX в университетских кругах в 80-е годы испытывали чувства, средние между родительскими (в те времена некорректно по отношению к правам мужского населения называемые материнскими) и чувствами к яблочному пирогу.

С другой стороны, OSI считался детищем европейских телекоммуникационных министерств, Европейского сообщества и (позднее) правительства США. Все это было лишь отчасти верным, однако сама мысль о группе правительственных чиновников, пытающихся протолкнуть неудачный в техническом отношении стандарт в глотки бедных исследователей и программистов, прокладывавших компьютерные сети в траншеях, не способствовала продвижению этой модели. Кое-кто рассматривал это развитие в том же свете, что и заявления корпорации IBM, сделанные в 1960 году, о том, что PL/I будет языком будущего, или Министерства обороны, поправлявшего позднее это утверждение своим заявлением, что в действительности таким языком будет Ada.

Несмотря на все недостатки, модель OSI (кроме сеансового уровня и уровня представления) показала себя исключительно полезной для теоретических дискуссий о компьютерных сетях. Протоколы OSI, напротив, не получили широкого распространения. Для TCP/IP верно обратное: модель практически не существует, тогда как протоколы чрезвычайно популярны.

В продолжение темы:
Решения

Сейчас мало юзеров используют DVD-диски для установки ОС на компьютер. Даже компания Microsoft приняла решение продавать новую операционную систему не на «болванках», а на...

Новые статьи
/
Популярные