I use AWS and gcp. Both of these cloud platforms have the ability to establish a VPN connection from a VPC in the cloud to an on-premise router or another cloud VPN endpoint.
They both use bgp ( and support private ASNs) https://cloud.google.com/vpn/docs/how-to/creating-ha-vpn2 https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNRoutingTypes.html
I'm curious why they chose bgp and not another routing protocol like ospf/isis. Is bgp just the lowest common denominator? is it available on more platforms? or is there a more fundamental technical reason. I'm curious because bgp has a huge a feature set and this use case is very narrow (just exchanging routes) so seemed like overkill
EDIT: so seems like BGP is the protocol of choice for ALL VPN connections between untrusted sites not just specific to cloud providers. I think I understand how it can be better for VPNs because of long timers- OSPF and other link-state protocols generally require lower latency and more frequent communication correct? I get how its easier to filter routes with BGP. Link-state requires you to send the entire topology and we just want to share routes. Im not 100% clear on why TCP is better for this. Is it because ipsec VPNs operate at L3 and OSFP also runs on L3 and because BGP is more like an application it rides on TCP and is easier to tunnel? Does this mean RIP might even be preferable to OSPF for VPNs?