What about all the other routes to the rest of the world? Well, the idea is that you designate one provider as a “default” route. So what this means is: if your router talks to another router, you’ll know that a set of networks is directly accessible through it. The “rest of the world”, well, is beyond that particular router: you need a connection elsewhere. Exchanging information about a lot of routes that each router knows of is known as peering. At the major networking hubs (called Internet Exchanges), the biggest Internet Service Providers, of course, don’t rely on “default routes”. They exchange all routes directly. In theory that means that at a major Internet Exchange you might very well have access to all routes on the Internet. But this changes dynamically: when a new route is added somewhere in the world, information about how to reach it trickles upstream until it reaches the major routers in the densest hubs. Then the whole world will know how to reach that new route, at some point, even it means that packets need to go to the major hubs first and then go all the way to their destination. So, to allow for shortcuts — or alternative routes — duplicate entries are fine. In fact, it’s the multiple routes towards a destination that are, indeed, important: if one link fails, the router will obviously stop advertising that link, and after a while, that particular route gets deleted. So packets will need to find alternatives. This happens reasonably quickly, though, and is the core of the “secret” on why the Internet is so stable: there are a lot of alternative links, everything is updated dynamically to reflect the current status of all available links, and traffic has multiple choices.
You might already be seeing a major flaw in this system.
What happens, for instance, if someone’s router advertises a fake route? For instance, imagine you wish to take, say, Microsoft down. You announce their network as coming from your network. Your upstream ISP will get that announcement and propagate it to the next upstream ISP, and so forth, until it reaches the major hubs. Quickly this fake information propagates across all the Internet. The result? Anyone trying to open Microsoft’s web page will now suddenly find a new route to it — e.g. your humble server — and all traffic is sent down to you. This naturally backfires: a single server will not be able to handle the load, very likely your router will crash, and propagate the new information upstream: “this way to Microsoft is now dead“. But although this can happen quickly, it doesn’t happen instantly, and for a while, you’ll be able to steal the intended traffic to Microsoft. It can even get worse: imagine that you announce not just a particular network, but a default route upstream. What this means is: “send all Internet traffic to me; I can handle it”. Suddenly all routers along the pipes will get this information and immediately start sending all of the Internet’s traffic towards your router, until it crashes, and things get back to normal. But that, as you can imagine, will seriously damage things for a while. Repeat this often enough (it’s called route flapping) and you’ll hurt billions of Internet users.