首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker容器跨主机通信之:OVS+GRE

一、概述 由于docker自身还未支持跨主机容器通信,需要借助docker网络开源解决方案 OVS OpenVSwich即开放式虚拟交换机实现,简称OVS,OVS在云计算领域应用广泛,值得我们去学习使用...GRE隧道 GRE即通用路由协议封装,隧道技术是一种封装技术,将网络层协议(如IP)的数据报文进行封装,使这些封装的数据报文能够在另一个网络层协议中传输。...可以看作是一个虚拟点到点连接,所以建立隧道时,要配置好隧道源地址和目的地址。...bro网桥 ovs-vsctl add-br br0 查看bro网桥 ?...设置gre端口 将gre0接口加入到网桥obr0, 远程IP写对端IP(创建一个GRE隧道并添加到网桥中) 主机1 执行: ovs-vsctl add-port br0 gre0 -- set Interface

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    利用pipework与OVS构建跨主机容器网络

    ovs0 br1 注意:在相应的节点上创建隧道 创建host1至host2的GRE隧道(可以选择VXLAN)(在host1上执行) ovs-vsctl add-port ovs0 gre0 -- set...ovs0 gre0 -- set interface gre0 type=gre options:remote_ip=10.20.10.70 创建host2至host3的GRE隧道: ovs-vsctl...在这个网络图中,省略了linux bridge,直接把容器挂在ovs0上,这样可以支持vlan。至于ovs0之间的连接,我还是坚持使用了overlay的技术。...如果要扩展为一个类似方案一的环状拓扑,请开启ovs的STP并手动建立GRE或VXLAN连接。 2....实验: 在每台主机上创建ovs0网桥并配置好GRE隧道(host1和host2的IP地址参考方案一): ovs-vsctl add-br ovs0 创建host1至host2的GRE隧道(可以选择VXLAN

    2.1K91

    如何使用GRE建立VPN隧道

    •GRE隧道可以封装组播数据,和IPSec结合使用时可以保证语音、视频等组播业务的安全。...•GRE隧道支持使能MPLS LDP,使用GRE隧道承载MPLS LDP报文,建立LDP LSP,实现MPLS骨干网的互通。...•GRE隧道将不连续的子网连接起来,用于组建VPN,实现企业总部和分支间安全的连接。 ? GRE基本原理 ? 实现过程 报文在GRE隧道中传输包括封装和解封装两个过程。...封装后的数据报文在网络中传输的路径,称为GRE隧道。 ? ••封装 1.Ingress PE从连接X协议网络的接口接收到X协议报文后,首先交由X协议处理。...GRE的Keepalive检测功能可以检测隧道状态,即检测隧道对端是否可达。如果对端不可达,隧道连接就会及时关闭,避免因对端不可达而造成的数据丢失,有效防止数据空洞,保证数据传输的可靠性。

    6.9K40

    【重识云原生】第四章云网络4.8.3.1节——Open vSwitch简介

    使用Patch连接的两个网桥跟一个网桥没什么区别,OpenStack Neutron中使用到了Patch Port。...可以使用ovs-vsctl创建patch设备,如下创建两个网桥br0,br1,然后使用一对Patch Port连接它们。          ...Tunnel         OVS中支持添加隧道(Tunnel)端口,常见隧道技术有两种gre或vxlan。...不同隧道技术其大体思路均是将以太网报文使用隧道协议封装,然后使用底层IP网络转发封装后的数据包,其差异性在于选择和构造隧道的协议不同。...OVS在计算和网络节点上建立隧道Port来连接各节点上的网桥br-int,这样所有网络和计算节点上的br-int互联形成了一个大的虚拟的跨所有节点的逻辑网桥(内部靠tunnel id或VNI隔离不同子网

    4.9K12

    基于Open vSwitch的VxLAN隧道实验网络

    Linux 内核的 upstream 中也刚刚加入 VXLAN 的实现。相比 GRE tunnel 它有着很好的扩展性,同时解决了很多其它问题。...3 实验任务 基于Open vSwitch的VxLAN隧道,实现了相同和不同网段内设备的通信,启动OpenvSwitch服务,创建VxLAN隧道,本实验主要是通过在OpenvSwitch上手动命令操作设置连接...步骤一1:分别在两台机器上创建网桥: #sudo ovs-vsctl add-br br0  #数据层面 #sudo ovs-vsctl add-br br1  #控制层面 步骤2:mn虚拟机上将eth0...实验本身是在虚拟机中操作,所以实验中br0桥上没有再下挂主机,分别给两台虚拟机的br0指定两个相同网段的IP,然后通过搭建VxLAN隧道让这两个网桥能够实现通信,设置如下: 在mn虚拟机上创建VxLAN...实验本身是在虚拟机中操作,分别给两台虚拟机的br0指定两个不同网段的IP,然后通过搭建VxLAN隧道及设置路由让这两个网桥能够实现通信,设置如下: 在mn虚拟机上创建VxLAN: # ovs-vsctl

    3.1K60

    Docker容器跨主机通讯的几种方式

    基于OVS+GRE的大二层通信 前言:Docker的5种网络模式 Bridge 此时docker引擎会创建一个veth对,一端连接到容器实例并命名为eth0,另一端连接到指定的网桥中(比如docker0...),因此同在一个主机的容器实例由于连接在同一个网桥中,它们能够互相通信。...如果用户使用了-p或者-P端口,还会创建对应的端口映射规则,使得外部请求能够访问容器的服务,但是你不能通过IP直接访问,本文提供了3种方式实现容器的跨主机访问。...基于OVS+GRE的大二层通信 示意图如下: 图片.png 修改Docker0的网络地址 编辑主机1上的 /etc/docker/daemon.json 文件,添加内容: { "bip...设置gre端口 (主机2上面也一样,只是remote_ip为172.31.15.168) ovs-vsctl add-port br0 gre0 – set Interface gre0 type=gre

    2.2K10

    OpenStack Neutron中的DVR简介与OVS流表分析

    node 上的 br-ex 就必须桥接到一个可以连接到外网的网卡上。...在前面DVR的配置中我们用到了一些OVS的命令,这里再介绍一下OVS的一些命令: 查看open vswitch的网络状态:ovs-vsctl show 查看网桥br-tun的接口状况:ovs-ofctl...show br-tun 查看网桥br-tun的流表:ovs-ofctl dump-flows br-tun 添加网桥:#ovs-vsctl add-br br0 将物理网卡挂接到网桥:#ovs-vsctl...列出 open vswitch 中的所有网桥:#ovs-vsctl list-br 判断网桥是否存在:#ovs-vsctl br-exists br0 列出网桥中的所有端口:#ovs-vsctl list-ports...br0 列出所有挂接到网卡的网桥:#ovs-vsctl port-to-br eth0 删除网桥上已经挂接的网口:#vs-vsctl del-port br0 eth0 删除网桥:#ovs-vsctl

    2.7K100

    OpenStack八大核心组件精讲之—neutron理论知识

    ⑤、GRE GRE (通用路由封装)是用一种网络层协议去封装另- -种网络层协议的隧道技术。GRE的隧道由两端的源IP地址和目的IP地址定义,它允许用户使用IP封装IP等协议,并支持全部的路由协议。...用来连接两个虚拟网桥。 OVS网桥: Open vSwitch的核心设备,包括-个OVS集成网桥和一个OVS物理连接网桥。...所有在计算节点上运行的虚拟机连接到集成网桥,Neutron通过配置集成网桥上的端口来实现虚拟机网络隔离。物理连接网桥直接连接到物理网卡。这两个OVS网桥通过一个VETH对来对接。...OVS PATCH端口:两端分别命名为int-br-ethx和phy-br-ethx (x为物理网卡名称中的编号) .这是特有的端口类型,只能在Open vSwitch中使用 OVS物理连接网桥:分为两种类型...GRE或GENEVE叠加网络中使用OVS隧道网桥,命名为br-un,另外,在Local网络中不需要任何OVS物理连接网桥。

    2.7K11

    SDNLAB技术分享(八):Neutron的基本原理与代码实现

    如果不同租户逻辑上共用一个网关,则无法实现租户间IP地址的复用。 3)Overlay模型(主要包括GRE和VxlAN隧道技术),相比于VLAN模型有以下改进。...Q3:ovs-br1是ovs建立网桥吗, ovs-br1是ovs建立网桥吗 A3:这个是VLAN模型中,连接不同节点的网桥,宿主机的物理网卡直接被add上去了,overlay模型中,没有br-eth1...Q5:网桥是linux自创的?还是ovs创建的?...Q7:tap网卡加入到网桥,是为了iptables使用方便。也可以采用流表实现相关功能? A7:是的,目前有很多Neutron的子项目,都用OVS的流表支持IPTABLEs。...将部分功能如隧道Offload到TOR上去(这个应该盛科做过),或者使用STT这类可以做TSO的;2.用dpdk给OVS datapath做加速;3.更干脆一点直接用SRIOV这样的总线技术把OVS旁路掉

    2.2K90

    OpenStack Neutron之OpenStack网络基础

    2 Quantum作为独立的网络管理项目出现在F版本,除了linux-bridge外还支持OVS,以及以及其他商业公司的插件,组网模式上增加了对GRE和VxLAN两个Overlay技术的支持。...如果不同租户逻辑上共用一个网关,则无法实现租户间IP地址的复用。 3 Overlay模型(包括GRE和VxlAN隧道技术),相比于VLAN模型有以下改进。...5)ovs br-int与ovs br-eth1间的连接通过veth-pair技术实现。...另外由于网络节点也要在ovs br-int上使用本地VLAN,而租户跨网段流量与公网流量都要经过网络节点,因此使用单个网络节点时,Neutron最多能支持4K租户,可采用部署多个网络节点的方式来解决这一问题...2)送入网络节点的流量,由ovs br-eth1(ovs br-tun)通过veth-pair送给ovs br-int,ovs br-int连接了本地不同的namespace,包括实现dhcp功能的dhcp-agent

    2.3K91

    OpenStack网络基础

    2)Quantum作为独立的网络管理项目出现在F版本,除了linux-bridge外还支持OVS,以及以及其他商业公司的插件,组网模式上增加了对GRE和VxLAN两个Overlay技术的支持。...如果不同租户逻辑上共用一个网关,则无法实现租户间IP地址的复用。 3)Overlay模型(包括GRE和VxlAN隧道技术),相比于VLAN模型有以下改进。...5)ovs br-int与ovs br-eth1间的连接通过veth-pair技术实现。...另外由于网络节点也要在ovs br-int上使用本地VLAN,而租户跨网段流量与公网流量都要经过网络节点,因此使用单个网络节点时,Neutron最多能支持4K租户,可采用部署多个网络节点的方式来解决这一问题...2)送入网络节点的流量,由ovs br-eth1(ovs br-tun)通过veth-pair送给ovs br-int,ovs br-int连接了本地不同的namespace,包括实现dhcp功能的dhcp-agent

    2.1K50

    Ryu和OpenStack集成

    tunnel_interface:是用来告诉哪个ip地址被用于隧道(假如隧道没有被使用,那么这个值被忽略),ip地址来自接口名称。...br-int的OVS网桥存在,要创建该网桥,执行: # ovs-vsctl add-br br-int 3、DHCP agent设置Ryu plug-in 1)这些DHCP代理选项必须在/etc/neutron...# ryu-manager 3.在所有计算和网络节点的br-int和br-tun网桥上,设置SDN控制器为10.0.0.10 3.1认识OVS集成网桥br-int br-int是OpenvSwitch创建的虚拟网桥...# ovs-vsctl set-controller br-int tcp:10.0.0.1 3.2 认识OVS通道网桥br-tun br-tun也是OVS创建的虚拟网桥,它的作用是向上直接与br-int...连接作为网络数据的进出口;对下通过特定的通信协议(GRE、VLAN、VXLAN等)与各个节点上的br-tun相连构成一个扁平的通信/通道层。

    2.2K80

    15-GRE与VXLAN网络

    将原来普通的包再封装一层GRE包,又**按照普通的ip包的路由方式进行路由** 如何工作的 **使用 tunnel(隧道)技术,数据报在tunnel的两端封装,并在这个通路上传输,到另外一端的时候解封装...使用标准 GRE的话,将会有 780 millions 个 tunnels。...(2)扩大的广播域 GRE 不支持组播,因此一个网络(同一个 GRE Tunnel ID)中的一个虚机发出一个广播帧后,GRE 会将其广播到所有与该节点有隧道连接的节点。...使用VXLAN网络模式,它会将主机发出的数据包封装在UDP中(vxlan建立的隧道都是无状态的了,这个做的好处是不用占用大量连接),并使用物理网络的IP/MAC在头部进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标主机...地址进行ARP的转发,同时也转发ipv4,ipv6的数据包 隧道流表示意图 [6wpiyzvlwd.png] 查看br-tun的table0 [root@controller opt]# ovs-ofctl

    2.8K30

    OVS 总体架构、源码结构及数据流程全面解析

    ovs-vsctl:查询和更新 ovs-vswitchd 的配置,这也是一个很强大的命令,网桥、端口、协议等相关的命令都由它来完成。此外,还负责和 ovsdb-server 相关的数据库操作。...常用命令: ovs-vsctl show :显示主机上已有的网桥及端口信息。 ovs-vsctl add-br br0:添加网桥 br0。...dpdk 系的 vhost, vhost-user 等,以及隧道相关的 gre, vxlan 等。...1)ovs 的 datapath 接收到从 ovs 连接的某个网络端口发来的数据包,从数据包中提取源/目的 IP、源/目的 MAC、端口等信息。...总结 OVS 为了方便用户操作,提供了很多管理工具,我们平常在使用过程中只需记住每个工具的作用,具体的命令可以使用 -h 或 --help 查看。

    5.7K72
    领券