Network Working Group S. Bradner Request for Comments: 2119 Harvard University BCP: 14 March 1997 Category: Best Current Practice
Ключевые слова для обозначения уровня требований в RFC
Key words for use in RFCs to Indicate Requirement Levels
Статус документа
Этот документ относится к категории документов BCP (Best Current Practice) для сообщества Internet. Принимаются поправки и предложения, направленные на совершенствование документа. Допускается свободное распространение документа.
Тезисы
Во многих документах, описывающих стандарты, используются модальные глаголы для обозначения уровня требований. Такие слова часто выделяются заглавными буквами1. В данном документе определяется толкование этих глаголов и производных от них слов в документах IETF. Авторам документов, следующих приведенным здесь требованиям, рекомендуется помещать в начале документов приведенный ниже текст:
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 21192.
Отметим, что “сила” этих глаголов зависит от уровня требований использующего их документа.
1. MUST – необходимо
Это слово, а также термины требуется (REQUIRED) и нужно (SHALL) используется для требований, которые являются абсолютно необходимыми в данной спецификации.
2. MUST NOT – недопустимо
Эта фраза или слова SHALL NOT (не позволяется) означают абсолютный запрет в рамках спецификации.
3. SHOULD – следует
Это слово, а также глагол рекомендуется (RECOMMENDED) используется для обозначения требований, от выполнения которых можно отказаться при наличии разумных причин. Однако при таком отказе следует помнить о возможных проблемах в результате отказа и принимать взвешенное решение.
4. SHOULD NOT – не следует
Эта фраза и глагол не рекомендуется (NOT RECOMMENDED) используются применительно к особенностям или функциям, которые допустимы и могут быть полезными, но могут вызывать проблемы. При реализации таких опций следует учитывать возможность возникновения проблем и принимать взвешенное решение.
5. MAY – возможно
Это слово, а также прилагательное необязательный (OPTIONAL) обозначают элементы, реализация которых является необязательной. Одни разработчики могут включать такие опции в свою продукцию для расширения возможностей, а другие – опускать в целях упрощения. Реализация, не включающая ту или иную опцию, должна быть готова к работе с реализациями, которые используют эту опцию (возможно совместная работа будет обеспечиваться за счет некоторого ущерба функциональности). Включающие опцию реализации должны быть готовы (естественно, без использования такой опции) к взаимодействию с реализациями, которые такую опцию не поддерживают.
6. Рекомендации по использованию
Приведенные в этом документе определения следует использовать очень аккуратно. В частности, необходимо применять их лишь там, где это действительно диктуется требованиями интероперабельности или для предотвращения ситуаций, когда может быть нанесен вред (например, для ограничения избыточных повторов передачи). Например, такие обозначения недопустимо использовать для обозначения преимуществ одной реализации по сравнению с другой, если это не продиктовано соображениями интероперабельности.
7. Вопросы безопасности
Рассматриваемые здесь термины часто используются при обсуждении вопросов безопасности. Отказ от выполнения необходимых (MUST) или рекомендуемых (SHOULD) требований или реализация недопустимых (MUST NOT)/нерекомендуемых (SHOULD NOT) может существенно влиять на безопасность. Авторы документов должны уделить внимание вопросам безопасности, чтобы не появлялись реализации с невыполненными требованиями или рекомендациями.
8. Благодарности
Определения терминов даны на основе использования этих терминов во множестве RFC. Кроме того, при подготовке документа были учтены предложения многих людей, включая Robert Ullmann, Thomas Narten, Neal McBurnett, Robert Elz.
9. Адрес автора
Scott Bradner
Harvard University
1350 Mass. Ave.
Cambridge, MA 02138
phone – +1 617 495 3864
email – [email protected]
Перевод на русский язык
Николай Малых
1 В переводах на сайте protocols.ru используется выделение жирным шрифтом. Прим. перев.
2 Ключевые слова необходимо, недопустимо, требуется, следует, не следует, рекомендуется, не рекомендуется, возможно, необязательно в данном документе должны интерпретироваться в соответствии с требованиями RFC 2119.
Уведомление: Энциклопедия сетевых протоколов
Уведомление: RFC 7444 Защитные метки в электронной почте Internet | Энциклопедия сетевых протоколов
Уведомление: RFC 5226 Guidelines for Writing an IANA Considerations Section in RFCs | Энциклопедия сетевых протоколов
Уведомление: RFC 3013 Recommended Internet Service Provider Security Services and Procedures | Энциклопедия сетевых протоколов
Уведомление: RFC 2747 RSVP Cryptographic Authentication | Энциклопедия сетевых протоколов
Уведомление: RFC 2290 Mobile-IPv4 Configuration Option for PPP IPCP | Энциклопедия сетевых протоколов
Уведомление: RFC 2794 Mobile IP Network Access Identifier Extension for IPv4 | Энциклопедия сетевых протоколов
Уведомление: RFC 3846 Mobile IPv4 Extension for Carrying Network Access Identifiers | Энциклопедия сетевых протоколов
Уведомление: RFC 2236 Internet Group Management Protocol, Version 2 | Энциклопедия сетевых протоколов
Уведомление: RFC 5492 Capabilities Advertisement with BGP-4 | Энциклопедия сетевых протоколов
Уведомление: RFC 5737 IPv4 Address Blocks Reserved for Documentation | Энциклопедия сетевых протоколов
Уведомление: RFC 5735 Special Use IPv4 Addresses | Энциклопедия сетевых протоколов
Уведомление: RFC 5936 DNS Zone Transfer Protocol (AXFR) | Энциклопедия сетевых протоколов
Уведомление: RFC 4084 Terminology for Describing Internet Connectivity | Энциклопедия сетевых протоколов
Уведомление: RFC 2597 | Энциклопедия сетевых протоколов
Уведомление: RFC 7652 Port Control Protocol (PCP) Authentication Mechanism | Энциклопедия сетевых протоколов
Уведомление: RFC 3410 Introduction and Applicability Statements for Internet Standard Management Framework | Энциклопедия сетевых протоколов
Уведомление: RFC 3471 Generalized Multi-Protocol Label Switching (GMPLS) Signaling Functional Description | Энциклопедия сетевых протоколов
Уведомление: RFC 5095 Deprecation of Type 0 Routing Headers in IPv6 | Энциклопедия сетевых протоколов
Уведомление: RFC 2784 Generic Routing Encapsulation (GRE) | Энциклопедия сетевых протоколов
Уведомление: RFC 3879 Deprecating Site Local Addresses | Энциклопедия сетевых протоколов
Уведомление: RFC 5498 IANA Allocations for Mobile Ad Hoc Network (MANET) Protocols | Энциклопедия сетевых протоколов
Уведомление: RFC 5148 Jitter Considerations in Mobile Ad Hoc Networks (MANETs) | Энциклопедия сетевых протоколов
Уведомление: RFC 3874 A 224-bit One-way Hash Function: SHA-224 | Энциклопедия сетевых протоколов