一、100G概述

随着CDN等视频直播业务和P2P业务的快速发展,带宽的要求越来越高。当前5G业务势头正盛,其基于400G的主干网络通信业务也在积极部署之中。但当前在很多的业务场景中,100G系统的部署仍旧是主要选择。本文介绍国内领先的100G测试解决方案。

IEEE标准定义了一系列40G和100G物理接口,表1是各种接口的介质和距离极限。

表1 各种接口的介质和距离极限

一条40G/100G链路通过复用多条通道(Lane)来实现,通常分为若干个25G通道或者10G通道。发送端通常把40G/100G的流分成4个或者10G 并行通道,在接收端把并行通道的码流再重组成40G/100G 流。 与传统的以太网物理接口一样,40G/100G接口也分为PCS,PMA和PMD子层。PCS子层把编码数据分发到多个逻辑的通道上,这些逻辑通道就称为虚通道(Virtual Lane)。 标准没有对逻辑通道如何静态映射到物理通道上做规定,一个或者多个虚通道可以被承载到一个物理通道上,可能存在通道交换。

虽然40G/100G以太网仍然是更“快”的以太网,但是在很多方面改变了传统以太网特性,对测试提出了挑战。

1.1 L2~L3

对于高层应用来说,40G/100G接口要求设备中的组件要在更短的时间内完成工作。比如,一台路由器需要对进来的数据包剥离低层协议头,排队,进行路由表查询,然后转发到相应的出口队列。在这个过程中,还要完成分类、监管、优先级调度、整形等工作。另外,路由器还要完成路由信息更新,组播路由树的创建,MPLS 标签信息交换,统计,告警,日志,防火墙和安全功能等。一台具有100G接口的路由器,需要以10倍于当前速度的能力完成上述功能。而且在上述功能中,理想情况下不能出现丢包、过大的抖动、乱序等性能问题。

测试40G/100G系统,首先要验证线速情况下的的转发性能, 其次需要验证负载下的功能、性能、扩展性、进行数据和协议平面的集成测试。 另外,需要从用户体验角度对系统承载的真实业务的质量进行评估。

1.2 物理层

物理层的测试最关键的问题是消除误码。在不同的子层,有不同的测试重点。

l Physical Medium Dependent (PMD)

PMD层的测试需要一些硬件测试工具,如示波器。

l Physical Medium Attachment (PMA)

PMA层的测试,需要测试仪表发送各种bit Pattern,如伪随机码序列(PRBS), 经过系统后检测错误,如误码率,Pattern 同步问题等。Loopback测试也是PMA层测试的重要内容。

l Physical Coding Sublayer (PCS)

PCS层的测试主要集中在通道交换(Lane Swapping)和通道偏差(Lane Skew)测试。测试系统通过交换通道,来验证被测设备能否检测到通道交换并补偿。在偏差测试中,测试系统在发送端口产生一定的偏差,在接收端口,统计经过被测系统补偿以后的偏差值。IEEE对能补偿的偏差范围做了定义。偏差测试就是验证系统能否支持这个范围内的补偿,或者测试系统和标准多大程度上的匹配。

1.3测试系统本身的挑战

40G/100G系统性能测试,除了比特速率的变化以外,性能的衡量指标并没有太大的变化,如丢包率、时延、抖动、顺序/乱序等指标。现有的测试系统能否在40G/100G性能下继续提供准确的统计值。在这里测试仪表的时钟测量精度起了关键的作用。

为了测试时延、抖动、帧的顺序性等信息,测试仪表会在发送的每个数据帧中插入一个签名字段(Signature),包含发送时间戳、序号等信息。当测试仪表的接收端口收到数据帧时,提取出签名字段中的发送时间戳,然后和接收时间进行比较,就可以计算出时延、抖动等指标。在40G/100G测试中,能够准确提供时延、抖动等指标,测量精度至关重要。

传统的测试仪表,以测试10G及以下的系统为主,典型的测量精度为20ns。但是20ns的测量精度对于40G/100G系统来说是不够的。传输一个64字节的以太网帧,线路上需要传送672bits,计算公式:(64字节+8字节前导码+12字节帧间隔)×8=672bits。在10G线路上传输一个64字节的数据帧,需要67.2ns,20ns的测量精度足够了,可以为发送的每一个帧标识出惟一的发送时间戳。

对于40G线路来说,传送一个64字节的以太网帧,需要16.8ns,有可能在一个Clock Tick中间出现两个帧,在这种场景下,时延和抖动测量就出现不准确。

而在100G线路上,这个问题就更加突出。在100G线路上,传送一个64字节的以太网帧,只需要6.72ns,每个时间戳Clock Tick包含3个帧,在这种情况下,测试仪表完全不能准确的标识出每个帧的发送时间。提供这些关键的统计量,要求测试仪表的测量精度要小于在线路上传送一个64字节帧的时间。

二、100G测试方案

2.1方案概述

100G以太网测试仪表配合基于PCT架构的新一代测试软件RENIX,可实现针对网络设备和网络系统的Layer2-3流量测试及协议仿真,在功能、性能及安全性方面提供全面测试解决方案,满足研发、实验和质量控制等过程中的测试需求。

BigTao系列定位于网络2-3层需求场景的测试,比如:

  • 服务商和IP系统厂商可利用线速率转发性能分析,验证路由和MPLS服务是否能够扩展到100G以太网核心和边缘接口上。
  • 数据中心交换机厂商可利用纳秒级精度的时延测量能力,对用于互连服务器和存储系统的新型40G以太网交换结构进行基准测试。
  • 光传输厂商可以生成并分析OTN、OTU-3 40G和OTU-4 100G传输网络中客户端接口上的线速率流量,测量第2至3层性能和第1层PRBS和通道偏差。

2.2系统架构

100G测试仪表是基于RENIX平台提供的解决方案。RENIX软件设计上采用C/S架构、模块化结构、分层式设计和多线程管理方法。RENIX平台式基于PCT架构的:Presentation Layer(PL展示层)、Core Layer(CL核心层)、Traffic Layer(TL流量层)。

l 展示层(PL):是对GUI界面和自动化接口的抽象描述,该层运行在客户主机上,负责接受用户的配置并展示测试过程和测试结果;

l 核心层(CL):该层运行在客户主机上,负责用户配置的汇总、保存、下发以及统计信息的收集,和测试仪机箱之间通过SOCKET接口通信;

l 流量发生层(TL):该层运行在测试仪机箱上,负责与业务板卡的交互,是所有测试业务的执行引擎。

2.3测试内容

2.2.1RFC2544/RFC2889/RFC3918测试套件

场景描述

IP网络设备是IP网络的核心,其性能好坏直接影响IP网的网络规模、网络稳定性以及网络可扩展性。性能测试主要是让被测试设备承受不同的负载,验证其表现,主要目的是测试它的容量(如吞吐量),以及处理业务的速度(如时延)等。不同的IP网络设备由于采用了不同的硬件结构,性能表现会有所不同,即使是同一IP网络设备交换设备在不同的负载下也会有不同的表现。另外,IP网络设备配置的不同也会引起不同的性能表现,所以全面对IP网络设备进行性能测试就显得尤其重要。

RFC2544协议是RFC组织提出的用于评测网络互联设备(防火墙、IDS、Switch等)的国际标准,主要是对性能评测参数的具体测试方法、结果的提交形式作了较详细的规定。RFC2544中规定了测试不同网络设备的参数。

(1) 吞吐率(Throughput)

· 定义:被测设备在不丢包的情况下,所能转发的最大数据流量。通常使用每秒钟通过的最大的数据包数或者字节数来衡量(MB/s) 。

· 作用:反映被测试设备所能够处理(不丢失数据包) 的最大的数据流量。

(2) 丢包率(Lost Rate)

· 定义:在一定的负载下,由于缺乏资源而未能被转发的包占应该转发的包数的百分比。

· 作用:反映被测设备承受特定负载的能力。

(3) 时延(Latency)

· 定义:发送一定数量的数据包,记录中间数据包发出的时间T1,以及经由测试设备转发后到达接收端口的时间T2,然后按照下面的公式计算:

对于存储/位转发设备: Latency = T2 - T1

T2:输出帧的第一位到达输出端口的时间;

T1:输入帧的最后一位到达输入端口的时间。

· 作用:反映被测设备处理数据包的速度。

(4) 背靠背(Back-to-Back)

· 定义:以所能够产生的最大的速率,发送一定长度的数据包,并不断改变一次发送的数据包数目,直到被测设备能够完全转发所有发送的数据包,这个包数就是此设备的背对背值。

· 作用:反映被测设备处理突发数据的能力(数据缓存能力)。

RFC2889将已在rfc2544中定义的网络互连设备测试基准的方法扩展到局域网交换设备的测试中来。 RFC2889主要测试在mac层交换帧的设备,它为交换机的转发性能、拥塞控制、时延、地址处理和过滤提供了一个测试基准方法,是二层设备的基础测试。

RFC3918该规范是在RFC2432基础上更新的组播测试规范。

BigTao解决方案

RFC2544测试

l 测试内容: 吞吐量, 时延, 丢包率, 背靠背

l 被测设备: 可以交换机, 路由器, 防火墙等任何需要测试流量的设备

l 测试拓扑: 1对1, 1对多, backbone, full mesh等多种拓扑

l 特点: 配置简单, 多个测试项目顺序运行, 全自动执行

l 测试报告: 提供详细的, 标准的测试报告, 可存为PDF, XLS格式

RFC2889测试

l 测试内容: MAC地址学习速率, 容量, 拥塞控制等7项测试内容

l 被测设备: 网桥, 交换机

l 特点: 配置简单, 多个测试项目顺序运行, 全自动执行

l 测试报告: 提供详细的, 标准的测试报告, 可存为PDF格式

RFC3918测试

l 测试内容: 组播组容量, 组播加入/离开时延, 组播吞吐量等5项内容

l 被测设备: 网桥, 交换机, 路由器等具有组播功能的设备

l 特点: 配置简单, 多个测试项目顺序运行, 全自动执行

l 测试报告: 提供详细的, 标准的测试报告, 可存为PDF格式

2.2.2RTSM解决方案

RTSM就是远程测试管理系统(Remote Test Session Manager)。

传统网络测试架构通常是将测试仪(机箱)部署在实验室网络环境,客户端部署在用户的办公网络环境中,用户在个人电脑上通过操作客户端来向机箱下发测试命令,机箱将测试数据再传送给客户端,这样用户就能通过客户端实时查看测试结果。但是传统网络测试架构有一个弊端:办公网络和实验室网络是两个不同的网络,当其中一个地方的网络有变化的时候,机箱和客户端的通信中止,无法将数据传送到客户端,导致测试无法继续进行。

为了解决传统网络测试架构的弊端,开发了新的网络测试架构:通过在实验室网络增加一台独立的设备来承担测试逻辑(这里,我们将这台设备称之为第三方设备)。用户在个人电脑上通过操作客户端来向第三方设备下发测试命令,第三方设备再向机箱下发测试命令,然后机箱将测试数据传送给第三方设备,而不是直接传给客户端,这样即使办公网络和实验室网络之间不稳定,测试进程和数据依然在第三方设备上运行着,只要重启客户端重新连接第三方设备依然可以查看并操作之前的测试。

当进行远程连接时启用RTSM功能(如上图所示),此时RENIX 客户端部署在客户的一台电脑上,RENIX server(即RTSM 服务端)部署在实验室一台单独的机器上(即将测试逻辑从用户本地电脑转移到其它设备上),服务端部署在测试仪上。这种架构不仅可以满足多个用户共享测试控制权,加快多人协作调试的进程,还可以满足用户暂时从实时测试中断开,并在以后重新连接。另外,用户也可以通过部署多个RTSM服务器来增加并行测试会话的数量。

2.2.3宽带接入测试解决方案

场景描述

“宽带”是指终端客户通过无线、有线或数字用户线(DSL)高速接入互联网。宽带需要大量协议和设备之间的无缝合作,从而提供可靠的客户互联网接入,在推出宽带占用量越来越多的新服务时尤其如此。如果未对宽带网络协议、设备和网络拓扑进行充分测试,企业将会遭到不可信客户的访问。

宽带接入测试解决方案向终端用户(无论是企业、服务提供商,还是个人客户)提供基于接入协议的测试设备和测试方法。此外,网络需要同时为互联网协议IPv4和IPv6提供无缝支持,以便缓解客户转移至IPv6时的风险。

解决方案

l 支持协议: PPPoE, DHCP, 802.1X;

l 模拟角色: PPPoE/DHCP Client, PPPoE/DHCP Server;

l 被测设备: BRAS, Router, Switch;

l 测试内容: 对被测设备的接入速率, 容量, 稳定性进行评估;

2.2.4组播测试决方案解

场景描述

组播是指在IP网络中将数据包以尽力传送的形式发送到某个确定的节点集合(即组播组),其基本思想是:源主机(即组播源)只发送一份数据,其目的地址为组播组地址;组播组中的所有接收者都可收到同样的数据拷贝,并且只有组播组内的主机可以接收该数据,而其它主机则不能收到。

组播技术有效地解决了单点发送、多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。作为一种与单播和广播并列的通信方式,组播的意义不仅在于此。更重要的是,可以利用网络的组播特性方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等互联网的信息服务领域。

组播测试测试解决方案面向支持组播协议的设备和系统,进行组播功能、性能以及端到端的测试验证,为产品的研发、方案的部署提供了很好的保障。

BigTao解决方案

l 支持协议: IGMP, MLD, PIM-SM;

l 模拟角色: IGMP client, IGMP querier, PIM路由器;

l 被测设备: 路由器, 交换机;

l 测试内容: 测试DUT的组播组容量, PIM邻居数, Flapping测试等;

2.2.5路由测试解决方案

场景描述

网络和网络设备正变得越来越复杂。企业扩展、数据中心融合和新服务部署都需要多元化网络技术与设备一起无缝运行。于多个专用网络融合到一个传输语音、视频、数据和无线流量的单一网络中,故设备制造商务必验证其交换机和路由器的可扩展性、稳定性和性能。

路由测试解决方案,提供多种路由协议的仿真,支持在多机箱级联场景下的同步测试,满足以太网设备的大规模协议仿真、性能测试和压力测试要求,以及各种复杂网络场景下的测试需求。

BigTao解决方案

l 支持协议: RIP/OSPF/ISIS/BGP的IPv4和IPv6版本;

l 被测设备: 路由器;

l 测试内容: 测试DUT的功能, 性能, 稳定性, 兼容性, lapping 测试;

2.2.6自动化测试解决方案

场景描述

在网络产品开发的整个过程中,面临的一项重要问题就是确保产品的功能、性能及可靠性测试能够快速完成,并迭代回归,而自动化测试无疑是最常用的手段,相对手工测试更加高效和准确。

BigTao解决方案

自动化测试解决方案,提供丰富的测试功能接口,便于基于API与TCL的二次开发;HLAPI(High Level API)能够快速适配不同的脚本类型,如TCL、Python等;同时,灵活开放的设计可以基于客户现有的脚本规则进行接口封装,平滑过度。

l 提供快速, 可定制, 高度集成的API和TCL接口;

l API接口类型: C, C#, C++, TCL, Python;

所有的feature都有对应的自动化API;

三、友商对比

相比于国外友商,信而泰测试仪表在操作软件及相关说明书方面,均实现了中文化。这使得工程师的学习成本和操作难度大大降低。

100G技术指标表中的硬件参数充分体现了解决方案硬件系统的便携性及低噪音、低功耗等优势。这些优点可使其使用的场景更加丰富。并且测试仪表可以承受多次意外掉电,支持网络中断时的远端测试场景,有着十分可靠的稳定性。

信而泰测试仪表支持导出专业的测试报告,并有专业的结果分析工具以供结果分析和数据深入挖掘。并支持将测试结果保存为专业的数据库文件,方便工程师在各个场景调用测试结果。

依托强大的研发团队,信而泰可以提供丰富的定制化服务和高度的自动化及其二次开发服务,提供专业且私密的对接业务。

当前世界环境错综复杂,信而泰测试仪表凭借强有力的自主知识产权顺势站出来,为很多企业及研发部门实现项目国产化提供了最优的选择。并且信而泰在实现国内测试仪表的自主可控、安全可控的方向上坚定前行。

100G/40G/25G/10G网络测试解决方案的更多相关文章

  1. RENIX板卡V2-100G系列工作模式速率切换——网络测试仪实操

    本文主要介绍了RENIX板卡V2-100G系列工作模式速率切换相关操作.全文分为五部分内容.文章开头对V2-100G系列板卡进行了概述,之后分别详细介绍了100G工作模式.40G工作模式.25G工作模 ...

  2. N9K 40G接口一分4*10G配置

    Breakout InterfacesCisco NX-OS supports the breakout of high bandwidth 40G interfaces at the module ...

  3. ELK+Filebeat 实践 Error : read tcp 192.168.0.2:48968->121.40.216.20:5044: i/o timeout

    问题描述: 这是一个i/o time 的问题,一般考虑就是磁盘满的问题.以下是我遇到的具体问题: 1.Kibana页面刷新,没有新数据出来,再次刷新或者点击页面上其他地方,kibana就变成这样了: ...

  4. Linux如何查看文件系统(磁盘使用情况)

    查看磁盘剩余空间: df -Th 用法:df [选项]… [文件]… 显示每个<文件>所在的文件系统的信息,默认是显示所有文件系统. 长选项必须用的参数在使用短选项时也是必须的. -a, ...

  5. radhat6.6上安装oracle12c RAC (一)

    软件环境:VMware.redhat6.6.oracle12c(linuxx64_12201_database.zip).12cgrid(linuxx64_12201_grid_home.zip) 一 ...

  6. gitlab 存储仓库目录设置及数据迁移

    注:一开始没有考虑到把gitlab划分好存储目录,占用系统磁盘,由于gitlab是默认安装的,随着公司代码越来越多,导致gitlab数据目录空间不足 磁盘空间: [root@gitlab ~]# df ...

  7. redis for lack of backlog

    版本: redis-3.2.9 部署: 5台64G内存的物理机,每台机器启动2个redis进程组成5主5备集群,每台机器1个主1个备,并且错开互备. 问题: 发现redis进程占用内存高达40G,而且 ...

  8. Fatal error: cannot create 'R_TempDir'

    [user@mgmt dir]$ R Fatal error: cannot create 'R_TempDir' [user@mgmt dir]$ ll -ad /tmp drwxrwxrwt. 2 ...

  9. docker容器磁盘

    docker容器磁盘扩容 一.配置文件里更改容器创建时的默认磁盘大小 [root@ip---- ~]# cat /etc/sysconfig/docker-storage DOCKER_STORAGE ...

随机推荐

  1. 【采坑小计】prometheus的remote write协议遇到的问题

    没有读懂源码以前,无脑试错总是效率很低的! 1.thanos receiver报store locally for endpoint : conflict 接口返回的日志: store locally ...

  2. unity3d百度语音合成mp3流转换byte[]失败

    using (Stream stream = response.GetResponseStream())         {             buffer2 = new byte[stream ...

  3. 实习之bii--关于虚拟机桥接无线网卡

    安装完VMware workstation之后,网络连接里会多出两个虚拟网卡: VMware Network Adapter VMnet1和VMware Network Adapter VMnet8. ...

  4. java多态instanceof介绍

    1 public static void method(Animal a) {//类型判断 2 a.eat(); 3 if(a instanceof Cat) {//instanceof:用于判断对象 ...

  5. IoC容器-Bean管理(bean生命周期)

    1,生命周期 即从对象创建到对象销毁的过程 2,bean生命周期 (1)通过构造器创建bean实例(无参数构造) (2)为bean的属性设置值和对其他bean的引用(调用set方法) (3)调用bea ...

  6. 【Vue源码学习】响应式原理探秘

    最近准备开启Vue的源码学习,并且每一个Vue的重要知识点都会记录下来.我们知道Vue的核心理念是数据驱动视图,所有操作都只需要在数据层做处理,不必关心视图层的操作.这里先来学习Vue的响应式原理,V ...

  7. 从新建文件夹开始构建ShadowPlay Engine游戏引擎(6)

    本篇序言 在经历了为期很长时间的调试以及思维纠错后,我们可以开始实现我们的内存管理模块了,我在前面说过如果各位要继续跟着学习的话可能会需要一定的计算机组成原理和操作系统的知识,不过在莽代码的过程中,我 ...

  8. python小兵 面向对象继承super和c3算法

    python多继承 在前面的学习过程中. 我们已经知道了Python中类与类之间可以有继承关系. 当出现了x是一种y的的时候. 就可以使⽤继承关系. 即"is-a" 关系. 在继承 ...

  9. Linux 集群 和免秘钥登录的方法。

    /* 1.1.什么是集群? 很多台服务器(计算机)做相同的事,就称之为集群 服务器和服务器之间必须要处于联通状态(linux01和linux02可以相互访问并且传输数据) 服务器的配置和常见的计算机没 ...

  10. 【以太坊剖析】以太坊虚拟机(EVM)之基本定义

    以太坊虚拟机(EVM) 以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是一个基于栈的虚拟机,基于特定的环境数据,执行一系列的字节代码形式的指令,以修改系统状态.EVM目前 ...