Э. Таненбаум - Компьютерные сети. (4-е издание) (PDF) (1130118), страница 16
Текст из файла (страница 16)
С появлением широковещательных сетей в модель потребовалось ввести новый подуровень. Когда же на базе модели OSI начали строитьреальные сети с использованием существующих протоколов, обнаружилось, чтоони не соответствуют требуемым спецификациям служб. Поэтому в модель пришлось добавить подуровни для устранения несоответствия. Наконец, изначально ожидалось, что в каждой стране будет одна сеть, управляемая правительствоми использующая протоколы OSI, поэтому никто и не думал об объединении различных сетей.
В действительности все оказалось не так.С моделью TCP/IP было все наоборот: сначала появились протоколы, а ужезатем была создана модель, описывающая существующие протоколы. Таким образом, не было проблемы с соответствием протоколов модели. Они ей соответствовали прекрасно. Единственной проблемой было то, что модель не соответствовала никаким другим стекам протоколов. В результате она не использовалась дляописания каких-нибудь других сетей, отличных от TCP/IP.Если взглянуть на эти две модели поближе, то прежде всего обратит на себявнимание различие в количестве уровней: в модели OSI семь уровней, в моделиTCP/IP — четыре.
В обеих моделях имеются межсетевой, транспортный и прикладной уровни, а остальные уровни различные.Еще одно различие между моделями лежит в сфере возможности использования связи на основе соединений и связи без установления соединения.
МодельOSI на сетевом уровне поддерживает оба типа связи, а на транспортном уровне — только связь на основе соединений (поскольку транспортные службы являются видимыми для пользователя). В модели TCP/IP на сетевом уровне естьтолько один режим связи (без установления соединения), но на транспортномуровне он поддерживает оба режима, предоставляя пользователям выбор. Этотвыбор особенно важен для простых протоколов «запрос — ответ».Некоторые критические замечания мы рассмотрим в данном и в следующем разделах. Сначала проанализируем модель OSI, а затем TCP/IP.В то время, когда вышло второе (английское. — Примеч. ред.) издание этойкниги (1989), многим экспертам в данной области казалось, что модель OSI и еепротоколы завоюют весь мир и вытеснят все остальное.
Этого не случилось. Почему? Может быть, полезно оглянуться и учесть некоторые из уроков этой истории. Основных причин неудачи модели OSI было четыре:••••несвоевременность;неудачная технология;неудачная реализация;неудачная политика.НесвоевременностьПрежде всего рассмотрим причину номер один: несвоевременность.
Для успехастандарта чрезвычайно важно, в какое время он устанавливается. У Дэвида Кларка (David Clark) из M.I.T. есть теория стандартов, которую он называет апокалипсисом двух слонов (рис. 1.19).NataHaus.RUКритика модели и протоколов OSIНи описанные ранее модели (OSI и TCP/IP), ни их протоколы не являются совершенными.
Довольно много критики было высказано по поводу обеих моделей.71ИсследованияМиллиардныеинвестицииВремяРис. 1.19. Апокалипсис двух слоновНа этом рисунке изображена активность, сопровождающая любую новую разработку. Открытие новой темы вначале вызывает всплеск исследовательской активности в виде дискуссий, статей и собраний. Через некоторое время наступаетспад активности, эту тему открывают для себя корпорации, и в результате в нееинвестируются миллиарды долларов.Существенным является то, что стандарты пишутся именно в период междуДвумя «слонами».
Если их создавать слишком рано, прежде чем закончатся исследования, предмет может оказаться еще слишком мало изучен и понят, чтоповлечет принятие плохих стандартов. Если создавать их слишком поздно, компании могут успеть вложить деньги в несколько отличные от стандартов технологии, так что принятые стандарты могут оказаться проигнорированными. Еслиинтервал между двумя пиками активности будет слишком коротким (а все стре-72Глава 1. ВведениеЭталонные моделимятся делать деньги как можно быстрее), разработчики стандартов могут простоне успеть их выработать.Теперь становится ясно, почему стандартные протоколы OSI потерпели неудачу. К моменту их появления среди исследовательских университетов уже получили широкое распространение конкурирующие с ними протоколы TCP/IP.И хотя волна инвестиций еще не обрушилась на данную область, рынок университетов был достаточно широк для того, чтобы многие разработчики стали осторожно предлагать продукты, поддерживающие протоколы TCP/IP.
Когда жепоявился OSI, разработчики не захотели поддерживать второй стек протоколов;таким образом, начальных предложений не было. Каждая компания выжидала,пока первым начнет кто-нибудь другой, поэтому OSI так никто и не стал поддерживать.Плохая технологияВторой причиной, по которой модель OSI не была реализована, оказалось несовершенство как самой модели, так и ее протоколов. Выбор семиуровневой структуры стал больше политическим решением, чем техническим.
В результате двауровня (сеансовый и уровень представления) почти пусты, тогда как два других(сетевой и передачи данных) перегружены.Эталонная модель OSI вместе с соответствующими определениями служб ипротоколами оказалась невероятно сложной. Если сложить в стопку распечаткуофициального описания стандартов, получится кипа бумаги высотой в один метр.Модель тяжело реализуема и неэффективна в работе.
В этом контексте вспоминается шутка Пола Мокапетриса (Paul Mockapetris), процитированная в издании Rose, 1993.Вопрос. Что получится, если скрестить гангстера с международным стандартом?Ответ. Человек, делающий вам предложения, которые вы не способны понять.Еще одна проблема, помимо невозможности понять стандарты OSI, заключалась в том, что некоторые функции, такие как адресация, управление потоком иобработка ошибок, повторялись снова и снова в каждом уровне. Так, например,в книге Saltzer и др. (1984) указывается, что для того, чтобы контроль за ошибками был эффективным, он должен осуществляться на самом верхнем уровне, поэтому повторение его снова и снова на каждом уровне часто оказывается излишним и неэффективным.73щества пользователей.
Это вызвало исправления и улучшения реализации, в результате чего сообщество пользователей еще выросло. В данном случае обратнаясвязь явно была положительной.Неудачная политикаИз-за особенностей первоначальной реализации многие, особенно в университетских кругах, считали TCP/IP частью системы UNIX. А к системе UNIX в университетских кругах в 80-е годы испытывали чувства, средние между родительскими(в те времена некорректно по отношению к правам мужского населения называемые материнскими) и чувствами к яблочному пирогу.С другой стороны, OSI считался детищем европейских телекоммуникационных министерств, Европейского сообщества и (позднее) правительства США.Все это было лишь отчасти верным, однако сама мысль о группе правительственных чиновников, пытающихся протолкнуть неудачный в техническом отношениистандарт в глотки бедных исследователей и программистов, прокладывавшихкомпьютерные сети в траншеях, не способствовала продвижению этой модели.Кое-кто рассматривал это развитие в том же свете, что и заявления корпорацииIBM, сделанные в 1960 году, о том, что PL/I будет языком будущего, или Министерства обороны, поправлявшего позднее это утверждение своим заявлением,что в действительности таким языком будет Ada.NataHaus.RUКритика эталонной модели TCP/IPНеудачная реализацияУчитывая огромную сложность модели и протоколов, громоздкость и медлительность первых реализаций не стали неожиданностью.
Неудачу потерпели все, ктопопытался реализовать эту модель. Поэтому вскоре понятие «OSI» стало ассоциироваться с плохим качеством. И хотя со временем продукты улучшились, ассоциации остались.Первые реализации TCP/IP, основанные на Berkley UNIX, напротив, былидостаточно хороши (не говоря уже о том, что они были открытыми). Они довольно быстро вошли в употребление, что привело к появлению большого сооб-У модели TCP/IP и ее протоколов также имеется ряд недостатков.
Во-первых,в этой модели нет четкого разграничения концепций служб, интерфейса и протокола. При разработке программного обеспечения желательно провести четкое разделение между спецификацией и реализацией, что весьма тщательно делает OSIи чего не делает TCP/IP. В результате модель TCP/IP довольно бесполезна приразработке сетей, использующих новые технологии.Во-вторых, модель TCP/IP отнюдь не является общей и довольно плохо описывает любой стек протоколов, кроме TCP/IP.
Так, например, описать технологию Bluetooth с помощью модели TCP/IP совершенно невозможно.В-третьих, хост-сетевой уровень в действительности не является уровнем втом смысле, который обычно используется в контексте уровневых протоколов.Это скорее интерфейс между сетью и уровнями передачи данных. Различие между интерфейсом и уровнем является чрезвычайно важным, и здесь не следуетбыть небрежным.В-четвертых, в модели TCP/IP не различаются физический уровень и уровень передачи данных. Об этом различии даже нет упоминания.