Neutron l2population解析.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Neutron l2population解析

Neutron l2 population解析1 简介l2 populationmech driver主要是在使用VXLAN或GRE时,通过扩散(populating?)虚拟交换机 (LinuxBridge or OVS)的转发表来减少物理网络里的广播流量,现在只支持VXLAN with Linux bridge 和?GRE/VXLAN with OVS。l2 populationmech driver主要是实现了两方面功能:ARP Proxy,使用ARP代理,不再需要ARP广播扩散转发表,因为ARP代理,虚拟网桥不需要通过发送ARP请求去学习MAC地址。实现原理为:Neutron的数据库中保存每一个端口的相关数据,包括状态、MAC、IP、network_id等,当端口的状态变化时,通过RPC通知计算节点上的相关agent,由agent完成ARP Proxy,从而实现MAC学习,转发表的扩散。2 实现原理2.1 当前的实现如下图示,当前OVS、GRE的实现是:虚拟机A的广播包将通过单播发送到所有的物理机的agent上,实际上agent2和agent5是不需要发送的。而在OVS VXLAN中,虚拟机A的广播是通过一个组播发给所有的agent,如下图所示。2.2 L2 populationL2 population通过ARP代理和虚拟网桥的转发表扩散来避免MAC学习和ARP广播。如下图所示,通过在agent2上预先配置邻接条目,虚拟机C发往虚拟机F的ARP请求被agent2拦截,并代替虚拟机F回复ARP请求后,虚拟机C的流量根据转发表就可以直接发到agent4处,即虚拟机F处了。2.3 底层实现(OVS)1) 把patch-int来的流量转到table2cookie=0x0, duration=1901.765s, table=0, n_packets=9462, n_bytes=545231, idle_age=0, priority=1,in_port=13 actions=resubmit(,2)2) 在table2中添加flow, 把从本地虚机来的 ARP 广播帧转到table 21cookie=0x0, duration=1901.140s, table=2, n_packets=4730, n_bytes=198660, idle_age=4, priority=1,arp,dl_dst=ff:ff:ff:ff:ff:ff actions=resubmit(,21)3) 当其他计算节点有新创建的虚拟机时,l2population将在table21中添加规则,构造一个ARP响应,实现ARP Porxy。具体解释可以参考[1]。cookie=0x0, duration=1209.365s, table=21, n_packets=0, n_bytes=0, idle_age=1209, priority=1,arp,dl_vlan=1,arp_tpa=2 actions=move:NXM_OF_ETH_SRC[]-NXM_OF_ETH_DST[],mod_dl_src:fa:16:3e:c3:b3:f6,load:0x2-NXM_OF_ARP_OP[],move:NXM_NX_ARP_SHA[]-NXM_NX_ARP_THA[],move:NXM_OF_ARP_SPA[]-NXM_OF_ARP_TPA[],load:0xfa163ec3b3f6-NXM_NX_ARP_SHA[],load:0xa00040c-NXM_OF_ARP_SPA[],IN_PORT4) 如果3)中的规则都没有匹配到,则转到table22cookie=0x0, duration=1898.892s, table=21, n_packets=4730, n_bytes=198660, idle_age=4, priority=0 actions=resubmit(,22)5) 如果l2population没有在table21中构造ARP响应,则洪泛到所有端口cookie=0x0, duration=1206.980s, table=22, n_packets=0, n_bytes=0, idle_age=1206, dl_vlan=5 actions=strip_vlan,set_tunnel:0x1f,output:146) 在table20中添加单播flow,虚拟机得到ARP响应后,流量将通过该规则转发cookie=0x0, duration=2929.966s, table=20, n_packets=2, n_bytes=431, idle_age=1896, priority=2,dl_vlan=1,dl_dst=fa:16:3e:c3:b3

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档