that 4byte ASN you were considering...

Michael.Dillon at btradianz.com Michael.Dillon at btradianz.com
Tue Oct 10 11:34:33 UTC 2006


> Well, it will break an applications that considers everything
> consisting of numbers and dots to be an IP address/netmask/inverse
> mask.  I don't think many applications do this, as they will then
> treat the typo "193.0.1." as an IP address. 

An application using "[0123456789.]*" will not break when it
sees the above typo. 193.0.1. *IS* an IP address-like object
and any existing code will likely report it as mistyped
IP address or mask. 

> It won't break applications
> that check if there are exactly 4 numbers in the 0-255 range and 3 dots.

True, however my point is that I do not believe that all
existing applications do this. Therefore, changing their 
input in an unexpected way will break them.

> >The real question is what does the notation 1.0 add that the
> >notation 65536 does not provide?
> 
> It is (for me, and I guess most other humans) much easier to read and
> remember, just as 193.0.1.49 is easier to read and remember than
> 3238002993.  It also reflects that on the wire there are two 16
> bit numbers, rather than 1 32-bit number.

In my experience, ISPs do not transmit numbers by phone calls
and paper documents. They use emails and web pages which allow
cut'n'paste to avoid all transcription errors. And I know of no
earthly reason why a general written representation needs to
represent the format of bits on the wire. How many people
know or care whether their computer is bid-endian or little
endian?

> 1. If you are a 16-bit AS speaker (ASN16), then AS65536 is not just
>     the next one in the line, it is an AS that will have to be treated
>     differently.  The code has to recognize it and replace it by the
>     transistion mechanism AS.

And how is a special notation superior to 

      if asnum > 65535 then
          process_big_as
      else
          process_little_as

In any case, people wishing to treat big asnums differently will need
to write new code so the dot notation provides them zero benefit.

> 2. Just as people having used the regexps that you mentioned, I'm
>     also certain that people have used unsigned short int's or
>     signed long int's in their code.

Typically ISPs are using apps written in higher level languages
which are more likely to treat integers as 32-bit signed quantities.
In any case, this is a length issue, not an issue of notation.

> In short, like it or not, you will have to check and update your tools
> anyway.

My point is that if we do NOT introduce a special notation
for ASnums greater than 65536, then tools only need to be 
checked, not updated. If your tool was written by someone
who left the company 7 years ago then you might want to
do such checking by simply testing it with large as numbers,
not by inspecting the code. The dot notation requires that
somebody goes in and updates/fixes all these old tools.

--Michael Dillon




More information about the NANOG mailing list