Just like IP addresses, ASNs (Autonomous System Numbers) have to be unique on the Internet. The main reason for this is that BGP uses the AS number for its loop prevention mechanism. When BGP learns about a route that has its own AS number in its path then it will be discarded.
Here’s an example:
Above we have three routers, R1 and R3 are using the same AS number. Once R1 sends an update, R2 will accept it but R3 will not since the AS number is the same.
To prevent the above from happening, IANA is in control of the AS numbers (similar to public IP addresses). If you want an AS number for the Internet then you’ll have to request one. They started with 16-bit AS numbers (also called 2-octet AS numbers) that were assigned like this:
- 0: reserved.
- 1-64.495: public AS numbers.
- 64.496 – 64.511 – reserved to use in documentation.
- 64.512 – 65.534 – private AS numbers.
- 65.535 – reserved.
The 1-64.495 public AS range is pretty small so there are similar issues to the IPv4 public IP addresses, there aren’t enough numbers. Right now (May 2015) there are only 199 AS numbers left that could be assigned. You can see the current status of available AS numbers here.
To get more AS numbers, an extension has been created that supports 32-bit AS numbers (also called 4-octet AS numbers). This means we have about 4.294.967.296 AS numbers that we can use.
When you request an AS number you’ll have to justify why you need a public AS number. For some organizations, using a private AS number should also be a solution.
Private AS numbers can be used when you are connected to a single AS that uses a public AS number. Here’s an example: