基于OpenFlow协议的分流聚合基础应用笔记

实验一: 一对多实验

将1个10G端口的流量镜像至5个端口的配置如下。同样配置方法可应用于更多的端口。

注:Pica8交换机同时支持传统的2-3层协议和OpenFlow协议,本实验中交换机均配置为OpenFlow模式;

首先我们创建一个新的Bridge br0,并将端口1-6添加到br0;

# Add Bridge br0 - for PCAP Replication - 1st Port
##############################
# te-1/1/1 is input te-1/1/2, te-1/1/3, te-1/1/4, te-1/1/5, te-1/1/6 are output
#-------------------------------------------------------------------------------------
$VSCTL add-br br0 -- set bridge br0 datapath_type=pica8 other-config=datapath-id=100
$VSCTL add-port br0 te-1/1/1 -- set interface te-1/1/1 type=pica8
$VSCTL add-port br0 te-1/1/2 -- set interface te-1/1/2 type=pica8
$VSCTL add-port br0 te-1/1/3 -- set interface te-1/1/3 type=pica8
$VSCTL add-port br0 te-1/1/4 -- set interface te-1/1/4 type=pica8
$VSCTL add-port br0 te-1/1/5 -- set interface te-1/1/5 type=pica8
$VSCTL add-port br0 te-1/1/6 -- set interface te-1/1/6 type=pica8

然后我们移除默认的流保证各端口按照新的指令工作;最后我们将镜像流量出端口的ingress流量全部丢弃;

# Remove Default Flow (not treating this as HUB!)
ovs-ofctl del-flows br0
# Add replication flow 1 -> 2,3,4,5,6
ovs-ofctl add-flow br0 in_port=1,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=output:2,3,4,5,6

最后我们将镜像流量出端口的ingress流量全部丢弃;

# Drop ingress traffic from mirror ports
ovs-ofctl add-flow br0 in_port=2,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br0 in_port=3,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br0 in_port=4,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br0 in_port=5,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br0 in_port=6,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop

实验二:Tap Aggregation实验

在实验一的基础上我们将四个端口的流量bridge到一起,并且mirror至其他端口;

idge br20 - for TAP Span - 1st Port
#######################################################################################
# Bridged : te-1/1/21, te-1/1/22, te-1/1/23, te-1/1/24
# Output : te-1/1/25, te-1/1/26, te-1/1/27, te-1/1/28
#-------------------------------------------------------------------------------------
$VSCTL add-br br20 -- set bridge br20 datapath_type=pica8 other-config=datapath-id=120
$VSCTL add-port br20 te-1/1/21 -- set interface te-1/1/21 type=pica8
$VSCTL add-port br20 te-1/1/22 -- set interface te-1/1/22 type=pica8
$VSCTL add-port br20 te-1/1/23 -- set interface te-1/1/23 type=pica8
$VSCTL add-port br20 te-1/1/24 -- set interface te-1/1/24 type=pica8
$VSCTL add-port br20 te-1/1/25 -- set interface te-1/1/25 type=pica8
$VSCTL add-port br20 te-1/1/26 -- set interface te-1/1/26 type=pica8
$VSCTL add-port br20 te-1/1/27 -- set interface te-1/1/27 type=pica8
$VSCTL add-port br20 te-1/1/28 -- set interface te-1/1/28 type=pica8
# Remove Default Flow (not treating this as HUB!)
ovs-ofctl del-flows br20
# Add replication flow from each bridged port to each of the other ports in the group
ovs-ofctl add-flow br20 in_port=21,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=output:22,23,24,25,26,27,28
ovs-ofctl add-flow br20 in_port=22,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=output:21,23,24,25,26,27,28
ovs-ofctl add-flow br20 in_port=23,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=output:21,22,24,25,26,27,28
ovs-ofctl add-flow br20 in_port=24,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=output:21,22,23,25,26,27,28
# Drop ingress traffic from mirror ports
ovs-ofctl add-flow br20 in_port=25,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br20 in_port=26,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br20 in_port=27,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop
ovs-ofctl add-flow br20 in_port=28,dl_dst="*",dl_src="*",dl_type="*",dl_vlan_pcp="*",dl_vlan="*",actions=drop

作者:Pica8中国

来源:51CTO

时间: 2024-07-31 11:03:33

基于OpenFlow协议的分流聚合基础应用笔记的相关文章

《软件定义网络:基于OpenFlow的SDN》一一2.1 OpenFlow参考交换机

2.1 OpenFlow参考交换机 OpenFlow交换机是基本的转发单元,可以通过OpenFlow协议和接口对它进行访问.这种架构初看起来似乎简化了交换机的硬件,但是诸如OpenFlow一类的基于流的SDN体系结构要求额外的转发表记录.缓存空间和统计计数器,在传统的采用专用IC芯片(ASIC)的交换机中,这些实现起来并不十分容易.在OpenFlow网络中,有两种类型的交换机:混合型的(可启用OpenFlow)和纯粹型的(只支持OpenFlow),混合型的交换机除了传统的操作和协议(二层.三层交

基于OpenFlow交换机的OpenStack部署实践

DN(软件定义网络)通过逻辑上集中的主控制器实现对底层交换机报文处理的管理,在业界也因此出现了多种SDN/OpenFlow的控制器比如 RYU,OpenDaylight.Floodlight等;随着云计算技术的发展在IaaS领域涌现很多开源的云平台管理工具,但是这两个领域目前还没有很好的融合.本项目通过为OpenStack的网络实现一个可扩展的OpenFlow控制器Plugin,试图解决早期OpenFlow控制器在扩展性方面的缺陷. 一.简介 云计算越来越普及,云提供的弹性和服务的动态提供日益受

《软件定义网络:基于OpenFlow的SDN》一一3.1 SDN控制器

3.1 SDN控制器 如后面的图3-1所描绘的那样,在软件定义网络(SDN)中,特别是OpenFlow中,控制平面和数据平面是分离的,我们可以把两者类比作操作系统和计算机硬件,OpenFlow控制器(就好比操作系统)提供一个OpenFlow交换机(就好比计算机硬件)的编程接口,利用这个编程接口,就可以开发网络应用,完成控制和管理任务,并提供新的功能.SDN中的控制平面,特别是OpenFlow的控制平面,在逻辑上是集中化的,因此在开发网络应用的时候,可以把网络视为一个系统.由于采用应变式的(rea

大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》1.1基于TCP协议的RPC

1.1基于TCP协议的RPC 1.1.1RPC名词理解 RPC的全称是Remote Process Call,即远程过程调用,它应用广泛,实现方式也很多,拥有RMI,WebService等诸多成熟的方案,在业界得到了广泛的应用.单台服务器的处理能力受硬件成本的限制,不可能无限制的提升,RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近乎无限制的提升,这是系统发展到一定阶段必然性的改革,也是实现分布式计算的基础. 如图1-2所示,RPC的实现包括客户端和服务端,

java web基于snmp协议的局域网远程电源管理系统

问题描述 java web基于snmp协议的局域网远程电源管理系统 5C 准备通过java web做基于snmp协议的局域网远程电源管理系统,(学校机房有3层,1200台电脑以上)以下是我的想法,请各位指导提建议哈,在此感谢呀 通过mib borwer收集第三方电源有关的mib库,保存到枚举,集合或xml中 遍历mib库,遍历电脑ip,管理端通过snmp的get获取agent端电源有关信息,进行数据的处理然后保存到db(通过异步,队列,多线程或分批方式定时获取) 设置报警阈值,agent端定时t

基于OPC协议的工控网络系统防护浅析

一.协议概述 提到OPC协议,大家想到最多的就是OPC Classic 3.0,实际上现在OPC协议有两个大类,一种是基于微软COM/DCOM技术的"Classic",另一种是基于Web service的OPC UA.前者在DCOM协议之上,诞生较早,已广泛应用在各种工业控制系统现场,成为工业自动化领域的事实标准.后者与前者比出生较晚,但在设计时考虑了安全因素,有了加密机制,不过目前应用范围较小.本文主要讨论的是前者在工控系统中的防护. 微软的DCOM协议是在网络安全问题被广泛认识之前

浅谈 HTTPS 和 SSL/TLS 协议的背景与基础

浅谈 HTTPS 和 SSL/TLS 协议的背景与基础 相关背景知识 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 大致了解 HTTP 和 TCP 的关系(尤其是"短连接"VS"长连接") 大致了解加密算法的概念(尤其是"对称加密与非对称加密"的区别) 大致了解 CA 证书的用途 考虑到很多技术菜鸟可能不了解上述背景,俺先用最简短的文字描述一下.如果你自认为不是菜鸟,请

计算机网络课设之基于UDP协议的简易聊天机器人

前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C语言的socket编程我基本没有接触过,顶多对java网络编程有一点涉猎.下面我将自己所学的知识做了一个总结,希望可以对想要去接触socket(网络)编程的同学有一个帮助,当然想要学好网络编程肯定是离不开几本书的支撑的,这篇文章主要通过一个机器人聊天的案例帮大家入下门. 注意:想要成功运行的前提条件

Ryu:OpenFlow协议源码分析

Ryu支持OpenFlow所有的版本,是所有SDN控制器中对OpenFlow支持最好的控制器之一.这得益于Ryu的代码设计,Ryu中关于OpenFlow协议的代码量不多.阅读Ryu源码,不仅让我了解到了Ryu的运行细节,也学会了许多的编码知识.这为我当前开发的协议提供了很大的帮助. 本篇将从交换机与控制器建立连接开始,介绍OpenFlow报文的解析的相关代码实现.关于如何注册handler和发送报文,可查看之前的RYU核心源码解读:OFPHandler,Controller,RyuApp和App