network

network 是一个隔离的二层广播域。Neutron 支持多种类型的 network,包括 local, flat, VLAN, VxLAN 和 GRE。

local
local 网络与其他网络和节点隔离。local 网络中的 instance 只能与位于同一节点上同一网络的 instance 通信,local 网络主要用于单机测试。

flat
flat 网络是无 vlan tagging 的网络。flat 网络中的 instance 能与位于同一网络的 instance 通信,并且可以跨多个节点。

vlan
vlan 网络是具有 802.1q tagging 的网络。vlan 是一个二层的广播域,同一 vlan 中的 instance 可以通信,不同 vlan 只能通过 router 通信。vlan 网络可以跨节点,是应用最广泛的网络类型。

vxlan
vxlan 是基于隧道技术的 overlay 网络。vxlan 网络通过唯一的 segmentation ID(也叫 VNI)与其他 vxlan 网络区分。vxlan 中数据包会通过 VNI 封装成 UDP 包进行传输。因为二层的包通过封装在三层传输,能够克服 vlan 和物理网络基础设施的限制。

gre
gre 是与 vxlan 类似的一种 overlay 网络。主要区别在于使用 IP 包而非 UDP 进行封装。

不同 network 之间在二层上是隔离的。
以 vlan 网络为例,network A 和 network B 会分配不同的 VLAN ID,这样就保证了 network A 中的广播包不会跑到 network B 中。当然,这里的隔离是指二层上的隔离,借助路由器不同 network 是可能在三层上通信的。

network 必须属于某个 Project( Tenant 租户),Project 中可以创建多个 network。 network 与 Project 之间是 1对多 关系。

subnet

subnet 是一个 IPv4 或者 IPv6 地址段。instance 的 IP 从 subnet 中分配。每个 subnet 需要定义 IP 地址的范围和掩码。

subnet 与 network 是 1对多 关系。一个 subnet 只能属于某个 network;一个 network 可以有多个 subnet,这些 subnet 可以是不同的 IP 段,但不能重叠。下面的配置是有效的:

network A       subnet A-a: 10.10.1.0/24  {"start": "10.10.1.1", "end": "10.10.1.50"}subnet A-b: 10.10.2.0/24  {"start": "10.10.2.1", "end": "10.10.2.50"}

但下面的配置则无效,因为 subnet 有重叠

networkA        subnet A-a: 10.10.1.0/24  {"start": "10.10.1.1", "end": "10.10.1.50"}subnet A-b: 10.10.1.0/24  {"start": "10.10.1.51", "end": "10.10.1.100"}

这里不是判断 IP 是否有重叠,而是 subnet 的 CIDR 重叠(都是 10.10.1.0/24)

但是,如果 subnet 在不同的 network 中,CIDR 和 IP 都是可以重叠的,比如

network A       subnet A-a: 10.10.1.0/24  {"start": "10.10.1.1", "end": "10.10.1.50"}networkB        subnet B-a: 10.10.1.0/24  {"start": "10.10.1.1", "end": "10.10.1.50"}

这里大家不免会疑惑: 如果上面的IP地址是可以重叠的,那么就可能存在具有相同 IP 的两个 instance,这样会不会冲突? 简单的回答是:不会!

具体原因: 因为 Neutron 的 router 是通过 Linux network namespace 实现的。network namespace 是一种网络的隔离机制。通过它,每个 router 有自己独立的路由表。

上面的配置有两种结果:

  1. 如果两个 subnet 是通过同一个 router 路由,根据 router 的配置,只有指定的一个 subnet 可被路由。

  2. 如果上面的两个 subnet 是通过不同 router 路由,因为 router 的路由表是独立的,所以两个 subnet 都可以被路由。

这里只是先简单做个说明,我们会在后面三层路由的章节详细分析这种场景。

port

port 可以看做虚拟交换机上的一个端口。port 上定义了 MAC 地址和 IP 地址,当 instance 的虚拟网卡 VIF(Virtual Interface) 绑定到 port 时,port 会将 MAC 和 IP 分配给 VIF。

port 与 subnet 是 1对多 关系。一个 port 必须属于某个 subnet;一个 subnet 可以有多个 port。

示例:

[root@cc07 ~]# nova interface-list hzb-test
+------------+--------------------------------------+--------------------------------------+--------------+-------------------+
| Port State | Port ID                              | Net ID                               | IP addresses | MAC Addr          |
+------------+--------------------------------------+--------------------------------------+--------------+-------------------+
| ACTIVE     | 18d5e605-d058-4f27-95db-723836d66eb5 | 7856011d-32e7-42a7-887d-2f9dc3c730e7 | 10.33.0.66   | fa:16:3e:db:33:57 |
| ACTIVE     | 441965ed-bbc0-4ec8-8498-d292c5649881 | 7856011d-32e7-42a7-887d-2f9dc3c730e7 | 10.23.2.4    | fa:16:3e:7b:6c:6a |
| ACTIVE     | 5f51e282-a65d-4277-8d18-e4ed3618cbef | 2193270e-c4c9-469c-99ae-87ebdb4ba535 | 10.30.0.65   | fa:16:3e:06:40:ff |
| ACTIVE     | a0152728-08b5-4c95-9206-a4439ca19453 | 7856011d-32e7-42a7-887d-2f9dc3c730e7 | 10.23.2.6    | fa:16:3e:7d:03:5b |
| ACTIVE     | f615713a-1551-48e1-9d0e-f250fb082607 | 7856011d-32e7-42a7-887d-2f9dc3c730e7 | 10.23.2.5    | fa:16:3e:94:b0:4c |
+------------+--------------------------------------+--------------------------------------+--------------+-------------------+

1、虚拟机hzb-test

2、绑定了2个network:    7856011d-32e7-42a7-887d-2f9dc3c730e7 、2193270e-c4c9-469c-99ae-87ebdb4ba535

3、网络7856011d-32e7-42a7-887d-2f9dc3c730e7 有2个子网,2193270e-c4c9-469c-99ae-87ebdb4ba535有1个子网

[root@cc07 ~]# neutron subnet-list --network_id=7856011d-32e7-42a7-887d-2f9dc3c730e7
+--------------------------------------+--------------+--------------+-----------------------------------------------+
| id                                   | name         | cidr         | allocation_pools                              |
+--------------------------------------+--------------+--------------+-----------------------------------------------+
| d0ef28a3-68fe-4b66-bb66-e723825fab82 | hzb-subnet   | 10.23.2.0/24 | {"start": "10.23.2.2", "end": "10.23.2.254"}  |
| e4e4902a-28d1-4fb0-a1ae-6ea23ecddfbb | hzb-sub-net2 | 10.33.0.0/24 | {"start": "10.33.0.50", "end": "10.33.0.100"} |
+--------------------------------------+--------------+--------------+-----------------------------------------------+

[root@cc07 ~]# neutron subnet-list --network_id=2193270e-c4c9-469c-99ae-87ebdb4ba535
+--------------------------------------+--------------+--------------+----------------------------------------------+
| id                                   | name         | cidr         | allocation_pools                             |
+--------------------------------------+--------------+--------------+----------------------------------------------+
| 0ba19972-c2f6-4cbb-80f6-a642a2f698a8 | hzb-sub-net1 | 10.30.0.0/24 | {"start": "10.30.0.60", "end": "10.30.0.90"} |
+--------------------------------------+--------------+--------------+----------------------------------------------+

4、子网hzb-subnet有6个port,其中hzb-test虚拟机绑定了该子网三个port

[root@cc07 ~]# neutron port-list|grep d0ef28a3-68fe-4b66-bb66-e723825fab82
| 441965ed-bbc0-4ec8-8498-d292c5649881 |                                                   | fa:16:3e:7b:6c:6a | {"subnet_id": "d0ef28a3-68fe-4b66-bb66-e723825fab82", "ip_address": "10.23.2.4"}          |
| 5d5252cc-d307-4a39-9cfb-f4baf2e24549 |                                                   | fa:16:3e:2a:9a:ed | {"subnet_id": "d0ef28a3-68fe-4b66-bb66-e723825fab82", "ip_address": "10.23.2.1"}          |
| 83bb2d73-75bf-4772-8b53-cac6cfe13a4d |                                                   | fa:16:3e:0c:6f:46 | {"subnet_id": "d0ef28a3-68fe-4b66-bb66-e723825fab82", "ip_address": "10.23.2.2"}          |
| a0152728-08b5-4c95-9206-a4439ca19453 |                                                   | fa:16:3e:7d:03:5b | {"subnet_id": "d0ef28a3-68fe-4b66-bb66-e723825fab82", "ip_address": "10.23.2.6"}          |
| d93c95b0-1b16-4499-b60e-d2b3954bdb84 |                                                   | fa:16:3e:b4:50:3d | {"subnet_id": "d0ef28a3-68fe-4b66-bb66-e723825fab82", "ip_address": "10.23.2.3"}          |
| f615713a-1551-48e1-9d0e-f250fb082607 |                                                   | fa:16:3e:94:b0:4c | {"subnet_id": "d0ef28a3-68fe-4b66-bb66-e723825fab82", "ip_address": "10.23.2.5"}          |

openstack的网络、子网、端口的关系相关推荐

  1. OpenStack Networking网络

    OpenStack Networking允许n你创建和管理网络对象,例如网络.子网和端口,其它OpenStack服务可以使用它们.插件可以实现为服务不同的网络设备和软件,为OpenStack架构和部署 ...

  2. windows网络通讯端口

    windows安全设置 一.windows网络通讯端口 1.端口分类 windows网络通讯端口可分为3大类: 1)公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务 ...

  3. 网络交换机端口管理工具

    如今,企业或组织级网络使用数百个交换机端口作为其 IT 基础架构的一部分来实现网络连接.这使得交换机端口管理成为日常网络管理任务的一部分.传统上,网络管理员必须依靠手动网络交换机端口管理技术来跟踪交换 ...

  4. 常用的网络号端口大全,网工必备-EICCIE,SPCCIE

    一.端口概念 端口可分为虚拟端口和物理端口. 其中虚拟端口指计算机内部或交换机路由器内的端口是不可见的,例如计算机中的80端口.21端口.23端口等. 物理端口又称为接口,是可见端口,计算机背板的RJ ...

  5. [转]OpenStack的网络模式

    [转]OpenStack的网络模式: "" (Via.) 转载于:https://www.cnblogs.com/devops/p/3314577.html

  6. DC的网络连接端口与防火墙设置[为企业部署Windows Server 2008系列十]

    在前面9篇文章中跟大家分享了2008上dc的搭建以及core模式下的一些应用,当我们为企业部署好基础架构服务后为了安全起见都会启动windows server 2008自带的windows 防火墙,并 ...

  7. 解决网络请求的依赖关系

    怎么解决网络请求的依赖关系:当一个接口的请求需要依赖于另一个网络请求的结果 思路1:操作依赖:NSOperation 操作依赖和优先级(不适用,异步网络请求并不是立刻返回,无法保证回调时再开启下一个网 ...

  8. Ospf在广播网络中建立邻居关系的详细过程

    Ospf 在广播网络中建立邻居关系的详细过程 目的:观察在广播网络中,OSPF建立邻接关系的过程 拓扑及设备需求 拓扑: 图片1 设备需求:3台路由器,ios版本为12.2 需求:配置3台路由器的以太 ...

  9. OpenStack精华问答 | OpenStack的网络类型有哪些?

    戳蓝字"CSDN云计算"关注我们哦! 关于OpenStack的探讨几乎从未间断,从2010年10月份一个版本正式发布至今,OpenStack在8年发展历程中,成为了最有争议的那一个 ...

  10. (精心整理)常见网络协议端口号整理

    目录 一.端口的分类 (1)按端口性质来分 (2)按提供的服务方式来分 二.计算机网络七层模型中对应的协议 三.总结 一.端口的分类 (1)按端口性质来分 公认端口(常用端口):0-1024 通常这些 ...

最新文章

  1. linux除了eeprom其他的保存方法,linux的EEPROM的读写控制.doc
  2. 定义mysql字段的编码模式_在 mysql 中 定义 数据库,表,列时,设定的各个的编码格式。...
  3. 拨云见日—深入解析Oracle TX 行锁(上)
  4. C++ 多态实现的三个条件
  5. 胃部不适,原来好辛苦!
  6. java里面add报错_java.util.Arrays$ArrayList addAll报错
  7. bzoj4195 noi2015 day1 t1
  8. 在JavaScript控制台中包含jQuery
  9. sklearn——加载数据集
  10. java读取properties配置文件路径
  11. 2021-09-07NVIDIA Jetson Xavier NX载板 RTSO-6002使用TF(MicroSD)卡说明
  12. You're currently running Fcitx with GUI 错误解决 Fcitx
  13. 「ds」网络操作系统和分布式操作系统之间的区别
  14. [置顶] 龙芯2f笔记本- openbsd5.4安装手记
  15. IPQ5000/IPQ5010/IPQ5018/方案WiFi6开发 工业5G CPE
  16. I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之根文件系统挂载
  17. cfd-post 流线很少
  18. 数据运营与数据分析闲谈
  19. 尝试编写一个加密程序,加密方法将明文的字母变成其后的第4个字母,**字母表首尾相连。非字母符号** 不加密。 例如输入“China“, 输出密文“Glmre“, 输入 “ab123“, 输出 “ef1
  20. 美通企业日报 | IMAX中国票房纪录创年度新高;上海迪士尼将迎来黄色小狗可琦安...

热门文章

  1. silverlight 类似百度的图片浏览器,视频播放,附件下载功能,全部后台程序。...
  2. SharePoint 2007图文开发教程(6)---实现Search Services
  3. 切换alwayson的时候失败
  4. JavaScript学习笔记(三)——数组
  5. C#学习基本概念之结构与类
  6. Java编译那些事儿【转】
  7. iOS开发-UITableView顶部图片下拉放大
  8. SQL server(MSSQL)客户端工具登录数据库的两种命令行登录方式
  9. Java对List对象进行排序
  10. Nginx相关基础配置详解