Routing – How to setup self hosting with redundant Internet connections

redundant-routesrouting

The situation is this: a small broadcasting company is going to have multiple remote cameras sending live video back to the company HQ where they have the hardware to produce the live stream sent to YouTUBE, FB, and similar services.

The company wants to have redundant Internet connections in such a way that the cameras, which are only able to have one destination IP address are never aware of whether or not one of the connections goes down.

It has always been my understanding is from day 1 the ARPENET was designed to handle the exact situation.

My impression is the solution is for the company to have its own router on the public Internet. It has three connections: Primary provider, secondary provider, a firewall of the company. Somehow, through the magic of the Internet, routing tables, and the like, this router is able to tell the world the best way to get to the companies firewall is via the Primary provider. If that goes down, the routing tables will offer up the secondary route to the server. The whole time the cameras only need to know about the companies firewall.

Do I have the basic idea correct?

I am assuming to set this up, it will require coordination with both providers so they both can make adjustments to their routing tables, too. In normal circumstances is this type of setup one where the providers are exacting the company to have someone that knows how to set up the router at the company or will one of the providers help with that?

enter image description here

Best Answer

In your question, you're broadly describing the concepts implemented by Border Gateway Protocol (BGP), a signaling protocol "big" Internet routers use to coordinate the Internet routing table.

Somehow, through the magic of the Internet, routing tables, and the like, this router is able to tell the world the best way to get to the companies firewall is via the Primary provider. If that goes down, the routing tables will offer up the secondary route to the server. The whole time the cameras only need to know about the companies firewall.

You're further correct that this is usually done in such a manner that the cameras (and often the firewall, too) aren't required to know about BGP. The router owned by company in your conceptual diagram does know about BGP, as do the ISP routers; but the downstream devices don't need to.

...

I am assuming to set this up, it will require coordination with both providers so they both can make adjustments to their routing tables, too.

Yes, and that's BGP's primary function -- to enable different companies to coordinate their routing tables by sharing information.

In your example, you use the IP address 109.204.4.184 for the video processing machine. I'm going to substitute the IP 192.0.2.184 which is an address reserved for documentation.

The router owned by company would use BGP to advertise reach-ability to 192.0.2.0/24 and the ISP routers would be configured to accept that advertisement.

The ISPs further propagate that reach-ability information for 192.0.2.0/24 to other ISPs throughout the Internet (there are tens-of-thousands of ISPs who do this together using BGP.)

If the connection between router owned by company and ISP 1 goes down, so will the BGP advertisement. ISP 1 will withdraw its reach-ability advertisement from the Internet by telling its neighboring ISPs that it no longer has a path to 192.0.2.0/24 via your connection. ISP 2 will still have a working path, and the Internet shifts to that working path.

Indeed, under normal circumstances, both ISP 1 and ISP 2 are working in an active-active configuration; and if one of your uplinks fails, even ISP 1 will know how to reach you by going through ISP 2 (but it won't tell the rest of the world about the ISP 2 link, for reasons outside the scope of this question.)

I hope this helps. There are many tutorials online if you think your business needs BGP.

Related Topic