Сетевая модель и терминология OSI
В какой-то момент истории модели OSI многие люди думали, что OSI выиграет битву сетевых моделей, обсуждавшихся ранее. Если бы это произошло, вместо работающего стека TCP/IP на каждом компьютере в мире эти компьютеры работали бы с OSI.
Однако OSI не выиграла эту битву. Фактически, OSI больше не существует как сетевая модель, которую можно было бы использовать вместо TCP/IP, хотя некоторые из исходных протоколов, на которые ссылается модель OSI, всё еще существуют.
Итак, почему OSI упоминается даже в этой серии статей? Терминология. В те годы, когда многие люди думали, что модель OSI станет обычным явлением в мире сетевых технологий (в основном в конце 1980-х – начале 1990-х годов), многие производители и документы протоколов начали использовать терминологию модели OSI. Эта терминология сохраняется и сегодня. Итак, хотя вам никогда не придется работать с компьютером, использующим OSI, для понимания современной сетевой терминологии вам всё-таки необходимо кое-что понимать об OSI.
Сравнение названий и номеров уровней OSI и TCP/IP
С концептуальной точки зрения модель OSI имеет много общего с моделью TCP/IP. Она содержит уровни, и каждый уровень определяет набор типовых сетевых функций. Как и в случае с TCP/IP, каждый уровень OSI относится к нескольким протоколам и стандартам, которые реализуют функции, определенные этим уровнем. В других случаях, как и в случае TCP/IP, комитет OSI не создавал новые протоколы или стандарты, а вместо этого ссылался на другие протоколы, которые уже были определены. Например, IEEE определяет стандарты Ethernet, поэтому комитет OSI не тратил время на определение нового типа Ethernet; он просто ссылался на стандарты IEEE Ethernet.
Сегодня модель OSI можно использовать как стандарт для сравнения с другими сетевыми моделями. На рисунке 1 сравнивается семиуровневая модель OSI с четырехуровневой и пятиуровневой моделями TCP/IP.
Обратите внимание, что используемая сегодня модель TCP/IP в правой части рисунка использует те же названия уровней, что и OSI на нижних уровнях. Функции, как правило, также совпадают, поэтому при обсуждении сети и чтении сетевой документации думайте об этих четырех нижних уровнях как об эквивалентных по названию, количеству и значению.
Несмотря на то, что сегодня в мире используется TCP/IP, а не OSI, мы, как правило, используем нумерацию уровней OSI. Например, когда речь идет о протоколе прикладного уровня (уровня приложений) в сети TCP/IP, мир по-прежнему называет этот протокол «протоколом уровня 7» (Layer 7 protocol). Кроме того, в то время как TCP/IP включает больше функций на уровне приложений, OSI разбивает его на сеансовый уровень, уровень представления и прикладной уровень. В большинстве случаев никто не заботится о различиях, поэтому вы, возможно, увидите такие фразы, как «протокол уровня 5–7» (Layer 5–7 protocol), опять же с использованием нумерации OSI.
Для целей данной серии статей необходимо знать соответствие между пятиуровневой моделью TCP/IP и семиуровневой моделью OSI, показанное на рисунке 1, и знать, что ссылка на уровень 7 на самом деле соответствуют уровню приложений модели TCP/IP.
Терминология инкапсуляции данных в OSI
Как и TCP/IP, каждый уровень OSI запрашивает услуги у следующего нижнего уровня. Для предоставления этих услуг каждый уровень использует заголовок и, возможно, трейлер (концевик). Нижний уровень инкапсулирует данные верхнего уровня после своего заголовка.
OSI использует более общий термин для обозначения сообщений (а не кадр, пакет и сегмент как в TCP/IP). OSI использует термин «блок данных протокола» (PDU, protocol data unit). PDU представляет биты, которые включают в себя заголовок и трейлер (концевик) для заданного уровня, а также инкапсулированные данные. Например, IP-пакет, как показано на рисунке 2 в стать «Терминология инкапсуляции данных», используя терминологию OSI, является PDU, а точнее PDU уровня 3 (сокращенно L3PDU), поскольку IP является протоколом уровня 3. OSI просто ссылается на PDU уровня x (LxPDU), где x – это номер обсуждаемого уровня, как показано на рисунке 2.