Еженедельник "Computerworld", #02, 2003 год // Издательство "Открытые Системы" (http://www.osp.ru/)
Постоянный адрес статьи: http://www.osp.ru/cw/2003/02/026_1.htm

Юбилей TCP/IP

Леонид Черняк

21.01.2003

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

Джонатан Постел вынес в 1979 году на рассмотрение общественности окончательную спецификацию протокола TCP/IP Version 3
Ирония судьбы: событие, возможно, более значимое для человечества, чем, скажем, полет на Луну, остается недопонятым, поэтому — недооцененным. Почему? Ответ вполне очевиден: к Internet уже успели привыкнуть, причем так быстро, что можно лишь удивляться. Ведь если не считать «эмбрионального» периода развития, публичная жизнь глобальной сети длиться не более 15 лет. Свидетельством этого служит такой факт: «Нью-Йорк Таймс» начала упоминать на своих страницах Internet только начиная с 1988 года — до этого он был глубокой «академической провинцией». Более близкий пример: еще пару лет назад в Москве были единицы Internet-кафе, а сейчас их количество не поддается оценке. Сегодня Internet-услуги не менее доступны, чем другие коммунальные службы. За считанные годы Сеть стала таким же обыденным бытовым явлением, как газ или электричество, — а кому интересно знать устройство газопровода, по которому мы получаем топливо?

Для большинства пользователей по определению не может быть важным сообщение о том, что 1 января 1983 года предшественница Internet сеть ARPAnet была полностью переведена с протокола Network Control Protocol (NCP) на протокол TCP/IP (Transmission Control Protocol/Internet Protocol). В такой чисто технической интерпретации событие выглядит не более интересным, чем трансформация любой иной инфраструктуры.

Когда говорят о смене протокола, о переходе с NCP на TCP/IP, часто упускают из виду одно наиважнейшее обстоятельство: принятие именно этого протокола стало оформлением столь привычной нам современной сетевой философии, которая и привела к появлению децентрализованной и практически самоуправляемой информационной инфраструктуры. Поворот событий, приведший к тому, что развитие Сети пошло именно в подобном «анархическом» направлении, — большая удача для нас всех. При другом раскладе все могло бы быть совсем иначе. О TCP/IP так много говорят и пишут в специальных изданиях, что он невольно представляется чем-то незыблемым, и из большинства публикаций можно сделать вывод о том, что появление именно этого стека протоколов является неизбежной производной эволюционного процесса.

На самом деле все не так однозначно и просто. Важно подчеркнуть, что триумф Internet стал возможен благодаря тому, что идеологами новых коммуникаций стали специалисты-компьютерщики, зараженные духом либерализма, но при этом работавшие на деньги военных, а не традиционно занимающие эту нишу связисты. Связисты имели неплохие шансы повернуть телекоммуникации в более удобном для себя направлении. Конфликты между этими двумя лагерями были настолько серьезными и затяжными, что даже получили название «война протоколов». Это было типичное противостояние поколений. Телефония существует с 80-х годов XIX века, и за более чем столетнюю историю этой технологии в большинстве стран сформировались национальные телекоммуникационные монополии, привычные к централизованному подходу и иерархической структуре, ориентированной на соединение и создание обычных или виртуальных цепей.

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

Чтобы понять суть противоречий, следует сделать небольшое отступление и вернуться к ARPAnet. Эту сеть вполне справедливо считают прямой предтечей Internet, но, скорее, не по использованным техническим решениям, а потому, что и ARPAnet, и Internet создавала практически одна и та же команда специалистов, которая всего на несколько лет опережала коллективы, работавшие в других странах. Этот временной гандикап и финансовые возможности, предоставленные им администрацией США, обеспечивали американской команде преимущества перед конкурентами. На ARPAnet были отработаны приемы создания сетей, основанных на коммутации пакетов. Но ARPAnet недолго была единственной сетью. Идеи коммутации пакетов буквально витали в воздухе, и в разных странах, в том числе в СССР, стали создавать аналогичные сети. Наиболее известна среди них французская сеть Cyclades, тоже на основе коммутации пакетов, разработанная в 1974 году под руководством Луиса Пуссена. В 1981 году на ее основе во Франции была внедрена уникальная сеть Minitel, поставленная France Telecom. Minitel или, как ее иначе называют, Teletel, представляет собой зримый пример того, в каком направлении могло бы пойти развитие, если бы инициативу по созданию глобальных сетей перехватили связисты. Это простейшие терминалы, устанавливавшиеся бесплатно, централизованные информационно-справочные ресурсы. Все удобно, дешево, но далеко от того функционального богатства, которое может дать Internet. ARPAnet не только стимулировала отдельные проекты, но и дала толчок к созданию целого ряда альтернативных международных стандартов, X.25. Со временем на основе этого стандарта была создана первая коммерческая служба на основе коммутации пакетов — Telenet, позже переименованная в Sprint X.25 service.

TCP/IP: первые десять лет

Абсолютизировать 1 января 1983 года не стоит. Стек протоколов TCP/IP создавался долго, он имеет почти десятилетнюю предысторию. Впервые о TCP/IP было сказано в 1973 году на заседании International Network Working Group, прошедшем в Великобритании. Здесь Роберт Кан и Винт Серф выступили с проектом статьи, которая позже, в мае 1974 года, была опубликована в одном из самых престижных журналов Transactions on Communications, который издавал институт IEEE. В статье, озаглавленной A Protocol for Packet Network Intercommunication, были изложены основы будущего протокола TCP/IP. Каждый из соавторов внес свою лепту. Кан был одним из ведущих сотрудников компании BBN, которая изготовила связное оборудование для ARPAnet, и самостоятельно подошел к идеям, близким к TCP, а Серф занимался аналогичными задачами в Стэндфордском университете.

Главная идея, предложенная авторами, состояла в том, чтобы перенести обеспечение надежности коммуникаций из сети в подключенные к ней серверы. Идея оказалась блестящей, она пришлась по вкусу и либерально настроенным ученым, и военным одновременно. После этого протокол начал жить своей жизнью, пока еще под названием TCP. К совершенствованию нового протокола приложили руку многие инженеры и ученые, и к октябрю 1977 года его работу удалось продемонстрировать не только в ARPAnet, но и в пакетной радиосети и спутниковой сети SATNET.

К разработке протокола подключились Джонатан Постел и Дэни Коэн. Они и Кан с Серфом пришли к выводу о необходимости разделить протокол на две части: так появились «близнецы-братья» TCP и IP. Часть TCP отвечает за разбиение сообщения на датаграммы, за сборку их на стороне получателя, обнаружение ошибок и восстановление порядка пакетов, если он был нарушен в процессе передачи. IP, или Internet Protocol, отвечает за маршрутизацию отдельных датаграмм. К 1978 году окончательно оформилось то, что сегодня мы называем TCP/IP.

Одними из первых преимущества TCP/IP оценили норвежские специалисты, которые уже в 1982 году подключились к ARPAnet. Вскоре к такому же решению пришли в Калифорнийском университете Лос-Анджелеса. Таким образом, можно сказать, что Internet начал действовать еще до официального перехода, юбилей которого отмечается. Тогда же появились официальные определения: internet со строчной буквы — это множество объединенных сетей, а Internet с прописной — множество сетей, объединенных по TCP/IP. Вскоре было принято и решение о принятии TCP в качестве стандарта Министерства обороны США и о последующем выделении военного сегмента сети MILnet. В это же время произошли другие весьма важные события. Протокол TCP/IP вошел в Berkeley Unix (4.2 BSD), что стало толчком для появления целого поколения компьютеров — рабочих Unix-станций.

Возможность состоявшегося в 1984 году разделения одной и той же технологии, разработанной под руководством ARPA, на два принципиально разных сегмента — Internet и MILnet — очень показательно. Дело в том, что она изначально разрабатывалась как технология двойного назначения и в итоге оказалась одинаково удобной, как для широкой публики, благодаря простоте масштабирования, так и для военных, поскольку обладала высокой выживаемостью.

X.25 против TCP/IP

Открывшиеся перспективы использования глобальных сетей для передачи данных в дополнение к голосу не могли не привлечь к себе внимание заинтересованных компаний, и в первую очередь монополиста того времени — IBM. Корпорация и далее пыталась усилить свою монополию, предложив технологию SNA. Телефонные операторы должны были найти какое-то общее для них решение. В середине 70-х годов главным координирующим органом связистов CCITT (ныне ITU-T) был предложен собственный стандарт сети с коммутацией пакетов X.25. Этот протокол представляет собой альтернативу TCP/IP и построен по принципам, близким связистам: «сложная» сеть и «простые» устройства в ней. Дальнейшее развитие этот подход получил в технологии Asynchronous Transfer Mode. Хотя в стандартах X.25 и ATM пакеты коммутируются, эти стандарты все же сохраняют близость к традиционной телефонии, так как воспроизводят виртуальные подключения. И это не недостаток, а просто другое видение проблемы.

Стандарты X.25 и TCP/IP можно назвать антиподами. X.25 гарантирует безошибочную передачу пакетов средствами самой сети, не предъявляя значительных требований к терминалам. Напротив, Internet по определению должен обеспечить высокое качество обслуживания при низкокачественных сетях, например, в случае если часть сетевой инфраструктуры будет разрушена атомной бомбой. Живучесть Internet обеспечивает протокол TCP, а в X.25 те же функции реализует сама сеть. International Standards Organization в 1975 году выступила с проектом Open Systems Interconnection (ISO/TC 97/SC 16 1978, 60), который отражал опасения в отношении монополизации глобальных сетей и стремление найти консенсус с CCITT, с одной стороны, и Минобороны США — с другой. В 1977 году была опубликована модель Open Systems Interconnection. В 1983 году она была принята Национальным бюро стандартов США, а в 1987 году — и Пентагоном. Протокол X.25 был принят ISO как один из «открытых» протоколов.


Еженедельник "Computerworld", #02, 2003 год // Издательство "Открытые Системы" (http://www.osp.ru/)
Постоянный адрес статьи: http://www.osp.ru/cw/2003/02/026_1.htm

free counters

free counters