Протокол - это свод официальных правил поведения. В международных отношениях протоколы призваны воспрепятствовать возникновению проблем, вызванных культурными различиями стран. Оговаривая ряд общих правил, которые широко известны и не привязаны к обычаям конкретной нации, дипломатические протоколы минимизируют возможные недоразумения: всем известно, как следует себя вести и как интерпретировать поведение других сторон. Точно так же, чтобы компьютеры смогли общаться, необходимо определить набор правил, которым подчиняется это общение.
В обмене данными подобные наборы правил также называют протоколами. В гомогенных сетях правила передали данных определяются единственным поставщиком компьютеров и направлены на эффективное использование операционной системы и аппаратной архитектуры. Гомогенная сеть в нашей аналогии - это культура отдельной страны, которую могут назвать домом лишь ее граждане. TCP/IP создает гетерогенную сеть с открытыми протоколами, не зависящими от деталей архитектуры компьютера и реализации операционной системы. Протоколы TCP/IP доступны всем, они развиваются и изменяются по единодушному решению, а не по распоряжению конкретного производителя. Кто угодно может создавать продукцию, соответствующую спецификациям этих открытых протоколов.
Открытая природа протоколов TCP/IP требует открытости процесса разработки стандарта и свободного доступа к соответствующим документам. Разработка стандартов Интернета происходит на открытых сессиях комитета по технологической поддержке сети Интернет (Internet Engineering Task Force, IETF). Разработанные таким образом протоколы публикуются в виде документов RFC (Request for Comments, запрос комментариев).Как и следует из названия, стилистика и содержание этих документов гораздо менее строги, чем в большинстве стандартов. Документы RFC содержат широкий спектр интересных и полезных сведений и не ограничиваются формальными спецификациями протоколов обмена данными. Существует три основных типа документов RFC: стандарты (standards, STD), современные практики (best current practices, ВСР), а также уведомляющие (for your information, FYI).
Документы RFC, определяющие официальные стандарты протоколов, обозначаются аббревиатурой STD и получают STD-номера в дополнение к RFC-номерам. Создание официального стандарта Интернета - строго последовательный процесс. Стандарты RFC становятся таковыми, лишь пройдя через три уровня зрелости:
Заявка стандарта (Proposed Standard)
Спецификация протокола, который является достаточно важным и уже получил достаточно широкую поддержку интернет-сообщества, чтобы предлагаться в качестве стандарта. Такая спецификация прозрачна и закончена, но не является стандартом, и, более того, может никогда не достигнуть статуса стандарта.
Проект стандарта (Draft Standard)
Спецификация протокола, для которой существует по меньшей мере две независимых, взаимозаменяемых реализации. Проект стандарта- это окончательная спецификация, используемая в широком тестировании. Проект изменяется лишь в том случае, когда этого требуют результаты тестирования.
Стандарт Интернета (Internet Standard)
Спецификация получает статус стандарта лишь после всеобъемлющего тестирования и лишь в том случае, когда применение определенного этой спецификацией протокола может принести значительную выгоду интернет-сообществу.
Стандарты делятся на две категории. Техническая спецификация (Technical Specification, TS) дает определение протокола. Формулировка применимости (Applicability Statement, AS) описывает случаи, когда протокол следует применять. Применимость стандарта имеет три возможных уровня:
Обязательный (Required)
Стандартный протокол, является обязательной частью любой реализации TCP/IP. Стек протоколов должен включать этот протокол, чтобы соответствовать стандарту.
Рекомендованный (Recommended)
Стандартный протокол, рекомендованный к включению во все реализации TCP/IP. Его присутствие не является обязательным условием.
Факультативный (Elective)
Факультативный стандарт. Решение по реализации принимает разработчик конкретного пакета приложений.
Два других уровня применимости (ограниченного применения и не рекомендован) связаны с документами RFC, существующими обособленно от процесса стандартизации. Протокол «ограниченного применения» используется только в особых случаях, скажем, в ходе экспериментов. Протоколы, «не рекомендованные» к применению, являются устаревшими либо имеют ограниченную функциональность. Документы RFC, не принадлежащие процессу стандартизации, бывают трех типов:
Экспериментальные (Experimental)
Применение экспериментальных документов RFC ограничено исследованиями и разработкой.
Исторические (Historic )
Исторические RFC являются устаревшими, их применение не рекомендуется.
Уведомляющие (Informational)
Уведомляющие документы RFC содержат информацию, представляющую интерес для широких слоев сообщества сети Интернет, но не содержат определений протоколов. Подмножество уведомляющих RFC носит имя уведомлений FYI (For Your Information, примите к сведению). Документу FYI, помимо номера RFC, присваивается еще и номер FYI. Эти документы содержат вводный и подготовительный материал по сети Интернет и сетям TCP/IP в целом. Документы FYI не упомянуты в RFC 2026 и не являются составляющей процесса стандартизации. Тем не менее некоторые документы FYI представляют интерес.
Вторая группа документов RFC, лежащих за пределами задачи документирования протоколов, носит имя ВСР (Best Current Practices, лучшие современные практики). Задачей документов ВСР является формальное документирование методов и процедур. Некоторые из них описывают принципы, которым подчиняются действия самой организации IETF; примером такого ВСР-документа может послужить RFC 2026. Прочие содержат рекомендации по функционированию сетей или служб (для примера возьмем RFC 1918, Address Allocation for Private Internets, выделение адресов в закрытых интернет-сетях). Документы ВСР последнего типа зачастую представляют особый интерес для сетевых администраторов.
В настоящее время существует более трех тысяч документов RFC. Так или иначе, администратору систем, объединенных в сеть, придется прочесть некоторые из них. Важно не только уметь понять эти документы в процессе чтения, но и знать, какие именно следует читать. Чтобы определить, как RFC соответствуют случаю, воспользуйтесь категориями и уровнями применимости. (Для начала неплохо сосредоточить внимание на тех документах RFC, которым присвоен номер STD.) Для понимания прочитанного необходимо понимание языка, на котором происходит обмен данными. Документы RFC определяют спецификации для реализаций протоколов в терминах языка, который является уникальным для обмена данными.