Internet DRAFT - draft-fenner-literal-zone
draft-fenner-literal-zone
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 <zone_id>.
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]