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:
Excellent! Thank you Rene!
“Removing the private AS numbers is a bit similar to NAT where we hide private IP addresses behind one or more public IP addresses”
Accepted.
But how are we going to do the mapping from private AS to public AS and back when the private AS number is not advertised by AS2 to AS 3 ?
Hi Nikhil,
We don’t. The only thing we do is remove the private AS number and then advertise the prefix(es). Take a look here:
BGP Remove Private AS
There’s no need to create a mapping between the private/public AS number.
Rene
Hi Sahil,
You can see it in this example:
BGP Remove Private AS
R2 will have the private AS paths in its own BGP table so it knows what to do.
Rene
Hi guys,
With regards to BGP Confederations and Private AS, if we go back to the Confederations example:
https://cdn-forum.networklessons.com/uploads/default/original/2X/f/f7766f255f86b8f1dd498f53070965a684ffd190.png
In this case would Sub-ASes be Private ASes e.g. 64512, 54513
Essentially nested inside the Public AS 2 ?