Calico uses BGP as its routing protocol to advertise workload endpoints across nodes in a network. BGP is well-suited for this purpose as it can scale to large networks with many endpoints. Calicoctl commands can be used to configure various aspects of BGP routing in Calico networks, including setting the default AS number, enabling the full node-to-node mesh, and adding global or node-specific BGP peers.