As per Relevance of the word canonical, we have this rfc below:
Network Working Group T.
Request for Comments: 2469 C.
Category: Informational
December 1998
A Caution On The Canonical Ordering Of Link-Layer
Status of this
This memo provides information for the Internet community. It
not specify an Internet standard of any kind. Distribution of
memo is unlimited
Copyright
Copyright (C) The Internet Society (1998). All Rights Reserved
Protocols such as ARP and Neighbor Discovery have data fields
contain link-layer addresses. In order to interoperate properly,
sender setting such a field must insure that the receiver
those bits and interprets them correctly. In most cases, such
must be in "canonical form". Unfortunately, not all LAN adaptors
consistent in their use of canonical form, and implementations
need to explicitly bit swap individual bytes in order to obtain
correct format. This document provides information to
to help them avoid the pitfall of using non-canonical forms
canonical forms are required
Table of
1. Introduction............................................. 2
2. Canonical Form........................................... 2
3. Implementors Beware: Potential Trouble Spots............. 3
3.1. Neighbor Discovery in IPv6.......................... 3
3.2. IPv4 and ARP........................................ 3
4. Security Considerations.................................. 3
5. References............................................... 4
6. Authors' Addresses....................................... 4
7. Full Copyright Statement................................. 5
Narten & Burton Informational [Page 1]
RFC 2469 Canonical Ordering Of Link-Layer Addresses December 1998
1.
Protocols such as ARP [ARP] and ND [DISCOVERY] have data fields
contain link-layer addresses. In order to interoperate properly,
sender setting such a field must insure that the receiver
those bits and interprets them correctly. In most cases, such
must be in "canonical form". Unfortunately, not all LAN adaptors
consistent in their use of canonical form, and implementations
need to explicitly bit swap individual bytes in order to obtain
correct format
2. Canonical
Canonical form (also known as "LSB format" and "Ethernet format")
the name given to the format of a LAN adapter address as it should
presented to the user according to the 802 LAN standard. It is
defined as how the bit order of an adapter address on the LAN
maps to the bit order of an adapter address in memory: The first
of each byte that appears on the LAN maps to the least
(i.e., right-most) bit of each byte in memory (the figure
illustrates this). This puts the group address indicator (i.e.,
bit that defines whether an address is unicast or multicast) in
least significant bit of the first byte. Ethernet and 802.3
behave consistently with this definition
Unfortunately, Token Ring (and some FDDI) hardware does not
consistently with this definition; it maps the first bit of each
of the adapter address to the most significant (i.e., left-most)
of each byte in memory, which puts the group address indicator in
most significant bit of the first byte. This mapping is
called "MSB format", "IBM format", "Token-Ring format", and "non
canonical form". The figure below illustrates the difference
canonical and non-canonical form using the canonical form
12-34-56-78-9A-BC as an example
In memory, 12 34 56 78 9A
canonical: 00010010 00110100 01010110 01111000 10011010 10111100
1st bit appearing on LAN (group address indicator
|
On LAN: 01001000 00101100 01101010 00011110 01011001 00111101
In memory
MSB format: 01001000 00101100 01101010 00011110 01011001 00111101
48 2C 6A 1E 59 3
Narten & Burton Informational [Page 2]
RFC 2469 Canonical Ordering Of Link-Layer Addresses December 1998
The implication of this inconsistency is that addresses
from adaptors, assigned to adaptors, or extracted from link-
packet headers obtained from adaptors may need to be bit-swapped
put them into canonical form. Likewise, addresses in canonical
that are handed to adaptors (e.g., to set an address, to specify
destination address in a link-layer header, etc.) may need to
bit-swapped in order for the adaptor to process the request
expected
3. Implementors Beware: Potential Trouble
3.1. Neighbor Discovery in IPv
All of the IPv6 over specific link layers documents specify
link-layer addresses must be transmitted in canonical order [IPv6-
ETHER, IPv6-FDDI, IPv6-TOKEN]. As far as the authors can tell,
Ethernet LAN adaptors use canonical order and no special
by implementations is needed. In contrast, some FDDI and all
Ring adaptors appear to use non-canonical format. Implementors
insure that any addresses that appear in link-layer address
of Neighbor Discovery [DISCOVERY] messages are sent in
order and that any link-layer addresses extracted from ND packets
interpreted correctly on the local machine and its adaptors
3.2. IPv4 and
Ethernet addresses that appear in ARP packets are in canonical order
In contrast, when running ARP over Token Ring, the de facto
is to transmit addresses in non-canonical order. Because all
Ring adaptors assume non-canonical ordering, no
problems result between communicating nodes attached to the
Token Ring
In some environments, however, Token Rings and Ethernets
connected via a bridge. When a node on the Token Ring attempts
communicate with a node on the Ethernet, communication would
fail, since the Ethernet will misinterpret the Token Ring
(and vice versa). To get around this problem, bridges that
packets between dissimilar network types perform bit swaps of
addresses in the address fields of ARP packets that are
from a network of one type to one of the other
4. Security
There are no known security issues raised by this document
Narten & Burton Informational [Page 3]
RFC 2469 Canonical Ordering Of Link-Layer Addresses December 1998
5.
[ARP] Plummer, D., "An Ethernet Address Resolution Protocol",
STD 37, RFC 826, November 1982.
[DISCOVERY] Narten, T., Nordmark, E., and W. Simpson, "
Discovery for IP Version 6 (IPv6)", RFC 2461,
1998.
[IPv6-ETHER] Crawford, M., "Transmission of IPv6 Packets
Ethernet Networks", RFC 2464, December 1998.
[IPv6-FDDI] Crawford, M., "Transmission of IPv6 Packets over
Networks", RFC 2467, December 1998.
[IPv6-TOKEN] Crawford, M., Narten, T. and S. Thomas, "Transmission
IPv6 Packets over Token Ring Networks", RFC 2470,
December 1998.
6. Authors'
Thomas
IBM
3039 Cornwallis Ave
PO Box 12195
Research Triangle Park, NC 27709-2195
Phone: 919-254-7798
EMail: narten@raleigh.ibm.
Charles F. Burton,
IBM
3039 Cornwallis Ave
PO Box 12195
Research Triangle Park, NC 27709-2195
Phone: 919-254-4355
EMail: burton@rtp.vnet.ibm.
Narten & Burton Informational [Page 4]
RFC 2469 Canonical Ordering Of Link-Layer Addresses December 1998
7. Full Copyright
Copyright (C) The Internet Society (1998). All Rights Reserved
This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
or assist in its implementation may be prepared, copied,
and distributed, in whole or in part, without restriction of
kind, provided that the above copyright notice and this paragraph
included on all such copies and derivative works. However,
document itself may not be modified in any way, such as by
the copyright notice or references to the Internet Society or
Internet organizations, except as needed for the purpose
developing Internet standards in which case the procedures
copyrights defined in the Internet Standards process must
followed, or as required to translate it into languages other
English
The limited permissions granted above are perpetual and will not
revoked by the Internet Society or its successors or assigns
This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
Narten & Burton Informational [Page 5]
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX