nanog mailing list archives

RE: Creating a Circuit ID Format


From: Timothy Creswick <timothy () creswick eu>
Date: Wed, 23 Aug 2017 08:18:52 +0000

Things that most people generally agree on include:

- carefully splitting out service types.  E.g. a fibre cable to a
location is one ID; a wavelength on that service is another ID of
another type; an IP transit service on that wave is a third ID, etc.

Definitely. We have one digit in our circuit ID which denotes the type to aid with quick identification.
 
We also use a luhn-10 checksum digit at the end, which is optional on re-entry. This is really helpful when getting 
references over the phone. When written, it's with a hyphen so that it's clear that it's able to be dropped.

A few things we also decided on:

- Circuit references are purely numerical (although we prefix them with letters when written, those letters are not 
part of what makes the numbers unique in our business). The main reason for this is that they can easily be entered in 
a variety of *compact* barcode formats. Most label printers support this, and it saves loads of time in the datacentre 
when you can just scan the label on a circuit on a handheld PC.

- Circuit references are always the same length. This way, if the checksum digit is being dropped (e.g. because it's 
coming from a non-human source like a barcode), we know that the checksum digit is missing.

- The first digit is never a zero, to avoid silly mistakes if you're sorting them in Excel etc.

- The first four digits are a simple date code of YYMM that the ID was generated. This is surprisingly handy when 
you're looking for a specific circuit reference in a list, and it sort of helps to spread the dataset out a bit. This 
is what ensures that it's a non-zero first digit for the next 80 years or so. The date code isn't a *requirement* of 
our format, however. Should we need more than 10,000 circuits per month, we'll just abandon the date coding.

For those interested, our system looks like this:

VCI-150600019-7

Any non [0-9] characters (including symbols) can be omitted.

VCI : denotes that this circuit identifier corresponds to our business
1506 : date code
0001 : sequence number, incremented per circuit, per month
9 : circuit type
7 : checksum (optional)

T


Current thread: