Docker OpenvSwitch Network 介绍

什么是OpenVSwich

  • OpenvSwich Network:属于第三方网络项目,可以理解为是一个标准的交换机协议。
  • OpenvSwich:开放虚拟交换标准,是一种基于开源Apache2.0许可证的多层软件交换机,专门管理多租赁云计算网络环境,支持KVM、Xen等虚拟化技术。

支持以下功能:

1. 支持标准802.1Q VLAN模块的Trunk和access端口模式;

2. QoS(Quality of Service)配置,及管理;

3. 支持OpenFlow协议;

4. 支持GRE它是点到点的隧道协议、VXLAN、STT和LISP隧道;

5. 具有C和Python接口配置数据库;

6. 支持内核态和用户态的转发引擎设置;

7. 支持流量控制及监控。

主要组成部分:

  • ovs-vswitchd 一个实现交换机的守护程序
  • ovsdb-server 一个轻量级数据库,ovs-vswitchd查询以获取其配置
  • ovs-dpctl 用于配置交换机的内核模块工具
  • ovs-vsctl 用于查看和更新ovs-vswitchd的配置工具
  • ovs-appctl 一个向运行OVS守护程序发送命令的工具

还提供了openflow的工具:

  • ovs-ofctl 用于查看和控制OpenFlow交换机和控制器
  • ovs-pki 用于创建和管理公钥
  • ovs-tcpundump 解析openflow消息

Docker OpenvSwitch 工作原理

两台节点主机容器,Container通过OpenvSitch通信

1、Container eth0:veth它会将网络桥接到docker0网络。

2、Docker0:Docker网桥默认网络。

3、br0:OVS网桥,它会将Docker0网桥加入到br0网络,它会捕获到Container eth0 发出的数据包。

4、gre0:OVS网络捕获数据包后通过gre协议将数据包封装。

5、eth0:物理网卡,它会把gre数据包,转发给节点2。

6、节点2的eth0接收数据包后->交给OVS进行街封装->获取获取访问地址->装发到docker0->再交给容器的eth0。

Docker OpenvSwitch 介绍 or 工作原理的更多相关文章

  1. Docker Swarm 介绍 or 工作原理

    Docker Swarm 介绍 Swarm 简介 Swarm是Docker公司自研发的容器集群管理系统,Swarm在早期是作为一个独立服务存在,在Docker Engine v1.12中集成了Swar ...

  2. Docker Macvlan 介绍 or 工作原理

    Docker Macvlan Network Macvlan Network:属于Docker的网络驱动. Macvlan Network:Docker主机网卡接口逻辑上分为多个子接口,每个子接口标识 ...

  3. Docker Weave 介绍 or 工作原理

    Docker Weave Network Weave Network:属于第三方网络项目. Weave在Docker主机之间实现Overlay网络,使用业界标准VXLAN封装,基于UDP传输,也可以加 ...

  4. Docker Kubernetes 介绍 or 工作原理

    Kubernetes 介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容 ...

  5. SharePoint Client Object Model API 介绍以及工作原理解析

    CSOM和ServerAPI 的对比 SharePoint从2010开始引入了Client Object Model的API(后文中用CSOM来代替),从名字来看,我们可以简单的看出,该API是面向客 ...

  6. keepalived介绍及工作原理

    keepalived介绍keepalived观察其名可知,保持存活,在网络里面就是保持在线了,也就是所谓的高可用或热备,它集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防 ...

  7. Appium介绍及工作原理

    一.Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的 ...

  8. appium介绍和工作原理

    导读 Appium这个听起来既生疏也熟悉的自动化测试工具,比起原生的UiAutomator可能是异常的不起眼,可是却是有自身独当一面的能力,可以完成许多高难度作业,完成UiAutomator不可能完成 ...

  9. JSP第一篇【JSP介绍、工作原理、生命周期、语法、指令、行为】

    什么是JSP JSP全名为Java Server Pages,java服务器页面.JSP是一种基于文本的程序,其特点就是HTML和Java代码共同存在! 为什么需要JSP JSP是为了简化Servle ...

随机推荐

  1. C++将时间格式转换成秒数

    #include <stdio.h> #include <time.h> #include <string.h> #include <stdlib.h> ...

  2. js - 伪数组转化为数组的几种方法整理(更新中...)

    伪数组:无法调用数组的方法,但是有length属性,又可以索引获取内部项的数据结构. 比如:arguments.getElementsByTagName等一系列dom获取的NodeList对象,他们 ...

  3. Page Lifecycle API

    今天的现代浏览器有时在系统资源受限的情境下会暂停页面或完全放弃执行它.将来,浏览器会主动执行此操作,因此它们会消耗更少的电量和内存.在Chrome 68中提供的Page Lifecycle API提供 ...

  4. Java 一致性Hash算法的学习

    目前我们很多时候都是在做分布式系统,但是我们需把客户端的请求均匀的分布到N个服务器中,一般我们可以考虑通过Object的HashCodeHash%N,通过取余,将客户端的请求分布到不同的的服务端.但是 ...

  5. J - Network of Schools

    来源poj1236 A number of schools are connected to a computer network. Agreements have been developed am ...

  6. Git 与 SVN 命令学习笔记

    一:Git git config --global user.name "you name"   #设置用户名git config --global user.email &quo ...

  7. Spring-Boot构建多模块项目

    Spring-Boot构建多模块项目 功能模块单独项目开发,可以将一个庞大的项目分解成多个小项目,便于细分开发 Maven多模块项目不能独立存在,必须有一个介质来包含. 1.创建一个Maven 项目, ...

  8. php 判断手机号 和 手机号中间四位以**** 代替

    代码: //自定义函数手机号隐藏中间四位 function get_phone($str){ $str=$str; $resstr=substr_replace($str,'****',3,4); r ...

  9. Broadcast

    静态注册广播接收器 1. 活动中创建内部类继承BroadcastReceiver实现 onReceive函数 2. new 一个内部类的对象 3. registerReceiver注册内部类 4. 在 ...

  10. python全栈开发 * 34知识点汇总 * 180719

    文件上传下载:一.文件上传(内容较少)服务器:(代码) import socket import json sk=socket.socket() sk.bind(("127.0.0.1&qu ...