C语言算法
文章平均质量分 86
飞翔的美食家
这个作者很懒,什么都没留下…
展开
-
【OpenVswitch源码分析之三】控制面关键接口与调用流程
控制面总览 上图只是描述了控制面的调用流程,控制面的接口包括如下几各方面: 1. 虚拟设备的生命周期接口 2. 虚拟设备的业务配置接口 3. 二层基础协议的运行启动 4. Openflow协议的运行开启与流表下发 下面就这几个层面的分别简述一下虚拟设备的生命周期接口虚拟设备不同于物理设备,除了FCAPS管理之外还需要对其生命周期进行管理,在OVS中,设备类型被分成了很多类(图中只标注了四原创 2017-07-02 16:48:50 · 1269 阅读 · 0 评论 -
【OpenVswitch源码分析之四】控制面关键接口与调用流程
受限于篇幅,前文只讲述了控制面板关键接口的前两个部分,本篇继续讲述基本二层协议的配置,Openflow的控制又是一个很大的命题,会放到下一篇文章做阐述。 1. 虚拟设备的生命周期接口 2. 虚拟设备的业务配置接口 3. 二层基础协议的运行启动 4. Openflow协议的运行开启与流表下发 本节以BFD的配置为例做讲解,无论是STP,BFD的配置,初始的配置接口都是在vsctl中,原创 2017-07-02 21:15:45 · 2703 阅读 · 0 评论 -
【OpenVswitch源码分析之五】用户空间转发面数据结构与流程
传统交换机是基于MAC表进行转发的,所以OVS也支持MAC学习特性,但是由于OVS也支持Openflow协议作为控制面,其功能就不仅仅是一个二层交换机了。先简单谈谈Openflow由于现在的网络暴露出了越来越多的弊病以及人们对网络性能需求的提高,于是研究人员不得不把很多复杂功能加入到路由器的体系结构当中,例如OSPF,BGP,组播,区分服务,流量工程,NAT,防火墙,MPLS等等。这就使得路由器等交原创 2017-07-06 23:44:18 · 2674 阅读 · 0 评论 -
tarjan算法的原理和实现
Tarjan算法的操作原理如下:在任何深度优先搜索中,同一强连通分量内的所有顶点均在同一棵深度优先搜索树中。也就是说,强连通分量一定是有向图的某个深度搜树子树。我们用low值记录该点所在强连通子图对应的搜索子树的根节点的Dfn值。注意,该子树中的元素在栈中一定是相邻的,且根节点在栈中一定位于所有子树元素的最下方。强连通分量是由若干个环组成的。所以,当有环形成时(也就是搜索的下一个点已在栈中原创 2014-12-01 22:43:19 · 1019 阅读 · 0 评论 -
【OpenVswitch源码分析之六】内核空间转发面数据结构与流程
内核态的报文处理起始有不少人已经写了比较详细的分析,这里有SDNLAB的一篇文章(http://www.sdnlab.com/15713.html),这里只是对那些文章再做些总结;内核对报文的处理整体上分为三个大的步骤:报文头的提取流表项的匹配动作的执行 对于报文头的提取,与传统的路由器、交换机不同,OpenFlow的匹配域包含了L2-L4等匹配域。所以其设计了一个数据结构sw_flow_k原创 2017-07-09 17:52:14 · 1055 阅读 · 0 评论 -
【OpenVswitch源码分析之一】背景
什么是OpenVswitch Open vSwitch是基于开源Apache 2 license的多层软件交换机,其目的是实现一个产品级质量的交换平台,其支持标准的管理接口,并开放转发功能接口供编程扩展和控制。 Open vSwitch适于VM环境中的虚拟交换,除了开放标准的控制和可视化接口给虚拟网络层,它还支持跨多个物理服务器的分布式部署,另外OpenVswitch还兼容多个基于Linux的虚原创 2017-06-26 21:44:13 · 1140 阅读 · 0 评论 -
【LeetCode系列】动态规划算法
前言在知乎上看到有一篇对动态规划进行介绍的文章,觉得介绍的十分的好,这里贴出来和大家一起分享: 什么是动态规划?动态规划的意义是什么? 其实在三年前也写了一篇用动态规划求解的问题: 开心的小明——动态规划, 但是昨天在求解Leetcode的问题 : Longest Substring Without Repeating Characters 时又有动态规划的解法,看了知乎这篇文章之后觉得又加深了我的原创 2017-07-28 22:31:28 · 655 阅读 · 0 评论