Understanding Project Calico: Networking Essentials and Future Trends
Explore the pivotal role of Project Calico in networking, focusing on its core concepts, including IP connectivity, multicast, and broadcast, along with a deep dive into the data path mechanisms. Discover the future prospects and use cases that highlight its provisioning and isolation capabilities within provider networks.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
designed for networking-calico what, why, how, and the future Neil Jerram, Project Calico / Metaswitch Sponsored by
Calicos premise: IP-only connectivity VM VM IP connectivity L2 multicast VM L2 broadcast VM VM
Routed networks https://review.openstack.org/#/c/225384/ Network object l2_adjacency True | False
The Calico data path Source compute host 172.18.203.31 Destination compute host 172.18.203.44 10.65.0.3/32 via 172.18.203.44 dev eth0 10.65.0.3/32 dev tap12345-ab tap84637-ef tap12345-ab eth0 eth0 Source VM 10.65.0.2 Destination VM 10.65.0.3 10.65.0.0/24 dev eth0
The Calico data path Source compute host 172.18.203.31 Destination compute host 172.18.203.44 10.65.0.3/32 via 172.18.203.44 dev eth0 10.65.0.3/32 dev tap12345-ab tap84637-ef tap12345-ab eth0 eth0 Source VM 10.65.0.2 Destination VM 10.65.0.3 DHCP 10.65.0.0/24 dev eth0
The Calico data path Source compute host 172.18.203.31 Destination compute host 172.18.203.44 10.65.0.3/32 via 172.18.203.44 dev eth0 10.65.0.3/32 dev tap12345-ab Felix tap84637-ef tap12345-ab eth0 eth0 Source VM 10.65.0.2 Destination VM 10.65.0.3 DHCP 10.65.0.0/24 dev eth0
The Calico data path Source compute host 172.18.203.31 Destination compute host 172.18.203.44 BIRD 10.65.0.3/32 via 172.18.203.44 dev eth0 10.65.0.3/32 dev tap12345-ab Felix tap84637-ef tap12345-ab eth0 eth0 Source VM 10.65.0.2 Destination VM 10.65.0.3 DHCP 10.65.0.0/24 dev eth0
Use case, provisioning and isolation Intended for provider networks All Calico networks share same address space (or scope ) Currently no overlapping IPs We have a design if needed Isolation using security groups, not between networks
Making DHCP work tap1 VM tap2 VM DHCP interface --bridge-interface=ns-dhcp,tap* --listen tap* --bind-dynamic tap3 VM ns-dhcp tap4 10.65.0.1/24 VM tap5 VM
Releases Icehouse, Juno, Kilo https://github.com/projectcalico/calico-nova https://github.com/projectcalico/calico-neutron Liberty, Mitaka, Everything upstream, vanilla OpenStack Explicit IP-only semantics provided by routed network spec
Recent developments Floating IPs Nick Bartos External network Tenant network Felix Router 1:1 DNAT Floating IP pool Fixed IPs Calico DHCP agent Neutron RPC Neutron DHCP agent Neutron server Calico ML2 driver etcd database Calico DHCP agent
Deployment and integrations DevStack plugin Packaged for Ubuntu Trusty, Xenial; and RHEL 7 Juju charms Calico plugin for Fuel 6 and 7; 8 and 9 coming soon Kuryr Ansible Salt .
What next? IRC meeting IPAM work for route aggregation ?
Summary and thank you! simple scalable secure just IP + Linux no SDN controller hundreds of hosts thousands of VMs millions of containers fine-grained workload policy