精华内容
下载资源
问答
  • 开源交换机 Asterisk的应用 开源交换机 Asterisk的应用
  • 编者按:思科和惠普近日就惠普推出的新款品牌开源交换机大打口水战,作为目前业界巨头的两家公司在对待开源项目的态度上都是积极的,但就产品而言,两家各有千秋,这也是这场口水战能打起来的原因,当然,我们更期望...

           编者按:思科和惠普近日就惠普推出的新款品牌开源交换机大打口水战,作为目前业界巨头的两家公司在对待开源项目的态度上都是积极的,但就产品而言,两家各有千秋,这也是这场口水战能打起来的原因,当然,我们更期望好的产品的问世,以此来促进SDN的落地。

           据国外媒体报道,思科表示惠普在上星期四推出的针对数据中心的新款品牌开源网络交换机“让人质疑其在ProCurve/H3C交换产品上缺乏信心、动力和创新。”这家总部位于加利福尼亚州圣何塞的公司星期四在给CRN的一封电子邮件中做出这样的表示。


        思科在电子邮件中表示,“‘白盒子’或者商用芯片交换机不是一种新现象:事实上,今天,思科通过其Nexus 3000系列交换机提供了部署最为广泛的商用芯片数据中心平台。”“这个世界上十家最大的互联网公司中有八家都是思科的用户。思科的战略是通过向软件定义网络(SDN)和新的商业模式提供价值,一项包括了商用芯片的战略实现使用和自定义ASICs。”

        惠普在就此事回复CRN的一封电子邮件中表示,“和思科不同,惠普一直在聆听我们的客户的声音,并且投资于未来。惠普将继续引领着SDN的创新曲线,商用芯片和软件授权,我们在今天提供的解决方案上也打算做同样的事情。思科关心的只是如何圈住自己的客户。”

        同时,思科指出该公司上周发布的第二季度盈利报告显示出交换机和数据中心业务表现强劲。

        一位不愿透露姓名的思科合作伙伴表示,他确实认为思科“在某种程度上”面临着风险。

        这位高管表示,“SDN是否创造了别人可以进入的、空白的竞争领域?还是它只是给了思科一个巩固自己领导者地位、粉碎竞争的机会?”这位高管表示,“我们还没有答案……但是我敢说盒子上的LOGO或者品牌真的已经没关系了。”

        位于新罕布什尔州锡布鲁克的Technology Solutions是一家思科和惠普的合作伙伴,该公司的首席技术官Bill Smeltzer表示他并不认为白标交换机将会在不久的将来对市场造成影响,但是随着时间的推移它可能会掀起一种势头,这对于思科可能构成危险。

        Smeltzer表示,“我不认为会有立竿见影的效果。” Smeltzer表示,“我认为如果企业和商用级用户真正开始采用这些开放式、软件定义的网络,我认为沿着这条路走下去,随着设备变得老化并且要进行更新的时候,我绝对相信(白标交换机)将会开始打压思科了。”

        总部位于加利福尼亚州的帕洛阿尔托的惠普在电子邮件中特别谈到了思科的以应用为中心的基础架构。惠普写道,“思科设法用它的自定义、封闭的ACI的方式直接对抗这个行业中网络解体以及使用开放及标准的白盒子网络解决方案的潮流。”

        思科合作伙伴TekLinks公司的托管和云服务副总裁David Powell表示,他不会因为惠普最新的产品线而动摇,他坚信思科ACI的方法。

      “思科已经占据领导地位很长一段时间了;他们没有犯错,” Powell表示。“他们的特点和优点是业内最优秀的,他们显然正在大步流星地朝着SDN前进。他们喜欢ACI,并且始终站在潮流前线……他们在ACI方面的举措是正确的行动。”

        惠普表示新的交换机产品线将在三月份的某个时候上市,但尚未披露定价。

     转载自:中关村在线

        本文来源于SDNLAB,可点击此阅读原文。如果您对本文感兴趣,可参与以下互动方式与作者近距离交流。另外我们网站也有大型企业招聘平台,里面有很多优质的岗位,有意者请点击招聘查看详情。


    展开全文
  • 使用开源交换机(Open vSwitch)软件

    千次阅读 2020-03-29 12:07:05
    文章目录Open vSwitch安装及部署Open vSwitch网桥管理网桥相关的基本概念常用的网桥命令,进行网桥和端口的添加、删除、查看等操作 ...  在网络中,交换机和桥概念类似,Open vSwitch是一个虚拟交换软件,也就是...

    Open vSwitch安装及部署

    这一部分我参考了一篇大佬的博客:ubuntu安装运行Open vSwitch

    Open vSwitch网桥管理

    网桥相关的基本概念

      在网络中,交换机和桥概念类似,Open vSwitch是一个虚拟交换软件,也就是说,Open vSwitch实现了网桥的功能。学习Open vSwitch的第一步要弄清楚网桥的概念。网桥是连接两个局域网的设备,工作在数据链路层,根据MAC地址来转发帧。在Open vSwitch中创建一个网桥后,此时网络功能不受影响,但是会产生一个虚拟网卡,之所以会产生一个虚拟网卡,是为了实现接下来的网桥(交换机)功能。有了这个网桥以后,还需要为这个网桥增加端口(port),一个端口就是一个物理网卡,当网卡加入到这个网桥之后,其工作方式就和普通交换机的一个端口的工作方式类似了。

      创建桥的时候会创建一个和桥名字一样的接口,并自动作为该桥的一个端口,那么这个虚拟接口的作用,一方面是可以作为交换机的管理端口,另一方面也是基于这个虚拟接口实现了桥的功能。Open vSwitch的内核模块实现了多个“数据路径”,每个都可以有多个vports。每个数据路径也通过关联流表(flow table)来设置操作,而这些流表中的流都是用户空间在报文头和元数据的基础上映射的关键信息,一般的操作都是将数据包转发到另一个vport。当一个数据包到达一个vport,内核模块所做的处理是提取其流的关键信息并在流表中查找这些关键信息,当有一个匹配的流时它执行对应的操作,如果没有匹配,它会将数据包送到用户空间的处理队列中,作为处理的一部分,用户空间可能会设置一个流用于以后碰到相同类型的数据包可以在内核中执行操作。

    常用的网桥命令,进行网桥和端口的添加、删除、查看等操作

    ovs-vsctl关于网桥管理的常用命令如下:

    命令 含义
    init 初始化数据库(前提数据分组为空)
    show 打印数据库信息摘要
    add-br BRIDGE 添加新的网桥
    del-br BRIDGE 删除网桥
    list-br 打印网桥摘要信息
    list-ports BRIDGE 打印网桥中所有port摘要信息
    add-port BRIDGE PORT 向网桥中添加端口
    del-port [BRIDGE] PORT 删除网桥上的端口
    get-controller BRIDGE 获取网桥的控制器信息
    del-controller BRIDGE 删除网桥的控制器信息
    set-controller BRIDGE TARGET 向网桥添加控制器

    Open vSwitch流表管理

    Open vSwitch流表的基本概念。

      OpenFlow是用于管理交换机流表的协议,ovs-ofctl是Open vSwitch提供的命令行工具。在没有配置OpenFlow控制器的模式下,用户可以使用ovs-ofctl命令通过OpenFlow协议连接Open vSwitch来创建、修改或删除Open vSwitch中的流表项,并对Open vSwitch的运行状况进行动态监控。

      在OpenFlow白皮书中,Flow被定义为某个特定的网络流量。例如,一个TCP连接就是一个Flow,或者从某个IP地址发出来的数据包,都可以被认为是一个Flow。支持OpenFlow协议的交换机应该包括一个或多个流表,流表中的条目包含:数据包头的信息、匹配成功后要执行的指令和统计信息。当数据包进入OVS后,会将数据包和流表中的流表项进行匹配,如果发现了匹配的流表项,则执行该流表项中的指令集。相反,如果数据包在流表中没有发现任何匹配,OVS会通过控制通道把数据包发到OpenFlow控制器中。

    常用的流表命令,进行流表的添加、删除、查看等操作

    ovs-ofctl关于流表管理的常用命令如下表所示。

    命令 含义
    show SWITCH 输出OpenFlow信息
    dump-ports SWITCH PORT 输出端口统计信息
    dump-ports-desc SWITCH 输出端口描述信息
    dump-flows SWITCH 输出交换机中所有的流表项
    dump-flows SWITCH FLOW 输出交换机中匹配的流表项
    add-flow SWITCH FLOW 向交换机中添加流表项
    add-flows SWITCH FILE 在文件中向交换机添加流表项
    mod-flows SWITCH FLOW 修改交换机的流表项
    del-flows SWITCH FLOW 删除交换机的流表项

      对于add-flow、add-flows和mod-flows这3个命令,还需要指定要执行的动作actions=[target],[target]…,一个流规则中可能有多个动作,按照指定的先后顺序执行。
    常见的流表操作如下表所示。

    操作 说明
    output:port 输出数据包到指定端口,port指端口的OpenFlow端口编号
    mod_vlan_vid 修改数据包中的VLANtag
    strip_vlan 移除数据包中的VLANtag
    mod_dl_src/mod_dl_dest 修改源或者目标MAC地址信息
    mod_nw_src/mod_nw_dst 修改源或者目标IPv4地址信息
    resubmit:port 替换流表的in_port字段,并重新进行匹配
    load:value->dst[start, end] 写数据到指定字段

      在OVS中,流表项作为ovs-ofctl的参数,采用如下的格式:字段=值,如果有多个字段,可以用逗号或空格分开,一些常用的字段列举如下表所示。

    字段名称 说明
    in_port=port 传递数据包端口的OpenFlow端口编号
    dl_vlan=vlan 数据包的VLANTag值,范围0-4095,0xffff代表不包含VLANTag
    dl_src(dst)=< MAC> 匹配源/目标MAC地址
    dl_type=ethertype 匹配以太网协议类型:0x800代表IPv4;0x86dd代表IPv6;0x806代表ARP
    nw_src(dst)=ip[/netmask] 匹配源或目标IPv4地址,可以使用IP地址或域名
    nw_proto=proto 与dl_type协同使用,匹配IP/IPv6编号
    table=number 流表编号,范围0-254,默认为0
    reg< idx>=value[/mask] 交换机中寄存器的值

    Open vSwitch 端口镜像

    端口镜像的作用,利用Open vSwitch设置端口映射

      端口镜像(port Mirroring)是把交换机一个或多个端口(VLAN)的数据镜像到一个或多个端口的方法。在一些交换机中,我们可以通过对交换机的配置来实现将某个端口上的数据包,拷贝一份到另外一个端口上,这个过程就是端口镜像。

    • 端口映射:把在公网的地址转翻译成私有地址,或者反过来。比如你通过路由器用ADSL上百度,你本机地址是192.168.1.10,但百度看到的IP地址是你的路由器的IP地址。百度把数据发送给路由器,你的路由器通过内置的端口映射表把数据转发给你。
    • 端口镜像:把一个端口上的数据同时发送到原端口和另外一个端口,相当于另外一个端口得到了一个复本。它跟端口映射的主要区别在于:映射的目的是转发,而镜像的目的是复制!

      这里原文中写的是端口映射,可能是笔误,所以这里就统一为端口镜像
    图1-1
      端口1为镜像端口,端口2为被镜像端口,因为通过端口1可以看到端口2的流量,所以我们也称端口1为监控端口,而端口2为被监控端口。
      部署IDS产品需要监听网络流量(网络分析仪同样也需要),但是在目前广泛采用的交换网络中监听所有流量有相当大的困难,因此需要通过配置交换机来把一个或多个端口(VLAN)的数据转发到某一个端口来实现对网络的监听。
      端口镜像可以监视到进出网络的所有数据包,如网吧需提供此功能把数据发往公安部门审查。而企业出于信息安全、保护公司机密的需要,也迫切需要网络中有一个端口能提供这种实时监控功能。在企业中用端口镜像功能,可以很好的对企业内部的网络数据进行监控管理,在网络出现故障的时候,可以做到很好地故障定位。

    ovs-vsctl list port |more //查看端口uuid,这个地方port是固定搭配,无需改动
    ovs-vsctl -- set bridge br-sw mirrors=@m -- --id=@m create mirror name=mymirror select-dst-port=eth1_uuid select-src-port=eth2_uuid output-port=eth3_uuid   //执行该命令将发往eth1端口和从eth2端口发出的数据包全部定向到eth3端口
    

    第一条命令还好,但是第二条确实有点长了,下面就分解一下:
    ovs-vsctl – set bridge br-sw mirrors=@m – --id=@m create mirror其中br-sw是执行该操作的目标网桥(交换机),即在br-sw上实施该端口镜像。下面是操作字段表:

    字段名称 说明
    name=mymirror 设置该镜像的名字
    select-dst-port=dst_port 以dst_port为被镜像端口,拷贝所有发往该端口的数据
    select-src-port=src_port 以src_port为被镜像端口,拷贝所有从该端口发出的数据
    output-port=port 镜像端口,所有被监视端口规定方向数据拷贝发到本端口

    其中name字段和output-port字段是必须有的,剩下的两者至少存在一个。

    Open vSwitch QoS设置

    QoS(Quality of Service)等相关网络知识

      QoS(Quality of Service)即服务质量。指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力。在正常情况下,如果网络只用于特定的无时间限制的应用系统,并不需要QoS,比如Web应用或E-mail设置等。但是对关键应用和多媒体应用就十分必要。当网络过载或拥塞时,QoS能确保重要业务量不受延迟或丢弃,同时保证网络的高效运行。对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。本次实验通过设置Open vSwitch接口速率进行报文流量监管(Commit Access Rate,简称CAR)。CAR利用令牌桶(Token Bucket,简称TB)进行流量控制。下图所示为利用CAR进行流量控制的基本处理过程:
    在这里插入图片描述
      首先,根据预先设置的匹配规则来对报文进行分类,如果是没有规定流量特性的报文,就直接继续发送,并不需要经过令牌桶的处理;如果是需要进行流量控制的报文,则会进入令牌桶中进行处理。如果令牌桶中有足够的令牌可以用来发送报文,则允许报文通过,报文可以被继续发送下去。如果令牌桶中的令牌不满足报文的发送条件,则报文被丢弃。这样,就可以对某类报文的流量进行控制。
      Open vSwitch本身并不具备QoS功能,是基于linux的”tc”(流量控制器)功能实现的,是已经在Linux内核中存在的功能。而Open vSwitch所做的是对其部分支持的tc功能进行配置。在Linux的QoS中,接收数据包使用的方法叫策略(policing),当速率超过了配置速率,就简单的把数据包丢弃。不通过OpenFlow设置,直接在interface上设置。例如:

    • ovs-vsctl set interface vif1.0 ingress_policing_rate=10000
    • ovs-vsctl set interface vif1.0 ingress_policing_burst=8000

      上面两行命令,把虚拟端口vif1.0的最大接收速率设置为10000kbps,桶大小设置为8000kb。策略使用了简单的令牌桶(token bucket)算法。我们以一定的速度不断生成令牌,除非令牌桶装满。每接收一个包,需要消耗一个令牌;如果没有令牌了,就会把新到达的包丢弃。如果到达包的速度大于令牌的生成速度,那么令牌很快消耗干净,新到达的包只能丢弃,那么接收包的速度很快就降下来,和令牌的生成速度一致。所以接收包的速度依赖于令牌的生成速度,换句话说,不能大于令牌的生成速度,也就是最大接收速率,即ingree_policing_rate的值,单位是kbps。如果到达包的速度小于令牌的生成速度,那么令牌很快堆满令牌桶,这时到达包的速度突然增大,令牌桶中有足够的令牌。这一瞬间可供消耗的令牌有桶中的令牌,也有不断生成的令牌,导致接收包的速度也会突然增大,大于令牌的生成速度,也就是大于我们设置的最大接收速率,称为突发接收速率。这时虽然突发接收速率大于最大接受速率,但是也是有限制的,最多增加的速率(最大突发接收速率减去最大接收速率)依赖于桶的大小,换句话说,增加的吞吐量不能大于桶的大小,即ingress_policing_burst的值,单位是kb。在上面的例子中,如果所有包的大小都是1kb,那么最多增加的速率达到8000kbps,最大突发接收速率达到18000kbps。
      :接口和端口是两个比较容易混淆的概念。一般是物理上的概念,主机后面的就是接口,有KVM接口、以太网接口、同步串口等,也可以是逻辑上的概念比如VLAN的interface。端口是TCP/UDP协议的一个概念,用来区分某种应用,例如telnet的端口是23、而www的端口是80等。Open vSwitch既可以针对网络接口,也可以针对端口设置QoS,本实验中的QoS设置就是一个针对接口设置QoS的用例。

    利用Open vSwitch调控网络性能

    一、检验环境
    ifconfig查看主机ip;两台主机之间进行ping操作确保互通

    二、测试主机间的吞吐量
    在主机1上执行以下命令,确认Open vSwitch进程。

    ps -ef | grep ovs
    

    执行以下命令,创建网桥br0,并将eth0网卡挂接到br0。

    ovs-vsctl add-br br0
    ovs-vsctl add-port br0 eth0
    

    将eth0挂接到br0后,ovs云主机无法与其他主机通信,执行以下命令将eth0的IP赋给br0,如下图所示。

    ifconfig eth0 0 up
    ifconfig br0 30.0.1.8/24 up
    ifconfig
    

    在这里插入图片描述
    将Open vSwitch主机作为服务器端,在主机1上执行如下命令启动netServer。

    netserver -p 9991
    

    说明:服务器端启动后,默认程序在后台启动,可以用ps -ef|grep netServer命令查看进程,无须反复启动

    将Netperf主机作为客户端,在主机2上执行以下命令,测量与服务器主机之间的吞吐量。

    netperf -t UDP_STREAM -H 30.0.1.8 -p 9991
    

    在这里插入图片描述
    三、设置QoS参数
    在主机1上执行以下命令设置eth0吞吐量为100±50Mbps。

    ovs-vsctl set interface eth0 ingress_policing_rate=100000
    ovs-vsctl set interface eth0 ingress_policing_burst=50000
    

    说明:利用ingress_policing_rate设置eth0端口最大速率(kbps),ingress_policing_burst设置最大浮动速率(kbps)。

    执行以下命令启动客户端,测量服务器与主机之间的吞吐量,如下图所示。

    netperf -t UDP_STREAM -H 30.0.1.8 -p 9991
    

    在这里插入图片描述
    由上图可以看出,远端接收速率明显降低。

    Open vSwitch流量监控

      本来本人都是将提到的所有软件都安装在了虚拟机上,但是后来还是发现,用致网平台更好一点,所以以后的环境都借用致网了。当然下面还是提供了安装sFlow的方法,希望大家都能找到更适合自己的方式。不过以后的网络拓补逐渐复杂,规模也逐步扩大,可能自己的电脑会带不动,还是用在线平台吧,一劳永逸。

    部署sFlow Collector和sFlow Agent

      互联网及SDN迅速发展的同时,网络安全问题日益成为人们关注的焦点,病毒、恶意攻击、非法访问等都容易影响网络的正常运行。网络流量监控是一种分析网络状况的有效方法,通过实时收集和监视网络数据包的流量信息,来检查是否有违反安全策略的行为和网络工作异常的迹象,并为优化网络性能提供参考。sFlow技术是一种以设备端口为基本单元的数据流随机采样的流量监控技术,不仅可以提供完整的第二层到第四层甚至全网范围内的实时流量信息,而且可以适应超大网络流量(如大于10Gbit/s)环境下的流量分析,让用户详细、实时地分析网络传输流的性能、趋势和存在的问题。sFlow监控工具由sFlow Agent和sFlow Collector两部分组成。Agent作为客户端,一般内嵌于网络转发设备(如交换机、路由器),通过获取本设备上的接口统计信息和数据信息,将信息封装成sFlow报文,当sFlow报文缓冲区满或是在sFlow报文缓存时间(缓存时间为1秒)超时后,sFlow Agent会将sFlow报文发送到指定的Collector。Collector作为远端服务器,负责对sFlow报文分析、汇总、生成流量报告。sFlow的基本工作原理如下图所示:

      本次实验使用两台虚拟机,虚拟机1部署Mininet服务并配置sFlow Agent,虚拟机2安装sFlow Collector,在虚拟机1的Mininet环境中模拟创建一个交换机下挂2个主机的网络拓扑,通过执行Ping测试来产生网络流量,然后通过在Collector Web界面查看监控结果。
    实验网络拓扑如下所示:在这里插入图片描述

    使用sFlow对Mininet模拟的Open vSwitch端口流量进行监控

    一、部署sFlow Collector
      首先,要想安装sFlow的话,首先要安装JAVA,我参考了一篇大佬的博客:(我选择了直接命令行安装,因为也挺快的,环境也是用的虚拟机Ubuntu18.04)

    1. 更新软件包列表:
    sudo apt-get update
    
    1. 安装openjdk-8-jdk:
    sudo apt-get install openjdk-8-jdk
    
    1. 查看java版本,看看是否安装成功:
    java -version
    

    结果如下图:
    在这里插入图片描述
    然后就是压缩包的下载,参考这篇文章
    下载sFlow-rt:wget http://www.inmon.com/products/sFlow-RT/sflow-rt.tar.gz(这个方法有点慢,耐心等待下就好了)
    将sFlow Collector安装包解压安装,如下图所示。

    tar -zxvf sflow-rt.tar.gz
    cd sflow-rt
    ./start.sh
    

    在这里插入图片描述
    上图表示sFlow Collector已经启动,默认监听端口为6343,可以通过虚拟机内置的浏览器输入http://localhost:8008 打开监控页面。

    二、部署sFlow Agent
    步骤1 选择主机1,单击终端图标,进入命令行终端。执行 su root切换到root用户。
    步骤2 执行如下命令,进入root家目录,启动Mininet服务,模拟搭建一个交换机下挂2个主机的网络拓扑结构,结果如下图所示。

    cd
    screen mn
    

    这里的screen真不知道是个什么东西,下面还没做,我环境崩了,重新搭一下先
    在这里插入图片描述
    步骤3 在Mininet窗口输入nodes命令查看所有节点信息,如下图所示。
    在这里插入图片描述
    由上图可知,当前有主机h1和h2、默认控制器c0、网桥s1。

    步骤4 执行h1 ifconfig命令,查看h1的网卡信息,如下图所示。
    在这里插入图片描述
    由上图可知,h1的IP是10网段。

    步骤5 打开另一个终端界面,输入ifconfig查看当前网卡状态,如下图所示。
    在这里插入图片描述
    由上图可知,网桥s1无IP。

    步骤6 执行su root切换到root用户,然后执行如下命令把eth0端口IP复制给s1。

    ovs-vsctl add-port s1 eth0
    ifconfig s1 192.168.1.4 netmask 255.255.255.0
    ifconfig eth0 0 up
    

    说明:通过eth0端口是无法监控到Mininet内部两个主机的ping测试。因此需要把eth0端口IP复制给s1,由s1端口作为sFlow Agent来监听。其中192.168.1.4是主机1的IP地址。

    步骤7 输入ifconfig |more命令查看配置后的各端口状态,如下图所示。
    在这里插入图片描述
    由上图可知,s1已经得到eth0之前的IP和掩码,eth0无IP。

    步骤8 切换到Mininet窗口,执行h1 ping h2,检查端口是否配置正确。如果Ping通,则一直保持Ping状态产生流量,否则仔细检查配置。
    在这里插入图片描述
    步骤9 切换到虚拟机界面,开启OvS的sFlow功能,并配置sFlow Agent,命令如下。

    ovs-vsctl -- --id=@sflow create sFlow agent=s1 target=\"192.168.1.3:6343\" header=128 sampling=64 polling=1 -- set bridge s1 sflow=@sflow
    

    注意:该命令执行的次数和需要开启sflow的网桥的数目有关,有几个网桥,就需要执行几次此命令。参数说明如下:

    agent:虚拟机对应的某个监控流量的网卡,本实验用s1网卡产生和监控流量。
    target:sFlow Collector的IP,默认端口6343。
    bridge:需要开启sflow的网桥。
    步骤10 配置完成后,输入如下命令查看已经配置的Agent信息。

    ovs-vsctl list sflow
    

    在这里插入图片描述
    说明:如果要删除该条Agent信息,可以用如下命令,在本次实验中不用执行这条命令:

    ovs-vsctl remove bridge s1 sflow $SFLOWUUID
    

    步骤11 在虚拟机窗口输入ip link命令,查看交换机端口名称与端口编号的映射关系,如下图所示。
    在这里插入图片描述
    由上图可知,eth0对应的编号是2,s1-eth1对应的编号是3,s1-eth2对应的编号是5,s1对应的编号是8。

    三、查看监控结果
    步骤1 登录主机1,输入http://localhost:8008 ,在登录sFlow Collector Web页面,查看Agents选项卡,可知已将虚拟机1(192.168.1.4)加到监控对象。
    在这里插入图片描述
    步骤2 单击“192.168.1.4”,进入该虚拟机所监控的端口列表页面,如下编号为2、3、5、8的端口都有监控:
    在这里插入图片描述
    在这里插入图片描述
    步骤3 单击任意条目查看端口在4分钟内输入和输出两个方向的流量信息,包括丢包数、差错数、多播速率、使用率、端口速率等,下图是eth0的2.ifinpkts和2.ifinoctets在4分钟内的流量情况。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 国内开源电话交换机项目Freeiris

    千次阅读 2008-05-21 09:17:00
    FreeIris(前身为Astercon2)是一款开源的计费+注册管理+IPPBX+数字中继的软交换系统。系统基于Asterisk、Perl、Linux等技术实现,采用外挂式控制技术开发。目前系统可以控制管理SIP、IAX、H323、等软协议的通信。在...
        FreeIris(前身为Astercon2)是一款开源的计费+注册管理+IPPBX+数字中继的软交换系统。系统基于Asterisk、Perl、Linux等技术实现,采用外挂式控制技术开发。目前系统可以控制管理SIP、IAX、H323、等软协议的通信。在硬件层上,支持大量的硬件产品,包括数字中继(ISDN PRI / ISDN BRI),模拟中继(FXO /FXS),以及各种SIP与IAX的终端设备等。				   Freeiris寄托了用户希望能有一套真正属于自己的,可以媲美动辄十几万通信设备的产品之愿望...

    http://www.freeiris.org/
    展开全文
  • Switch Miner是Windows的轻量级实用程序,可充当Cisco交换机交换机端口映射器/交换机端口发现工具。 它可以帮助网络工程师发现连接到交换机所有端口的设备。 它甚至可以通过CDP发现相邻的交换机并对其进行扫描。 ...
  • 通过交换机上的数据包规范化在全网络范围内击败指纹
  • 自1983年自由软件运动领袖Richard Stallman提出了GNU计划以来,开源为软件开发带来了创造性的革命和商业成功。SDN如今的快速发展也离...但SDN的开源大多都局限在控制器或软件交换机的领域,数据平面的硬件开源项目始...

    自1983年自由软件运动领袖Richard Stallman提出了GNU计划以来,开源为软件开发带来了创造性的革命和商业成功。SDN如今的快速发展也离不开开源社区的力量,比如NOX、Floodlight、OpenContrail、ONOS等开源项目极大的推动了SDN产业链的发展。但SDN的开源大多都局限在控制器或软件交换机的领域,数据平面的硬件开源项目始终没有迎来一个百花齐放的春天,同时在网络教学研究领域,也没有形成一个有序、规范、有创造力的生态圈,FAST的诞生或许可以提供一个崭新的思路。

    他山之石:NetFPGA的启示
    NetFPGA是斯坦福大学基于Linux开发的开放性试验平台,能够支持模块化设计,可以使研究人员方便的在其上搭建Gb级的高性能网络系统模型。斯坦福大学刚开始研究OpenFlow项目的时候,就是基于NetFPGA实现了硬件加速的线速OpenFlow交换机。

    自2009年开始,NetFPGA团队陆续将代码和设计文档在GitHub上公开,为四种规格的NetFPGA平台分别建立wiki页面和软硬件开发指南,我们注意到开源给NetFPGA带来了不少“红利”:

    (1)加速项目的版本迭代。由于开源能有效的共享资源,所以可以避免不必要的重复劳动,以NetFPGA 1G为例,18个月间就更新了8个版本,大幅度节约了成本和时间。

    (2)使项目设计和开发变得更加规范可靠。NetFPGA的设计文档在开放平等的基础上供公众审查,200多份的设计文档就有90余人的贡献,足以说明在相互借鉴和比较的基础上,能使硬件单元的设计能够变得有序和规范。

    (3)鼓励创新项目的研究。由于源码的开放,越来越多的研究人员开始关注到NetFPGA,并参与建立了许多基于NetFPGA的项目,比如开源网络测试仪(OSNT),OpenFlow交换机等,可以研究下一代网络提供有益的尝试。

    但是由于NetFPGA硬件平台自身的局限性和对SDN交换机的关注度还不够,所以,我们决定在GitHub上建立FAST开源项目,专注于SDN硬件交换机的设计和重构,为SDN数据平面的研究提供真实实验环境和案例,为高校网络研究教学的发展添砖加瓦。

    FAST的前世今生
    FAST的基础硬件应用平台是国内自主研发的NetMagic[1],与NetFPGA中板卡与主机紧耦合的方式不同,NetMagic采用控制平面与转发平面分离的方式,用户使用自己的电脑,通过网络远程管理配置NetMagic硬件,更具便携性和可扩展性。

    FAST(FPGA bAsed SDN swiThing)是国防科技大学师生提出的一种基于FPGA的可重构交换架构——将报文处理流程拆解成多个独立报文处理阶段,并为每个阶段建立其相应的模块库,开发者根据需要自由地选择功能模块来快速重构报文处理流水线。这种“离线重构”的方式能够满足多样化的网络需求,大幅度降低网络应用服务开发的难度和网络设备的开发周期。

    如何增强转发平面的灵活性和可扩展性,关键在于对功能库中模块的自由选择,而按照标准扩建模块库,正是建立开源社区的意义所在。在FAST的开源过程中,不仅仅是公开代码和设计文档,而是既能将现有工作进行整合复用,也能给开源数据平面设计提供技术支持,推而广之,FAST实际代表了一种规范化的FPGA交换机的开发模式。

    硬件:将可重构进行到底
    硬件部分的源代码需要烧写至FPGA上实现报文转发的功能,主要由以下三部分组成:

    第一部分是FAST流水线模块库的代码,这是实现不同报文处理逻辑的关键,不涉及用什么具体电路元件来实现,是通用且可编程的功能模块,模块使用FAST推荐的标准接口与其他模块相连。用户可根据应用环境的改变而重新选择或改良流水线模块的内容,编译出不同的案例,达到可编程网络的需求。

    第二部分是与开发平台相关的逻辑代码,比如在对数据通路和控制信息的处理上,NetMagic08采用以太网口通过NMAC协议来传递控制命令,而NetMagicPro和NetFPGA是通过PCIE读写寄存器来获取控制信息。我们希望能广泛支持各类FPGA硬件平台。

    第三部分是工程配置文件,用于指定所用硬件平台和流水线模块,便于不熟悉硬件开发的研究人员快速编译运行,可以根据实际需求来自行编写配置文件。

    软件:转发平面的智囊团
    该软件代码实际上是交换机的管理软件,与硬件代码一起作为SDN的转发平面,向上通过南向接口与控制器交互,实现在实验网络状态下的手动、自动配置以及管理维护。分为以下四个部分:

    第一部分是与平台相关的适配通信库,用户态代码实现可以用PC通过NMAC协议与NetMagic08通信,也可以将软件部分放在带有CPU的NetMagicPro平台上通过DMA方式配置硬件流表,实现快速转发,具有高度的灵活性和适配性。

    第二部分是核心管理软件,表管理软件用于TTP定义的流表管理维护,配置信息等,与硬件中的信息保持同步;算法相关软件用于实现硬件查表,验证算法的性能和正确性;统计管理软件主要对硬件转发行为进行统计汇总,可在本地管理界面显示,也可以通过南向接口协议传输到控制器报告实时状态。

    第三部分是配置管理软件,直接与SDN控制器交互,传输和展示本地配置流表信息,支持OpenFlow协议,未来也可以扩展其他南向接口协议的开发与验证。

    第四部分属于转发平面功能的延伸,是为了解决很多课题实验项目中需要借鉴SDN思想,但缺乏可定制化扩展功能的问题。用户只需要在扩展模块中添加适应于自己的转发表项,而无需关心南向接口与平台适配的问题。

    FAST的征途:SDN科研创新与高校网络教学
    目前,我们在NetMagic08上实现了一个SDN交换机SDTS(Software-Defined Tunnel Switch),以LISP隧道封装和基于端口转发的模式,验证了BV算法对硬件匹配性能效果的提升,配合开源控制器Floodlight搭建了一个低成本、可重构、易部署的SDN实验环境,后续能够让研究人员进行SDN相关技术的实践和验证。

    FAST具有良好的可重构特性,虽然目前采用的开发模式是从功能模块库中筛选与重组的方式,但在下一步的工作中,实现硬件资源的形式化,同时实现软件代码重编译为硬件代码(例如Altera Open CL,Xilinx Vivado HLS),软件开发者就可以单独完成其底层功能模的设计与更新,能够完美的支持P4的设计与实现。

    SDTS演示现场
    高校网络教学科研的需求是长期存在的,学生们在进行课程实验使需要对网络设备的转发行为、协议的运行原理进行剖析,老师们也要需要进行更精确的数据建模和算法验证。我们基于NetMagic08开发了一套教学案例NetlabSwitch,能够支持协议观测分析、令牌桶和输出调度原理、SDN交换实现的原理等技术的研究,为网络教学实验提供了一个颇具代表性的示范。

    FAST的目标是为基于FPGA实现SDN交换机研究提供一个开源生态圈,在这个软硬件皆可编程的开放架构下,进一步推动 SDN 交换技术的发展,营造和提升中国高校的开源文化氛围。下一步国防科技大学、北京邮电大学、东南大学和湖南新实网络的相关研究人员将共同组织规范的制定和编写,制作典型案例demo,运作开源社区。

    如何使用FAST的源代码,敬请关注SDNLAB后续的连载。欲了解更多信息,请参阅http://fast-switch.github.io

    参考文献
    [1]毛席龙,李韬,孙志刚等. NetMagic创新实验平台设计指南[M].湖南长沙:国防科技大学出版社, 2012:1-133.

    本文转自d1net(转载)

    展开全文
  • 交换机收集信息并生成Excel报告。 excel报告将为您显示以下信息:VLAN,MAC地址,供应商(按MAC),端口,端口索引,IP,DNS名称,可Pingable(主机可Pinging)。建议在升级/替换/重新启动之前运行此测试开关,以...
  • 在SDN/NFV的网络革新技术浪潮的引领下,催生了诸多数据面开源方案的诞生。...然而,在现有的虚拟交换机中,OVS作为主流的开源方案,是目前大多数虚拟化环境和OpenStack部署中的网络基础,可以在很多SDN/NFV...
  • BH OnOfre是功能最强大的Iot开关,提供两个固态继电器以控制事物,并提供许多输入和输出。 BH Onofre大约在4年前问世,这是因为需要将一个开关安装在普通开关的后面并仍能控制两个灯。在最新版本中,BH Onofre提供9...
  • Switchmap 是一个 Perl 程序,它创建 HTML 页面,显示有关一组以太网交换机的信息。 它使用 SNMP 从交换机收集数据。 可以在项目主页上找到 Switchmap 输出的示例。
  • FusionPBX是FreeSWITCH的多租户PBX和语音交换机,FreeSWITCH是高度可扩展的多线程跨平台通信平台。 FusionPBX可以用作单个PBX或基于域的PBX,并提供多种功能:作为运营商级交换机,呼叫中心服务器,语音邮件服务器,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,442
精华内容 9,376
关键字:

开源交换机