1. 概述
创建网络(本文以创建 vxlan 为例分析)一般过程:
创建网络(指定网络名称 net1) => 创建子网(指定网络名称 net1-sub、dns、网关、CIDR 等)
# openstack network create net1
# openstack subnet create --network net1 --dns-nameserver 8.8.4.4 --gateway 172.16.1.1 --subnet-range 172.16.1.0/24 net1-sub
附(复习一下子网相关概念,参考《计算机网络》):
IP 地址
Internet 上的每台主机和路由器都有 IP 地址,IP地址包含网络号和主机号
-- 32位长
-- 它引用的是一个网络接口
-- 点分十进制标记法表示,即4个字节中的每个字节用十进制表示
-- 值 0(0.0.0.0)和 -1(255.255.255.255)具有特殊含义,0 表示当前主机,1 被用作广播,表示该网络中的所有主机
-- 127.x.x.x 形式的地址保留用作回环测试
子网
允许将一个网络分成多个部分共内部使用,网络的各个部分称为子网
-- 从IP地址的主机号拿出一些位作为子网号
子网掩码
代表 网络+子网号 与 主机号 之间的分割方案
-- 点分十进制表示,或者 “/ 网络+子网 的位数”,比如,22位长的子网掩码:255.255.252.0, /22
-- IP 地址与子网掩码做布尔与操作,可以消除主机号
CIDR(Classes InterDomain Routing,无类别域间路由)
将可用的 IP 地址以可变大小块的方式进行分配,而不管它们的所属类别
-- 路由转发规则:扫描路由表(IP 地址,子网掩码,输出线路),将掩码去掩目标 IP 地址,再与表项中的网络号比较,使用掩码最长的表项
例子:
# | 首地址 | 末地址 | 地址个数 | CIDR表示 |
1 | 194.24.0.0 | 194.24.7.255 | 2048 | 192.24.0.0/21 |
2 | 194.24.8.0 | 194.24.11.255 | 1024 | 192.24.8.0/22 |
子网1:11000010 00011000 00000|000 00000000
子网2:11000010 00011000 000010|00 00000000
其中,| 右边是主机号
NAT(Network Address Translation,网络地址转换)
-- 为一个组织(如一个公司)分配一个或少量 IP 地址,来传输 Internet 流量
-- 在组织内部,每台计算机的网络接口有唯一 IP 地址,来传输内部流量
-- 三段 IP 地址范围被申明为私有地址,组织内部可随意使用,这些地址不能出现在 Internet 上
10.0.0.0 - 10.255.255.255 /8 (16777216 个主机地址)
172.16.0.0 - 172.31.255.255 /12 (1048576 个主机地址)
192.168.0.0 - 192.168.255.255 /16 (65536 个主机地址)