Следует помнить два важных факта о модели OSI:
Это концептуальная модель. Это означает, что он описывает идеализированную, абстрактную, теоретическую группу сетевых функций. Он не описывает ничего, что кто-то на самом деле построил (по крайней мере, ничего, что используется сегодня).
Это не единственная модель. Существуют и другие модели, в частности пакет протоколов TCP / IP (RFC-1122 и RFC-1123), который намного ближе к тому, что используется в настоящее время.
Немного истории: вы, наверное, все слышали о первых днях создания сетей с коммутацией пакетов, включая ARPANET, предшественника Интернета. В дополнение к усилиям Министерства обороны США по созданию сетевых протоколов были также задействованы несколько других групп и компаний. Каждая группа разрабатывала свои собственные протоколы в совершенно новой области коммутации пакетов. IBM и телефонные компании разрабатывали свои собственные стандарты. Во Франции исследователи работали над собственным сетевым проектом под названием Киклады.
Работа над моделью OSI началась в конце 1970-х годов, главным образом как реакция на растущее влияние крупных компаний, таких как IBM, NCR, Burroughs, Honeywell (и другие) и их проприетарных протоколов и аппаратного обеспечения. Идея заключалась в том, чтобы создать открытый стандарт, который обеспечивал бы взаимодействие между различными производителями. Но поскольку модель ИСО была международной по своему охвату, она имела много конкурирующих политических, культурных и технических интересов. Потребовалось более шести лет, чтобы прийти к консенсусу и опубликовать стандарты.
Тем временем также была разработана модель TCP / IP. Это было просто, легко реализовать и, самое главное, это было бесплатно. Вы должны были купить стандартные спецификации OSI, чтобы создать программное обеспечение для него. Все внимание и усилия по развитию тяготеют к TCP / IP. В результате модель OSI так и не была реализована в виде набора протоколов, а TCP / IP стал стандартом для Интернета.
Дело в том, что все протоколы, используемые сегодня, это набор TCP / IP; протоколы маршрутизации, такие как RIP, OSPF и BGP; и протоколы ОС хоста, такие как Windows SMB и Unix RPC, были разработаны без учета модели OSI. Иногда они имеют некоторое сходство с этим, но стандарты OSI никогда не соблюдались при их разработке. Так что глупо пытаться встроить эти протоколы в OSI. Они просто не совсем подходят.
Это не значит, что модель не имеет значения; все еще хорошая идея изучить его, чтобы вы могли понять общие понятия. Концепция уровней OSI настолько вплетена в сетевую терминологию, что мы говорим о уровнях 1, 2 и 3 в повседневной сетевой речи. Определение уровней 1, 2 и 3, если немного щуриться, довольно хорошо согласовано. Только по этой причине это стоит знать.
Наиболее важные вещи, которые нужно понять о модели OSI (или любой другой):
- Мы можем разделить протоколы на слои
- Слои обеспечивают инкапсуляцию
- Слои обеспечивают абстракцию
- Слои отделяют функции от других
Разделение протоколов на слои позволяет нам говорить об их различных аспектах отдельно. Это облегчает понимание протоколов и устранение неполадок. Мы можем легко изолировать определенные функции и сгруппировать их с аналогичными функциями других протоколов.
Каждая «функция» (в широком смысле) инкапсулирует слой (слои) над ней. Сетевой уровень инкапсулирует уровни над ним. Канальный уровень инкапсулирует сетевой уровень и т. Д.
Слои абстрагируют слои под ним. Вашему веб-браузеру не нужно знать, используете ли вы TCP / IP или что-то еще на сетевом уровне (как если бы было что-то еще). Для вашего браузера нижние уровни просто предоставляют поток данных. То, как этот поток удается показать, скрыто от браузера. TCP / IP не знает (или не заботится), используете ли вы Ethernet, кабельный модем, линию T1 или спутник. Он просто обрабатывает пакеты. Представьте, как трудно было бы разработать приложение, которое должно было бы справиться со всем этим. Уровни абстрагируют нижние уровни, поэтому разработка и эксплуатация программного обеспечения становятся намного проще.
Разделение: Теоретически вы можете заменить одну конкретную технологию другой на том же уровне. Пока уровень взаимодействует с тем, что выше и ниже, одинаково, не должно иметь значения, как он реализован. Например, мы можем удалить очень известный протокол уровня 3, IP-версию 4, и заменить его IP-версией 6. Все остальное должно работать точно так же. Для вашего браузера или кабельного модема это не должно иметь значения.
Модель TCP / IP - это то, на чем был основан пакет протоколов TCP / IP (удивительно!). Он имеет только четыре уровня, и все, что выше транспорта, является просто «приложением». Его проще понять, и он предотвращает бесконечные вопросы, такие как «Это уровень сеанса или уровень представления?». Но это тоже просто модель, а некоторые вещи не нужны. он также хорошо вписывается в него, например, протоколы туннелирования (GRE, MPLS, IPSec и многие другие).
В конечном счете, модели представляют собой способ представления невидимых абстрактных идей, таких как адреса, пакеты и биты. Пока вы помните об этом, модель OSI или TCP / IP может быть полезна для понимания работы в сети.