在重置OVS时,会用到以下命令 1、ovs-vsctl emer-reset 2、ovs-vsctl init 3、rm -rf /etc/openvswitch/* 但这个ovs-vsctl emer-reset命令会触发一个BUG,导致无法恢复流表信息,甚至引起网络回环。 这个BUG在ocata版本中出现,到现在的queens版本也还有,但在之前的mitaka版本却没有。 下面来看下示例
在前文「从 Bridge 到 OVS」中,我们已经对 OVS 进行了一番探索。本文决定从 OVS 的整体架构到各个组件都进行一个详细的介绍。 OVS 架构 OVS 是产品级的虚拟交换机,大量应用在生产
阅读本文大概 4.7 分钟 在前文「从 Bridge 到 OVS」中,我们已经对 OVS 进行了一番探索。本文决定从 OVS 的整体架构到各个组件都进行一个详细的介绍。 OVS 架构 OVS 是产品级的虚拟交换机,大量应用在生产环境中,支撑整个数据中心虚拟网络的运转。OVS 基于 SDN 的思想,将整个核心架构分为控制面和数据面,数据面负责数据的交换工作,控制面实现交换策略,指导数据面工作。 📷 从整体上看,OVS 可以划分为三大块,管理面、数据面和控制面。 数据面就是以用户态的 ovs-vswitchd
OpenShift的OVS网络组件有三种模式:ovs-subnet、ovs-multitenant、ovs-networkpolicy。
ovs软件交换机可以基于端口tag号实现vlan的隔离,功能上类似于物理交换机的vlan隔离。而tag号在openstack的各种网络发挥着十分重要的作用,几乎所有的openstack网络都离不开tag号。本文从ovs交换机中tag的作用讲起,解析openstack中各种网络是如何使用tag号,以小见大,剖析原理。
为了使虚拟机与外部进行网络通信,需要为虚拟机配置网络环境。KVM虚拟化支持Linux网桥、Open vSwitch网桥等多种类型的网桥。如图所示,数据传输路径为"虚拟机 -> 虚拟网卡设备 -> Linux网桥或Open vSwitch网桥 -> 物理网卡"。
由之前发布的文章知道 Open vSwitch(Open Source Virtual Switch) 是一款基于软件实现的开源虚拟交换机。
诸如calico flannel等CNI实现,通过牺牲一些功能让网络复杂度得以大幅度降低是我极其推崇的,在云原生时代应用不再关心基础设施的场景下是一个明智之举,给网络调错带来了极大方便。
-- --id=@newqos create qos type=linux-htb other-config:max-rate=100000000 queues=0=@q0,1=@q1 \
前言 OVS是一种开源的软件交换机,可安装于通用的虚拟服务器环境中,在虚拟环境中单个、多个物理机上的不同虚拟主机都需要通过OVS实现数据交换。 OVS包含三个重要的组件:ovsdb-server、
OpenStack作为当前和可预见时间内最为热门的云计算技术(没有之一),业已获得广泛的企业市场应用和众多IT巨头的支持,更是以近日(7月17日)一位最具重量级的新成员——Google,签约加入Ope
ovs-ofctl add-flow br0 dl_src=52:54:00:aa:bb:cc,tp_dst=80,idle_timeout=0,actions=normal
保证控制器6633处监听状态后,使用root登陆交换机,查看交换机与控制器1的连接情况
今天想跟大家分享如何通过ODL控制器下发流表来创建VxLAN网络。ODL作为当前流行的控制器,已经有广泛的应用。基于ODL提供了丰富的北向接口,使得应用对网络有了更好的掌控。我们为什么需要研究VxLAN网络,VxLAN网络现在已经成为多数据中心网络的解决方案,提供丰富的网络功能,比如更多的租户数量、虚拟机迁移、IP冲突等问题得到有效解决。 一.实验目的 通过本次分享,你将会了解到以下内容: 构建VxLAN网络的基本步骤。 Mininet构建网络拓扑。 ODL北向接口Restconf的使用。 XML格式的流表
在过去十几年中,虚拟化已经改变了应用、数据、服务的实现部署方式。服务器的虚拟化给数据中心网络带来了根本性的变化。在传统的数据中心网络架构基础上,出现了一个新的、位于物理服务器内的接入层。这个新的接入层包含的设备是运行在x86服务器中的vSwitch,而这些vSwitch连接着一个服务器内的多个workload(包括容器和虚机)。
此时docker引擎会创建一个veth对,一端连接到容器实例并命名为eth0,另一端连接到指定的网桥中(比如docker0),因此同在一个主机的容器实例由于连接在同一个网桥中,它们能够互相通信。容器创建时还会自动创建一条SNAT规则,用于容器与外部通信时,类似家里上网用的ISP提供给我们的动态IP。如果用户使用了-p或者-P端口,还会创建对应的端口映射规则,使得外部请求能够访问容器的服务,但是你不能通过IP直接访问,本文提供了3种方式实现容器的跨主机访问。
openshift封装了k8s,在网络上结合ovs实现了多租户隔离,对外提供服务时报文需要经过ovs的tun0接口。下面就如何通过tun0访问pod(172.30.0.0/16)进行解析(下图来自理解OpenShift(3):网络之 SDN,删除了原图的IP)
概述 数据平面开发套件(DPDK)可提供高性能的数据包处理库和用户空间驱动程序。自Open vSwitch(OVS)2.4版 (http://openvswitch.org/releases/NEWS-2.4.0)起,我们将可在OVS中使用DPDK优化的vHost路径。OVS自2.2版起开始提供DPDK支持。 将DPDK与OVS结合使用可为我们带来诸多性能优势。与其他基于DPDK的应用相同,我们可以在OVS中看到网络包吞吐量显著提升,延迟显著降低。 此外,DPDK包处理库还对OVS内的多个性能热点区域进行了
1 打开wireshark并创建拓扑 按照章节一搭建平台,启动ODL,并打开wireshark。进入装有Mininet的VM,通过mn命令指定网络拓扑及指定此ODL控制器。 Mininet创建网络拓扑命令: sudo mn --topo linear,2 --switch ovsk --controller=remote,ip=192.168.5.203,port=6633 此命令通过Mininet模拟创建一个含有两个交换机(Open vSwitch,以下简写为OVS)和两个主机的网络拓扑,其中192.1
本文通过docker的网络介绍容器网络的原理以及一些实践,通过实践一遍相信大家会对网络底层的原理有个更深的理解,最后给出对接ovs的教程,这对下一篇k8s对接ovn的原理理解打下一个基础。
本文主要介绍DVR的概念,比较了DVR和非DVR情况下,数据在network节点上的流量变化。同时也介绍了在OpenStack里面如何配置DVR,比较详细地介绍了在DVR激活的情况下,数据包的流表情况
前言 上一章介绍了GNS3的使用以及OVN系统的架构,搭建了实验环境,阐述了OVN各个进程的用途、彼此之间的关系,以及产生的日志(OVN实战一之GNS3操作指南及OVN入门,http://www.sd
前言: 本文仅代表作者个人观点,用户生产上的Openshift网络规划,还要需要咨询红帽架构师或实施专家。本文仅作为参考,并且不对个案的结果负责。 本文的网络介绍,是基于Openshift3.6版本,此前版本的Opeshift在网络细节方面略有不同。 本文在书写过程中,咨询了红帽郭跃军、张春良、张亚光、周荣等专家,在此表示感谢! 在本文中OCP指:Openshift Container Platform、OCP Node指Openshift集群的计算节点。 整体架构 Openshift Container
从Gartner分析报告谈起 根据Gartner的《Gartner2016年度新兴技术成熟度曲线》,目前SDx目前处于期望膨胀期的末期,也标志着此类技术基本已经成熟状态。软件定义一切(SDx)是市场上一系列技术的总称,包含了通过自动化云计算、开发运营(DevOp),以及快速基础设施配置的驱动,为基础设施可编程性和数据中心互用性改进标准。用“软件定义”一词的潮流源自软件定义网络(SDN),它能将大量不同的个人设备中分散的网络逻辑和政策集成一个软件。由于SDN将软硬件分开,因此可能分离了购买决策,并且允许采用通
1、实验目的 在实验平台上熟悉SDN原理操作,通过wireshark抓包工具可以直接看到控制器与OVS交换机的通信过程、分析OpenFlow(以下简写为OF)协议,。具体的OF官方协议及白皮书可在SDNLAB资料库栏目中下载学习。 2 实验原理 控制器与交换机之间的OpenFlow协议是应用于TCP传输层上,所以解析应用层。他们首先发送hello消息,建立初始化连接,协商使用的OpenFlow协议版本。交换机通过消息回应配置信息,回复连接控制器的交换机的一些基本设置信息,包括交换机的能力以及它的一些端口的信
Antrea 项目是一个基于 Open vSwitch(OVS)的开源 Kubernetes CNI 网络解决方案,旨在为 Kubernetes 集群提供更高效、更安全的跨平台网络和安全策略。Antrea Github 地址:
Opendaylight就不介绍了,资料非常丰富。postman是Chrome浏览器的一个插件,常常会被用来调用服务器端的restful接口进行数据请求 下面记录一下如何用Chrome的插件postman来操作ODL查看和下发流表 准备工作 1)Chrome浏览器安装postman插件,如何安装,网上一搜一把 2)OpenDaylight启动完毕,并安装好需要的插件 3)OVS(IP:10.10.33.28)设置controller信息,端口号6653,连接ODL正常,ODL的Web管理界面能够看到这
引言 本文主要对OpenvSwitch(基于2.3.90版本)重点模块的源码实现流程做了简要的阅读记录,Open vSwitch源码阅读笔记(上)已提供,此篇是对上篇的追述及补充,适合阅读OpenvS
1 实验目的 了解交换机的MAC地址学习过程; 了解交换机对已知单播、未知单播和广播帧的转发方式。 2 实验原理 MAC(media access control,介质访问控制)地址是识别LAN节点的标识。MAC对设备(通常是网卡)接口是全球唯一的,MAC地址为48位,用12个16进制数表示。前6个16进制数字由IEEE管理,用来识别生产商或者厂商,构成OUI(Organization Unique Identifier,组织唯一识别符)。后6个包括网卡序列号,或者特定硬件厂商的设定值。对于一个网卡来说,M
观察,可以知道,已经进入了这个自带的网络,网络中有1个交换机和2个主机,且在打开这个网络之后,进入了 mininet> 这个命令模式
容器的SDN 很多人都说2017将是容器年,大卫也这么认为。但在很长一点时间里,容器与虚拟化都是相互依存,相互补充的问题。 之前笔者发表过一篇文章,放开眼界,看看开源界的新动向。里面清晰描述了未来两年内,整个开源界将会被主流目标客户采用的几项技术: High-Performance Message Infrastructure、Interoperable Storage Encryption Private IaaS、Container Networking、Open-Source Virtualizati
本文简要介绍在虚拟机环境下,主要目的是对Open vSwitch下发的流表操作,通过OpenDaylight与Mininet熟悉添加、删除流表的命令及设备通信的原理。 1 流表作用 在SDN环境下,当交换机收到一个数据包并且交换机中没有与该数据包匹配的流表项时,交换机将此数据包发送给控制器,由控制器决策数据包如何处理。控制器下发决策后,交换机根据控制器下发的信息来进行数据包的处理,即转发或者丢弃该数据包。我们可以通过对流表操作来控制交换机的转发行为。下面简单介绍一下流表的基本操作。 2 环境准备 参考本专题
OpenStack最基本和常用的操作就是启动虚机。虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡。虚机的创建和管理是Nova的任务,虚机网络的创建和管理是Neutron的任务,而虚机网卡,作为连接虚机和虚机网络的桥梁,其创建和管理则同时涉及了Nova和Neutron。这次介绍一下,OpenStack中虚机的网卡的创建过程。虽然本文的介绍将基于OpenVSwitch,但是你可以发现,很少有特殊于OpenVSwitch的地方,所以其他的二层机制(例如:Linux Bridge)
一、Dpdk简介 Dpdk是X86平台报文快速处理的库和驱动的集合,不是网络协议栈,不提供二层,三层转发功能,不具备防火墙ACL功能,但通过DPDK可以轻松的开发出上述功能。优势在于通过Dpdk,可以
概念 现在云计算大行其道,以kvm和docker为代表,极大地利用了机器的硬件资源,模拟了操作系统,而在海量虚拟机场景下,传统的硬件交换机越来越难以满足需求了。为了更加高效地利用网络,SDN应运而生。而SDN如何落地很大程度上取决于如何用软件交换机替代传统的交换机。 从名称来看,openvswitch就是一个用软件实现的虚拟交换机。一个物理交换机基本支持flows, VLANs, trunking, QoS, port aggregation, firewalling, 还有一些具备3层交换的功能,而虚拟环
在之前的文章中,我们提到,EVPN是云网融合的红娘,撮合了云平台和网络转发平面。而当网络中的硬件交换机支持EVPN和VXLAN时,它可以代替软件OVS,提升网络吞吐量,降低转发时延,并且节约宝贵的CPU资源。
特别说明:本文于2015年基于OpenStack M版本发表于本人博客,现转发到公众号。因为时间关系,本文部分内容可能已过时甚至不正确,请注意。
一.实验目的 本实验通过Mininet构建子网,并使得OVS作为网关,来模拟子网间的互通。在实验的过程中,我们来学习一下内容: OVS构建子网过程。 OVS设置网关过程。 OVS配置流表过程。 二.实
前群里很多同学做ovs研究,也有很多人来讨论如何自定义OVS匹配域的问题,所以今天的分享主题就围绕OVS匹配处理流程和拓展性展开,这和之前SDNLAB上发的自定义action,可称为姊妹篇。它们是去年研读OVS源码时候的一些收获和心得,今天拿出来和大家分享。 由于拓展匹配域更贴近OVS开发实践,难免会提到代码部分。但为了简洁明了,此次分享主要遵循两个目的:讲清楚其大体逻辑、然后点明需要源码添加的地方,提高匹配域拓展成功率。 一、整体思路 现在进入正题,今天的分享从三个方面进行: 匹配域相关的各个模块简单分析
端口镜像是指经过指定端口(镜像端口)的报文复制一份到另一个指定端口(观察端口),通过观察端口接收到的数据报文,就可以有效识别虚拟网络的运行情况。
启动 service openvswitch start 创建网桥 ovs-vsctl add-br br0 ifconfig br0 up 显示所有网桥 ovs-vsctl show 删除网桥 ovs-vsctl del-br br0 增加端口 ovs-vsctl add-port br0 eth0 设置网卡为none dhclient br0 用 Namespace 模拟两台虚拟机网络 p netns add network1 ip netns add
鉴于网上对于sdn开发相关的资料较少又乱的现状,从这篇文章开始,我将陆续分享我在sdn开发过程中的经验,我的sdn项目开发是基于opendaylight的release-lithium-sr3版本,该版本相对稳定。 继上篇文章《sdn开发环境的搭建(win7环境)- SDN开发笔记(一)》之后,我在Linux下使用odl控制器,在使用之前,先将使用环境搭建好,我使用的Linux是ubuntu 14.04桌面版,采用vmware虚拟机方式,具体为: Vmware版本:VMware-workstation-fu
OpenVSwich即开放式虚拟交换机实现,简称OVS,OVS在云计算领域应用广泛,值得我们去学习使用。
SDN相比传统网络具有很多优点,比如控制与转发分离,这种思想打破了传统设备供应商的绑定,提高了新业务的部署速度,可以从整个网络层面对流量进行优化等等。在SDN网络中,不管是开发人员还是用户,都可以更多的发挥自己的想象,而不用再受各种RFC的强力约束。 📷 一、传统网络发展及特点 从1969年ARPA NET运行算起,传统网络已经发展了半个世纪,网络按照OSI的模型分成7层,通常所见最多的是二层和三层。二层就是二层交换机构成的网络,在这个网络中交换机学习mac地址和端口的对应关系,通过匹配二
一、GNS3简介 GNS3是一个专业的网络模拟器,可以用它来模拟交换机、路由器、防火墙等网络设备。它的功能非常强大,基于它能搭建一个近似于 “真实”的模拟环境。 Wireshark是一个跨平台的网络数据包分析工具,和tcpdump比较它提供了一个友好的GUI界面。GNS3中已经对它进行了集成(安装GNS3的时候自动安装),可以通过GNS3界面直接对网络拓扑中的某条链路抓包分析。 1.1 GNS3架构 GNS3由三部分组成,我们平时使用的是GNS3-GUI,这是一个用Python编写的GUI界面,通过这个界面
1 #Create a dummy interface that will recieve mirrored packets
由于篇幅和时间有限,本文还会有第二篇。 一、Openshift支持的各种SDN CNI Openshift Container Platform(简称OCP),在V3.6之前,SDN是由OVS实现的,当时也只支持OVS。 OCP从V3.6开始,正式支持多种容器网络接口,Container Network Interface 简称CNI。CNI可以作为第三方插件,部署到OCP上。当然,OCP默认还是使用OVS,除非在安装OCP时进行容器网络接口的选择。 目前OCP支持的CNI有: Cisco Contiv (
为了OpenShift 集群中 pod 之间的网络通信,OpenShift 以插件形式提供了三种符合Kubernetes CNI 要求的 SDN实现:
领取专属 10元无门槛券
手把手带您无忧上云