Neutron学习笔记
基本概念
1.涉及的Linux网络技术
- bridge:网桥,Linux中用于表示一个能连接不同网络设备的虚拟设备,Linux中传统实现的网桥类似于一个hub设备,而ovs管理的网桥一般类似交换机。
- br-int:bridge-intergration,综合网桥,常用于表示实现主要内部网络功能的网桥。
- br-ex:bridge-external,外部网桥,通常表示负责跟外部网络通信的网桥。
- GRE:General Routing Encapsulation,一种通过封装来实现隧道的方式。在openstack中一般是基于L3的GRE,即original pkt/GRE/IP/Ethernet
- VETH:虚拟Ethernet接口,通常以pair的方式出现,一端发出的数据包,会被另一端接收,可以形成两个网桥之间的通道。
- qvb:neutron veth,Linux Bridge-side
- qvo:neutron veth,OVS-side
- TAP设备:模拟一个二层的网络设备,可以接受和发送二层数据包。
- TUN设备:模拟一个三层的网络设备,可以接收和发送三层数据包。
- iptables:Linux上常见的实现安全策略的防火墙软件。
- Vlan:虚拟局域网,同一个物理局域网下用标签来实现隔离,可用标号为1-4094.
- VXLAN:一套利用UDP协议作为底层传输协议的Overlay实现。一般认为作为VLAN技术的延伸或替代者。
- namespace:用来实现隔离的一套机制,不同namespace中的资源之间彼此不可见。
1.1 tap
tap从功能定位上来讲,位于数据链路层,数据链路层的主要协议有:
- 点对点协议(point-to-point Protocol)
- 以太网(Ethernet)
- 高级数据链路协议(High-Level Link Protocol)
- 帧中继(Frame Relay)
- 异步传输模式(Asynchronous Rransfer Mode)
但在这些以太网协议中tap只与以太网(Ethernet)协议对应。因此,tap有时也被称为“虚拟以太网设备”
1.2 tun
tun是一个网络层(IP)的点对点设备,它启用了IP层隧道功能。
Linux一共支持5中三层隧道(tunnel)如下表:
隧道 | 简述 |
---|---|
ipip | IP in IP,在IPV4报文的基础上再封装一个IPV4报文头,属于IPV4 in IPV4 |
GRE | 通用路由封装,定义了在任意一种网络层协 |