OpenDaylight Hydrogen版本应用SampleTap研究(一)
2015-06-03 13:50
309 查看
最近在网上看到了一个以OpenDaylight为基础的SDN应用,所以下载下来研究了一番,简单的对其相关功能进行了研究,由于精力有限,只完成了代码编译和OpenDaylight对接工作,并未对其业务流程进行深入研究,先将几天的研究进展小结一下,后续将对代码进行深入研究,如果有精力准备将其移植到OpenDaylight的最新版本上。
1 什么是Tap
Tap在wiki中的解释中是一种提供通过计算机网络去接入数据流的方式。在实际应用中,Tap是效果较好的一种监控网络节点间流量的方式。满足Tap应用场景的网络一般会具备三个重要部分,即需要监控的两个节点A和B,还有监控节点(monitor port)。在A、B间插入Tap后,Tap在保证未阻塞的流量通过的同时会将流量拷贝到监控端口供第三方的设备监听。
应用场景:breakout,passive,aggregating,regeneration,inline power。
2 SampleTap实现
SampleTap使用Java进行开发,其实际是作为OpenDaylight Hydrogen版本的软件架构OSGi的Plugin存在的。其代码分为两个部分,一个部分是SampleTap的功能实现,另一部分是SampleTap与OSGi的接口实现,代码存在于internal文件中,对OSGi的bundle进行了实现。其与OpenDaylight的关系如图2-1所示.
图2-1 SampleTap和OpenDaylight的关系
SampleTap的功能实现本质其实是通过下发流表进行特定流量的备份,并通过相应的功能模块进行流量分析,以满足不同的需求。
在整个SampleTap应用中,核心的内容是Tap Policy,其制定了Tap的应用策略,实现思路是通过Name、Match Rules、Switches/Ports确定流量,然后将流量镜像转移至相应的Capture Device进行数据包处理。图2-2上半部分是整个Policy的主要数据结构,下半部分是Match Rules的相关数据结构,这里相较于OF的Match Rules多了个Refexive的功能,也就是说可以选择是否增加反向链路的匹配功能。
图2-2 SampleTap的策略结构
3 SampleTap实验分析
对于SampleTap的实验,官方举了两个例子,下面分别介绍一下。
图3-1 案例一——Tap聚合
在这个例子中,将TOR交换机的镜像端口都连接在了安装了Tap应用的交换机,该交换机有两类端口,一种是Recorder用来实现流量的记录,而inspector主要实现对流量的监测。根据图3-1可以看出Tap应用聚合了图中左上多台交换机的流量,并进行了相应的监测。
图3-2 案例二
根据图3-2,该例子其实是对案例一的详细化,主要完成Client和Server之间特定流量的分析,Client1和Server1的交换机设定为TOR交换机,其和运行Tap应用的交换机之间通过Tap Port进行连接,该端口可以理解为交换机的镜像端口。该案例的目的是将Cleint和Server间的流量进行镜像备份,并从中筛选出HTTP和FTP的数据包给Inspect端口进行分析。
本文未完,阅读原文请点击:http://www.sdnlab.com/11894.html
1 什么是Tap
Tap在wiki中的解释中是一种提供通过计算机网络去接入数据流的方式。在实际应用中,Tap是效果较好的一种监控网络节点间流量的方式。满足Tap应用场景的网络一般会具备三个重要部分,即需要监控的两个节点A和B,还有监控节点(monitor port)。在A、B间插入Tap后,Tap在保证未阻塞的流量通过的同时会将流量拷贝到监控端口供第三方的设备监听。
应用场景:breakout,passive,aggregating,regeneration,inline power。
2 SampleTap实现
SampleTap使用Java进行开发,其实际是作为OpenDaylight Hydrogen版本的软件架构OSGi的Plugin存在的。其代码分为两个部分,一个部分是SampleTap的功能实现,另一部分是SampleTap与OSGi的接口实现,代码存在于internal文件中,对OSGi的bundle进行了实现。其与OpenDaylight的关系如图2-1所示.
图2-1 SampleTap和OpenDaylight的关系
SampleTap的功能实现本质其实是通过下发流表进行特定流量的备份,并通过相应的功能模块进行流量分析,以满足不同的需求。
在整个SampleTap应用中,核心的内容是Tap Policy,其制定了Tap的应用策略,实现思路是通过Name、Match Rules、Switches/Ports确定流量,然后将流量镜像转移至相应的Capture Device进行数据包处理。图2-2上半部分是整个Policy的主要数据结构,下半部分是Match Rules的相关数据结构,这里相较于OF的Match Rules多了个Refexive的功能,也就是说可以选择是否增加反向链路的匹配功能。
图2-2 SampleTap的策略结构
3 SampleTap实验分析
对于SampleTap的实验,官方举了两个例子,下面分别介绍一下。
图3-1 案例一——Tap聚合
在这个例子中,将TOR交换机的镜像端口都连接在了安装了Tap应用的交换机,该交换机有两类端口,一种是Recorder用来实现流量的记录,而inspector主要实现对流量的监测。根据图3-1可以看出Tap应用聚合了图中左上多台交换机的流量,并进行了相应的监测。
图3-2 案例二
根据图3-2,该例子其实是对案例一的详细化,主要完成Client和Server之间特定流量的分析,Client1和Server1的交换机设定为TOR交换机,其和运行Tap应用的交换机之间通过Tap Port进行连接,该端口可以理解为交换机的镜像端口。该案例的目的是将Cleint和Server间的流量进行镜像备份,并从中筛选出HTTP和FTP的数据包给Inspect端口进行分析。
本文未完,阅读原文请点击:http://www.sdnlab.com/11894.html
相关文章推荐
- 菜鸟自学红帽存储——RHSS3.0安装及学习环境搭建
- nginx通过用户和密码来实现认证功能
- nginx禁止域名被恶意cname
- Jenkins+CentOS6.5 的两种安装方式
- XenDesktop 7.5VDI无法应用自动锁屏策略在虚拟桌面中不生效,RDP下OK
- Tomcat默认打开项目设置
- Linux基本功
- Find命令示例(第一部分)----15个实用的Linux find命令示例
- Linux系统下C++开发工具-远程终端软件使用
- Linux开发工具的使用
- 部署Skype for Business Server 2015 数据库SQL 高可用AlwayOn
- Centos yum 安装lamp PHP5.4版本
- Ubuntu Server 与 Ubuntu Desktop之间的区别
- Linux集群之LVS
- 学习记录:linux下将C程序编译为汇编程序进行分析
- test
- CheungSSH比Ansible更优秀的Linux SSH批量管理服务器 执行命令上传下载自动化运维工具
- java.lang.ClassNotFoundException: org.apache.jsp.login_jsp
- java.lang.ClassNotFoundException: org.apache.jsp.login_jsp
- windows、linux劫持技术