文档章节

分析openvswitch ovs-vsctl 命令与ovsdb-server的交互数据

qquunn
 qquunn
发布于 2017/04/26 12:46
字数 314
阅读 129
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

ovsdb-server与客户端通过json-rpc通信,参考

https://tools.ietf.org/html/rfc7047#section-1.1(The Open vSwitch Database Management Protocol)

 

使用strace分析ovs-vsctl 命令系统调用

strace ovs-vsctl list-br

部分输出内容如下,所以ovs-vsctl通过unix socker(/var/run/openvswitch/db.sock)与ovsdb-server通信

socket(AF_UNIX, SOCK_STREAM, 0)

connect(3, {sa_family=AF_UNIX, sun_path="/var/run/openvswitch/db.sock"}, 31) = 0

 

如何监控unix socket通信数据

没有找到 “通过tcpdump监控unix socket通信数据” 的资料。

下面介绍通过socat监控unix socket通信数据。

1. 启动socat

socat -t100 -v UNIX-LISTEN:/tmp/duplicatesocket,mode=777,reuseaddr,fork UNIX-CONNECT:/var/run/openvswitch/db.sock

2. 执行ovs-vsctl命令时,设置--db参数

ovs-vsctl --db unix:/tmp/duplicatesocket list-br

socat输出结果部分内容

> 2017/04/26 10:04:24.271932  length=56 from=0 to=55
{"id":0,"method":"get_schema","params":["Open_vSwitch"]}< 2017/04/26 10:04:24.273208  length=8192 from=0 to=8191
{"id":0,"result":{"cksum":"2211824403 22535","name":"Open_vSwitch","version":"7.12.1","tables":{"Controller":{"columns":{"connection_mode":{"type":{"min":0,"key":{"type":"string","enum":["set",["in-band","out-of-band"]]}}},"is_connected":{"ephemeral":true,"type":"boolean"},"local_gateway":{"type":{"min":0,"key":"string"}},"enable_async_messages":{"type":{"min":0,"key":"boolean"}},"external_ids":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"other_config":{"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"status":{"ephemeral":true,"type":{"max":"unlimited","min":0,"key":"string","value":"string"}},"local_netmask":{"type":{"min":0,"key":"string"}},"controller_burst_limit":{"type":{"min":0,"key":{"minInteger":25,"type":"integer"}}},"local_ip":{"type":{"min":0,"key":"string"}},"controller_rate_l

 

参考

http://www.humbug.in/2013/sniffing-unix-domain-sockets/(Sniffing Unix Domain Sockets)

 

© 著作权归作者所有

qquunn
粉丝 7
博文 27
码字总数 6143
作品 0
广州
私信 提问
[转]An overview of Openvswitch implementation

This is NOT a tutorial on how to use openvswitch, this is for developers who want to know the implementation details of openvswitch project, thus, I assume you at least know the......

爱养花的码农
03/22
0
0
ubuntu server安装OVS

安装 Open vSwitch (Ubuntu Server 16.04) 1、查看主机系统内核版本:uname –a 2、上传openvswitch软件包,解压后执行安装: 更新下载源 $ sudo apt-get update $ sudo apt-get upgrade 下...

Jaxjones
01/14
0
0
Centos7.4安装openvswitch

openvSwitch是一种基于开源Apache 2许可证的多层软件交换机。openvSwitch非常适合在VM环境中用作虚拟交换机。除了将标准控制和可视化接口暴露给虚拟网络层之外,它还旨在支持跨多个物理服务器...

Zai坚强一点
2018/06/28
0
0
openvswitch之架构解析

概述 openvswitch,一种支持open flow协议的虚拟交换机,简称为ovs。类似于我们常说的交换机,只不过它通过远端的controller来进行管理(可以预先下发一些流表到ovs,或者根据首包被送到contr...

计算机小强
2018/06/26
0
0
Openstack计算-存储-控制分离与计算节点的在线添加

Openstack计算-存储-控制分离与计算节点的在线添加 实验环境:red hat linux 6.5 Host: 192.168.122.19 server19.example.com Compute node 1:192.168.122.3 server3.example.com Compute n......

Scanf_Love
2014/09/01
4K
0

没有更多内容

加载失败,请刷新页面

加载更多

hbase错误记录

说什么服务没启动 但是 $ jps 查看又是正常的 然后想到去看日志 $ vim logs/hbase-root-regionserver-hadoop101.log INFO信息停留在:client.ZooKeeperRegistry: ClusterId read in ZooKeep...

天空飘来五个字儿
20分钟前
5
0
类的第一个元素的CSS选择器

我有一堆元素的类名是red ,但是我似乎无法使用以下CSS规则选择class="red"的第一个元素: .red:first-child { border: 5px solid red; } <p class="red"></p> <div class="red"></div> 该选......

技术盛宴
26分钟前
4
0
如何将重复数据突出显示?

将表格中一列数据中重复的,使用特殊颜色突出显示或者使用一些符号标记出来。 例如: 一个供应商,可以邀请别的供应商加入成为联合体,报表要显示所有供应商,然后供应商最后一列显示所有联合...

泡泡糖儿
29分钟前
4
0
python将html的百分号转为对应的编码

import redef trans(x): # print(x.group()) return bytes.fromhex(x.group()[2:].decode("utf-8"))data = str("你好".encode("utf-8"))print(data)data = re.subn(b"\\\\x[0-9......

鬼上身跳不过门槛
39分钟前
4
0
如何在nohup下放置已经运行的进程?

我有一个已经运行了很长时间并且不想结束它的进程。 我怎么把它放在nohup下(也就是说,即使关闭终端,如何让它继续运行?) #1楼 假设由于某种原因, Ctrl + Z也无法正常工作,转到另一个终...

javail
42分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部