Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 20
Текст из файла (страница 20)
Обратите внимание на то, чтомы сравниваем именно эталонные модели, а не соответствующие им стеки протоколов.Сами протоколы будут обсуждаться несколько позднее. Книга (Piscitello и Chapin,1993) целиком посвящена сравнению моделей TCP/IP и OSI.Для модели OSI центральными являются три концепции.1. Службы.2.
Интерфейсы.3. Протоколы.Вероятно, наибольшим вкладом модели OSI стало явное разделение этих трехконцепций. Каждый уровень предоставляет некоторые сервисы для расположенноговыше уровня. Сервис определяет, что именно делает уровень, но не то, как он это делаети каким образом объекты, расположенные выше, получают доступ к данному уровню.Интерфейс уровня определяет способ доступа к уровню для расположенных вышепроцессов. Он описывает параметры и ожидаемый результат. Он также ничего не сообщает о внутреннем устройстве уровня.Наконец, равноранговые протоколы, применяемые в уровне, являются внутреннимделом самого уровня. Для выполнения поставленной ему задачи (то есть предоставления сервиса) он может использовать любые протоколы.
Кроме того, уровень можетменять протоколы, не затрагивая работу приложений более высоких уровней.Эти идеи очень хорошо соответствуют современным идеям объектно-ориентированного программирования. Уровень может быть представлен в виде объекта,обладающего набором методов (операций), к которым может обращаться внешнийпроцесс. Семантика этих методов определяет набор служб, предоставляемых объектом.Параметры и результаты методов образуют интерфейс объекта.
Внутреннее устройствообъекта можно сравнить с протоколом уровня. За пределами объекта оно никого неинтересует и никому не видно.Изначально в модели TCP�������������������������������������������������������������������������������������������������������������/����������������������������������������������������IP��������������������������������������������������не было четкого разделения между службами, интерфейсом и протоколами, хотя и производились попытки изменить это, чтобы сделать ееболее похожей на модель OSI. Так, например, единственными настоящими сервисами,предоставляемыми межсетевым уровнем, являются SEND IP PACKET (послать IPпакет) и RECEIVE IP PACKET (получить IP-пакет).В результате в модели OSI протоколы скрыты лучше, чем в модели TCP/IP, и приизменении технологии они могут быть относительно легко заменены.
Возможность66 Глава 1. Введениепроводить подобные изменения, не затрагивая другие уровни, является одной изглавных целей многоуровневых протоколов.Эталонная модель OSI была разработана прежде, чем были изобретены протоколыдля нее. Такая последовательность событий означала, что эта модель не была настроенана какой-то конкретный набор протоколов, что делало ее универсальной. Обратнойстороной такого порядка действий было то, что у разработчиков было мало опытав данной области и не было четкого представления о том, какие функции должен выполнять каждый уровень.Например, уровень передачи данных изначально работал только в сетях с передачей от узла к узлу.
С появлением широковещательных сетей в модель потребовалосьввести новый подуровень. В дальнейшем, когда на базе модели OSI начали строитьреальные сети с использованием существующих протоколов, обнаружилось, что онине соответствуют требуемым спецификациям служб. Поэтому в модель пришлось добавить подуровни для устранения несоответствия. Наконец, изначально ожидалось,что в каждой стране будет одна сеть, управляемая правительством и использующаяпротоколы OSI, поэтому никто и не думал об объединении различных сетей.
В действительности все оказалось не так.С моделью TCP/IP было все наоборот: сначала появились протоколы, а уже затембыла создана модель, описывающая существующие протоколы. Таким образом, небыло проблемы с соответствием протоколов модели. Они ей соответствовали прекрасно. Единственной проблемой было то, что модель не соответствовала никаким другимстекам протоколов. В результате она не использовалась для описания каких-нибудьдругих сетей, отличных от TCP/IP.Если взглянуть на эти две модели поближе, то, прежде всего, обратит на себя внимание различие в количестве уровней: в модели OSI семь уровней, в модели TCP/IP — четыре. В обеих моделях имеются межсетевой, транспортный и прикладнойуровни, а остальные уровни различные.Еще одно различие между моделями лежит в сфере возможности использованиясвязи на основе соединений и связи без установления соединения.
Модель OSI насетевом уровне поддерживает оба типа связи, а на транспортном уровне — толькосвязь на основе соединений (поскольку транспортные службы являются видимымидля пользователя). В модели TCP/IP на сетевом уровне есть только один режим связи(без установления соединения), но на транспортном уровне она поддерживает обарежима, предоставляя пользователям выбор. Этот выбор особенно важен для простыхпротоколов запрос-ответ.1.4.5. Критика модели и протоколов OSIНи описанные выше модели (OSI и TCP/IP), ни их протоколы не являются совершенными.
Довольно много критики было высказано по поводу обеих моделей. Некоторыекритические замечания мы рассмотрим в данном и в следующем разделах. Сначалапроанализируем модель OSI, а затем TCP/IP.В то время, когда вышло второе (английское. — Примеч.
ред.) издание этой книги(1989), многим экспертам в данной области казалось, что модель OSI и ее протоколызавоюют весь мир и вытеснят все остальное. Этого не случилось. Почему? Может быть,1.4. Эталонные модели 67полезно оглянуться и учесть некоторые из причин этого. Основных причин неудачимодели OSI было четыре:ÊÊ несвоевременность;ÊÊ неудачная технология;ÊÊ неудачная реализация;ÊÊ неудачная политика.НесвоевременностьПрежде всего рассмотрим причину номер один: несвоевременность. Для успехастандарта чрезвычайно важно, в какое время он устанавливается.
У Дэвида Кларка(David Clark) из M.I.T. есть теория стандартов, которую он называет апокалипсисомдвух слонов (рис. 1.21).Рис. 1.21. Апокалипсис двух слоновНа этом рисунке изображена активность, сопровождающая любую новую разработку. Открытие новой темы вначале вызывает всплеск исследовательской активностив виде дискуссий, статей и собраний. Через некоторое время наступает спад активности, эту тему открывают для себя корпорации, и в результате в нее инвестируютсямиллиарды долларов.Существенным является то, что стандарты пишутся именно в период между двумя«слонами».
Если их создавать слишком рано, прежде чем закончатся исследования,предмет может оказаться еще слишком мало изучен и понят, что повлечет принятие плохих стандартов. Если создавать их слишком поздно, компании могут успетьвложить деньги в несколько отличные от стандартов технологии, так что принятыестандарты могут оказаться проигнорированными. Если интервал между двумя пиками активности будет слишком коротким (а все стремятся делать деньги как можнобыстрее), разработчики стандартов могут просто не успеть их выработать.Теперь становится ясно, почему стандартные протоколы OSI потерпели неудачу.К моменту их появления среди исследовательских университетов уже получилиширокое распространение конкурирующие с ними протоколы TCP/IP.
И хотя волна68 Глава 1. Введениеинвестиций еще не обрушилась на данную область, рынок университетов был достаточно широк для того, чтобы многие разработчики стали осторожно предлагатьпродукты, поддерживающие протоколы TCP�����������������������������������������������������������������������������/������������������������������������IP����������������������������������. Когда же появился ��������������OSI�����������, разработчики не захотели поддерживать второй стек протоколов; таким образом, начальныхпредложений не было.
Каждая компания выжидала, пока первым начнет кто-нибудьдругой, поэтому OSI так никто и не стал поддерживать.Плохая технологияВторой причиной, по которой модель �������������������������������������������OSI����������������������������������������не была реализована, оказалось несовершенство как самой модели, так и ее протоколов. Выбор семиуровневой структуры сталбольше политическим решением, чем техническим.
В результате два уровня (сеансовый и уровень представления) почти пусты, тогда как два других (сетевой и передачиданных) перегружены.Эталонная модель OSI�������������������������������������������������������������������������������������������������������������вместе с соответствующими определениями служб и протоколами оказалась невероятно сложной. Если сложить в стопку распечатку официального описания стандартов, получится кипа бумаги высотой в один метр.