文章名称:A Zero Flow Entry Expiration Timeout P4 Switch 零流表项期满超时P4交换机 发表时间:2018 期刊来源:SOSR ABSTRACT (摘要) 现在的OpenFlow基于期满机制,通过一个固定的超时时间动态的将流表项从流表中移除.对这个超时时间分配合适的值,实际上是流表利用效率和控制器负载之间的权衡.本文提出在P4交换机的空闲超时机制(idle timeout mechanism)上添加0流表项期满超时方案,用来识别TCP流的最后一个数据包…
来源:IEEE 2018 作者:Hemin Yang and George F.Riley 摘要: 流表容量有限,因此高效管理流表至关重要.本文重点讨论了OpenFlow中定义的一种流表管理机制,即能够主动删除流表条目. 挑战:确定删除哪些流表项条目. 为了应对这一挑战,提出了基于机器学习的主动流输入删除方法,可以从流表条目的历史数据中学习,从而预测最后引用流表条目的时间.最后根据预测,最后引用时间的最小的流表条目将被删除.我们的方法是利用机器学习,从历史删除流表项中学习,从而预测最后引用流入口…
SDN领域,OpenFLow现在已经成为了广泛使用的南向接口协议.若想好好学习SDN,在这个领域有所进步,需要熟悉OpenFlow协议.我最近找了篇有关OpenFLow的论文,发现最早该协议是在Sigcomm2008中的一篇论文<OpenFlow:Enabling innovation in Campus Networks>,作者之一是SDN领域创始人之一的Nick McKeown.现在我写下一些学习笔)记: 1. 最早该协议是作用于校园网建设,现在已经成为较为通用的SDN南向协议.至于网络的…
这次我们主要讨论下OpenFlow Switch的核心组件之一——Flow Tables,以了解其内部的 matching 以及 action handling 机制.下文将会分为几个部分来逐步详述OpenFlow Switch内部数据包的流转机制. 1.Pipeline Processing 遵循OpenFlow Switch规范的OpenFlow交换机大致分为 OpenFlow-only 和 OpenFlow-hybrid 两类.OpenFlow-only 交换机仅仅只支持OpenFlow规…
目录 文章目录 目录 OpenFlow 架构 OpenFlow 标准和规范 OpenFlow 的端口(Port) OpenFlow 的流表(Flow Table) OpenFlow 的组表(Group Table) OpenFlow 的 Meter 表 OpenFlow 的通信通道 OpenFlow 协议及相关数据结构 OpenFlow 的版本变化 OpenFlow 1.0 OpenFlow 1.1 OpenFlow 1.2 OpenFlow 1.3 OpenFlow 1.4 OpenFlow…
本文主要重点讨论OpenFlow Switch规范的指令集,它们深刻影响着数据包在Switch中的处理行为,下面开始从以下几个部分谈起. 1.Instructions 每一个Flow Entry里都包含有一系列的Instructions,这些Instructions会在与该Flow Entry成功匹配的数据包上执行,进而导致数据包头信息的修改.Action Set的更新或者改变Pipeline Processing的处理行为.Instructions大致有下列几种类型,OpenFlow Swit…
本文主要详述OpenFlow Switch的另外两个主要组件——Group Table和Meter Table,它们在整个OpenFlow Swtich Processing中也起到了重要作用. 1.Group Table Group Table给OpenFlow Switch提供了更加高级的数据包转发特性(比如select或者all),其由多个Group Entries组成,而每个Group Entry结构如下所示: 每个Group Entry根据其Group Identifier来唯一定位,…
这次我们着重详述来自于网络中的数据包在OpenFlow Switch中与Flow Entries的具体匹配过程,以及当出现Table Miss时的处理方式,下面就将从这两方面说起. 1.Matching 当一个来自于外部网络的数据包进入到OpenFlow Switch中时,OpenFlow Switch将会按照如下图所示的方式来处理这些数据包,如前面的学习笔记中讲述的那样,会先从Pipeline的第一个Flow Table首先进行Lookup,然后可能继续进入到其他的Flow Table进行Lo…
OpenFlow Ports是OpenFlow Switch与剩余网络之间传递Packet的网络接口.OpenFlow Switches之间通过OpenFlow Ports彼此相互逻辑连接.一个OpenFlow Switch准备了若干个可用的OpenFlow Ports用于OpenFlow processing,不过这里所说的OpenFlow Ports与传统的硬件交换机的网络接口并不是一样的概念,有些传统硬件交换机的网络接口在OpenFlow Switch里并不适用,OpenFlow Swit…
OpenFlow Switch v1.4.0规范是在2013年10月14号发布,规范涵盖了OpenFlow Switch各个组件的功能定义.Controller与Switch之间的通信协议Open Flow Protocol等.下文主要是基于个人理解整理的一些学习笔记,理解不到位的地方还请大家多多指教. 一.基础概念图: 首先我们先看下Open Flow Switch的整体结构,以便有一个初步的感性认识,如下图所示: 从上面架构图中,我们可以看到Open Flow Switch主要是由以下几个部…
参考:P4语言快速开始 感谢杨老师的分享! 前言及P4程序请参考原文,本文主要是对文章中的两个动手实例的实践记录. 1.通过behavioral-model运行simple_router样例 执行命令: cd p4factory/targets/simple_router make bm sudo ./behavioral-model 在本地启动一个behavior-model,默认使用PD RPC服务的地址为127.0.0.1:9090 当在同一台宿主机上启动多个bmv2时,可以使用--pd-…
Introduction P4 is a declarative language for expressing how packets are processed by the pipeline of a network forwarding element such as a switch, NIC, router or network function appliance. It is based upon an abstract forwarding model consisting o…
Github链接:Github-P4Lang-Tutorials-p4v1.1 前言 本文主要对Barefoot开源教程中的p4v1.1实例simple_router的实战步骤进行记录与阐述,希望能帮助大家进一步对P4v1.1有所认识与了解. 实验环境 1.OS:Ubuntu 14.04,64bit. 2.bmv2,即behavioral-model 3.p4c-bm 4.tutorials Hint:bmv2.p4c-bm.tutorials均在Github中开源,可以从P4Lang中git…
一:自学习交换机(二层MAC交换机)的编程思路 (一)明确问题 如何实现软件定义的自学习交换机? (二)设计解决方案 通过控制器来实现自学习交换算法,然后指导数据平面实现交换机操作 (三)确定具体的技术方案 控制器选用Ryu,数据平面通过Mininet模拟 (四)部署实施 在控制器上编程开发交换机应用,创建实验网络为验证方案做准备 (五)验证方案 运行程序,调试程序,验证程序 (六)优化 验证成功后,优化程序 二:自学习交换机原理 (一)普通交换机实现 交换机MAC地址表记录了统一网段中的各个主…
添加一个flow,调用的命令为 ovs-ofctl add-flow hello "hard_timeout=0 idle_timeout=0 priority=1 table=21 pkt_mark=0x55 tun_id=0x55 actions=mod_nw_dst:192.168.56.101,output:2" 这里调用的是调用ovs/utilities/ovs-ofctl.c的命令行工具 这个命令行工具支持的所有的命令及处理函数定义如下: static const stru…
OpenFlow概述 在支持OpenFlow的交换机中包含了若干个Flow table,Flow table可以用来控制数据包的处理,交换机会执行与flow相匹配的表项中所罗列的动作. OpenFlow controller通过使用OpenFlow协议来管理交换机,并且controller也能通过使用OpenFlow协议来获取交换机上的端口.流量的统计信息或其他情报,并可以根据这些信息来调整各端口的流量. 交换机中维护的每个flow table都包含有很多个条目,这些条目会根据自身的一个优先级从…
In this post, I will give a list of all undocumented parameters in Oracle 12.1.0.1c. Here is a query to see all the parameters (documented and undocumented) which contain the string you enter when prompted: – Enter name of the parameter when prompted…
前言 在以往的java开发中,程序员最怕大量的配置,是因为配置一多就不好统一管理,经常出现找不到配置的情况.而项目中,从开发测试环境到生产环境,往往需要切换不同的配置,如测试数据库连接换成生产数据库连接,若有一处配错或遗漏,就会带来不可挽回的损失.正因为这样,spring boot给出了非常理想的解决方案——application.properties.见application-properties的官方文档:http://docs.spring.io/spring-boot/docs/curr…
reference from:http://ricardozuasti.com/2012/preventing-csrf-in-java-web-apps/ Cross-site request forgery attacks (CSRF) are very common in web applications and can cause significant harm if allowed. If you have never heard of CSRF I recommend you ch…
Increasing the flow-eviction threshold The threshold is a type of limit on the number of flows that are cached in the kernel. OVS will handle as many flows as can be processed through ovs-vswitchd. If the number of newly created connections reaches t…
# =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # ===================================…
2019年3月21日17:09:59 英文原版: https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html 官方文档:https://spring.io/projects/spring-boot#learn 当前版本:2.1.3 经过个人测试这个是不是完全版本,只是覆盖大部分的属性设置,当然也要感谢官方提交文档的朋友 比如jpa格式化sql配置就没有 spri…
摘自官网,仅作为参考用 Part X. Appendices # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # ====…
1.今日大纲 了解Spring的发展 掌握Spring的java配置方式 学习Spring Boot 使用Spring Boot来改造购物车系统 2.Spring的发展 Spring1.x 时代 在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换. Spring2.x时代 随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文…
This sample file is meant as a guide only. Do not copy/paste the entire content into your application; rather pick only the properties that you need. # ===================================================================# COMMON SPRING BOOT PROPERTIES…
# =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application.               ^^^ # =====================…
从springboot官方文档中扒出来的,留存一下以后应该会用到 # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # ==…
附上最新文档地址:https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a gui…
SpringBoot的核心 1.入口类和@SpringBootApplication Spring Boot的项目一般都会有*Application的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法. 而@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解: 该注解主要组合了以下注解: @SpringBootConfiguration:这是Spring Boot项目的配置注解,这也是一个组合注解: 在Spring Bo…
#更改Tomcat端口号 server.port=8090 #修改进入DispatcherServlet的规则为:*.htmlserver.servlet-path=*.html#这里要注意高版本的springboot用以下修改规则server.servlet.context-path=/.html 其他配置非常的多,有需要的可以再查看: # =================================================================== # COMMON…