精华内容
下载资源
问答
  • Trex

    2020-08-05 15:09:36
    1.环境准备 OS选择和安装 根据说明,trex支持常用的linux... 1、新建trex工作目录 :mkdir trex 2、进入trex工作目录 :cd trex 3、下载安装包 :wget --no-cachehttp://trex-tgn.cisco.com/trex/release/la...

    1. 环境准备

     OS选择和安装

    根据说明,trex支持常用的linux系统,本次使用的是ubuntu 16.04.1。

    虚拟机配置需要能上网(虚拟机桥接到真实电脑物理网卡上网,此部分不赘述)

    Trex环境安装

             1、新建trex工作目录  :mkdir trex

             2、进入trex工作目录  :cd trex

             3、下载安装包  :wget --no-cache http://trex-tgn.cisco.com/trex/release/latest

             4、解压文件  :tar -zxvf latest

             5、进入相应工作目录  :cd trex

    2. Trex环境调试 - stateless模式

    2.1 stateless  模式配置和启动

    1.  ./dpdk_setup_ports.py  -h, --help       //查看这个命令使用帮助

    2.  sudo ./dpdk_set_ports.py -t                 //以table的形式打印所有网络接口的num/pcie/MAC

    3. sudo ./dpdk_set_ports.py -s                 //显示接口的状态,是否被dpdk bind使用,xinzhuang的dpdk下没有任何接口

    4. sudo ./dpdk_setup_ports.py -c 02:06.0 02:07.0 -o /etc/trex_cfg.yaml     //绑定相应的借口给dpdk使用,并替换/etc/下的trex端口配置,这样如果打流的时候没有主动添加cfg yaml,就会默认用这个yaml,这样下面就不会下一步了。

          

         5. 复制配置文件到/etc下:root@ubuntu:/home/test/trex/v2.57#cp  cfg/simple_cfg.yaml  /etc/trex_cfg.yaml

         6. 修改接口配置文件和自己的拓扑相符合:

          修改如下两个部分,修改了两个接口,实际只使用一个也可以。只修改一个只有一个方向的流,回不来。

           ip是当前使用的网口的ip,gw是与此接口相连的网口的ip地址。需要对应修改。在同一个子网内即可。

          

       

    3.How to use trex stateless?

    可以通过client的方式来使用trex,也可以直接通过pcap回放的方式来使用。

       3.1. 启动stateless服务器:

    root@ubuntu:/home/test/trex/v2.57#./t-rex-64 -i     

    服务器启动后,可以监听各个端口的收发包情况

      console连接环境确认

    1、打开控制台、进入servicee模式,执行ping命令,确认环境:

     配置多流流量

        sudo vim /opt/trex/v2.61/stl/simple_3pkt.py

    def create_stream (self):
    
            # create a base packet and pad it to size
            size = self.fsize - 4 # no FCS
            base_pkt =  Ether()/IP(src="16.0.0.1",dst="48.0.0.1")/UDP(dport=12,sport=1025)       1
            base_pkt1 =  Ether()/IP(src="16.0.0.2",dst="48.0.0.1")/UDP(dport=12,sport=1025)
            base_pkt2 =  Ether()/IP(src="16.0.0.3",dst="48.0.0.1")/UDP(dport=12,sport=1025)
            pad = max(0, size - len(base_pkt)) * 'x'
    
    
            return STLProfile( [ STLStream( isg = 0.0,
                                            packet = STLPktBuilder(pkt = base_pkt/pad),
                                            mode = STLTXCont( pps = 10),                         2
                                            ),
    
                                 STLStream( isg = 25000.0, #defined in usec, 25 msec
                                            packet  = STLPktBuilder(pkt = base_pkt1/pad),
                                            mode    = STLTXCont( pps = 20),                      3
                                            ),
    
                                 STLStream(  isg = 50000.0,#defined in usec, 50 msec
                                             packet = STLPktBuilder(pkt = base_pkt2/pad),
                                             mode    = STLTXCont( pps = 40)                      4
    
                                            )
                                ]).get_streams()
    

      可分别对三种流量包头配置(IP),速度配置(PPS),启动时间配置(isg)。

    4. 启动TRex,测试双网口网卡回环。

      将光线两端分别接入网卡的两个口。

      打开命令行终端,并开启TRex服务端程序:

    sudo ./t-rex-64 -i 
    # t-rex-64 是可执行文件,在安装目录中

      打开另外一个命令行终端,开启TRex客户端程序:

    trex-console  

      在客户端程序中开启流量发送:

    start -f stl/simple_3pkt.py -a

      常用操作:

    pause -a 
    #暂停所有发送
    
    tui
    #流量统计信息

     

    4. pcap数据包回放发包 - stateful模式

    4.1 pcap准备

    此部分使用安装文件自带的例子,/home/trex/trex/v2.62/avl 在目录下有很多的pcap,我们可以通过在yaml中配置多种不通的pcap和client/server的ip范围来增加我们打流的丰富程度。一般测performance也会需要各种不通的配置文件。

    sfr_delay_10.yaml

     duration : 0.1
      generator :
              distribution : "seq"
              clients_start : "16.0.0.1"
              clients_end   : "16.0.1.255"
              servers_start : "48.0.0.1"
              servers_end   : "48.0.21.245"
              clients_per_gb : 201
              min_clients    : 101
              dual_port_mask : "1.0.0.0"
              tcp_aging      : 0
              udp_aging      : 0
      mac        : [0x0,0x0,0x0,0x1,0x0,0x00]
      #vlan       : { enable : 1  ,  vlan0 : 100 , vlan1 : 200 }
      #mac_override_by_ip : true
      cap_ipg    : true
      #cap_ipg_min    : 30
      #cap_override_ipg    : 200
      wlength    : 107
      cap_info :
         - name: avl/delay_10_http_get_0.pcap
           cps : 102.0
           ipg : 10000
           rtt : 10000
           w   : 1
         - name: avl/delay_10_http_post_0.pcap
           cps : 102.0
           ipg : 10000
           rtt : 10000
           w   : 1
         - name: avl/delay_10_https_0.pcap
           cps : 33.0
           ipg : 10000
           rtt : 10000
           w   : 1
         - name: avl/delay_10_http_browsing_0.pcap
           cps : 179.0
           ipg : 10000
           rtt : 10000
           w   : 1
         - name: avl/delay_10_exchange_0.pcap
           cps : 64.0
           ipg : 10000
           rtt : 10000
           w   : 1
     

    4.2 修改文件、回放脚本

    1、修改配置文件:

    Yaml文件包括两部分,generator部分是关于更换数据包中五元组等信息的统一操作;cap_info部分是使用的数据包,需要回放哪些数据包及内容。可以列很多出来。

     

    2、脚本回放:./t-rex-64 -f cap2/dns.yaml -m 1 -d 10 (m为复制几份,可以通过这个控制流量的大小,d为持续时间)

    执行脚本回放后,对端虚拟机内,可以查看到收到的数据包,其中原地址、目的地址等是按照配置,自行修改的。

    这中是默认用/etc/下的端口配置yaml,我们也可以在后面自己指定对应的cfg yaml,这样就不用关注/etc/下的配置。

     

    3.sudo ./t-rex-64 -f avl/sfr_delay_10_1g.yaml   --cfg  /home/cisco/v2.46/pigeon/trex_cfg.yaml -c 5 -m 5 -d 3000 这条是带 stream yaml和cfg yaml的命令。

    4.回放一个flow一次:

    只打一条流打一次,利用一个pcap文件,这样发送和接收多少个包都是一定的。如果我们对flow进行相应的测试和monitor,这里就会帮助我们分析问题。如果要测performance,可以打大流量,修改m值即可调流量大小,在页面会显示出来。

    sudo ./t-rex-64 -f pigeon/sfr_delay_10_1g.yaml --cfg /home/trex/v2.58/pigeon/port_cfg.yaml.1 -c 1 -d 1 -e -m 1 --active-flows 1

    sfr_delay_10_1g.yaml 改成下面这样即可:

    - duration : 0.1

      generator :

              distribution : "seq"

              clients_start : "67.0.0.1"

              clients_end   : "67.0.1.255"

              servers_start : "98.0.0.1"

              servers_end   : "98.0.21.245"

              clients_per_gb : 201

              min_clients    : 101

              dual_port_mask : "1.0.0.0"

              tcp_aging      : 0

              udp_aging      : 0

      mac        : [0x0,0x0,0x0,0x1,0x0,0x00]

      cap_ipg    : true

      #cap_ipg_min    : 30

      #cap_override_ipg    : 200

      cap_info :

         - name: avl/delay_10_http_get_0.pcap

           cps : 1

           ipg : 10000

           rtt : 10000

           w   : 1

     

    小结:这里都是关于ipv4的操作,对于ipv6的操作,只需要修改流的yaml文件,然后在命令后加参数--ipv6,但是必须要保证是ipv6的网络,路由都是有的。一般我们打流只是打出去,如果我们要收到,必须要在连接的路由器上设置相应的ip route。

     

    duration : 0.1

    #vlan : { enable : 1 , vlan0 : 100 , vlan1 : 200 }

    src_ipv6 : [0x2001,0x0DB8,0x0003,0x0004,0x0000,0x0000]

    dst_ipv6 : [0x2001,0x0DB8,0x0003,0x0004,0x0000,0x0000]

    generator :

    distribution : "seq"

    clients_start : "16.0.0.1"

    clients_end : "16.0.21.255"

    servers_start : "48.0.0.1"

    servers_end : "48.0.21.255"

    clients_per_gb : 201

    min_clients : 201

    dual_port_mask : "1.0.0.0"

    tcp_aging : 0

    udp_aging : 0

    mac : [0x0,0x0,0x0,0x1,0x0,0x00]

     

     

    参考:

    https://www.cnblogs.com/pandaroll/p/11617801.html

    https://blog.csdn.net/haozi87/article/details/93762153

    展开全文
  • TRex

    2020-11-11 15:14:14
    TRex是cisco基于Intel dpdk开发的软件程序 TRex是有状态和无状态用例的流量生成器。测试仪。 clients-start: clients-end: servers_start: servers_end: #TRex能够更改数据包内部的任何字段(例如:src_ip = ...

    github网址:https://github.com/cisco-system-traffic-generator/trex-core

    TRex是cisco基于Intel dpdk开发的软件程序

    TRex是有状态和无状态用例的流量生成器。测试仪。

    clients-start:

    clients-end:

    servers_start:

    servers_end:     #TRex能够更改数据包内部的任何字段(例如:src_ip = 10.0.0.1-10.0.0.255)

     

    cps:  #每秒打开的连接数

    ipg:  #client和server之间的时间间隔。单位微秒us

    rtt:一般和ipg值相同

     

    PPS:每秒发送的分组数据包数量,网络吞吐率计算单位。即:端口的线速包转发率(包/秒)

            千兆端口1.4881MPPS,百兆端口0.14881MPPS

    CPS:每秒连接数

    BPS:每秒(发送字节数)传送位数。即:数据传输速率,表示bit(比特)/second(秒)

     

    注意:

    增大pcap包每条报文长度BPS增大

    CPS增大,BPS增大

    CPS不变,ipg增大,Socket值增大

     

     

     

     

    展开全文
  • TREX

    2020-08-16 19:23:38
    https://blog.csdn.net/cuibin1991/article/details/107631835 ...https://trex-tgn.cisco.com/trex/doc/trex_manual.html#_obtaining_the_trex_package https://blog.csdn.net/wei

    https://blog.csdn.net/cuibin1991/article/details/107631835
    https://www.cnblogs.com/pandaroll/p/11617801.html
    https://my.oschina.net/hding/blog/889441
    https://trex-tgn.cisco.com/trex/doc/trex_manual.html#_obtaining_the_trex_package
    https://blog.csdn.net/weixin_33896069/article/details/91668612

    展开全文
  • Trex-源码

    2021-03-31 02:00:10
    Trex
  • TREX-源码

    2021-03-30 17:27:16
    TREX
  • trex-源码

    2021-03-09 22:49:38
    trex
  • TRex-源码

    2021-02-10 05:56:34
    TRex
  • Trex游戏 Trex游戏
  • Trex2:Trex游戏-源码

    2021-02-11 10:10:26
    Trex2 Trex游戏
  • Trex3.0:Trex-源码

    2021-03-03 05:27:18
    Trex-2.0 这是一个trex游戏
  • Trex:Trex游戏-源码

    2021-03-21 19:56:13
    特雷克斯 Trex游戏
  • Trex2 Chrome trex游戏
  • Trex游戏:Google Trex游戏
  • 特雷克斯 Chrome trex游戏
  • Trex:Trex编码团队资料库
  • Trex1 Google的TREX游戏。
  • Trex游戏 WhiteHat Jr Trex游戏
  • trex游戏:trex.p5-源码

    2021-03-02 10:34:31
    交易游戏 trex.p5
  • TREX-:chrome dino trex游戏的克隆
  • TREX 使用P5创建的chromes trex游戏
  • Trex游戏 这是Google的trex游戏。
  • TREX游戏 这是CHROME的TREX游戏。
  • Trex:在P5编辑器中创建Trex游戏

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 677
精华内容 270
关键字:

trex