RFC 3194

The H-Density Ratio for Address Assignment Efficiency An Update on the H ratio

๐Ÿ“… published November 2001, from ietf

The Host-Density Ratio for Address Assignment Efficiency โœจ

An update on the H ratio ๐Ÿฆ‹

  • Stream: Network Working Group ๐Ÿ’œ
  • RFC number: 3194 ๐ŸŽ€
  • Authors: A. Durand of SUN Microsystems, and C. Huitema of Microsoft ๐Ÿซถ
  • Category: Informational ๐ŸŒธ
  • Date: November 2001 ๐Ÿ“…
  • Updates: RFC 1715 โœจ

Status of This Memo

This memo is for the Internet community to read as information. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. ๐ŸŒˆ

Copyright (C) The Internet Society (2001). All Rights Reserved. ๐Ÿ’…

Abstract

okay so this doc gives an update on the "H ratio" from RFC 1715 ๐Ÿงš it brings in a brand new ratio that the authors say is way easier to understand, and honestly, same ๐Ÿ”ฅ

1. Evaluating the efficiency of address allocation ๐ŸŒธ

okay picture this: a lazy observer might think the number of addressable things in a plan just grows in a straight line with the size of the address ๐Ÿ™ˆ like, a 10-digit phone plan should fit 10 billion phones, and 32-bit IPv4 addresses should cover 4 billion computers (using the American English billion, so one thousand millions). BESTIE, that is NOT how it works ๐Ÿ’€ the 10-digit plan is already stressed out today, and it only handles a few hundred million phones in North America. And the Internet registries started getting way stricter about handing out addresses when there were only a few tens of millions of computers online ๐Ÿ˜ญ

addressing plans are usually built like a hierarchy, kind of like nested boxes ๐Ÿ“ฆ in phone land, the first digits pick a region, the next ones pick an exchange, and the last ones pick a subscriber inside that exchange. in computer networks, the most significant bits point to an address range given to a network provider, the next bits point to the network of an organization that provider serves, and then the subnet where the actual computers sit ๐Ÿ’œ at every level you have to leave some extra room. you need more digits for the region code than the number of regions right now would need, and more bits in a subnet than the number of computers strictly calls for ๐Ÿ“ the number of things at each level keeps changing over time because of growth and mobility. and once you run out of room in the current allocation, you have to renumber, which is painful and super expensive ๐Ÿ˜ฉ so basically, cramming too many objects into a hierarchical address space makes life harder for both operators and subscribers. main character problems fr ๐Ÿ’€

back in 1993, when we were arguing about revising the Internet Protocol, we kept wondering what a reasonable utilization ratio for an addressing plan actually is โœจ that number would help figure out how many computers could join the Internet with the current 32-bit addresses, and help choose the size of the next generation of addresses. the second part is settled now, since IPv6 uses 128-bit addresses ๐Ÿฆ‹ but the first question still matters, because knowing how much room the current plan has helps predict when it will run out ๐Ÿ”ฎ

early on, the IPNG folks measured efficiency by just dividing the number of allocated addresses by the size of the address space ๐Ÿงฎ it's simple, but it depends heavily on how big the address space is, which is kind of a problem ๐Ÿ™ƒ the losses at each level of a hierarchy multiply together. so for example, 50% efficiency at each stage of a three-level hierarchy gives an overall efficiency of 12.5% ๐Ÿ˜ญ if we want a real "pain level indicator," we need a ratio that accounts for those multiplying effects ๐Ÿ’…

the "H-Ratio" from RFC 1715 measured efficiency as the base 10 logarithm of the number of allocated addresses, divided by the size of the address in bits ๐ŸŽ€ that makes it independent of address size, which is great, BUT its values only run from 0.0 to 0.30103, and typical values sit between 0.20 and 0.28 ๐Ÿ˜ต honestly those numbers are hard to explain to anyone. it's way easier to say "your address bits are used to 83% of their H-Density," and then explain what H-Density means, than to say "you are hitting an H ratio of 0.25" and then have to explain what the range even is ๐Ÿซ 

this memo introduces the Host Density ratio, or "HD-Ratio," as a replacement for the H-Ratio from RFC 1715 ๐ŸŒˆ the HD values go from 0 to 1, and they're usually written as percentage points. the authors think this new version is easier to understand and more expressive than the H-Ratio โœจ literally iconic.

2. Definition of the HD-ratio ๐Ÿงš

when you're looking at an addressing plan that allocates objects, the host density ratio HD is defined as follows:

              log(number of allocated objects)
   HD = ------------------------------------------
         log(maximum number of allocatable objects)

this ratio is defined for any number of allocatable objects greater than 1, and for any number of allocated objects that is greater than or equal to 1 and less than or equal to the maximum number of allocatable objects ๐Ÿฆ‹ it's usually shown as a percentage, like 70%. it goes from 0 (0%) when there's only one allocation, up to 1 (100%) when every available address has one object assigned to it ๐Ÿ’œ also, you can use any logarithm base you want for the calculation, as long as the numerator and the denominator use the same one ๐Ÿซถ

in most cases, you can get the HD-ratio from the H ratio using this formula:

           H
   HD = --------
        log10(2)

3. Using the HD-ratio as an indicator of the pain level ๐Ÿ’–

okay so, to check whether the H-Ratio actually predicted the "pain level" a given efficiency causes, RFC 1715 looked at several networks that had hit their capacity limit ๐Ÿ”ฅ these could be phone networks at the moment they decided to add digits to their numbering plans, or computer networks when their addressing was considered stretched past what was practical ๐ŸŒธ the idea is that network managers would put off renumbering or changing the protocol until it became just too painful. so the ratio right before the change is a good predictor of what's achievable in practice ๐ŸŽ€ the examples were the following:

  • Adding one digit to all French telephone numbers, going from 8 digits to 9, when the number of phones hit a threshold of 1.0 E+7.
                              log(1.0E+7)
  HD(FrenchTelephone8digit) = ----------- = 0.8750 = 87.5%
                              log(1.0E+8)


                              log(1.0E+7)
  HD(FrenchTelephone9digit) = ----------- = 0.7778 = 77.8%
                              log(1.0E+9)
  • Expanding the number of areas in the US telephone system, which made the phone number effectively 10 digits long instead of "9.2" (the second digit of area codes used to be limited to 0 or 1), for about 1.0 E+8 subscribers ๐Ÿ“ž
                            log(1.0E+8)
  HD(USTelephone9.2digit) = ------------ = 0.8696 = 87.0 %
                            log(9.5E+9)


                            log(1.0E+8)
  HD(USTelephone10digit)  = ------------ = 0.8000 = 80.0 %
                            log(1E+10)
  • The globally connected physics and space science DECnet (Phase IV) stopped growing at about 15K nodes (meaning new nodes got hidden) in a 16-bit address space ๐Ÿ›ฐ๏ธ
                  log(15000)
  HD(DecNET IV) = ---------- = 0.8670 = 86.7 %
                  log(2^16)

from those examples, these addressing systems hit their limits at really close HD-ratio values ๐Ÿคฏ we can also use the same examples to confirm that the HD-ratio, defined as a quotient of logarithms, predicts better than just dividing allocated objects by the size of the address space ๐Ÿ˜Œ in our three examples, the direct quotients were 10%, 3.2% and 22.8%. those are three very different numbers that don't point to any obvious pattern ๐Ÿ™ƒ the examples suggest that an HD-ratio around 85% and above corresponds to a high pain level, where operators are ready to make drastic decisions ๐Ÿ’€

we can also look at the examples and guess that the operators who renumbered their networks were aiming for a pain level they could comfortably support ๐Ÿง right after renumbering, the HD-ratio of the French network was 78%, and the US network was at 80%. this suggests that values of 80% or less are comfortable trade-offs between pain and efficiency ๐Ÿซถ literally the sweet spot.

Okay bestie, this is the legal bit, but it's actually cute ๐ŸŽ€ Copyright (C) The Internet Society (2001). All Rights Reserved. ๐Ÿ’…

You can copy this document and share it with your friends ๐Ÿซถ You can also make derivative works that comment on it, explain it, or help people implement it, and you can publish and distribute those too, in whole or in part, with no real restrictions. The one condition is that the copyright notice and this paragraph stay on every copy and derivative work ๐Ÿ’–

The document itself is off limits for edits, though. You can't change it in any way, like deleting the copyright notice or the references to the Internet Society or other Internet organizations. There are two exceptions: you can make changes when developing Internet standards, where the procedures for copyrights defined in the Internet Standards process must be followed, or when you need to translate it into a language other than English ๐ŸŒˆ

The permissions above are perpetual, which means they're forever ๐Ÿฆ‹ The Internet Society or its successors or assigns will not revoke them.

This document and the information in it are provided "AS IS", and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. ๐Ÿ˜ญ

Acknowledgement ๐ŸŒธ

Funding for the RFC Editor function is currently provided by the Internet Society. Thank you to them for keeping the lights on ๐Ÿงšโœจ

๐Ÿ“ฆ where this page comes from