Some time ago I posted a word “chazwazza” to the Network Dictionary :Network Dictionary Chazwazza. Although it was mostly intended to be a humourous comment, what makes it funny is that we don’t actually have a good naming convention for the ‘chazwazza’ of an IPv6 address. Apparently I’m not the only person to have noticed.
L. Donnerhacke and Richard Hartmann have created an RFC draft-denog-v6ops-addresspartnaming-02 – Naming IPv6 address parts that is preceding to Proposed Standard. However, we need to develop a mechanism to provide some evidence of a preferred name for the IETF to assist them in making a recommendation and finalise the voting process. Therefore, to start the process I have setup the UNOFFICIAL IPv6 NAMING POLL. Please join in the voting so that we can forward the results to the RFC Proposers as part of the evidence gathering process. Here is your chance to part of the Internet history.
My personal preference (all jokes aside) is for the term CHUNK. It’s easy to say, a single syllable and fairly descriptive. This i can easily imagine saying:
So in the forth chunk, it’s EECA, and the fifth chunk id FFEI
An IPv6 address is 128 bits long, and written as 32 hexadecimal characters. Like so:
By convention, we represent the IPv6 addresses with colons between each 4 hexadecimal characters to make it easy to represent, read and identify because human short term memory can readily cope with ‘chunks’ of three or four digits as demonstrated by telephone numbers. A non-delineated string of 32 characters is very hard for the human mind to comprehend. This is covered in RFC 2373.
And there are other purposes (note that the I in Caffeine is a 1) :
It’s the current convention to use the right most 64 bits as the “Interface ID”.
For IPv4, we used the term OCTET to describe the three digit chunk of an address. This diagrams show the FIRST OCTET as 198.
What do we name each section of an IPv6 address ?
Since we are likely to spend the rest of our working lives working with IPv6, we need a convenient handle.
Naming the IPv6 Address Parts
The standard proposes the following names:
|4.1. Chazwazza||“Chazwazza” was proposed as a Simpsons reference, see [greg]. While this is certainly a unique term in the networking world, it is not particularly meaningful nor easy to pronounce.|
|4.2. Chunk||A chunk is commonly understood to be a specific amount of data. The term is not unique to IPv6, however easy to remember and pronounce.|
|4.3. Column||The colons in an IPv6 address’ text representation make it similar to a table. Besides that, the meaning of the word “column” has very little to do with the actual technical meaning of a 16bit piece of an IPv6 address, though.|
|4.4. Colonade,||Colonnade Based on the colon as seperator the word sounds English (using a single ‘n’ to make it an artificial word) and is easy to spell and pronounce.Alternatively, “colonnade” could be used, overloading the existing, yet unrelated word with a new meaning.|
|4.5. Doctet||Derived from “double octet”, thus accurately describes the technical matter, as an octet is a standard term for a sequence of 8 bits.|
|4.6. Field||A “field” describes a form of a data structure in many programming languages. The term stresses the fact that a field is one of multiple fractions of a bigger subject, just like countryside is divided into fields, or like IPv6 addresses into 16bit long pieces. A drawback of that similarity is the lack of uniqueness to IPv6, though.|
|4.7. Hexadectet||“Hexadectet” is directly derived from IPv4’s “octet”, thus technically correct and probably convenient to get used to. On the other hand, it is much harder to pronounce.|
|4.8. Hit||Short for “hex-bit”, short and convenient to pronounce, however usually associated with a completely different meaning.|
|4.9. Orone||Initially started as a typo in [greg], “orone” is a short, unique word without a specific meaning yet.|
|4.10. Part||The word “part” has been used throughout this document to describe the subject until there is a better term for this. It is very unspecific and can be used in countless ways, not only to describe 16bit long parts of an IPv6 address.|
|4.11. Provider number, customer number, network number||These terms provide semantic descriptions of the different parts of an IPv6 address. However, it is not within the scope of this document to find terms describing semantic, but rather syntactic elements.Furthermore, naming the 16bit pieces of IPv6 addresses in a semantic way would introduce new problems, like limited applicability, e.g. it would not work for multicast addresses.|
|4.12. Quad nibble, qibble, quibble||A nibble is a 4bit entity, hence 16 bits are a quad nibble. This is a rather bulky word, however, so “quibble” is a convenient abbreviation. Also, it is a unique term, thus eliminating any chances of misinterpretation.|
|4.13. Segment||“Segment” is another obvious choice, however it is also quite unspecific and used in different contexts, e.g. “network segments”.|
|4.14. Tuple||A tuple is a sequence of typically heterogenous elements considered as a new entity by itself. It is also a short, descriptive word that is not yet associated with anything networking related. Usually a tuple exceeds grouping by creating a new semantic level.|
|4.15. Word||A “word” usually refers to a fixed group of bits that are processed at a time, and especially on legacy x86 systems is a synonym for 16 bits. It has a different and much more unspecific meaning to less technically skilled people, which might be problematic.|