没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本文整理自本人的技术博客中的Neutron系列文章。任何疑问、问题或者建议,可以给本人发邮件或者在我的博文中添加评论。 本系列文章基于 OpenStack Juno 版本,是在参考了大量网络资料的基础上加上自己的理解和实践而完成的。 OpenStack 在持续快速发展中,Neutron 更是这样,因此,本人会在将来不定期地对博文做修改,但是应该不会更新本文。
资源推荐
资源详情
资源评论
深入理解 OpenStack Neutron 原理及实现
2
Sammy Liu, 2015/08, esunsnote@163.com, http://www.cnblogs.com/sammyliu
前言
本文整理自本人的技术博客中的 Neutron 系列文章。任何疑问、问题或者建议,可以给本人发
邮件或者在我的博文中添加评论。
本系列文章基于 OpenStack Juno 版本,是在参考了大量网络资料的基础上加上自己的理解和
实践而完成的。
OpenStack 在持续快速发展中,Neutron 更是这样,因此,本人会在将来不定期地对博文做修
改,但是应该不会更新本文。
深入理解 OpenStack Neutron 原理及实现
3
Sammy Liu, 2015/08, esunsnote@163.com, http://www.cnblogs.com/sammyliu
目录
第一章. Neutron 所实现的网络虚拟化 ....................................................................................... 9
1.为什么要网络虚拟化? ..................................................................................................... 9
2. Neutron 网络虚拟化 ......................................................................................................... 10
2.1 网络(L2 network)................................................................................................ 11
2.1.1 Provider network ............................................................................................ 11
2.1.3 Tenant network .............................................................................................. 12
2.1.4 Provider network 和 Tenant network 的区别 ............................................ 14
2.1.5 多网段 Provider network (multi-segment provider network) .............. 15
2.2 子网 (subnet) .................................................................................................... 16
2.3 端口 (Port) ......................................................................................................... 17
2.4 虚机交换机 (Virtual switch) ............................................................................. 17
2.5 虚拟路由器 (Virtual router) .............................................................................. 17
2.6 各组件之间的关系 .................................................................................................. 17
3. Neutron 中的网络连通性 .................................................................................................. 18
3.1 虚拟二层网络的实现 .............................................................................................. 18
3.1.1 使用 VLAN 实现虚拟二层网络 .................................................................. 18
3.1.2 基于 GRE/VxLAN 实现的二层网络 (L2) .............................................. 19
3.2 虚机路由器 (virtual router) .............................................................................. 19
3.3 DHCP 服务 ................................................................................................................ 20
4. Neutron 数据网络的租户隔离性(Tenant Isolation) .................................................... 20
5. Neutron 数据网络的安全性(Security) ........................................................................ 22
6. Neutron 数据网络的可用性(HA)和扩展性(Scalability) ........................................ 22
7. Neutron 扩展服务(Extension Service) ......................................................................... 24
8. Neutron REST API ................................................................................................................ 24
第二章、使用 Open vSwitch + VLAN 组网 ............................................................................... 25
1. L2 基础知识 ....................................................................................................................... 25
1.1 VLAN 基础知识 ........................................................................................................ 25
1.2 二层交换的基础知识 .............................................................................................. 27
1.2.1 二层交换机最基本的功能 ........................................................................... 27
1.2.2 Address Resolution Protocol (ARP) 原理 ........................................................ 28
2. 使用 Open vSwitch (OVS)+ VLAN 组网 ..................................................................... 30
2.1 物理 VLAN 网络配置 ............................................................................................. 30
2.2 Neutron 配置 ........................................................................................................... 31
2.2.1 配置进行 ....................................................................................................... 31
2.2.2 配置生效过程 ............................................................................................... 32
2.3 创建虚拟网络和子网 .............................................................................................. 32
2.3.1 创建命令 ....................................................................................................... 33
2.3.2 Neutron 代码实现 ........................................................................................ 33
2.4 Neutron 虚拟网络 ................................................................................................... 34
第三章、Open vSwitch + GRE/VxLAN 组网 ............................................................................... 38
1. 基础知识 ............................................................................................................................ 38
1.1 GRE 技术 .................................................................................................................. 38
1.1.1 应用场景 ....................................................................................................... 39
深入理解 OpenStack Neutron 原理及实现
4
Sammy Liu, 2015/08, esunsnote@163.com, http://www.cnblogs.com/sammyliu
1.1.2 使用 GRE 的配置 ........................................................................................ 39
1.1.3 过程 ............................................................................................................... 40
1.1.4 GRE 的不足 ................................................................................................... 41
1.2. VxLAN 技术 ............................................................................................................. 42
1.2.1 VXLAN 的实现 ............................................................................................... 42
1.3. 相关技术对比 ......................................................................................................... 46
1.3.1 VLAN 和 VxLAN 的对比 .............................................................................. 46
1.3.2 GRE 和 VXLAN 对比 .................................................................................... 47
2. Neutron 通过 OVS 对 GRE 和 VXLAN 的支持 ............................................................. 47
2.1 隧道端口 (tunnel port) ..................................................................................... 48
2.2 在不使用 l2population 时的隧道建立过程 ......................................................... 49
2.3 Neutron tunnel 数据流向 ........................................................................................ 50
2.4 MTU 问题(来源) ................................................................................................. 50
第四章: Neutron OVS OpenFlow 流表 和 L2 Population ..................................................... 51
1. 基础知识 ............................................................................................................................ 51
1.1 OpenFlow 结构、流表和数据包处理 .................................................................... 51
1.2 ARP Proxy .................................................................................................................. 52
2. 不使用 ARP Responder 和 DVR 时 br-tun 中的流表(flow tables) ........................... 53
2.1 流表分析 .................................................................................................................. 53
2.2 MAC 地址学习 ......................................................................................................... 55
3. ARP Responder .................................................................................................................... 57
3.1 升级 OVS ................................................................................................................. 57
3.2 ARP Responder .......................................................................................................... 58
4. L2 population ...................................................................................................................... 60
4.1 原理 .......................................................................................................................... 60
4.2 过程实验 .................................................................................................................. 61
4.3 性能 .......................................................................................................................... 65
4.3.1 MQ 性能问题 ................................................................................................ 65
4.3.2 大规模网络环境中节点上的 OpenFlow flows 过多 ................................. 66
第五章:DHCP Agent ..................................................................................................................... 66
1. 创建虚机时的数据流 ........................................................................................................ 67
2. Neutron 中的网络概念和 DHCP Agent ............................................................................ 69
2.1 Neutron 网络概念 ................................................................................................... 69
2.2 Neutron DHCP Agent ................................................................................................. 70
3. 关于 Dnsmasq ................................................................................................................... 71
3.1 Dnsmasq 进程 .......................................................................................................... 71
3.2 Dnsmasq log .............................................................................................................. 73
4. 虚机启动时向 Dnsmasq 申请固定 IP ............................................................................ 73
5. DHCP Agent 的性能和可靠性 ........................................................................................... 76
第六章: Neutron 虚拟三层网络 ................................................................................................. 77
1. 基础知识 ............................................................................................................................ 77
1.1 Linux network namespace ......................................................................................... 77
1.1.1 概念和操作 ................................................................................................... 77
1.1.2 namespace 间的通信 ................................................................................... 78
深入理解 OpenStack Neutron 原理及实现
5
Sammy Liu, 2015/08, esunsnote@163.com, http://www.cnblogs.com/sammyliu
1.2 iptables ...................................................................................................................... 80
1.2.1 netfilter/iptables 基本概念 ........................................................................... 80
1.2.2 iptables ........................................................................................................... 83
1.2.3 NAT 的实现 ................................................................................................... 85
1.3 route (Linux 路由表) ......................................................................................... 87
1.4 路由器的辅助(Secondary) IP ............................................................................ 87
1.5 Gratuitous ARP .......................................................................................................... 88
2. Neutron L3 Agent 的实现原理 .......................................................................................... 89
2.1 Router 作为浮动 IP 地址的 ARP Proxy ................................................................. 89
2.2 路由 (Routing) ................................................................................................... 90
2.3 源地址转换 SNAT ................................................................................................... 91
2.3.1 Neutron 的 SNAT iptables chains ................................................................. 91
2.3.2 实验:从虚机 81.1.180.12 ping 外网 192.168.1.15 ................................ 92
2.4 目的地址转换 DNAT ............................................................................................... 93
2.4.1 浮动 IP 分配 .................................................................................................. 93
2.4.2 Neturon DNAT Chains ..................................................................................... 94
2.4.3 实验:从外网 192.168.1.15 ping 虚机 81.1.180.14 的浮动 IP 192.168.1.104
................................................................................................................................. 95
2.5 L3 Agent iptables 完整流程实验 ............................................................................. 96
2.4.1 虚机 91.1.180.14 ping 另一个虚机 81.1.180.12 ....................................... 96
2.5.1 虚机 91.1.180.14 ping 外网 192.168.1.4 ................................................... 96
2.5.2 外网 192.168.1.4 ping 虚机 192.168.1.104(91.1.180.14) ..................... 97
3. Neutron L3 Agent 主要代码结构 ...................................................................................... 98
3.1 L3 Agent 启动 ........................................................................................................... 98
3.2 Router 处理 .............................................................................................................. 99
3.3 浮动 IP 处理 ......................................................................................................... 100
第七章: Neutron 负载均衡器虚拟化 ........................................................................................ 100
1. 基础知识 .......................................................................................................................... 100
1.1 负载均衡的概念 .................................................................................................... 100
1.2 High Availability Proxy(HAProxy) ....................................................................... 102
2. Neutron 中的虚拟负载均衡器 ....................................................................................... 105
2.1 LBaas 中的概念...................................................................................................... 105
2.2 LBaas HAProxy 部署实例 ....................................................................................... 107
2.2.1 安装 ............................................................................................................. 107
2.2.2 配置 ............................................................................................................. 109
2.2.3 验证 ............................................................................................................. 111
2.2.4 LBaas 的实现............................................................................................... 111
3. Neutron LBaas 代码分析 ................................................................................................. 120
第八章: Neutron 虚机防火墙 ................................................................................................... 122
1. 基础知识 .......................................................................................................................... 122
1.1 防火墙(firewall) ................................................................................................ 122
1.2 IP 地址欺骗 (IP Spoofing) ................................................................................ 124
1.3 iptables bridge (在 Linux 桥上做防火墙) ...................................................... 126
1.4 ipset 和在 iptables 规则中使用 ipset ................................................................ 129
剩余230页未读,继续阅读
资源评论
- 赵子苍2019-01-20非常非常好
- yyanthony2019-02-11thanks for sharing
- managed742016-04-26it is good thing.
- SoftLayer2015-10-05还可以吧,可以参考参考
minmax
- 粉丝: 2
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功