Сидни Фейт - TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Протоколы классифицируются также по уровню требований. Некоторые протоколы являются стандартами, другие применяются только в специальных целях. Отдельные протоколы утратили свою полезность, и их применение отменено. Формальные требования отражают статус протокола:
■ Required (требуется использовать)
■ Recommended (рекомендован к применению)
■ Elective (необязателен)
■ Limited Use (ограниченное использование)
■ Not recommended (не рекомендован к применению)
Текущий статус и состояние протоколов Интернета описываются в RFC, называемом IAB Official Protocol Standards (официальные стандарты протоколов IAB). Этот документ периодически изменяется, отражая изменение номеров RFC.
1.7.2 Присвоенные номера
Сетевые параметры, специальные сетевые адреса, имена служб и стандартные идентификаторы терминалов либо компьютерных систем перечислены в RFC с именем Assigned Numbers (присвоенные номера).
Присвоенные номера Интернета администрируются организацией авторизации присвоенных номеров (Internet Assigned Numbers Authority — IANA), расположенной в настоящее время в Институте информационных служб университета Южной Калифорнии.
Документ Assigned Numbers содержит почтовые адреса, номера телефонов и адреса электронной почты, которые разработчики протоколов могут использовать для регистрации информации об авторизации.
1.7.3 RFC и стимулирование сетевого взаимодействия продуктов различных производителей
То, что пользователи не должны придерживаться только одной компьютерной архитектуры, стало главной причиной одобрения TCP/IP в качестве коммуникационных стандартов правительственными учреждениями США. Эти организации желали покупать оборудование на рынке с реальной конкуренцией, когда предъявляемым требованиям удовлетворяет продукция различных разработчиков. Принятие и обслуживание стандартов должно было привести к снижению цен и лучшему качеству услуг.
Однако при использовании оборудования различных производителей возникает несколько проблем:
■ Стандарты часто содержат необязательные возможности. При реализации различными производителями это может усложнить взаимодействие.
■ Разработчики иногда не до конца понимают требования стандартов, вследствие чего их продукты работают не вполне корректно.
■ Возможны ошибки в спецификациях стандартов.
■ Некоторые реализации, даже при аккуратном соблюдении системным администратором всех требований, могут не обеспечивать должной гибкости и более точной настройки конфигурационных параметров для повышения производительности.
■ Отдельная система с неудовлетворительными характеристиками пересылки или приема/передачи данных (за счет использования неэффективных алгоритмов) может снизить производительность всех систем сети.
Два документа RFC (октябрь 1989 г.) были посвящены как указанным проблемам, так и коррекции ошибок, разъяснению определений, спецификации необязательных возможностей, перечислению конфигурационных параметров и идентификации наиболее производительных алгоритмов. Наиболее важно то, что в этих документах специфицируются единые требования к реализации хостов. В прошлом сказывалось отсутствие этих документов. Корректность операций, взаимодействие и производительность существенно улучшились при строгом соблюдении требований следующих RFC:
RFC 1122, Requirements for Internet Hosts — Communication Layers (Требования к хостам Интернета — уровни взаимодействия). В этом документе описывается уровень связи данных, IP и TCP.
RFC 1123, Requirements for Internet Hosts — Application and Support (Требования к хостам Интернета — приложения и их поддержка). Этот документ определяет удаленную регистрацию, пересылку файлов, электронную почту и различные прикладные службы.
В 1995 г. был опубликован документ, относящийся к операциям маршрутизаторов:
RFC 1812 Requirements for IP Version 4 Routers (Требования к маршрутизаторам для протокола IP версии 4).
1.7.4 Связанные документы
Серия RFC не содержит спецификаций протоколов и была опубликована как отдельный набор документов For Your Information (FYI — К вашему сведению). Например: RFC 1325 Answers to commonly asked "new Internet user" questions (Ответы на наиболее распространенные вопросы новых пользователей Интернета).
Еще одна серия, Internet Engineering Notes (IEN — Заметки по технологии Интернета), содержит набор дискуссионных материалов, написанных еще в первые годы разработки протоколов Интернета.
1.8 Другие информационные ресурсы
В Интернете существует множество WWW-серверов и общедоступных файловых систем, которые размещаются в университетах, исследовательских центрах и коммерческих организациях. В этих системах предлагается различная информация о сетях, например: копии RFC, заметки об обсуждении новых алгоритмов, отчеты о тестировании производительности, исходные коды инструментов мониторинга работы сетевых протоколов, бесплатное программное обеспечение и сведения о программных продуктах. Каждый пользователь Интернета, способный передавать файлы или работать в браузере WWW, может скопировать любой из этих документов или исходных кодов.
Некоторые сети соединены с Интернетом посредством шлюзов электронной почты. Пользователи хостов таких сетей не имеют возможностей для пересылки файлов. К счастью, многие информационные системы обеспечивают распространение информации в виде сообщений электронной почты.
1.9 Open System Interconnection
Взаимодействие открытых систем (Open System Interconnection — OSI) стало результатом международных усилий по созданию компьютерных коммуникационных стандартов и базовых прикладных служб. Формально OSI разработана в рамках Международной организации по стандартизации (International Organization for Standardization — ISO), созданной для поддержки обмена и кооперации в сфере научных исследований и технологий. Стандарты ISO публикуются как документы этой организации.
Модель OSI (OSI model) стала обязательной частью любого курса обучения сетевым технологиям. Эта модель отражает базовые понятия, касающиеся идентификации места каждого протокола в общей схеме коммуникации.
Протоколы OSI используются только на небольшом числе европейских сайтов, но IETF опубликовала несколько RFC, относящихся к взаимодействию окружений TCP/IP и OSI.
Глава 2
Обзор служб набора протоколов TCP/IP
2.1 Введение
Почему семейство протоколов TCP/IP получило столь широкое распространение? Прежде всего, благодаря способности к взаимному объединению гетерогенных локальных и глобальных сетей. Не менее важной является способность создавать основы для коммуникаций "равный с равным" (peer-to-peer), а также базовых служб поверх такого взаимодействия. Кроме того, с самого начала протоколы TCP/IP ориентировались на поддержку взаимодействия типа клиент/сервер.
2.2 Коммуникации между приложениями
Существует два основных типа взаимодействия между приложениями. Первый тип — связи, ориентированные на создание соединения (connection-oriented), — применяется при работе приложения с потоком данных. Второй вариант — связи без создания соединения (connectionless) — предполагает обмен независимыми сообщениями и подходит для случайных взаимодействий между приложениями при небольшом объеме пересылаемых данных.
2.2.1 Коммуникации с созданием соединений (TCP)
Протокол TCP (Transmission Control Protocol) отвечает в TCP/IP за надежные коммуникации с созданием соединения по принципу "равный с равным". Сеанс регистрации с терминала и пересылка файлов выполняются с помощью TCP.
2.2.2 Коммуникации без создания соединений (UDP)
Некоторые операции обмена данными не требуют постоянного взаимодействия систем. Например, база данных на сетевом сервере может содержать таблицы имен сотрудников компании и их телефонные номера. Узнать номер телефона конкретного сотрудника можно при передаче на сервер запроса с указанием имени этого сотрудника. Сервер должен будет ответить сообщением, содержащим соответствующий телефонный номер. Такой тип взаимодействия поддерживается протоколом пользовательских датаграмм (User Datagram Protocol — UDP).
2.2.3 Интерфейс программирования socket
Реализации TCP/IP обычно предоставляют для разработчиков коммуникационный программный интерфейс. Многие из таких интерфейсов основаны на программном интерфейсе socket (дословно — "штепсельная розетка", "гнездо"), который первоначально был разработан для операционной системы Unix университета Беркли.