Network Working Group B. Fenner Internet-Draft AT&T Labs -- Research Expires: April 24, 2006 M. Duerst World Wide Web Consortium October 21, 2005 Formats for IPv6 Scope Zone Identifiers in Literal Address Formats draft-fenner-literal-zone-02 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on April 24, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract This document specifies the format to be used when specifying a zone identifier with a literal IPv6 address in URIs and IRIs, and in SMTP and Internet Mail Messages. While this combination is expected to be needed rarely, it is useful to specify the exact syntax. Fenner & Duerst Expires April 24, 2006 [Page 1] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 1. Introduction RFC 3986 [RFC3986] defines the IPv6address production for the rare case that a literal IPv6 address is required in a URI. IRIs [RFC3987] copy this syntax. The IPv6 Scoping Architecture [RFC4007] describes the syntax for specifying a zone ID to disambiguate an ambiguous scoped address. Unfortunately, the IPv6address production does not permit the format including the zone ID, so this document defines a method to specify a zone ID with a literal IPv6 address in URIs and IRIs. The Simple Mail Transfer Protocol [RFC2821]'s IPv6-address-literal production provides the same ability for SMTP, so this document defines a similar syntax to specify a zone ID with a literal IPv6 address for SMTP. While part of the reason for the deprecation of Site-Local scoped addresses [RFC3879] was due to applications needing to know about scope zones, the formats described in this document do not have the problem described in section 2.1 of that document - specifically, they always contain the zone ID, so are never ambiguous. 2. Format in URIs and IRIs The IPvFuture production in URIs and IRIs was created to allow for flexibility in defining new IP address formats. We use this flexibility in this format, to add a previously unanticipated address format for IPv6. Therefore, strings matching this grammar also match the IPvFuture production in URIs and IRIs. While the form specified in the IPv6 Scoping Architecture [RFC4007] uses a percent ("%") to separate the zone ID from the address, this form separates the zone ID from the address using an plus sign ("+"), to avoid the special meaning of the percent ("%") in URIs. ; An address matching IPv6scoped-literal also matches ; the URI/IRI spec's IP-literal with IPvFuture IPv6scoped-literal = "[v1." IPv6scoped-address "]" IPv6scoped-address = IPv6address "+" IPv6zone-id IPv6zone-id = 1*( unreserved / sub-delims / ":" ) 3. Format in SMTP Although it usage is expected to be even more rare, there may be a reason to use a zone ID in an IPv6 literal address in SMTP. An addition to the ABNF grammar used in the Simple Mail Transfer Fenner & Duerst Expires April 24, 2006 [Page 2] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 Protocol [RFC2821] follows. ; An address matching IPv6-address-scoped-literal ; also matches RFC 2821's General-address-literal production IPv6-address-scoped-literal: "IPv6z:" IPv6-addr "+" 1*dcontent (Note: while it's possible to use "%" in the SMTP case, we use "+" in order to align the SMTP and URI syntaxes.) 4. Limitations The usefulness of a URI or IRI using a literal scoped address is obviously limited to systems within the same scope. The addition of the zone identifier further limits the usefulness to the system for which the URI or IRI was generated, since zone IDs are completely local to a given host. Therefore, care must be taken to not pass these URIs blindly between systems. When both systems are aware of the relevant Zone IDs, e.g., an SNMP manager that is aware of the zone ID configuration of an agent, it is acceptable to pass these URIs between systems. Caution should be used when storing these URIs or IRIs in files. It is recommended to use an FQDN instead of a literal IPv6 address in a URL, whenever an FQDN is available. 5. IANA Considerations IANA is requested to assign the "IPv6z" tag identifying a domain literal. This registry may not have been created yet; it is described in [RFC2821] but this will be the first assignment. This is also the first use of the IPvFuture extension mechanism described in [RFC3986]; that RFC did not create a registry for these mechanisms. Should there be one? 6. Security Considerations RFC 3986 [RFC3986] describes security considerations for URIs; this specification does not add any new security considerations. 7. Acknowledgements Margaret Wasserman first pointed out that the original literal IPv6 Fenner & Duerst Expires April 24, 2006 [Page 3] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 form didn't support zone IDs. This document was created based on discussions between Steve Bellovin, Brian Carpenter, Roy Fielding, Ted Hardie, Larry Masinter, and Thomas Narten. Further revisions were based on feedback from the IPv6 working group and the IETF applications area. 8. Normative References [RFC2234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997. [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, April 2001. [RFC3879] Huitema, C. and B. Carpenter, "Deprecating Site Local Addresses", RFC 3879, September 2004. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource Identifiers (IRIs)", RFC 3987, January 2005. [RFC4007] Deering, S., Haberman, B., Jinmei, T., Nordmark, E., and B. Zill, "IPv6 Scoped Address Architecture", RFC 4007, March 2005. Appendix A. To Do o Pick another character if necessary from URI chars available: - . _ ~ ! $ & ' ( ) * + , ; = o Check with Keith if text saying why not to use this is sufficient o Expand text on 2821 usage? o Resolve URI IPv6zone-id vs. SMTP dcontent (make sure they allow more or less the same things); compare with grammar in scoping- arch (more or less no restrictions there?) * IPv6zone-id = 1*( unreserved / sub-delims / ":" ) = unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" , sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" * Atom = 1*atext = atext = ALPHA / DIGIT / ; Any character except controls, "!" / "#" / ; SP, and specials. "$" / "%" / ; Used Fenner & Duerst Expires April 24, 2006 [Page 4] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 for atoms "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~" * dcontent = dtext/quoted-pair; dtext = NO-WS-CTL / ; Non white space controls %d33-90 / ; The rest of the US-ASCII %d94-126 ; characters not including "[", ; "]", or "\" * scoping-arch just says "An implementation MAY support other kinds [than numerical -wcf] of non-null strings as . However, the strings must not conflict with the delimiter character." * U = URI S = SMTP Atom A = scoping-arch sp ! " # $ % & ' A? ASU A AS ASU AS ASU ASU ( ) * + , - . / AU AU ASU ASU AU ASU AU AS 0 1 2 3 4 5 6 7 ASU ASU ASU ASU ASU ASU ASU ASU 8 9 : ; < = > ? ASU ASU AU AU A ASU A AS @ A B C D E F G A ASU ASU ASU ASU ASU ASU ASU H I J K L M N O ASU ASU ASU ASU ASU ASU ASU ASU P Q R S T U V W ASU ASU ASU ASU ASU ASU ASU ASU X Y Z [ \ ] ^ _ ASU ASU ASU A A A AS ASU ` a b c d e f g AS ASU ASU ASU ASU ASU ASU ASU h i j k l m n o ASU ASU ASU ASU ASU ASU ASU ASU p q r s t u v w ASU ASU ASU ASU ASU ASU ASU ASU x y z { | } ~ del ASU ASU ASU AS AS AS ASU - * so: we can't use SMTP Atom - use 1*dcontent. can we get away with updating [RFC4007] to add something like zone-id = 1*(ALPHA / DIGIT / "-" / "." / "_" / "~" / "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" / ":")? (This is (I think) the expansion of IPv6zone-id; which is a superset of dcontent.) Fenner & Duerst Expires April 24, 2006 [Page 5] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 o Check with w3c URI o Check with [who did Brian suggest in Paris?] o Check with apps area Appendix B. Change Log B.1. Changes from -01 to -02 Changed "v6" to "v1", since the version number is of the literal form, not of the address. Changed "_" to "+", since an underscore disappears when underlined as URLs are wont to be. Added section on SMTP IPv6z: Removed list of tradeoffs. Fenner & Duerst Expires April 24, 2006 [Page 6] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 Authors' Addresses Bill Fenner AT&T Labs -- Research 75 Willow Rd Menlo Park, California 94025 USA Phone: +1 650-330-7893 Email: fenner@research.att.com Martin Duerst World Wide Web Consortium 5322 Endo Fujisawa, Kanagawa 252-8520 Japan Phone: +81 466 49 1170 Email: duerst@w3.org Fenner & Duerst Expires April 24, 2006 [Page 7] Internet-Draft IPv6 Scope Zones in Literal Addrs October 2005 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Fenner & Duerst Expires April 24, 2006 [Page 8]