Общепринятым для технической документации является термин октет (octet), который всегда определяет ровно 8 бит данных. В книге мы будем использовать слова "байт" и "октет" как синонимы, а для обозначения байтов, не равных 8 бит, применять термин "логический байт" (logical byte).
I.3.9 Стиль "тупоконечников" и "остроконечников"
Некоторые компьютеры хранят данные начиная от наиболее значимого бита. Такой стиль называется стилем "тупоконечников" (Big Endian). Однако другие компьютеры первым размещают менее значимый бит — стиль "остроконечников" (Little Endian; — Оба выражения заимствованы из романа Дж. Свифта "Путешествие Гулливера". — Прим. пер.)
Аналогичные названия имеют и стили для стандартов коммуникационного обмена данными, которые зависят от очередности передачи битов.
Стандарты для протоколов Интернета предполагают стиль "тупоконечников". Однако некоторые организации, например Институт инженеров по электротехнике и электронике (IEEE), предлагают при передаче начинать пересылку с битов или байтов наименьшей значимости (для обычных арабских чисел наименьшую значимость имеет крайняя правая цифра, а наибольшую — крайняя левая. — Прим. пер.).
I.4 Реализации с использованием оборудования различных производителей
В отличие от использовавшихся ранее лицензионных сетевых протоколов TCP/IP реализованы на компьютерах различных производителей и могут использовать программное обеспечение независимых компаний.
Реализация базировалась на принятых стандартах и бесплатном программном обеспечении, разработанном добровольцами. Строгие ограничения содержатся в дополнительных документах Host Requirements (требования к хостам) и Router Requirements (требования к маршрутизаторам).
Достигается определенный уровень взаимодействия систем, и конечные пользователи убеждаются, что нужные приложения прекрасно работают друг с другом.
Однако, если заглянуть за кулисы происходящих событий, можно обнаружить, что иногда разработчики ограничивают некоторые возможности с целью достичь большей производительности или улучшить процедуру исправления ошибок. Часто разработчики программного обеспечения просто не до конца понимают некоторые детали стандартов и в результате не реализуют в своих продуктах имеющиеся возможности.
Следовательно, любой из описанных в этой книге механизмов необязательно будет реально реализован в любом из программных продуктов. При покупке программного обеспечения TCP/IP для хоста нужно всегда проверять его на соответствие документу Host Requirements. Разработчик должен ответить на все вопросы о реализации в своем продукте любой из определенных в этом документе возможностей (эти возможности определяются как "должен и обязан" — must and should).
Разработчикам программного обеспечения можно рекомендовать внимательно изучить по этой книге все, что должны поддерживать протоколы, равно как и то, каким образом это должно быть реализовано. Однако одной этой книги будет недостаточно. Дело в том, что стандарты TCP бесплатно доступны в интерактивном виде (см. приложение В). Эти документы постоянно находятся в состоянии доработки — в них включаются новые возможности и более совершенные механизмы реализации и исключаются устаревшие разделы.
I.5 Диалоги
В книге приведено много примеров интерактивных диалогов (листингов работы пользователя). Текстовые диалоги были получены на компьютерах компании Sun Microsystems. Во многих примерах работа проводилась с хостом tigger.jvnc.net, который находится в Принстоне (Нью-Джерси). Это большой сервер, обслуживаемый провайдером Global Enterprise Systems (GES), который ранее назывался JVNC (именно поэтому имя сервера заканчивается на jvnc.net). Статистические данные о работе этого сервера заслуживают внимания, поскольку он взаимодействует через Интернет со многими хостами по всему миру. Несколько примеров были получены на компьютерах Йельского университета.
TCP/IP реализованы с помощью похожих пользовательских интерфейсов и наборов команд на различных типах компьютеров. Поэтому приведенные примеры диалогов будут очень похожи или полностью идентичны для совершенно разных систем. В текстовых диалогах вводимые пользователем фрагменты выделены полужирным шрифтом, а приглашения и ответы компьютера набраны обычным шрифтом.
Несколько примеров представляют работу с графическим пользовательским интерфейсом (Graphical User Interface — GUI) для приложений TCP/IP, выполняющихся на компьютерах Windows и Macintosh. Некоторые из этих примеров показывают работу приложения Chameleon компании Netmanage и браузера Netscape Navigator компании Netscape, Inc. Отдельные экраны получены в HP Open View for Windows Workgroup Node Manager компании Hewlett-Packard и NSLookup for Windows компании Ashmount Research Ltd. Работа электронной почты демонстрируется на примере Eudora компании Qualicomm для компьютеров Macintosh.
I.6 Дополнительная литература
Как и в любой другой работе по цифровым коммуникациям, в данной книге множество аббревиатур. Все они представлены в приложении А. Глоссарий содержит определение всех встречающихся в книге терминов.
В приложении В приведен список документов, которые определяют TCP/IP и связанные с этими протоколами возможности. Приложение С посвящено службам сетевых информационных центров (Network Information Center — NIC). Там же рассмотрены способы обращения в эти центры. Приложение D содержит примеры более эффективного использования IP-адресов (маски подсети переменной длины).
Глава 1
TCP/IP: что это такое и откуда взялось
1.1 Введение
В конце 60-х гг. Агентство перспективных исследовательских проектов (Advanced Research Project Agency — ARPA) Министерства обороны США (позднее переименованное в DARPA) начало сотрудничать с университетами и другими исследовательскими организациями в области новых технологий обмена данными.
Все эти организации совместно разработали Сеть агентства перспективных исследовательских проектов (Advanced Research Project Agency Network — ARPANET), первую сеть с коммутацией пакетов. Экспериментальный вариант этой сети из четырех узлов был запущен в эксплуатацию в 1969 г. Реализация прошла успешно, а ее возможности были протестированы на сети, протянувшейся через всю территорию США. В 1975 г. Агентство оборонных коммуникаций взяло на себя ответственность за эксплуатацию созданной сети, которая все еще рассматривалась как экспериментальный вариант.
1.1.1 Зарождение TCP/IP
Первые протоколы ARPANET работали медленно и часто приводили к краху сетевых коммуникаций. В статье Винтона Г. Серфа и Роберта Е. Кана A Protocol for Packet Network Interconnections (журнал IEEE Transactions of Communications, май 1974 г.) был предложен новый набор основных протоколов. В этой работе были заложены основы для последующей разработки протокола Интернета (IP) и протокола управления передачей (TCP). Начиная с 1980 г., потребовалось около трех лет для преобразования хостов ARPANET на новые протоколы (число хостов к тому времени приближалось к 100).