ImageVerifierCode 换一换
格式:PDF , 页数:94 ,大小:7.28MB ,
资源ID:3214600      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3214600.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(深入理解NeutronOpenStack网络实现.pdf)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

深入理解NeutronOpenStack网络实现.pdf

1、1.前言2.概述3.基本概念4.GRE模式i.计算节点ii.网络节点5.VLAN模式i.计算节点ii.网络节点6.VXLAN模式i.计算节点i.br-intii.br-tunii.网络节点i.br-tunii.br-intiii.br-ex7.网络命名空间i.DHCP服务ii.路由服务8.安全组i.INPUTii.OUTPUTiii.FORWARDiv.整体逻辑v.快速查找安全组规则vi.其它9.LBaaS(负载均衡即服务)i.典型场景ii.实现细节iii.其它问题10.FWaaS(防火墙即服务)i.典型场景ii.实现细节iii.其它问题11.DVR(分布式路由)i.典型场景ii.网络节点ii

2、i.计算节点iv.配置v.工作流程vi.实现细节目錄深入理解Neutron-OpenStack网络实现212.工具i.easyOVS13.参考14.附:安装配置深入理解Neutron-OpenStack网络实现3Neutron是OpenStack项目中负责提供网络服务的组件,它基于软件定义网络的思想,实现了网络虚拟化下的资源管理。本书将剖析Neutron组件的原理和实现。最新版本在线阅读:GitBook。本书源码在Github上维护,欢迎参与:https:/ fork到自己的仓库,如 user/openstack_understand_Neutron,然后 clone到本地,并设置用户信息。深

3、入理解Neutron-OpenStack网络实现更新历史:参加步骤深入理解Neutron-OpenStack网络实现4前言$:user/openstack_understand_Neutron.git$cdopenstack_understand_Neutron$gitconfiguser.nameUser$修改代码后提交,并推送到自己的仓库。$#dosomechangeonthecontent$gitcommit-amFixissue#1:changehelotohello$gitpush在GitHub网站上提交pullrequest。定期使用项目仓库内容更新自己仓库内容。$gitremot

4、eaddupstreamhttps:/ 安全网桥。详见securitygroup部分的分析。一个典型的br-int的端口如下所示:#ovs-vsctlshowBridgebr-intPortqvo-XXXtag:1Interfaceqvo-XXXPortpatch-tunInterfacepatch-tuntype:patchoptions:peer=patch-intPortbr-intInterfacebr-inttype:internal其中,br-int为内部端口。patch-tun(即端口E,端口号为1)连接到br-tun上,实现到外部网络的隧道。qvo-XXX(即端口D,端口号为2

5、)带有tag1,说明这个口是一个1号vlan的access端口。虚拟机发出的从该端口到达br-int的网包将被自动带上vlantag1,而其他带有vlantag1的网包则可以在去掉vlantag后从该端口发出(即vlanaccess端口)。这个vlantag是用来实现不同网络相互隔离的,比如租户创建一个网络(neutronnet-create),则会被分配一个唯一的vlantag。br-int在GRE模式中作为一个NORMAL交换机使用,因此有效规则只有一条正常转发。如果两个在同一计算节点qbrbr-int深入理解Neutron-OpenStack网络实现10计算节点主机上的vm属于同一个te

6、nant的(同一个vlantag),则它们之间的通信只需要经过br-int即可。#ovs-ofctldump-flowsbr-intNXST_FLOWreply(xid=0 x4):cookie=0 x0,duration=10727.864s,table=0,n_packets=198,n_bytes=17288,idle_age=13,priority=一个典型的br-tun上的端口类似:Bridgebr-tunPortpatch-intInterfacepatch-inttype:patchoptions:peer=patch-tunPortgre-1Interfacegre-1type

7、:greoptions:in_key=flow,local_ip=10.0.0.101,out_key=flow,remote_ip=10.0.0.100Portbr-tunInterfacebr-tuntype:internal其中,patch-int(即端口F,端口号为1)是连接到br-int上的vethpair的端口gre-1端口(即端口G,端口号为2)对应vm到外面的隧道。gre-1端口是虚拟gre端口,当网包发送到这个端口的时候,会经过内核封包,然后从10.0.0.101发送到10.0.0.100,即从本地的物理网卡(10.0.0.101)发出。br-tun将带有vlantag的vm

8、跟外部通信的流量转换到对应的gre隧道,这上面要实现主要的转换逻辑,规则要复杂,一般通过多张表来实现。典型的转发规则为:#ovs-ofctldump-flowsbr-tunNXST_FLOWreply(xid=0 x4):cookie=0 x0,duration=10970.064s,table=0,n_packets=189,n_bytes=16232,idle_age=16,priority=cookie=0 x0,duration=10906.954s,table=0,n_packets=29,n_bytes=5736,idle_age=16,priority=cookie=0 x0,d

9、uration=10969.922s,table=0,n_packets=3,n_bytes=230,idle_age=10962,priority=cookie=0 x0,duration=10969.777s,table=1,n_packets=26,n_bytes=5266,idle_age=16,priority=cookie=0 x0,duration=10969.631s,table=1,n_packets=163,n_bytes=10966,idle_age=21,priority=cookie=0 x0,duration=688.456s,table=2,n_packets=2

10、9,n_bytes=5736,idle_age=16,priority=cookie=0 x0,duration=10969.488s,table=2,n_packets=0,n_bytes=0,idle_age=10969,priority=cookie=0 x0,duration=10969.343s,table=3,n_packets=0,n_bytes=0,idle_age=10969,priority=cookie=0 x0,duration=10969.2s,table=10,n_packets=29,n_bytes=5736,idle_age=16,priority=cookie

11、=0 x0,duration=682.603s,table=20,n_packets=26,n_bytes=5266,hard_timeout=300,idle_age=cookie=0 x0,duration=10969.057s,table=20,n_packets=0,n_bytes=0,idle_age=10969,priority=cookie=0 x0,duration=688.6s,table=21,n_packets=161,n_bytes=10818,idle_age=21,priority=br-tun深入理解Neutron-OpenStack网络实现11计算节点cooki

12、e=0 x0,duration=10968.912s,table=21,n_packets=2,n_bytes=148,idle_age=689,priority=其中,表0中有3条规则:从内部端口1(即patch-int)来的,扔到表1,从外部端口2(即gre-1)来的,扔到表2。cookie=0 x0,duration=10970.064s,table=0,n_packets=189,n_bytes=16232,idle_age=16,priority=cookie=0 x0,duration=10906.954s,table=0,n_packets=29,n_bytes=5736,idl

13、e_age=16,priority=cookie=0 x0,duration=10969.922s,table=0,n_packets=3,n_bytes=230,idle_age=10962,priority=表1处理内部过来的网包,有2条规则:如果是单播(00:00:00:00:00:00/01:00:00:00:00:00),则扔到表20;如果是多播等(01:00:00:00:00:00/01:00:00:00:00:00),则扔到表21。cookie=0 x0,duration=10969.777s,table=1,n_packets=26,n_bytes=5266,idle_age=

14、16,priority=0,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00actions=resubmit(,20)cookie=0 x0,duration=10969.631s,table=1,n_packets=163,n_bytes=10966,idle_age=21,priority=0,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00actions=resubmit(,21)表2处理外部过来的包。有2条规则:如果是tunnel1(合法的tunnelid)的网包,则修改其vlanid为1,并扔到表10学习记录来源

15、;非tunnel1(非法的tunnelid)的网包,则丢弃。cookie=0 x0,duration=688.456s,table=2,n_packets=29,n_bytes=5736,idle_age=16,priority=cookie=0 x0,duration=10969.488s,table=2,n_packets=0,n_bytes=0,idle_age=10969,priority=表3只有1条规则:丢弃。表10负责学习。有一条规则,基于learn行动来创建反向(内部网包从gre端口发出去)的规则。learn行动并非标准的openflow行动,是openvswitch自身的扩展

16、行动,这个行动可以根据流内容动态来修改流表内容。这条规则首先创建了一条新的流(该流对应vm从br-tun的gre端口发出的规则):其中table=20表示规则添加在表20;NXM_OF_VLAN_TCI0.11表示匹配包自带的vlanid;NXM_OF_ETH_DST=NXM_OF_ETH_SRC表示L2目标地址需要匹配当前包的L2源地址;load:0-NXM_OF_VLAN_TCI,去掉vlan,load:NXM_NX_TUN_ID-NXM_NX_TUN_ID,添加tunnel号为原始tunnel号;output:NXM_OF_IN_PORT,发出端口为原始包抵达的端口。表0表1表2表3表10深入理解Neutron-OpenStack网络实现12计算节点向表20添加完规则后,最后将匹配的当前网包从端口1(即patch-int)发出。cookie=0 x0,duration=10969.2s,table=10,n_packets=29,n_bytes=5736,idle_age=16,priority=表20中有两条规则,其中第一条即表10中规则利用learn行动创建的内部向外部发包的

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1