博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【OpenStack】network相关知识学习
阅读量:5891 次
发布时间:2019-06-19

本文共 2454 字,大约阅读时间需要 8 分钟。

731047-20180606093304397-549595810.jpg

network

类型

  • local:通信不跨主机,必须同一网段,主要做单机测试使用;

    731047-20180619131921374-1550769988.png

  • flat:统计可以跨主机,但是需要在同一网段;

    每个 flat network 都会独占一个物理网卡
    731047-20180619204248697-199556718.png

计算节点上 bridge 的名称与控制节点上一致,都是 brqf153b42f-c3,表明是同一个 network

731047-20180619204335569-1699600940.png

  • vlan: 工作在二层广播域(链路层),二层隔离,跨主机通信,可以不必在同一网段(待确认),同一vlan下的网络,都可以进行通信,但是vlan之间通信必须使用路由器,即:vlan内网络互通,vlan间网络隔离;

731047-20180619214212444-423486587.png

注意: 因为物理网卡 eth1 上面可以走多个 vlan 的数据,那么物理交换机上与 eth1 相连的的 port 要设置成 trunk 模式,而不是 access 模式。

731047-20180620094210328-102143999.png

cirros-vm1(172.16.100.3) 与 cirros-vm2(172.16.100.4) 位于不同节点,通过 vlan100 相连,可互相通信。

731047-20180620095801539-1838885323.png

cirros-vm1 位于控制节点,属于 vlan100。    cirros-vm2 位于计算节点,属于 vlan100。cirros-vm3 位于计算节点,属于 vlan101。cirros-vm1 与 cirros-vm2 都在 vlan100,它们之间能通信。cirros-vm3 在 vlan101,不能与 cirros-vm1 和 cirros-vm2 通信。
  • Vxlan: 隧道技术
  • gre:

port

可以看做是vSwitch上的一个端口,主要包括两个属性:

  1. ip (在network、subnet约束)
  2. mac

731047-20180620131344463-760559495.png

目前官方文档可以看出,port可以与3种device关联;

  1. vm的vif(虚拟网卡):compute:nova (server instance),port绑定到vm的VIF,则该port的ip和mac会分配给这个VIF ==> 用于为虚拟机提供网络服务
  2. router的interface上: network:router_interface (router interface),用于不同的subnets之间互相通信
  3. dhcp: network:dhcp (DHCP agent)

Switches

  • 连接处于相同二层网络的hosts;
  • 运行在layer-2层网络;
  • 基于Mac地址转发数据包;

Routers

  • 运行在layer-3层网络;
  • 基于IP地址转发数据包

731047-20180620101920209-1239915524.png

接入的物理 router 有两个 interface ip:172.16.100.1 对应 vlan100 的网关。172.16.101.1 对应 vlan101 的网关。当 cirros-vm1 要跟 cirros-vm3 通信时,数据包的流向是这样的:1. 因为 cirros-vm1 的默认网关指向 172.16.100.1,cirros-vm1 发送到 cirros-vm3 的数据包首先通过 vlan100 的 interface 进入物理 router。2. router 发现目的地址 172.16.101.3 与 172.16.101.1 为同一个 vlan,则从 vlan101 的 interface 发出。3. 数据包经过 brq1d7040b8-01 最终到达 cirros-vm3

731047-20180620111952581-1043634384.png

731047-20180625214917012-1133087741.png

vlan

VLAN is a networking technology that enables a single switch to act as if it was multiple independent switches

一种网络技术:可以将1个switch当做多个独立的switchs使用;
731047-20180606131425919-345462559.jpg

示例:

两台host连接到同一台switch上,如果这两个主机处于不同的vlan网络下,则这两台主机的流量是隔离的,互相不可见。
上述场景: 1个switch实际上扮演着2个独立switch的角色;

不同的vlan网络,流量是相互隔离的,不同的vlan网络间进行通信,需要使用route

731047-20180606130346329-949819007.jpg

Floating IP

作用和原理

  1. floating IP 能够让外网直接访问租户网络中的 instance。这是通过在 router 上应用 iptalbes 的 NAT 规则实现的。
  2. floating IP 是配置在 router 的外网 interface 上的,而非 instance,这一点需要特别注意

创建和绑定

  1. ext_net创建 floating ip:只能在外部网络上创建浮动IP,创建时,需要指定外部网络的networkId;
  2. 绑定到内部port:创建完 FIP 后,需要绑定到 1个 内部port上(这个 内部port 对应的ip就是 fixed ip);

731047-20180625215917471-335943114.png


Vxlan

731047-20180629131701478-1426053320.png

实现方式:

  1. Linux vxlan 创建一个 UDP Socket,默认在 8472 端口监听。
  2. Linux vxlan 在 UDP socket 上接收到 vxlan 包后,解包,然后根据其中的 vxlan ID 将它转给某个 vxlan interface,然后再通过它所连接的 linux bridge 转给虚机
  3. Linux vxlan 在收到虚机发来的数据包后,将其封装为多播 UDP 包,从网卡发出。

731047-20180629131825241-1912260772.png

vxlan-100 的 VNI 是 100

731047-20180629131847849-1278676785.png

  1. cirros-vm1(172.16.100.3) 与 cirros-vm2(172.16.100.4) 位于不同节点,通过 vxlan100 相连
  2. 可以互相通信

防火墙 vs 安全组

相同点

  1. 底层都是通过 iptables实现

不同点

  1. Fwaas:iptables规则应用在router上,保护整个租户网卡;
  2. 安全组:iptables规则应用在虚拟网卡上(在宿主机上实现iptables),保护的是单个instance;
  3. Fwaas可以定义allow和deny规则;安全组只能定义allow规则;

VPC互通

731047-20180704175555072-600746937.jpg

参考

转载地址:http://dzfsx.baihongyu.com/

你可能感兴趣的文章
仿射变换
查看>>
decltype类型指示符
查看>>
虹软ArcFace人脸识别 与 Dlib 人脸识别对比
查看>>
laravel 验证码使用示例
查看>>
IE开发人员工具无法使用
查看>>
分页器(自定制)
查看>>
HDU1877 又一版 A+B
查看>>
往sde中导入要素类报错000732
查看>>
springboot之启动方式
查看>>
初次安装git配置用户名和邮箱及密钥
查看>>
6.1(续)索引、索引组织表--Oracle模式对象
查看>>
动画 球
查看>>
C++中的堆,栈,静态内存区,常量区
查看>>
动态SQL实现与注意事项(有返回值与无返回值动态SQL 实现)
查看>>
java struts2 debug
查看>>
简单够用的设计
查看>>
Android图片圆角效果
查看>>
WeChat Official Account Admin Platform API Introduction
查看>>
C语言写单链表的创建、释放、追加(即总是在最后的位置增加节点)
查看>>
poj1635
查看>>