mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 14:35:26 +00:00
new draft
This commit is contained in:
@@ -3,13 +3,28 @@
|
||||
|
||||
IPv6 Maintenance Working Group S. Kawamura
|
||||
Internet-Draft NEC BIGLOBE, Ltd.
|
||||
Intended status: Informational M. Kawashima
|
||||
Expires: April 21, 2010 NEC AccessTechnica, Ltd.
|
||||
October 18, 2009
|
||||
Updates: 4291 (if approved) M. Kawashima
|
||||
Intended status: Standards Track NEC AccessTechnica, Ltd.
|
||||
Expires: August 23, 2010 February 19, 2010
|
||||
|
||||
|
||||
A Recommendation for IPv6 Address Text Representation
|
||||
draft-ietf-6man-text-addr-representation-01
|
||||
draft-ietf-6man-text-addr-representation-06
|
||||
|
||||
Abstract
|
||||
|
||||
As IPv6 network grows, there will be more engineers and also non-
|
||||
engineers who will have the need to use an IPv6 address in text.
|
||||
While the IPv6 address architecture RFC 4291 section 2.2 depicts a
|
||||
flexible model for text representation of an IPv6 address, this
|
||||
flexibility has been causing problems for operators, system
|
||||
engineers, and users. This document will describe the problems that
|
||||
a flexible text representation has been causing. This document also
|
||||
recommends a canonical representation format that best avoids
|
||||
confusion. It is expected that the canonical format is followed by
|
||||
humans and systems when representing IPv6 addresses as text, but all
|
||||
implementations must accept and be able to handle any legitimate
|
||||
RFC4291 format.
|
||||
|
||||
Status of this Memo
|
||||
|
||||
@@ -32,41 +47,70 @@ Status of this Memo
|
||||
The list of Internet-Draft Shadow Directories can be accessed at
|
||||
http://www.ietf.org/shadow.html.
|
||||
|
||||
This Internet-Draft will expire on April 21, 2010.
|
||||
This Internet-Draft will expire on August 23, 2010.
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 1]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (c) 2009 IETF Trust and the persons identified as the
|
||||
Copyright (c) 2010 IETF Trust and the persons identified as the
|
||||
document authors. All rights reserved.
|
||||
|
||||
This document is subject to BCP 78 and the IETF Trust's Legal
|
||||
Provisions Relating to IETF Documents in effect on the date of
|
||||
publication of this document (http://trustee.ietf.org/license-info).
|
||||
Please review these documents carefully, as they describe your rights
|
||||
and restrictions with respect to this document.
|
||||
|
||||
Abstract
|
||||
|
||||
As IPv6 network grows, there will be more engineers and also non-
|
||||
engineers who will have the need to use an IPv6 address in text.
|
||||
Provisions Relating to IETF Documents
|
||||
(http://trustee.ietf.org/license-info) in effect on the date of
|
||||
publication of this document. Please review these documents
|
||||
carefully, as they describe your rights and restrictions with respect
|
||||
to this document. Code Components extracted from this document must
|
||||
include Simplified BSD License text as described in Section 4.e of
|
||||
the Trust Legal Provisions and are provided without warranty as
|
||||
described in the BSD License.
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 1]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 2]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
While the IPv6 address architecture RFC 4291 section 2.2 depicts a
|
||||
flexible model for text representation of an IPv6 address, this
|
||||
flexibility has been causing problems for operators, system
|
||||
engineers, and users. This document will describe the problems that
|
||||
a flexible text representation has been causing. This document also
|
||||
recommends a canonical representation format that best avoids
|
||||
confusion. It is expected that the canonical format is followed by
|
||||
humans and systems when representing IPv6 addresses as text, but all
|
||||
implementations must accept and be able to handle any legitimate
|
||||
RFC4291 format.
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
Table of Contents
|
||||
@@ -86,87 +130,43 @@ Table of Contents
|
||||
3.2. Parsing and Modifying . . . . . . . . . . . . . . . . . . 7
|
||||
3.2.1. General Summary . . . . . . . . . . . . . . . . . . . 7
|
||||
3.2.2. Logging . . . . . . . . . . . . . . . . . . . . . . . 7
|
||||
3.2.3. Auditing: Case 1 . . . . . . . . . . . . . . . . . . . 8
|
||||
3.2.3. Auditing: Case 1 . . . . . . . . . . . . . . . . . . . 7
|
||||
3.2.4. Auditing: Case 2 . . . . . . . . . . . . . . . . . . . 8
|
||||
3.2.5. Verification . . . . . . . . . . . . . . . . . . . . . 8
|
||||
3.2.6. Unexpected Modifying . . . . . . . . . . . . . . . . . 8
|
||||
3.3. Operating . . . . . . . . . . . . . . . . . . . . . . . . 8
|
||||
3.3.1. General Summary . . . . . . . . . . . . . . . . . . . 8
|
||||
3.3.2. Customer Calls . . . . . . . . . . . . . . . . . . . . 9
|
||||
3.3.2. Customer Calls . . . . . . . . . . . . . . . . . . . . 8
|
||||
3.3.3. Abuse . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
3.4. Other Minor Problems . . . . . . . . . . . . . . . . . . . 9
|
||||
3.4.1. Changing Platforms . . . . . . . . . . . . . . . . . . 9
|
||||
3.4.2. Preference in Documentation . . . . . . . . . . . . . 9
|
||||
3.4.3. Legibility . . . . . . . . . . . . . . . . . . . . . . 10
|
||||
4. A Recommendation for IPv6 Text Representation . . . . . . . . 10
|
||||
3.4.3. Legibility . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
4. A Recommendation for IPv6 Text Representation . . . . . . . . 9
|
||||
4.1. Handling Leading Zeros in a 16 Bit Field . . . . . . . . . 10
|
||||
4.2. "::" Usage . . . . . . . . . . . . . . . . . . . . . . . . 10
|
||||
4.2.1. Shorten As Much As Possible . . . . . . . . . . . . . 10
|
||||
4.2.2. Handling One 16 Bit 0 Field . . . . . . . . . . . . . 10
|
||||
4.2.3. Choice in Placement of "::" . . . . . . . . . . . . . 10
|
||||
4.3. Lower Case . . . . . . . . . . . . . . . . . . . . . . . . 11
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 2]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
5. Text Representation of Special Addresses . . . . . . . . . . . 11
|
||||
4.3. Lower Case . . . . . . . . . . . . . . . . . . . . . . . . 10
|
||||
5. Text Representation of Special Addresses . . . . . . . . . . . 10
|
||||
6. Notes on Combining IPv6 Addresses with Port Numbers . . . . . 11
|
||||
7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 12
|
||||
7. Prefix Representation . . . . . . . . . . . . . . . . . . . . 12
|
||||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 12
|
||||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
|
||||
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
|
||||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
|
||||
11.1. Normative References . . . . . . . . . . . . . . . . . . . 13
|
||||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
|
||||
11.1. Normative References . . . . . . . . . . . . . . . . . . . 12
|
||||
11.2. Informative References . . . . . . . . . . . . . . . . . . 13
|
||||
Appendix A. For Developers . . . . . . . . . . . . . . . . . . . 13
|
||||
Appendix B. Prefix Issues . . . . . . . . . . . . . . . . . . . . 13
|
||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 3]
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 3]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
1. Introduction
|
||||
@@ -190,7 +190,7 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
2001:DB8:0:0:1::1
|
||||
|
||||
All the above point to the same IPv6 address. This flexibility has
|
||||
All the above represent the same IPv6 address. This flexibility has
|
||||
caused many problems for operators, systems engineers, and customers.
|
||||
The problems will be noted in Section 3. Also, a canonical
|
||||
representation format to avoid problems will be introduced in
|
||||
@@ -220,9 +220,9 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 4]
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 4]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
2001:db8:aaaa:bbbb:cccc:dddd:eeee:0001
|
||||
@@ -245,7 +245,7 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
2001:db8:aaaa:bbbb:cccc:dddd:0:1
|
||||
|
||||
In case where there are more than one zero fields, there is a choice
|
||||
In case where there is more than one zero fields, there is a choice
|
||||
of how many fields can be shortened. Examples follow.
|
||||
|
||||
2001:db8:0:0:0::1
|
||||
@@ -276,9 +276,9 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 5]
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 5]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
2001:db8:aaaa:bbbb:cccc:dddd:eeee:aaaa
|
||||
@@ -332,9 +332,9 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 6]
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 6]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
was a need to register the same address on different systems, and
|
||||
@@ -345,14 +345,14 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
3.1.4. Searching for an Address in a Network Diagram
|
||||
|
||||
Network diagrams and blue-prints contain IP addresses as allocated to
|
||||
system devices. In times of trouble shooting, there may be a need to
|
||||
search through a diagram to find the point of failure (for example,
|
||||
if a traceroute stopped at 2001:db8::1, one would search the diagram
|
||||
for that address). This is a technique quite often in use in
|
||||
enterprise networks and managed services. Again, the different
|
||||
flavors of text representation will result in a time-consuming
|
||||
search, leading to longer MTTR in times of trouble.
|
||||
Network diagrams and blue-prints often show what IP addresses are
|
||||
assigned to a system devices. In times of trouble shooting, there
|
||||
may be a need to search through a diagram to find the point of
|
||||
failure (for example, if a traceroute stopped at 2001:db8::1, one
|
||||
would search the diagram for that address). This is a technique
|
||||
quite often in use in enterprise networks and managed services.
|
||||
Again, the different flavors of text representation will result in a
|
||||
time-consuming search, leading to longer MTTR in times of trouble.
|
||||
|
||||
3.2. Parsing and Modifying
|
||||
|
||||
@@ -361,15 +361,11 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
With all the possible text representation ways, each application must
|
||||
include a module, object, link, etc. to a function that will parse
|
||||
IPv6 addresses in a manner that no matter how it is represented, they
|
||||
will mean the same address. This is not too much a problem if the
|
||||
output is to be just 'read' or 'managed' by a network engineer.
|
||||
However, many system engineers who integrate complex computer systems
|
||||
to corporate customers will have difficulties finding that their
|
||||
favorite tool will not have this function, or will encounter
|
||||
difficulties such as having to rewrite their macro's or scripts for
|
||||
their customers. It must be noted that each additional line of a
|
||||
program will result in increased development fees that will be
|
||||
charged to the customers.
|
||||
will mean the same address. Many system engineers who integrate
|
||||
complex computer systems to corporate customers will have
|
||||
difficulties finding that their favorite tool will not have this
|
||||
function, or will encounter difficulties such as having to rewrite
|
||||
their macro's or scripts for their customers.
|
||||
|
||||
3.2.2. Logging
|
||||
|
||||
@@ -377,22 +373,11 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
address in full (such as 2001:0db8:0000:0000:1111:2222:3333:4444),
|
||||
the output would be highly unreadable compared to the IPv4 output.
|
||||
The address would have to be parsed and reformed to make it useful
|
||||
for human reading. This will result in additional code on the
|
||||
applications which will result in extra fees charged to the
|
||||
customers. Sometimes, logging for critical systems is done by
|
||||
mirroring the same traffic to two different systems. Care must be
|
||||
for human reading. Sometimes, logging for critical systems is done
|
||||
by mirroring the same traffic to two different systems. Care must be
|
||||
taken that no matter what the log output is, the logs should be
|
||||
parsed so they will mean the same.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 7]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
3.2.3. Auditing: Case 1
|
||||
|
||||
When a router or any other network appliance machine configuration is
|
||||
@@ -400,37 +385,45 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
information of a node. Sometimes, auditing will be done by just
|
||||
comparing the changes made each day. In this case, if configuration
|
||||
was done such that 2001:db8::1 was changed to 2001:0db8:0000:0000:
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 7]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
0000:0000:0000:0001 just because the new engineer on the block felt
|
||||
it was better, a simple diff will tell you that a different address
|
||||
was configured. If this was done on a wide scale network, people
|
||||
will be focusing on 'why the extra zeros were put in' instead of
|
||||
doing any real auditing. Lots of tools are just plain 'diff's that
|
||||
do not take into account address representation rules.
|
||||
it was better, a simple diff will show that a different address was
|
||||
configured. If this was done on a wide scale network, people will be
|
||||
focusing on 'why the extra zeros were put in' instead of doing any
|
||||
real auditing. Lots of tools are just plain 'diff's that do not take
|
||||
into account address representation rules.
|
||||
|
||||
3.2.4. Auditing: Case 2
|
||||
|
||||
Node configurations will be matched against an information system
|
||||
that manages IP addresses. If output notation is different, there
|
||||
will need to be a script that is implemented to cover for this. An
|
||||
SNMP GET of an interface address and text representation in a humanly
|
||||
written text file is highly unlikely to match on first try.
|
||||
will need to be a script that is implemented to cover for this. The
|
||||
result of an SNMP GET operation, converted to text and compared to a
|
||||
textual address written by a human is highly unlikely to match on
|
||||
first try.
|
||||
|
||||
3.2.5. Verification
|
||||
|
||||
Some protocols require certain data fields to be verified. One
|
||||
example of this is X.509 certificates. If an IPv6 address was
|
||||
embedded in one of the fields in a certificate, and the verification
|
||||
was done by just a simple textual comparison, the certificate may be
|
||||
maistakenly shown as being invalid due to a difference in text
|
||||
representation methods.
|
||||
example of this is X.509 certificates. If an IPv6 address field in a
|
||||
certificate was incorrectly verified by converting it to text and
|
||||
making a simple textual comparison to some other address, the
|
||||
certificate may be mistakenly shown as being invalid due to a
|
||||
difference in text representation methods.
|
||||
|
||||
3.2.6. Unexpected Modifying
|
||||
|
||||
Sometimes, a system will take an address and modify it as a
|
||||
convenience. For example, a system may take an input of
|
||||
2001:0db8:0::1 and make the output 2001:db8::1 (which is seen in some
|
||||
RIR databases). If the zeros were input for a reason, the outcome
|
||||
may be somewhat unexpected.
|
||||
2001:0db8:0::1 and make the output 2001:db8::1. If the zeros were
|
||||
input for a reason, the outcome may be somewhat unexpected.
|
||||
|
||||
3.3. Operating
|
||||
|
||||
@@ -438,30 +431,28 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
When an operator sets an IPv6 address of a system as 2001:db8:0:0:1:
|
||||
0:0:1, the system may take the address and show the configuration
|
||||
result as 2001:DB8::1:0:0:1. A distinguished engineer will know that
|
||||
the right address is set, but an operator, or a customer that is
|
||||
communicating with the operator to solve a problem, is usually not as
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 8]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
distinguished as we would like. Again, the extra load in checking
|
||||
that the IP address is the same as was intended, will result in fees
|
||||
that will be charged to the customers.
|
||||
result as 2001:DB8::1:0:0:1. Someone familiar with IPv6 address
|
||||
representation will know that the right address is set, but not
|
||||
everyone may understand this.
|
||||
|
||||
3.3.2. Customer Calls
|
||||
|
||||
When a customer calls to inquire about a suspected outage, IPv6
|
||||
address representation should be handled with care. Not all
|
||||
customers are engineers nor have the same skill in IPv6 technology.
|
||||
The NOC will have to take extra steps to humanly parse the address to
|
||||
avoid having to explain to the customers that 2001:db8:0:1::1 is the
|
||||
same as 2001:db8::1:0:0:0:1. This is one thing that will never
|
||||
happen in IPv4 because IPv4 address cannot be abbreviated.
|
||||
The network operations center will have to take extra steps to
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 8]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
humanly parse the address to avoid having to explain to the customers
|
||||
that 2001:db8:0:1::1 is the same as 2001:db8::1:0:0:0:1. This is one
|
||||
thing that will never happen in IPv4 because IPv4 address cannot be
|
||||
abbreviated.
|
||||
|
||||
3.3.3. Abuse
|
||||
|
||||
@@ -485,26 +476,14 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
the same code may not work as expected due to the difference in IPv6
|
||||
address text representation. Usually, a change in a platform (e.g.
|
||||
Unix to Windows, Cisco to Juniper) will result in a major change of
|
||||
code, but flexibility in address representation will increase the
|
||||
work load which will again, result in fees that will be charged to
|
||||
the customers, and also longer down time of systems.
|
||||
code anyway, but flexibility in address representation will increase
|
||||
the work load.
|
||||
|
||||
3.4.2. Preference in Documentation
|
||||
|
||||
A document that is edited by more than one author, may become harder
|
||||
to read.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 9]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
3.4.3. Legibility
|
||||
|
||||
Capital case D and 0 can be quite often misread. Capital B and 8 can
|
||||
@@ -517,70 +496,89 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
addresses is presented in this section. The recommendation in this
|
||||
document is one that, complies fully with [RFC4291], is implemented
|
||||
by various operating systems, and is human friendly. The
|
||||
recommendation in this document SHOULD be followed by humans and
|
||||
systems when generating an address to represent as text, but all
|
||||
implementations MUST accept any legitimate [RFC4291] format.
|
||||
recommendation in this section SHOULD be followed by systems when
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 9]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
generating an address to represent as text, but all implementations
|
||||
MUST accept and be able to handle any legitimate [RFC4291] format.
|
||||
It is advised that humans also follow these recommendations when
|
||||
spelling an address.
|
||||
|
||||
4.1. Handling Leading Zeros in a 16 Bit Field
|
||||
|
||||
Leading zeros should be chopped for human legibility and easier
|
||||
searching. Also, a single 16 bit 0000 field should be represented as
|
||||
just 0. Place holder zeros are often cause of misreading.
|
||||
Leading zeros MUST be suppressed. For example 2001:0db8::0001 is not
|
||||
acceptable and must be represented as 2001:db8::1. A single 16 bit
|
||||
0000 field MUST be represented as 0.
|
||||
|
||||
4.2. "::" Usage
|
||||
|
||||
4.2.1. Shorten As Much As Possible
|
||||
|
||||
The use of "::" should be used to its maximum capability (i.e. 2001:
|
||||
db8::0:1 is not considered as clean representation).
|
||||
The use of symbol "::" MUST be used to its maximum capability. For
|
||||
example, 2001:db8::0:1 is not acceptable, because the symbol "::"
|
||||
could have been used to produce a shorter representation 2001:db8::1.
|
||||
|
||||
4.2.2. Handling One 16 Bit 0 Field
|
||||
|
||||
"::" should not be used to shorten just one 16 bit 0 field for it
|
||||
would tend to mislead that there are more than one 16 bit field that
|
||||
is shortened.
|
||||
The symbol "::" MUST NOT be used to shorten just one 16 bit 0 field.
|
||||
For example, the representation 2001:db8:0:1:1:1:1:1 is correct, but
|
||||
2001:db8::1:1:1:1:1 is not correct.
|
||||
|
||||
4.2.3. Choice in Placement of "::"
|
||||
|
||||
When there is an alternative choice in the placement of a "::", the
|
||||
longest run of consecutive 16 bit 0 fields should be shortened (i.e.
|
||||
latter is shortened in 2001:0:0:1:0:0:0:1). When the length of the
|
||||
consecutive 16 bit 0 fields are equal (i.e. 2001:db8:0:0:1:0:0:1),
|
||||
the former is shortened. This is consistent with many current
|
||||
implementations. One idea to avoid any confusion, is for the
|
||||
operator to not use 16 bit field 0 in the first 64 bits. By nature
|
||||
IPv6 addresses are usually assigned or allocated to end-users as
|
||||
longer than 32 bits (typically 48 bits or longer).
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 10]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
longest run of consecutive 16 bit 0 fields MUST be shortened (i.e.
|
||||
the sequence with three consecutive zero fields is shortened in 2001:
|
||||
0:0:1:0:0:0:1). When the length of the consecutive 16 bit 0 fields
|
||||
are equal (i.e. 2001:db8:0:0:1:0:0:1), the first sequence of zero
|
||||
bits MUST be shortened. For example 2001:db8::1:0:0:1 is correct
|
||||
representation.
|
||||
|
||||
4.3. Lower Case
|
||||
|
||||
Recent implementations tend to represent IPv6 address as lower case.
|
||||
It is better to use lower case to avoid problems such as described in
|
||||
section 3.3.3 and 3.4.3.
|
||||
The characters "a", "b", "c", "d", "e", "f" in an IPv6 address MUST
|
||||
be represented in lower case.
|
||||
|
||||
|
||||
5. Text Representation of Special Addresses
|
||||
|
||||
Addresses such as IPv4-Mapped IPv6 addresses, ISATAP [RFC5214], and
|
||||
IPv4-translated addresses [RFC2765] have IPv4 addresses embedded in
|
||||
the low-order 32 bits of the address. These addresses have special
|
||||
representation that may mix hexadecimal and decimal notations. In
|
||||
cases where there is a choice of whether to express the address as
|
||||
fully hexadecimal or hexadecimal and decimal mixed, and if the
|
||||
address type can be distinguished as having IPv4 addresses embedded
|
||||
in the lower 32 bits solely from the 128bits of the address field
|
||||
itself, mixed notation is the better choice. However, there may be
|
||||
situations where hexadecimal representation is chosen to meet certain
|
||||
needs. Addressing those needs is out of the scope of this document.
|
||||
IPv4-translatable addresses [I-D.ietf-behave-address-format] have
|
||||
IPv4 addresses embedded in the low-order 32 bits of the address.
|
||||
These addresses have special representation that may mix hexadecimal
|
||||
and dot decimal notations. The decimal notation may be used only for
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 10]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
the last 32 bits of the address. For these addresses, mixed notation
|
||||
is RECOMMENDED if the following condition is met: The address can be
|
||||
distinguished as having IPv4 addresses embedded in the lower 32 bits
|
||||
solely from the address field through the use of a well known prefix.
|
||||
Such prefixes are defined in [RFC4291] and [RFC2765] at the time of
|
||||
writing. If it is known by some external method that a given prefix
|
||||
is used to embed IPv4, it MAY be represented as mixed notation.
|
||||
Tools that provide options to specify prefixes that are (or are not)
|
||||
to be represented as mixed notation may be useful.
|
||||
|
||||
There is a trade-off here where a recommendation to achieve exact
|
||||
match in a search (no dot decimals whatsoever) and recommendation to
|
||||
help the readability of an addresses (dot decimal whenever possible)
|
||||
does not result in the same solution. The above recommendation is
|
||||
aimed at fixing the representation as much as possible while leaving
|
||||
the opportunity for future well known prefixes to be represented in a
|
||||
human friendly manner as tools adjust to newly assigned prefixes.
|
||||
|
||||
The text representation method noted in Section 4 should be applied
|
||||
for the leading hexadecimal part (i.e. ::ffff:192.0.2.1 instead of
|
||||
0:0:0:0:0:ffff:192.0.2.1).
|
||||
@@ -589,8 +587,8 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
6. Notes on Combining IPv6 Addresses with Port Numbers
|
||||
|
||||
When IPv6 addresses and port numbers are represented in text combined
|
||||
together, there seems to be many different ways to do so. Examples
|
||||
are shown below.
|
||||
together, there are many different ways to do so. Examples are shown
|
||||
below.
|
||||
|
||||
o [2001:db8::1]:80
|
||||
|
||||
@@ -606,45 +604,35 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
The situation is not much different in IPv4, but the most ambiguous
|
||||
case with IPv6 is the second bullet. This is due to the "::"usage in
|
||||
IPv6 addresses. This style is not recommended for its ambiguity.
|
||||
The [] style as expressed in [RFC3986] is recommended. Other styles
|
||||
are acceptable when cross-platform portability does not become an
|
||||
IPv6 addresses. This style is NOT RECOMMENDED for its ambiguity.
|
||||
The [] style as expressed in [RFC3986] SHOULD be employed, and is the
|
||||
default unless otherwise specified. Other styles are acceptable when
|
||||
there is exactly one style for the given context and cross-platform
|
||||
portability does not become an issue. For URIs, [RFC3986] MUST be
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 11]
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 11]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
issue.
|
||||
followed.
|
||||
|
||||
|
||||
7. Conclusion
|
||||
7. Prefix Representation
|
||||
|
||||
The recommended format of text representing an IPv6 address is
|
||||
summarized as follows.
|
||||
|
||||
(1) omit leading zeros in a 16 bit field
|
||||
|
||||
(2) when using "::", shorten consecutive zero fields to their
|
||||
maximum extent (leave no zero fields behind).
|
||||
|
||||
(3) "::" used where shortens address the most
|
||||
|
||||
(4) "::" used in the former part in case of a tie breaker
|
||||
|
||||
(5) do not shorten one 16 bit 0 field, but always shorten when
|
||||
there are two or more consecutive 16 bit 0 fields
|
||||
|
||||
(6) use lower case
|
||||
|
||||
Hints for developers are written in the Appendix section.
|
||||
Problems with prefixes are just the same as problems encountered with
|
||||
addresses. Text representation method of IPv6 prefixes should be no
|
||||
different from that of IPv6 addresses.
|
||||
|
||||
|
||||
8. Security Considerations
|
||||
|
||||
None.
|
||||
This document notes on some examples where IPv6 addresses are
|
||||
compared in text format. The example on Section 3.2.5 is one that
|
||||
may cause a security risk if used for access control. The common
|
||||
practice of comparing X.509 data is done in binary format.
|
||||
|
||||
|
||||
9. IANA Considerations
|
||||
@@ -659,18 +647,10 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
starting this document. We also would like to thank Brian Carpenter,
|
||||
Akira Kato, Juergen Schoenwaelder, Antonio Querubin, Dave Thaler,
|
||||
Brian Haley, Suresh Krishnan, Jerry Huang, Roman Donchenko, Heikki
|
||||
Vatiainen for their input. Also a very special thanks to Ron Bonica,
|
||||
Fred Baker, Brian Haberman, Robert Hinden, Jari Arkko, and Kurt
|
||||
Lindqvist for their support in bringing this document to the light of
|
||||
IETF working groups.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 12]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
Vatiainen ,Dan Wing for their input. Also a very special thanks to
|
||||
Ron Bonica, Fred Baker, Brian Haberman, Robert Hinden, Jari Arkko,
|
||||
and Kurt Lindqvist for their support in bringing this document to the
|
||||
light of IETF working groups.
|
||||
|
||||
|
||||
11. References
|
||||
@@ -680,13 +660,26 @@ Internet-Draft IPv6 Text Representation October 2009
|
||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
[RFC2765] Nordmark, E., "Stateless IP/ICMP Translation Algorithm
|
||||
(SIIT)", RFC 2765, February 2000.
|
||||
|
||||
[RFC4291] Hinden, R. and S. Deering, "IP Version 6 Addressing
|
||||
Architecture", RFC 4291, February 2006.
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 12]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
11.2. Informative References
|
||||
|
||||
[RFC2765] Nordmark, E., "Stateless IP/ICMP Translation Algorithm
|
||||
(SIIT)", RFC 2765, February 2000.
|
||||
[I-D.ietf-behave-address-format]
|
||||
Huitema, C., Bao, C., Bagnulo, M., Boucadair, M., and X.
|
||||
Li, "IPv6 Addressing of IPv4/IPv6 Translators",
|
||||
draft-ietf-behave-address-format-04 (work in progress),
|
||||
January 2010.
|
||||
|
||||
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
|
||||
Resource Identifier (URI): Generic Syntax", STD 66,
|
||||
@@ -711,24 +704,6 @@ Appendix A. For Developers
|
||||
be called directly. See [RFC4038] for details.
|
||||
|
||||
|
||||
Appendix B. Prefix Issues
|
||||
|
||||
Problems with prefixes are just the same as problems encountered with
|
||||
addresses. Text representation method of IPv6 prefixes should be no
|
||||
different from that of IPv6 addresses.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 13]
|
||||
|
||||
Internet-Draft IPv6 Text Representation October 2009
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
Seiichi Kawamura
|
||||
@@ -741,6 +716,19 @@ Authors' Addresses
|
||||
Email: kawamucho@mesh.ad.jp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 13]
|
||||
|
||||
Internet-Draft IPv6 Text Representation February 2010
|
||||
|
||||
|
||||
Masanobu Kawashima
|
||||
NEC AccessTechnica, Ltd.
|
||||
800, Shimomata
|
||||
@@ -780,6 +768,18 @@ Authors' Addresses
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires April 21, 2010 [Page 14]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kawamura & Kawashima Expires August 23, 2010 [Page 14]
|
||||
|
||||
|
Reference in New Issue
Block a user