openstack 網絡發展簡史

openstack 網絡發展簡史

研究openstack有2個月的時間,這段時間從網上獲取N多寶貴資料,對我的學習有很大幫助,在加上我自己的研究,終於對openstack整個網絡體系有了個淺顯的認識,寫幾篇文章,一個是對以往資料的總結,二來也希望的我的總結能爲更多學習openstack的朋友們提供幫助。廢話到這,進入正題。

nova-network:openstack最開始網絡組件叫nova-network,其代碼也都在nova中,支持的插件只有Linux bridge,網絡拓撲包括flat和vlan。

quantum後來爲了支持更多的插件,更多的網絡拓撲,與nova交互更靈活,出現了quantum工程,quantum相比與nova-network,主要多出如下功能:

  1. 支持更多的插件:Linux bridge、ovs、其它商業公司的插件(bigswitch、brocade plugin、cisco、hyper-v、midonet、NEC openflow、plumgrid、ryu、VMware nsx),非官方統計,linux bridge 31%、ovs 39%、cisco 11%、other 19%,可以看出網絡插件大家更傾向於Linux bridge和ovs,至於bridge和ovs的優缺點,後面會專門討論;
  2. 支持隧道技術gre、vxlan;
  3. 多出l3-agent和dhcp-agent,l3-agent用於路由和nat(iptables)、dhcp-agent用於fixed ip的dhcp分配(基於dnsmasq實現);

neutron:quantum由於與一家公司重名,在Havana版本中更名爲neutron。neutron相比於quantum,多出來的最主要的功能是公共插件ml2。ml2主要功能如下:

  1. 實現一種類型的插件一般包括兩個部分,一 部分與數據庫db打交道的*-plugin,一部分是調用具體的網絡設備真正幹活的*-agent,由於衆多插件,其與db打交道的代碼都是重複的,抽出重複代碼則形成了ml2-plugin

  2. MechanismDriver,實現多個插件共存,比如Linux bridge和ovs共存,MechanismDriver的作用是將agent的類型agent_type和vif_type關聯,這樣vif_type就可以直接通過擴展api靈活設置了,所以想用 linux bridge,就在vif_type裏,將port綁定成linux bridge,想用ovs,將port綁定成ovs。
  3. 在配置文件ml2_conf.ini可以將不同網絡拓撲(flat/vlan/gre/vxlan)共存。


以上就是目前openstack 網絡發展簡史,在這個過程中,我們不得不思考一個問題,在實際網絡部署時,nova-network和neutron的選擇、插件bridge和ovs的選擇、網絡拓撲flat、vlan、gre、vxlan的選擇,這些類別的優缺點在後續blog中會進一步展開討論。



















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章