采样流sFlow(Sampled Flow)是一种基于报文采样的网络流量监控技术,主要用于对网络流量进行统计分析。sFlow 系统包含一个嵌入在设备中的sFlow Agent 和远端的sFlow Collector。其中,sFlow Agent 通过sFlow 采样获取本设备上的接口统计信息和数据信息,将信息封装成sFlow 报文,当sFlow 报文缓冲区满或是在sFlow 报文缓存时间超时后,sFlow Agent 会将sFlow 报文发送到指定的sFlow Collector。sFlow Collector 对sFlow 报文进行分析,并显示分析结果,组网图如下:

一、sflow 初始化

SFlow 的配置入口函数是bridge_configure_sflow(),该函数创建SFlow 相关的数据区并初始化相应配置,形成的主要数据结构如下:

二、sflow 流表生成

sflow 的实现是在用户态生成sflow 的流表并配置到内核datapath,内核完成数据采样,发送到用户态,然后有上层sflow agent 发送到collector。sflow 在用户态生成sflow 的流表。流表生成的代码调用流程add_sflow_action()->compose_sflow_cookie()->compose_sample_action(),生成OVS_ACTION_ATTR_SAMPLE 类型的action,主要代码如下:

三、sflow内核处理

sflow在内核执行action的时候处理,入口函数do_execute_actions()->sample(),代码如下,如果是最后一个action,调用output_userspace()发送数据到用户空间;否则把该action加入到队列中等待执行,代码如下:

四、sflow 消息处理

内核datapath 采样的数据通过netlink 发送到用户空间的vswithd 进程,接收函数为recv_upcalls(),调用process_upcall()函数进入核心处理流程,其中对SFLOW_UPCALL 分支的处理就是sflow 的入口,处理函数dpif_sflow_received(),核心流程如下:

原文链接:https://www.sdnlab.com/my_sdnlab/wp-content/uploads/2017/02/cntctfrm_1a5b490b5708a374ad0d207df48ec29e_Openvswitch%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0.pdf

OVS sflow(二十六)相关推荐

  1. 2021年大数据Hadoop(二十六):YARN三大组件介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn三大组件介绍 ResourceManager No ...

  2. 模板方法模式 Template method 行为型 设计模式(二十六)

    模板方法模式 Template method 上图为网上百度的一份简历模板截图 相信大家都有求职的经历,那么必然需要简历,写简历的时候,很可能你会网上检索一份简历模板,使用此模板的格式,然后替换为你的 ...

  3. 窗口消息——Windows核心编程学习手札之二十六

    窗口消息 --Windows核心编程学习手札之二十六 Windows允许一个进程至多建立10000个不同类型的用户对象(user object):图符.光标.窗口类.菜单.加速键表等,当一个线程调用一 ...

  4. OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope

    OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...

  5. 2008R2Win7管理二十六ADRMS客户端使用及侦错

    2008R2Win7管理二十六ADRMS客户端使用及侦错 预计我以后都没太多时间专研新技术和写文啦,尽量挤时间吧,有一篇放一篇吧,呵呵 本篇介绍在win7客户端使用adrms来进行权限管理和侦错,在使 ...

  6. SAP UI5 初学者教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  7. 微信小程序把玩(二十六)navigator组件

    微信小程序把玩(二十六)navigator组件 原文:微信小程序把玩(二十六)navigator组件 navigator跳转分为两个状态一种是关闭当前页面一种是不关闭当前页面.用redirect属性指 ...

  8. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

  9. FreeSql (二十六)贪婪加载 Include、IncludeMany、Dto、ToList

    贪婪加载顾名思议就是把所有要加载的东西一次性读取. 本节内容为了配合[延时加载]而诞生,贪婪加载和他本该在一起介绍,开发项目的过程中应该双管齐下,才能写出高质量的程序. Dto 映射查询 Select ...

  10. 第三百二十六节,web爬虫,scrapy模块,解决重复ur——自动递归url

    第三百二十六节,web爬虫,scrapy模块,解决重复url--自动递归url 一般抓取过的url不重复抓取,那么就需要记录url,判断当前URL如果在记录里说明已经抓取过了,如果不存在说明没抓取过 ...

最新文章

  1. 管理类业务系统菜单部分美化经验分享,把所有好的东西拿过来拼凑并不容易能形成整体的效果...
  2. Jeff Dean晒Google Brain团队2017成绩单!
  3. python空字典对象相当于false吗_python怎么判断某一对象是否为字典
  4. Solr的函数查询(FunctionQuery)
  5. 聚集索引和非聚集索引实例
  6. 压缩备份日志 java_自动压缩备份日志文件到指定备份目录脚本
  7. python中dataframe合并列名日期到季度_python – 如何在特定日期范围内的pandas列DataFrame中对某些值求和...
  8. python 图例颜色_python – 来自颜色字典的matplotlib.pyplot scatterplot图例
  9. 素数个数(信息学奥赛一本通-T1151)
  10. 试述hadoop生态系统以及每个部分的具体功能_Hadoop在大数据分析中的意义和作用...
  11. pixel1代android11,Pixel用户吐槽Android 11:升级后性能被劣化
  12. axios的http拦截
  13. 窗体分为左右两部分,要求在左边栏点击按钮时,右边动态加载窗体
  14. WinCam v2.0.0 Windows极简屏幕录像工具单文件版
  15. 中国微型电动汽车市场趋势报告、技术动态创新及市场预测
  16. 通过VNC远程连接ubuntu桌面(多种客户端连接方式)
  17. 更改浏览器语言(firefox, chrome)详细步骤
  18. 40岁计算机研究生能干什么工作,快四十岁了,还能干点什么?
  19. 你不可不用的十种Mac装机必备软件
  20. From Shadow Generation to Shadow Removal (CVPR2021)阅读笔记

热门文章

  1. python培训费用-python培训费需要多少钱?
  2. python中怎么输出中文-python中使用print输出中文的方法
  3. python3语法错误-python-使用Python 3打印时出现语法错误
  4. python基础30个常用代码大全-Python基础小题汇总
  5. python类装饰器详解-Python装饰器详解
  6. python基础题-python基础练习题(一)
  7. zerodivisionerror什么意思python-python代码里出现是啥意思
  8. python基础教程第三版豆瓣-Python爬虫入门教程:豆瓣读书练手爬虫
  9. Intel深度摄像头RealSense D345(实感双目摄像头)和目标检测结合使用
  10. mysql读写分离和组复制_数据库主从复制,读写分离,负载均衡,分库分表分别表达的什么概念?...