← Back to context

Comment by runn1ng

13 years ago

I don't understand BGP and AS... what does that mean?

Superficial explanation:

BGP is the border gateway protocol- you can think of large infrastructure providers as being huge networks that are connected through 'border nodes'. BGP is the protocol it uses to negotiate routes into each other's networks, each provider advertises to the other provider what routes it has available. A common way to make a country go dark is by simply removing the BGP routes advertised for that country.

  • All right... but who is faking this? Who can be faking this and how and how does it change the traceroute?

    • Anyone can make their machine emit any packets they want it to. That's the fundamental principle in play here.

      How it works is simple: ICMP ping, which is what most traceroute implementations work on, just works based on computers sending packets with their address information in response to a ping request.

      If a computer that's really at IP address 10.0.5.23, for example, sends ping responses saying they're from IP address 10.2.0.93, a traceroute program will keep pinging that computer until it either gets a reply that says it's from the correct IP address or it decides the trace is futile.

      A computer can lie as many times as it wants and create an arbitrarily long path that has no basis whatsoever in reality. Anyone who wants to do a good job of the lie would simply look at the Internet's routing information, which is (by definition) publicly available, and figure out which sequence of IP addresses they'd have to fake replies from. That's what's been done here, and almost a full month before April Fool's Day, no less.

      Doing a better job would involve programming the computer to handle all network traffic with varying speeds, to fake the increased travel time the laws of physics would impose on the progressively longer paths it's faking. The Pirate Bay people apparently didn't bother with this part.

AS path = the numbers of the Autonomous Systems that traffic will pass through to reach that particular destination

AS = Autonomous System, a network of one or more (usually more) computers that looks like one entity to the outside Internet. It's 'autonomous' in that it can route traffic within itself without help from any outside source. The Internet is, at a high level, a collection of ASes that all pass data among each other. Every AS has a globally unique number, usually represented as AS15169 for AS number 15169.

BGP = Border Gateway Protocol, a specific Exterior Gateway Protocol that allows ASes to figure out what other ASes are close by and to which of their neighbors they should route traffic destined for a specific IP address. This basically works by each AS advertising which groups of IP addresses (represented by prefixes) they know how to reach. A prefix is something like 10.0.0.0/24, which represents all addresses from 10.0.0.0 to 10.0.0.255; in a prefix, the number after the slash is how many bits of the IP address are fixed. In a /24, 24 bits, or three eight-bit bytes, are fixed, so the last eight bits can vary freely. Larger numbers indicate smaller blocks of addresses, unintuitively enough. For example, AS15169 advertises that it contains 173.194.0.0/16, or the range 173.194.0.0 - 173.194.255.255. Route advertisements contain cost information, which is primarily due to how long the path is; as an example, if I'm AS1 and I contain the range 10.0.0.0/24, I'll advertise that with a very low cost. If I hear from my neighbor AS3 that she contains 192.5.0.0/16, I'll advertise that with a higher cost, since I'll have to hand it off to a different AS.

(Edited to add: Apparently, IPv6 prefixes work essentially the same as IPv4 prefixes. http://www.sabi.co.uk/Notes/swIPv6Prefixes.html )